@ui5/webcomponents-fiori 2.19.2 → 2.20.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -3
- package/dist/.tsbuildinfo +1 -1
- package/dist/DynamicPage.js +8 -2
- package/dist/DynamicPage.js.map +1 -1
- package/dist/ShellBar.d.ts +231 -304
- package/dist/ShellBar.js +506 -980
- package/dist/ShellBar.js.map +1 -1
- package/dist/ShellBarItem.d.ts +15 -31
- package/dist/ShellBarItem.js +36 -25
- package/dist/ShellBarItem.js.map +1 -1
- package/dist/ShellBarItemTemplate.d.ts +2 -0
- package/dist/ShellBarItemTemplate.js +11 -0
- package/dist/ShellBarItemTemplate.js.map +1 -0
- package/dist/ShellBarTemplate.js +53 -55
- package/dist/ShellBarTemplate.js.map +1 -1
- package/dist/UserMenu.d.ts +10 -1
- package/dist/UserMenu.js +9 -1
- package/dist/UserMenu.js.map +1 -1
- package/dist/UserMenuAccount.js +0 -2
- package/dist/UserMenuAccount.js.map +1 -1
- package/dist/UserMenuItem.d.ts +0 -1
- package/dist/UserMenuItem.js +0 -1
- package/dist/UserMenuItem.js.map +1 -1
- package/dist/UserMenuItemGroup.d.ts +0 -1
- package/dist/UserMenuItemGroup.js +0 -1
- package/dist/UserMenuItemGroup.js.map +1 -1
- package/dist/UserMenuTemplate.js +3 -1
- package/dist/UserMenuTemplate.js.map +1 -1
- package/dist/UserSettingsAccountView.js +0 -2
- package/dist/UserSettingsAccountView.js.map +1 -1
- package/dist/UserSettingsAppearanceView.js +0 -2
- package/dist/UserSettingsAppearanceView.js.map +1 -1
- package/dist/UserSettingsAppearanceViewGroup.d.ts +0 -1
- package/dist/UserSettingsAppearanceViewGroup.js +0 -1
- package/dist/UserSettingsAppearanceViewGroup.js.map +1 -1
- package/dist/UserSettingsAppearanceViewItem.js +0 -2
- package/dist/UserSettingsAppearanceViewItem.js.map +1 -1
- package/dist/UserSettingsDialog.d.ts +0 -1
- package/dist/UserSettingsDialog.js +0 -1
- package/dist/UserSettingsDialog.js.map +1 -1
- package/dist/UserSettingsItem.d.ts +0 -1
- package/dist/UserSettingsItem.js +0 -1
- package/dist/UserSettingsItem.js.map +1 -1
- package/dist/UserSettingsView.d.ts +0 -1
- package/dist/UserSettingsView.js +0 -1
- package/dist/UserSettingsView.js.map +1 -1
- package/dist/css/themes/ShellBar.css +1 -1
- package/dist/css/themes/ShellBarItem.css +1 -0
- package/dist/css/themes/ShellBarLegacy.css +1 -0
- package/dist/css/themes/ShellBarSearchLegacy.css +1 -0
- package/dist/custom-elements-internal.json +363 -750
- package/dist/custom-elements.json +324 -609
- package/dist/generated/assets/i18n/messagebundle_ar.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_bg.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ca.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cnr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cs.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_cy.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_da.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_de.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_el.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_GB.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_sappsd.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saprigi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_en_US_saptrc.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_es_MX.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_et.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_fr_CA.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_hu.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_id.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_it.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_iw.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ja.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_kk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ko.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_lv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_mk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ms.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_nl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_no.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_pt_PT.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ro.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_ru.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sh.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sl.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_sv.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_th.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_tr.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_uk.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_vi.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_CN.json +1 -1
- package/dist/generated/assets/i18n/messagebundle_zh_TW.json +1 -1
- package/dist/generated/i18n/i18n-defaults.d.ts +2 -1
- package/dist/generated/i18n/i18n-defaults.js +2 -1
- package/dist/generated/i18n/i18n-defaults.js.map +1 -1
- package/dist/generated/themes/ShellBar.css.d.ts +1 -1
- package/dist/generated/themes/ShellBar.css.js +1 -1
- package/dist/generated/themes/ShellBar.css.js.map +1 -1
- package/dist/generated/themes/ShellBarItem.css.d.ts +2 -0
- package/dist/generated/themes/ShellBarItem.css.js +8 -0
- package/dist/generated/themes/ShellBarItem.css.js.map +1 -0
- package/dist/generated/themes/ShellBarLegacy.css.d.ts +2 -0
- package/dist/generated/themes/ShellBarLegacy.css.js +8 -0
- package/dist/generated/themes/ShellBarLegacy.css.js.map +1 -0
- package/dist/generated/themes/ShellBarSearchLegacy.css.d.ts +2 -0
- package/dist/generated/themes/ShellBarSearchLegacy.css.js +8 -0
- package/dist/generated/themes/ShellBarSearchLegacy.css.js.map +1 -0
- package/dist/shellbar/IShellBarSearchController.d.ts +28 -0
- package/dist/shellbar/IShellBarSearchController.js +2 -0
- package/dist/shellbar/IShellBarSearchController.js.map +1 -0
- package/dist/shellbar/ShellBarAccessibility.d.ts +42 -0
- package/dist/shellbar/ShellBarAccessibility.js +50 -0
- package/dist/shellbar/ShellBarAccessibility.js.map +1 -0
- package/dist/shellbar/ShellBarItemNavigation.d.ts +18 -0
- package/dist/shellbar/ShellBarItemNavigation.js +86 -0
- package/dist/shellbar/ShellBarItemNavigation.js.map +1 -0
- package/dist/shellbar/ShellBarLegacy.d.ts +46 -0
- package/dist/shellbar/ShellBarLegacy.js +138 -0
- package/dist/shellbar/ShellBarLegacy.js.map +1 -0
- package/dist/shellbar/ShellBarOverflow.d.ts +51 -0
- package/dist/shellbar/ShellBarOverflow.js +159 -0
- package/dist/shellbar/ShellBarOverflow.js.map +1 -0
- package/dist/shellbar/ShellBarSearch.d.ts +59 -0
- package/dist/shellbar/ShellBarSearch.js +145 -0
- package/dist/shellbar/ShellBarSearch.js.map +1 -0
- package/dist/shellbar/ShellBarSearchLegacy.d.ts +65 -0
- package/dist/shellbar/ShellBarSearchLegacy.js +116 -0
- package/dist/shellbar/ShellBarSearchLegacy.js.map +1 -0
- package/dist/shellbar/templates/ShellBarLegacyTemplate.d.ts +20 -0
- package/dist/shellbar/templates/ShellBarLegacyTemplate.js +71 -0
- package/dist/shellbar/templates/ShellBarLegacyTemplate.js.map +1 -0
- package/dist/shellbar/templates/ShellBarSearchLegacyTemplate.d.ts +5 -0
- package/dist/shellbar/templates/ShellBarSearchLegacyTemplate.js +18 -0
- package/dist/shellbar/templates/ShellBarSearchLegacyTemplate.js.map +1 -0
- package/dist/shellbar/templates/ShellBarSearchTemplate.d.ts +4 -0
- package/dist/shellbar/templates/ShellBarSearchTemplate.js +17 -0
- package/dist/shellbar/templates/ShellBarSearchTemplate.js.map +1 -0
- package/dist/vscode.html-custom-data.json +29 -79
- package/dist/web-types.json +75 -239
- package/package.json +8 -8
- package/src/ShellBarItemTemplate.tsx +36 -0
- package/src/ShellBarTemplate.tsx +222 -300
- package/src/UserMenuTemplate.tsx +11 -3
- package/src/i18n/messagebundle.properties +3 -0
- package/src/i18n/messagebundle_ar.properties +2 -0
- package/src/i18n/messagebundle_bg.properties +6 -4
- package/src/i18n/messagebundle_ca.properties +2 -0
- package/src/i18n/messagebundle_cnr.properties +2 -0
- package/src/i18n/messagebundle_cs.properties +2 -0
- package/src/i18n/messagebundle_cy.properties +2 -0
- package/src/i18n/messagebundle_da.properties +2 -0
- package/src/i18n/messagebundle_de.properties +2 -0
- package/src/i18n/messagebundle_el.properties +2 -0
- package/src/i18n/messagebundle_en.properties +2 -0
- package/src/i18n/messagebundle_en_GB.properties +2 -0
- package/src/i18n/messagebundle_en_US_sappsd.properties +2 -0
- package/src/i18n/messagebundle_en_US_saprigi.properties +2 -0
- package/src/i18n/messagebundle_en_US_saptrc.properties +2 -0
- package/src/i18n/messagebundle_es.properties +2 -0
- package/src/i18n/messagebundle_es_MX.properties +2 -0
- package/src/i18n/messagebundle_et.properties +2 -0
- package/src/i18n/messagebundle_fi.properties +2 -0
- package/src/i18n/messagebundle_fr.properties +2 -0
- package/src/i18n/messagebundle_fr_CA.properties +2 -0
- package/src/i18n/messagebundle_hi.properties +2 -0
- package/src/i18n/messagebundle_hr.properties +2 -0
- package/src/i18n/messagebundle_hu.properties +2 -0
- package/src/i18n/messagebundle_id.properties +3 -1
- package/src/i18n/messagebundle_it.properties +2 -0
- package/src/i18n/messagebundle_iw.properties +2 -0
- package/src/i18n/messagebundle_ja.properties +2 -0
- package/src/i18n/messagebundle_kk.properties +2 -0
- package/src/i18n/messagebundle_ko.properties +2 -0
- package/src/i18n/messagebundle_lt.properties +2 -0
- package/src/i18n/messagebundle_lv.properties +2 -0
- package/src/i18n/messagebundle_mk.properties +2 -0
- package/src/i18n/messagebundle_ms.properties +2 -0
- package/src/i18n/messagebundle_nl.properties +2 -0
- package/src/i18n/messagebundle_no.properties +2 -0
- package/src/i18n/messagebundle_pl.properties +2 -0
- package/src/i18n/messagebundle_pt.properties +2 -0
- package/src/i18n/messagebundle_pt_PT.properties +2 -0
- package/src/i18n/messagebundle_ro.properties +2 -0
- package/src/i18n/messagebundle_ru.properties +2 -0
- package/src/i18n/messagebundle_sh.properties +2 -0
- package/src/i18n/messagebundle_sk.properties +2 -0
- package/src/i18n/messagebundle_sl.properties +2 -0
- package/src/i18n/messagebundle_sr.properties +2 -0
- package/src/i18n/messagebundle_sv.properties +2 -0
- package/src/i18n/messagebundle_th.properties +2 -0
- package/src/i18n/messagebundle_tr.properties +2 -0
- package/src/i18n/messagebundle_uk.properties +2 -0
- package/src/i18n/messagebundle_vi.properties +2 -0
- package/src/i18n/messagebundle_zh_CN.properties +2 -0
- package/src/i18n/messagebundle_zh_TW.properties +2 -0
- package/src/shellbar/templates/ShellBarLegacyTemplate.tsx +190 -0
- package/src/shellbar/templates/ShellBarSearchLegacyTemplate.tsx +61 -0
- package/src/shellbar/templates/ShellBarSearchTemplate.tsx +40 -0
- package/src/themes/NavigationLayout.css +1 -0
- package/src/themes/ShellBar.css +189 -372
- package/src/themes/ShellBarItem.css +43 -0
- package/src/themes/ShellBarLegacy.css +174 -0
- package/src/themes/ShellBarSearchLegacy.css +44 -0
- package/dist/ShellBarPopoverTemplate.d.ts +0 -2
- package/dist/ShellBarPopoverTemplate.js +0 -9
- package/dist/ShellBarPopoverTemplate.js.map +0 -1
- package/src/ShellBarPopoverTemplate.tsx +0 -50
package/dist/ShellBar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShellBar.js","sourceRoot":"","sources":["../src/ShellBar.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,aAAa,MAAM,wDAAwD,CAAC;AACnF,OAAO,EACN,OAAO,EACP,OAAO,EACP,MAAM,EACN,OAAO,EACP,MAAM,EACN,KAAK,GACL,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,yBAAyB,EAAE,MAAM,+DAA+D,CAAC;AAC1G,OAAO,EAAE,mBAAmB,EAAE,MAAM,uDAAuD,CAAC;AAC5F,OAAO,gBAAgB,MAAM,6CAA6C,CAAC;AAC3E,OAAO,IAAI,MAAM,iCAAiC,CAAC;AAGnD,OAAO,OAAO,MAAM,oCAAoC,CAAC;AACzD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,WAAW,MAAM,wCAAwC,CAAC;AACjE,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AAGnD,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,wCAAwC,CAAC;AAC5E,OAAO,MAAM,MAAM,yCAAyC,CAAC;AAC7D,OAAO,EAAE,MAAM,qCAAqC,CAAC;AACrD,OAAO,IAAI,MAAM,uCAAuC,CAAC;AACzD,OAAO,QAAQ,MAAM,2CAA2C,CAAC;AACjE,OAAO,IAAI,MAAM,uCAAuC,CAAC;AAQzD,OAAO,QAAQ,MAAM,+CAA+C,CAAC;AACrE,OAAO,gBAAgB,MAAM,uDAAuD,CAAC;AAKrF,YAAY;AACZ,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAErD,SAAS;AACT,OAAO,cAAc,MAAM,oCAAoC,CAAC;AAChE,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;AAE3E,OAAO,EACN,cAAc,EACd,aAAa,EACb,sBAAsB,EACtB,+BAA+B,EAC/B,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,2BAA2B,EAC3B,gCAAgC,EAChC,wBAAwB,EACxB,2BAA2B,EAC3B,kBAAkB,GAClB,MAAM,mCAAmC,CAAC;AAyF3C,MAAM,oBAAoB,GAAG,GAAG,CAAC,CAAC,KAAK;AAEvC,0DAA0D;AAC1D,MAAM,wBAAwB,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AA4HH,IAAM,QAAQ,gBAAd,MAAM,QAAS,SAAQ,UAAU;IAuRhC,MAAM,KAAK,mBAAmB;QAC7B,OAAO;YACN,GAAG;YACH,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,KAAK;SACL,CAAC;IACH,CAAC;IAED,MAAM,KAAK,uBAAuB;QACjC,OAAO;YACN,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE,KAAK;SACd,CAAC;IACH,CAAC;IAED;QACC,KAAK,EAAE,CAAC;QA/RT;;;;;;WAMG;QAEH,qBAAgB,GAAG,KAAK,CAAC;QAEzB;;;;;;WAMG;QAEH,0BAAqB,GAAG,KAAK,CAAC;QA+B9B;;;;WAIG;QAEH,sBAAiB,GAAG,KAAK,CAAC;QAE1B;;;;WAIG;QAEH,sBAAiB,GAAG,KAAK,CAAC;QAE1B;;;;;;WAMG;QAEH,oBAAe,GAAG,KAAK,CAAC;QAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAiCG;QAEH,4BAAuB,GAAoC,EAAE,CAAC;QAE9D;;WAEG;QAEH,mBAAc,GAAG,GAAG,CAAC;QAErB;;WAEG;QAEH,aAAQ,GAAG,KAAK,CAAC;QAGjB,eAAU,GAA4B,EAAE,CAAC;QAGzC,iBAAY,GAAgC,EAAE,CAAC;QAG/C,yBAAoB,GAAG,KAAK,CAAC;QAG7B,6BAAwB,GAAG,KAAK,CAAC;QAGjC,wBAAmB,GAAG,KAAK,CAAC;QAE5B,yBAAoB,GAAuB,EAAE,CAAC;QAqH9C,qBAAgB,GAAG,CAAC,CAAC;QACrB,uBAAkB,GAAuB,EAAE,CAAC;QAC5C,4BAAuB,GAAG,KAAK,CAAC;QAEhC,uBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,wBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,mBAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QA2B1C,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QAEnC,8DAA8D;QAC9D,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;QAExC,IAAI,CAAC,oBAAoB,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE;YACrD,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,GAAG,EAAE;YACxB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC3C,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAS,2BAA2B,CAAE,CAAC;gBAC1F,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC;YACzB,CAAC;QACF,CAAC,CAAC;QAEF,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1C,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAClD,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,KAAK,CAAC;YAClC,IAAI,IAAI,CAAC,gBAAgB,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;gBAChD,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBAC1B,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAChC,CAAC;YACF,CAAC;QACF,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAC1B,CAAC;IAED,aAAa,CAAC,CAAQ;QACrB,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,MAAqB,CAAC,CAAC;YAC1D,OAAO;QACR,CAAC;QACD,IAAI,OAAO,EAAE,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;IACF,CAAC;IAED,cAAc,CAAC,CAAQ;QACtB,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,MAAqB,CAAC,CAAC;YAC1D,OAAO;QACR,CAAC;QACD,IAAI,OAAO,EAAE,EAAE,CAAC;YACf,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;IACF,CAAC;IAED,SAAS,CAAC,CAAQ;QACjB,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,MAAqB,CAAC,CAAC;YAC1D,OAAO;QACR,CAAC;QAED,0CAA0C;QAC1C,iEAAiE;QACjE,uGAAuG;QACvG,wDAAwD;QACxD,IAAI,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAC/D,OAAO;QACR,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC5C,CAAC;IAED,uBAAuB;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,sBAAsB,CAAE,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvK,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,CAAC,oCAAoC,CAAC,CAAC;QACxF,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1B,OAAO;QACR,CAAC;QACD,IAAI,CAAC,WAAW,IAAI,gBAAgB,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACvG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACrC,CAAC;aAAM,IAAI,WAAW,GAAG,gBAAgB,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAC3E,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YAC1B,IAAI,CAAC,uBAAuB,GAAG,KAAK,CAAC;QACtC,CAAC;IACF,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,OAAO;QACR,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,+EAA+E;YAC/E,OAAO;QACR,CAAC;QAED,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;QACzC,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,OAAO;QACR,CAAC;QAED,6DAA6D;QAC7D,IAAI,IAAI,CAAC,qBAAqB,CAAC,aAA4B,EAAE,CAAC,CAAC,EAAE,CAAC;YACjE,OAAO;QACR,CAAC;QAED,MAAM,KAAK,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5E,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC;QAEjE,kEAAkE;QAClE,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACzB,CAAC,CAAC,cAAc,EAAE,CAAC;YAEnB,4CAA4C;YAC5C,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACf,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC9C,CAAC;iBAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YAC1C,CAAC;iBAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtB,wCAAwC;gBACxC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YACnB,CAAC;iBAAM,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACrB,uCAAuC;gBACvC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YAClC,CAAC;QACF,CAAC;IACF,CAAC;IAEO,qBAAqB,CAAC,aAA0B,EAAE,CAAgB;QACzE,IAAI,aAAa,CAAC,OAAO,KAAK,OAAO,IAAI,aAAa,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YAC/E,OAAO,IAAI,CAAC,qBAAqB,CAAC,aAAuD,EAAE,CAAC,CAAC,CAAC;QAC/F,CAAC;QAED,OAAO,KAAK,CAAC,CAAC,sCAAsC;IACrD,CAAC;IAEO,qBAAqB,CAAC,YAAoD,EAAE,CAAgB;QACnG,MAAM,cAAc,GAAG,YAAY,CAAC,cAAc,IAAI,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC;QAE7C,+DAA+D;QAC/D,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,CAAC,CAAC;eAClC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,cAAc,GAAG,UAAU,CAAC,EAAE,CAAC;YAChD,OAAO,IAAI,CAAC;QACb,CAAC;QAED,kDAAkD;QAClD,OAAO,KAAK,CAAC;IACd,CAAC;IAED,cAAc,CAAC,KAAoB,EAAE,YAAoB;QACxD,IAAI,YAAY,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,yBAAyB;QAC7D,CAAC;IACF,CAAC;IAED,kBAAkB,CAAC,KAAoB,EAAE,YAAoB;QAC5D,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACtB,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,6BAA6B;QACjE,CAAC;IACF,CAAC;IAED,UAAU,CAAC,OAAoB;QAC9B,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAExC,OAAO,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,WAAW,GAAG,CAAC,IAAI,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC;IACzH,CAAC;IAED,mBAAmB;QAClB,OAAO;YACN,GAAG,IAAI,CAAC,WAAW;YACnB,GAAG,IAAI,CAAC,UAAW,CAAC,gBAAgB,CAAC,yCAAyC,CAAC;YAC/E,GAAG,IAAI,CAAC,SAAS;YACjB,GAAG,IAAI,CAAC,UAAW,CAAC,gBAAgB,CAAC,mCAAmC,CAAC;SACxD,CAAC;IACpB,CAAC;IAED,cAAc,CAAC,CAAwC;QACtD,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE;YACjE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI;SACnB,CAAC,CAAC;QACH,IAAI,cAAc,EAAE,CAAC;YACpB,IAAI,CAAC,WAAY,CAAC,IAAI,GAAG,KAAK,CAAC;QAChC,CAAC;IACF,CAAC;IAED,UAAU;QACT,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACrC,SAAS,EAAE,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,oBAAoB,CAAE;SAC7E,CAAC,CAAC;IACJ,CAAC;IAED,sBAAsB;QACrB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,IAAI,CAAC,WAAY,CAAC,OAAO,IAAI,IAAI,CAAC,WAAY,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC3D,IAAI,CAAC,WAAY,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,cAAc,EAAE,CAAC;QACxD,CAAC;IACF,CAAC;IAED,sBAAsB;QACrB,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;IACnC,CAAC;IAED,0BAA0B;QACzB,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;QACrC,IAAI,IAAI,CAAC,eAAgB,CAAC,OAAO,IAAI,IAAI,CAAC,eAAgB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACnE,IAAI,CAAC,eAAgB,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,cAAc,EAAE,CAAC;QAC5D,CAAC;IACF,CAAC;IAED,0BAA0B;QACzB,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;IACvC,CAAC;IAED,UAAU,CAAC,CAAgB;QAC1B,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,UAAU,EAAE,CAAC;QACnB,CAAC;IACF,CAAC;IAED,YAAY,CAAC,CAAgB;QAC5B,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,OAAO;QACR,CAAC;QAED,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAChB,IAAI,CAAC,UAAU,EAAE,CAAC;QACnB,CAAC;IACF,CAAC;IAED,qBAAqB,CAAC,QAA6B,EAAE,YAAoB;QACxE,OAAO,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;IACrJ,CAAC;IAED,mBAAmB,CAAC,MAAc;QACjC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAG,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK;IACxE,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACjD,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,+BAA+B,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3E,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC,CAAC;YACnF,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7E,MAAM,kBAAkB,GAAG,cAAc,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC;YAE9E,OAAO,QAAQ,IAAI,KAAK,IAAI,CAAC,kBAAkB,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE5B,kEAAkE;QAClE,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC1D,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC;QACrC,CAAC;QAED,IAAI,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1C,IAAI,OAAO,EAAE,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;YAC/C,CAAC;YAED,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC9C,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;IACF,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,QAAiB;QACrC,IAAI,QAAQ,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YACvC,OAAO;QACR,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAChC,MAAM,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,gBAAgB;QACf,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC;QACzC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,kBAAkB;QACvB,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,MAAM,cAAc,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC1B,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAChC,CAAC;QACF,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,aAAa;QACZ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,CAAC,IAAI,GAAG,KAAK,CAAC;QACnC,CAAC;IACF,CAAC;IAED,qBAAqB;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;QACjD,MAAM,WAAW,GAAG,UAAQ,CAAC,mBAAmB,CAAC;QAEjD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,UAAQ,CAAC,mBAAmB,CAAC,UAAQ,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC5H,MAAM,UAAU,GAAG,UAAQ,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;QAE1D,IAAI,IAAI,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAClC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;QAChD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,UAAU,CAAC,KAA6B;QACvC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACpB,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBACpE,IAAI,CAAC,OAAO,GAAG,GAAG,IAAI,CAAC,OAAO,6BAA6B,CAAC;YAC7D,CAAC;QACF,CAAC,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACd,CAAC;IAED,qBAAqB,CAAC,KAAyB;QAC9C,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,sBAAsB;QACrB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC;QACrC,MAAM,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,CAAC;QACnD,MAAM,WAAW,GAAa,EAAE,CAAC;QACjC,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,CAAC;QAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACpD,IAAI,KAAK,EAAE,WAAW,KAAK,OAAO,EAAE,WAAW,EAAE,CAAC;gBACjD,eAAe,GAAG,CAAC,CAAC;gBACpB,MAAM;YACP,CAAC;YAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;YACnC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACvD,MAAM,cAAc,GAAG,kBAAkB,CAAC,EAAE,eAAe,CAAC,CAAC;YAC7D,IAAI,cAAc,EAAE,CAAC;gBACpB,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YACrC,CAAC;QACF,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnI,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;QACrF,MAAM,WAAW,GAAG,CAAC,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAEjG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAE7B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,gBAAgB;QACf,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACjE,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACjC,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACrC,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACpC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,eAAe,CAAC;IACpE,CAAC;IAED,oBAAoB;QACnB,MAAM,cAAc,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAS,+BAA+B,CAAE,CAAC;QAChG,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACnD,eAAe,CAAC,MAAM,GAAG,cAAc,CAAC;QACxC,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,UAAU;QACT,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAEjD,IAAI,SAAS,EAAE,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS;QACR,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,CAAC;QACvC,IAAI,CAAC,kBAAkB,GAAG,EAAE,CAAC;QAC7B,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACnD,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,2BAA2B,CAAC,WAA+B;QAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,OAAO;QACR,CAAC;QACD,WAAW,CAAC,gBAAgB,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClE,WAAW,CAAC,gBAAgB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACpE,WAAW,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACjE,CAAC;IAED,2BAA2B,CAAC,WAA+B;QAC1D,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,OAAO;QACR,CAAC;QACD,WAAW,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACrE,WAAW,CAAC,mBAAmB,CAAC,WAAW,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACvE,WAAW,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IACpE,CAAC;IAED,sBAAsB;QACrB,MAAM,eAAe,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAS,6BAA6B,CAAE,CAAC;QAC/F,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE;YACxE,SAAS,EAAE,eAAe;YAC1B,kBAAkB,EAAE,IAAI,CAAC,eAAe;SACxC,CAAC,CAAC;QACH,IAAI,gBAAgB,EAAE,CAAC;YACtB,OAAO;QACR,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE3C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3B,OAAO;QACR,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAElC,+BAA+B;QAC/B,IAAI,KAAK,EAAE,CAAC;YACX,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;QAED,uBAAuB;QACvB,UAAU,CAAC,GAAG,EAAE;YACf,IAAI,KAAK,EAAE,CAAC;gBACX,KAAK,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;QACF,CAAC,EAAE,GAAG,CAAC,CAAC;IACT,CAAC;IAED,KAAK,CAAC,sBAAsB;QAC3B,IAAI,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACtC,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,wFAAwF;YACxF,4DAA4D;YAC5D,MAAM,cAAc,EAAE,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,0BAA0B,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,wBAAwB,CAAC,CAAkC;QAC1D,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;QACvC,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,kCAAkC,CAAC,CAAC;QAE1E,IAAI,SAAS,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBAC3C,OAAO,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC;YAC/B,CAAC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,YAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;YAElD,IAAI,CAAC,0BAA0B,GAAG,SAAS,CAAC;QAC7C,CAAC;IACF,CAAC;IAED,oBAAoB;QACnB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC7B,CAAC;IAED,yBAAyB,CAAC,CAAkC;QAC3D,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAS,2BAA2B,CAAE,EAC/F,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;QAElC,IAAI,CAAC,0BAA0B,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE;YACjF,SAAS,EAAE,mBAAmB,CAAC,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB;SAC9G,CAAC,CAAC;IACJ,CAAC;IAED,mBAAmB;QAClB,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE;YACxC,SAAS,EAAE,IAAI,CAAC,UAAW,CAAC,aAAa,CAAS,4BAA4B,CAAE;SAChF,CAAC,CAAC;IACJ,CAAC;IAED,wBAAwB;QACvB,MAAM,eAAe,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAS,6BAA6B,CAAE,CAAC;QAC/F,MAAM,qBAAqB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,EAAE;YAC5E,SAAS,EAAE,eAAe;SAC1B,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC5B,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC/B,CAAC;IACF,CAAC;IAED,yBAAyB,CAAC,CAAkC;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAS,qCAAqC,CAAE,EAC/F,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;QAElC,IAAI,CAAC,0BAA0B,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,sBAAsB,EAAE;YAClF,SAAS,EAAE,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;SAC1F,CAAC,CAAC;IACJ,CAAC;IAED,sBAAsB;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QACxB,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACH,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,2BAA2B,CAAC,CAAC;IACjF,CAAC;IAED;;;;;OAKG;IACH,IAAI,mBAAmB;QACtB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,oCAAoC,CAAC,CAAC;IAC1F,CAAC;IAED;;;;;OAKG;IACH,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,+BAA+B,CAAC,CAAC;IACrF,CAAC;IAED;;;;;OAKG;IACH,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,8BAA8B,CAAC,CAAC;IACpF,CAAC;IAED;;;;;OAKG;IACH,IAAI,mBAAmB;QACtB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,qCAAqC,CAAC,CAAC;IAC3F,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,qBAAqB;QAC1B,MAAM,cAAc,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,oCAAoC,CAAC,CAAC;IAC1F,CAAC;IAED,eAAe;QACd,OAAO;YACN,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACrC,OAAO;oBACN,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC;oBAChE,EAAE,EAAE,IAAI,CAAC,IAAI;oBACb,OAAO,EAAE,2BAA2B;oBACpC,IAAI,EAAE,KAAK;iBACX,CAAC;YACH,CAAC,CAAC;SACF,CAAC;IACH,CAAC;IAED;;OAEG;IACH,aAAa;QACZ,MAAM,KAAK,GAA4B;YACtC;gBACC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,WAAW;gBACtB,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B,iDAAiD;gBAC3H,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE;gBAC3B,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC7C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM;gBAC/B,OAAO,EAAE,IAAI,CAAC,WAAW;aACzB;YACD;gBACC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B,gCAAgC;gBACxG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,YAAY;gBAC3B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM;gBAC7B,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC;gBAChB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS;aAC7I;YACD;gBACC,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,IAAI,CAAC,kBAAkB;gBAC9B,IAAI,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,+BAA+B,CAAC;gBAClE,KAAK,EAAE,IAAI,CAAC,kBAAkB;gBAC9B,OAAO,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B,+CAA+C;gBACxH,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE;gBAC3B,IAAI,EAAE,IAAI,CAAC,iBAAiB;gBAC5B,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChD,OAAO,EAAE,IAAI,CAAC,kBAAkB;aAChC;YACD,2CAA2C;YAC3C,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC3B,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC9D,MAAM,MAAM,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;gBAC9D,OAAO,MAAM,GAAG,MAAM,CAAC;YACxB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAkB,EAAE,EAAE;gBAC7B,IAAI,CAAC,cAAc,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,qBAAqB,IAAI,CAAC,YAAY,GAAG,CAAE,CAAC;gBACvG,kCAAkC;gBAClC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,CAAC;gBAClC,OAAO;oBACN,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,EAAE,EAAE,IAAI,CAAC,GAAG;oBACZ,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,SAAS;oBAC9B,SAAS,EAAE,IAAI,CAAC,GAAG;oBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,8CAA8C;oBACvD,IAAI;oBACJ,KAAK,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC/C,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,YAAY,EAAE,IAAI,CAAC,YAAY;oBAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI;oBAChC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;iBACrD,CAAC;YACH,CAAC,CAAC;YACF;gBACC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,6GAA6G;gBACtH,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,SAAS,CAAC,EAAE;gBAC1B,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC3C,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,IAAI,CAAC,aAAa;aAC3B;YACD;gBACC,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B,gFAAgF;gBAClJ,OAAO,EAAE,IAAI;gBACb,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE;gBAC3B,IAAI,EAAE,IAAI,CAAC,UAAU;gBACrB,KAAK,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAC1C,OAAO,EAAE,IAAI,CAAC,YAAY;aAC1B;YACD;gBACC,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI,CAAC,aAAa;gBACxB,OAAO,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,+BAA+B,mHAAmH;gBAC5L,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC,EAAE;gBAC3B,IAAI,EAAE,IAAI,CAAC,iBAAiB;gBAC5B,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChD,OAAO,EAAE,IAAI,CAAC,aAAa;aAC3B;SACD,CAAC;QAEF,OAAO,KAAK,CAAC;IACd,CAAC;IAED,gBAAgB,CAAC,YAAqC;QACrD,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACrF,IAAI,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC;QAChC,CAAC;IACF,CAAC;IAED,kBAAkB,CAAC,cAA2C;QAC7D,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACzF,IAAI,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,GAAG,cAAc,CAAC;YACnC,IAAI,CAAC,qCAAqC,EAAE,CAAC;QAC9C,CAAC;IACF,CAAC;IAED,qCAAqC;QACpC,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY;aACrC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAC;aACzE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEvB,IAAI,CAAC,kBAAkB,CAAC,gCAAgC,EAAE;YACzD,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC1E,CAAC,CAAC;IACJ,CAAC;IAED,4BAA4B;QAC3B,MAAM,gBAAgB,GAAkB,EAAE,CAAC;QAC3C,IAAI,qBAAqB,GAAG,IAAI,CAAC;QAEjC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC9B,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,CAAC;gBACvE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnC,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,qBAAqB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC7C,CAAC;aAAM,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxC,qBAAqB,GAAG,GAAG,CAAC;QAC7B,CAAC;QAED,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAC;IACrD,CAAC;IAED,oBAAoB;QACnB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,OAAO;QACR,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,EAAE;oBACvC,aAAa,EAAE,KAAK;oBACpB,SAAS,EAAE,KAAK;oBAChB,OAAO,EAAE,KAAK;oBACd,UAAU,EAAE,IAAI;oBAChB,eAAe,EAAE,CAAC,iBAAiB,CAAC;iBACpC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,YAAY,CAAC;IAC7C,CAAC;IAED,mBAAmB;QAClB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAU,gCAAgC,CAAE,CAAC;IACnF,CAAC;IAED,eAAe;QACd,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAU,4BAA4B,CAAE,CAAC;IAC/E,CAAC;IAED,YAAY,CAAC,IAAY;QACxB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAElE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACd,CAAC;QAED,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,KAAK,CAAC,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,kBAAkB;QACrB,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,KAAK,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACjE,OAAO,KAAK,CAAC;QACd,CAAC;QAED,MAAM,oBAAoB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAClE,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACnD,OAAO,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,CAAC;QAChH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,0BAA0B;QAC7B,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACxI,CAAC;IAED,IAAI,eAAe;QAClB,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC;QACxD,MAAM,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,IAAI,OAAO,IAAI,QAAQ,CAAC;QAChF,IAAI,qBAAqB,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,uBAAuB,CAAC;IAC7D,CAAC;IAED,IAAI,sBAAsB;QACzB,OAAO,IAAI,CAAC,YAAY;aACtB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;aACnF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,oBAAoB;QACvB,OAAO,IAAI,CAAC,YAAY;aACtB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;aACjF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACvG,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACrG,CAAC;IAED,sBAAsB,CAAC,QAA0C,EAAE,WAAmC;QACrG,gEAAgE;QAChE,8EAA8E;QAC9E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO,KAAK,CAAC;QACd,CAAC;QACD,MAAM,eAAe,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,OAAO,eAAe,EAAE,EAAE,KAAK,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3G,CAAC;IAED,IAAI,OAAO;QACV,OAAO;YACN,OAAO,EAAE;gBACR,mBAAmB,EAAE,IAAI;gBACzB,+BAA+B,EAAE,IAAI,CAAC,cAAc;aACpD;YACD,MAAM,EAAE;gBACP,uCAAuC,EAAE,IAAI,CAAC,YAAY;aAC1D;YACD,YAAY,EAAE;gBACb,4BAA4B,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;aACvD;YACD,MAAM,EAAE;gBACP,4BAA4B,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;gBACzD,4BAA4B,EAAE,IAAI;aAClC;YACD,QAAQ,EAAE;gBACT,4BAA4B,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC;aAC5D;YACD,SAAS,EAAE;gBACV,4BAA4B,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC;gBAC5D,+BAA+B,EAAE,IAAI;aACrC;YACD,WAAW,EAAE;gBACZ,2BAA2B,EAAE,IAAI,CAAC,eAAe;gBACjD,4BAA4B,EAAE,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC;gBAClE,4BAA4B,EAAE,CAAC,IAAI,CAAC,eAAe;aACnD;SACD,CAAC;IACH,CAAC;IAED,IAAI,MAAM;QACT,MAAM,MAAM,GAAG;YACd,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;SACjD,CAAC;QACF,OAAO;YACN,WAAW,EAAE,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM;SAC/D,CAAC;IACH,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,OAAO;QACV,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,IAAI,oBAAoB;QACvB,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,cAAc,KAAK,GAAG,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,qBAAqB;QACxB,OAAO,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,oBAAoB,CAAC;IACvD,CAAC;IAED,IAAI,YAAY;QACf,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;IAChC,CAAC;IAED,IAAI,WAAW;QACd,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC/B,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IAClC,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;IACjC,CAAC;IAED,IAAI,UAAU;QACb,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC9B,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,YAAY;QACf,OAAO,yBAAyB,CAAC,IAAI,CAAC,IAAI,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,IAAI,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC,CAAC;IAC1F,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,aAAa;QAChB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,EAAE,CAAC;QAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;QAEjD,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpH,CAAC;IAED,IAAI,uBAAuB;QAC1B,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,iBAAiB;QACpB,IAAI,IAAI,CAAC,+BAA+B,EAAE,CAAC;YAC1C,OAAO,OAAO,CAAC;QAChB,CAAC;IACF,CAAC;IAED,IAAI,+BAA+B;QAClC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,YAAY;QACf,OAAO,CAAC,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,YAAY;QACf,oCAAoC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC/F,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,OAAO,CAAC;QACrB,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,UAAU;QACb,mCAAmC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAC/F,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,CAAC;QACX,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,eAAe;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;YACxC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO;QACR,CAAC;QAED,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,IAAI,gBAAgB;QACnB,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,cAAc;QACjB,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAC9D,CAAC;IAED,IAAI,qBAAqB;QACxB,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;IACjE,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,IAAc,IAAI,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9G,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,WAAW;QACd,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC;IACzE,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,kBAAkB;QACrB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAW,CAAC,gBAAgB,CAAc,iKAAiK,CAAC,CAAC,CAAC;QAC5O,MAAM,SAAS,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,gCAAgC,CAAC,CAAC;QAChG,MAAM,YAAY,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,6BAA6B,CAAC,CAAC;QAChG,MAAM,YAAY,GAAG,IAAI,CAAC,0BAA0B,CAAC;QACrD,MAAM,gBAAgB,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC;QAC5C,MAAM,iBAAiB,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,cAAc,CAAC;QAEtE,yEAAyE;QACzE,kFAAkF;QAClF,IAAI,WAAW,GAAG,EAAE,CAAC;QAErB,IAAI,iBAAiB,EAAE,CAAC;YACvB,uEAAuE;YACvE,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC,CAAC;YAC5C,MAAM,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC;YAClH,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC;YAChH,WAAW,GAAG;gBACb,GAAG,WAAW;gBACd,GAAG,YAAY;gBACf,gBAAgB;gBAChB,GAAG,YAAY;aACf,CAAC;QACH,CAAC;aAAM,CAAC;YACP,iEAAiE;YACjE,WAAW,GAAG;gBACb,GAAG,KAAK,CAAC,UAAU,EAAE;gBACrB,SAAS;gBACT,GAAG,YAAY;gBACf,YAAY;gBACZ,gBAAgB;aAChB,CAAC;QACH,CAAC;QACD,OAAO,WAAW,CAAC,MAAM,CAAC,OAAO,CAAkB,CAAC;IACrD,CAAC;IAED,IAAI,kBAAkB;QACrB,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC,CAAC;IAC9G,CAAC;IAED,IAAI,eAAe;QAClB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,wCAAwC,CAAC,CAAC;IACjF,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,8CAA8C,CAAC,CAAC;IACvF,CAAC;IAED,IAAI,UAAU;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;QACjC,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAChD,CAAC;IAED,IAAI,OAAO;QACV,MAAM,gBAAgB,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,CAAC;QAEzE,OAAO;YACN,aAAa,EAAE;gBACd,OAAO,EAAE,IAAI,CAAC,kBAAkB;gBAChC,yBAAyB,EAAE;oBAC1B,QAAQ,EAAE,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,QAAQ;oBAC9D,QAAQ,EAAE,IAAI,CAAC,uBAAuB,CAAC,aAAa,EAAE,QAAQ;iBAC9D;aACD;YACD,OAAO,EAAE;gBACR,OAAO,EAAE,IAAI,CAAC,YAAY;gBAC1B,yBAAyB,EAAE;oBAC1B,QAAQ,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ;oBACxD,QAAQ,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ;iBACxD;aACD;YACD,QAAQ,EAAE;gBACT,OAAO,EAAE,IAAI,CAAC,aAAa;gBAC3B,yBAAyB,EAAE;oBAC1B,QAAQ,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ;oBACxD,QAAQ,EAAE,IAAI,CAAC,uBAAuB,CAAC,OAAO,EAAE,QAAQ;iBACxD;aACD;YACD,MAAM,EAAE;gBACP,OAAO,EAAE,IAAI,CAAC,WAAW;gBACzB,yBAAyB,EAAE;oBAC1B,QAAQ,EAAE,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,QAAQ;iBACvD;aACD;YACD,QAAQ,EAAE;gBACT,OAAO,EAAE,IAAI,CAAC,aAAa;gBAC3B,yBAAyB,EAAE;oBAC1B,QAAQ,EAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,QAAQ,IAAI,MAAe;oBAC5E,QAAQ,EAAE,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,gBAAgB;iBAC3F;aACD;YACD,QAAQ,EAAE;gBACT,OAAO,EAAE,IAAI,CAAC,aAAa;gBAC3B,yBAAyB,EAAE;oBAC1B,IAAI,EAAE,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,IAAI;iBACjD;aACD;SACD,CAAC;IACH,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,IAAI,MAAM,CAAC;IAC1D,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,cAAc,KAAK,GAAG,CAAC;IACpC,CAAC;IAED,IAAI,wBAAwB;QAC3B,OAAO,uBAAuB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;CACD,CAAA;AAh6CA;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDACH;AAUzB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uDACE;AAU9B;IADC,QAAQ,EAAE;8CACW;AAUtB;IADC,QAAQ,EAAE;gDACa;AASxB;IADC,QAAQ,EAAE;oDACiB;AAQ5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;mDACF;AAQ1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;mDACF;AAU1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACJ;AAqCxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yDACmC;AAM9D;IADC,QAAQ,EAAE;gDACU;AAMrB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CACX;AAGjB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CACc;AAGzC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CACoB;AAG/C;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;sDAClB;AAG7B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;0DACd;AAGjC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;qDACnB;AAW5B;IADC,IAAI,EAAE;2CACmB;AAa1B;IADC,IAAI,EAAE;0CAC2B;AAUlC;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,uBAAuB,EAAE,IAAI,EAAE,CAAC;uCAC1C;AAYlC;IADC,IAAI,EAAE;yCACqB;AAS5B;IADC,IAAI,EAAE;sCACkB;AAUzB;IADC,IAAI,EAAE;2CACwB;AAU/B;IAJC,IAAI,CAAC;QACL,IAAI,EAAE,WAAW;QACjB,uBAAuB,EAAE,IAAI;KAC7B,CAAC;6CACuC;AASzC;IADC,IAAI,EAAE;6CACqB;AAS5B;IADC,IAAI,EAAE;4CACwB;AAc/B;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;yCACvB;AAGrB;IADN,IAAI,CAAC,0BAA0B,CAAC;kCACH;AApQzB,QAAQ;IA1Hb,aAAa,CAAC;QACd,GAAG,EAAE,cAAc;QACnB,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,gBAAgB;QAC1B,MAAM,EAAE,CAAC,cAAc,EAAE,kBAAkB,CAAC;QAC5C,YAAY,EAAE;YACb,MAAM;YACN,IAAI;YACJ,IAAI;YACJ,OAAO;YACP,gBAAgB;YAChB,IAAI;YACJ,WAAW;SACX;KACD,CAAC;IACF;;;;;OAKG;;IACF,KAAK,CAAC,qBAAqB,EAAE;QAC7B,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;OAIG;;IACF,KAAK,CAAC,eAAe,EAAE;QACvB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;;;OAMG;;IACF,KAAK,CAAC,sBAAsB,EAAE;QAC9B,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,YAAY,EAAE;QACpB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;;;;OAOG;;IACF,KAAK,CAAC,iBAAiB,EAAE;QACzB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;KAChB,CAAC;IAEF;;;;;;;OAOG;;IAEF,KAAK,CAAC,qBAAqB,EAAE;QAC7B,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,qBAAqB,EAAE;QAC7B,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;;;;;OAQG;;IACF,KAAK,CAAC,oBAAoB,EAAE;QAC5B,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;;;;OAOG;;IACF,KAAK,CAAC,gCAAgC,EAAE;QACxC,OAAO,EAAE,IAAI;KACb,CAAC;GAEI,QAAQ,CAq7Cb;AAOD,MAAM,uBAAuB,GAAG,CAAC,WAAgB,EAAiD,EAAE;IACnG,IAAI,WAAW,EAAE,CAAC;QACjB,OAAO,WAAW,IAAI,WAAW,IAAI,MAAM,IAAI,WAAW,CAAC;IAC5D,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC,CAAC;AAEF,QAAQ,CAAC,MAAM,EAAE,CAAC;AAElB,eAAe,QAAQ,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot, DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport {\n\tisSpace,\n\tisEnter,\n\tisLeft,\n\tisRight,\n\tisHome,\n\tisEnd,\n} from \"@ui5/webcomponents-base/dist/Keys.js\";\nimport { getEffectiveAriaLabelText } from \"@ui5/webcomponents-base/dist/util/AccessibilityTextsHelper.js\";\nimport { getTabbableElements } from \"@ui5/webcomponents-base/dist/util/TabbableElements.js\";\nimport ListItemStandard from \"@ui5/webcomponents/dist/ListItemStandard.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport type { ListItemClickEventDetail } from \"@ui5/webcomponents/dist/List.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport ButtonBadge from \"@ui5/webcomponents/dist/ButtonBadge.js\";\nimport Menu from \"@ui5/webcomponents/dist/Menu.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport type { IButton } from \"@ui5/webcomponents/dist/Button.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { isDesktop, isPhone } from \"@ui5/webcomponents-base/dist/Device.js\";\nimport search from \"@ui5/webcomponents-icons/dist/search.js\";\nimport da from \"@ui5/webcomponents-icons/dist/da.js\";\nimport bell from \"@ui5/webcomponents-icons/dist/bell.js\";\nimport overflow from \"@ui5/webcomponents-icons/dist/overflow.js\";\nimport grid from \"@ui5/webcomponents-icons/dist/grid.js\";\nimport type {\n\tClassMap,\n\tAccessibilityAttributes,\n\tAriaRole,\n\tUI5CustomEvent,\n} from \"@ui5/webcomponents-base\";\nimport type ListItemBase from \"@ui5/webcomponents/dist/ListItemBase.js\";\nimport throttle from \"@ui5/webcomponents-base/dist/util/throttle.js\";\nimport getActiveElement from \"@ui5/webcomponents-base/dist/util/getActiveElement.js\";\nimport type ShellBarItem from \"./ShellBarItem.js\";\nimport type { ShellBarItemAccessibilityAttributes } from \"./ShellBarItem.js\";\nimport type ShellBarBranding from \"./ShellBarBranding.js\";\n\n// Templates\nimport ShellBarTemplate from \"./ShellBarTemplate.js\";\n\n// Styles\nimport shellBarStyles from \"./generated/themes/ShellBar.css.js\";\nimport ShellBarPopoverCss from \"./generated/themes/ShellBarPopover.css.js\";\n\nimport {\n\tSHELLBAR_LABEL,\n\tSHELLBAR_LOGO,\n\tSHELLBAR_NOTIFICATIONS,\n\tSHELLBAR_NOTIFICATIONS_NO_COUNT,\n\tSHELLBAR_CANCEL,\n\tSHELLBAR_PROFILE,\n\tSHELLBAR_PRODUCTS,\n\tSHELLBAR_SEARCH,\n\tSHELLBAR_SEARCH_FIELD,\n\tSHELLBAR_OVERFLOW,\n\tSHELLBAR_LOGO_AREA,\n\tSHELLBAR_ADDITIONAL_CONTEXT,\n\tSHELLBAR_SEARCHFIELD_DESCRIPTION,\n\tSHELLBAR_SEARCH_BTN_OPEN,\n\tSHELLBAR_PRODUCT_SWITCH_BTN,\n\tSHELLBAR_IMAGE_BTN,\n} from \"./generated/i18n/i18n-defaults.js\";\n\ntype ShellBarLogoAccessibilityAttributes = {\n\trole?: Extract<AriaRole, \"button\" | \"link\">,\n\tname?: string,\n}\ntype ShellBarProfileAccessibilityAttributes = Pick<AccessibilityAttributes, \"name\" | \"expanded\" | \"hasPopup\">;\ntype ShellBarAreaAccessibilityAttributes = Pick<AccessibilityAttributes, \"hasPopup\" | \"expanded\">;\ntype ShellBarBrandingAccessibilityAttributes = Pick<AccessibilityAttributes, \"name\">;\ntype ShellBarAccessibilityAttributes = {\n\tlogo?: ShellBarLogoAccessibilityAttributes\n\tnotifications?: ShellBarAreaAccessibilityAttributes\n\tprofile?: ShellBarProfileAccessibilityAttributes,\n\tproduct?: ShellBarAreaAccessibilityAttributes\n\tsearch?: ShellBarAreaAccessibilityAttributes\n\toverflow?: ShellBarAreaAccessibilityAttributes\n\tbranding?: ShellBarBrandingAccessibilityAttributes\n};\n\ntype ShellBarNotificationsClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarProfileClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarProductSwitchClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarLogoClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarMenuItemClickEventDetail = {\n\titem: HTMLElement;\n};\n\ntype ShellBarContentItemVisibilityChangeEventDetail = {\n\titems: Array<HTMLElement>\n};\n\ntype ShellBarSearchButtonEventDetail = {\n\ttargetRef: HTMLElement;\n\tsearchFieldVisible: boolean;\n};\n\ntype ShellBarSearchFieldToggleEventDetail = {\n\texpanded: boolean;\n};\n\ntype ShellBarSearchFieldClearEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ninterface IShellBarSearchField extends HTMLElement {\n\tfocused: boolean;\n\tvalue: string;\n\tcollapsed?: boolean;\n\topen?: boolean;\n}\n\ninterface IShellBarHidableItem {\n\tclasses: string,\n\tid: string,\n\tshow: boolean,\n}\n\ninterface IShelBarItemInfo extends IShellBarHidableItem {\n\ticon?: string,\n\ttext?: string,\n\tcount?: string,\n\tcustom?: boolean,\n\ttitle?: string,\n\tstableDomRef?: string,\n\trefItemid?: string,\n\tpress: (e: UI5CustomEvent<Button, \"click\">) => void,\n\torder?: number,\n\tprofile?: boolean,\n\ttooltip?: string,\n\taccessibilityAttributes?: ShellBarItemAccessibilityAttributes,\n\taccessibleName?: string,\n}\n\ninterface IShellBarContentItem extends IShellBarHidableItem {\n\thideOrder: number,\n}\n\nconst RESIZE_THROTTLE_RATE = 200; // ms\n\n// actions always visible in lean mode, order is important\nconst PREDEFINED_PLACE_ACTIONS = [\"feedback\", \"sys-help\"];\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-shellbar` is meant to serve as an application header\n * and includes numerous built-in features, such as: logo, profile image/icon, title, search field, notifications and so on.\n *\n * ### Stable DOM Refs\n *\n * You can use the following stable DOM refs for the `ui5-shellbar`:\n *\n * - logo\n * - notifications\n * - overflow\n * - profile\n * - product-switch\n *\n * ### Keyboard Handling\n *\n * #### Fast Navigation\n * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/ShellBar.js\";`\n * @csspart root - Used to style the outermost wrapper of the `ui5-shellbar`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 0.8.0\n */\n\n@customElement({\n\ttag: \"ui5-shellbar\",\n\tfastNavigation: true,\n\tlanguageAware: true,\n\trenderer: jsxRenderer,\n\ttemplate: ShellBarTemplate,\n\tstyles: [shellBarStyles, ShellBarPopoverCss],\n\tdependencies: [\n\t\tButton,\n\t\tIcon,\n\t\tList,\n\t\tPopover,\n\t\tListItemStandard,\n\t\tMenu,\n\t\tButtonBadge,\n\t],\n})\n/**\n *\n * Fired, when the notification icon is activated.\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"notifications-click\", {\n\tcancelable: true,\n\tbubbles: true,\n})\n\n/**\n * Fired, when the profile slot is present.\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"profile-click\", {\n\tbubbles: true,\n})\n\n/**\n * Fired, when the product switch icon is activated.\n *\n * **Note:** You can prevent closing of overflow popover by calling `event.preventDefault()`.\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"product-switch-click\", {\n\tcancelable: true,\n\tbubbles: true,\n})\n\n/**\n * Fired, when the logo is activated.\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @since 0.10\n * @public\n */\n@event(\"logo-click\", {\n\tbubbles: true,\n})\n\n/**\n * Fired, when a menu item is activated\n *\n * **Note:** You can prevent closing of overflow popover by calling `event.preventDefault()`.\n * @param {HTMLElement} item DOM ref of the activated list item\n * @since 0.10\n * @public\n */\n@event(\"menu-item-click\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n/**\n * Fired, when the search button is activated.\n *\n * **Note:** You can prevent expanding/collapsing of the search field by calling `event.preventDefault()`.\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @param {Boolean} searchFieldVisible whether the search field is visible\n * @public\n */\n\n@event(\"search-button-click\", {\n\tcancelable: true,\n\tbubbles: true,\n})\n\n/**\n * Fired, when the search field is expanded or collapsed.\n * @since 2.10.0\n * @param {Boolean} expanded whether the search field is expanded\n * @public\n */\n@event(\"search-field-toggle\", {\n\tbubbles: true,\n})\n\n/**\n * Fired, when the search cancel button is activated.\n *\n * **Note:** You can prevent the default behavior (clearing the search field value) by calling `event.preventDefault()`. The search will still be closed.\n * **Note:** The `search-field-clear` event is in an experimental state and is a subject to change.\n * @param {HTMLElement} targetRef dom ref of the cancel button element\n * @since 2.14.0\n * @public\n */\n@event(\"search-field-clear\", {\n\tcancelable: true,\n\tbubbles: true,\n})\n\n/**\n * Fired, when an item from the content slot is hidden or shown.\n * **Note:** The `content-item-visibility-change` event is in an experimental state and is a subject to change.\n *\n * @param {Array<HTMLElement>} array of all the items that are hidden\n * @public\n * @since 2.7.0\n */\n@event(\"content-item-visibility-change\", {\n\tbubbles: true,\n})\n\nclass ShellBar extends UI5Element {\n\teventDetails!: {\n\t\t\"notifications-click\": ShellBarNotificationsClickEventDetail,\n\t\t\"profile-click\": ShellBarProfileClickEventDetail,\n\t\t\"product-switch-click\": ShellBarProductSwitchClickEventDetail,\n\t\t\"logo-click\": ShellBarLogoClickEventDetail,\n\t\t\"menu-item-click\": ShellBarMenuItemClickEventDetail,\n\t\t\"search-button-click\": ShellBarSearchButtonEventDetail,\n\t\t\"search-field-toggle\": ShellBarSearchFieldToggleEventDetail,\n\t\t\"search-field-clear\": ShellBarSearchFieldClearEventDetail,\n\t\t\"content-item-visibility-change\": ShellBarContentItemVisibilityChangeEventDetail\n\t}\n\n\t/**\n\t * Defines the visibility state of the search button.\n\t *\n\t * **Note:** The `hideSearchButton` property is in an experimental state and is a subject to change.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\thideSearchButton = false;\n\n\t/**\n\t * Disables the automatic search field expansion/collapse when the available space is not enough.\n\t *\n\t * **Note:** The `disableSearchCollapse` property is in an experimental state and is a subject to change.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisableSearchCollapse = false;\n\n\t/**\n\t * Defines the `primaryTitle`.\n\t *\n\t * **Note:** The `primaryTitle` would be hidden on S screen size (less than approx. 700px).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tprimaryTitle?: string;\n\n\t/**\n\t * Defines the `secondaryTitle`.\n\t *\n\t * **Note:** The `secondaryTitle` would be hidden on S and M screen sizes (less than approx. 1300px).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tsecondaryTitle?: string;\n\n\t/**\n\t * Defines the `notificationsCount`,\n\t * displayed in the notification icon top-right corner.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tnotificationsCount?: string;\n\n\t/**\n\t * Defines, if the notification icon would be displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowNotifications = false;\n\n\t/**\n\t * Defines, if the product switch icon would be displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowProductSwitch = false;\n\n\t/**\n\t * Defines, if the Search Field would be displayed when there is a valid `searchField` slot.\n\t *\n\t * **Note:** By default the Search Field is not displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowSearchField = false;\n\n\t/**\n\t * Defines additional accessibility attributes on different areas of the component.\n\t *\n\t * The accessibilityAttributes object has the following fields,\n\t * where each field is an object supporting one or more accessibility attributes:\n\t *\n\t * - **logo** - `logo.role` and `logo.name`.\n\t * - **notifications** - `notifications.expanded` and `notifications.hasPopup`.\n\t * - **profile** - `profile.expanded`, `profile.hasPopup` and `profile.name`.\n\t * - **product** - `product.expanded` and `product.hasPopup`.\n\t * - **search** - `search.hasPopup`.\n\t * - **overflow** - `overflow.expanded` and `overflow.hasPopup`.\n\t * - **branding** - `branding.name`.\n\t *\n\t * The accessibility attributes support the following values:\n\t *\n\t * - **role**: Defines the accessible ARIA role of the logo area.\n\t * Accepts the following string values: `button` or `link`.\n\t *\n\t * - **expanded**: Indicates whether the button, or another grouping element it controls,\n\t * is currently expanded or collapsed.\n\t * Accepts the following string values: `true` or `false`.\n\t *\n\t * - **hasPopup**: Indicates the availability and type of interactive popup element,\n\t * such as menu or dialog, that can be triggered by the button.\n\t *\n\t * Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.\n\t * - **name**: Defines the accessible ARIA name of the area.\n\t * Accepts any string.\n\t *\n\t * @default {}\n\t * @public\n\t * @since 1.10.0\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes: ShellBarAccessibilityAttributes = {};\n\n\t/**\n\t * @private\n\t */\n\t@property()\n\tbreakpointSize = \"S\";\n\n\t/**\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\twithLogo = false;\n\n\t@property({ type: Object })\n\t_itemsInfo: Array<IShelBarItemInfo> = [];\n\n\t@property({ type: Object })\n\t_contentInfo: Array<IShellBarContentItem> = [];\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_menuPopoverExpanded = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\t_overflowPopoverExpanded = false;\n\n\t@property({ type: Boolean, noAttribute: true })\n\tshowFullWidthSearch = false;\n\n\t_cachedHiddenContent: Array<HTMLElement> = [];\n\n\t/**\n\t * Defines the assistant slot.\n\t *\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@slot()\n\tassistant!: Slot<IButton>;\n\n\t/**\n\t * Defines the branding slot.\n\t * The `ui5-shellbar-branding` component is intended to be placed inside this slot.\n\t * Content placed here takes precedence over the `primaryTitle` property and the `logo` content slot.\n\t *\n\t * **Note:** The `branding` slot is in an experimental state and is a subject to change.\n\t *\n\t * @since 2.12.0\n\t * @public\n\t */\n\t@slot()\n\tbranding!: Slot<ShellBarBranding>;\n\n\t/**\n\t * Defines the `ui5-shellbar` additional items.\n\t *\n\t * **Note:**\n\t * You can use the `<ui5-shellbar-item></ui5-shellbar-item>`.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true, invalidateOnChildChange: true })\n\titems!: DefaultSlot<ShellBarItem>;\n\n\t/**\n\t * You can pass `ui5-avatar` to set the profile image/icon.\n\t * If no profile slot is set - profile will be excluded from actions.\n\t *\n\t * **Note:** We recommend not using the `size` attribute of `ui5-avatar` because\n\t * it should have specific size by design in the context of `ui5-shellbar` profile.\n\t * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@slot()\n\tprofile!: Slot<HTMLElement>;\n\n\t/**\n\t * Defines the logo of the `ui5-shellbar`.\n\t * For example, you can use `ui5-avatar` or `img` elements as logo.\n\t * @since 1.0.0-rc.8\n\t * @public\n\t */\n\t@slot()\n\tlogo!: Slot<HTMLElement>;\n\n\t/**\n\t * Defines the items displayed in menu after a click on a start button.\n\t *\n\t * **Note:** You can use the `<ui5-li></ui5-li>` and its ancestors.\n\t * @since 0.10\n\t * @public\n\t */\n\t@slot()\n\tmenuItems!: Slot<ListItemBase>;\n\n\t/**\n\t * Defines the `ui5-input`, that will be used as a search field.\n\t * @public\n\t */\n\t@slot({\n\t\ttype: HTMLElement,\n\t\tinvalidateOnChildChange: true,\n\t})\n\tsearchField!: Slot<IShellBarSearchField>;\n\n\t/**\n\t * Defines a `ui5-button` in the bar that will be placed in the beginning.\n\t * We encourage this slot to be used for a menu button.\n\t * It gets overstyled to match ShellBar's styling.\n\t * @public\n\t */\n\t@slot()\n\tstartButton!: Slot<IButton>;\n\n\t/**\n\t * The container is positioned in the center of the `ui5-shellbar` and occupies one-third of the total length of the `ui5-shellbar`.\n\t *\n\t * **Note:** If set, the `searchField` slot is not rendered.\n\t * @private\n\t */\n\t@slot()\n\tmidContent!: Slot<HTMLElement>;\n\n\t/**\n\t * Define the items displayed in the content area.\n\t *\n\t * Use the `data-hide-order` attribute with numeric value to specify the order of the items to be hidden when the space is not enough.\n\t * Lower values will be hidden first.\n\t *\n\t * **Note:** The `content` slot is in an experimental state and is a subject to change.\n\t *\n\t * @public\n\t * @since 2.7.0\n\t */\n\t@slot({ type: HTMLElement, individualSlots: true })\n\tcontent!: Slot<HTMLElement>;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\toverflowPopover?: Popover | null;\n\tmenuPopover?: Popover | null;\n\t_isInitialRendering: boolean;\n\t_defaultItemPressPrevented: boolean;\n\tcontentItemsObserver: MutationObserver;\n\t_hiddenIcons: Array<IShelBarItemInfo>;\n\t_handleResize: ResizeObserverCallback;\n\t_overflowNotifications: string | null;\n\t_lastOffsetWidth = 0;\n\t_observableContent: Array<HTMLElement> = [];\n\t_autoRestoreSearchField = false;\n\n\t_onSearchOpenBound = this._onSearchOpen.bind(this);\n\t_onSearchCloseBound = this._onSearchClose.bind(this);\n\t_onSearchBound = this._onSearch.bind(this);\n\n\t_headerPress: () => void;\n\n\tstatic get FIORI_3_BREAKPOINTS() {\n\t\treturn [\n\t\t\t599,\n\t\t\t1023,\n\t\t\t1439,\n\t\t\t1919,\n\t\t\t10000,\n\t\t];\n\t}\n\n\tstatic get FIORI_3_BREAKPOINTS_MAP(): Record<string, string> {\n\t\treturn {\n\t\t\t\"599\": \"S\",\n\t\t\t\"1023\": \"M\",\n\t\t\t\"1439\": \"L\",\n\t\t\t\"1919\": \"XL\",\n\t\t\t\"10000\": \"XXL\",\n\t\t};\n\t}\n\n\tconstructor() {\n\t\tsuper();\n\n\t\tthis._hiddenIcons = [];\n\t\tthis._isInitialRendering = true;\n\t\tthis._overflowNotifications = null;\n\n\t\t// marks if preventDefault() is called in item's press handler\n\t\tthis._defaultItemPressPrevented = false;\n\n\t\tthis.contentItemsObserver = new MutationObserver(() => {\n\t\t\tthis._handleActionsOverflow();\n\t\t});\n\n\t\tthis._headerPress = () => {\n\t\t\tif (this.hasMenuItems) {\n\t\t\t\tconst menuPopover = this._getMenuPopover();\n\t\t\t\tmenuPopover.opener = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-menu-button\")!;\n\t\t\t\tmenuPopover.open = true;\n\t\t\t}\n\t\t};\n\n\t\tthis._handleResize = throttle(() => {\n\t\t\tthis.menuPopover = this._getMenuPopover();\n\t\t\tthis.overflowPopover = this._getOverflowPopover();\n\t\t\tthis.overflowPopover.open = false;\n\t\t\tif (this._lastOffsetWidth !== this.offsetWidth) {\n\t\t\t\tthis._overflowActions();\n\t\t\t\tif (this.autoSearchField) {\n\t\t\t\t\tthis._updateSearchFieldState();\n\t\t\t\t}\n\t\t\t}\n\t\t}, RESIZE_THROTTLE_RATE);\n\t}\n\n\t_onSearchOpen(e: Event) {\n\t\tif (e.target !== this.search) {\n\t\t\tthis._detachSearchFieldListeners(e.target as HTMLElement);\n\t\t\treturn;\n\t\t}\n\t\tif (isPhone()) {\n\t\t\tthis.setSearchState(true);\n\t\t}\n\t}\n\n\t_onSearchClose(e: Event) {\n\t\tif (e.target !== this.search) {\n\t\t\tthis._detachSearchFieldListeners(e.target as HTMLElement);\n\t\t\treturn;\n\t\t}\n\t\tif (isPhone()) {\n\t\t\tthis.setSearchState(false);\n\t\t}\n\t}\n\n\t_onSearch(e: Event) {\n\t\tif (e.target !== this.search) {\n\t\t\tthis._detachSearchFieldListeners(e.target as HTMLElement);\n\t\t\treturn;\n\t\t}\n\n\t\t// Decide when to toggle the search field:\n\t\t// - On mobile, the search opens on its own (we don’t interfere).\n\t\t// - If there’s already a value, onSearch is responsible for triggering the search (we don’t interfere)\n\t\t// - If the field is closed, we must open it regardless.\n\t\tif (isPhone() || (this.search?.value && this.showSearchField)) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.setSearchState(!this.showSearchField);\n\t}\n\n\t_updateSearchFieldState() {\n\t\tconst spacerWidth = this.shadowRoot!.querySelector(\".ui5-shellbar-spacer\") ? this.shadowRoot!.querySelector(\".ui5-shellbar-spacer\")!.getBoundingClientRect().width : 0;\n\t\tconst searchFieldWidth = this.domCalculatedValues(\"--_ui5_shellbar_search_field_width\");\n\t\tif (this.showFullWidthSearch) {\n\t\t\tthis.setSearchState(true);\n\t\t\treturn;\n\t\t}\n\t\tif ((spacerWidth <= searchFieldWidth && this.contentItemsHidden.length !== 0) && this.showSearchField) {\n\t\t\tthis.setSearchState(false);\n\t\t\tthis._autoRestoreSearchField = true;\n\t\t} else if (spacerWidth > searchFieldWidth && this._autoRestoreSearchField) {\n\t\t\tthis.setSearchState(true);\n\t\t\tthis._autoRestoreSearchField = false;\n\t\t}\n\t}\n\n\t_onKeyDown(e: KeyboardEvent) {\n\t\tif (!isLeft(e) && !isRight(e) && !isHome(e) && !isEnd(e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst domRef = this.getDomRef();\n\t\tif (!domRef) {\n\t\t\t// If the component is not rendered yet, we should not handle the keydown event\n\t\t\treturn;\n\t\t}\n\n\t\tconst activeElement = getActiveElement();\n\t\tif (!activeElement) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Check if the active elements should \"steal\" the navigation\n\t\tif (this._allowChildNavigation(activeElement as HTMLElement, e)) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst items = getTabbableElements(domRef).filter(el => this._isVisible(el));\n\t\tconst currentIndex = items.findIndex(el => el === activeElement);\n\n\t\t// Only handle arrow navigation if the focus is on a ShellBar item\n\t\tif (currentIndex !== -1) {\n\t\t\te.preventDefault();\n\n\t\t\t// Focus navigation based on the key pressed\n\t\t\tif (isLeft(e)) {\n\t\t\t\tthis._focusPreviousItem(items, currentIndex);\n\t\t\t} else if (isRight(e)) {\n\t\t\t\tthis._focusNextItem(items, currentIndex);\n\t\t\t} else if (isHome(e)) {\n\t\t\t\t// Move focus to the first ShellBar item\n\t\t\t\titems[0]?.focus();\n\t\t\t} else if (isEnd(e)) {\n\t\t\t\t// Move focus to the last ShellBar item\n\t\t\t\titems[items.length - 1]?.focus();\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate _allowChildNavigation(activeElement: HTMLElement, e: KeyboardEvent): boolean {\n\t\tif (activeElement.tagName === \"INPUT\" || activeElement.tagName === \"TEXTAREA\") {\n\t\t\treturn this._allowInputNavigation(activeElement as HTMLInputElement | HTMLTextAreaElement, e);\n\t\t}\n\n\t\treturn false; // Default to false for other elements\n\t}\n\n\tprivate _allowInputNavigation(inputElement: HTMLInputElement | HTMLTextAreaElement, e: KeyboardEvent): boolean {\n\t\tconst cursorPosition = inputElement.selectionStart || 0;\n\t\tconst textLength = inputElement.value.length;\n\n\t\t// Allow internal navigation if cursor is not at the boundaries\n\t\tif ((isLeft(e) && cursorPosition > 0)\n\t\t|| (isRight(e) && cursorPosition < textLength)) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Let ShellBar handle navigation if at boundaries\n\t\treturn false;\n\t}\n\n\t_focusNextItem(items: HTMLElement[], currentIndex: number) {\n\t\tif (currentIndex < items.length - 1) {\n\t\t\t(items[currentIndex + 1]).focus(); // Focus the next element\n\t\t}\n\t}\n\n\t_focusPreviousItem(items: HTMLElement[], currentIndex: number) {\n\t\tif (currentIndex > 0) {\n\t\t\t(items[currentIndex - 1]).focus(); // Focus the previous element\n\t\t}\n\t}\n\n\t_isVisible(element: HTMLElement): boolean {\n\t\tconst style = getComputedStyle(element);\n\n\t\treturn style.display !== \"none\" && style.visibility !== \"hidden\" && element.offsetWidth > 0 && element.offsetHeight > 0;\n\t}\n\n\t_getRightChildItems() {\n\t\treturn [\n\t\t\t...this.searchField,\n\t\t\t...this.shadowRoot!.querySelectorAll(\".ui5-shellbar-search-item-for-arrow-nav\"),\n\t\t\t...this.assistant,\n\t\t\t...this.shadowRoot!.querySelectorAll(\".ui5-shellbar-items-for-arrow-nav\"),\n\t\t] as HTMLElement[];\n\t}\n\n\t_menuItemPress(e: CustomEvent<ListItemClickEventDetail>) {\n\t\tconst shouldContinue = this.fireDecoratorEvent(\"menu-item-click\", {\n\t\t\titem: e.detail.item,\n\t\t});\n\t\tif (shouldContinue) {\n\t\t\tthis.menuPopover!.open = false;\n\t\t}\n\t}\n\n\t_logoPress() {\n\t\tthis.fireDecoratorEvent(\"logo-click\", {\n\t\t\ttargetRef: this.shadowRoot!.querySelector<HTMLElement>(\".ui5-shellbar-logo\")!,\n\t\t});\n\t}\n\n\t_menuPopoverBeforeOpen() {\n\t\tthis._menuPopoverExpanded = true;\n\t\tif (this.menuPopover!.content && this.menuPopover!.content.length) {\n\t\t\t(<List> this.menuPopover!.content[0]).focusFirstItem();\n\t\t}\n\t}\n\n\t_menuPopoverAfterClose() {\n\t\tthis._menuPopoverExpanded = false;\n\t}\n\n\t_overflowPopoverBeforeOpen() {\n\t\tthis._overflowPopoverExpanded = true;\n\t\tif (this.overflowPopover!.content && this.overflowPopover!.content.length) {\n\t\t\t(<List> this.overflowPopover!.content[0]).focusFirstItem();\n\t\t}\n\t}\n\n\t_overflowPopoverAfterClose() {\n\t\tthis._overflowPopoverExpanded = false;\n\t}\n\n\t_logoKeyup(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\tthis._logoPress();\n\t\t}\n\t}\n\n\t_logoKeydown(e: KeyboardEvent) {\n\t\tif (isSpace(e)) {\n\t\t\te.preventDefault();\n\t\t\treturn;\n\t\t}\n\n\t\tif (isEnter(e)) {\n\t\t\tthis._logoPress();\n\t\t}\n\t}\n\n\t_calculateCSSREMValue(styleSet: CSSStyleDeclaration, propertyName: string): number {\n\t\treturn Number(styleSet.getPropertyValue(propertyName).replace(\"rem\", \"\")) * parseInt(getComputedStyle(document.body).getPropertyValue(\"font-size\"));\n\t}\n\n\tdomCalculatedValues(cssVar: string): number {\n\t\tconst shellbarComputerStyle = getComputedStyle(this.getDomRef()!);\n\t\treturn this._calculateCSSREMValue(shellbarComputerStyle, cssVar); // px\n\t}\n\n\tonBeforeRendering() {\n\t\tthis.withLogo = this.hasLogo;\n\n\t\tthis._hiddenIcons = this._itemsInfo.filter(info => {\n\t\t\tconst isHidden = (info.classes.indexOf(\"ui5-shellbar-hidden-button\") !== -1);\n\t\t\tconst isSet = info.classes.indexOf(\"ui5-shellbar-invisible-button\") === -1;\n\t\t\tconst isOverflowIcon = info.classes.indexOf(\"ui5-shellbar-overflow-button\") !== -1;\n\t\t\tconst isImageIcon = info.classes.indexOf(\"ui5-shellbar-image-button\") !== -1;\n\t\t\tconst shouldStayOnScreen = isOverflowIcon || (isImageIcon && this.hasProfile);\n\n\t\t\treturn isHidden && isSet && !shouldStayOnScreen;\n\t\t});\n\n\t\tthis._observeContentItems();\n\n\t\t// search field shouldn't be expanded initially in full width mode\n\t\tif (this.showFullWidthSearch && this._isInitialRendering) {\n\t\t\tthis.setSearchState(false);\n\t\t\tthis._autoRestoreSearchField = true;\n\t\t}\n\n\t\tif (isSelfCollapsibleSearch(this.search)) {\n\t\t\tif (isPhone()) {\n\t\t\t\tthis.search.open = this.showSearchField;\n\t\t\t} else {\n\t\t\t\tthis.search.collapsed = !this.showSearchField;\n\t\t\t}\n\n\t\t\tthis._detachSearchFieldListeners(this.search);\n\t\t\tthis._attachSearchFieldListeners(this.search);\n\t\t}\n\t}\n\n\t/**\n\t * Use this method to change the state of the search filed according to internal logic.\n\t * An event is fired to notify the change.\n\t */\n\tasync setSearchState(expanded: boolean) {\n\t\tif (expanded === this.showSearchField) {\n\t\t\treturn;\n\t\t}\n\t\tthis.showSearchField = expanded;\n\t\tawait renderFinished();\n\t\tthis.fireDecoratorEvent(\"search-field-toggle\", { expanded });\n\t}\n\n\tonAfterRendering() {\n\t\tthis._lastOffsetWidth = this.offsetWidth;\n\t\tthis._overflowActions();\n\t\tthis.onInitialRendering();\n\t}\n\n\tasync onInitialRendering() {\n\t\tif (this._isInitialRendering) {\n\t\t\tawait renderFinished();\n\t\t\tif (this.autoSearchField) {\n\t\t\t\tthis._updateSearchFieldState();\n\t\t\t}\n\t\t}\n\t\tthis._isInitialRendering = false;\n\t}\n\n\t/**\n\t * Closes the overflow area.\n\t * Useful to manually close the overflow after having suppressed automatic closing with preventDefault() of ShellbarItem's press event\n\t * @public\n\t */\n\tcloseOverflow(): void {\n\t\tif (this.overflowPopover) {\n\t\t\tthis.overflowPopover.open = false;\n\t\t}\n\t}\n\n\t_handleBarBreakpoints() {\n\t\tconst width = this.getBoundingClientRect().width;\n\t\tconst breakpoints = ShellBar.FIORI_3_BREAKPOINTS;\n\n\t\tconst size = breakpoints.find(bp1 => width <= bp1) || ShellBar.FIORI_3_BREAKPOINTS[ShellBar.FIORI_3_BREAKPOINTS.length - 1];\n\t\tconst mappedSize = ShellBar.FIORI_3_BREAKPOINTS_MAP[size];\n\n\t\tif (this.breakpointSize !== mappedSize) {\n\t\t\tthis.breakpointSize = mappedSize;\n\t\t}\n\n\t\tthis.branding.forEach(brandingEl => {\n\t\t\tbrandingEl._isSBreakPoint = this.isSBreakPoint;\n\t\t});\n\t}\n\n\t_hideItems(items: IShellBarHidableItem[]) {\n\t\titems.forEach(item => {\n\t\t\tif (item.classes.indexOf(\"ui5-shellbar-no-overflow-button\") === -1) {\n\t\t\t\titem.classes = `${item.classes} ui5-shellbar-hidden-button`;\n\t\t\t}\n\t\t});\n\t\treturn items;\n\t}\n\n\t_resetItemsVisibility(items: Array<HTMLElement>) {\n\t\titems.forEach(item => {\n\t\t\titem.classList.remove(\"ui5-shellbar-hidden-button\");\n\t\t});\n\t}\n\n\t_handleActionsOverflow() {\n\t\tconst inner = this.overflowInner;\n\t\tconst wrapper = this.overflowWrapper;\n\t\tconst hidableDomElements = this.hidableDomElements;\n\t\tconst hiddenItems: string[] = [];\n\t\tlet lastHiddenIndex = 0;\n\n\t\tthis._resetItemsVisibility(hidableDomElements);\n\n\t\tfor (let i = 0; i < hidableDomElements.length; i++) {\n\t\t\tif (inner?.offsetWidth === wrapper?.offsetWidth) {\n\t\t\t\tlastHiddenIndex = i;\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst item = hidableDomElements[i];\n\t\t\thiddenItems.push(item.id);\n\t\t\titem.classList.add(\"ui5-shellbar-hidden-button\");\n\t\t}\n\n\t\tif (hiddenItems.length === 1 && !this.showSearchField) {\n\t\t\tconst nextItemToHide = hidableDomElements[++lastHiddenIndex];\n\t\t\tif (nextItemToHide) {\n\t\t\t\thiddenItems.push(nextItemToHide.id);\n\t\t\t}\n\t\t}\n\n\t\tconst itemsInfo = this._getItemsInfo().filter(item => item.show && item.classes.indexOf(\"ui5-shellbar-no-overflow-button\") === -1);\n\t\tconst contentInfo = this._getContentInfo().sort((a, b) => a.hideOrder - b.hideOrder);\n\t\tconst itemsToHide = [...itemsInfo, ...contentInfo].filter(item => hiddenItems.includes(item.id));\n\n\t\tthis._hideItems(itemsToHide);\n\n\t\treturn { itemsInfo, contentInfo };\n\t}\n\n\t_overflowActions() {\n\t\tthis._handleBarBreakpoints();\n\n\t\tconst { itemsInfo, contentInfo } = this._handleActionsOverflow();\n\t\tthis._updateItemsInfo(itemsInfo);\n\t\tthis._updateContentInfo(contentInfo);\n\t\tthis._updateOverflowNotifications();\n\t\tthis.showFullWidthSearch = this.overflowed && this.showSearchField;\n\t}\n\n\t_toggleActionPopover() {\n\t\tconst overflowButton = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-overflow-button\")!;\n\t\tconst overflowPopover = this._getOverflowPopover();\n\t\toverflowPopover.opener = overflowButton;\n\t\toverflowPopover.open = true;\n\t}\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this._handleResize);\n\n\t\tif (isDesktop()) {\n\t\t\tthis.setAttribute(\"desktop\", \"\");\n\t\t}\n\t\tthis._attachSearchFieldListeners(this.search);\n\t}\n\n\tonExitDOM() {\n\t\tthis.contentItemsObserver.disconnect();\n\t\tthis._observableContent = [];\n\t\tResizeHandler.deregister(this, this._handleResize);\n\t\tthis._detachSearchFieldListeners(this.search);\n\t}\n\n\t_attachSearchFieldListeners(searchField: HTMLElement | null) {\n\t\tif (!searchField) {\n\t\t\treturn;\n\t\t}\n\t\tsearchField.addEventListener(\"ui5-open\", this._onSearchOpenBound);\n\t\tsearchField.addEventListener(\"ui5-close\", this._onSearchCloseBound);\n\t\tsearchField.addEventListener(\"ui5-search\", this._onSearchBound);\n\t}\n\n\t_detachSearchFieldListeners(searchField: HTMLElement | null) {\n\t\tif (!searchField) {\n\t\t\treturn;\n\t\t}\n\t\tsearchField.removeEventListener(\"ui5-open\", this._onSearchOpenBound);\n\t\tsearchField.removeEventListener(\"ui5-close\", this._onSearchCloseBound);\n\t\tsearchField.removeEventListener(\"ui5-search\", this._onSearchBound);\n\t}\n\n\t_handleSearchIconPress() {\n\t\tconst searchButtonRef = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-search-button\")!;\n\t\tconst defaultPrevented = !this.fireDecoratorEvent(\"search-button-click\", {\n\t\t\ttargetRef: searchButtonRef,\n\t\t\tsearchFieldVisible: this.showSearchField,\n\t\t});\n\t\tif (defaultPrevented) {\n\t\t\treturn;\n\t\t}\n\t\tthis.setSearchState(!this.showSearchField);\n\n\t\tif (!this.showSearchField) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst input = this.searchField[0];\n\n\t\t// update the state immediately\n\t\tif (input) {\n\t\t\tinput.focused = true;\n\t\t}\n\n\t\t// move the focus later\n\t\tsetTimeout(() => {\n\t\t\tif (input) {\n\t\t\t\tinput.focus();\n\t\t\t}\n\t\t}, 100);\n\t}\n\n\tasync _handleActionListClick() {\n\t\tif (!this._defaultItemPressPrevented) {\n\t\t\tthis.closeOverflow();\n\t\t\t// wait for DOM to be updated when ui5-popover is closed, otherwise if Enter key is hold\n\t\t\t// there will be no visual indication that this has happened\n\t\t\tawait renderFinished();\n\t\t}\n\n\t\tthis._defaultItemPressPrevented = false;\n\t}\n\n\t_handleCustomActionPress(e: UI5CustomEvent<Button, \"click\">) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst refItemId = target.getAttribute(\"data-ui5-external-action-item-id\");\n\n\t\tif (refItemId) {\n\t\t\tconst shellbarItem = this.items.find(item => {\n\t\t\t\treturn item._id === refItemId;\n\t\t\t});\n\n\t\t\tconst prevented = shellbarItem!.fireClickEvent(e);\n\n\t\t\tthis._defaultItemPressPrevented = prevented;\n\t\t}\n\t}\n\n\t_handleOverflowPress() {\n\t\tthis._toggleActionPopover();\n\t}\n\n\t_handleNotificationsPress(e: UI5CustomEvent<Button, \"click\">) {\n\t\tconst notificationIconRef = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-bell-button\")!,\n\t\t\ttarget = e.target as HTMLElement;\n\n\t\tthis._defaultItemPressPrevented = !this.fireDecoratorEvent(\"notifications-click\", {\n\t\t\ttargetRef: notificationIconRef.classList.contains(\"ui5-shellbar-hidden-button\") ? target : notificationIconRef,\n\t\t});\n\t}\n\n\t_handleProfilePress() {\n\t\tthis.fireDecoratorEvent(\"profile-click\", {\n\t\t\ttargetRef: this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-image-button\")!,\n\t\t});\n\t}\n\n\t_handleCancelButtonPress() {\n\t\tconst cancelButtonRef = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-cancel-button\")!;\n\t\tconst clearDefaultPrevented = !this.fireDecoratorEvent(\"search-field-clear\", {\n\t\t\ttargetRef: cancelButtonRef,\n\t\t});\n\n\t\tthis.showFullWidthSearch = false;\n\t\tthis.setSearchState(false);\n\n\t\tif (!clearDefaultPrevented) {\n\t\t\tthis._clearSearchFieldValue();\n\t\t}\n\t}\n\n\t_handleProductSwitchPress(e: UI5CustomEvent<Button, \"click\">) {\n\t\tconst buttonRef = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-button-product-switch\")!,\n\t\t\ttarget = e.target as HTMLElement;\n\n\t\tthis._defaultItemPressPrevented = !this.fireDecoratorEvent(\"product-switch-click\", {\n\t\t\ttargetRef: buttonRef.classList.contains(\"ui5-shellbar-hidden-button\") ? target : buttonRef,\n\t\t});\n\t}\n\n\t_clearSearchFieldValue() {\n\t\tif (this.search) {\n\t\t\tthis.search.value = \"\";\n\t\t}\n\t}\n\n\t/**\n\t * Returns the `logo` DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget logoDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"logo\"]`);\n\t}\n\n\t/**\n\t * Returns the `notifications` icon DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget notificationsDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"notifications\"]`);\n\t}\n\n\t/**\n\t * Returns the `overflow` icon DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget overflowDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"overflow\"]`);\n\t}\n\n\t/**\n\t * Returns the `profile` icon DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget profileDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"profile\"]`);\n\t}\n\n\t/**\n\t * Returns the `product-switch` icon DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget productSwitchDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"product-switch\"]`);\n\t}\n\n\t/**\n\t * Returns the `search` icon DOM ref.\n\t * @returns The search icon DOM ref\n\t * @public\n\t * @since 2.10.0\n\t */\n\tasync getSearchButtonDomRef(): Promise<HTMLElement | null> {\n\t\tawait renderFinished();\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"toggle-search\"]`);\n\t}\n\n\t_getContentInfo(): Array<IShellBarContentItem> {\n\t\treturn [\n\t\t\t...this.contentItemsSorted.map(item => {\n\t\t\t\treturn {\n\t\t\t\t\thideOrder: parseInt(item.getAttribute(\"data-hide-order\") || \"0\"),\n\t\t\t\t\tid: item.slot,\n\t\t\t\t\tclasses: \"ui5-shellbar-content-item\",\n\t\t\t\t\tshow: false,\n\t\t\t\t};\n\t\t\t}),\n\t\t];\n\t}\n\n\t/**\n\t * Returns all items that will be placed in the right of the bar as icons / dom elements.\n\t */\n\t_getItemsInfo(): Array<IShelBarItemInfo> {\n\t\tconst items: Array<IShelBarItemInfo> = [\n\t\t\t{\n\t\t\t\ticon: search,\n\t\t\t\ttext: this._searchText,\n\t\t\t\tclasses: `${this.searchField.length ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-search-button ui5-shellbar-button`,\n\t\t\t\tid: `${this._id}-item-${1}`,\n\t\t\t\tpress: this._handleSearchIconPress.bind(this),\n\t\t\t\tshow: !!this.searchField.length,\n\t\t\t\ttooltip: this._searchText,\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: da,\n\t\t\t\ttext: \"Assistant\",\n\t\t\t\tclasses: `${this.assistant.length ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-assistant-button`,\n\t\t\t\tid: `${this._id}-assistant`,\n\t\t\t\tshow: !!this.assistant.length,\n\t\t\t\tpress: () => { },\n\t\t\t\ttooltip: this.assistant.length ? (this.assistant[0].getAttribute(\"text\") || this.assistant[0].getAttribute(\"title\") || undefined) : undefined,\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: bell,\n\t\t\t\ttitle: this._notificationsText,\n\t\t\t\ttext: ShellBar.i18nBundle.getText(SHELLBAR_NOTIFICATIONS_NO_COUNT),\n\t\t\t\tcount: this.notificationsCount,\n\t\t\t\tclasses: `${this.showNotifications ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-bell-button ui5-shellbar-button`,\n\t\t\t\tid: `${this._id}-item-${2}`,\n\t\t\t\tshow: this.showNotifications,\n\t\t\t\tpress: this._handleNotificationsPress.bind(this),\n\t\t\t\ttooltip: this._notificationsText,\n\t\t\t},\n\t\t\t// sort feedback and help to always be last\n\t\t\t...this.items.sort((a, b) => {\n\t\t\t\tconst aIndex = PREDEFINED_PLACE_ACTIONS.indexOf(a.icon || \"\");\n\t\t\t\tconst bIndex = PREDEFINED_PLACE_ACTIONS.indexOf(b.icon || \"\");\n\t\t\t\treturn aIndex - bIndex;\n\t\t\t}).map((item: ShellBarItem) => {\n\t\t\t\titem._getRealDomRef = () => this.shadowRoot!.querySelector(`*[data-ui5-stable=${item.stableDomRef}]`)!;\n\t\t\t\t// check if included for lean mode\n\t\t\t\tconst show = !!item.icon || false;\n\t\t\t\treturn {\n\t\t\t\t\ticon: item.icon,\n\t\t\t\t\tid: item._id,\n\t\t\t\t\tcount: item.count || undefined,\n\t\t\t\t\trefItemid: item._id,\n\t\t\t\t\ttext: item.text,\n\t\t\t\t\tclasses: \"ui5-shellbar-custom-item ui5-shellbar-button\",\n\t\t\t\t\tshow,\n\t\t\t\t\tpress: this._handleCustomActionPress.bind(this),\n\t\t\t\t\tcustom: true,\n\t\t\t\t\ttitle: item.title,\n\t\t\t\t\tstableDomRef: item.stableDomRef,\n\t\t\t\t\ttooltip: item.title || item.text,\n\t\t\t\t\taccessibilityAttributes: item.accessibilityAttributes,\n\t\t\t\t};\n\t\t\t}),\n\t\t\t{\n\t\t\t\ticon: overflow,\n\t\t\t\ttext: \"Overflow\",\n\t\t\t\tclasses: \"ui5-shellbar-hidden-button ui5-shellbar-no-overflow-button ui5-shellbar-overflow-button ui5-shellbar-button\",\n\t\t\t\tid: `${this.id}-item-${5}`,\n\t\t\t\tpress: this._handleOverflowPress.bind(this),\n\t\t\t\tshow: true,\n\t\t\t\ttooltip: this._overflowText,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: \"Person\",\n\t\t\t\tclasses: `${this.hasProfile ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-no-overflow-button ui5-shellbar-image-button ui5-shellbar-button`,\n\t\t\t\tprofile: true,\n\t\t\t\tid: `${this._id}-item-${3}`,\n\t\t\t\tshow: this.hasProfile,\n\t\t\t\tpress: this._handleProfilePress.bind(this),\n\t\t\t\ttooltip: this._profileText,\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: grid,\n\t\t\t\ttext: this._productsText,\n\t\t\t\tclasses: `${this.showProductSwitch ? \"\" : \"ui5-shellbar-invisible-button\"} ui5-shellbar-no-overflow-button ui5-shellbar-button ui5-shellbar-image-button ui5-shellbar-button-product-switch`,\n\t\t\t\tid: `${this._id}-item-${4}`,\n\t\t\t\tshow: this.showProductSwitch,\n\t\t\t\tpress: this._handleProductSwitchPress.bind(this),\n\t\t\t\ttooltip: this._productsText,\n\t\t\t},\n\t\t];\n\n\t\treturn items;\n\t}\n\n\t_updateItemsInfo(newItemsInfo: Array<IShelBarItemInfo>) {\n\t\tconst isDifferent = JSON.stringify(this._itemsInfo) !== JSON.stringify(newItemsInfo);\n\t\tif (isDifferent) {\n\t\t\tthis._itemsInfo = newItemsInfo;\n\t\t}\n\t}\n\n\t_updateContentInfo(newContentInfo: Array<IShellBarContentItem>) {\n\t\tconst isDifferent = JSON.stringify(this._contentInfo) !== JSON.stringify(newContentInfo);\n\t\tif (isDifferent) {\n\t\t\tthis._contentInfo = newContentInfo;\n\t\t\tthis._fireContentItemVisibilityChangeEvent();\n\t\t}\n\t}\n\n\t_fireContentItemVisibilityChangeEvent() {\n\t\tconst hiddenByClass = this._contentInfo\n\t\t\t.filter(item => item.classes.indexOf(\"ui5-shellbar-hidden-button\") !== -1)\n\t\t\t.map(item => item.id);\n\n\t\tthis.fireDecoratorEvent(\"content-item-visibility-change\", {\n\t\t\titems: this.contentItems.filter(item => hiddenByClass.includes(item.slot)),\n\t\t});\n\t}\n\n\t_updateOverflowNotifications() {\n\t\tconst notificationsArr: Array<string> = [];\n\t\tlet overflowNotifications = null;\n\n\t\tthis._itemsInfo.forEach(item => {\n\t\t\tif (item.count && item.classes.includes(\"ui5-shellbar-hidden-button\")) {\n\t\t\t\tnotificationsArr.push(item.count);\n\t\t\t}\n\t\t});\n\n\t\tif (notificationsArr.length === 1) {\n\t\t\toverflowNotifications = notificationsArr[0];\n\t\t} else if (notificationsArr.length > 1) {\n\t\t\toverflowNotifications = \" \";\n\t\t}\n\n\t\tthis._overflowNotifications = overflowNotifications;\n\t}\n\n\t_observeContentItems() {\n\t\tif (this.hasMatchingContent) {\n\t\t\treturn;\n\t\t}\n\n\t\tthis.contentItems.forEach(item => {\n\t\t\tif (!this._observableContent.includes(item)) {\n\t\t\t\tthis.contentItemsObserver.observe(item, {\n\t\t\t\t\tcharacterData: false,\n\t\t\t\t\tchildList: false,\n\t\t\t\t\tsubtree: false,\n\t\t\t\t\tattributes: true,\n\t\t\t\t\tattributeFilter: [\"data-hide-order\"],\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t\tthis._observableContent = this.contentItems;\n\t}\n\n\t_getOverflowPopover() {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\".ui5-shellbar-overflow-popover\")!;\n\t}\n\n\t_getMenuPopover() {\n\t\treturn this.shadowRoot!.querySelector<Popover>(\".ui5-shellbar-menu-popover\")!;\n\t}\n\n\tisIconHidden(name: string) {\n\t\tconst itemInfo = this._itemsInfo.find(item => item.icon === name);\n\n\t\tif (!itemInfo) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn itemInfo.classes.indexOf(\"ui5-shellbar-hidden-button\") !== -1;\n\t}\n\n\tget hasMatchingContent() {\n\t\tif (this._observableContent.length !== this.contentItems.length) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst observableContentSet = new WeakSet(this._observableContent);\n\t\treturn this.contentItems.every(item => observableContentSet.has(item));\n\t}\n\n\tget contentItemsSorted() {\n\t\treturn this.contentItems.toReversed().sort((a, b) => {\n\t\t\treturn parseInt(a.getAttribute(\"data-hide-order\") || \"0\") - parseInt(b.getAttribute(\"data-hide-order\") || \"0\");\n\t\t});\n\t}\n\n\tget contentItemsWrappersSorted() {\n\t\treturn this.contentItemsSorted.map(item => this.shadowRoot!.querySelector<HTMLElement>(`#${item.slot}`)).filter(item => item !== null);\n\t}\n\n\tget autoSearchField() {\n\t\tconst onFocus = document.activeElement === this.searchField[0];\n\t\tconst hasValue = this.searchField[0]?.value?.length > 0;\n\t\tconst disableSearchCollapse = this.disableSearchCollapse || onFocus || hasValue;\n\t\tif (disableSearchCollapse) {\n\t\t\treturn false;\n\t\t}\n\t\treturn this.showSearchField || this._autoRestoreSearchField;\n\t}\n\n\tget startContentInfoSorted() {\n\t\treturn this._contentInfo\n\t\t\t.filter(item => this.startContent.find(contentItem => contentItem.slot === item.id))\n\t\t\t.sort((a, b) => a.hideOrder - b.hideOrder);\n\t}\n\n\tget endContentInfoSorted() {\n\t\treturn this._contentInfo\n\t\t\t.filter(item => this.endContent.find(contentItem => contentItem.slot === item.id))\n\t\t\t.sort((a, b) => a.hideOrder - b.hideOrder);\n\t}\n\n\tget showStartSeparator(): boolean {\n\t\treturn this.startContentInfoSorted.some(item => !item.classes.includes(\"ui5-shellbar-hidden-button\"));\n\t}\n\n\tget showEndSeparator(): boolean {\n\t\treturn this.endContentInfoSorted.some(item => !item.classes.includes(\"ui5-shellbar-hidden-button\"));\n\t}\n\n\tshouldIncludeSeparator(itemInfo: IShellBarContentItem | undefined, contentInfo: IShellBarContentItem[]) {\n\t\t// once the last item from the start/end content was hidden, the\n\t\t// separator is \"packed\" with it in order to account for any next measurements\n\t\tif (!itemInfo) {\n\t\t\treturn false;\n\t\t}\n\t\tconst lastVisibleItem = contentInfo.at(-1);\n\t\treturn lastVisibleItem?.id === itemInfo.id && itemInfo.classes.indexOf(\"ui5-shellbar-hidden-button\") > -1;\n\t}\n\n\tget classes(): ClassMap {\n\t\treturn {\n\t\t\twrapper: {\n\t\t\t\t\"ui5-shellbar-root\": true,\n\t\t\t\t\"ui5-shellbar-with-searchfield\": this.hasSearchField,\n\t\t\t},\n\t\t\tbutton: {\n\t\t\t\t\"ui5-shellbar-menu-button--interactive\": this.hasMenuItems,\n\t\t\t},\n\t\t\tnotification: {\n\t\t\t\t\"ui5-shellbar-hidden-button\": this.isIconHidden(\"bell\"),\n\t\t\t},\n\t\t\tsearch: {\n\t\t\t\t\"ui5-shellbar-hidden-button\": this.isIconHidden(\"search\"),\n\t\t\t\t\"ui5-shellbar-search-toggle\": true,\n\t\t\t},\n\t\t\toverflow: {\n\t\t\t\t\"ui5-shellbar-hidden-button\": this._hiddenIcons.length === 0,\n\t\t\t},\n\t\t\tassistant: {\n\t\t\t\t\"ui5-shellbar-hidden-button\": this.isIconHidden(\"assistant\"),\n\t\t\t\t\"ui5-shellbar-assistant-button\": true,\n\t\t\t},\n\t\t\tsearchField: {\n\t\t\t\t\"ui5-shellbar-search-field\": this.showSearchField,\n\t\t\t\t\"ui5-shellbar-search-toggle\": isSelfCollapsibleSearch(this.search),\n\t\t\t\t\"ui5-shellbar-hidden-button\": !this.showSearchField,\n\t\t\t},\n\t\t};\n\t}\n\n\tget styles() {\n\t\tconst styles = {\n\t\t\t\"display\": this.showSearchField ? \"flex\" : \"none\",\n\t\t};\n\t\treturn {\n\t\t\tsearchField: isSelfCollapsibleSearch(this.search) ? {} : styles,\n\t\t};\n\t}\n\n\tget customItemsInfo() {\n\t\treturn this._itemsInfo.filter(itemInfo => !!itemInfo.custom);\n\t}\n\n\tget hasLogo() {\n\t\treturn !!this.logo.length;\n\t}\n\n\tget showLogoInMenuButton() {\n\t\treturn this.hasLogo && (this.breakpointSize === \"S\");\n\t}\n\n\tget showTitleInMenuButton() {\n\t\treturn this.primaryTitle && !(this.showLogoInMenuButton);\n\t}\n\n\tget showMenuButton() {\n\t\treturn this.primaryTitle || this.showLogoInMenuButton;\n\t}\n\n\tget hasAssistant() {\n\t\treturn !!this.assistant.length;\n\t}\n\n\tget hasBranding() {\n\t\treturn !!this.branding.length;\n\t}\n\n\tget hasSearchField() {\n\t\treturn !!this.searchField.length;\n\t}\n\n\tget hasMidContent() {\n\t\treturn !!this.midContent.length;\n\t}\n\n\tget hasProfile() {\n\t\treturn !!this.profile.length;\n\t}\n\n\tget hasMenuItems() {\n\t\treturn this.menuItems.length > 0;\n\t}\n\n\tget imageBtnText() {\n\t\treturn getEffectiveAriaLabelText(this) || ShellBar.i18nBundle.getText(SHELLBAR_IMAGE_BTN);\n\t}\n\n\tget _shellbarText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_LABEL);\n\t}\n\n\tget _logoText() {\n\t\treturn this.accessibilityAttributes.logo?.name || ShellBar.i18nBundle.getText(SHELLBAR_LOGO);\n\t}\n\n\tget _notificationsText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_NOTIFICATIONS, this.notificationsCount || 0);\n\t}\n\n\tget _cancelBtnText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_CANCEL);\n\t}\n\n\tget _logoAreaText() {\n\t\tconst primaryTitle = this.primaryTitle ?? \"\";\n\t\tconst secondaryTitle = this.secondaryTitle ?? \"\";\n\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_LOGO_AREA, primaryTitle, secondaryTitle);\n\t}\n\n\tget _contentItemsText() {\n\t\treturn this._enableContentAreaAccessibility ? ShellBar.i18nBundle.getText(SHELLBAR_ADDITIONAL_CONTEXT) : undefined;\n\t}\n\n\tget _searchFieldDescription() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_SEARCHFIELD_DESCRIPTION);\n\t}\n\n\tget _contentItemsRole() {\n\t\tif (this._enableContentAreaAccessibility) {\n\t\t\treturn \"group\";\n\t\t}\n\t}\n\n\tget _enableContentAreaAccessibility() {\n\t\treturn this.contentItems.length > 1;\n\t}\n\n\tget contentItems() {\n\t\treturn [...this.startContent, ...this.endContent];\n\t}\n\n\tget startContent() {\n\t\t// all items before the first spacer\n\t\tconst spacerIndex = this.content.findIndex(child => child.hasAttribute(\"ui5-shellbar-spacer\"));\n\t\tif (spacerIndex === -1) {\n\t\t\treturn this.content;\n\t\t}\n\t\treturn this.content.slice(0, spacerIndex);\n\t}\n\n\tget endContent() {\n\t\t// all items after the first spacer\n\t\tconst spacerIndex = this.content.findIndex(child => child.hasAttribute(\"ui5-shellbar-spacer\"));\n\t\tif (spacerIndex === -1) {\n\t\t\treturn [];\n\t\t}\n\t\treturn this.content.slice(spacerIndex + 1);\n\t}\n\n\tget _rightChildRole() {\n\t\tconst items = this._getRightChildItems();\n\t\tconst visibleItems = items.filter(item => {\n\t\t\treturn this._isVisible(item);\n\t\t});\n\n\t\tif (visibleItems.length === 1) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn \"toolbar\";\n\t}\n\n\tget _searchFieldText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_SEARCH_FIELD);\n\t}\n\n\tget _searchBtnOpen() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_SEARCH_BTN_OPEN);\n\t}\n\n\tget _productSwitchBtnText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_PRODUCT_SWITCH_BTN);\n\t}\n\n\tget _profileText() {\n\t\treturn this.accessibilityAttributes.profile?.name as string || ShellBar.i18nBundle.getText(SHELLBAR_PROFILE);\n\t}\n\n\tget _productsText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_PRODUCTS);\n\t}\n\n\tget _searchText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_SEARCH);\n\t}\n\n\tget _overflowText() {\n\t\treturn ShellBar.i18nBundle.getText(SHELLBAR_OVERFLOW);\n\t}\n\n\tget _brandingText() {\n\t\treturn this.accessibilityAttributes.branding?.name || this.primaryTitle;\n\t}\n\n\tget hasContentItems() {\n\t\treturn this.contentItems.length > 0;\n\t}\n\n\tget hidableDomElements(): HTMLElement[] {\n\t\tconst items = Array.from(this.shadowRoot!.querySelectorAll<HTMLElement>(\".ui5-shellbar-button:not(.ui5-shellbar-search-button):not(.ui5-shellbar-overflow-button):not(.ui5-shellbar-cancel-button):not(.ui5-shellbar-no-overflow-button)\"));\n\t\tconst assistant = this.shadowRoot!.querySelector<HTMLElement>(\".ui5-shellbar-assistant-button\");\n\t\tconst searchToggle = this.shadowRoot!.querySelector<HTMLElement>(\".ui5-shellbar-search-toggle\");\n\t\tconst contentItems = this.contentItemsWrappersSorted;\n\t\tconst firstContentItem = contentItems.pop();\n\t\tconst prioritizeContent = this.showSearchField && this.hasSearchField;\n\n\t\t// order here is important for the responsive behavior, the items will be\n\t\t// measured and hidden in the order they are returned until no overlap is detected\n\t\tlet itemsToHide = [];\n\n\t\tif (prioritizeContent) {\n\t\t\t// search field was toggled, the content items should make space for it\n\t\t\tconst overflowItems = [...items, assistant];\n\t\t\tconst visibleItems = overflowItems.filter(item => item && !item.classList.contains(\"ui5-shellbar-hidden-button\"));\n\t\t\tconst hiddenItems = overflowItems.filter(item => item && item.classList.contains(\"ui5-shellbar-hidden-button\"));\n\t\t\titemsToHide = [\n\t\t\t\t...hiddenItems,\n\t\t\t\t...contentItems,\n\t\t\t\tfirstContentItem,\n\t\t\t\t...visibleItems,\n\t\t\t];\n\t\t} else {\n\t\t\t// search field is close, actions should go to the overflow first\n\t\t\titemsToHide = [\n\t\t\t\t...items.toReversed(),\n\t\t\t\tassistant,\n\t\t\t\t...contentItems,\n\t\t\t\tsearchToggle,\n\t\t\t\tfirstContentItem,\n\t\t\t];\n\t\t}\n\t\treturn itemsToHide.filter(Boolean) as HTMLElement[];\n\t}\n\n\tget contentItemsHidden() {\n\t\treturn this.contentItemsWrappersSorted.filter(item => item.classList.contains(\"ui5-shellbar-hidden-button\"));\n\t}\n\n\tget overflowWrapper(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-shellbar-overflow-container-right\");\n\t}\n\n\tget overflowInner(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector(\".ui5-shellbar-overflow-container-right-inner\");\n\t}\n\n\tget overflowed() {\n\t\tconst wrapper = this.overflowWrapper;\n\t\tconst inner = this.overflowInner;\n\t\tif (!wrapper || !inner) {\n\t\t\treturn false;\n\t\t}\n\t\treturn inner.offsetWidth > wrapper.offsetWidth;\n\t}\n\n\tget accInfo() {\n\t\tconst overflowExpanded = this.accessibilityAttributes.overflow?.expanded;\n\n\t\treturn {\n\t\t\tnotifications: {\n\t\t\t\t\"title\": this._notificationsText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\texpanded: this.accessibilityAttributes.notifications?.expanded,\n\t\t\t\t\thasPopup: this.accessibilityAttributes.notifications?.hasPopup,\n\t\t\t\t},\n\t\t\t},\n\t\t\tprofile: {\n\t\t\t\t\"title\": this._profileText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this.accessibilityAttributes.profile?.hasPopup,\n\t\t\t\t\texpanded: this.accessibilityAttributes.profile?.expanded,\n\t\t\t\t},\n\t\t\t},\n\t\t\tproducts: {\n\t\t\t\t\"title\": this._productsText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this.accessibilityAttributes.product?.hasPopup,\n\t\t\t\t\texpanded: this.accessibilityAttributes.product?.expanded,\n\t\t\t\t},\n\t\t\t},\n\t\t\tsearch: {\n\t\t\t\t\"title\": this._searchText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this.accessibilityAttributes.search?.hasPopup,\n\t\t\t\t},\n\t\t\t},\n\t\t\toverflow: {\n\t\t\t\t\"title\": this._overflowText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\thasPopup: this.accessibilityAttributes.overflow?.hasPopup || \"menu\" as const,\n\t\t\t\t\texpanded: overflowExpanded === undefined ? this._overflowPopoverExpanded : overflowExpanded,\n\t\t\t\t},\n\t\t\t},\n\t\t\tbranding: {\n\t\t\t\t\"title\": this._brandingText,\n\t\t\t\t\"accessibilityAttributes\": {\n\t\t\t\t\tname: this.accessibilityAttributes.branding?.name,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n\n\tget accLogoRole() {\n\t\treturn this.accessibilityAttributes.logo?.role || \"link\";\n\t}\n\n\tget isSBreakPoint() {\n\t\treturn this.breakpointSize === \"S\";\n\t}\n\n\tget hasSelfCollapsibleSearch() {\n\t\treturn isSelfCollapsibleSearch(this.search);\n\t}\n\n\tget search() {\n\t\treturn this.searchField.length ? this.searchField[0] : null;\n\t}\n}\n\ninterface IShellBarSelfCollapsibleSearch extends UI5Element {\n\tcollapsed: boolean;\n\topen: boolean;\n}\n\nconst isSelfCollapsibleSearch = (searchField: any): searchField is IShellBarSelfCollapsibleSearch => {\n\tif (searchField) {\n\t\treturn \"collapsed\" in searchField && \"open\" in searchField;\n\t}\n\treturn false;\n};\n\nShellBar.define();\n\nexport default ShellBar;\n\nexport type {\n\tShellBarContentItemVisibilityChangeEventDetail,\n\tShellBarNotificationsClickEventDetail,\n\tShellBarProfileClickEventDetail,\n\tShellBarProductSwitchClickEventDetail,\n\tShellBarLogoClickEventDetail,\n\tShellBarMenuItemClickEventDetail,\n\tShellBarAccessibilityAttributes,\n\tShellBarSearchButtonEventDetail,\n\tShellBarSearchFieldToggleEventDetail,\n\tShellBarSearchFieldClearEventDetail,\n\tIShellBarSelfCollapsibleSearch,\n\tIShellBarSearchField,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"ShellBar.js","sourceRoot":"","sources":["../src/ShellBar.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AAEpE,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,IAAI,MAAM,wDAAwD,CAAC;AAC1E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,KAAK,MAAM,kDAAkD,CAAC;AACrE,OAAO,IAAI,MAAM,iDAAiD,CAAC;AACnE,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAC/E,OAAO,aAAa,MAAM,wDAAwD,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0DAA0D,CAAC;AAC5F,OAAO,cAAc,MAAM,qDAAqD,CAAC;AAEjF,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AACxE,OAAO,QAAQ,MAAM,+CAA+C,CAAC;AAGrE,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,WAAW,MAAM,wCAAwC,CAAC;AACjE,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,OAAO,MAAM,oCAAoC,CAAC;AACzD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,IAAI,MAAM,iCAAiC,CAAC;AACnD,OAAO,gBAAgB,MAAM,6CAA6C,CAAC;AAC3E,OAAO,UAAU,MAAM,yCAAyC,CAAC;AACjE,OAAO,QAAQ,MAAM,uCAAuC,CAAC;AAC7D,OAAO,QAAQ,MAAM,uCAAuC,CAAC;AAC7D,OAAO,MAAM,MAAM,qCAAqC,CAAC;AACzD,OAAO,YAAY,MAAM,2CAA2C,CAAC;AAErE,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AACrD,OAAO,cAAc,MAAM,oCAAoC,CAAC;AAChE,OAAO,kBAAkB,MAAM,2CAA2C,CAAC;AAC3E,OAAO,oBAAoB,MAAM,0CAA0C,CAAC;AAI5E,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,oBAAoB,MAAM,oCAAoC,CAAC;AACtE,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAC9D,OAAO,qBAAqB,MAAM,qCAAqC,CAAC;AACxE,OAAO,sBAAsB,MAAM,sCAAsC,CAAC;AAE1E,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,cAAc,MAAM,qBAAqB,CAAC;AAYjD,OAAO,EACN,cAAc,EACd,sBAAsB,EACtB,+BAA+B,EAC/B,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,2BAA2B,GAC3B,MAAM,mCAAmC,CAAC;AAK3C,0DAA0D;AAC1D,MAAM,sBAAsB,GAAG,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAExD,MAAM,eAAe,GAAG;IACvB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,aAAa,EAAE,UAAU;IACzB,aAAa,EAAE,eAAe;CAC9B,CAAC;AAEF,MAAM,wBAAwB,GAAG;IAChC,MAAM,EAAE,6BAA6B;IACrC,OAAO,EAAE,4BAA4B;IACrC,QAAQ,EAAE,+BAA+B;IACzC,SAAS,EAAE,gCAAgC;IAC3C,aAAa,EAAE,qCAAqC;IACpD,aAAa,EAAE,2BAA2B;CAC1C,CAAC;AA4DF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AA+HH,IAAM,QAAQ,gBAAd,MAAM,QAAS,SAAQ,UAAU;IAAjC;;QAgGC;;;;WAIG;QAEH,sBAAiB,GAAG,KAAK,CAAC;QAE1B;;;;WAIG;QAEH,sBAAiB,GAAG,KAAK,CAAC;QAE1B;;;;;;WAMG;QAEH,oBAAe,GAAG,KAAK,CAAC;QAExB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAiCG;QAEH,4BAAuB,GAAoC,EAAE,CAAC;QAE9D;;WAEG;QAEH,mBAAc,GAAG,GAAG,CAAC;QAErB;;;WAGG;QAEH,YAAO,GAAyB,EAAE,CAAC;QAEnC;;;WAGG;QAEH,uBAAkB,GAAG,KAAK,CAAC;QAE3B;;;WAGG;QAEH,wBAAmB,GAAG,KAAK,CAAC;QAE5B;;;;WAIG;QAEH,mBAAc,GAAa,EAAE,CAAC;QAE9B;;;WAGG;QAEH,wBAAmB,GAAG,KAAK,CAAC;QA0BX,yBAAoB,GAAG,GAAG,CAAC,CAAC,KAAK;QAC1C,sBAAiB,GAA2B,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAErG,gBAAW,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC7C,kBAAa,GAAuC;YACpE,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,GAAG;YACT,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,KAAK;SACZ,CAAC;QAEF,mBAAc,GAAG,IAAI,sBAAsB,CAAC;YAC3C,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI;SACzC,CAAC,CAAC;QAEH,aAAQ,GAAG,IAAI,gBAAgB,EAAE,CAAC;QAClC,kBAAa,GAA0B,IAAI,qBAAqB,EAAE,CAAC;QAE3D,mBAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAC1D,yBAAoB,GAAG,IAAI,oBAAoB,CAAC;YACvD,GAAG,IAAI,CAAC,aAAa,EAAE;YACvB,wBAAwB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB;SAC1D,CAAC,CAAC;QAEH,4DAA4D;QAE5D;;;;;;WAMG;QAEH,qBAAgB,GAAG,KAAK,CAAC;QAEzB;;;;;;WAMG;QAEH,0BAAqB,GAAG,KAAK,CAAC;QAyC9B;;;WAGG;QAEH,oBAAe,GAAG,KAAK,CAAC;IA0jBzB,CAAC;IA7iBA,+DAA+D;IAE/D,UAAU;QACT,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,SAAS;QACR,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACvD,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC;IACnC,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACzB,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC7B,CAAC;QACD,iCAAiC;QACjC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAClC,UAAU,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,IAAI,CAAC,aAAa,EAAE,wBAAwB,EAAE,CAAC;QAC/C,yEAAyE;QACzE,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC;QAClC,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,CAAC;IACjC,CAAC;IAED,gBAAgB;QACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,cAAc,EAAE,CAAC;IACvB,CAAC;IAED,gEAAgE;IAExD,YAAY;QACnB,IAAI,CAAC,OAAO,GAAG;YACd;gBACC,EAAE,EAAE,eAAe,CAAC,MAAM;gBAC1B,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM;gBACpC,QAAQ,EAAE,wBAAwB,CAAC,MAAM;gBACzC,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,eAAe;aAC7B;YACD;gBACC,EAAE,EAAE,eAAe,CAAC,SAAS;gBAC7B,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,SAAS;gBACvC,QAAQ,EAAE,wBAAwB,CAAC,SAAS;gBAC5C,WAAW,EAAE,KAAK;aAClB;YACD;gBACC,EAAE,EAAE,eAAe,CAAC,aAAa;gBACjC,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,IAAI,CAAC,kBAAkB;gBAC9B,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa;gBAC3C,QAAQ,EAAE,wBAAwB,CAAC,aAAa;gBAChD,WAAW,EAAE,KAAK;gBAClB,YAAY,EAAE,eAAe;aAC7B;YACD;gBACC,EAAE,EAAE,eAAe,CAAC,QAAQ;gBAC5B,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,QAAQ;gBACtC,QAAQ,EAAE,wBAAwB,CAAC,QAAQ;gBAC3C,WAAW,EAAE,IAAI;gBACjB,YAAY,EAAE,UAAU;aACxB;YACD;gBACC,EAAE,EAAE,eAAe,CAAC,OAAO;gBAC3B,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,OAAO;gBACrC,QAAQ,EAAE,wBAAwB,CAAC,OAAO;gBAC1C,WAAW,EAAE,IAAI;gBACjB,YAAY,EAAE,SAAS;aACvB;YACD;gBACC,EAAE,EAAE,eAAe,CAAC,aAAa;gBACjC,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,aAAa;gBAC3C,QAAQ,EAAE,wBAAwB,CAAC,aAAa;gBAChD,WAAW,EAAE,IAAI;gBACjB,YAAY,EAAE,gBAAgB;aAC9B;SACD,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACpC,CAAC;IAED,SAAS,CAAC,QAA0B;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED,qBAAqB,CAAC,QAA0B;QAC/C,MAAM,KAAK,GAA2B;YACrC,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YAC3C,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;YAC7C,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YAC/C,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;YACjD,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;YACpD,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB;SAChE,CAAC;QACF,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;IACpC,CAAC;IAED,mEAAmE;IAEnE,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,cAAc,KAAK,GAAG,CAAC;IACpC,CAAC;IAEO,gBAAgB;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;QACjD,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC;QAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAE1C,IAAI,IAAI,CAAC,cAAc,KAAK,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;QAClC,CAAC;IACF,CAAC;IAED,iEAAiE;IAEzD,cAAc;QACrB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpB,OAAO;QACR,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;YAC3C,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;YACvC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;YACvC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe;YACpE,aAAa,EAAE,IAAI,CAAC,aAAc;YAClC,aAAa,EAAE,IAAI,CAAC,aAAc;YAClC,UAAU,EAAE,CAAC,QAAgB,EAAE,OAAgB,EAAE,EAAE;gBAClD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACzD,IAAI,OAAO,EAAE,CAAC;oBACb,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC;gBACtE,CAAC;YACF,CAAC;SACD,CAAC,CAAC;QAEH,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;QAExC,OAAO,MAAM,CAAC,cAAc,CAAC;IAC9B,CAAC;IAEO,0BAA0B,CAAC,MAA8B;QAChE,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAAC;QAEtD,8BAA8B;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACzB,IAAI,CAAC,UAAU,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACpD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrB,+EAA+E;gBAC/E,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;YAC9C,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE,CAAC;YAC1D,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YACzE,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;YACrC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,EAAE,oBAAoB,EAAE,IAAI,KAAK,CAAC;IAChF,CAAC;IAEO,8BAA8B,CAAC,iBAA2B,EAAE,iBAA2B;QAC9F,MAAM,gBAAgB,GAAG,CAAC,GAAa,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAE,IAAY,CAAC,eAAyB,KAAK,EAAE,CAAC,CAAC,CAAC;QACxI,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QAChE,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;QAEhE,IAAI,CAAC,cAAc,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,EAAE,CAAC;YAC/D,IAAI,CAAC,kBAAkB,CAAC,gCAAgC,EAAE;gBACzD,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAE,IAAY,CAAC,eAAyB,KAAK,EAAE,CAAE,CAAC;aAChH,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAEO,YAAY;QACnB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;QACnD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,aAAa,EAAE,qBAAqB,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAC/E,CAAC;IAED,QAAQ,CAAC,MAAc;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,mBAAmB;QAClB,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC;IACtD,CAAC;IAED,cAAc;QACb,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IAClC,CAAC;IAED;;;OAGG;IACH,aAAa;QACZ,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,uBAAuB,CAAC,CAAa;QACpC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;QAEvD,IAAI,SAAS,GAAG,CAAC,CAAC,gBAAgB,CAAC,CAAC,qBAAqB;QAEzD,IAAI,QAAQ,KAAK,eAAe,CAAC,aAAa,EAAE,CAAC;YAChD,SAAS,GAAG,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAC7C,CAAC;aAAM,IAAI,QAAQ,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;YAChD,SAAS,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QAClC,CAAC;IACF,CAAC;IAED,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACrC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;YACvC,cAAc,EAAE,IAAI,CAAC,cAAc;SACnC,CAAC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,IAAI,aAAa;QAChB,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1E,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACrC,CAAC;QACD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,GAAG,CAAC,CAAC,gBAAgB;QAC7B,CAAC;QACD,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,+DAA+D;IAE/D,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;IAED,IAAI,uBAAuB;QAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC;QAChC,IAAI,WAAW,EAAE,CAAC;YACjB,OAAO,WAAW,IAAI,WAAW,IAAI,MAAM,IAAI,WAAW,CAAC;QAC5D,CAAC;QACD,OAAO,KAAK,CAAC;IACd,CAAC;IAEO,aAAa;QACpB,OAAO;YACN,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM;YACjC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI,CAAC,eAAe;YACzE,cAAc,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;YAC/D,cAAc,EAAE,CAAC,QAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC;YACpE,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,aAAc,EAAE,IAAI,CAAC,aAAc,CAAC;SAC1F,CAAC;IACH,CAAC;IAED,IAAI,aAAa;QAChB,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC,cAAc,CAAC;QAC5B,CAAC;QACD,OAAO,IAAI,CAAC,oBAAoB,CAAC;IAClC,CAAC;IAED,uBAAuB;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAS,6BAA6B,CAAC,CAAC;QAC3F,MAAM,gBAAgB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE;YACxE,SAAS,EAAE,YAAa;YACxB,kBAAkB,EAAE,IAAI,CAAC,eAAe;SACxC,CAAC,CAAC;QAEH,IAAI,gBAAgB,EAAE,CAAC;YACtB,OAAO,gBAAgB,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAE3C,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3B,OAAO,gBAAgB,CAAC;QACzB,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,KAAK,EAAE,CAAC;YACX,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,UAAU,CAAC,GAAG,EAAE;gBACf,KAAK,CAAC,KAAK,EAAE,CAAC;YACf,CAAC,EAAE,GAAG,CAAC,CAAC;QACT,CAAC;QACD,OAAO,gBAAgB,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAiB;QACrC,IAAI,QAAQ,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;YACvC,OAAO;QACR,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC;QAChC,MAAM,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9D,CAAC;IAED,uBAAuB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAW,CAAC,aAAa,CAAS,6BAA6B,CAAC,CAAC;QACxF,IAAI,CAAC,SAAS,EAAE,CAAC;YAChB,OAAO;QACR,CAAC;QAED,MAAM,qBAAqB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,oBAAoB,EAAE;YAC5E,SAAS,EAAE,SAAS;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAE3B,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;QACxB,CAAC;IACF,CAAC;IAED,wEAAwE;IAEhE,oBAAoB;QAC3B,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,cAAc,CAAC;gBACvC,SAAS,EAAE,IAAI;gBACf,aAAa,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU;aACpC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;IAED,IAAI,iBAAiB;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;eACvB,CAAC,CAAC,IAAI,CAAC,YAAY;eACnB,CAAC,CAAC,IAAI,CAAC,cAAc;eACrB,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,iEAAiE;IAEjE,UAAU,CAAC,CAAgB;QAC1B,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,gEAAgE;IAEhE,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;IAC9C,CAAC;IAED,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC;IAC5C,CAAC;IAED,IAAI,eAAe;QAClB,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEvD,OAAO;YACN,kBAAkB,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAE,IAAY,CAAC,eAAyB,CAAC,CAAC;YAC9G,gBAAgB,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAE,IAAY,CAAC,eAAyB,CAAC,CAAC;SAC1G,CAAC;IACH,CAAC;IAED,YAAY,CAAC,OAA+B;QAC3C,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,CACpC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAClD,CAAC;QAEF,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;QACzC,CAAC;QAED,OAAO;YACN,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC;YACpC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,CAAC;SACnC,CAAC;IACH,CAAC;IAED,WAAW,CAAC,OAA+B;QAC1C,iDAAiD;QACjD,sDAAsD;QACtD,OAAO,OAAO,CAAC,UAAU,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,CAAC;YAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,CAAC;YAClE,OAAO,MAAM,GAAG,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,sBAAsB,CAAC,IAAiB,EAAE,YAAqB;QAC9D,MAAM,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;QACjE,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAE,IAAY,CAAC,eAAyB,CAAC,CAAC;QACvF,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;QAE1C,OAAO,EAAE,UAAU,EAAE,QAAQ,IAAI,UAAU,EAAE,CAAC;IAC/C,CAAC;IAED,8DAA8D;IAE9D,SAAS,CAAC,KAA8B;QACvC,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAC5D,OAAO,MAAM,GAAG,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC;IACJ,CAAC;IAED,2DAA2D;IAE3D,IAAI,wBAAwB;QAC3B,OAAO,IAAI,CAAC,aAAa,CAAC,iCAAiC,CAAC,IAAI,CAAC,KAAK,EAAE;YACvE,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,uBAAuB,EAAE,IAAI,CAAC,uBAAuB;SACrD,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,WAAW;QACd,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1F,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,WAAW;QACd,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAE,IAAY,CAAC,eAAyB,CAAC,CAAC,CAAC,MAAM,CAAC;QACrI,OAAO,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;IAC7D,CAAC;IAED,4DAA4D;IAE5D,IAAI,eAAe;QAClB,OAAO;YACN,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACnC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAChC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;YAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YAClC,QAAQ,EAAE,IAAI,CAAC,kBAAkB;YACjC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YACpC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC;YACxC,aAAa,EAAE,IAAI,CAAC,iBAAiB;YACrC,aAAa,EAAE,IAAI,CAAC,iBAAiB;SACrC,CAAC;IACH,CAAC;IAED,IAAI,KAAK;QACR,OAAO;YACN,MAAM,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC;YACpD,OAAO,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC;YACtD,QAAQ,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC;YACrD,QAAQ,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACxD,QAAQ,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,iBAAiB,CAAC;YACxD,SAAS,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC;YAC1D,aAAa,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC,kBAAkB,IAAI,CAAC,CAAC;YAChG,oBAAoB,EAAE,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,+BAA+B,CAAC;YAClF,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,SAAS;SAC5G,CAAC;IACH,CAAC;IAED,IAAI,sBAAsB;QACzB,OAAO,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACtD,CAAC;IAED;;;;;OAKG;IACH,IAAI,UAAU;QACb,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,2BAA2B,CAAC,CAAC;IACjF,CAAC;IAED;;;;;OAKG;IACH,IAAI,mBAAmB;QACtB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,oCAAoC,CAAC,CAAC;IAC1F,CAAC;IAED;;;;;OAKG;IACH,IAAI,cAAc;QACjB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,+BAA+B,CAAC,CAAC;IACrF,CAAC;IAED;;;;;OAKG;IACH,IAAI,aAAa;QAChB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,8BAA8B,CAAC,CAAC;IACpF,CAAC;IAED;;;;;OAKG;IACH,IAAI,mBAAmB;QACtB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,qCAAqC,CAAC,CAAC;IAC3F,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB;QAC1B,MAAM,cAAc,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,UAAW,CAAC,aAAa,CAAc,oCAAoC,CAAC,CAAC;IAC1F,CAAC;IAEO,eAAe,CAAC,SAAiB,EAAE,MAA0B;QACpE,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAgB,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC3F,CAAC;IAED,wBAAwB;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC,qBAAqB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC9E,CAAC;IAED,kBAAkB;QACjB,OAAO,IAAI,CAAC,eAAe,CAAC,eAAe,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAClE,CAAC;IAED,wBAAwB;QACvB,OAAO,IAAI,CAAC,eAAe,CAAC,sBAAsB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;IAC/E,CAAC;IAED,cAAc,CAAC,MAAc;QAC5B,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAG,CAAC,CAAC;QACrD,OAAO,QAAQ,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5D,CAAC;CACD,CAAA;AAl2BA;IADC,IAAI,EAAE;6CACqB;AAa5B;IADC,IAAI,EAAE;0CAC2B;AAclC;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;yCACvB;AAO5B;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;6CACa;AASzC;IADC,IAAI,EAAE;2CACmB;AAU1B;IADC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;uCAClC;AAYlC;IADC,IAAI,EAAE;yCACqB;AAS5B;IADC,QAAQ,EAAE;oDACiB;AAQ5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;mDACF;AAQ1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;mDACF;AAU1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACJ;AAqCxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yDACmC;AAM9D;IADC,QAAQ,EAAE;gDACU;AAOrB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yCACQ;AAOnC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;oDACD;AAO3B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACA;AAQ5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDACG;AAO9B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;qDACA;AAO5B;IADC,KAAK,CAAC,sBAAsB,CAAC;wCACT;AAOrB;IADC,KAAK,CAAC,kCAAkC,CAAC;+CACd;AAO5B;IADC,KAAK,CAAC,wCAAwC,CAAC;+CACpB;AAwC5B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kDACH;AAUzB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;uDACE;AAU9B;IADC,QAAQ,EAAE;8CACW;AAUtB;IADC,QAAQ,EAAE;gDACa;AASxB;IADC,IAAI,EAAE;sCACkB;AAUzB;IADC,IAAI,EAAE;2CACwB;AAO/B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDACJ;AASxB;IADC,IAAI,EAAE;4CACwB;AAtGxB;IADN,IAAI,CAAC,0BAA0B,CAAC;kCACH;AA/NzB,QAAQ;IA7Hb,aAAa,CAAC;QACd,GAAG,EAAE,cAAc;QACnB,MAAM,EAAE,CAAC,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,CAAC;QAClE,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,gBAAgB;QAC1B,cAAc,EAAE,IAAI;QACpB,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE;YACb,IAAI;YACJ,IAAI;YACJ,MAAM;YACN,WAAW;YACX,OAAO;YACP,cAAc;YACd,YAAY;YACZ,gBAAgB;YAChB,sBAAsB;YACtB,IAAI;SACJ;KACD,CAAC;IACF;;;;;OAKG;;IACF,KAAK,CAAC,qBAAqB,EAAE;QAC7B,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;OAIG;;IACF,KAAK,CAAC,eAAe,EAAE;QACvB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;;;OAMG;;IACF,KAAK,CAAC,sBAAsB,EAAE;QAC9B,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,YAAY,EAAE;QACpB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;;;;OAOG;;IACF,KAAK,CAAC,iBAAiB,EAAE;QACzB,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;KAChB,CAAC;IAEF;;;;;;;OAOG;;IAEF,KAAK,CAAC,qBAAqB,EAAE;QAC7B,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;;OAKG;;IACF,KAAK,CAAC,qBAAqB,EAAE;QAC7B,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;;;;;OAQG;;IACF,KAAK,CAAC,oBAAoB,EAAE;QAC5B,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,IAAI;KACb,CAAC;IAEF;;;;;;;OAOG;;IACF,KAAK,CAAC,gCAAgC,EAAE;QACxC,OAAO,EAAE,IAAI;KACb,CAAC;GAEI,QAAQ,CAs3Bb;AAED,QAAQ,CAAC,MAAM,EAAE,CAAC;AAElB,eAAe,QAAQ,CAAC;AACxB,OAAO,EACN,eAAe,EACf,wBAAwB,GACxB,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport type { Slot, DefaultSlot } from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport slot from \"@ui5/webcomponents-base/dist/decorators/slot-strict.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport query from \"@ui5/webcomponents-base/dist/decorators/query.js\";\nimport i18n from \"@ui5/webcomponents-base/dist/decorators/i18n.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport ResizeHandler from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport type { ResizeObserverCallback } from \"@ui5/webcomponents-base/dist/delegate/ResizeHandler.js\";\nimport { getScopedVarName } from \"@ui5/webcomponents-base/dist/CustomElementsScopeUtils.js\";\nimport arraysAreEqual from \"@ui5/webcomponents-base/dist/util/arraysAreEqual.js\";\nimport type I18nBundle from \"@ui5/webcomponents-base/dist/i18nBundle.js\";\nimport { renderFinished } from \"@ui5/webcomponents-base/dist/Render.js\";\nimport throttle from \"@ui5/webcomponents-base/dist/util/throttle.js\";\n\nimport type { IButton } from \"@ui5/webcomponents/dist/Button.js\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport ButtonBadge from \"@ui5/webcomponents/dist/ButtonBadge.js\";\nimport Icon from \"@ui5/webcomponents/dist/Icon.js\";\nimport Popover from \"@ui5/webcomponents/dist/Popover.js\";\nimport Menu from \"@ui5/webcomponents/dist/Menu.js\";\nimport List from \"@ui5/webcomponents/dist/List.js\";\nimport ListItemStandard from \"@ui5/webcomponents/dist/ListItemStandard.js\";\nimport searchIcon from \"@ui5/webcomponents-icons/dist/search.js\";\nimport bellIcon from \"@ui5/webcomponents-icons/dist/bell.js\";\nimport gridIcon from \"@ui5/webcomponents-icons/dist/grid.js\";\nimport daIcon from \"@ui5/webcomponents-icons/dist/da.js\";\nimport overflowIcon from \"@ui5/webcomponents-icons/dist/overflow.js\";\n\nimport ShellBarTemplate from \"./ShellBarTemplate.js\";\nimport shellBarStyles from \"./generated/themes/ShellBar.css.js\";\nimport ShellBarPopoverCss from \"./generated/themes/ShellBarPopover.css.js\";\nimport shellBarLegacyStyles from \"./generated/themes/ShellBarLegacy.css.js\";\n\nimport type { IShellBarSearchController } from \"./shellbar/IShellBarSearchController.js\";\n\nimport ShellBarLegacy from \"./shellbar/ShellBarLegacy.js\";\nimport ShellBarSearch from \"./shellbar/ShellBarSearch.js\";\nimport ShellBarSearchLegacy from \"./shellbar/ShellBarSearchLegacy.js\";\nimport ShellBarOverflow from \"./shellbar/ShellBarOverflow.js\";\nimport ShellBarAccessibility from \"./shellbar/ShellBarAccessibility.js\";\nimport ShellBarItemNavigation from \"./shellbar/ShellBarItemNavigation.js\";\n\nimport ShellBarItem from \"./ShellBarItem.js\";\nimport ShellBarSpacer from \"./ShellBarSpacer.js\";\nimport type ShellBarBranding from \"./ShellBarBranding.js\";\nimport type { ShellBarOverflowResult } from \"./shellbar/ShellBarOverflow.js\";\n\nimport type {\n\tShellBarAccessibilityInfo,\n\tShellBarAccessibilityAttributes,\n\tShellBarAreaAccessibilityAttributes,\n\tShellBarLogoAccessibilityAttributes,\n\tShellBarProfileAccessibilityAttributes,\n} from \"./shellbar/ShellBarAccessibility.js\";\n\nimport {\n\tSHELLBAR_LABEL,\n\tSHELLBAR_NOTIFICATIONS,\n\tSHELLBAR_NOTIFICATIONS_NO_COUNT,\n\tSHELLBAR_PROFILE,\n\tSHELLBAR_PRODUCTS,\n\tSHELLBAR_SEARCH,\n\tSHELLBAR_ASSISTANT,\n\tSHELLBAR_OVERFLOW,\n\tSHELLBAR_ADDITIONAL_CONTEXT,\n} from \"./generated/i18n/i18n-defaults.js\";\nimport type ListItemBase from \"@ui5/webcomponents/dist/ListItemBase.js\";\n\ntype ShellBarBreakpoint = \"S\" | \"M\" | \"L\" | \"XL\" | \"XXL\";\n\n// actions always visible in lean mode, order is important\nconst PREDEFINED_PLACE_ITEMS = [\"feedback\", \"sys-help\"];\n\nconst ShellBarActions = {\n\tSearch: \"search\",\n\tProfile: \"profile\",\n\tOverflow: \"overflow\",\n\tAssistant: \"assistant\",\n\tProductSwitch: \"products\",\n\tNotifications: \"notifications\",\n};\n\nconst ShellBarActionsSelectors = {\n\tSearch: \".ui5-shellbar-search-toggle\",\n\tProfile: \".ui5-shellbar-image-button\",\n\tOverflow: \".ui5-shellbar-overflow-button\",\n\tAssistant: \".ui5-shellbar-assistant-button\",\n\tProductSwitch: \".ui5-shellbar-button-product-switch\",\n\tNotifications: \".ui5-shellbar-bell-button\",\n};\n\ntype ShellBarActionId = typeof ShellBarActions[keyof typeof ShellBarActions];\n\ntype ShellBarActionItem = {\n\tid: ShellBarActionId;\n\ticon?: string;\n\tcount?: string;\n\tenabled: boolean; \t\t// Whether the action is enabled and should be displayed\n\tselector: string; \t\t// The selector by which we can target the action\n\tisProtected: boolean \t// Whether the action can go into the overflow\n\tstableDomRef?: string;\n};\n\ninterface IShellBarSearchField extends HTMLElement {\n\tfocused: boolean;\n\tvalue: string;\n\tcollapsed?: boolean;\n\topen?: boolean;\n}\n\n// Event Types\n\ntype ShellBarNotificationsClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarProfileClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarProductSwitchClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarLogoClickEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\ntype ShellBarMenuItemClickEventDetail = {\n\titem: HTMLElement;\n};\n\ntype ShellBarContentItemVisibilityChangeEventDetail = {\n\titems: Array<HTMLElement>\n};\n\ntype ShellBarSearchButtonEventDetail = {\n\ttargetRef: HTMLElement;\n\tsearchFieldVisible: boolean;\n};\n\ntype ShellBarSearchFieldToggleEventDetail = {\n\texpanded: boolean;\n};\n\ntype ShellBarSearchFieldClearEventDetail = {\n\ttargetRef: HTMLElement;\n};\n\n/**\n * @class\n * ### Overview\n *\n * The `ui5-shellbar` is meant to serve as an application header\n * and includes numerous built-in features, such as: logo, profile image/icon, title, search field, notifications and so on.\n *\n * ### Stable DOM Refs\n *\n * You can use the following stable DOM refs for the `ui5-shellbar`:\n *\n * - logo\n * - notifications\n * - overflow\n * - profile\n * - product-switch\n *\n * ### Keyboard Handling\n *\n * #### Fast Navigation\n * This component provides a build in fast navigation group which can be used via [F6] / [Shift] + [F6] / [Ctrl] + [Alt/Option] / [Down] or [Ctrl] + [Alt/Option] + [Up].\n * In order to use this functionality, you need to import the following module:\n * `import \"@ui5/webcomponents-base/dist/features/F6Navigation.js\"`\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/ShellBar.js\";`\n * @csspart root - Used to style the outermost wrapper of the `ui5-shellbar`\n * @constructor\n * @extends UI5Element\n * @public\n * @since 0.8.0\n */\n\n@customElement({\n\ttag: \"ui5-shellbar\",\n\tstyles: [shellBarStyles, shellBarLegacyStyles, ShellBarPopoverCss],\n\trenderer: jsxRenderer,\n\ttemplate: ShellBarTemplate,\n\tfastNavigation: true,\n\tlanguageAware: true,\n\tdependencies: [\n\t\tIcon,\n\t\tList,\n\t\tButton,\n\t\tButtonBadge,\n\t\tPopover,\n\t\tShellBarSpacer,\n\t\tShellBarItem,\n\t\tListItemStandard,\n\t\t// legacy dependencies\n\t\tMenu,\n\t],\n})\n/**\n *\n * Fired, when the notification icon is activated.\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"notifications-click\", {\n\tcancelable: true,\n\tbubbles: true,\n})\n\n/**\n * Fired, when the profile slot is present.\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"profile-click\", {\n\tbubbles: true,\n})\n\n/**\n * Fired, when the product switch icon is activated.\n *\n * **Note:** You can prevent closing of overflow popover by calling `event.preventDefault()`.\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @public\n */\n@event(\"product-switch-click\", {\n\tcancelable: true,\n\tbubbles: true,\n})\n\n/**\n * Fired, when the logo is activated.\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @since 0.10\n * @public\n */\n@event(\"logo-click\", {\n\tbubbles: true,\n})\n\n/**\n * Fired, when a menu item is activated\n *\n * **Note:** You can prevent closing of overflow popover by calling `event.preventDefault()`.\n * @param {HTMLElement} item DOM ref of the activated list item\n * @since 0.10\n * @public\n */\n@event(\"menu-item-click\", {\n\tbubbles: true,\n\tcancelable: true,\n})\n\n/**\n * Fired, when the search button is activated.\n *\n * **Note:** You can prevent expanding/collapsing of the search field by calling `event.preventDefault()`.\n * @param {HTMLElement} targetRef dom ref of the activated element\n * @param {Boolean} searchFieldVisible whether the search field is visible\n * @public\n */\n\n@event(\"search-button-click\", {\n\tcancelable: true,\n\tbubbles: true,\n})\n\n/**\n * Fired, when the search field is expanded or collapsed.\n * @since 2.10.0\n * @param {Boolean} expanded whether the search field is expanded\n * @public\n */\n@event(\"search-field-toggle\", {\n\tbubbles: true,\n})\n\n/**\n * Fired, when the search cancel button is activated.\n *\n * **Note:** You can prevent the default behavior (clearing the search field value) by calling `event.preventDefault()`. The search will still be closed.\n * **Note:** The `search-field-clear` event is in an experimental state and is a subject to change.\n * @param {HTMLElement} targetRef dom ref of the cancel button element\n * @since 2.14.0\n * @public\n */\n@event(\"search-field-clear\", {\n\tcancelable: true,\n\tbubbles: true,\n})\n\n/**\n * Fired, when an item from the content slot is hidden or shown.\n * **Note:** The `content-item-visibility-change` event is in an experimental state and is a subject to change.\n *\n * @param {Array<HTMLElement>} array of all the items that are hidden\n * @public\n * @since 2.7.0\n */\n@event(\"content-item-visibility-change\", {\n\tbubbles: true,\n})\n\nclass ShellBar extends UI5Element {\n\teventDetails!: {\n\t\t\"notifications-click\": ShellBarNotificationsClickEventDetail,\n\t\t\"profile-click\": ShellBarProfileClickEventDetail,\n\t\t\"product-switch-click\": ShellBarProductSwitchClickEventDetail,\n\t\t\"logo-click\": ShellBarLogoClickEventDetail,\n\t\t\"menu-item-click\": ShellBarMenuItemClickEventDetail,\n\t\t\"search-button-click\": ShellBarSearchButtonEventDetail,\n\t\t\"search-field-toggle\": ShellBarSearchFieldToggleEventDetail,\n\t\t\"search-field-clear\": ShellBarSearchFieldClearEventDetail,\n\t\t\"content-item-visibility-change\": ShellBarContentItemVisibilityChangeEventDetail\n\t}\n\n\t/**\n\t * Defines a `ui5-button` in the bar that will be placed in the beginning.\n\t * We encourage this slot to be used for a menu button.\n\t * It gets overstyled to match ShellBar's styling.\n\t * @public\n\t */\n\t@slot()\n\tstartButton!: Slot<IButton>;\n\n\t/**\n\t * Defines the branding slot.\n\t * The `ui5-shellbar-branding` component is intended to be placed inside this slot.\n\t * Content placed here takes precedence over the `primaryTitle` property and the `logo` content slot.\n\t *\n\t * **Note:** The `branding` slot is in an experimental state and is a subject to change.\n\t *\n\t * @since 2.12.0\n\t * @public\n\t */\n\t@slot()\n\tbranding!: Slot<ShellBarBranding>;\n\n\t/**\n\t * Define the items displayed in the content area.\n\t *\n\t * Use the `data-hide-order` attribute with numeric value to specify the order of the items to be hidden when the space is not enough.\n\t * Lower values will be hidden first.\n\t *\n\t * **Note:** The `content` slot is in an experimental state and is a subject to change.\n\t *\n\t * @public\n\t * @since 2.7.0\n\t */\n\t@slot({ type: HTMLElement, individualSlots: true })\n\tcontent!: Slot<HTMLElement>;\n\n\t/**\n\t * Defines the `ui5-input`, that will be used as a search field.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement })\n\tsearchField!: Slot<IShellBarSearchField>;\n\n\t/**\n\t * Defines the assistant slot.\n\t *\n\t * @since 2.0.0\n\t * @public\n\t */\n\t@slot()\n\tassistant!: Slot<IButton>;\n\n\t/**\n\t * Defines the `ui5-shellbar` additional items.\n\t *\n\t * **Note:**\n\t * You can use the `<ui5-shellbar-item></ui5-shellbar-item>`.\n\t * @public\n\t */\n\t@slot({ type: HTMLElement, \"default\": true, individualSlots: true })\n\titems!: DefaultSlot<ShellBarItem>;\n\n\t/**\n\t * You can pass `ui5-avatar` to set the profile image/icon.\n\t * If no profile slot is set - profile will be excluded from actions.\n\t *\n\t * **Note:** We recommend not using the `size` attribute of `ui5-avatar` because\n\t * it should have specific size by design in the context of `ui5-shellbar` profile.\n\t * @since 1.0.0-rc.6\n\t * @public\n\t */\n\t@slot()\n\tprofile!: Slot<HTMLElement>;\n\n\t/**\n\t * Defines the `notificationsCount`,\n\t * displayed in the notification icon top-right corner.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tnotificationsCount?: string;\n\n\t/**\n\t * Defines, if the notification icon would be displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowNotifications = false;\n\n\t/**\n\t * Defines, if the product switch icon would be displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowProductSwitch = false;\n\n\t/**\n\t * Defines, if the Search Field would be displayed when there is a valid `searchField` slot.\n\t *\n\t * **Note:** By default the Search Field is not displayed.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tshowSearchField = false;\n\n\t/**\n\t * Defines additional accessibility attributes on different areas of the component.\n\t *\n\t * The accessibilityAttributes object has the following fields,\n\t * where each field is an object supporting one or more accessibility attributes:\n\t *\n\t * - **logo** - `logo.role` and `logo.name`.\n\t * - **notifications** - `notifications.expanded` and `notifications.hasPopup`.\n\t * - **profile** - `profile.expanded`, `profile.hasPopup` and `profile.name`.\n\t * - **product** - `product.expanded` and `product.hasPopup`.\n\t * - **search** - `search.hasPopup`.\n\t * - **overflow** - `overflow.expanded` and `overflow.hasPopup`.\n\t * - **branding** - `branding.name`.\n\t *\n\t * The accessibility attributes support the following values:\n\t *\n\t * - **role**: Defines the accessible ARIA role of the logo area.\n\t * Accepts the following string values: `button` or `link`.\n\t *\n\t * - **expanded**: Indicates whether the button, or another grouping element it controls,\n\t * is currently expanded or collapsed.\n\t * Accepts the following string values: `true` or `false`.\n\t *\n\t * - **hasPopup**: Indicates the availability and type of interactive popup element,\n\t * such as menu or dialog, that can be triggered by the button.\n\t *\n\t * Accepts the following string values: `dialog`, `grid`, `listbox`, `menu` or `tree`.\n\t * - **name**: Defines the accessible ARIA name of the area.\n\t * Accepts any string.\n\t *\n\t * @default {}\n\t * @public\n\t * @since 1.10.0\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes: ShellBarAccessibilityAttributes = {};\n\n\t/**\n\t * @private\n\t */\n\t@property()\n\tbreakpointSize = \"S\";\n\n\t/**\n\t * Actions computed from controllers.\n\t * @private\n\t */\n\t@property({ type: Object })\n\tactions: ShellBarActionItem[] = [];\n\n\t/**\n\t * Show overflow button when items are hidden.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tshowOverflowButton = false;\n\n\t/**\n\t * Open state of the overflow popover.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\toverflowPopoverOpen = false;\n\n\t/**\n\t * IDs of items currently hidden due to overflow.\n\t * Used to trigger rerender for conditional rendering.\n\t * @private\n\t */\n\t@property({ type: Object })\n\thiddenItemsIds: string[] = [];\n\n\t/**\n\t * Show full-screen search overlay.\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tshowFullWidthSearch = false;\n\n\t/**\n\t * Spacer element.\n\t * @private\n\t */\n\t@query(\".ui5-shellbar-spacer\")\n\tspacer?: HTMLElement;\n\n\t/**\n\t * Outer container of the overflow container.\n\t * @private\n\t */\n\t@query(\".ui5-shellbar-overflow-container\")\n\toverflowOuter?: HTMLElement;\n\n\t/**\n\t * Inner container of the overflow container.\n\t * @private\n\t */\n\t@query(\".ui5-shellbar-overflow-container-inner\")\n\toverflowInner?: HTMLElement;\n\n\t@i18n(\"@ui5/webcomponents-fiori\")\n\tstatic i18nBundle: I18nBundle;\n\n\tprivate readonly RESIZE_THROTTLE_RATE = 100; // ms\n\tprivate handleResizeBound: ResizeObserverCallback = throttle(this.handleResize.bind(this), this.RESIZE_THROTTLE_RATE);\n\n\tprivate readonly breakpoints = [599, 1023, 1439, 1919, 10000];\n\tprivate readonly breakpointMap: Record<number, ShellBarBreakpoint> = {\n\t\t599: \"S\",\n\t\t1023: \"M\",\n\t\t1439: \"L\",\n\t\t1919: \"XL\",\n\t\t10000: \"XXL\",\n\t};\n\n\titemNavigation = new ShellBarItemNavigation({\n\t\tgetDomRef: () => this.getDomRef() || null,\n\t});\n\n\toverflow = new ShellBarOverflow();\n\taccessibility: ShellBarAccessibility = new ShellBarAccessibility();\n\n\tprivate _searchAdaptor = new ShellBarSearch(this.getSearchDeps());\n\tprivate _searchAdaptorLegacy = new ShellBarSearchLegacy({\n\t\t...this.getSearchDeps(),\n\t\tgetDisableSearchCollapse: () => this.disableSearchCollapse,\n\t});\n\n\t/* =================== Legacy Members =================== */\n\n\t/**\n\t * Defines the visibility state of the search button.\n\t *\n\t * **Note:** The `hideSearchButton` property is in an experimental state and is a subject to change.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\thideSearchButton = false;\n\n\t/**\n\t * Disables the automatic search field expansion/collapse when the available space is not enough.\n\t *\n\t * **Note:** The `disableSearchCollapse` property is in an experimental state and is a subject to change.\n\t * @default false\n\t * @public\n\t */\n\t@property({ type: Boolean })\n\tdisableSearchCollapse = false;\n\n\t/**\n\t * Defines the `primaryTitle`.\n\t *\n\t * **Note:** The `primaryTitle` would be hidden on S screen size (less than approx. 700px).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tprimaryTitle?: string;\n\n\t/**\n\t * Defines the `secondaryTitle`.\n\t *\n\t * **Note:** The `secondaryTitle` would be hidden on S and M screen sizes (less than approx. 1300px).\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tsecondaryTitle?: string;\n\n\t/**\n\t * Defines the logo of the `ui5-shellbar`.\n\t * For example, you can use `ui5-avatar` or `img` elements as logo.\n\t * @since 1.0.0-rc.8\n\t * @public\n\t */\n\t@slot()\n\tlogo!: Slot<HTMLElement>;\n\n\t/**\n\t * Defines the items displayed in menu after a click on a start button.\n\t *\n\t * **Note:** You can use the `<ui5-li></ui5-li>` and its ancestors.\n\t * @since 0.10\n\t * @public\n\t */\n\t@slot()\n\tmenuItems!: Slot<ListItemBase>;\n\n\t/**\n\t * Open state of the menu popover (legacy).\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tmenuPopoverOpen = false;\n\n\t/**\n\t * The container is positioned in the center of the `ui5-shellbar` and occupies one-third of the total length of the `ui5-shellbar`.\n\t *\n\t * **Note:** If set, the `searchField` slot is not rendered.\n\t * @private\n\t */\n\t@slot()\n\tmidContent!: Slot<HTMLElement>;\n\n\tlegacyAdaptor?: ShellBarLegacy;\n\n\t/* =================== Lifecycle Methods =================== */\n\n\tonEnterDOM() {\n\t\tResizeHandler.register(this, this.handleResizeBound);\n\t\tthis.searchAdaptor?.subscribe();\n\t}\n\n\tonExitDOM() {\n\t\tResizeHandler.deregister(this, this.handleResizeBound);\n\t\tthis.searchAdaptor?.unsubscribe();\n\t}\n\n\tonBeforeRendering() {\n\t\tif (!this.legacyAdaptor) {\n\t\t\tthis.initLegacyController();\n\t\t}\n\t\t// Sync branding breakpoint state\n\t\tthis.branding.forEach(brandingEl => {\n\t\t\tbrandingEl._isSBreakPoint = this.isSBreakPoint;\n\t\t});\n\n\t\tthis.buildActions();\n\n\t\tthis.searchAdaptor?.syncShowSearchFieldState();\n\t\t// subscribe to search adaptor for cases when search is added dynamically\n\t\tthis.searchAdaptor?.unsubscribe();\n\t\tthis.searchAdaptor?.subscribe();\n\t}\n\n\tonAfterRendering() {\n\t\tthis.updateBreakpoint();\n\t\tthis.updateOverflow();\n\t}\n\n\t/* =================== Actions Management =================== */\n\n\tprivate buildActions() {\n\t\tthis.actions = [\n\t\t\t{\n\t\t\t\tid: ShellBarActions.Search,\n\t\t\t\ticon: searchIcon,\n\t\t\t\tenabled: this.enabledFeatures.search,\n\t\t\t\tselector: ShellBarActionsSelectors.Search,\n\t\t\t\tisProtected: false,\n\t\t\t\tstableDomRef: \"toggle-search\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: ShellBarActions.Assistant,\n\t\t\t\ticon: daIcon,\n\t\t\t\tenabled: this.enabledFeatures.assistant,\n\t\t\t\tselector: ShellBarActionsSelectors.Assistant,\n\t\t\t\tisProtected: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: ShellBarActions.Notifications,\n\t\t\t\ticon: bellIcon,\n\t\t\t\tcount: this.notificationsCount,\n\t\t\t\tenabled: this.enabledFeatures.notifications,\n\t\t\t\tselector: ShellBarActionsSelectors.Notifications,\n\t\t\t\tisProtected: false,\n\t\t\t\tstableDomRef: \"notifications\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: ShellBarActions.Overflow,\n\t\t\t\ticon: overflowIcon,\n\t\t\t\tenabled: this.enabledFeatures.overflow,\n\t\t\t\tselector: ShellBarActionsSelectors.Overflow,\n\t\t\t\tisProtected: true,\n\t\t\t\tstableDomRef: \"overflow\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: ShellBarActions.Profile,\n\t\t\t\tenabled: this.enabledFeatures.profile,\n\t\t\t\tselector: ShellBarActionsSelectors.Profile,\n\t\t\t\tisProtected: true,\n\t\t\t\tstableDomRef: \"profile\",\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: ShellBarActions.ProductSwitch,\n\t\t\t\ticon: gridIcon,\n\t\t\t\tenabled: this.enabledFeatures.productSwitch,\n\t\t\t\tselector: ShellBarActionsSelectors.ProductSwitch,\n\t\t\t\tisProtected: true,\n\t\t\t\tstableDomRef: \"product-switch\",\n\t\t\t},\n\t\t].filter(action => action.enabled);\n\t}\n\n\tgetAction(actionId: ShellBarActionId) {\n\t\treturn this.actions.find(action => action.id === actionId);\n\t}\n\n\tgetActionOverflowText(actionId: ShellBarActionId): string {\n\t\tconst texts: Record<string, string> = {\n\t\t\t[ShellBarActions.Search]: this.texts.search,\n\t\t\t[ShellBarActions.Profile]: this.texts.profile,\n\t\t\t[ShellBarActions.Overflow]: this.texts.overflow,\n\t\t\t[ShellBarActions.Assistant]: this.texts.assistant,\n\t\t\t[ShellBarActions.ProductSwitch]: this.texts.products,\n\t\t\t[ShellBarActions.Notifications]: this.texts.notificationsNoCount,\n\t\t};\n\t\treturn texts[actionId] || actionId;\n\t}\n\n\t/* =================== Breakpoint Management =================== */\n\n\tget isSBreakPoint() {\n\t\treturn this.breakpointSize === \"S\";\n\t}\n\n\tprivate updateBreakpoint() {\n\t\tconst width = this.getBoundingClientRect().width;\n\t\tconst bp = this.breakpoints.find(b => width <= b) || 10000;\n\t\tconst breakpoint = this.breakpointMap[bp];\n\n\t\tif (this.breakpointSize !== breakpoint) {\n\t\t\tthis.breakpointSize = breakpoint;\n\t\t}\n\t}\n\n\t/* =================== Overflow Management =================== */\n\n\tprivate updateOverflow() {\n\t\tif (!this.overflow) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst result = this.overflow.updateOverflow({\n\t\t\tactions: this.actions,\n\t\t\tcontent: this.sortContent(this.content),\n\t\t\tcustomItems: this.sortItems(this.items),\n\t\t\thiddenItemsIds: this.hiddenItemsIds,\n\t\t\tshowSearchField: this.enabledFeatures.search && this.showSearchField,\n\t\t\toverflowOuter: this.overflowOuter!,\n\t\t\toverflowInner: this.overflowInner!,\n\t\t\tsetVisible: (selector: string, visible: boolean) => {\n\t\t\t\tconst element = this.shadowRoot!.querySelector(selector);\n\t\t\t\tif (element) {\n\t\t\t\t\telement.classList[visible ? \"remove\" : \"add\"](\"ui5-shellbar-hidden\");\n\t\t\t\t}\n\t\t\t},\n\t\t});\n\n\t\tthis.handleUpdateOverflowResult(result);\n\n\t\treturn result.hiddenItemsIds;\n\t}\n\n\tprivate handleUpdateOverflowResult(result: ShellBarOverflowResult) {\n\t\tconst { hiddenItemsIds, showOverflowButton } = result;\n\n\t\t// Update items overflow state\n\t\tthis.items.forEach(item => {\n\t\t\titem.inOverflow = hiddenItemsIds.includes(item._id);\n\t\t\tif (item.inOverflow) {\n\t\t\t\t// clear the hidden class to ensure the item is visible in the overflow popover\n\t\t\t\titem.classList.remove(\"ui5-shellbar-hidden\");\n\t\t\t}\n\t\t});\n\n\t\tif (!arraysAreEqual(this.hiddenItemsIds, hiddenItemsIds)) {\n\t\t\tthis.handleContentVisibilityChanged(this.hiddenItemsIds, hiddenItemsIds);\n\t\t\tthis.hiddenItemsIds = hiddenItemsIds;\n\t\t\tthis.showOverflowButton = showOverflowButton;\n\t\t}\n\t\tthis.showFullWidthSearch = this.searchAdaptor?.shouldShowFullScreen() || false;\n\t}\n\n\tprivate handleContentVisibilityChanged(oldHiddenItemsIds: string[], newHiddenItemsIds: string[]) {\n\t\tconst filterContentIds = (ids: string[]) => ids.filter(id => this.content.some(item => (item as any)._individualSlot as string === id));\n\t\tconst oldHiddenContentIds = filterContentIds(oldHiddenItemsIds);\n\t\tconst newHiddenContentIds = filterContentIds(newHiddenItemsIds);\n\n\t\tif (!arraysAreEqual(oldHiddenContentIds, newHiddenContentIds)) {\n\t\t\tthis.fireDecoratorEvent(\"content-item-visibility-change\", {\n\t\t\t\titems: newHiddenContentIds.map(id => this.content.find(item => (item as any)._individualSlot as string === id)!),\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate handleResize() {\n\t\tthis.overflowPopoverOpen = false;\n\t\tthis.updateBreakpoint();\n\t\tconst hiddenItemsIds = this.updateOverflow() ?? [];\n\t\tconst spacerWidth = this.spacer?.getBoundingClientRect().width || 0;\n\t\tthis.searchAdaptor?.autoManageSearchState(hiddenItemsIds.length, spacerWidth);\n\t}\n\n\tisHidden(itemId: string) {\n\t\treturn this.hiddenItemsIds.includes(itemId);\n\t}\n\n\thandleOverflowClick() {\n\t\tthis.overflowPopoverOpen = !this.overflowPopoverOpen;\n\t}\n\n\tonPopoverClose() {\n\t\tthis.overflowPopoverOpen = false;\n\t}\n\n\t/**\n\t * Closes the overflow popover.\n\t * @public\n\t */\n\tcloseOverflow(): void {\n\t\tthis.overflowPopoverOpen = false;\n\t}\n\n\thandleOverflowItemClick(e: MouseEvent) {\n\t\tconst target = e.target as HTMLElement;\n\t\tconst actionId = target.getAttribute(\"data-action-id\");\n\n\t\tlet prevented = e.defaultPrevented; // for custom actions\n\n\t\tif (actionId === ShellBarActions.Notifications) {\n\t\t\tprevented = this.handleNotificationsClick();\n\t\t} else if (actionId === ShellBarActions.Search) {\n\t\t\tprevented = this.handleSearchButtonClick();\n\t\t}\n\n\t\tif (!prevented) {\n\t\t\tthis.overflowPopoverOpen = false;\n\t\t}\n\t}\n\n\tget overflowItems() {\n\t\treturn this.overflow.getOverflowItems({\n\t\t\tactions: this.actions,\n\t\t\tcustomItems: this.sortItems(this.items),\n\t\t\thiddenItemsIds: this.hiddenItemsIds,\n\t\t});\n\t}\n\n\t/**\n\t * Returns badge text for overflow button.\n\t * Shows count if only one item with count is overflowed, otherwise shows attention dot.\n\t */\n\tget overflowBadge(): string | undefined {\n\t\tconst itemsWithCount = this.overflowItems.filter(item => item.data.count);\n\t\tif (itemsWithCount.length === 1) {\n\t\t\treturn itemsWithCount[0].data.count;\n\t\t}\n\t\tif (itemsWithCount.length > 1) {\n\t\t\treturn \" \"; // Attention dot\n\t\t}\n\t\treturn undefined;\n\t}\n\n\t/* =================== Search Management =================== */\n\n\tget search() {\n\t\treturn this.searchField.length ? this.searchField[0] : null;\n\t}\n\n\tget isSelfCollapsibleSearch(): boolean {\n\t\tconst searchField = this.search;\n\t\tif (searchField) {\n\t\t\treturn \"collapsed\" in searchField && \"open\" in searchField;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate getSearchDeps() {\n\t\treturn {\n\t\t\tgetSearchField: () => this.search,\n\t\t\tgetSearchState: () => this.enabledFeatures.search && this.showSearchField,\n\t\t\tgetCSSVariable: (cssVar: string) => this.getCSSVariable(cssVar),\n\t\t\tsetSearchState: (expanded: boolean) => this.setSearchState(expanded),\n\t\t\tgetOverflowed: () => this.overflow.isOverflowing(this.overflowOuter!, this.overflowInner!),\n\t\t};\n\t}\n\n\tget searchAdaptor(): IShellBarSearchController {\n\t\tif (this.isSelfCollapsibleSearch) {\n\t\t\treturn this._searchAdaptor;\n\t\t}\n\t\treturn this._searchAdaptorLegacy;\n\t}\n\n\thandleSearchButtonClick() {\n\t\tconst searchButton = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-search-button\");\n\t\tconst defaultPrevented = !this.fireDecoratorEvent(\"search-button-click\", {\n\t\t\ttargetRef: searchButton!,\n\t\t\tsearchFieldVisible: this.showSearchField,\n\t\t});\n\n\t\tif (defaultPrevented) {\n\t\t\treturn defaultPrevented;\n\t\t}\n\n\t\tthis.setSearchState(!this.showSearchField);\n\n\t\tif (!this.showSearchField) {\n\t\t\treturn defaultPrevented;\n\t\t}\n\n\t\tconst input = this.searchField[0];\n\t\tif (input) {\n\t\t\tinput.focused = true;\n\t\t\tsetTimeout(() => {\n\t\t\t\tinput.focus();\n\t\t\t}, 100);\n\t\t}\n\t\treturn defaultPrevented;\n\t}\n\n\tasync setSearchState(expanded: boolean) {\n\t\tif (expanded === this.showSearchField) {\n\t\t\treturn;\n\t\t}\n\t\tthis.showSearchField = expanded;\n\t\tawait renderFinished();\n\t\tthis.fireDecoratorEvent(\"search-field-toggle\", { expanded });\n\t}\n\n\thandleCancelButtonClick() {\n\t\tconst cancelBtn = this.shadowRoot!.querySelector<Button>(\".ui5-shellbar-cancel-button\");\n\t\tif (!cancelBtn) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst clearDefaultPrevented = !this.fireDecoratorEvent(\"search-field-clear\", {\n\t\t\ttargetRef: cancelBtn,\n\t\t});\n\n\t\tthis.showFullWidthSearch = false;\n\t\tthis.setSearchState(false);\n\n\t\tif (!clearDefaultPrevented && this.search) {\n\t\t\tthis.search.value = \"\";\n\t\t}\n\t}\n\n\t/* =================== Legacy Features Management =================== */\n\n\tprivate initLegacyController() {\n\t\tif (this.hasLegacyFeatures) {\n\t\t\tthis.legacyAdaptor = new ShellBarLegacy({\n\t\t\t\tcomponent: this,\n\t\t\t\tgetShadowRoot: () => this.shadowRoot,\n\t\t\t});\n\t\t}\n\t}\n\n\tget hasLegacyFeatures(): boolean {\n\t\treturn this.logo.length > 0\n\t\t\t|| !!this.primaryTitle\n\t\t\t|| !!this.secondaryTitle\n\t\t\t|| this.menuItems.length > 0;\n\t}\n\n\t/* =================== Keyboard Navigation =================== */\n\n\t_onKeyDown(e: KeyboardEvent) {\n\t\tthis.itemNavigation.handleKeyDown(e);\n\t}\n\n\t/* =================== Content Management =================== */\n\n\tget startContent(): HTMLElement[] {\n\t\treturn this.splitContent(this.content).start;\n\t}\n\n\tget endContent(): HTMLElement[] {\n\t\treturn this.splitContent(this.content).end;\n\t}\n\n\tget separatorConfig() {\n\t\tconst { start, end } = this.splitContent(this.content);\n\n\t\treturn {\n\t\t\tshowStartSeparator: start.some(item => !this.hiddenItemsIds.includes((item as any)._individualSlot as string)),\n\t\t\tshowEndSeparator: end.some(item => !this.hiddenItemsIds.includes((item as any)._individualSlot as string)),\n\t\t};\n\t}\n\n\tsplitContent(content: readonly HTMLElement[]) {\n\t\tconst spacerIndex = content.findIndex(\n\t\t\tchild => child.hasAttribute(\"ui5-shellbar-spacer\"),\n\t\t);\n\n\t\tif (spacerIndex === -1) {\n\t\t\treturn { start: [...content], end: [] };\n\t\t}\n\n\t\treturn {\n\t\t\tstart: content.slice(0, spacerIndex),\n\t\t\tend: content.slice(spacerIndex + 1),\n\t\t};\n\t}\n\n\tsortContent(content: readonly HTMLElement[]) {\n\t\t// reverse so items on the right are hidden first\n\t\t// then sort by hide order to apply custom preferences\n\t\treturn content.toReversed().toSorted((a, b) => {\n\t\t\tconst aOrder = parseInt(a.getAttribute(\"data-hide-order\") || \"0\");\n\t\t\tconst bOrder = parseInt(b.getAttribute(\"data-hide-order\") || \"0\");\n\t\t\treturn aOrder - bOrder;\n\t\t});\n\t}\n\n\t/*\n\t * Determines whether a separator should be packed with an item.\n\t * Separators are packed with the last item that is hidden to account for\n\t * the space they occupy when next overflow calculation occurs.\n\t */\n\tgetPackedSeparatorInfo(item: HTMLElement, isStartGroup: boolean) {\n\t\tconst group = isStartGroup ? this.startContent : this.endContent;\n\t\tconst sorted = this.sortContent(group);\n\t\tconst isHidden = this.hiddenItemsIds.includes((item as any)._individualSlot as string);\n\t\tconst isLastItem = sorted.at(-1) === item;\n\n\t\treturn { shouldPack: isHidden && isLastItem };\n\t}\n\n\t/* =================== Items Management =================== */\n\n\tsortItems(items: readonly ShellBarItem[]) {\n\t\treturn items.toSorted((a, b) => {\n\t\t\tconst aIndex = PREDEFINED_PLACE_ITEMS.indexOf(a.icon || \"\");\n\t\t\tconst bIndex = PREDEFINED_PLACE_ITEMS.indexOf(b.icon || \"\");\n\t\t\treturn aIndex - bIndex;\n\t\t});\n\t}\n\n\t/* =================== Accessibility =================== */\n\n\tget actionsAccessibilityInfo(): ShellBarAccessibilityInfo {\n\t\treturn this.accessibility.getActionsAccessibilityAttributes(this.texts, {\n\t\t\toverflowPopoverOpen: this.overflowPopoverOpen,\n\t\t\taccessibilityAttributes: this.accessibilityAttributes,\n\t\t});\n\t}\n\n\tget actionsRole(): \"toolbar\" | undefined {\n\t\tconst visibleCount = this.actions.filter(a => !this.hiddenItemsIds.includes(a.id)).length;\n\t\treturn this.accessibility.getActionsRole(visibleCount);\n\t}\n\n\tget contentRole(): \"group\" | undefined {\n\t\tconst visibleItemsCount = this.content.filter(item => !this.hiddenItemsIds.includes((item as any)._individualSlot as string)).length;\n\t\treturn this.accessibility.getContentRole(visibleItemsCount);\n\t}\n\n\t/* =================== Common Members =================== */\n\n\tget enabledFeatures() {\n\t\treturn {\n\t\t\tsearch: this.searchField.length > 0,\n\t\t\tprofile: this.profile.length > 0,\n\t\t\tcontent: this.content.length > 0,\n\t\t\tbranding: this.branding.length > 0,\n\t\t\toverflow: this.showOverflowButton,\n\t\t\tassistant: this.assistant.length > 0,\n\t\t\tstartButton: this.startButton.length > 0,\n\t\t\tnotifications: this.showNotifications,\n\t\t\tproductSwitch: this.showProductSwitch,\n\t\t};\n\t}\n\n\tget texts() {\n\t\treturn {\n\t\t\tsearch: ShellBar.i18nBundle.getText(SHELLBAR_SEARCH),\n\t\t\tprofile: ShellBar.i18nBundle.getText(SHELLBAR_PROFILE),\n\t\t\tshellbar: ShellBar.i18nBundle.getText(SHELLBAR_LABEL),\n\t\t\tproducts: ShellBar.i18nBundle.getText(SHELLBAR_PRODUCTS),\n\t\t\toverflow: ShellBar.i18nBundle.getText(SHELLBAR_OVERFLOW),\n\t\t\tassistant: ShellBar.i18nBundle.getText(SHELLBAR_ASSISTANT),\n\t\t\tnotifications: ShellBar.i18nBundle.getText(SHELLBAR_NOTIFICATIONS, this.notificationsCount || 0),\n\t\t\tnotificationsNoCount: ShellBar.i18nBundle.getText(SHELLBAR_NOTIFICATIONS_NO_COUNT),\n\t\t\tcontentItems: this.content.length > 1 ? ShellBar.i18nBundle.getText(SHELLBAR_ADDITIONAL_CONTEXT) : undefined,\n\t\t};\n\t}\n\n\tget popoverHorizontalAlign(): \"Start\" | \"End\" {\n\t\treturn this.effectiveDir === \"rtl\" ? \"Start\" : \"End\";\n\t}\n\n\t/**\n\t * Returns the `logo` DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget logoDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"logo\"]`);\n\t}\n\n\t/**\n\t * Returns the `notifications` icon DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget notificationsDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"notifications\"]`);\n\t}\n\n\t/**\n\t * Returns the `overflow` icon DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget overflowDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"overflow\"]`);\n\t}\n\n\t/**\n\t * Returns the `profile` icon DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget profileDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"profile\"]`);\n\t}\n\n\t/**\n\t * Returns the `product-switch` icon DOM ref.\n\t * @public\n\t * @default null\n\t * @since 1.0.0-rc.16\n\t */\n\tget productSwitchDomRef(): HTMLElement | null {\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"product-switch\"]`);\n\t}\n\n\t/**\n\t * Returns the search button DOM reference.\n\t * @public\n\t */\n\tasync getSearchButtonDomRef(): Promise<HTMLElement | null> {\n\t\tawait renderFinished();\n\t\treturn this.shadowRoot!.querySelector<HTMLElement>(`*[data-ui5-stable=\"toggle-search\"]`);\n\t}\n\n\tprivate _fireClickEvent(eventName: string, domRef: HTMLElement | null): boolean {\n\t\treturn domRef ? !this.fireDecoratorEvent(eventName as any, { targetRef: domRef }) : false;\n\t}\n\n\thandleNotificationsClick() {\n\t\treturn this._fireClickEvent(\"notifications-click\", this.notificationsDomRef);\n\t}\n\n\thandleProfileClick() {\n\t\treturn this._fireClickEvent(\"profile-click\", this.profileDomRef);\n\t}\n\n\thandleProductSwitchClick() {\n\t\treturn this._fireClickEvent(\"product-switch-click\", this.productSwitchDomRef);\n\t}\n\n\tgetCSSVariable(cssVar: string): string {\n\t\tconst styleSet = getComputedStyle(this.getDomRef()!);\n\t\treturn styleSet.getPropertyValue(getScopedVarName(cssVar));\n\t}\n}\n\nShellBar.define();\n\nexport default ShellBar;\nexport {\n\tShellBarActions,\n\tShellBarActionsSelectors,\n};\nexport type {\n\t/* Event Types */\n\tShellBarProfileClickEventDetail,\n\tShellBarSearchFieldClearEventDetail,\n\tShellBarSearchFieldToggleEventDetail,\n\tShellBarProductSwitchClickEventDetail,\n\tShellBarNotificationsClickEventDetail,\n\tShellBarContentItemVisibilityChangeEventDetail,\n\t/* Common Types */\n\tShellBarActionId,\n\tShellBarActionItem,\n\tIShellBarSearchField,\n\tShellBarBreakpoint,\n\t/* Accessibility Types */\n\tShellBarAccessibilityInfo,\n\tShellBarAccessibilityAttributes,\n\tShellBarAreaAccessibilityAttributes,\n\tShellBarProfileAccessibilityAttributes,\n\t/* Legacy Types (DELETE WHEN REMOVING LEGACY) */\n\tShellBarLogoClickEventDetail,\n\tShellBarMenuItemClickEventDetail,\n\tShellBarLogoAccessibilityAttributes,\n};\n"]}
|
package/dist/ShellBarItem.d.ts
CHANGED
|
@@ -1,75 +1,59 @@
|
|
|
1
1
|
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
2
2
|
import type { AccessibilityAttributes, UI5CustomEvent } from "@ui5/webcomponents-base";
|
|
3
|
-
import
|
|
3
|
+
import Button from "@ui5/webcomponents/dist/Button.js";
|
|
4
4
|
type ShellBarItemClickEventDetail = {
|
|
5
5
|
targetRef: HTMLElement;
|
|
6
6
|
};
|
|
7
7
|
type ShellBarItemAccessibilityAttributes = Pick<AccessibilityAttributes, "expanded" | "hasPopup" | "controls">;
|
|
8
|
-
/**
|
|
9
|
-
* Interface for components that may be slotted inside `ui5-shellbar` as items
|
|
10
|
-
* @public
|
|
11
|
-
*/
|
|
12
8
|
/**
|
|
13
9
|
* @class
|
|
14
|
-
* The `ui5-shellbar-item` represents a custom item
|
|
15
|
-
* might be added to the `ui5-shellbar`.
|
|
10
|
+
* The `ui5-shellbar-item` represents a custom item for `ui5-shellbar`.
|
|
16
11
|
*
|
|
17
12
|
* ### ES6 Module Import
|
|
18
13
|
* `import "@ui5/webcomponents-fiori/dist/ShellBarItem.js";`
|
|
19
14
|
* @constructor
|
|
20
15
|
* @extends UI5Element
|
|
21
|
-
* @abstract
|
|
22
16
|
* @public
|
|
17
|
+
* @experimental
|
|
23
18
|
*/
|
|
24
19
|
declare class ShellBarItem extends UI5Element {
|
|
25
20
|
eventDetails: {
|
|
26
21
|
click: ShellBarItemClickEventDetail;
|
|
27
22
|
};
|
|
28
23
|
/**
|
|
29
|
-
* Defines the
|
|
24
|
+
* Defines the item's icon.
|
|
30
25
|
* @default undefined
|
|
31
26
|
* @public
|
|
32
27
|
*/
|
|
33
28
|
icon?: string;
|
|
34
29
|
/**
|
|
35
30
|
* Defines the item text.
|
|
36
|
-
*
|
|
37
|
-
* **Note:** The text is only displayed inside the overflow popover list view.
|
|
38
31
|
* @default undefined
|
|
39
32
|
* @public
|
|
40
33
|
*/
|
|
41
34
|
text?: string;
|
|
42
35
|
/**
|
|
43
|
-
* Defines the count displayed in
|
|
36
|
+
* Defines the count displayed in badge.
|
|
44
37
|
* @default undefined
|
|
45
|
-
* @since 1.0.0-rc.6
|
|
46
38
|
* @public
|
|
47
39
|
*/
|
|
48
40
|
count?: string;
|
|
49
41
|
/**
|
|
50
|
-
* Defines
|
|
51
|
-
*
|
|
52
|
-
* The accessibility attributes support the following values:
|
|
53
|
-
*
|
|
54
|
-
* - **expanded**: Indicates whether the button, or another grouping element it controls,
|
|
55
|
-
* is currently expanded or collapsed.
|
|
56
|
-
* Accepts the following string values: `true` or `false`.
|
|
57
|
-
*
|
|
58
|
-
* - **hasPopup**: Indicates the availability and type of interactive popup element,
|
|
59
|
-
* such as menu or dialog, that can be triggered by the button.
|
|
60
|
-
*
|
|
61
|
-
* - **controls**: Identifies the element (or elements) whose contents
|
|
62
|
-
* or presence are controlled by the component.
|
|
63
|
-
* Accepts a lowercase string value, referencing the ID of the element it controls.
|
|
64
|
-
*
|
|
42
|
+
* Defines accessibility attributes.
|
|
65
43
|
* @default {}
|
|
66
44
|
* @public
|
|
67
|
-
* @since 2.9.0
|
|
68
45
|
*/
|
|
69
46
|
accessibilityAttributes: ShellBarItemAccessibilityAttributes;
|
|
47
|
+
/**
|
|
48
|
+
* Indicates if item is in overflow popover.
|
|
49
|
+
* @default false
|
|
50
|
+
* @private
|
|
51
|
+
*/
|
|
52
|
+
inOverflow: boolean;
|
|
70
53
|
get stableDomRef(): string;
|
|
54
|
+
hasListItems(): boolean;
|
|
55
|
+
get listItems(): HTMLElement[];
|
|
71
56
|
fireClickEvent(e: UI5CustomEvent<Button, "click">): boolean;
|
|
72
57
|
}
|
|
73
58
|
export default ShellBarItem;
|
|
74
|
-
export type { ShellBarItemClickEventDetail };
|
|
75
|
-
export type { ShellBarItemAccessibilityAttributes };
|
|
59
|
+
export type { ShellBarItemClickEventDetail, ShellBarItemAccessibilityAttributes };
|
package/dist/ShellBarItem.js
CHANGED
|
@@ -8,50 +8,52 @@ import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
|
|
|
8
8
|
import property from "@ui5/webcomponents-base/dist/decorators/property.js";
|
|
9
9
|
import event from "@ui5/webcomponents-base/dist/decorators/event-strict.js";
|
|
10
10
|
import customElement from "@ui5/webcomponents-base/dist/decorators/customElement.js";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
import jsxRenderer from "@ui5/webcomponents-base/dist/renderer/JsxRenderer.js";
|
|
12
|
+
import Button from "@ui5/webcomponents/dist/Button.js";
|
|
13
|
+
import ButtonBadge from "@ui5/webcomponents/dist/ButtonBadge.js";
|
|
14
|
+
import ListItemStandard from "@ui5/webcomponents/dist/ListItemStandard.js";
|
|
15
|
+
import ShellBarItemTemplate from "./ShellBarItemTemplate.js";
|
|
16
|
+
import shellBarV2ItemStyles from "./generated/themes/ShellBarItem.css.js";
|
|
15
17
|
/**
|
|
16
18
|
* @class
|
|
17
|
-
* The `ui5-shellbar-item` represents a custom item
|
|
18
|
-
* might be added to the `ui5-shellbar`.
|
|
19
|
+
* The `ui5-shellbar-item` represents a custom item for `ui5-shellbar`.
|
|
19
20
|
*
|
|
20
21
|
* ### ES6 Module Import
|
|
21
22
|
* `import "@ui5/webcomponents-fiori/dist/ShellBarItem.js";`
|
|
22
23
|
* @constructor
|
|
23
24
|
* @extends UI5Element
|
|
24
|
-
* @abstract
|
|
25
25
|
* @public
|
|
26
|
+
* @experimental
|
|
26
27
|
*/
|
|
27
28
|
let ShellBarItem = class ShellBarItem extends UI5Element {
|
|
28
29
|
constructor() {
|
|
29
30
|
super(...arguments);
|
|
30
31
|
/**
|
|
31
|
-
* Defines
|
|
32
|
-
*
|
|
33
|
-
* The accessibility attributes support the following values:
|
|
34
|
-
*
|
|
35
|
-
* - **expanded**: Indicates whether the button, or another grouping element it controls,
|
|
36
|
-
* is currently expanded or collapsed.
|
|
37
|
-
* Accepts the following string values: `true` or `false`.
|
|
38
|
-
*
|
|
39
|
-
* - **hasPopup**: Indicates the availability and type of interactive popup element,
|
|
40
|
-
* such as menu or dialog, that can be triggered by the button.
|
|
41
|
-
*
|
|
42
|
-
* - **controls**: Identifies the element (or elements) whose contents
|
|
43
|
-
* or presence are controlled by the component.
|
|
44
|
-
* Accepts a lowercase string value, referencing the ID of the element it controls.
|
|
45
|
-
*
|
|
32
|
+
* Defines accessibility attributes.
|
|
46
33
|
* @default {}
|
|
47
34
|
* @public
|
|
48
|
-
* @since 2.9.0
|
|
49
35
|
*/
|
|
50
36
|
this.accessibilityAttributes = {};
|
|
37
|
+
/**
|
|
38
|
+
* Indicates if item is in overflow popover.
|
|
39
|
+
* @default false
|
|
40
|
+
* @private
|
|
41
|
+
*/
|
|
42
|
+
this.inOverflow = false;
|
|
51
43
|
}
|
|
52
44
|
get stableDomRef() {
|
|
53
45
|
return this.getAttribute("stable-dom-ref") || `${this._id}-stable-dom-ref`;
|
|
54
46
|
}
|
|
47
|
+
hasListItems() {
|
|
48
|
+
return this.inOverflow;
|
|
49
|
+
}
|
|
50
|
+
get listItems() {
|
|
51
|
+
const domRef = this.getDomRef();
|
|
52
|
+
if (!domRef || !this.inOverflow) {
|
|
53
|
+
return [];
|
|
54
|
+
}
|
|
55
|
+
return [domRef];
|
|
56
|
+
}
|
|
55
57
|
fireClickEvent(e) {
|
|
56
58
|
return this.fireDecoratorEvent("click", {
|
|
57
59
|
targetRef: e.target,
|
|
@@ -70,10 +72,19 @@ __decorate([
|
|
|
70
72
|
__decorate([
|
|
71
73
|
property({ type: Object })
|
|
72
74
|
], ShellBarItem.prototype, "accessibilityAttributes", void 0);
|
|
75
|
+
__decorate([
|
|
76
|
+
property({ type: Boolean })
|
|
77
|
+
], ShellBarItem.prototype, "inOverflow", void 0);
|
|
73
78
|
ShellBarItem = __decorate([
|
|
74
|
-
customElement(
|
|
79
|
+
customElement({
|
|
80
|
+
tag: "ui5-shellbar-item",
|
|
81
|
+
renderer: jsxRenderer,
|
|
82
|
+
template: ShellBarItemTemplate,
|
|
83
|
+
styles: shellBarV2ItemStyles,
|
|
84
|
+
dependencies: [Button, ButtonBadge, ListItemStandard],
|
|
85
|
+
})
|
|
75
86
|
/**
|
|
76
|
-
* Fired
|
|
87
|
+
* Fired when the item is clicked.
|
|
77
88
|
* @param {HTMLElement} targetRef DOM ref of the clicked element
|
|
78
89
|
* @public
|
|
79
90
|
*/
|
package/dist/ShellBarItem.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShellBarItem.js","sourceRoot":"","sources":["../src/ShellBarItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,aAAa,MAAM,0DAA0D,CAAC;
|
|
1
|
+
{"version":3,"file":"ShellBarItem.js","sourceRoot":"","sources":["../src/ShellBarItem.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,UAAU,MAAM,4CAA4C,CAAC;AACpE,OAAO,QAAQ,MAAM,qDAAqD,CAAC;AAC3E,OAAO,KAAK,MAAM,yDAAyD,CAAC;AAC5E,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,WAAW,MAAM,sDAAsD,CAAC;AAE/E,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,WAAW,MAAM,wCAAwC,CAAC;AACjE,OAAO,gBAAgB,MAAM,6CAA6C,CAAC;AAC3E,OAAO,oBAAoB,MAAM,2BAA2B,CAAC;AAC7D,OAAO,oBAAoB,MAAM,wCAAwC,CAAC;AAQ1E;;;;;;;;;;GAUG;AAiBH,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,UAAU;IAArC;;QA6BC;;;;WAIG;QAEH,4BAAuB,GAAwC,EAAE,CAAC;QAElE;;;;WAIG;QAEH,eAAU,GAAG,KAAK,CAAC;IAuBpB,CAAC;IArBA,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,iBAAiB,CAAC;IAC5E,CAAC;IAED,YAAY;QACX,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,IAAI,SAAS;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACjC,OAAO,EAAE,CAAC;QACX,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC;IAED,cAAc,CAAC,CAAkC;QAChD,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE;YACvC,SAAS,EAAG,CAAC,CAAC,MAAsB;SACpC,CAAC,CAAC;IACJ,CAAC;CACD,CAAA;AAvDA;IADC,QAAQ,EAAE;0CACG;AAQd;IADC,QAAQ,EAAE;0CACG;AAQd;IADC,QAAQ,EAAE;2CACI;AAQf;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6DACuC;AAQlE;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gDACT;AA3Cd,YAAY;IAhBjB,aAAa,CAAC;QACd,GAAG,EAAE,mBAAmB;QACxB,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,oBAAoB;QAC9B,MAAM,EAAE,oBAAoB;QAC5B,YAAY,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,gBAAgB,CAAC;KACrD,CAAC;IACF;;;;OAIG;;IACF,KAAK,CAAC,OAAO,EAAE;QACf,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;KAChB,CAAC;GACI,YAAY,CAkEjB;AAED,YAAY,CAAC,MAAM,EAAE,CAAC;AAEtB,eAAe,YAAY,CAAC","sourcesContent":["import UI5Element from \"@ui5/webcomponents-base/dist/UI5Element.js\";\nimport property from \"@ui5/webcomponents-base/dist/decorators/property.js\";\nimport event from \"@ui5/webcomponents-base/dist/decorators/event-strict.js\";\nimport customElement from \"@ui5/webcomponents-base/dist/decorators/customElement.js\";\nimport jsxRenderer from \"@ui5/webcomponents-base/dist/renderer/JsxRenderer.js\";\nimport type { AccessibilityAttributes, UI5CustomEvent } from \"@ui5/webcomponents-base\";\nimport Button from \"@ui5/webcomponents/dist/Button.js\";\nimport ButtonBadge from \"@ui5/webcomponents/dist/ButtonBadge.js\";\nimport ListItemStandard from \"@ui5/webcomponents/dist/ListItemStandard.js\";\nimport ShellBarItemTemplate from \"./ShellBarItemTemplate.js\";\nimport shellBarV2ItemStyles from \"./generated/themes/ShellBarItem.css.js\";\n\ntype ShellBarItemClickEventDetail = {\n\ttargetRef: HTMLElement,\n};\n\ntype ShellBarItemAccessibilityAttributes = Pick<AccessibilityAttributes, \"expanded\" | \"hasPopup\" | \"controls\">;\n\n/**\n * @class\n * The `ui5-shellbar-item` represents a custom item for `ui5-shellbar`.\n *\n * ### ES6 Module Import\n * `import \"@ui5/webcomponents-fiori/dist/ShellBarItem.js\";`\n * @constructor\n * @extends UI5Element\n * @public\n * @experimental\n */\n@customElement({\n\ttag: \"ui5-shellbar-item\",\n\trenderer: jsxRenderer,\n\ttemplate: ShellBarItemTemplate,\n\tstyles: shellBarV2ItemStyles,\n\tdependencies: [Button, ButtonBadge, ListItemStandard],\n})\n/**\n * Fired when the item is clicked.\n * @param {HTMLElement} targetRef DOM ref of the clicked element\n * @public\n */\n@event(\"click\", {\n\tbubbles: true,\n\tcancelable: true,\n})\nclass ShellBarItem extends UI5Element {\n\teventDetails!: {\n\t\tclick: ShellBarItemClickEventDetail,\n\t}\n\n\t/**\n\t * Defines the item's icon.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ticon?: string;\n\n\t/**\n\t * Defines the item text.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\ttext?: string;\n\n\t/**\n\t * Defines the count displayed in badge.\n\t * @default undefined\n\t * @public\n\t */\n\t@property()\n\tcount?: string;\n\n\t/**\n\t * Defines accessibility attributes.\n\t * @default {}\n\t * @public\n\t */\n\t@property({ type: Object })\n\taccessibilityAttributes: ShellBarItemAccessibilityAttributes = {};\n\n\t/**\n\t * Indicates if item is in overflow popover.\n\t * @default false\n\t * @private\n\t */\n\t@property({ type: Boolean })\n\tinOverflow = false;\n\n\tget stableDomRef() {\n\t\treturn this.getAttribute(\"stable-dom-ref\") || `${this._id}-stable-dom-ref`;\n\t}\n\n\thasListItems() {\n\t\treturn this.inOverflow;\n\t}\n\n\tget listItems() {\n\t\tconst domRef = this.getDomRef();\n\t\tif (!domRef || !this.inOverflow) {\n\t\t\treturn [];\n\t\t}\n\t\treturn [domRef];\n\t}\n\n\tfireClickEvent(e: UI5CustomEvent<Button, \"click\">) {\n\t\treturn this.fireDecoratorEvent(\"click\", {\n\t\t\ttargetRef: (e.target as HTMLElement),\n\t\t});\n\t}\n}\n\nShellBarItem.define();\n\nexport default ShellBarItem;\nexport type { ShellBarItemClickEventDetail, ShellBarItemAccessibilityAttributes };\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsx as _jsx } from "@ui5/webcomponents-base/jsx-runtime";
|
|
2
|
+
import Button from "@ui5/webcomponents/dist/Button.js";
|
|
3
|
+
import ButtonBadge from "@ui5/webcomponents/dist/ButtonBadge.js";
|
|
4
|
+
import ListItemStandard from "@ui5/webcomponents/dist/ListItemStandard.js";
|
|
5
|
+
export default function ShellBarItemTemplate() {
|
|
6
|
+
if (this.inOverflow) {
|
|
7
|
+
return (_jsx(ListItemStandard, { icon: this.icon ? `sap-icon://${this.icon}` : "", type: "Active", "data-count": this.count, "data-ui5-stable": this.stableDomRef, accessibilityAttributes: this.accessibilityAttributes, children: this.text }));
|
|
8
|
+
}
|
|
9
|
+
return (_jsx(Button, { class: "ui5-shellbar-action-button", icon: this.icon, design: "Transparent", accessibleName: this.text, "data-ui5-stable": this.stableDomRef, accessibilityAttributes: this.accessibilityAttributes, onClick: this.fireClickEvent, children: this.count && (_jsx(ButtonBadge, { slot: "badge", design: "OverlayText", text: this.count })) }));
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=ShellBarItemTemplate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShellBarItemTemplate.js","sourceRoot":"","sources":["../src/ShellBarItemTemplate.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,WAAW,MAAM,wCAAwC,CAAC;AACjE,OAAO,gBAAgB,MAAM,6CAA6C,CAAC;AAG3E,MAAM,CAAC,OAAO,UAAU,oBAAoB;IAC3C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CACN,KAAC,gBAAgB,IAChB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAChD,IAAI,EAAC,QAAQ,gBACD,IAAI,CAAC,KAAK,qBACL,IAAI,CAAC,YAAY,EAClC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,YAEpD,IAAI,CAAC,IAAI,GACQ,CACnB,CAAC;IACH,CAAC;IAED,OAAO,CACN,KAAC,MAAM,IACN,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAC,aAAa,EACpB,cAAc,EAAE,IAAI,CAAC,IAAI,qBACR,IAAI,CAAC,YAAY,EAClC,uBAAuB,EAAE,IAAI,CAAC,uBAAuB,EACrD,OAAO,EAAE,IAAI,CAAC,cAAc,YAE3B,IAAI,CAAC,KAAK,IAAI,CACd,KAAC,WAAW,IAAC,IAAI,EAAC,OAAO,EAAC,MAAM,EAAC,aAAa,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,GAAI,CACnE,GACO,CACT,CAAC;AACH,CAAC","sourcesContent":["import Button from \"@ui5/webcomponents/dist/Button.js\";\nimport ButtonBadge from \"@ui5/webcomponents/dist/ButtonBadge.js\";\nimport ListItemStandard from \"@ui5/webcomponents/dist/ListItemStandard.js\";\nimport type ShellBarItem from \"./ShellBarItem.js\";\n\nexport default function ShellBarItemTemplate(this: ShellBarItem) {\n\tif (this.inOverflow) {\n\t\treturn (\n\t\t\t<ListItemStandard\n\t\t\t\ticon={this.icon ? `sap-icon://${this.icon}` : \"\"}\n\t\t\t\ttype=\"Active\"\n\t\t\t\tdata-count={this.count}\n\t\t\t\tdata-ui5-stable={this.stableDomRef}\n\t\t\t\taccessibilityAttributes={this.accessibilityAttributes}\n\t\t\t>\n\t\t\t\t{this.text}\n\t\t\t</ListItemStandard>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\tclass=\"ui5-shellbar-action-button\"\n\t\t\ticon={this.icon}\n\t\t\tdesign=\"Transparent\"\n\t\t\taccessibleName={this.text}\n\t\t\tdata-ui5-stable={this.stableDomRef}\n\t\t\taccessibilityAttributes={this.accessibilityAttributes}\n\t\t\tonClick={this.fireClickEvent}\n\t\t>\n\t\t\t{this.count && (\n\t\t\t\t<ButtonBadge slot=\"badge\" design=\"OverlayText\" text={this.count} />\n\t\t\t)}\n\t\t</Button>\n\t);\n}\n"]}
|