xv-webcomponents 0.1.60-qa.0 → 0.1.63-qa.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/xv-accordion-v2_40.cjs.entry.js +113 -38
  3. package/dist/cjs/xv-accordion-v2_40.cjs.entry.js.map +1 -1
  4. package/dist/cjs/xv-webcomponents.cjs.js +1 -1
  5. package/dist/collection/components/xv-dropdown/xv-dropdown.css +13 -0
  6. package/dist/collection/components/xv-dropdown/xv-dropdown.js +24 -3
  7. package/dist/collection/components/xv-dropdown/xv-dropdown.js.map +1 -1
  8. package/dist/collection/components/xv-header/xv-header.js +21 -4
  9. package/dist/collection/components/xv-header/xv-header.js.map +1 -1
  10. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.js +1 -1
  11. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.js +2 -2
  12. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.js.map +1 -1
  13. package/dist/collection/components/xv-pagination/xv-pagination.css +114 -1
  14. package/dist/collection/components/xv-pagination/xv-pagination.js +114 -32
  15. package/dist/collection/components/xv-pagination/xv-pagination.js.map +1 -1
  16. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.js +1 -1
  17. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js +1 -1
  18. package/dist/collection/components/xv-slider/xv-slider.js +1 -1
  19. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js +1 -1
  20. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js +1 -1
  21. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js +1 -1
  22. package/dist/collection/components/xv-table/xv-table.js +1 -1
  23. package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js +1 -1
  24. package/dist/collection/components/xv-tag/xv-tag.js +1 -1
  25. package/dist/collection/components/xv-text-input/xv-text-input.css +11 -5
  26. package/dist/collection/components/xv-text-input/xv-text-input.js +11 -2
  27. package/dist/collection/components/xv-text-input/xv-text-input.js.map +1 -1
  28. package/dist/collection/components/xv-textarea/xv-textarea.js +2 -2
  29. package/dist/collection/components/xv-tile/xv-tile.js +2 -2
  30. package/dist/collection/components/xv-toggle/xv-toggle.js +1 -1
  31. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.js +1 -1
  32. package/dist/collection/components/xv-tooltip/xv-tooltip.js +2 -2
  33. package/dist/esm/loader.js +1 -1
  34. package/dist/esm/xv-accordion-v2_40.entry.js +113 -38
  35. package/dist/esm/xv-accordion-v2_40.entry.js.map +1 -1
  36. package/dist/esm/xv-webcomponents.js +1 -1
  37. package/dist/types/components/xv-dropdown/xv-dropdown.d.ts +1 -0
  38. package/dist/types/components/xv-header/xv-header.d.ts +2 -0
  39. package/dist/types/components/xv-pagination/xv-pagination.d.ts +16 -4
  40. package/dist/types/components/xv-text-input/xv-text-input.d.ts +2 -0
  41. package/dist/types/components.d.ts +42 -24
  42. package/dist/xv-webcomponents/{p-d5f0a8ad.entry.js → p-d5e7b808.entry.js} +2 -2
  43. package/dist/xv-webcomponents/p-d5e7b808.entry.js.map +1 -0
  44. package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -1
  45. package/package.json +1 -1
  46. package/dist/xv-webcomponents/p-d5f0a8ad.entry.js.map +0 -1
@@ -18,7 +18,7 @@ var patchBrowser = () => {
18
18
 
19
19
  patchBrowser().then(async (options) => {
20
20
  await index.globalScripts();
21
- return index.bootstrapLazy([["xv-breadcrumbs-v2.cjs",[[1,"xv-breadcrumbs-v2"]]],["xv-accordion-v2_40.cjs",[[1,"xv-data-table-row",{"variant":[1],"name":[1025],"collapse":[1],"collapsable":[516],"checked":[1028],"partial":[1028],"hover":[1028],"header":[4],"footer":[4],"disabled":[4],"readonly":[4],"required":[4],"value":[8],"collapsed":[32]}],[65,"xv-datepicker",{"value":[1040],"variant":[1],"label":[1],"helper":[1],"error":[8],"warning":[8],"readonly":[4],"disabled":[4],"loading":[4],"block":[4],"size":[513],"min":[1],"max":[1],"month":[32],"days":[32],"open":[32],"localError":[32]},[[4,"click","handleClickOutside"]],{"open":["openChange"],"month":["getCalendarGrid"],"value":["handleValueChange"]}],[1,"xv-dropdown-v2",{"disabled":[516],"multiple":[516],"required":[516],"loading":[516],"open":[1540],"error":[513],"label":[513],"helper":[513],"warning":[513],"placeholder":[513],"info":[1],"size":[1],"defaultValue":[8,"default-value"],"selected":[32],"selectedMap":[32]},[[0,"itemSelected","handleItemSelected"]],{"open":["openChangeHandle"]}],[1,"xv-file-uploader",{"label":[1],"description":[1],"addText":[1,"add-text"],"variant":[1],"size":[1],"accept":[16],"buttonVariant":[1,"button-variant"],"maxFileSizeMB":[2,"max-file-size-mb"],"maxFiles":[2,"max-files"],"multiple":[4],"disabled":[516],"files":[1040],"loadingStates":[1040,"loading-states"],"error":[1537],"errors":[1040],"dragActive":[32],"errorMessages":[32],"clearFiles":[64]}],[65,"xv-number-input-v2",{"label":[1],"placeholder":[513],"name":[513],"value":[1538],"helper":[1],"error":[8],"warning":[8],"step":[2],"max":[2],"min":[2],"readonly":[4],"disabled":[4],"loading":[4],"block":[4],"size":[513]}],[1,"xv-table-v2-row",{"checked":[1540],"partial":[1540],"name":[1537],"value":[520],"hover":[1540],"readonly":[516],"required":[516],"disabled":[516],"header":[516],"variant":[1537]},null,{"checked":["checkedChangeHandle"]}],[65,"xv-textarea",{"value":[1025],"name":[1],"label":[1],"placeholder":[1],"helper":[1],"info":[1],"error":[8],"warning":[8],"disabled":[4],"readonly":[4],"block":[4],"counterHide":[4,"counter-hide"],"noResize":[4,"no-resize"],"loading":[4],"max":[2],"rows":[2],"size":[513]}],[1,"xv-data-table",{"size":[1],"block":[4],"loading":[4],"columnWidths":[16,"column-widths"],"hover":[4]}],[0,"xv-header",{"htmlContent":[32],"showLoginModal":[32],"isCockpitMenuExpanded":[32],"isEntitiesMenuExpanded":[32],"isUserMenuExpanded":[32],"suggestions":[32],"searchQuery":[32],"listPosition":[32],"showPopover":[32]}],[1,"xv-modal-v2",{"open":[1540],"permanent":[516],"size":[513],"overflow":[516],"loading":[4],"openModal":[64],"closeModal":[64]}],[1,"xv-overflow-menu-v2",{"open":[1540],"disabled":[516],"position":[1],"size":[1],"tooltip":[1]},[[0,"keydown","handleKeyDown"]],{"open":["openChangeHandle"]}],[1,"xv-tab-v2",{"label":[513],"disabled":[516],"loading":[516],"name":[8]}],[1,"xv-table-v2",{"size":[513],"hover":[516],"loading":[516],"colsSize":[16,"colssize"],"selected":[32],"selectedCount":[32]},[[0,"checkedChange","handleCheckedChange"]],{"colsSize":["setColsSizeTemplate"]}],[1,"xv-tabs-v2",{"active":[1544],"loading":[516],"variant":[1],"emptyMessage":[1,"empty-message"],"tabElements":[32],"showArrows":[32]},[[9,"resize","updateArrowVisibility"]]],[65,"xv-text-input-v2",{"type":[1],"label":[1],"placeholder":[513],"name":[513],"value":[1025],"autocomplete":[1],"helper":[1],"error":[8],"warning":[8],"readonly":[4],"disabled":[4],"loading":[4],"block":[4],"size":[513]}],[1,"xv-accordion-v2",{"multiple":[4],"xvId":[1,"xv-id"],"value":[1025],"opened":[32],"toggleItem":[64]}],[1,"xv-accordion-v2-item",{"disabled":[4],"label":[1],"value":[1],"isOpen":[32]},[[16,"accordionChange","handleAccordionChange"]]],[1,"xv-card-v2",{"variant":[1],"media":[1],"header":[1],"body":[1],"footer":[1]}],[1,"xv-data-table-collapse",{"collapsed":[1540],"setCollapsed":[64]}],[1,"xv-dropdown-v2-item",{"disabled":[4],"value":[1544],"selected":[1540]},[[0,"click","handleClick"]]],[0,"xv-footer",{"htmlContent":[32]}],[1,"xv-link-v2",{"href":[1],"target":[1],"disabled":[4],"size":[1],"variant":[1]}],[1,"xv-notification-v2",{"variant":[513],"dismissible":[516]}],[1,"xv-overflow-menu-v2-item",{"disabled":[516],"value":[520],"variant":[1]},[[0,"click","handleClick"]]],[1,"xv-pagination",{"total":[2],"page":[2],"limit":[2],"pages":[2],"variant":[1],"pageSizeOptions":[16,"page-size-options"]}],[1,"xv-progress-indicator-v2",{"progress":[514],"variant":[1],"size":[1]},null,{"progress":["updateChildItems"]}],[1,"xv-progress-indicator-v2-item",{"status":[1]}],[65,"xv-slider-v2",{"label":[1],"name":[1],"min":[2],"max":[2],"value":[1026],"step":[2],"disabled":[4],"readonly":[4],"notEditable":[4,"not-editable"]}],[1,"xv-table-v2-expand",{"open":[1540],"disabled":[516]}],[1,"xv-tag-v2",{"size":[1],"color":[1],"bg":[1],"disabled":[4],"closeable":[4]}],[4,"xv-tile",{"variant":[513],"label":[1],"error":[4],"multiple":[4],"disabled":[4],"block":[4],"name":[1],"value":[1025],"checked":[1028]},[[4,"tileChange","tileChangeHandle"],[0,"click","handleClick"]]],[65,"xv-toggle",{"label":[1],"value":[1],"name":[1],"checked":[1540],"disabled":[4],"readonly":[4],"size":[513],"block":[4]}],[1,"xv-toggle-tip",{"open":[1540],"position":[1],"setPopover":[64]},[[4,"click","handleClickOutside"],[0,"keydown","handleKeyDown"]],{"open":["openChangeHandle"]}],[1,"xv-data-table-cell",{"name":[1025],"sort":[1537],"multiline":[2],"width":[1],"align":[1],"tooltip":[1]},[[0,"click","handleSort"]]],[1,"xv-login-modal",{"visible":[4],"oauthProviders":[32],"bookNow":[32],"returnUrl":[32],"passwordLoginEnabled":[32],"oauthLoginEnabled":[32],"passwordRegistrationEnabled":[32],"configurationName":[32],"xvMvcConfigName":[32],"contactUrl":[32]}],[1,"xv-table-v2-cell",{"multiline":[516],"name":[1537],"align":[513],"sort":[1537]},[[0,"click","handleSort"]]],[65,"xv-checkbox-v2",{"checked":[1540],"indeterminate":[516],"disabled":[516],"name":[513],"value":[513],"readonly":[516],"required":[516],"partial":[516],"label":[1],"size":[513],"error":[520],"hasFocus":[32]},null,{"checked":["onCheckedChange"]}],[65,"xv-button-v2",{"label":[513],"variant":[513],"size":[513],"disabled":[516],"loading":[516],"block":[516],"type":[513],"hasLeftIcon":[32],"hasRightIcon":[32],"hasContent":[32]}],[4,"xv-tooltip-v2",{"message":[1],"position":[1],"block":[4],"dashed":[4]},[[1,"mouseenter","onMouseEnter"],[1,"mouseleave","onMouseLeave"]]],[1,"xv-loader-v2",{"show":[4],"variant":[1],"size":[1]}]]]], options);
21
+ return index.bootstrapLazy([["xv-breadcrumbs-v2.cjs",[[1,"xv-breadcrumbs-v2"]]],["xv-accordion-v2_40.cjs",[[1,"xv-data-table-row",{"variant":[1],"name":[1025],"collapse":[1],"collapsable":[516],"checked":[1028],"partial":[1028],"hover":[1028],"header":[4],"footer":[4],"disabled":[4],"readonly":[4],"required":[4],"value":[8],"collapsed":[32]}],[65,"xv-datepicker",{"value":[1040],"variant":[1],"label":[1],"helper":[1],"error":[8],"warning":[8],"readonly":[4],"disabled":[4],"loading":[4],"block":[4],"size":[513],"min":[1],"max":[1],"month":[32],"days":[32],"open":[32],"localError":[32]},[[4,"click","handleClickOutside"]],{"open":["openChange"],"month":["getCalendarGrid"],"value":["handleValueChange"]}],[1,"xv-dropdown-v2",{"disabled":[516],"multiple":[516],"required":[516],"loading":[516],"open":[1540],"error":[513],"label":[513],"helper":[513],"warning":[513],"placeholder":[513],"info":[1],"size":[1],"defaultValue":[8,"default-value"],"variant":[1],"selected":[32],"selectedMap":[32]},[[0,"itemSelected","handleItemSelected"]],{"open":["openChangeHandle"]}],[1,"xv-file-uploader",{"label":[1],"description":[1],"addText":[1,"add-text"],"variant":[1],"size":[1],"accept":[16],"buttonVariant":[1,"button-variant"],"maxFileSizeMB":[2,"max-file-size-mb"],"maxFiles":[2,"max-files"],"multiple":[4],"disabled":[516],"files":[1040],"loadingStates":[1040,"loading-states"],"error":[1537],"errors":[1040],"dragActive":[32],"errorMessages":[32],"clearFiles":[64]}],[65,"xv-number-input-v2",{"label":[1],"placeholder":[513],"name":[513],"value":[1538],"helper":[1],"error":[8],"warning":[8],"step":[2],"max":[2],"min":[2],"readonly":[4],"disabled":[4],"loading":[4],"block":[4],"size":[513]}],[1,"xv-pagination",{"total":[2],"page":[1026],"size":[1],"block":[4],"variant":[1],"totalItems":[2,"total-items"],"itemsPerPage":[32]}],[1,"xv-table-v2-row",{"checked":[1540],"partial":[1540],"name":[1537],"value":[520],"hover":[1540],"readonly":[516],"required":[516],"disabled":[516],"header":[516],"variant":[1537]},null,{"checked":["checkedChangeHandle"]}],[65,"xv-textarea",{"value":[1025],"name":[1],"label":[1],"placeholder":[1],"helper":[1],"info":[1],"error":[8],"warning":[8],"disabled":[4],"readonly":[4],"block":[4],"counterHide":[4,"counter-hide"],"noResize":[4,"no-resize"],"loading":[4],"max":[2],"rows":[2],"size":[513]}],[1,"xv-data-table",{"size":[1],"block":[4],"loading":[4],"columnWidths":[16,"column-widths"],"hover":[4]}],[0,"xv-header",{"htmlContent":[32],"showLoginModal":[32],"isCockpitMenuExpanded":[32],"isEntitiesMenuExpanded":[32],"isUserMenuExpanded":[32],"suggestions":[32],"searchQuery":[32],"listPosition":[32],"showPopover":[32]}],[1,"xv-modal-v2",{"open":[1540],"permanent":[516],"size":[513],"overflow":[516],"loading":[4],"openModal":[64],"closeModal":[64]}],[1,"xv-overflow-menu-v2",{"open":[1540],"disabled":[516],"position":[1],"size":[1],"tooltip":[1]},[[0,"keydown","handleKeyDown"]],{"open":["openChangeHandle"]}],[1,"xv-tab-v2",{"label":[513],"disabled":[516],"loading":[516],"name":[8]}],[1,"xv-table-v2",{"size":[513],"hover":[516],"loading":[516],"colsSize":[16,"colssize"],"selected":[32],"selectedCount":[32]},[[0,"checkedChange","handleCheckedChange"]],{"colsSize":["setColsSizeTemplate"]}],[1,"xv-tabs-v2",{"active":[1544],"loading":[516],"variant":[1],"emptyMessage":[1,"empty-message"],"tabElements":[32],"showArrows":[32]},[[9,"resize","updateArrowVisibility"]]],[65,"xv-text-input-v2",{"type":[1],"label":[1],"placeholder":[513],"name":[513],"value":[1025],"autocomplete":[1],"helper":[1],"error":[8],"warning":[8],"readonly":[4],"disabled":[4],"loading":[4],"block":[4],"size":[513],"isPasswordVisible":[32]}],[1,"xv-accordion-v2",{"multiple":[4],"xvId":[1,"xv-id"],"value":[1025],"opened":[32],"toggleItem":[64]}],[1,"xv-accordion-v2-item",{"disabled":[4],"label":[1],"value":[1],"isOpen":[32]},[[16,"accordionChange","handleAccordionChange"]]],[1,"xv-card-v2",{"variant":[1],"media":[1],"header":[1],"body":[1],"footer":[1]}],[1,"xv-data-table-collapse",{"collapsed":[1540],"setCollapsed":[64]}],[1,"xv-dropdown-v2-item",{"disabled":[4],"value":[1544],"selected":[1540]},[[0,"click","handleClick"]]],[0,"xv-footer",{"htmlContent":[32]}],[1,"xv-link-v2",{"href":[1],"target":[1],"disabled":[4],"size":[1],"variant":[1]}],[1,"xv-notification-v2",{"variant":[513],"dismissible":[516]}],[1,"xv-overflow-menu-v2-item",{"disabled":[516],"value":[520],"variant":[1]},[[0,"click","handleClick"]]],[1,"xv-progress-indicator-v2",{"progress":[514],"variant":[1],"size":[1]},null,{"progress":["updateChildItems"]}],[1,"xv-progress-indicator-v2-item",{"status":[1]}],[65,"xv-slider-v2",{"label":[1],"name":[1],"min":[2],"max":[2],"value":[1026],"step":[2],"disabled":[4],"readonly":[4],"notEditable":[4,"not-editable"]}],[1,"xv-table-v2-expand",{"open":[1540],"disabled":[516]}],[1,"xv-tag-v2",{"size":[1],"color":[1],"bg":[1],"disabled":[4],"closeable":[4]}],[4,"xv-tile",{"variant":[513],"label":[1],"error":[4],"multiple":[4],"disabled":[4],"block":[4],"name":[1],"value":[1025],"checked":[1028]},[[4,"tileChange","tileChangeHandle"],[0,"click","handleClick"]]],[65,"xv-toggle",{"label":[1],"value":[1],"name":[1],"checked":[1540],"disabled":[4],"readonly":[4],"size":[513],"block":[4]}],[1,"xv-toggle-tip",{"open":[1540],"position":[1],"setPopover":[64]},[[4,"click","handleClickOutside"],[0,"keydown","handleKeyDown"]],{"open":["openChangeHandle"]}],[1,"xv-data-table-cell",{"name":[1025],"sort":[1537],"multiline":[2],"width":[1],"align":[1],"tooltip":[1]},[[0,"click","handleSort"]]],[1,"xv-login-modal",{"visible":[4],"oauthProviders":[32],"bookNow":[32],"returnUrl":[32],"passwordLoginEnabled":[32],"oauthLoginEnabled":[32],"passwordRegistrationEnabled":[32],"configurationName":[32],"xvMvcConfigName":[32],"contactUrl":[32]}],[1,"xv-table-v2-cell",{"multiline":[516],"name":[1537],"align":[513],"sort":[1537]},[[0,"click","handleSort"]]],[65,"xv-checkbox-v2",{"checked":[1540],"indeterminate":[516],"disabled":[516],"name":[513],"value":[513],"readonly":[516],"required":[516],"partial":[516],"label":[1],"size":[513],"error":[520],"hasFocus":[32]},null,{"checked":["onCheckedChange"]}],[65,"xv-button-v2",{"label":[513],"variant":[513],"size":[513],"disabled":[516],"loading":[516],"block":[516],"type":[513],"hasLeftIcon":[32],"hasRightIcon":[32],"hasContent":[32]}],[4,"xv-tooltip-v2",{"message":[1],"position":[1],"block":[4],"dashed":[4]},[[1,"mouseenter","onMouseEnter"],[1,"mouseleave","onMouseLeave"]]],[1,"xv-loader-v2",{"show":[4],"variant":[1],"size":[1]}]]]], options);
22
22
  });
23
23
 
24
24
  exports.setNonce = index.setNonce;
@@ -283,6 +283,19 @@
283
283
  padding: 0;
284
284
  }
285
285
 
286
+ :host(.ghost) .control {
287
+ background-color: transparent;
288
+ box-shadow: none;
289
+ border: none;
290
+ padding: 0;
291
+ }
292
+ :host(.ghost) .control_value {
293
+ padding-inline-end: 5px;
294
+ }
295
+ :host(.ghost) .options {
296
+ width: min-content;
297
+ }
298
+
286
299
  :host([open]) .control_arrow {
287
300
  transform: rotate(180deg);
288
301
  }
@@ -5,6 +5,7 @@ import { forEach, setAttr } from "../../utils/utils";
5
5
  export class XvDropdown {
6
6
  constructor() {
7
7
  this.size = SIZE_VAR.MD;
8
+ this.variant = 'default';
8
9
  this.selected = [];
9
10
  this.selectedMap = new Map();
10
11
  this.setSelected = (selectedMap, optionNodes) => {
@@ -27,10 +28,10 @@ export class XvDropdown {
27
28
  this.open = false;
28
29
  };
29
30
  this.addListeners = () => {
30
- document.body.addEventListener('click', this.handleClickOutside);
31
+ document.addEventListener('click', this.handleClickOutside, { capture: true });
31
32
  };
32
33
  this.removeListeners = () => {
33
- document.body.removeEventListener('click', this.handleClickOutside);
34
+ document.removeEventListener('click', this.handleClickOutside, { capture: true });
34
35
  };
35
36
  this.setDefaultValues = () => {
36
37
  if (!this.defaultValue)
@@ -94,7 +95,7 @@ export class XvDropdown {
94
95
  this.changeSelection.emit(this.setSelected(this.selectedMap, optionElements));
95
96
  }
96
97
  render() {
97
- return (h(Host, { key: '22a368d8ed8366bc14b76571d1d230b09a8796b0', class: "xv-dropdown", role: "combobox", size: this.size, open: this.open, error: this.error, disabled: this.disabled, tabindex: this.disabled ? -1 : false }, h("label", { key: '758412d82f433d5675f0f69048a76c67d7fea92c', class: "label" }, h("slot", { key: '7ea798f0ddca889db33845470d45aeeaaddce4a8', name: "label" }, this.label), this.info && h("xv-tooltip-v2", { key: '72bdd6aabf193f323cbc5ca715314568dc3aa8c8', class: "label_info", message: this.info })), h("div", { key: '91fc2cae2fe12eb171c017fcbf2e9b5a204bc955', class: "xv-dropdown-control control", onClick: this.handleOpen }, this.selected.length ? (h("p", { class: "control_value" }, this.selected.join(', '))) : (h("p", { class: "control_placeholder" }, this.placeholder || '')), this.renderIcon(), h("svg", { key: 'ab6e2eea7aa7563f9bdfa82bd980ba62bc29037a', class: "control_arrow", focusable: "false", preserveAspectRatio: "xMidYMid meet", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", "aria-hidden": "true", width: "16", height: "16", viewBox: "0 0 16 16" }, h("path", { key: '71fc59d404e95dc3de990403370bc5abf206812b', d: "M8 11L3 6 3.7 5.3 8 9.6 12.3 5.3 13 6z" }))), this.open && h("div", { key: '52f8a04ccb8364b6e9a0b1d3ad50cbff3ebf96af', class: "options" }, h("slot", { key: "xv-dropdown-options" })), (this.helper || this.error || this.warning) && (h("p", { key: 'a83ed0ce93a8886dbdff9e0d271c8d4229ffadc0', class: "helper" }, this.error || this.warning || this.helper))));
98
+ return (h(Host, { key: 'b96f153ec2ff31f390fc2ad723f193de710cd567', class: { 'xv-dropdown': true, [this.variant]: !!this.variant }, role: "combobox", size: this.size, open: this.open, error: this.error, disabled: this.disabled, tabindex: this.disabled ? -1 : false }, (this.label || this.info) && (h("label", { key: '40bb7e619035756f61b8b5624f16cfed34f5ec2d', class: "label" }, h("slot", { key: 'd604a2edd4810ed58ed712a77c25a43da05df221', name: "label" }, this.label), this.info && h("xv-tooltip-v2", { key: 'ed0e1e03f32bc37e43650ca18a743b3dca00ab89', class: "label_info", message: this.info }))), h("div", { key: 'c0ea18da4c8ce80f0bddd148c111dadf7f6b3820', class: "xv-dropdown-control control", onClick: this.handleOpen }, this.selected.length ? (h("p", { class: "control_value" }, this.selected.join(', '))) : (h("p", { class: "control_placeholder" }, this.placeholder || '')), this.renderIcon(), h("svg", { key: '26372853a4717334620d99f1ce2c89469416bc4e', class: "control_arrow", focusable: "false", preserveAspectRatio: "xMidYMid meet", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", "aria-hidden": "true", width: "16", height: "16", viewBox: "0 0 16 16" }, h("path", { key: '60156fb834708a219a901e80da9324a5033ed527', d: "M8 11L3 6 3.7 5.3 8 9.6 12.3 5.3 13 6z" }))), this.open && h("div", { key: '36d68900c8b4abe3288209074dcd90a95a10a65b', class: "options" }, h("slot", { key: "xv-dropdown-options" })), (this.helper || this.error || this.warning) && (h("p", { key: '41c6f19fb8405180c02ffe07f8549b2d9d5f3242', class: "helper" }, this.error || this.warning || this.helper))));
98
99
  }
99
100
  componentWillLoad() {
100
101
  this.setDefaultValues();
@@ -390,6 +391,26 @@ export class XvDropdown {
390
391
  "getter": false,
391
392
  "setter": false,
392
393
  "reflect": false
394
+ },
395
+ "variant": {
396
+ "type": "string",
397
+ "attribute": "variant",
398
+ "mutable": false,
399
+ "complexType": {
400
+ "original": "'ghost' | 'default'",
401
+ "resolved": "\"default\" | \"ghost\"",
402
+ "references": {}
403
+ },
404
+ "required": false,
405
+ "optional": true,
406
+ "docs": {
407
+ "tags": [],
408
+ "text": ""
409
+ },
410
+ "getter": false,
411
+ "setter": false,
412
+ "reflect": false,
413
+ "defaultValue": "'default'"
393
414
  }
394
415
  };
395
416
  }
@@ -1 +1 @@
1
- {"version":3,"file":"xv-dropdown.js","sourceRoot":"","sources":["../../../src/components/xv-dropdown/xv-dropdown.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, Prop, State, Element, Watch, Listen, Event, EventEmitter } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\nimport { DropdownItemData, DropdownItemSelector } from './_vars';\nimport { forEach, setAttr } from '../../utils/utils';\n\n@Component({\n tag: 'xv-dropdown-v2',\n styleUrl: 'xv-dropdown.scss',\n shadow: true,\n})\nexport class XvDropdown {\n @Element() el: HTMLElement;\n @Prop({ reflect: true }) disabled?: boolean;\n @Prop({ reflect: true }) multiple?: boolean;\n @Prop({ reflect: true }) required?: boolean;\n @Prop({ reflect: true }) loading?: boolean;\n @Prop({ reflect: true, mutable: true }) open?: boolean;\n @Prop({ reflect: true }) error?: string;\n @Prop({ reflect: true }) label?: string;\n @Prop({ reflect: true }) helper?: string;\n @Prop({ reflect: true }) warning?: string;\n @Prop({ reflect: true }) placeholder?: string;\n @Prop({ reflect: false }) info?: string;\n @Prop() size: SIZE_VAR = SIZE_VAR.MD;\n @Prop({ attribute: 'default-value'}) defaultValue?: DropdownItemData['value'];\n\n @State() selected: DropdownItemData['text'][] = [];\n @State() selectedMap: Map<DropdownItemData['value'], DropdownItemData> = new Map();\n\n @Event() changeSelection: EventEmitter<DropdownItemData[]>;\n\n @Watch('open')\n openChangeHandle() {\n if (this.disabled) return;\n\n if (this.open) {\n this.addListeners();\n } else {\n this.removeListeners();\n }\n }\n\n @Listen('itemSelected')\n handleItemSelected({ detail }: CustomEvent<DropdownItemData>) {\n const hasItem = this.selectedMap.has(detail.value);\n\n if (this.multiple) {\n if (detail.selected) {\n if (!hasItem) this.selectedMap.set(detail.value, detail);\n } else {\n if (hasItem) {\n if (this.required && this.selectedMap.size === 1) return;\n this.selectedMap.delete(detail.value);\n }\n }\n } else {\n if (detail.selected) {\n this.selectedMap.clear();\n this.selectedMap.set(detail.value, detail);\n } else {\n if (!this.required) this.selectedMap.clear();\n }\n this.open = false;\n }\n\n const optionElements = this.el.querySelectorAll(DropdownItemSelector);\n\n forEach(\n optionElements,\n (option) => setAttr(option, 'selected', this.selectedMap.has(option.getAttribute('value')))\n );\n\n this.changeSelection.emit(this.setSelected(this.selectedMap, optionElements));\n }\n\n private setSelected = (selectedMap: typeof this.selectedMap, optionNodes?: NodeListOf<Element>): DropdownItemData[] => {\n const values = Array.from(selectedMap.values());\n const options = optionNodes || this.el.querySelectorAll(DropdownItemSelector);\n\n this.selected = this.multiple && values.length === options.length ?\n ['Alle ausgewählt'] : values.length > 2 ?\n [`${values.length} ausgewählt`] : values.map((v) => v.text);\n\n return values;\n };\n\n private handleOpen = () => {\n if (this.disabled || this.open || this.loading) return;\n this.open = true;\n };\n\n private handleClickOutside = (ev: MouseEvent) => {\n if (!this.open || this.el.contains(ev.target as Node)) return;\n\n if (this.open) this.open = false;\n }\n\n private addListeners = () => {\n document.body.addEventListener('click', this.handleClickOutside);\n }\n\n private removeListeners = () => {\n document.body.removeEventListener('click', this.handleClickOutside);\n }\n\n private setDefaultValues = () => {\n if (!this.defaultValue) return;\n\n // Needs to wait next Javascript tik\n setTimeout(() => {\n const options = this.el.querySelectorAll(DropdownItemSelector);\n\n forEach(\n options,\n (option) => {\n const dropdownItemData: DropdownItemData = {\n value: option.getAttribute('value'),\n text: (option as any).innerText,\n selected: `${this.defaultValue}` === option.getAttribute('value'),\n };\n\n if (dropdownItemData.selected) {\n setAttr(option, 'selected', dropdownItemData.selected);\n this.selectedMap.set(dropdownItemData.value, dropdownItemData);\n }\n }\n );\n\n this.setSelected(this.selectedMap, options);\n });\n };\n\n render() {\n return (\n <Host\n class=\"xv-dropdown\"\n role=\"combobox\"\n size={this.size}\n open={this.open}\n error={this.error}\n disabled={this.disabled}\n tabindex={this.disabled ? -1 : false}>\n <label class=\"label\">\n <slot name=\"label\">{this.label}</slot>\n {this.info && <xv-tooltip-v2 class=\"label_info\" message={this.info}></xv-tooltip-v2>}\n </label>\n\n <div class=\"xv-dropdown-control control\" onClick={this.handleOpen}>\n {this.selected.length ? (\n <p class=\"control_value\">{this.selected.join(', ')}</p>\n ) : (\n <p class=\"control_placeholder\">{this.placeholder || ''}</p>\n )}\n\n {this.renderIcon()}\n\n <svg class=\"control_arrow\" focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\" aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <path d=\"M8 11L3 6 3.7 5.3 8 9.6 12.3 5.3 13 6z\"></path>\n </svg>\n </div>\n\n {this.open && <div class=\"options\">\n <slot key=\"xv-dropdown-options\" />\n </div>}\n\n {(this.helper || this.error || this.warning) && (\n <p class=\"helper\">{this.error || this.warning || this.helper}</p>\n )}\n </Host>\n );\n }\n\n componentWillLoad() {\n this.setDefaultValues();\n }\n\n componentDidLoad() {\n this.openChangeHandle();\n }\n\n disconnectedCallback() {\n this.removeListeners();\n }\n\n private renderIcon(): undefined | HTMLElement {\n if (this.loading) {\n return <xv-loader-v2 class=\"control_icon error\" size={SIZE_VAR.XS} />\n }\n\n if (this.error) {\n return (\n <svg class=\"control_icon error\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path fill=\"currentColor\"\n d=\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24l0 112c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-112c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\" />\n </svg>\n )\n }\n\n if (!this.error && !!this.warning) {\n return (\n <svg class=\"control_icon warning\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path fill=\"currentColor\" d=\"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\" />\n </svg>\n );\n }\n\n return undefined;\n }\n}\n"]}
1
+ {"version":3,"file":"xv-dropdown.js","sourceRoot":"","sources":["../../../src/components/xv-dropdown/xv-dropdown.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAC7G,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAoB,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAOrD,MAAM,OAAO,UAAU;IALvB;QAkBU,SAAI,GAAa,QAAQ,CAAC,EAAE,CAAC;QAE7B,YAAO,GAAyB,SAAS,CAAC;QAEzC,aAAQ,GAA+B,EAAE,CAAC;QAC1C,gBAAW,GAAqD,IAAI,GAAG,EAAE,CAAC;QAgD3E,gBAAW,GAAG,CAAC,WAAoC,EAAE,WAAiC,EAAsB,EAAE;YACpH,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;YAChD,MAAM,OAAO,GAAG,WAAW,IAAI,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;YAE9E,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;gBACjE,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACvC,CAAC,GAAG,MAAM,CAAC,MAAM,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAEhE,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEM,eAAU,GAAG,GAAG,EAAE;YACxB,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO;gBAAE,OAAO;YACvD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC,CAAC;QAEM,uBAAkB,GAAG,CAAC,EAAc,EAAE,EAAE;YAC9C,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAc,CAAC;gBAAE,OAAO;YAE9D,IAAI,IAAI,CAAC,IAAI;gBAAE,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACnC,CAAC,CAAA;QAEO,iBAAY,GAAG,GAAG,EAAE;YAC1B,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACjF,CAAC,CAAA;QAEO,oBAAe,GAAG,GAAG,EAAE;YAC7B,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,CAAC,CAAA;QAEO,qBAAgB,GAAG,GAAG,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,OAAO;YAE/B,oCAAoC;YACpC,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;gBAE/D,OAAO,CACL,OAAO,EACP,CAAC,MAAM,EAAE,EAAE;oBACT,MAAM,gBAAgB,GAAqB;wBACzC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;wBACnC,IAAI,EAAG,MAAc,CAAC,SAAS;wBAC/B,QAAQ,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,KAAK,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC;qBAClE,CAAC;oBAEF,IAAI,gBAAgB,CAAC,QAAQ,EAAE,CAAC;wBAC9B,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;wBACvD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;oBACjE,CAAC;gBACH,CAAC,CACF,CAAC;gBAEF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;KAkFH;IApLC,gBAAgB;QACd,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAGD,kBAAkB,CAAC,EAAE,MAAM,EAAiC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEnD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,IAAI,CAAC,OAAO;oBAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;wBAAE,OAAO;oBACzD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAAE,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YAC/C,CAAC;YACD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACpB,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;QAEtE,OAAO,CACL,cAAc,EACd,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAC5F,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;IAChF,CAAC;IA2DD,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDACH,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAC9D,IAAI,EAAC,UAAU,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;YACnC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAC5B,8DAAO,KAAK,EAAC,OAAO;gBAClB,6DAAM,IAAI,EAAC,OAAO,IAAE,IAAI,CAAC,KAAK,CAAQ;gBACrC,IAAI,CAAC,IAAI,IAAI,sEAAe,KAAK,EAAC,YAAY,EAAC,OAAO,EAAE,IAAI,CAAC,IAAI,GAAkB,CAC9E,CACT;YAED,4DAAK,KAAK,EAAC,6BAA6B,EAAC,OAAO,EAAE,IAAI,CAAC,UAAU;gBAC9D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CACtB,SAAG,KAAK,EAAC,eAAe,IAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAK,CACxD,CAAC,CAAC,CAAC,CACF,SAAG,KAAK,EAAC,qBAAqB,IAAE,IAAI,CAAC,WAAW,IAAI,EAAE,CAAK,CAC5D;gBAEA,IAAI,CAAC,UAAU,EAAE;gBAElB,4DAAK,KAAK,EAAC,eAAe,EAAC,SAAS,EAAC,OAAO,EAAC,mBAAmB,EAAC,eAAe,EAC3E,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,cAAc,iBAAa,MAAM,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW;oBACpF,6DAAM,CAAC,EAAC,wCAAwC,GAAQ,CACpD,CACF;YAEL,IAAI,CAAC,IAAI,IAAI,4DAAK,KAAK,EAAC,SAAS;gBAChC,YAAM,GAAG,EAAC,qBAAqB,GAAG,CAC9B;YAEL,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAC9C,0DAAG,KAAK,EAAC,QAAQ,IAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAK,CAClE,CACI,CACR,CAAC;IACJ,CAAC;IAED,iBAAiB;QACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,gBAAgB;QACd,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,UAAU;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,oBAAc,KAAK,EAAC,oBAAoB,EAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,GAAI,CAAA;QACvE,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CACL,WAAK,KAAK,EAAC,oBAAoB,EAAC,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,aAAa;gBACtF,YAAM,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,gMAAgM,GAAG,CACvM,CACP,CAAA;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CACL,WAAK,KAAK,EAAC,sBAAsB,EAAC,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,aAAa;gBACxF,YAAM,IAAI,EAAC,cAAc,EAAC,CAAC,EAAC,yTAAyT,GAAG,CACpV,CACP,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Prop, State, Element, Watch, Listen, Event, EventEmitter } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\nimport { DropdownItemData, DropdownItemSelector } from './_vars';\nimport { forEach, setAttr } from '../../utils/utils';\n\n@Component({\n tag: 'xv-dropdown-v2',\n styleUrl: 'xv-dropdown.scss',\n shadow: true,\n})\nexport class XvDropdown {\n @Element() el: HTMLElement;\n @Prop({ reflect: true }) disabled?: boolean;\n @Prop({ reflect: true }) multiple?: boolean;\n @Prop({ reflect: true }) required?: boolean;\n @Prop({ reflect: true }) loading?: boolean;\n @Prop({ reflect: true, mutable: true }) open?: boolean;\n @Prop({ reflect: true }) error?: string;\n @Prop({ reflect: true }) label?: string;\n @Prop({ reflect: true }) helper?: string;\n @Prop({ reflect: true }) warning?: string;\n @Prop({ reflect: true }) placeholder?: string;\n @Prop({ reflect: false }) info?: string;\n @Prop() size: SIZE_VAR = SIZE_VAR.MD;\n @Prop({ attribute: 'default-value'}) defaultValue?: DropdownItemData['value'];\n @Prop() variant?: 'ghost' | 'default' = 'default';\n\n @State() selected: DropdownItemData['text'][] = [];\n @State() selectedMap: Map<DropdownItemData['value'], DropdownItemData> = new Map();\n\n @Event() changeSelection: EventEmitter<DropdownItemData[]>;\n\n @Watch('open')\n openChangeHandle() {\n if (this.disabled) return;\n\n if (this.open) {\n this.addListeners();\n } else {\n this.removeListeners();\n }\n }\n\n @Listen('itemSelected')\n handleItemSelected({ detail }: CustomEvent<DropdownItemData>) {\n const hasItem = this.selectedMap.has(detail.value);\n\n if (this.multiple) {\n if (detail.selected) {\n if (!hasItem) this.selectedMap.set(detail.value, detail);\n } else {\n if (hasItem) {\n if (this.required && this.selectedMap.size === 1) return;\n this.selectedMap.delete(detail.value);\n }\n }\n } else {\n if (detail.selected) {\n this.selectedMap.clear();\n this.selectedMap.set(detail.value, detail);\n } else {\n if (!this.required) this.selectedMap.clear();\n }\n this.open = false;\n }\n\n const optionElements = this.el.querySelectorAll(DropdownItemSelector);\n\n forEach(\n optionElements,\n (option) => setAttr(option, 'selected', this.selectedMap.has(option.getAttribute('value')))\n );\n\n this.changeSelection.emit(this.setSelected(this.selectedMap, optionElements));\n }\n\n private setSelected = (selectedMap: typeof this.selectedMap, optionNodes?: NodeListOf<Element>): DropdownItemData[] => {\n const values = Array.from(selectedMap.values());\n const options = optionNodes || this.el.querySelectorAll(DropdownItemSelector);\n\n this.selected = this.multiple && values.length === options.length ?\n ['Alle ausgewählt'] : values.length > 2 ?\n [`${values.length} ausgewählt`] : values.map((v) => v.text);\n\n return values;\n };\n\n private handleOpen = () => {\n if (this.disabled || this.open || this.loading) return;\n this.open = true;\n };\n\n private handleClickOutside = (ev: MouseEvent) => {\n if (!this.open || this.el.contains(ev.target as Node)) return;\n\n if (this.open) this.open = false;\n }\n\n private addListeners = () => {\n document.addEventListener('click', this.handleClickOutside, { capture: true });\n }\n\n private removeListeners = () => {\n document.removeEventListener('click', this.handleClickOutside, { capture: true });\n }\n\n private setDefaultValues = () => {\n if (!this.defaultValue) return;\n\n // Needs to wait next Javascript tik\n setTimeout(() => {\n const options = this.el.querySelectorAll(DropdownItemSelector);\n\n forEach(\n options,\n (option) => {\n const dropdownItemData: DropdownItemData = {\n value: option.getAttribute('value'),\n text: (option as any).innerText,\n selected: `${this.defaultValue}` === option.getAttribute('value'),\n };\n\n if (dropdownItemData.selected) {\n setAttr(option, 'selected', dropdownItemData.selected);\n this.selectedMap.set(dropdownItemData.value, dropdownItemData);\n }\n }\n );\n\n this.setSelected(this.selectedMap, options);\n });\n };\n\n render() {\n return (\n <Host\n class={{ 'xv-dropdown': true, [this.variant]: !!this.variant }}\n role=\"combobox\"\n size={this.size}\n open={this.open}\n error={this.error}\n disabled={this.disabled}\n tabindex={this.disabled ? -1 : false}>\n {(this.label || this.info) && (\n <label class=\"label\">\n <slot name=\"label\">{this.label}</slot>\n {this.info && <xv-tooltip-v2 class=\"label_info\" message={this.info}></xv-tooltip-v2>}\n </label>\n )}\n\n <div class=\"xv-dropdown-control control\" onClick={this.handleOpen}>\n {this.selected.length ? (\n <p class=\"control_value\">{this.selected.join(', ')}</p>\n ) : (\n <p class=\"control_placeholder\">{this.placeholder || ''}</p>\n )}\n\n {this.renderIcon()}\n\n <svg class=\"control_arrow\" focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\" aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <path d=\"M8 11L3 6 3.7 5.3 8 9.6 12.3 5.3 13 6z\"></path>\n </svg>\n </div>\n\n {this.open && <div class=\"options\">\n <slot key=\"xv-dropdown-options\" />\n </div>}\n\n {(this.helper || this.error || this.warning) && (\n <p class=\"helper\">{this.error || this.warning || this.helper}</p>\n )}\n </Host>\n );\n }\n\n componentWillLoad() {\n this.setDefaultValues();\n }\n\n componentDidLoad() {\n this.openChangeHandle();\n }\n\n disconnectedCallback() {\n this.removeListeners();\n }\n\n private renderIcon(): undefined | HTMLElement {\n if (this.loading) {\n return <xv-loader-v2 class=\"control_icon error\" size={SIZE_VAR.XS} />\n }\n\n if (this.error) {\n return (\n <svg class=\"control_icon error\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path fill=\"currentColor\"\n d=\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24l0 112c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-112c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\" />\n </svg>\n )\n }\n\n if (!this.error && !!this.warning) {\n return (\n <svg class=\"control_icon warning\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path fill=\"currentColor\" d=\"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\" />\n </svg>\n );\n }\n\n return undefined;\n }\n}\n"]}
@@ -11,7 +11,20 @@ export class XvHeader {
11
11
  this.listPosition = { width: 0, top: 0, left: 0 };
12
12
  this.showPopover = false;
13
13
  this.currentSuggestion = null;
14
+ this.searchInputs = [];
14
15
  this.inputHandlers = [];
16
+ this.handleClickOutside = (ev) => {
17
+ if (!this.suggestions.length)
18
+ return;
19
+ const suggestionsEl = this.el.querySelector('#xv-search-suggestions');
20
+ const target = ev.target;
21
+ if (this.searchInputs.some(input => input.contains(target)))
22
+ return;
23
+ if (suggestionsEl && suggestionsEl.contains(target))
24
+ return;
25
+ this.suggestions = [];
26
+ this.currentSuggestion = null;
27
+ };
15
28
  this.openLoginModal = () => {
16
29
  this.showLoginModal = true;
17
30
  };
@@ -71,7 +84,8 @@ export class XvHeader {
71
84
  return text.replace(/[.*+?^${}()|[\\]\\]/g, '\\$&');
72
85
  }
73
86
  componentDidLoad() {
74
- const inputs = this.el.querySelectorAll('input[name="Q"]');
87
+ const inputs = Array.from(this.el.querySelectorAll('input[name="Q"]'));
88
+ this.searchInputs = inputs;
75
89
  inputs.forEach(input => {
76
90
  const handleInput = this.handleSearchInput.bind(this);
77
91
  const handleKeyDown = this.handleKeyDown.bind(this);
@@ -88,6 +102,7 @@ export class XvHeader {
88
102
  this.searchInput = input;
89
103
  }
90
104
  });
105
+ document.body.addEventListener('click', this.handleClickOutside);
91
106
  }
92
107
  loadMetaNav() {
93
108
  try {
@@ -116,6 +131,8 @@ export class XvHeader {
116
131
  });
117
132
  });
118
133
  this.inputHandlers = [];
134
+ this.searchInputs = [];
135
+ document.body.removeEventListener('click', this.handleClickOutside);
119
136
  }
120
137
  async componentWillLoad() {
121
138
  this.loadMetaNav();
@@ -139,9 +156,9 @@ export class XvHeader {
139
156
  }
140
157
  render() {
141
158
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16;
142
- return (h("div", { key: 'cbbcfa5b8441e58dbc4cc3aae80869d8b1a0cb1c', id: "nav-container", class: "xv-header" }, h("nav", { key: 'f98c1a161992d026d02d2aea07000fe999ed77f3', class: "navbar navbar-default navbar-fixed-top backend-force-relative" }, h("div", { key: 'c4e849bf7ca30c2139a8bbc617f95492c893b5fa', class: "container" }, h("div", { key: '113a53dec32944fae823453351d8a6d7e47910a1', class: "row" }, h("div", { key: 'f6abe739a02a5862192506a95159431f8d19730f', class: "col-sm-3 col-xs-3 col-xxs-4 no-padding-right" }, h("div", { key: 'b58f540e5d38f9c6a6371e311a7ca8988e5f8c68', class: "navbar-header" }, h("button", { key: 'c79417f190bdb2363d65ecc88adc8f8114194921', class: "btn btn-default navbar-toggle pull-left navbar-btn", "data-toggle": "collapse", "data-target": "#main-menu" }, h("i", { key: '640bba36c42e2ca6b987a301e50df895fe90c0b2', class: "fa fa-bars fa-lg", "aria-hidden": "true" })), h("div", { key: '99f6a02ca75871e4b8d58b302967758391213457', class: "visible-xs-inline" }, h("a", { key: 'f9e426971269f61473b219c3e05e81a7deb712ea', href: "https://www.crossvertise.com/", class: "navbar-brand" }, h("img", { key: '3940e0d401e90b1594d2d90cc5fb8644ee3d60d1', src: "https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo-small.svg", alt: "Crossvertise" }))), h("div", { key: '473fe8f11ae8294c2c760b4bd009d6aff80afb4c', class: "hidden-xs" }, h("a", { key: 'afb0492645418f889c7709ed7c3f47ca98d8b426', href: "https://www.crossvertise.com/", class: "navbar-brand" }, h("img", { key: '8a1ab1fcdbecd437c0d4b93fc55a930413d95232', loading: "lazy", src: "https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo.svg", alt: "Crossvertise" }))))), h("div", { key: '6baa5813a9adb585a839b97fbe8a83f53f376d41', class: "col-sm-9 col-xs-9 col-xxs-8 no-padding-left" }, h("ul", { key: '84e281349d178dc1ecdf6614ae8f9e8aa80a464c', class: "nav nav-pills nav-meta pull-right" }, ((_a = this.metaNav) === null || _a === void 0 ? void 0 : _a.ImpersonationInfo) && (h("li", { key: 'dc877f4646801e9763ec8441136cdc0f3b0ac2f2' }, h("div", { key: 'd7bc91135f72aae9620e41b2c2e4b22c77f96216', class: "btn btn-link navbar-btn navbar-btn-cust hidden-xs", onClick: this.togglePopover }, h("i", { key: '5b664f078ec73ccf48212691bc1e4b2324cd38d7', class: "fa fa-user" }), h("i", { key: '6129f9932661814dfd85e65355b34cacaaf41c41', class: "fa fa-exchange-alt" })), h("div", { key: '0366309e4753a1741b09d84aa51be977915aa4e2', class: "popover popover-fixed fade bottom in", style: { "display": this.showPopover ? "block" : "none" } }, h("div", { key: 'cf2e4214661375f6c24b4cc61c830133e3ed7c76', class: "arrow" }), h("h3", { key: 'cf4c1a24c6beccc4b35808909a8f251a5883a06d', class: "popover-title" }, "Momentan ist die Kundenperspektive aktiviert f\u00FCr:"), h("div", { key: '582701cf4b2f948d74f2dae7e6f740503f43875a', class: "popover-content" }, h("div", { key: 'b1c7ba66889a3e7205d35dd420ef9e4096bac2dd', class: "row" }, h("div", { key: 'e8fb72af51cbafcfe7601975fae7b04299f663cc', class: "col-xs-12" }, h("table", { key: 'd7659aec15f51a111d45d66830d3f57a7d9ad5a5', class: "table-condensed" }, h("tbody", { key: '323ee35d23b5ad457c75a2355904064a84f3fe2b' }, h("tr", { key: 'f60fd488a065b0cf25e7e134ce6e1e47a5ae4758' }, h("td", { key: '75dffd68cde6b88485adaf3b71823765c81d0dc3' }, h("span", { key: '0d75838d51aa2b126d5633ee30a72c3125e1c91e' }, (_c = (_b = this.metaNav) === null || _b === void 0 ? void 0 : _b.ImpersonationInfo) === null || _c === void 0 ? void 0 : _c.NameAndTitle))), h("tr", { key: '5bee791607bfbeb19f0ef3f5546f84fb59abb924' }, h("td", { key: '497005d77c003cdfbb1fc05c3c385524c2ed6e03' }, h("span", { key: '3c9225701ba3f5759635bdde1b71cb4aa164aa26' }, (_e = (_d = this.metaNav) === null || _d === void 0 ? void 0 : _d.ImpersonationInfo) === null || _e === void 0 ? void 0 : _e.CompanyName))), h("tr", { key: 'aa528ea0aa07193ad3f53bfe1a1d2122d6018dac' }, h("td", { key: 'a302a7a7452a0a1a9af75a037712345a23392abb' }, h("span", { key: '1f6f94ae57ea0b90e203ab7c406657fd5f296280' }, (_g = (_f = this.metaNav) === null || _f === void 0 ? void 0 : _f.ImpersonationInfo) === null || _g === void 0 ? void 0 : _g.Email))), h("tr", { key: 'a47ae12133513708a811f7f100762fa6d6c5276f' }, h("td", { key: '3611be13626382934d2992aa03425036a84cb5a6' }, h("span", { key: '148a8bc521d08f8f92c1780f2ea198d15bcfce2e' }, (_j = (_h = this.metaNav) === null || _h === void 0 ? void 0 : _h.ImpersonationInfo) === null || _j === void 0 ? void 0 : _j.PhoneOffice)))))))), h("div", { key: 'f9214bda7232f00df738167ab51b1077b034941c', class: "row contact-contactform-container", id: "contact-contactform-container-nav" }, h("div", { key: '88b1238a02f329597c69b698985889d8904a1721', class: "col-xs-12" }, h("a", { key: 'ea25cd88e35b59c3001436149e3f020fe3d64430', class: "btn btn-primary btn-block", href: "/de-de/mycrossvertise/account/clearimpersonation" }, "Kundenperspektive verlassen")))))), h("li", { key: '85d430030fc61d3832cbd94d83e8698851bfea36' }, h("a", { key: 'e01000cc4b9e7edad7392829538354692dc77b34', class: "btn btn-link navbar-btn hidden-xs", href: "#" }, "Kontakt"), h("a", { key: 'f0829ba6d7977f8a52c5e2180ed988c5033ca398', href: "/contact", class: "btn btn-link navbar-btn hidden-xs", style: { display: 'none' } }, "Kontakt"), h("a", { key: 'f73cfdc95332df4f31940273c8b44f0c2dc91e09', class: "btn btn-default btn-link navbar-btn visible-xs hidden-xxs", href: "#" }, h("i", { key: '6d9cfd684b453809f1736146c34cd7cd540b7e97', class: "fa fa-phone" }))), ((_k = this.metaNav) === null || _k === void 0 ? void 0 : _k.IsManager) && (h("li", { key: 'ca4164e502925ea6f082735a1ca16e90bc24bacc', class: "dropdown" }, h("a", { key: '65bef75782ee4b0cd951d94f77f245e85022e86f', class: "dropdown-toggle btn navbar-btn btn-link", "data-toggle": "dropdown", role: "button", "data-container": "body", "aria-haspopup": "true", "aria-expanded": "false" }, h("i", { key: '85cff36a7ddb08ed972b7d4b6182dcd32a9851e0', class: "fas fa-bell fa-lg" }), h("span", { key: '865ddfdd559348069f4ea443119162893cd44439', id: "notifications-count", class: "badge badge-success badge-top-right", style: { display: 'none' } })))), ((_l = this.metaNav) === null || _l === void 0 ? void 0 : _l.IsAuthenticated) && (h("li", { key: '1cedac6a3373978891a84860721eda5d97e9c836', class: "dropdown", id: "my-xv-menu" }, h("a", { key: 'e2d91455ad15d2f249319a1cfb75845467450ab0', class: "dropdown-toggle btn navbar-btn btn-link", "data-toggle": "dropdown", role: "button", "data-container": "body", "aria-haspopup": "true", "aria-expanded": "false" }, h("i", { key: '94c738bc8de977c52900d0e7d8c8138bf0846efe', class: "fa fa-user fa-lg text-success", "aria-hidden": "true" }), "\u00A0", h("span", { key: 'd3fa5e7c7e4ccb214cdb338f950f84f3a327ddad', class: "hidden-xs" }, (_m = this.metaNav) === null || _m === void 0 ? void 0 : _m.UserMenuText), "\u00A0", h("span", { key: 'efd62039bd33ee5bccc6fc4b8c1dcb1ffc8acfcb', class: "caret" })), h("ul", { key: '722af8c64e21ebba9c9f3b0ef5b76489412d3c1c', class: "dropdown-menu-left dropdown-menu navbar-myxv" }, ((_o = this.metaNav) === null || _o === void 0 ? void 0 : _o.IsManager) && (h("li", { key: '6cccb41c334fcd813e607b63b40d5662c5114ef1' }, h("a", { key: '35a97c589decfc2c93db6c0d809330e513d621d6', onClick: () => this.toggleCockpitMenu() }, h("i", { key: '37290d60b5ded683ee72d9d25155b28307d5eaf3', class: "fa fa-tachometer-alt fa-fw" }), "\u00A0Cockpitfunktionen \u00A0", h("i", { key: 'b3bf86cc8f2d64ad66653b6c42cd99a625df9101', class: "fa fa-caret-down" })))), this.isCockpitMenuExpanded && ((_q = (_p = this.metaNav) === null || _p === void 0 ? void 0 : _p.ManagerCockpitMenu) === null || _q === void 0 ? void 0 : _q.map(item => (h("li", { class: 'user-menu-item' }, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), "\u00A0\u00A0", item.Text))))), ((_r = this.metaNav) === null || _r === void 0 ? void 0 : _r.IsManager) && (h("li", { key: '62916fcfbfef08a500f97c70a6e886e2e0514cd2' }, h("a", { key: 'fb3fa711575d433a1ec06e3d6d1a12be85d6f398', onClick: () => this.toggleEntitiesMenu() }, h("i", { key: '51fedb0ad33267ae07612f6668888d957d1beb78', class: "fa fa-cubes" }), "\u00A0Entit\u00E4ten \u00A0", h("i", { key: '47e57d40885eafb1137695c6f7f88e759451d6d6', class: "fa fa-caret-down" })))), this.isEntitiesMenuExpanded && ((_t = (_s = this.metaNav) === null || _s === void 0 ? void 0 : _s.ManagerEntitiesMenu) === null || _t === void 0 ? void 0 : _t.map(item => (h("li", { class: 'user-menu-item' }, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), item.Text))))), (_v = (_u = this.metaNav) === null || _u === void 0 ? void 0 : _u.ManagerMenu) === null || _v === void 0 ? void 0 :
143
- _v.map(item => (h("li", null, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), "\u00A0", item.Text)))), ((_w = this.metaNav) === null || _w === void 0 ? void 0 : _w.IsManager) && (h("li", { key: '7c2646f201f131ddcd9277c5dd65378b8301bb11', role: "separator", class: "divider" })), ((_x = this.metaNav) === null || _x === void 0 ? void 0 : _x.IsManager) && (h("li", { key: 'a6044c9b14529c8bc166ad79a1e41c1dea9ec392' }, h("a", { key: '43f9bdd063bbe1c373d0ba34cb756706d89039fe', onClick: () => this.toggleUserMenu() }, h("i", { key: 'fd0e2e9d5dc6d5f685be8357eafbbfa5a1d78245', class: "fa fa-user" }), "\u00A0Mein Crossvertise \u00A0", h("span", { key: 'ce05216d131e03e88e7001f32faa5d0200ce131c', class: "badge" }, (_y = this.metaNav) === null || _y === void 0 ? void 0 : _y.PendingItems), h("i", { key: '32bdfadba47fc2d3574a7ee96c5e24dbceba65b4', class: "fa fa-caret-down" })))), this.isUserMenuExpanded && ((_0 = (_z = this.metaNav) === null || _z === void 0 ? void 0 : _z.UserMenu) === null || _0 === void 0 ? void 0 : _0.map(item => (h("li", { class: 'user-menu-item' }, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), item.Text, "\u00A0", item.BadgeText && (h("span", { class: "badge" }, item.BadgeText))))))), ((_2 = (_1 = this.metaNav) === null || _1 === void 0 ? void 0 : _1.ImpersonationInfo) === null || _2 === void 0 ? void 0 : _2.isImpersonated) && (h("li", { key: 'a6295848966c9637b3478775fece2ebadccc3e9d', class: 'user-menu-item' }, h("a", { key: '8ffa81f037628e549d4c59155287ce8f40da2d82', href: (_4 = (_3 = this.metaNav) === null || _3 === void 0 ? void 0 : _3.ImpersonationInfo) === null || _4 === void 0 ? void 0 : _4.ClearImpersonationUrl }, h("i", { key: 'dd8e7dbb904fd47a57823971087cca45c7606cd9', class: "fa fa-exchange-alt" }), "Kundenperspektive verlassen"))), ((_5 = this.metaNav) === null || _5 === void 0 ? void 0 : _5.IsManager) && (h("li", { key: '7d1b8ee85f024f73bcd39accaca20ab507925a4b', role: "separator", class: "divider" })), (_7 = (_6 = this.metaNav) === null || _6 === void 0 ? void 0 : _6.ActionsMenu) === null || _7 === void 0 ? void 0 :
144
- _7.map(item => (h("li", null, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), item.Text)))), h("li", { key: 'e9b6af8e48d8b37bd2841badf18fdbcfc48aa4a5' }, h("a", { key: '74d527dcbc2bd3a3fdefed629ceab27a8ac02bad', href: "/de-de/mycrossvertise/account/logoff?returnUrl=/" }, h("i", { key: '27b1c16f97d8c0804eeea422fbb438344997f4e6', class: "fa fa-sign-out-alt fa-fw", "aria-hidden": "true" }), "Logout"))))), h("li", { key: '46763839d1961c2616a85dfe1f7e40ffe1e85085', class: "visible-sm-block visible-xs-block hidden-xxs" }, h("a", { key: '47e8e1a230566e27798c4d03160c5322e6cf5543', class: "btn btn-default navbar-btn btn-link", "data-toggle": "collapse", "data-target": "#search-collapse" }, h("i", { key: '45b2bab97ae3613d8a49919ed2b0e741524939e9', class: "fa fa-search", "aria-hidden": "true" }))), !((_8 = this.metaNav) === null || _8 === void 0 ? void 0 : _8.IsAuthenticated) && (h("li", { key: 'e589224ccdd096eb52e66a796e9a210c5e9ce074', class: "hidden-md hidden-lg" }, h("a", { key: 'ea4ae7e0d327435118946705c0c0700a8d4f8ab5', class: "btn btn-default navbar-btn btn-link mob-login", href: "/de-de/mycrossvertise/account/logon" }, h("i", { key: '178d651044ed732b7babb85683f6e5b208e30982', class: "fa fa-user fa-lg", "aria-hidden": "true" })))), !((_9 = this.metaNav) === null || _9 === void 0 ? void 0 : _9.IsAuthenticated) && (h("li", { key: 'bd50b50458d039c669c275013c7620b2c6d14e03', class: "hidden-xs hidden-sm" }, h("a", { key: '21be2a96a288e3826f694b7dfe6084c8be865cd7', role: "button", onClick: this.openLoginModal, class: "btn btn-default navbar-btn btn-link" }, h("i", { key: '398a411fe19095614f5e6f931042e42b8c420d6b', class: "fa fa-user fa-lg", "aria-hidden": "true" }), h("span", { key: '952cb5df38645a5834968bdc5f32142da226754a', class: "padding-sm-left" }, "Login")), h("xv-login-modal", { key: '930c75d22d8c21601bcf5c207eb895fe1114b2ef', visible: this.showLoginModal, onClose: this.closeLoginModal }))), !((_10 = this.metaNav) === null || _10 === void 0 ? void 0 : _10.IsAuthenticated) && (h("li", { key: 'f0147681d67db18578c8964fcd7feb1cc5df1f6f', class: "hidden-xs" }, h("a", { key: 'faf0691945db68cb0a7294b2490d9a889326560e', class: "btn btn-default navbar-btn btn-link", href: "/de-de/mycrossvertise/account/register" }, h("span", { key: '9785993469ecc890a26cc4c99d8c58ac7104e88a' }, "Registrieren")))), h("li", { key: 'e8704699f5216ee5e882295636eefd19f59eaea1', class: "navbar-divider hidden-xs" }), h("li", { key: '138b9c20d3c00075388651b0893716181b805613' }, h("a", { key: '594753821f8ce9564dd8ad8f752557b466dbec04', class: "btn btn-success navbar-btn", href: "/angular/shopping-cart" }, h("span", { key: '6ad362bcc9480e66c75f28b790fb8aa42463c671', class: "xv-font-icon-warenkorb fa-lg fa-fw", "aria-hidden": "true" }), h("span", { key: '952e9e344bbf89cdf12de4069acc04a093294449', class: "hidden-xs hidden-sm" }, "\u00A0Warenkorb\u00A0"), h("span", { key: '35cde81ef1e6f638d9317e190f7fa667cf904ec0', class: "badge badge-success" }, ((_12 = (_11 = this.metaNav) === null || _11 === void 0 ? void 0 : _11.Cart) === null || _12 === void 0 ? void 0 : _12.NumberOfItems) || 0))))))), h("div", { key: '4122669d7c12f967ef66eb94022b3aeb88035b1b', class: "collapse hidden-md hidden-lg", id: "search-collapse" }, h("div", { key: '7cc77ad229eddc4be443f1e0317146900690d2f6', class: "container" }, h("form", { key: 'a9f16677a9994e4eef89c477167d15b438747bcf', action: "/de-de/media/search", class: "navbar-form", method: "get", role: "search" }, h("div", { key: 'cfaf17242469226729213b6b96848f62d2866fb0', class: "input-group" }, h("input", { key: 'fdeadcb2b21f5b5f30c146bd735f7ff56eab28b4', class: "form-control", name: "Q", placeholder: "Suche", type: "text", autocomplete: "off" }), h("span", { key: '5a14ef35899ccaf33c7204f787fc8f58640572f0', class: "input-group-btn force-full-width" }, h("button", { key: '10cb6e2a276832520341db8d56cd2e09f0084daa', class: "btn btn-default search-addon", type: "submit" }, h("i", { key: '87ec63d321342548eb4038a0217850489d0e27d8', class: "fa fa-search", "aria-hidden": "true" })))))))), h("div", { key: '169d86016ed2b0f92f1352d35944702bd394fccf', innerHTML: this.htmlContent }), h("ul", { key: '8b6d36422681faad32477879f21558d1341cd0aa', class: "ui-autocomplete ui-front ui-menu ui-widget ui-widget-content ui-corner-all", id: "xv-search-suggestions", tabindex: "0", style: {
159
+ return (h("div", { key: '9e983c598ba18d54699a5cac9ea01d912777fd89', id: "nav-container", class: "xv-header" }, h("nav", { key: '46e7cdaf37c99de3fcc927afb128311d4ba0ce7f', class: "navbar navbar-default navbar-fixed-top backend-force-relative" }, h("div", { key: '3aa9e7a87d81131555f6b4bd84684eb4252440e4', class: "container" }, h("div", { key: 'bdc9f7f9459b52db02cc59072f2143fb91cac2b7', class: "row" }, h("div", { key: '25865d6f9f7b6728fef5626b0bbd4e780e76dca2', class: "col-sm-3 col-xs-3 col-xxs-4 no-padding-right" }, h("div", { key: 'f84b94a6ba97c591e5bb3fc4f4ea3345c40c79bc', class: "navbar-header" }, h("button", { key: 'c0f70c5376a0584e6a06745cf5642ed42add0139', class: "btn btn-default navbar-toggle pull-left navbar-btn", "data-toggle": "collapse", "data-target": "#main-menu" }, h("i", { key: 'c8c62379713c1f68d63b527ea97e6d529185ee44', class: "fa fa-bars fa-lg", "aria-hidden": "true" })), h("div", { key: 'ec54729fca58a511387dbc48a2ef3ab5cffdd255', class: "visible-xs-inline" }, h("a", { key: '9a4d612cff035284ec3430bf0e0245139eca4a5a', href: "https://www.crossvertise.com/", class: "navbar-brand" }, h("img", { key: '4f044f29bfe269dbb237fa3b4400c990bd509074', src: "https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo-small.svg", alt: "Crossvertise" }))), h("div", { key: '48504070f74139a4da92a7eda882fa21544ee86d', class: "hidden-xs" }, h("a", { key: 'ddcf356f6b18e8a97dc00d2e653c08a15ad543f6', href: "https://www.crossvertise.com/", class: "navbar-brand" }, h("img", { key: '569740ad879dcd582bdd89d350599d88ab529ad1', loading: "lazy", src: "https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo.svg", alt: "Crossvertise" }))))), h("div", { key: 'ff4a09e59ddbeadedc1757052cd933a656f26335', class: "col-sm-9 col-xs-9 col-xxs-8 no-padding-left" }, h("ul", { key: 'f68d7abd8f8acd93b168779284bb5042b995daca', class: "nav nav-pills nav-meta pull-right" }, ((_a = this.metaNav) === null || _a === void 0 ? void 0 : _a.ImpersonationInfo) && (h("li", { key: 'c7710a57f32b8f3210027a252d7d7da3b2b8fe57' }, h("div", { key: '2fdf22547406b356d01be39b4e70abe4007e1c5f', class: "btn btn-link navbar-btn navbar-btn-cust hidden-xs", onClick: this.togglePopover }, h("i", { key: 'b7d3a5d64e0d9f39be766a9e3c176e4155e45300', class: "fa fa-user" }), h("i", { key: '33cbff00d5a4d1a22d9b0322a3edf7d996bbcada', class: "fa fa-exchange-alt" })), h("div", { key: '9a3abc0399f71565f20b5af33cad71b4eda2449c', class: "popover popover-fixed fade bottom in", style: { "display": this.showPopover ? "block" : "none" } }, h("div", { key: '31652a1834ea31c23b197b9d53130a3033ea67bf', class: "arrow" }), h("h3", { key: 'd8beb8e6a06720c390b51d7d93a1484f939e520a', class: "popover-title" }, "Momentan ist die Kundenperspektive aktiviert f\u00FCr:"), h("div", { key: 'f5793d3d4468f341630e5c349896fe902b6b4600', class: "popover-content" }, h("div", { key: '336fb799ac3537a53dccb11649083431cd5967b3', class: "row" }, h("div", { key: '04c8945c396ea56ec4cfcec2a096ade7687e9ce0', class: "col-xs-12" }, h("table", { key: '81fc9ecbed7027ec1d5341ffc441c0f391b86506', class: "table-condensed" }, h("tbody", { key: '238f73b42004e68d58175dcbb438e750202ce2ef' }, h("tr", { key: 'a71f1f34793dd5e4d76060786d3de5c261fd78dc' }, h("td", { key: '35ae36a0ac7c54f9c57aa86063444961d9869065' }, h("span", { key: 'cb52c62f14e883fe4194b70a2085ab68ff9b871a' }, (_c = (_b = this.metaNav) === null || _b === void 0 ? void 0 : _b.ImpersonationInfo) === null || _c === void 0 ? void 0 : _c.NameAndTitle))), h("tr", { key: '91c92c0fee48e7eafe6e1a05c90489fc376b8a32' }, h("td", { key: 'f1c778c4f037c7b79288dffc4857b10cb72d0726' }, h("span", { key: '3c2dc23b00ab008f66b473ccd7c85daef8989d76' }, (_e = (_d = this.metaNav) === null || _d === void 0 ? void 0 : _d.ImpersonationInfo) === null || _e === void 0 ? void 0 : _e.CompanyName))), h("tr", { key: '4a7191a74877408db7e87758b949824afe70d49a' }, h("td", { key: '51064aaec7801654c1575c596e7d05351ffe06e2' }, h("span", { key: 'c11c293b2e1734d9a3e94250726738364ca50beb' }, (_g = (_f = this.metaNav) === null || _f === void 0 ? void 0 : _f.ImpersonationInfo) === null || _g === void 0 ? void 0 : _g.Email))), h("tr", { key: 'f6d45ca587131e34ed96b9289f8896709f2e80da' }, h("td", { key: '5ade43398b89b7adaf1daa12e4e00cc92f9cc3ff' }, h("span", { key: 'ee843b218336acb8cb2d753d521217b822317d25' }, (_j = (_h = this.metaNav) === null || _h === void 0 ? void 0 : _h.ImpersonationInfo) === null || _j === void 0 ? void 0 : _j.PhoneOffice)))))))), h("div", { key: '1779ff63456bed5b17adf24c429076f56a4d42b0', class: "row contact-contactform-container", id: "contact-contactform-container-nav" }, h("div", { key: 'e477a80def21952163ffe7ae4d60c0d48ba09e5c', class: "col-xs-12" }, h("a", { key: 'd3e3ef1a1077b7954d4025d775b37829402c0858', class: "btn btn-primary btn-block", href: "/de-de/mycrossvertise/account/clearimpersonation" }, "Kundenperspektive verlassen")))))), h("li", { key: '56d19113a5e363b1b5dfa74b9924d02e03b58d62' }, h("a", { key: '51224ca6f044fe3a8455ae8b74b0a35e38617283', class: "btn btn-link navbar-btn hidden-xs", href: "#" }, "Kontakt"), h("a", { key: '36e510b2f5b1ebf81af5557502ad98c7f0eb183a', href: "/contact", class: "btn btn-link navbar-btn hidden-xs", style: { display: 'none' } }, "Kontakt"), h("a", { key: 'cdfd0e321d2ac31821202ff51923612445257b31', class: "btn btn-default btn-link navbar-btn visible-xs hidden-xxs", href: "#" }, h("i", { key: 'e74d63b3f3d1db4aece33a25662f437915e616b4', class: "fa fa-phone" }))), ((_k = this.metaNav) === null || _k === void 0 ? void 0 : _k.IsManager) && (h("li", { key: '50731ce365a209319911c576b21c48539e1c7c9e', class: "dropdown" }, h("a", { key: '0f85afeedd55519b494919db0b895bcfa2b3ae15', class: "dropdown-toggle btn navbar-btn btn-link", "data-toggle": "dropdown", role: "button", "data-container": "body", "aria-haspopup": "true", "aria-expanded": "false" }, h("i", { key: '2a217d7585f2c3780cb827323629a56d63b53893', class: "fas fa-bell fa-lg" }), h("span", { key: 'f896b95239aff6b062fc26b4bc00489deda0742b', id: "notifications-count", class: "badge badge-success badge-top-right", style: { display: 'none' } })))), ((_l = this.metaNav) === null || _l === void 0 ? void 0 : _l.IsAuthenticated) && (h("li", { key: '57a317925ff153996089148b9edb66b3f024f2c3', class: "dropdown", id: "my-xv-menu" }, h("a", { key: 'f8361f5e705030638392059b933524956e1fe82c', class: "dropdown-toggle btn navbar-btn btn-link", "data-toggle": "dropdown", role: "button", "data-container": "body", "aria-haspopup": "true", "aria-expanded": "false" }, h("i", { key: 'd0323ffceae4fe6935fa46787b234165b60d28aa', class: "fa fa-user fa-lg text-success", "aria-hidden": "true" }), "\u00A0", h("span", { key: '86e2a4d4f90bb347a7ad27edb22e0b94ed5232a3', class: "hidden-xs" }, (_m = this.metaNav) === null || _m === void 0 ? void 0 : _m.UserMenuText), "\u00A0", h("span", { key: '0378abdfa4cb8b134df5e7a9b95c4a3861eef87e', class: "caret" })), h("ul", { key: '797e43763fe6572305e7958d498db9284d6a3c0f', class: "dropdown-menu-left dropdown-menu navbar-myxv" }, ((_o = this.metaNav) === null || _o === void 0 ? void 0 : _o.IsManager) && (h("li", { key: '0a823de3410bde9f42e9e98a6f1861257c7fc7f1' }, h("a", { key: 'c171813758f87a82174e50d90fe34f1a8826e79b', onClick: () => this.toggleCockpitMenu() }, h("i", { key: '8b3fb3f8096d1549ee2e83115674e27a5f7353dc', class: "fa fa-tachometer-alt fa-fw" }), "\u00A0Cockpitfunktionen \u00A0", h("i", { key: '105f4896cc715771f68d1895760c3e19a55213c1', class: "fa fa-caret-down" })))), this.isCockpitMenuExpanded && ((_q = (_p = this.metaNav) === null || _p === void 0 ? void 0 : _p.ManagerCockpitMenu) === null || _q === void 0 ? void 0 : _q.map(item => (h("li", { class: 'user-menu-item' }, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), "\u00A0\u00A0", item.Text))))), ((_r = this.metaNav) === null || _r === void 0 ? void 0 : _r.IsManager) && (h("li", { key: '7c4e9dce3d4edc9db1d9f457e5a087f8cc7869bf' }, h("a", { key: 'a8fefa69552741cbdd51d2525b29450bb8a9e447', onClick: () => this.toggleEntitiesMenu() }, h("i", { key: 'ff0858e1294e130d796e374bbdf65c1176b63d10', class: "fa fa-cubes" }), "\u00A0Entit\u00E4ten \u00A0", h("i", { key: '0f693b256ef47a906a01246cc35320f7d1407f6b', class: "fa fa-caret-down" })))), this.isEntitiesMenuExpanded && ((_t = (_s = this.metaNav) === null || _s === void 0 ? void 0 : _s.ManagerEntitiesMenu) === null || _t === void 0 ? void 0 : _t.map(item => (h("li", { class: 'user-menu-item' }, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), item.Text))))), (_v = (_u = this.metaNav) === null || _u === void 0 ? void 0 : _u.ManagerMenu) === null || _v === void 0 ? void 0 :
160
+ _v.map(item => (h("li", null, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), "\u00A0", item.Text)))), ((_w = this.metaNav) === null || _w === void 0 ? void 0 : _w.IsManager) && (h("li", { key: '4695bda78dd103cceba296a6b4f6c7910a3ba73e', role: "separator", class: "divider" })), ((_x = this.metaNav) === null || _x === void 0 ? void 0 : _x.IsManager) && (h("li", { key: '23d215776904bfa5f58cda7c4c5e75af4e047f94' }, h("a", { key: '605209d88134a08ebe8f1d2c595e819e1bfeaf72', onClick: () => this.toggleUserMenu() }, h("i", { key: '1bcda7955e948809fddc0bd179ba9c7b082e5bdb', class: "fa fa-user" }), "\u00A0Mein Crossvertise \u00A0", h("span", { key: '302f6bc8628b068c1d76ff551ad036929816041f', class: "badge" }, (_y = this.metaNav) === null || _y === void 0 ? void 0 : _y.PendingItems), h("i", { key: 'c10ffc59af0eca68ac11f4b3981324f90d8cf0e9', class: "fa fa-caret-down" })))), this.isUserMenuExpanded && ((_0 = (_z = this.metaNav) === null || _z === void 0 ? void 0 : _z.UserMenu) === null || _0 === void 0 ? void 0 : _0.map(item => (h("li", { class: 'user-menu-item' }, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), item.Text, "\u00A0", item.BadgeText && (h("span", { class: "badge" }, item.BadgeText))))))), ((_2 = (_1 = this.metaNav) === null || _1 === void 0 ? void 0 : _1.ImpersonationInfo) === null || _2 === void 0 ? void 0 : _2.isImpersonated) && (h("li", { key: '6853b86ded63f357f07874c7d130cb5dafdd812a', class: 'user-menu-item' }, h("a", { key: 'd98146f43d0e35d176334600ccd6b9da55660af7', href: (_4 = (_3 = this.metaNav) === null || _3 === void 0 ? void 0 : _3.ImpersonationInfo) === null || _4 === void 0 ? void 0 : _4.ClearImpersonationUrl }, h("i", { key: 'aa55b1f55438e7c4b957ac0ca17ceeed85866f2d', class: "fa fa-exchange-alt" }), "Kundenperspektive verlassen"))), ((_5 = this.metaNav) === null || _5 === void 0 ? void 0 : _5.IsManager) && (h("li", { key: '0c5069756b0b78e07d1ed62558fc3f6e03366307', role: "separator", class: "divider" })), (_7 = (_6 = this.metaNav) === null || _6 === void 0 ? void 0 : _6.ActionsMenu) === null || _7 === void 0 ? void 0 :
161
+ _7.map(item => (h("li", null, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), item.Text)))), h("li", { key: 'f326296a03713d095003535816873b76d5f48d94' }, h("a", { key: '460f4e524625d43550e1b7875b02e07df3ab20ac', href: "/de-de/mycrossvertise/account/logoff?returnUrl=/" }, h("i", { key: '0e15b834a797a8f15cfc711fe53562231d6617a0', class: "fa fa-sign-out-alt fa-fw", "aria-hidden": "true" }), "Logout"))))), h("li", { key: 'bfe4cbd2518e08984ff5753ed8933c71859c25a3', class: "visible-sm-block visible-xs-block hidden-xxs" }, h("a", { key: '068494b14f95455993a7f122a53158674413e69c', class: "btn btn-default navbar-btn btn-link", "data-toggle": "collapse", "data-target": "#search-collapse" }, h("i", { key: 'd5784c82eb8b8b247096f1ce19d5652f717b0868', class: "fa fa-search", "aria-hidden": "true" }))), !((_8 = this.metaNav) === null || _8 === void 0 ? void 0 : _8.IsAuthenticated) && (h("li", { key: '7e27ad5c2be033b1410ab7d8f35c379a0f99d5e1', class: "hidden-md hidden-lg" }, h("a", { key: '75bb5da8e0a4e54c38025c14a6c48a39a54987bf', class: "btn btn-default navbar-btn btn-link mob-login", href: "/de-de/mycrossvertise/account/logon" }, h("i", { key: 'd4ceafa6630e9875e4b5aa02c8043b3415875ed3', class: "fa fa-user fa-lg", "aria-hidden": "true" })))), !((_9 = this.metaNav) === null || _9 === void 0 ? void 0 : _9.IsAuthenticated) && (h("li", { key: '860cc16a9a3113797f94176e49af6e5018ef21d3', class: "hidden-xs hidden-sm" }, h("a", { key: 'f8a7786698714b25065eac2f092a20b1dca56819', role: "button", onClick: this.openLoginModal, class: "btn btn-default navbar-btn btn-link" }, h("i", { key: '753c70b5740cd59f0fdda73a478872d5d322432d', class: "fa fa-user fa-lg", "aria-hidden": "true" }), h("span", { key: '1b27674a5fd250d999e62836e79922c062a50489', class: "padding-sm-left" }, "Login")), h("xv-login-modal", { key: '7d6964bc79ed62c939512309791a5332a645f7cc', visible: this.showLoginModal, onClose: this.closeLoginModal }))), !((_10 = this.metaNav) === null || _10 === void 0 ? void 0 : _10.IsAuthenticated) && (h("li", { key: '2de53918d777dae9b7337b6f124a41b85ab6e1cb', class: "hidden-xs" }, h("a", { key: '5ab0873ed36ef6e7878bd30ace2e796733aba937', class: "btn btn-default navbar-btn btn-link", href: "/de-de/mycrossvertise/account/register" }, h("span", { key: '7f77ad720e54f443f0c3440ba91c29f2b6ecd1c5' }, "Registrieren")))), h("li", { key: 'd7900c6e64670fd0904eec3cc63859db247b2b82', class: "navbar-divider hidden-xs" }), h("li", { key: 'b83b17e74e05d26556cd0dd1ce497d50e5998bb1' }, h("a", { key: '9deb40e7fa62aba0d84321d468e822f0f3b783c3', class: "btn btn-success navbar-btn", href: "/angular/shopping-cart" }, h("span", { key: '7fd595e0194180f585c8ee339d23854479d9c346', class: "xv-font-icon-warenkorb fa-lg fa-fw", "aria-hidden": "true" }), h("span", { key: '721f33d0dc1f64cbf34aa9940eb578c31a92c8e2', class: "hidden-xs hidden-sm" }, "\u00A0Warenkorb\u00A0"), h("span", { key: 'beffcb3f5cfef4a78c632c76cf08198fc4e35d5a', class: "badge badge-success" }, ((_12 = (_11 = this.metaNav) === null || _11 === void 0 ? void 0 : _11.Cart) === null || _12 === void 0 ? void 0 : _12.NumberOfItems) || 0))))))), h("div", { key: '6e011db39a3ef5214454c01ed878421d80855974', class: "collapse hidden-md hidden-lg", id: "search-collapse" }, h("div", { key: 'c54830e5e0a1acb61470524d4ba072218b8d3992', class: "container" }, h("form", { key: '5edca459f41ee0fa9c2513e1dddb464f3e666322', action: "/de-de/media/search", class: "navbar-form", method: "get", role: "search" }, h("div", { key: '73409a7e440baec3bf92f6d5b2a4b5c5ddbb6ede', class: "input-group" }, h("input", { key: 'b755ae0c80dfb8572e73d49d5fee629bf900ed88', class: "form-control", name: "Q", placeholder: "Suche", type: "text", autocomplete: "off" }), h("span", { key: '0c76260d6f98d5d0a0f1c8c58e5b967688d9b4c3', class: "input-group-btn force-full-width" }, h("button", { key: '71182c02ebac137be60b9b47a6f44cd912d854e4', class: "btn btn-default search-addon", type: "submit" }, h("i", { key: '4845f8457a13ca9b399c8f20f7dcfe377a1221ce', class: "fa fa-search", "aria-hidden": "true" })))))))), h("div", { key: '8ba3d7c7b6da01e137b802893ec71f6c89729092', innerHTML: this.htmlContent }), h("ul", { key: '65959110a2077a384c531ee6ca7bae302eeadda0', class: "ui-autocomplete ui-front ui-menu ui-widget ui-widget-content ui-corner-all", id: "xv-search-suggestions", tabindex: "0", style: {
145
162
  width: `${(_13 = this.listPosition) === null || _13 === void 0 ? void 0 : _13.width}px`,
146
163
  top: `${(_14 = this.listPosition) === null || _14 === void 0 ? void 0 : _14.top}px`,
147
164
  left: `${(_15 = this.listPosition) === null || _15 === void 0 ? void 0 : _15.left}px`,
@@ -1 +1 @@
1
- {"version":3,"file":"xv-header.js","sourceRoot":"","sources":["../../../src/components/xv-header/xv-header.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Element, State } from '@stencil/core';\n\n@Component({\n tag: 'xv-header',\n styleUrl: 'xv-header.scss',\n})\nexport class XvHeader {\n @State() htmlContent: string = '';\n @State() showLoginModal = false;\n @State() isCockpitMenuExpanded: boolean = true;\n @State() isEntitiesMenuExpanded: boolean = true;\n @State() isUserMenuExpanded: boolean = true;\n @Element() el: HTMLElement;\n @State() suggestions: { title_de: string; page_link: string; source: string }[] = [];\n @State() searchQuery: string = '';\n @State() listPosition: { width: number; top: number; left: number } = { width: 0, top: 0, left: 0 };\n @State() showPopover = false;\n\n\n private currentSuggestion: string | null = null;\n private searchInput?: HTMLInputElement;\n private inputHandlers: { input: HTMLInputElement; listeners: [string, EventListener][] }[] = [];\n\n private openLoginModal = () => {\n this.showLoginModal = true;\n };\n\n private togglePopover = () => {\n this.showPopover = !this.showPopover;\n };\n\n private closeLoginModal = () => {\n this.showLoginModal = false;\n };\n\n private handleSearchInput = async (e: Event) => {\n const target = e.target as HTMLInputElement;\n const query = target.value.trim();\n this.searchQuery = query;\n if (query.length < 2) {\n this.suggestions = [];\n this.currentSuggestion = null;\n return;\n }\n const rect = target.getBoundingClientRect();\n this.listPosition = { width: rect.width, top: rect.bottom + window.scrollY, left: rect.left + window.scrollX };\n const url =\n 'https://xv-search.search.windows.net/indexes/xv-shared-index-live/docs/suggest?fuzzy=true&suggesterName=xv-shared-index-live-suggester&api-version=2020-06-30&search=' +\n encodeURIComponent(query) +\n '&$top=10&$select=title_de,page_link,source&$orderby=source desc';\n try {\n const resp = await fetch(url, {\n headers: {\n 'Content-Type': 'application/json',\n 'api-key': '7315DEF1FA0C8B12109B12BA28E517E7',\n },\n });\n const data = await resp.json();\n this.suggestions = Array.isArray(data.value) ? data.value : [];\n this.currentSuggestion = this.suggestions.length > 0 ? this.suggestions[0].title_de : null;\n } catch (err) {\n console.error('Failed to fetch suggestions', err);\n }\n };\n\n private navigateToSuggestion = (s: { title_de: string; page_link: string; source: string }) => {\n const url = \"https://www.crossvertise.com\" + s.page_link;\n window.location.href = url;\n };\n\n private escapeRegExp(text: string) {\n return text.replace(/[.*+?^${}()|[\\\\]\\\\]/g, '\\\\$&');\n }\n\n private handleKeyDown = (e: KeyboardEvent) => {\n const input = e.target as HTMLInputElement;\n if (e.key === 'Tab' && this.currentSuggestion) {\n input.value = this.currentSuggestion;\n e.preventDefault();\n } else if (e.key === 'Escape') {\n this.currentSuggestion = null;\n input.value = '';\n this.suggestions = [];\n }\n };\n\n componentDidLoad() {\n const inputs = this.el.querySelectorAll('input[name=\"Q\"]');\n inputs.forEach(input => {\n const handleInput = this.handleSearchInput.bind(this);\n const handleKeyDown = this.handleKeyDown.bind(this);\n input.addEventListener('input', handleInput);\n input.addEventListener('keydown', handleKeyDown);\n this.inputHandlers.push({\n input: input as HTMLInputElement,\n listeners: [\n ['input', handleInput],\n ['keydown', handleKeyDown],\n ],\n });\n if (!this.searchInput) {\n this.searchInput = input as HTMLInputElement;\n }\n });\n }\n\n private metaNav;\n\n private loadMetaNav() {\n try {\n const metaNavRaw = localStorage.getItem('metaNav');\n if (metaNavRaw) {\n this.metaNav = JSON.parse(metaNavRaw);\n }\n } catch (e) {\n console.warn('Could not parse metaNav from localStorage:', e);\n }\n }\n\n private toggleCockpitMenu() {\n this.isCockpitMenuExpanded = !this.isCockpitMenuExpanded;\n }\n\n private toggleEntitiesMenu() {\n this.isEntitiesMenuExpanded = !this.isEntitiesMenuExpanded;\n }\n\n private toggleUserMenu() {\n this.isUserMenuExpanded = !this.isUserMenuExpanded;\n }\n\n disconnectedCallback() {\n this.inputHandlers.forEach(({ input, listeners }) => {\n listeners.forEach(([event, handler]) => {\n input.removeEventListener(event, handler);\n });\n });\n this.inputHandlers = [];\n }\n\n async componentWillLoad() {\n this.loadMetaNav();\n try {\n const response = await fetch('https://crossvertise.blob.core.windows.net/nav-sync-qa/nav.html');\n const text = await response.text();\n const parser = new DOMParser();\n const doc = parser.parseFromString(text, 'text/html');\n\n const mixedMenu = doc.querySelector('.alle-kategorien-menu');\n const allCategoriesGenerals = doc.querySelector('.alle-kategorien-allgemines');\n const allCategoriesContainer = doc.querySelector('#media-menu-item-alle-kategorien > .dropdown-menu');\n\n if (mixedMenu && allCategoriesGenerals && allCategoriesContainer) {\n allCategoriesContainer.appendChild(mixedMenu);\n allCategoriesContainer.appendChild(allCategoriesGenerals);\n }\n\n this.htmlContent = doc.body.innerHTML;\n } catch (error) {\n console.error('Failed to fetch header HTML:', error?.message, error);\n }\n }\n\n render() {\n return (\n <div id=\"nav-container\" class=\"xv-header\">\n <nav class=\"navbar navbar-default navbar-fixed-top backend-force-relative\">\n\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-sm-3 col-xs-3 col-xxs-4 no-padding-right\">\n <div class=\"navbar-header\">\n <button class=\"btn btn-default navbar-toggle pull-left navbar-btn\" data-toggle=\"collapse\" data-target=\"#main-menu\">\n <i class=\"fa fa-bars fa-lg\" aria-hidden=\"true\"></i>\n </button>\n <div class=\"visible-xs-inline\">\n <a href=\"https://www.crossvertise.com/\" class=\"navbar-brand\">\n <img src=\"https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo-small.svg\" alt=\"Crossvertise\" />\n </a>\n </div>\n <div class=\"hidden-xs\">\n <a href=\"https://www.crossvertise.com/\" class=\"navbar-brand\">\n <img loading=\"lazy\" src=\"https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo.svg\" alt=\"Crossvertise\" />\n </a>\n </div>\n </div>\n </div>\n <div class=\"col-sm-9 col-xs-9 col-xxs-8 no-padding-left\">\n <ul class=\"nav nav-pills nav-meta pull-right\">\n\n\n {this.metaNav?.ImpersonationInfo && (\n <li>\n <div class=\"btn btn-link navbar-btn navbar-btn-cust hidden-xs\" onClick={this.togglePopover}>\n <i class=\"fa fa-user\"></i>\n <i class=\"fa fa-exchange-alt\"></i>\n </div>\n <div class=\"popover popover-fixed fade bottom in\" style={{ \"display\": this.showPopover ? \"block\" : \"none\" }}>\n <div class=\"arrow\"></div>\n <h3 class=\"popover-title\">Momentan ist die Kundenperspektive aktiviert für:</h3>\n <div class=\"popover-content\">\n <div class=\"row\">\n <div class=\"col-xs-12\">\n <table class=\"table-condensed\">\n <tbody>\n <tr><td><span>{this.metaNav?.ImpersonationInfo?.NameAndTitle}</span></td></tr>\n <tr><td><span>{this.metaNav?.ImpersonationInfo?.CompanyName}</span></td></tr>\n <tr><td><span>{this.metaNav?.ImpersonationInfo?.Email}</span></td></tr>\n <tr><td><span>{this.metaNav?.ImpersonationInfo?.PhoneOffice}</span></td></tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n <div class=\"row contact-contactform-container\" id=\"contact-contactform-container-nav\">\n <div class=\"col-xs-12\">\n <a class=\"btn btn-primary btn-block\" href=\"/de-de/mycrossvertise/account/clearimpersonation\">\n Kundenperspektive verlassen\n </a>\n </div>\n </div>\n </div>\n </li>\n )}\n <li>\n <a class=\"btn btn-link navbar-btn hidden-xs\" href=\"#\">Kontakt</a>\n <a href=\"/contact\" class=\"btn btn-link navbar-btn hidden-xs\" style={{ display: 'none' }}>Kontakt</a>\n <a class=\"btn btn-default btn-link navbar-btn visible-xs hidden-xxs\" href=\"#\">\n <i class=\"fa fa-phone\"></i>\n </a>\n </li>\n\n {/* Notifications Bell for Manager */}\n {this.metaNav?.IsManager && (\n <li class=\"dropdown\">\n <a class=\"dropdown-toggle btn navbar-btn btn-link\"\n data-toggle=\"dropdown\"\n role=\"button\"\n data-container=\"body\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\">\n <i class=\"fas fa-bell fa-lg\"></i>\n <span id=\"notifications-count\" class=\"badge badge-success badge-top-right\" style={{ display: 'none' }}></span>\n </a>\n </li>\n )}\n\n {/* User Menu Dropdown */}\n {this.metaNav?.IsAuthenticated && (\n <li class=\"dropdown\" id=\"my-xv-menu\">\n <a class=\"dropdown-toggle btn navbar-btn btn-link\"\n data-toggle=\"dropdown\"\n role=\"button\"\n data-container=\"body\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\">\n <i class=\"fa fa-user fa-lg text-success\" aria-hidden=\"true\"></i>\n &nbsp;\n <span class=\"hidden-xs\">{this.metaNav?.UserMenuText}</span>\n &nbsp;\n <span class=\"caret\"></span>\n </a>\n <ul class=\"dropdown-menu-left dropdown-menu navbar-myxv\">\n\n {/* Manager Menu Section */}\n {this.metaNav?.IsManager && (\n <li>\n <a onClick={() => this.toggleCockpitMenu()}>\n <i class=\"fa fa-tachometer-alt fa-fw\"></i> \n &nbsp;Cockpitfunktionen &nbsp;\n <i class=\"fa fa-caret-down\"></i>\n </a>\n </li>\n )}\n {this.isCockpitMenuExpanded && this.metaNav?.ManagerCockpitMenu?.map(item => (\n <li class='user-menu-item'>\n <a href={item.Url} target={item.Target || '_self'}>\n <i class={item.CssClass}></i>&nbsp;&nbsp;{item.Text}\n </a>\n </li>\n ))}\n\n {/* Manager Entities Menu */}\n {this.metaNav?.IsManager && (\n <li>\n <a onClick={() => this.toggleEntitiesMenu()}><i class=\"fa fa-cubes\"></i>&nbsp;Entitäten &nbsp;<i class=\"fa fa-caret-down\"></i></a>\n </li>\n )}\n {this.isEntitiesMenuExpanded && this.metaNav?.ManagerEntitiesMenu?.map(item => (\n <li class='user-menu-item'>\n <a href={item.Url} target={item.Target || '_self'}>\n <i class={item.CssClass}></i>\n {item.Text}\n </a>\n </li>\n ))}\n\n {/* Administration */}\n {this.metaNav?.ManagerMenu?.map(item => (\n <li>\n <a href={item.Url} target={item.Target || '_self'}>\n <i class={item.CssClass}></i>&nbsp;\n {item.Text}\n </a>\n </li>\n ))}\n\n {this.metaNav?.IsManager && (\n <li role=\"separator\" class=\"divider\"></li>\n )}\n\n {/* User Menu */}\n {this.metaNav?.IsManager && (\n <li >\n <a onClick={() => this.toggleUserMenu()}>\n <i class=\"fa fa-user\"></i>&nbsp;Mein Crossvertise &nbsp;<span class=\"badge\">\n {this.metaNav?.PendingItems}</span><i class=\"fa fa-caret-down\">\n </i>\n </a>\n </li>\n )}\n {this.isUserMenuExpanded && this.metaNav?.UserMenu?.map(item => (\n <li class='user-menu-item'>\n <a href={item.Url} target={item.Target || '_self'}>\n <i class={item.CssClass}></i>{item.Text}&nbsp;{item.BadgeText && (<span class=\"badge\">{item.BadgeText}</span>)}\n </a>\n </li>\n ))}\n\n\n {/* Impersonation Info */}\n {this.metaNav?.ImpersonationInfo?.isImpersonated && (\n <li class='user-menu-item'>\n <a href={this.metaNav?.ImpersonationInfo?.ClearImpersonationUrl}>\n <i class=\"fa fa-exchange-alt\"></i>\n Kundenperspektive verlassen\n </a>\n </li>\n )}\n\n {this.metaNav?.IsManager && (\n <li role=\"separator\" class=\"divider\"></li>\n )}\n\n {/* Actions Menu */}\n {this.metaNav?.ActionsMenu?.map(item => (\n <li>\n <a href={item.Url} target={item.Target || '_self'}>\n <i class={item.CssClass}></i>\n {item.Text}\n </a>\n </li>\n ))}\n\n <li>\n <a href=\"/de-de/mycrossvertise/account/logoff?returnUrl=/\"><i class=\"fa fa-sign-out-alt fa-fw\" aria-hidden=\"true\"></i>Logout</a>\n </li>\n </ul>\n </li>\n )}\n\n <li class=\"visible-sm-block visible-xs-block hidden-xxs\">\n <a class=\"btn btn-default navbar-btn btn-link\" data-toggle=\"collapse\" data-target=\"#search-collapse\">\n <i class=\"fa fa-search\" aria-hidden=\"true\"></i>\n </a>\n </li>\n\n {/* Login */}\n\n {!this.metaNav?.IsAuthenticated && (\n <li class=\"hidden-md hidden-lg\">\n <a class=\"btn btn-default navbar-btn btn-link mob-login\" href=\"/de-de/mycrossvertise/account/logon\" >\n <i class=\"fa fa-user fa-lg\" aria-hidden=\"true\"></i>\n </a>\n </li>\n )}\n \n {!this.metaNav?.IsAuthenticated && (\n <li class=\"hidden-xs hidden-sm\">\n <a role=\"button\" onClick={this.openLoginModal} class=\"btn btn-default navbar-btn btn-link\">\n <i class=\"fa fa-user fa-lg\" aria-hidden=\"true\"></i>\n <span class=\"padding-sm-left\">Login</span>\n </a>\n <xv-login-modal visible={this.showLoginModal} onClose={this.closeLoginModal}></xv-login-modal>\n </li>\n )}\n\n {/* Registrieren */}\n {!this.metaNav?.IsAuthenticated && (\n <li class=\"hidden-xs\">\n <a class=\"btn btn-default navbar-btn btn-link\" href=\"/de-de/mycrossvertise/account/register\">\n <span>Registrieren</span>\n </a>\n </li>\n )}\n\n <li class=\"navbar-divider hidden-xs\"></li>\n <li>\n <a class=\"btn btn-success navbar-btn\"\n href=\"/angular/shopping-cart\">\n <span class=\"xv-font-icon-warenkorb fa-lg fa-fw\" aria-hidden=\"true\"></span>\n <span class=\"hidden-xs hidden-sm\">&nbsp;Warenkorb&nbsp;</span>\n <span class=\"badge badge-success\">\n {this.metaNav?.Cart?.NumberOfItems || 0}\n </span>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n <div class=\"collapse hidden-md hidden-lg\" id=\"search-collapse\">\n <div class=\"container\">\n <form action=\"/de-de/media/search\" class=\"navbar-form\" method=\"get\" role=\"search\">\n <div class=\"input-group\">\n <input class=\"form-control\" name=\"Q\" placeholder=\"Suche\" type=\"text\" autocomplete=\"off\" />\n <span class=\"input-group-btn force-full-width\">\n <button class=\"btn btn-default search-addon\" type=\"submit\">\n <i class=\"fa fa-search\" aria-hidden=\"true\"></i>\n </button>\n </span>\n </div>\n </form>\n </div>\n </div>\n </nav>\n <div innerHTML={this.htmlContent}></div>\n <ul\n class=\"ui-autocomplete ui-front ui-menu ui-widget ui-widget-content ui-corner-all\"\n id=\"xv-search-suggestions\"\n tabindex=\"0\"\n style={{\n width: `${this.listPosition?.width}px`,\n top: `${this.listPosition?.top}px`,\n left: `${this.listPosition?.left}px`,\n display: this.suggestions?.length ? 'block' : 'none',\n position: 'absolute',\n zIndex: '1000',\n }}\n >\n {this.suggestions.map(s => (\n <li class=\"ui-menu-item\" role=\"presentation\">\n <a\n href=\"#\"\n onClick={e => {\n e.preventDefault();\n this.navigateToSuggestion(s);\n }}\n >\n {s.title_de.split(new RegExp(`(${this.escapeRegExp(this.searchQuery)})`, 'gi')).map(part =>\n part.toLowerCase() === this.searchQuery?.toLowerCase() ? <b>{part}</b> : part\n )}\n </a>\n </li>\n ))}\n </ul>\n </div>\n );\n }\n}"]}
1
+ {"version":3,"file":"xv-header.js","sourceRoot":"","sources":["../../../src/components/xv-header/xv-header.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAM7D,MAAM,OAAO,QAAQ;IAJrB;QAKW,gBAAW,GAAW,EAAE,CAAC;QACzB,mBAAc,GAAG,KAAK,CAAC;QACvB,0BAAqB,GAAY,IAAI,CAAC;QACtC,2BAAsB,GAAY,IAAI,CAAC;QACvC,uBAAkB,GAAY,IAAI,CAAC;QAEnC,gBAAW,GAA8D,EAAE,CAAC;QAC5E,gBAAW,GAAW,EAAE,CAAC;QACzB,iBAAY,GAAiD,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAC3F,gBAAW,GAAG,KAAK,CAAC;QAGrB,sBAAiB,GAAkB,IAAI,CAAC;QAExC,iBAAY,GAAuB,EAAE,CAAC;QACtC,kBAAa,GAAwE,EAAE,CAAC;QACxF,uBAAkB,GAAG,CAAC,EAAc,EAAE,EAAE;YAC9C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM;gBAAE,OAAO;YAErC,MAAM,aAAa,GAAG,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC;YACtE,MAAM,MAAM,GAAG,EAAE,CAAC,MAAc,CAAC;YAEjC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAAE,OAAO;YACpE,IAAI,aAAa,IAAI,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAAE,OAAO;YAE5D,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAChC,CAAC,CAAC;QAEM,mBAAc,GAAG,GAAG,EAAE;YAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC;QAEM,kBAAa,GAAG,GAAG,EAAE;YAC3B,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;QACvC,CAAC,CAAC;QAEM,oBAAe,GAAG,GAAG,EAAE;YAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC,CAAC;QAEM,sBAAiB,GAAG,KAAK,EAAE,CAAQ,EAAE,EAAE;YAC7C,MAAM,MAAM,GAAG,CAAC,CAAC,MAA0B,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;gBACtB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,OAAO;YACT,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,qBAAqB,EAAE,CAAC;YAC5C,IAAI,CAAC,YAAY,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/G,MAAM,GAAG,GACP,uKAAuK;gBACvK,kBAAkB,CAAC,KAAK,CAAC;gBACzB,iEAAiE,CAAC;YACpE,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;oBAC5B,OAAO,EAAE;wBACP,cAAc,EAAE,kBAAkB;wBAClC,SAAS,EAAE,kCAAkC;qBAC9C;iBACF,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC/B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7F,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YACpD,CAAC;QACH,CAAC,CAAC;QAEM,yBAAoB,GAAG,CAAC,CAA0D,EAAE,EAAE;YAC5F,MAAM,GAAG,GAAG,8BAA8B,GAAG,CAAC,CAAC,SAAS,CAAC;YACzD,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;QAC7B,CAAC,CAAC;QAMM,kBAAa,GAAG,CAAC,CAAgB,EAAE,EAAE;YAC3C,MAAM,KAAK,GAAG,CAAC,CAAC,MAA0B,CAAC;YAC3C,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAC9C,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC;gBACrC,CAAC,CAAC,cAAc,EAAE,CAAC;YACrB,CAAC;iBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;gBAC9B,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC;gBACjB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;YACxB,CAAC;QACH,CAAC,CAAC;KA2XH;IAzYS,YAAY,CAAC,IAAY;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAcD,gBAAgB;QACd,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAuB,CAAC;QAC7F,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;QAC3B,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrB,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;YAC7C,KAAK,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;YACjD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBACtB,KAAK,EAAE,KAAyB;gBAChC,SAAS,EAAE;oBACT,CAAC,OAAO,EAAE,WAAW,CAAC;oBACtB,CAAC,SAAS,EAAE,aAAa,CAAC;iBAC3B;aACF,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBACtB,IAAI,CAAC,WAAW,GAAG,KAAyB,CAAC;YAC/C,CAAC;QACH,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACnE,CAAC;IAIO,WAAW;QACjB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACnD,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACxC,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,IAAI,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAEO,iBAAiB;QACvB,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,CAAC,qBAAqB,CAAC;IAC3D,CAAC;IAEO,kBAAkB;QACxB,IAAI,CAAC,sBAAsB,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC;IAC7D,CAAC;IAEO,cAAc;QACpB,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC;IACrD,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE;YAClD,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE;gBACrC,KAAK,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,iEAAiE,CAAC,CAAC;YAChG,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,MAAM,CAAC,eAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAEtD,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;YAC7D,MAAM,qBAAqB,GAAG,GAAG,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;YAC/E,MAAM,sBAAsB,GAAG,GAAG,CAAC,aAAa,CAAC,mDAAmD,CAAC,CAAC;YAEtG,IAAI,SAAS,IAAI,qBAAqB,IAAI,sBAAsB,EAAE,CAAC;gBACjE,sBAAsB,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC9C,sBAAsB,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QACxC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,MAAM;;QACJ,OAAO,CACL,4DAAK,EAAE,EAAC,eAAe,EAAC,KAAK,EAAC,WAAW;YACvC,4DAAK,KAAK,EAAC,+DAA+D;gBAExE,4DAAK,KAAK,EAAC,WAAW;oBACpB,4DAAK,KAAK,EAAC,KAAK;wBACd,4DAAK,KAAK,EAAC,8CAA8C;4BACvD,4DAAK,KAAK,EAAC,eAAe;gCACxB,+DAAQ,KAAK,EAAC,oDAAoD,iBAAa,UAAU,iBAAa,YAAY;oCAChH,0DAAG,KAAK,EAAC,kBAAkB,iBAAa,MAAM,GAAK,CAC5C;gCACT,4DAAK,KAAK,EAAC,mBAAmB;oCAC5B,0DAAG,IAAI,EAAC,+BAA+B,EAAC,KAAK,EAAC,cAAc;wCAC1D,4DAAK,GAAG,EAAC,2FAA2F,EAAC,GAAG,EAAC,cAAc,GAAG,CACxH,CACA;gCACN,4DAAK,KAAK,EAAC,WAAW;oCACpB,0DAAG,IAAI,EAAC,+BAA+B,EAAC,KAAK,EAAC,cAAc;wCAC1D,4DAAK,OAAO,EAAC,MAAM,EAAC,GAAG,EAAC,qFAAqF,EAAC,GAAG,EAAC,cAAc,GAAG,CACjI,CACA,CACF,CACF;wBACN,4DAAK,KAAK,EAAC,6CAA6C;4BACtD,2DAAI,KAAK,EAAC,mCAAmC;gCAG1C,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,iBAAiB,KAAI,CAClC;oCACE,4DAAK,KAAK,EAAC,mDAAmD,EAAC,OAAO,EAAE,IAAI,CAAC,aAAa;wCACxF,0DAAG,KAAK,EAAC,YAAY,GAAK;wCAC1B,0DAAG,KAAK,EAAC,oBAAoB,GAAK,CAC9B;oCACN,4DAAK,KAAK,EAAC,sCAAsC,EAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE;wCACzG,4DAAK,KAAK,EAAC,OAAO,GAAO;wCACzB,2DAAI,KAAK,EAAC,eAAe,6DAAuD;wCAChF,4DAAK,KAAK,EAAC,iBAAiB;4CAC1B,4DAAK,KAAK,EAAC,KAAK;gDACd,4DAAK,KAAK,EAAC,WAAW;oDACpB,8DAAO,KAAK,EAAC,iBAAiB;wDAC5B;4DACE;gEAAI;oEAAI,+DAAO,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,iBAAiB,0CAAE,YAAY,CAAQ,CAAK,CAAK;4DAC9E;gEAAI;oEAAI,+DAAO,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,iBAAiB,0CAAE,WAAW,CAAQ,CAAK,CAAK;4DAC7E;gEAAI;oEAAI,+DAAO,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,iBAAiB,0CAAE,KAAK,CAAQ,CAAK,CAAK;4DACvE;gEAAI;oEAAI,+DAAO,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,iBAAiB,0CAAE,WAAW,CAAQ,CAAK,CAAK,CACvE,CACF,CACJ,CACF,CACF;wCACN,4DAAK,KAAK,EAAC,mCAAmC,EAAC,EAAE,EAAC,mCAAmC;4CACnF,4DAAK,KAAK,EAAC,WAAW;gDACpB,0DAAG,KAAK,EAAC,2BAA2B,EAAC,IAAI,EAAC,kDAAkD,kCAExF,CACA,CACF,CACF,CACH,CACN;gCACD;oCACE,0DAAG,KAAK,EAAC,mCAAmC,EAAC,IAAI,EAAC,GAAG,cAAY;oCACjE,0DAAG,IAAI,EAAC,UAAU,EAAC,KAAK,EAAC,mCAAmC,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,cAAa;oCACpG,0DAAG,KAAK,EAAC,2DAA2D,EAAC,IAAI,EAAC,GAAG;wCAC3E,0DAAG,KAAK,EAAC,aAAa,GAAK,CACzB,CACD;gCAGJ,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,SAAS,KAAI,CAC1B,2DAAI,KAAK,EAAC,UAAU;oCAClB,0DAAG,KAAK,EAAC,yCAAyC,iBACpC,UAAU,EACtB,IAAI,EAAC,QAAQ,oBACE,MAAM,mBACP,MAAM,mBACN,OAAO;wCACrB,0DAAG,KAAK,EAAC,mBAAmB,GAAK;wCACjC,6DAAM,EAAE,EAAC,qBAAqB,EAAC,KAAK,EAAC,qCAAqC,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAS,CAC5G,CACD,CACN;gCAGA,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,eAAe,KAAI,CAChC,2DAAI,KAAK,EAAC,UAAU,EAAC,EAAE,EAAC,YAAY;oCAClC,0DAAG,KAAK,EAAC,yCAAyC,iBACpC,UAAU,EACtB,IAAI,EAAC,QAAQ,oBACE,MAAM,mBACP,MAAM,mBACN,OAAO;wCACrB,0DAAG,KAAK,EAAC,+BAA+B,iBAAa,MAAM,GAAK;;wCAEhE,6DAAM,KAAK,EAAC,WAAW,IAAE,MAAA,IAAI,CAAC,OAAO,0CAAE,YAAY,CAAQ;;wCAE3D,6DAAM,KAAK,EAAC,OAAO,GAAQ,CACzB;oCACJ,2DAAI,KAAK,EAAC,8CAA8C;wCAGrD,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,SAAS,KAAI,CAC1B;4CACE,0DAAG,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE;gDACxC,0DAAG,KAAK,EAAC,4BAA4B,GAAK;;gDAE1C,0DAAG,KAAK,EAAC,kBAAkB,GAAK,CAC9B,CACD,CACN;wCACA,IAAI,CAAC,qBAAqB,KAAI,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,kBAAkB,0CAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAC3E,UAAI,KAAK,EAAC,gBAAgB;4CACxB,SAAG,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,OAAO;gDAC/C,SAAG,KAAK,EAAE,IAAI,CAAC,QAAQ,GAAM;;gDAAa,IAAI,CAAC,IAAI,CACjD,CACD,CACN,CAAC,CAAA;wCAGD,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,SAAS,KAAI,CAC1B;4CACE,0DAAG,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE;gDAAE,0DAAG,KAAK,EAAC,aAAa,GAAK;;gDAAsB,0DAAG,KAAK,EAAC,kBAAkB,GAAK,CAAI,CAC/H,CACN;wCACA,IAAI,CAAC,sBAAsB,KAAI,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,mBAAmB,0CAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAC7E,UAAI,KAAK,EAAC,gBAAgB;4CACxB,SAAG,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,OAAO;gDAC/C,SAAG,KAAK,EAAE,IAAI,CAAC,QAAQ,GAAM;gDAC5B,IAAI,CAAC,IAAI,CACR,CACD,CACN,CAAC,CAAA,EAGD,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,WAAW;2CAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACtC;4CACE,SAAG,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,OAAO;gDAC/C,SAAG,KAAK,EAAE,IAAI,CAAC,QAAQ,GAAM;;gDAC5B,IAAI,CAAC,IAAI,CACR,CACD,CACN,CAAC;wCAED,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,SAAS,KAAI,CAC1B,2DAAI,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,SAAS,GAAM,CAC3C;wCAGA,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,SAAS,KAAI,CAC1B;4CACE,0DAAG,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE;gDACrC,0DAAG,KAAK,EAAC,YAAY,GAAK;;gDAA8B,6DAAM,KAAK,EAAC,OAAO,IACxE,MAAA,IAAI,CAAC,OAAO,0CAAE,YAAY,CAAQ;gDAAA,0DAAG,KAAK,EAAC,kBAAkB,GAC5D,CACF,CACD,CACN;wCACA,IAAI,CAAC,kBAAkB,KAAI,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,QAAQ,0CAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAC9D,UAAI,KAAK,EAAC,gBAAgB;4CACxB,SAAG,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,OAAO;gDAC/C,SAAG,KAAK,EAAE,IAAI,CAAC,QAAQ,GAAM;gDAAC,IAAI,CAAC,IAAI;;gDAAQ,IAAI,CAAC,SAAS,IAAI,CAAC,YAAM,KAAK,EAAC,OAAO,IAAE,IAAI,CAAC,SAAS,CAAQ,CAAC,CAC5G,CACD,CACN,CAAC,CAAA;wCAID,CAAA,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,iBAAiB,0CAAE,cAAc,KAAI,CAClD,2DAAI,KAAK,EAAC,gBAAgB;4CACxB,0DAAG,IAAI,EAAE,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,iBAAiB,0CAAE,qBAAqB;gDAC7D,0DAAG,KAAK,EAAC,oBAAoB,GAAK;8EAEhC,CACD,CACN;wCAEA,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,SAAS,KAAI,CAC1B,2DAAI,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,SAAS,GAAM,CAC3C,EAGA,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,WAAW;2CAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CACtC;4CACE,SAAG,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,OAAO;gDAC/C,SAAG,KAAK,EAAE,IAAI,CAAC,QAAQ,GAAM;gDAC5B,IAAI,CAAC,IAAI,CACR,CACD,CACN,CAAC;wCAEF;4CACE,0DAAG,IAAI,EAAC,kDAAkD;gDAAC,0DAAG,KAAK,EAAC,0BAA0B,iBAAa,MAAM,GAAK;yDAAU,CAC7H,CACF,CACF,CACN;gCAED,2DAAI,KAAK,EAAC,8CAA8C;oCACtD,0DAAG,KAAK,EAAC,qCAAqC,iBAAa,UAAU,iBAAa,kBAAkB;wCAClG,0DAAG,KAAK,EAAC,cAAc,iBAAa,MAAM,GAAK,CAC7C,CACD;gCAIJ,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,eAAe,CAAA,IAAI,CACjC,2DAAI,KAAK,EAAC,qBAAqB;oCAC7B,0DAAG,KAAK,EAAC,+CAA+C,EAAC,IAAI,EAAC,qCAAqC;wCACjG,0DAAG,KAAK,EAAC,kBAAkB,iBAAa,MAAM,GAAK,CACjD,CACD,CACN;gCAEA,CAAC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,eAAe,CAAA,IAAI,CACjC,2DAAI,KAAK,EAAC,qBAAqB;oCAC7B,0DAAG,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAC,qCAAqC;wCACxF,0DAAG,KAAK,EAAC,kBAAkB,iBAAa,MAAM,GAAK;wCACnD,6DAAM,KAAK,EAAC,iBAAiB,YAAa,CACxC;oCACJ,uEAAgB,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,GAAmB,CAC3F,CACN;gCAGA,CAAC,CAAA,OAAA,IAAI,CAAC,OAAO,4CAAE,eAAe,CAAA,IAAI,CACjC,2DAAI,KAAK,EAAC,WAAW;oCACnB,0DAAG,KAAK,EAAC,qCAAqC,EAAC,IAAI,EAAC,wCAAwC;wCAC1F,8EAAyB,CACvB,CACD,CACN;gCAED,2DAAI,KAAK,EAAC,0BAA0B,GAAM;gCAC1C;oCACE,0DAAG,KAAK,EAAC,4BAA4B,EACnC,IAAI,EAAC,wBAAwB;wCAC7B,6DAAM,KAAK,EAAC,oCAAoC,iBAAa,MAAM,GAAQ;wCAC3E,6DAAM,KAAK,EAAC,qBAAqB,4BAA6B;wCAC9D,6DAAM,KAAK,EAAC,qBAAqB,IAC9B,CAAA,OAAA,OAAA,IAAI,CAAC,OAAO,4CAAE,IAAI,4CAAE,aAAa,KAAI,CAAC,CAClC,CACL,CACD,CACF,CACD,CACF,CACF;gBACN,4DAAK,KAAK,EAAC,8BAA8B,EAAC,EAAE,EAAC,iBAAiB;oBAC5D,4DAAK,KAAK,EAAC,WAAW;wBACpB,6DAAM,MAAM,EAAC,qBAAqB,EAAC,KAAK,EAAC,aAAa,EAAC,MAAM,EAAC,KAAK,EAAC,IAAI,EAAC,QAAQ;4BAC/E,4DAAK,KAAK,EAAC,aAAa;gCACtB,8DAAO,KAAK,EAAC,cAAc,EAAC,IAAI,EAAC,GAAG,EAAC,WAAW,EAAC,OAAO,EAAC,IAAI,EAAC,MAAM,EAAC,YAAY,EAAC,KAAK,GAAG;gCAC1F,6DAAM,KAAK,EAAC,kCAAkC;oCAC5C,+DAAQ,KAAK,EAAC,8BAA8B,EAAC,IAAI,EAAC,QAAQ;wCACxD,0DAAG,KAAK,EAAC,cAAc,iBAAa,MAAM,GAAK,CACxC,CACJ,CACH,CACD,CACH,CACF,CACF;YACN,4DAAK,SAAS,EAAE,IAAI,CAAC,WAAW,GAAQ;YACxC,2DACE,KAAK,EAAC,4EAA4E,EAClF,EAAE,EAAC,uBAAuB,EAC1B,QAAQ,EAAC,GAAG,EACZ,KAAK,EAAE;oBACL,KAAK,EAAE,GAAG,OAAA,IAAI,CAAC,YAAY,4CAAE,KAAK,IAAI;oBACtC,GAAG,EAAE,GAAG,OAAA,IAAI,CAAC,YAAY,4CAAE,GAAG,IAAI;oBAClC,IAAI,EAAE,GAAG,OAAA,IAAI,CAAC,YAAY,4CAAE,IAAI,IAAI;oBACpC,OAAO,EAAE,CAAA,OAAA,IAAI,CAAC,WAAW,4CAAE,MAAM,EAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;oBACpD,QAAQ,EAAE,UAAU;oBACpB,MAAM,EAAE,MAAM;iBACf,IAEA,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACzB,UAAI,KAAK,EAAC,cAAc,EAAC,IAAI,EAAC,cAAc;gBAC1C,SACE,IAAI,EAAC,GAAG,EACR,OAAO,EAAE,CAAC,CAAC,EAAE;wBACX,CAAC,CAAC,cAAc,EAAE,CAAC;wBACnB,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;oBAC/B,CAAC,IAEA,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,WACzF,OAAA,IAAI,CAAC,WAAW,EAAE,MAAK,MAAA,IAAI,CAAC,WAAW,0CAAE,WAAW,EAAE,CAAA,CAAC,CAAC,CAAC,aAAI,IAAI,CAAK,CAAC,CAAC,CAAC,IAAI,CAAA,EAAA,CAC9E,CACC,CACD,CACN,CAAC,CACC,CACD,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Element, State } from '@stencil/core';\n\n@Component({\n tag: 'xv-header',\n styleUrl: 'xv-header.scss',\n})\nexport class XvHeader {\n @State() htmlContent: string = '';\n @State() showLoginModal = false;\n @State() isCockpitMenuExpanded: boolean = true;\n @State() isEntitiesMenuExpanded: boolean = true;\n @State() isUserMenuExpanded: boolean = true;\n @Element() el: HTMLElement;\n @State() suggestions: { title_de: string; page_link: string; source: string }[] = [];\n @State() searchQuery: string = '';\n @State() listPosition: { width: number; top: number; left: number } = { width: 0, top: 0, left: 0 };\n @State() showPopover = false;\n\n\n private currentSuggestion: string | null = null;\n private searchInput?: HTMLInputElement;\n private searchInputs: HTMLInputElement[] = [];\n private inputHandlers: { input: HTMLInputElement; listeners: [string, EventListener][] }[] = [];\n private handleClickOutside = (ev: MouseEvent) => {\n if (!this.suggestions.length) return;\n\n const suggestionsEl = this.el.querySelector('#xv-search-suggestions');\n const target = ev.target as Node;\n\n if (this.searchInputs.some(input => input.contains(target))) return;\n if (suggestionsEl && suggestionsEl.contains(target)) return;\n\n this.suggestions = [];\n this.currentSuggestion = null;\n };\n\n private openLoginModal = () => {\n this.showLoginModal = true;\n };\n\n private togglePopover = () => {\n this.showPopover = !this.showPopover;\n };\n\n private closeLoginModal = () => {\n this.showLoginModal = false;\n };\n\n private handleSearchInput = async (e: Event) => {\n const target = e.target as HTMLInputElement;\n const query = target.value.trim();\n this.searchQuery = query;\n if (query.length < 2) {\n this.suggestions = [];\n this.currentSuggestion = null;\n return;\n }\n const rect = target.getBoundingClientRect();\n this.listPosition = { width: rect.width, top: rect.bottom + window.scrollY, left: rect.left + window.scrollX };\n const url =\n 'https://xv-search.search.windows.net/indexes/xv-shared-index-live/docs/suggest?fuzzy=true&suggesterName=xv-shared-index-live-suggester&api-version=2020-06-30&search=' +\n encodeURIComponent(query) +\n '&$top=10&$select=title_de,page_link,source&$orderby=source desc';\n try {\n const resp = await fetch(url, {\n headers: {\n 'Content-Type': 'application/json',\n 'api-key': '7315DEF1FA0C8B12109B12BA28E517E7',\n },\n });\n const data = await resp.json();\n this.suggestions = Array.isArray(data.value) ? data.value : [];\n this.currentSuggestion = this.suggestions.length > 0 ? this.suggestions[0].title_de : null;\n } catch (err) {\n console.error('Failed to fetch suggestions', err);\n }\n };\n\n private navigateToSuggestion = (s: { title_de: string; page_link: string; source: string }) => {\n const url = \"https://www.crossvertise.com\" + s.page_link;\n window.location.href = url;\n };\n\n private escapeRegExp(text: string) {\n return text.replace(/[.*+?^${}()|[\\\\]\\\\]/g, '\\\\$&');\n }\n\n private handleKeyDown = (e: KeyboardEvent) => {\n const input = e.target as HTMLInputElement;\n if (e.key === 'Tab' && this.currentSuggestion) {\n input.value = this.currentSuggestion;\n e.preventDefault();\n } else if (e.key === 'Escape') {\n this.currentSuggestion = null;\n input.value = '';\n this.suggestions = [];\n }\n };\n\n componentDidLoad() {\n const inputs = Array.from(this.el.querySelectorAll('input[name=\"Q\"]')) as HTMLInputElement[];\n this.searchInputs = inputs;\n inputs.forEach(input => {\n const handleInput = this.handleSearchInput.bind(this);\n const handleKeyDown = this.handleKeyDown.bind(this);\n input.addEventListener('input', handleInput);\n input.addEventListener('keydown', handleKeyDown);\n this.inputHandlers.push({\n input: input as HTMLInputElement,\n listeners: [\n ['input', handleInput],\n ['keydown', handleKeyDown],\n ],\n });\n if (!this.searchInput) {\n this.searchInput = input as HTMLInputElement;\n }\n });\n document.body.addEventListener('click', this.handleClickOutside);\n }\n\n private metaNav;\n\n private loadMetaNav() {\n try {\n const metaNavRaw = localStorage.getItem('metaNav');\n if (metaNavRaw) {\n this.metaNav = JSON.parse(metaNavRaw);\n }\n } catch (e) {\n console.warn('Could not parse metaNav from localStorage:', e);\n }\n }\n\n private toggleCockpitMenu() {\n this.isCockpitMenuExpanded = !this.isCockpitMenuExpanded;\n }\n\n private toggleEntitiesMenu() {\n this.isEntitiesMenuExpanded = !this.isEntitiesMenuExpanded;\n }\n\n private toggleUserMenu() {\n this.isUserMenuExpanded = !this.isUserMenuExpanded;\n }\n\n disconnectedCallback() {\n this.inputHandlers.forEach(({ input, listeners }) => {\n listeners.forEach(([event, handler]) => {\n input.removeEventListener(event, handler);\n });\n });\n this.inputHandlers = [];\n this.searchInputs = [];\n document.body.removeEventListener('click', this.handleClickOutside);\n }\n\n async componentWillLoad() {\n this.loadMetaNav();\n try {\n const response = await fetch('https://crossvertise.blob.core.windows.net/nav-sync-qa/nav.html');\n const text = await response.text();\n const parser = new DOMParser();\n const doc = parser.parseFromString(text, 'text/html');\n\n const mixedMenu = doc.querySelector('.alle-kategorien-menu');\n const allCategoriesGenerals = doc.querySelector('.alle-kategorien-allgemines');\n const allCategoriesContainer = doc.querySelector('#media-menu-item-alle-kategorien > .dropdown-menu');\n\n if (mixedMenu && allCategoriesGenerals && allCategoriesContainer) {\n allCategoriesContainer.appendChild(mixedMenu);\n allCategoriesContainer.appendChild(allCategoriesGenerals);\n }\n\n this.htmlContent = doc.body.innerHTML;\n } catch (error) {\n console.error('Failed to fetch header HTML:', error?.message, error);\n }\n }\n\n render() {\n return (\n <div id=\"nav-container\" class=\"xv-header\">\n <nav class=\"navbar navbar-default navbar-fixed-top backend-force-relative\">\n\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-sm-3 col-xs-3 col-xxs-4 no-padding-right\">\n <div class=\"navbar-header\">\n <button class=\"btn btn-default navbar-toggle pull-left navbar-btn\" data-toggle=\"collapse\" data-target=\"#main-menu\">\n <i class=\"fa fa-bars fa-lg\" aria-hidden=\"true\"></i>\n </button>\n <div class=\"visible-xs-inline\">\n <a href=\"https://www.crossvertise.com/\" class=\"navbar-brand\">\n <img src=\"https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo-small.svg\" alt=\"Crossvertise\" />\n </a>\n </div>\n <div class=\"hidden-xs\">\n <a href=\"https://www.crossvertise.com/\" class=\"navbar-brand\">\n <img loading=\"lazy\" src=\"https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo.svg\" alt=\"Crossvertise\" />\n </a>\n </div>\n </div>\n </div>\n <div class=\"col-sm-9 col-xs-9 col-xxs-8 no-padding-left\">\n <ul class=\"nav nav-pills nav-meta pull-right\">\n\n\n {this.metaNav?.ImpersonationInfo && (\n <li>\n <div class=\"btn btn-link navbar-btn navbar-btn-cust hidden-xs\" onClick={this.togglePopover}>\n <i class=\"fa fa-user\"></i>\n <i class=\"fa fa-exchange-alt\"></i>\n </div>\n <div class=\"popover popover-fixed fade bottom in\" style={{ \"display\": this.showPopover ? \"block\" : \"none\" }}>\n <div class=\"arrow\"></div>\n <h3 class=\"popover-title\">Momentan ist die Kundenperspektive aktiviert für:</h3>\n <div class=\"popover-content\">\n <div class=\"row\">\n <div class=\"col-xs-12\">\n <table class=\"table-condensed\">\n <tbody>\n <tr><td><span>{this.metaNav?.ImpersonationInfo?.NameAndTitle}</span></td></tr>\n <tr><td><span>{this.metaNav?.ImpersonationInfo?.CompanyName}</span></td></tr>\n <tr><td><span>{this.metaNav?.ImpersonationInfo?.Email}</span></td></tr>\n <tr><td><span>{this.metaNav?.ImpersonationInfo?.PhoneOffice}</span></td></tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n <div class=\"row contact-contactform-container\" id=\"contact-contactform-container-nav\">\n <div class=\"col-xs-12\">\n <a class=\"btn btn-primary btn-block\" href=\"/de-de/mycrossvertise/account/clearimpersonation\">\n Kundenperspektive verlassen\n </a>\n </div>\n </div>\n </div>\n </li>\n )}\n <li>\n <a class=\"btn btn-link navbar-btn hidden-xs\" href=\"#\">Kontakt</a>\n <a href=\"/contact\" class=\"btn btn-link navbar-btn hidden-xs\" style={{ display: 'none' }}>Kontakt</a>\n <a class=\"btn btn-default btn-link navbar-btn visible-xs hidden-xxs\" href=\"#\">\n <i class=\"fa fa-phone\"></i>\n </a>\n </li>\n\n {/* Notifications Bell for Manager */}\n {this.metaNav?.IsManager && (\n <li class=\"dropdown\">\n <a class=\"dropdown-toggle btn navbar-btn btn-link\"\n data-toggle=\"dropdown\"\n role=\"button\"\n data-container=\"body\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\">\n <i class=\"fas fa-bell fa-lg\"></i>\n <span id=\"notifications-count\" class=\"badge badge-success badge-top-right\" style={{ display: 'none' }}></span>\n </a>\n </li>\n )}\n\n {/* User Menu Dropdown */}\n {this.metaNav?.IsAuthenticated && (\n <li class=\"dropdown\" id=\"my-xv-menu\">\n <a class=\"dropdown-toggle btn navbar-btn btn-link\"\n data-toggle=\"dropdown\"\n role=\"button\"\n data-container=\"body\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\">\n <i class=\"fa fa-user fa-lg text-success\" aria-hidden=\"true\"></i>\n &nbsp;\n <span class=\"hidden-xs\">{this.metaNav?.UserMenuText}</span>\n &nbsp;\n <span class=\"caret\"></span>\n </a>\n <ul class=\"dropdown-menu-left dropdown-menu navbar-myxv\">\n\n {/* Manager Menu Section */}\n {this.metaNav?.IsManager && (\n <li>\n <a onClick={() => this.toggleCockpitMenu()}>\n <i class=\"fa fa-tachometer-alt fa-fw\"></i> \n &nbsp;Cockpitfunktionen &nbsp;\n <i class=\"fa fa-caret-down\"></i>\n </a>\n </li>\n )}\n {this.isCockpitMenuExpanded && this.metaNav?.ManagerCockpitMenu?.map(item => (\n <li class='user-menu-item'>\n <a href={item.Url} target={item.Target || '_self'}>\n <i class={item.CssClass}></i>&nbsp;&nbsp;{item.Text}\n </a>\n </li>\n ))}\n\n {/* Manager Entities Menu */}\n {this.metaNav?.IsManager && (\n <li>\n <a onClick={() => this.toggleEntitiesMenu()}><i class=\"fa fa-cubes\"></i>&nbsp;Entitäten &nbsp;<i class=\"fa fa-caret-down\"></i></a>\n </li>\n )}\n {this.isEntitiesMenuExpanded && this.metaNav?.ManagerEntitiesMenu?.map(item => (\n <li class='user-menu-item'>\n <a href={item.Url} target={item.Target || '_self'}>\n <i class={item.CssClass}></i>\n {item.Text}\n </a>\n </li>\n ))}\n\n {/* Administration */}\n {this.metaNav?.ManagerMenu?.map(item => (\n <li>\n <a href={item.Url} target={item.Target || '_self'}>\n <i class={item.CssClass}></i>&nbsp;\n {item.Text}\n </a>\n </li>\n ))}\n\n {this.metaNav?.IsManager && (\n <li role=\"separator\" class=\"divider\"></li>\n )}\n\n {/* User Menu */}\n {this.metaNav?.IsManager && (\n <li >\n <a onClick={() => this.toggleUserMenu()}>\n <i class=\"fa fa-user\"></i>&nbsp;Mein Crossvertise &nbsp;<span class=\"badge\">\n {this.metaNav?.PendingItems}</span><i class=\"fa fa-caret-down\">\n </i>\n </a>\n </li>\n )}\n {this.isUserMenuExpanded && this.metaNav?.UserMenu?.map(item => (\n <li class='user-menu-item'>\n <a href={item.Url} target={item.Target || '_self'}>\n <i class={item.CssClass}></i>{item.Text}&nbsp;{item.BadgeText && (<span class=\"badge\">{item.BadgeText}</span>)}\n </a>\n </li>\n ))}\n\n\n {/* Impersonation Info */}\n {this.metaNav?.ImpersonationInfo?.isImpersonated && (\n <li class='user-menu-item'>\n <a href={this.metaNav?.ImpersonationInfo?.ClearImpersonationUrl}>\n <i class=\"fa fa-exchange-alt\"></i>\n Kundenperspektive verlassen\n </a>\n </li>\n )}\n\n {this.metaNav?.IsManager && (\n <li role=\"separator\" class=\"divider\"></li>\n )}\n\n {/* Actions Menu */}\n {this.metaNav?.ActionsMenu?.map(item => (\n <li>\n <a href={item.Url} target={item.Target || '_self'}>\n <i class={item.CssClass}></i>\n {item.Text}\n </a>\n </li>\n ))}\n\n <li>\n <a href=\"/de-de/mycrossvertise/account/logoff?returnUrl=/\"><i class=\"fa fa-sign-out-alt fa-fw\" aria-hidden=\"true\"></i>Logout</a>\n </li>\n </ul>\n </li>\n )}\n\n <li class=\"visible-sm-block visible-xs-block hidden-xxs\">\n <a class=\"btn btn-default navbar-btn btn-link\" data-toggle=\"collapse\" data-target=\"#search-collapse\">\n <i class=\"fa fa-search\" aria-hidden=\"true\"></i>\n </a>\n </li>\n\n {/* Login */}\n\n {!this.metaNav?.IsAuthenticated && (\n <li class=\"hidden-md hidden-lg\">\n <a class=\"btn btn-default navbar-btn btn-link mob-login\" href=\"/de-de/mycrossvertise/account/logon\" >\n <i class=\"fa fa-user fa-lg\" aria-hidden=\"true\"></i>\n </a>\n </li>\n )}\n \n {!this.metaNav?.IsAuthenticated && (\n <li class=\"hidden-xs hidden-sm\">\n <a role=\"button\" onClick={this.openLoginModal} class=\"btn btn-default navbar-btn btn-link\">\n <i class=\"fa fa-user fa-lg\" aria-hidden=\"true\"></i>\n <span class=\"padding-sm-left\">Login</span>\n </a>\n <xv-login-modal visible={this.showLoginModal} onClose={this.closeLoginModal}></xv-login-modal>\n </li>\n )}\n\n {/* Registrieren */}\n {!this.metaNav?.IsAuthenticated && (\n <li class=\"hidden-xs\">\n <a class=\"btn btn-default navbar-btn btn-link\" href=\"/de-de/mycrossvertise/account/register\">\n <span>Registrieren</span>\n </a>\n </li>\n )}\n\n <li class=\"navbar-divider hidden-xs\"></li>\n <li>\n <a class=\"btn btn-success navbar-btn\"\n href=\"/angular/shopping-cart\">\n <span class=\"xv-font-icon-warenkorb fa-lg fa-fw\" aria-hidden=\"true\"></span>\n <span class=\"hidden-xs hidden-sm\">&nbsp;Warenkorb&nbsp;</span>\n <span class=\"badge badge-success\">\n {this.metaNav?.Cart?.NumberOfItems || 0}\n </span>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n <div class=\"collapse hidden-md hidden-lg\" id=\"search-collapse\">\n <div class=\"container\">\n <form action=\"/de-de/media/search\" class=\"navbar-form\" method=\"get\" role=\"search\">\n <div class=\"input-group\">\n <input class=\"form-control\" name=\"Q\" placeholder=\"Suche\" type=\"text\" autocomplete=\"off\" />\n <span class=\"input-group-btn force-full-width\">\n <button class=\"btn btn-default search-addon\" type=\"submit\">\n <i class=\"fa fa-search\" aria-hidden=\"true\"></i>\n </button>\n </span>\n </div>\n </form>\n </div>\n </div>\n </nav>\n <div innerHTML={this.htmlContent}></div>\n <ul\n class=\"ui-autocomplete ui-front ui-menu ui-widget ui-widget-content ui-corner-all\"\n id=\"xv-search-suggestions\"\n tabindex=\"0\"\n style={{\n width: `${this.listPosition?.width}px`,\n top: `${this.listPosition?.top}px`,\n left: `${this.listPosition?.left}px`,\n display: this.suggestions?.length ? 'block' : 'none',\n position: 'absolute',\n zIndex: '1000',\n }}\n >\n {this.suggestions.map(s => (\n <li class=\"ui-menu-item\" role=\"presentation\">\n <a\n href=\"#\"\n onClick={e => {\n e.preventDefault();\n this.navigateToSuggestion(s);\n }}\n >\n {s.title_de.split(new RegExp(`(${this.escapeRegExp(this.searchQuery)})`, 'gi')).map(part =>\n part.toLowerCase() === this.searchQuery?.toLowerCase() ? <b>{part}</b> : part\n )}\n </a>\n </li>\n ))}\n </ul>\n </div>\n );\n }\n}"]}
@@ -11,7 +11,7 @@ export class XvOverflowMenuItem {
11
11
  this.itemClick.emit({ event, value: this.value });
12
12
  }
13
13
  render() {
14
- return (h(Host, { key: '65fc2c397df35bf70e20ba175f02a331f23926dc', class: "xv-overflow-menu-item", role: "menuitem", disabled: this.disabled }, h("slot", { key: 'aa60dca9ee4c5c468cc92d4cc7706ea2751dbb33' })));
14
+ return (h(Host, { key: '52b73576a826793034adf40e21ec6b1b3924723e', class: "xv-overflow-menu-item", role: "menuitem", disabled: this.disabled }, h("slot", { key: '2442735c71751258ad71cda4f3666005aefe39f2' })));
15
15
  }
16
16
  static get is() { return "xv-overflow-menu-v2-item"; }
17
17
  static get encapsulation() { return "shadow"; }
@@ -48,8 +48,8 @@ export class XvOverflowMenu {
48
48
  }
49
49
  }
50
50
  render() {
51
- const button = (h("button", { key: '26f5dae60c8027a7b6bbf77a9a00e826d0c1217f', class: { btn: true, open: this.open }, onClick: this.onOpenToggle, disabled: this.disabled }, h("svg", { key: '656867db4ad8d79eb8ca5379813a0c4a20b7d5b8', xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 128 512" }, h("path", { key: 'af68666ec0cc1e09f51b89dd3c53db42b7acf36e', d: "M64 368a48 48 0 1 0 0 96 48 48 0 1 0 0-96zm0-160a48 48 0 1 0 0 96 48 48 0 1 0 0-96zM112 96A48 48 0 1 0 16 96a48 48 0 1 0 96 0z" }))));
52
- return (h(Host, { key: '3d8ae934e12d7f41963c48df39fb271db4922162', class: "xv-overflow-menu", size: this.size, role: "menu", tabindex: -1 }, this.tooltip ? h("xv-tooltip-v2", { message: this.tooltip }, button) : button, h("div", { key: '1ff326774409b51ea63d1338bdeed7e781c36b2b', class: { list: true, open: this.open, [`position-${this.position}`]: true } }, h("slot", { key: 'bc15fa112b054f5c37e96d7380e7cde813c73d49' }))));
51
+ const button = (h("button", { key: '26f5dae60c8027a7b6bbf77a9a00e826d0c1217f', class: { btn: true, open: this.open }, onClick: this.onOpenToggle, disabled: this.disabled }, h("slot", { key: 'c2d6ed0d818d0326beccb808ddf487d5fc7b0947', name: "trigger" }, h("svg", { key: '634d60e7ff566146897e17f7b4c8ffa886c8b20a', xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 128 512" }, h("path", { key: '4cba03314376b7001735e87b22eb993c6ead7b3c', d: "M64 368a48 48 0 1 0 0 96 48 48 0 1 0 0-96zm0-160a48 48 0 1 0 0 96 48 48 0 1 0 0-96zM112 96A48 48 0 1 0 16 96a48 48 0 1 0 96 0z" })))));
52
+ return (h(Host, { key: 'e62f620afcfae5d8ef62e3c6098410eb5c662f25', class: "xv-overflow-menu", size: this.size, role: "menu", tabindex: -1 }, this.tooltip ? h("xv-tooltip-v2", { message: this.tooltip }, button) : button, h("div", { key: '2eeb9b41fc1db6330a1ed76fee66f93fce1b4a4f', class: { list: true, open: this.open, [`position-${this.position}`]: true } }, h("slot", { key: 'dc35c0bbeb1b9525c0a4c3ae08a04b2225b03228' }))));
53
53
  }
54
54
  componentDidLoad() {
55
55
  this.openChangeHandle();
@@ -1 +1 @@
1
- {"version":3,"file":"xv-overflow-menu.js","sourceRoot":"","sources":["../../../src/components/xv-overflow-menu/xv-overflow-menu.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Host, Listen, Prop, Watch, Event, EventEmitter } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\nimport { OverflowMenuEvent } from './_vars';\n\n@Component({\n tag: 'xv-overflow-menu-v2',\n styleUrl: 'xv-overflow-menu.scss',\n shadow: true,\n})\nexport class XvOverflowMenu {\n @Element() el: HTMLElement;\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\n @Prop({ reflect: true }) disabled: boolean = false;\n @Prop() position: 'left' | 'right' = 'left';\n @Prop() size: SIZE_VAR = SIZE_VAR.MD;\n @Prop() tooltip?: string;\n @Event() selectItem: EventEmitter<OverflowMenuEvent>;\n\n @Listen('keydown')\n handleKeyDown(ev: KeyboardEvent) {\n if (ev.key === 'Escape'){\n ev.stopPropagation();\n ev.preventDefault();\n this.handleClose();\n }\n }\n\n @Watch('open')\n openChangeHandle() {\n if (this.disabled) return;\n\n if (this.open) {\n this.el.addEventListener('itemClick', this.handleSelectItem);\n document.body.addEventListener('click', this.handleClick);\n } else {\n this.removeListeners();\n }\n }\n\n private handleClose = () => {\n if (this.open) this.open = false;\n }\n\n private removeListeners = () => {\n this.el.removeEventListener('itemClick', this.handleSelectItem);\n document.body.removeEventListener('click', this.handleClick);\n }\n\n private handleClick = (ev: MouseEvent) => {\n if (!this.open || this.el.contains(ev.target as Node)) return;\n\n ev.stopPropagation();\n ev.preventDefault();\n this.handleClose()\n }\n\n private onOpenToggle = () => {\n this.open = !this.open;\n };\n\n private handleSelectItem = ({ detail }: CustomEvent<OverflowMenuEvent>) => {\n this.selectItem.emit(detail);\n this.handleClose();\n }\n\n render() {\n const button = (\n <button class={{ btn: true, open: this.open }} onClick={this.onOpenToggle} disabled={this.disabled}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 128 512\">\n <path\n d=\"M64 368a48 48 0 1 0 0 96 48 48 0 1 0 0-96zm0-160a48 48 0 1 0 0 96 48 48 0 1 0 0-96zM112 96A48 48 0 1 0 16 96a48 48 0 1 0 96 0z\" />\n </svg>\n </button>\n );\n\n return (\n <Host\n class=\"xv-overflow-menu\"\n size={this.size}\n role=\"menu\"\n tabindex={-1}\n >\n {this.tooltip ? <xv-tooltip-v2 message={this.tooltip}>{button}</xv-tooltip-v2> : button}\n\n <div class={{ list: true, open: this.open, [`position-${this.position}`]: true }}>\n <slot></slot>\n </div>\n </Host>\n );\n }\n\n componentDidLoad() {\n this.openChangeHandle();\n }\n\n disconnectedCallback() {\n this.removeListeners();\n }\n}\n"]}
1
+ {"version":3,"file":"xv-overflow-menu.js","sourceRoot":"","sources":["../../../src/components/xv-overflow-menu/xv-overflow-menu.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Host, Listen, Prop, Watch, Event, EventEmitter } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\nimport { OverflowMenuEvent } from './_vars';\n\n@Component({\n tag: 'xv-overflow-menu-v2',\n styleUrl: 'xv-overflow-menu.scss',\n shadow: true,\n})\nexport class XvOverflowMenu {\n @Element() el: HTMLElement;\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\n @Prop({ reflect: true }) disabled: boolean = false;\n @Prop() position: 'left' | 'right' = 'left';\n @Prop() size: SIZE_VAR = SIZE_VAR.MD;\n @Prop() tooltip?: string;\n @Event() selectItem: EventEmitter<OverflowMenuEvent>;\n\n @Listen('keydown')\n handleKeyDown(ev: KeyboardEvent) {\n if (ev.key === 'Escape'){\n ev.stopPropagation();\n ev.preventDefault();\n this.handleClose();\n }\n }\n\n @Watch('open')\n openChangeHandle() {\n if (this.disabled) return;\n\n if (this.open) {\n this.el.addEventListener('itemClick', this.handleSelectItem);\n document.body.addEventListener('click', this.handleClick);\n } else {\n this.removeListeners();\n }\n }\n\n private handleClose = () => {\n if (this.open) this.open = false;\n }\n\n private removeListeners = () => {\n this.el.removeEventListener('itemClick', this.handleSelectItem);\n document.body.removeEventListener('click', this.handleClick);\n }\n\n private handleClick = (ev: MouseEvent) => {\n if (!this.open || this.el.contains(ev.target as Node)) return;\n\n ev.stopPropagation();\n ev.preventDefault();\n this.handleClose()\n }\n\n private onOpenToggle = () => {\n this.open = !this.open;\n };\n\n private handleSelectItem = ({ detail }: CustomEvent<OverflowMenuEvent>) => {\n this.selectItem.emit(detail);\n this.handleClose();\n }\n\n render() {\n const button = (\n <button class={{ btn: true, open: this.open }} onClick={this.onOpenToggle} disabled={this.disabled}>\n <slot name=\"trigger\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 128 512\">\n <path\n d=\"M64 368a48 48 0 1 0 0 96 48 48 0 1 0 0-96zm0-160a48 48 0 1 0 0 96 48 48 0 1 0 0-96zM112 96A48 48 0 1 0 16 96a48 48 0 1 0 96 0z\" />\n </svg>\n </slot>\n </button>\n );\n\n return (\n <Host\n class=\"xv-overflow-menu\"\n size={this.size}\n role=\"menu\"\n tabindex={-1}\n >\n {this.tooltip ? <xv-tooltip-v2 message={this.tooltip}>{button}</xv-tooltip-v2> : button}\n\n <div class={{ list: true, open: this.open, [`position-${this.position}`]: true }}>\n <slot></slot>\n </div>\n </Host>\n );\n }\n\n componentDidLoad() {\n this.openChangeHandle();\n }\n\n disconnectedCallback() {\n this.removeListeners();\n }\n}\n"]}