xv-webcomponents 0.1.46 → 0.1.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{index-MLh9SbX2.js → index-CjhPTfz8.js} +41 -14
- package/dist/cjs/index-CjhPTfz8.js.map +1 -0
- package/dist/cjs/loader.cjs.js +3 -4
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/xv-accordion-v2_38.cjs.entry.js +79193 -0
- package/dist/cjs/xv-accordion-v2_38.cjs.entry.js.map +1 -0
- package/dist/cjs/xv-breadcrumbs-v2.cjs.entry.js +1 -1
- package/dist/cjs/xv-webcomponents.cjs.js +4 -5
- package/dist/cjs/xv-webcomponents.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +5 -1
- package/dist/collection/components/xv-datepicker/xv-datepicker.css +401 -0
- package/dist/collection/components/xv-datepicker/xv-datepicker.js +570 -0
- package/dist/collection/components/xv-datepicker/xv-datepicker.js.map +1 -0
- package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.js +1 -1
- package/dist/collection/components/xv-dropdown/xv-dropdown.js +2 -2
- package/dist/collection/components/xv-dropdown/xv-dropdown.js.map +1 -1
- package/dist/collection/components/xv-file-uploader/xv-file-uploader.js +2 -2
- package/dist/collection/components/xv-footer/xv-footer.js +1 -1
- package/dist/collection/components/xv-header/xv-header.css +109 -0
- package/dist/collection/components/xv-header/xv-header.js +131 -3
- package/dist/collection/components/xv-header/xv-header.js.map +1 -1
- package/dist/collection/components/xv-link/xv-link.js +1 -1
- package/dist/collection/components/xv-modal/xv-modal.js +1 -1
- package/dist/collection/components/xv-notification/xv-notification.css +1 -1
- package/dist/collection/components/xv-notification/xv-notification.js +1 -1
- package/dist/collection/components/xv-number-input/xv-number-input.js +2 -2
- package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.js +1 -1
- package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.js +1 -1
- package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.js +1 -1
- package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js +1 -1
- package/dist/collection/components/xv-slider/xv-slider.css +196 -0
- package/dist/collection/components/xv-slider/xv-slider.js +259 -0
- package/dist/collection/components/xv-slider/xv-slider.js.map +1 -0
- package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js +1 -1
- package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js +1 -1
- package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js +1 -1
- package/dist/collection/components/xv-table/xv-table.js +1 -1
- package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js +1 -1
- package/dist/collection/components/xv-tag/xv-tag.js +1 -1
- package/dist/collection/components/xv-text-input/xv-text-input.js +2 -2
- package/dist/collection/components/xv-textarea/xv-textarea.css +254 -0
- package/dist/collection/components/xv-textarea/xv-textarea.js +411 -0
- package/dist/collection/components/xv-textarea/xv-textarea.js.map +1 -0
- package/dist/collection/components/xv-tile/xv-tile.css +294 -0
- package/dist/collection/components/xv-tile/xv-tile.js +264 -0
- package/dist/collection/components/xv-tile/xv-tile.js.map +1 -0
- package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.js +1 -1
- package/dist/collection/components/xv-tooltip/xv-tooltip.js +2 -2
- package/dist/esm/{index-DLYJiP99.js → index-BQoQLd_U.js} +41 -15
- package/dist/esm/index-BQoQLd_U.js.map +1 -0
- package/dist/esm/loader.js +3 -4
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/xv-accordion-v2_38.entry.js +79154 -0
- package/dist/esm/xv-accordion-v2_38.entry.js.map +1 -0
- package/dist/esm/xv-breadcrumbs-v2.entry.js +1 -1
- package/dist/esm/xv-webcomponents.js +4 -5
- package/dist/esm/xv-webcomponents.js.map +1 -1
- package/dist/types/components/xv-datepicker/xv-datepicker.d.ts +69 -0
- package/dist/types/components/xv-header/xv-header.d.ts +30 -0
- package/dist/types/components/xv-slider/xv-slider.d.ts +20 -0
- package/dist/types/components/xv-textarea/xv-textarea.d.ts +27 -0
- package/dist/types/components/xv-tile/xv-tile.d.ts +24 -0
- package/dist/types/components.d.ts +344 -0
- package/dist/types/stencil-public-runtime.d.ts +1 -1
- package/dist/xv-webcomponents/loader.esm.js.map +1 -1
- package/dist/xv-webcomponents/p-BQoQLd_U.js +3 -0
- package/dist/xv-webcomponents/p-BQoQLd_U.js.map +1 -0
- package/dist/xv-webcomponents/{p-851c4716.entry.js → p-a8d785da.entry.js} +2 -2
- package/dist/xv-webcomponents/p-f00c82ed.entry.js +2 -0
- package/dist/xv-webcomponents/p-f00c82ed.entry.js.map +1 -0
- package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -1
- package/dist/xv-webcomponents/xv-webcomponents.esm.js.map +1 -1
- package/package.json +7 -4
- package/dist/cjs/app-globals-V2Kpy_OQ.js +0 -8
- package/dist/cjs/app-globals-V2Kpy_OQ.js.map +0 -1
- package/dist/cjs/index-MLh9SbX2.js.map +0 -1
- package/dist/cjs/xv-accordion-v2_34.cjs.entry.js +0 -3542
- package/dist/cjs/xv-accordion-v2_34.cjs.entry.js.map +0 -1
- package/dist/esm/app-globals-DQuL1Twl.js +0 -6
- package/dist/esm/app-globals-DQuL1Twl.js.map +0 -1
- package/dist/esm/index-DLYJiP99.js.map +0 -1
- package/dist/esm/xv-accordion-v2_34.entry.js +0 -3507
- package/dist/esm/xv-accordion-v2_34.entry.js.map +0 -1
- package/dist/xv-webcomponents/p-DLYJiP99.js +0 -3
- package/dist/xv-webcomponents/p-DLYJiP99.js.map +0 -1
- package/dist/xv-webcomponents/p-DQuL1Twl.js +0 -2
- package/dist/xv-webcomponents/p-DQuL1Twl.js.map +0 -1
- package/dist/xv-webcomponents/p-d96c1b6a.entry.js +0 -2
- package/dist/xv-webcomponents/p-d96c1b6a.entry.js.map +0 -1
- /package/dist/xv-webcomponents/{p-851c4716.entry.js.map → p-a8d785da.entry.js.map} +0 -0
|
@@ -10,7 +10,7 @@ export class XvDropdown {
|
|
|
10
10
|
this.setSelected = (selectedMap, optionNodes) => {
|
|
11
11
|
const values = Array.from(selectedMap.values());
|
|
12
12
|
const options = optionNodes || this.el.querySelectorAll(DropdownItemSelector);
|
|
13
|
-
this.selected = values.length === options.length ?
|
|
13
|
+
this.selected = this.multiple && values.length === options.length ?
|
|
14
14
|
['Alle ausgewählt'] : values.length > 2 ?
|
|
15
15
|
[`${values.length} ausgewählt`] : values.map((v) => v.text);
|
|
16
16
|
return values;
|
|
@@ -94,7 +94,7 @@ export class XvDropdown {
|
|
|
94
94
|
this.changeSelection.emit(this.setSelected(this.selectedMap, optionElements));
|
|
95
95
|
}
|
|
96
96
|
render() {
|
|
97
|
-
return (h(Host, { key: '
|
|
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
98
|
}
|
|
99
99
|
componentWillLoad() {
|
|
100
100
|
this.setDefaultValues();
|
|
@@ -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 = 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":"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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"]}
|
|
@@ -84,10 +84,10 @@ export class XvFileUploader {
|
|
|
84
84
|
}
|
|
85
85
|
render() {
|
|
86
86
|
var _a;
|
|
87
|
-
return (h(Host, { key: '
|
|
87
|
+
return (h(Host, { key: '4a33985fd3a6b9213d592ebec1b5b8abbf1d27df', class: { 'upload-wrapper': true, [`uploader-${this.size}`]: true, disabled: !!this.disabled } }, this.label && h("label", { key: '127894a635ce497df0a3a4732f5fc5a28f4d635b', class: "label" }, this.label), this.description && h("p", { key: 'dc34a999207c109b45f6e793552ff93b144fde85', class: "description" }, this.description), this.variant === 'button' ? (h("xv-button-v2", { variant: this.buttonVariant, disabled: this.disabled, onClick: () => this.fileInput.click() }, this.addText || 'Dateien auswählen')) : (h("div", { class: { 'drop-zone': true, active: this.dragActive }, onDrop: this.onDrop, onDragOver: this.onDragOver, onDragLeave: this.onDragLeave, onClick: () => this.fileInput.click() }, this.addText || 'Dateien hierher ziehen oder darauf klicken, um eine Datei auszuwählen.', ((_a = this.accept) === null || _a === void 0 ? void 0 : _a.length) > 0 && h("span", null, " (", this.accept.join(', '), ")"))), h("input", { key: 'f7d47bff9993ab16abb38d70a065c6778f141359', ref: el => (this.fileInput = el), type: "file", hidden: true, onChange: this.onFileSelect, multiple: this.multiple, accept: this.accept.join(',') }), h("ul", { key: '04f33d47b7f3389b29b880261eb7d032ffea37e4', class: "file-list" }, this.files.map((file, index) => {
|
|
88
88
|
var _a, _b;
|
|
89
89
|
return (h("li", { class: { file: true, withError: !!(((_a = this.errors) === null || _a === void 0 ? void 0 : _a[index]) || ((_b = this.errorMessages) === null || _b === void 0 ? void 0 : _b[index])) } }, h("div", { class: "file_container" }, h("span", { class: "file_container_name" }, file.name), this._renderLoaderState(index)), this._renderError(index)));
|
|
90
|
-
})), this.error && (h("div", { key: '
|
|
90
|
+
})), this.error && (h("div", { key: '21aae629c18e97fc42f478e78ed4b771975389ab', class: "error-container" }, h("p", { key: '2fefb6eae6b6a8d838f6aca2ff05c5981f1491a2', class: "error-container_primary" }, this.error)))));
|
|
91
91
|
}
|
|
92
92
|
_renderLoaderState(index) {
|
|
93
93
|
var _a, _b, _c;
|
|
@@ -14,7 +14,7 @@ export class Xvfooter {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
render() {
|
|
17
|
-
return (h("footer", { key: '
|
|
17
|
+
return (h("footer", { key: '69d48cf34ca1c2b39cc4152b1da10e3d6784ecaf' }, h("div", { key: '91a2a4e95bc830478182cdd2b64d68670a36bb41', innerHTML: this.htmlContent })));
|
|
18
18
|
}
|
|
19
19
|
static get is() { return "xv-footer"; }
|
|
20
20
|
static get originalStyleUrls() {
|
|
@@ -22679,4 +22679,113 @@ button.ui-button::-moz-focus-inner {
|
|
|
22679
22679
|
|
|
22680
22680
|
#nav-container .media-nav #media-menu-item-alle-kategorien li:hover > ul {
|
|
22681
22681
|
display: block;
|
|
22682
|
+
}
|
|
22683
|
+
|
|
22684
|
+
#my-xv-menu.dropdown:hover > .dropdown-menu-left {
|
|
22685
|
+
display: block;
|
|
22686
|
+
}
|
|
22687
|
+
|
|
22688
|
+
.xv-user-menu-wrapper .dropdown {
|
|
22689
|
+
position: relative;
|
|
22690
|
+
}
|
|
22691
|
+
.xv-user-menu-wrapper .navbar-btn {
|
|
22692
|
+
margin-top: 8px;
|
|
22693
|
+
margin-bottom: 8px;
|
|
22694
|
+
}
|
|
22695
|
+
.xv-user-menu-wrapper .btn-link {
|
|
22696
|
+
color: #337ab7;
|
|
22697
|
+
font-weight: 400;
|
|
22698
|
+
border-radius: 0;
|
|
22699
|
+
}
|
|
22700
|
+
.xv-user-menu-wrapper .btn-link:hover {
|
|
22701
|
+
color: #23527c;
|
|
22702
|
+
text-decoration: underline;
|
|
22703
|
+
background-color: transparent;
|
|
22704
|
+
}
|
|
22705
|
+
.xv-user-menu-wrapper .dropdown-menu {
|
|
22706
|
+
position: absolute;
|
|
22707
|
+
top: 100%;
|
|
22708
|
+
left: 0;
|
|
22709
|
+
z-index: 1000;
|
|
22710
|
+
display: none;
|
|
22711
|
+
float: left;
|
|
22712
|
+
min-width: 160px;
|
|
22713
|
+
padding: 5px 0;
|
|
22714
|
+
margin: 2px 0 0;
|
|
22715
|
+
font-size: 14px;
|
|
22716
|
+
text-align: left;
|
|
22717
|
+
background-color: #fff;
|
|
22718
|
+
border: 1px solid rgba(0, 0, 0, 0.15);
|
|
22719
|
+
border-radius: 4px;
|
|
22720
|
+
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
|
|
22721
|
+
}
|
|
22722
|
+
.xv-user-menu-wrapper .dropdown-menu-left {
|
|
22723
|
+
right: auto;
|
|
22724
|
+
left: 0;
|
|
22725
|
+
}
|
|
22726
|
+
.xv-user-menu-wrapper .navbar-myxv .user-menu-item {
|
|
22727
|
+
padding-left: 20px;
|
|
22728
|
+
}
|
|
22729
|
+
.xv-user-menu-wrapper .navbar-myxv .divider {
|
|
22730
|
+
height: 1px;
|
|
22731
|
+
margin: 9px 0;
|
|
22732
|
+
overflow: hidden;
|
|
22733
|
+
background-color: #e5e5e5;
|
|
22734
|
+
}
|
|
22735
|
+
.xv-user-menu-wrapper .navbar-myxv li > a:hover {
|
|
22736
|
+
color: #262626;
|
|
22737
|
+
text-decoration: none;
|
|
22738
|
+
background-color: #f5f5f5;
|
|
22739
|
+
}
|
|
22740
|
+
@media (max-width: 767px) {
|
|
22741
|
+
.xv-user-menu-wrapper .hidden-xs {
|
|
22742
|
+
display: none !important;
|
|
22743
|
+
}
|
|
22744
|
+
}
|
|
22745
|
+
.xv-user-menu-wrapper .badge {
|
|
22746
|
+
display: inline-block;
|
|
22747
|
+
min-width: 10px;
|
|
22748
|
+
padding: 3px 7px;
|
|
22749
|
+
font-size: 12px;
|
|
22750
|
+
font-weight: 700;
|
|
22751
|
+
color: #fff;
|
|
22752
|
+
line-height: 1;
|
|
22753
|
+
vertical-align: middle;
|
|
22754
|
+
white-space: nowrap;
|
|
22755
|
+
text-align: center;
|
|
22756
|
+
background-color: #777;
|
|
22757
|
+
border-radius: 10px;
|
|
22758
|
+
}
|
|
22759
|
+
|
|
22760
|
+
.ui-menu-item a:hover {
|
|
22761
|
+
background-color: linear-gradient(to bottom, #f4f4f4 61%, #fff 100%);
|
|
22762
|
+
color: #79990a !important;
|
|
22763
|
+
box-shadow: 0 0 3px 0 rgba(0, 0, 0, 0.5) inset;
|
|
22764
|
+
}
|
|
22765
|
+
|
|
22766
|
+
.popover.popover-fixed.fade.bottom.in {
|
|
22767
|
+
position: absolute;
|
|
22768
|
+
display: block;
|
|
22769
|
+
opacity: 1;
|
|
22770
|
+
top: 49.3472px;
|
|
22771
|
+
left: 279px;
|
|
22772
|
+
z-index: 9999;
|
|
22773
|
+
}
|
|
22774
|
+
|
|
22775
|
+
.popover .arrow {
|
|
22776
|
+
position: absolute;
|
|
22777
|
+
left: 50%;
|
|
22778
|
+
width: 0;
|
|
22779
|
+
height: 0;
|
|
22780
|
+
border-left: 5px solid transparent;
|
|
22781
|
+
border-right: 5px solid transparent;
|
|
22782
|
+
border-top: 5px solid #333;
|
|
22783
|
+
}
|
|
22784
|
+
|
|
22785
|
+
.popover .popover-content {
|
|
22786
|
+
padding: 10px;
|
|
22787
|
+
background: #fff;
|
|
22788
|
+
border: 1px solid #ccc;
|
|
22789
|
+
border-radius: 4px;
|
|
22790
|
+
color: #333;
|
|
22682
22791
|
}
|
|
@@ -3,14 +3,122 @@ export class XvHeader {
|
|
|
3
3
|
constructor() {
|
|
4
4
|
this.htmlContent = '';
|
|
5
5
|
this.showLoginModal = false;
|
|
6
|
+
this.isCockpitMenuExpanded = true;
|
|
7
|
+
this.isEntitiesMenuExpanded = true;
|
|
8
|
+
this.isUserMenuExpanded = true;
|
|
9
|
+
this.suggestions = [];
|
|
10
|
+
this.searchQuery = '';
|
|
11
|
+
this.listPosition = { width: 0, top: 0, left: 0 };
|
|
12
|
+
this.showPopover = false;
|
|
13
|
+
this.currentSuggestion = null;
|
|
14
|
+
this.inputHandlers = [];
|
|
6
15
|
this.openLoginModal = () => {
|
|
7
16
|
this.showLoginModal = true;
|
|
8
17
|
};
|
|
18
|
+
this.togglePopover = () => {
|
|
19
|
+
this.showPopover = !this.showPopover;
|
|
20
|
+
};
|
|
9
21
|
this.closeLoginModal = () => {
|
|
10
22
|
this.showLoginModal = false;
|
|
11
23
|
};
|
|
24
|
+
this.handleSearchInput = async (e) => {
|
|
25
|
+
const target = e.target;
|
|
26
|
+
const query = target.value.trim();
|
|
27
|
+
this.searchQuery = query;
|
|
28
|
+
if (query.length < 2) {
|
|
29
|
+
this.suggestions = [];
|
|
30
|
+
this.currentSuggestion = null;
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const rect = target.getBoundingClientRect();
|
|
34
|
+
this.listPosition = { width: rect.width, top: rect.bottom + window.scrollY, left: rect.left + window.scrollX };
|
|
35
|
+
const url = '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=' +
|
|
36
|
+
encodeURIComponent(query) +
|
|
37
|
+
'&$top=10&$select=title_de,page_link,source&$orderby=source desc';
|
|
38
|
+
try {
|
|
39
|
+
const resp = await fetch(url, {
|
|
40
|
+
headers: {
|
|
41
|
+
'Content-Type': 'application/json',
|
|
42
|
+
'api-key': '7315DEF1FA0C8B12109B12BA28E517E7',
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
const data = await resp.json();
|
|
46
|
+
this.suggestions = Array.isArray(data.value) ? data.value : [];
|
|
47
|
+
this.currentSuggestion = this.suggestions.length > 0 ? this.suggestions[0].title_de : null;
|
|
48
|
+
}
|
|
49
|
+
catch (err) {
|
|
50
|
+
console.error('Failed to fetch suggestions', err);
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
this.navigateToSuggestion = (s) => {
|
|
54
|
+
const url = "https://www.crossvertise.com" + s.page_link;
|
|
55
|
+
window.location.href = url;
|
|
56
|
+
};
|
|
57
|
+
this.handleKeyDown = (e) => {
|
|
58
|
+
const input = e.target;
|
|
59
|
+
if (e.key === 'Tab' && this.currentSuggestion) {
|
|
60
|
+
input.value = this.currentSuggestion;
|
|
61
|
+
e.preventDefault();
|
|
62
|
+
}
|
|
63
|
+
else if (e.key === 'Escape') {
|
|
64
|
+
this.currentSuggestion = null;
|
|
65
|
+
input.value = '';
|
|
66
|
+
this.suggestions = [];
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
escapeRegExp(text) {
|
|
71
|
+
return text.replace(/[.*+?^${}()|[\\]\\]/g, '\\$&');
|
|
72
|
+
}
|
|
73
|
+
componentDidLoad() {
|
|
74
|
+
const inputs = this.el.querySelectorAll('input[name="Q"]');
|
|
75
|
+
inputs.forEach(input => {
|
|
76
|
+
const handleInput = this.handleSearchInput.bind(this);
|
|
77
|
+
const handleKeyDown = this.handleKeyDown.bind(this);
|
|
78
|
+
input.addEventListener('input', handleInput);
|
|
79
|
+
input.addEventListener('keydown', handleKeyDown);
|
|
80
|
+
this.inputHandlers.push({
|
|
81
|
+
input: input,
|
|
82
|
+
listeners: [
|
|
83
|
+
['input', handleInput],
|
|
84
|
+
['keydown', handleKeyDown],
|
|
85
|
+
],
|
|
86
|
+
});
|
|
87
|
+
if (!this.searchInput) {
|
|
88
|
+
this.searchInput = input;
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
loadMetaNav() {
|
|
93
|
+
try {
|
|
94
|
+
const metaNavRaw = localStorage.getItem('metaNav');
|
|
95
|
+
if (metaNavRaw) {
|
|
96
|
+
this.metaNav = JSON.parse(metaNavRaw);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
catch (e) {
|
|
100
|
+
console.warn('Could not parse metaNav from localStorage:', e);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
toggleCockpitMenu() {
|
|
104
|
+
this.isCockpitMenuExpanded = !this.isCockpitMenuExpanded;
|
|
105
|
+
}
|
|
106
|
+
toggleEntitiesMenu() {
|
|
107
|
+
this.isEntitiesMenuExpanded = !this.isEntitiesMenuExpanded;
|
|
108
|
+
}
|
|
109
|
+
toggleUserMenu() {
|
|
110
|
+
this.isUserMenuExpanded = !this.isUserMenuExpanded;
|
|
111
|
+
}
|
|
112
|
+
disconnectedCallback() {
|
|
113
|
+
this.inputHandlers.forEach(({ input, listeners }) => {
|
|
114
|
+
listeners.forEach(([event, handler]) => {
|
|
115
|
+
input.removeEventListener(event, handler);
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
this.inputHandlers = [];
|
|
12
119
|
}
|
|
13
120
|
async componentWillLoad() {
|
|
121
|
+
this.loadMetaNav();
|
|
14
122
|
try {
|
|
15
123
|
const response = await fetch('https://crossvertise.blob.core.windows.net/nav-sync-qa/nav.html');
|
|
16
124
|
const text = await response.text();
|
|
@@ -26,11 +134,24 @@ export class XvHeader {
|
|
|
26
134
|
this.htmlContent = doc.body.innerHTML;
|
|
27
135
|
}
|
|
28
136
|
catch (error) {
|
|
29
|
-
console.error('Failed to fetch header HTML:', error);
|
|
137
|
+
console.error('Failed to fetch header HTML:', error === null || error === void 0 ? void 0 : error.message, error);
|
|
30
138
|
}
|
|
31
139
|
}
|
|
32
140
|
render() {
|
|
33
|
-
|
|
141
|
+
var _a, _b, _c, _d, _e, _f;
|
|
142
|
+
return (h("div", { key: '93fd7f643af32209c7363bd40447e2cb5f03b87d', id: "nav-container", class: "xv-header" }, h("nav", { key: 'fe1f8989458093ad736f97be04d1d9eab29081c5', class: "navbar navbar-default navbar-fixed-top backend-force-relative" }, h("div", { key: '7b48f1581ebfc7327bcad90da1d7484271076e32', class: "container" }, h("div", { key: '9395c2928aa7d7e5e6acf8521f018dd55e0a1a58', class: "row" }, h("div", { key: '66bf156f202e95056a6198d08a2b862c33338fc8', class: "col-sm-3 col-xs-3 col-xxs-4 no-padding-right" }, h("div", { key: 'c617809b1cb179948fd9a41d5404ed3258687d81', class: "navbar-header" }, h("button", { key: '6be7b3ddce715f2360c60183eaeaead383418581', class: "btn btn-default navbar-toggle pull-left navbar-btn", "data-toggle": "collapse", "data-target": "#main-menu" }, h("i", { key: 'f71d314e1e95bd4b6acd44b96a0838d832aa6c8b', class: "fa fa-bars fa-lg", "aria-hidden": "true" })), h("div", { key: '06a93b00144a0e94d27ff0acc84290e807c4052f', class: "visible-xs-inline" }, h("a", { key: 'bc93916ba2cbdfe0761cbc2881c0284f5fe5cd24', href: "https://www.crossvertise.com/", class: "navbar-brand" }, h("img", { key: '47f2d23c4e7c1d76c670dba10bea33a1578a0485', src: "https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo-small.svg", alt: "Crossvertise" }))), h("div", { key: 'a0b14089c386ab992c52400eeda4879ad34db9d8', class: "hidden-xs" }, h("a", { key: '637cb16a57adc6fa726438978b09b523a1bdcc33', href: "https://www.crossvertise.com/", class: "navbar-brand" }, h("img", { key: '4fa046cb5236a01e80cffcf2f92a78b6aebf1163', loading: "lazy", src: "https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo.svg", alt: "Crossvertise" }))))), h("div", { key: '85ec0aa830f92704e578468824efa9281caaf676', class: "col-sm-9 col-xs-9 col-xxs-8 no-padding-left" }, h("ul", { key: '2fc012f39b02ed22dac98f168d9ad37e1d8d7406', class: "nav nav-pills nav-meta pull-right" }, this.metaNav.ImpersonationInfo && (h("li", { key: '20aead2e87b7eda8beed65746de4981d696dc390' }, h("a", { key: 'e79eefd3c317a0482738b07fffa5fc6151ebc90e', class: "btn btn-link navbar-btn hidden-xs", href: "#", onClick: this.togglePopover }, h("i", { key: '2c5874fd4a0f1cee0fa20945842893de4cc1d22d', class: "fa fa-user" }), h("i", { key: 'bacae1fac2e693953fc67029f192da807c6192b0', class: "fa fa-exchange-alt" })))), this.showPopover && this.metaNav.ImpersonationInfo && (h("div", { key: 'df8a66f19d87fcdea818e13f137647e17e0a405d', class: "popover popover-fixed fade bottom in", id: "popover939183" }, h("div", { key: '041b7e3c4b8e82d133aab96f7d8e7907eba7d887', class: "arrow" }), h("h3", { key: '16434bb25b28a41d22765d96e7b03e7cbdad5acb', class: "popover-title" }, "Momentan ist die Kundenperspektive aktiviert f\u00FCr:"), h("div", { key: 'eb49882fbb7eadf5ba96f5ff520b0c090095ca49', class: "popover-content" }, h("div", { key: '1504ab87c801568848586fc9590fc13c2be651bc', class: "row" }, h("div", { key: '5ee4cc8445fbe4b95399eda3da4f1c1c24a9be3d', class: "col-xs-12" }, h("table", { key: '64f421d82639b8e0f7d0b3d31745e04969ca7f60', class: "table-condensed" }, h("tbody", { key: '730c3c0ec2d64f470267e10358aeadfe7ed6e84f' }, h("tr", { key: '87fe00b45e553ea3e3d4e13a50ed8145c2e0e450' }, h("td", { key: '0ed15b4102a09489fa10ddaecd9a47aa69764ffc' }, h("span", { key: '074a28cc52eac24f9809603dab24d8ba6dbbf344' }, this.metaNav.ImpersonationInfo.NameAndTitle))), h("tr", { key: 'bda47eae106f3a39bd6622464802a6485656ce13' }, h("td", { key: '3915c1455d9ad29eef0adcd6a5bce0d44c8e7b37' }, h("span", { key: 'f1c81fcd3fb2e730759e0dd2b749c5205221887b' }, this.metaNav.ImpersonationInfo.CompanyName))), h("tr", { key: 'cfe48315f561c4efe2efe62b6d20f026d2438ef4' }, h("td", { key: '5d97273da13b069f4fe8c5e4147516520a486c42' }, h("span", { key: 'c38356d0674a52d8115cb27f1c70bfe584fd06de' }, this.metaNav.ImpersonationInfo.Email))), h("tr", { key: 'de97e437c572148c390778227e816b63549def9d' }, h("td", { key: 'ac587ea474b64a7b68186b7d15ad3af221cc0a9c' }, h("span", { key: '24e4c0f37eca6f5f5c64729219afcb6288b6f84c' }, this.metaNav.ImpersonationInfo.PhoneOffice))))))), h("div", { key: '660680c17e9f133a221b55220ef99d29ade82587', class: "row contact-contactform-container", id: "contact-contactform-container-nav" }, h("div", { key: 'c1aebd949b0beb9dc8630e042dea712b2b51ed90', class: "col-xs-12" }, h("a", { key: 'c329df2eccfca0eacef2dfc30ca8ff2173b7c5b7', class: "btn btn-primary btn-block", href: "/de-de/mycrossvertise/account/clearimpersonation" }, "Kundenperspektive verlassen")))))), h("li", { key: '04a0fa4d476413039daf259c4b8163f18e2dee7f' }, h("a", { key: '20625d0e480808eb019b167787c0419ac5981b8d', class: "btn btn-link navbar-btn hidden-xs", href: "#" }, "Kontakt"), h("a", { key: '36551fb1a9a1cd5d4b8b4f8efde1689672f6bb07', href: "/contact", class: "btn btn-link navbar-btn hidden-xs", style: { display: 'none' } }, "Kontakt"), h("a", { key: '2ae3fc4849533e03dfda03e8638dc46951d47ab5', class: "btn btn-default btn-link navbar-btn visible-xs hidden-xxs", href: "#" }, h("i", { key: '84b9e4d1791a6529835e1611f42ad35ca3cac513', class: "fa fa-phone" }))), this.metaNav.IsManager && (h("li", { key: '4b17bc00a443a419a4f14c402fde99dcb230c925', class: "dropdown" }, h("a", { key: '5b8557b0261ca870dad38baaae65795beb57530d', 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: 'b477a11fb1652f8f889fa8c94700847be706f74d', class: "fas fa-bell fa-lg" }), h("span", { key: '72fb51e3abbaec72b1a78a6b27b6b7b4c4fd2b29', id: "notifications-count", class: "badge badge-success badge-top-right", style: { display: 'none' } })))), this.metaNav.IsAuthenticated && (h("li", { key: '7d4bae2a48592957c0799fa0398aa2551b193198', class: "dropdown", id: "my-xv-menu" }, h("a", { key: '3e50dc08b1de0f71256461a54d27c85ff628cc48', 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: '988ea73bcda1d6c6eb44feacada29053ce5e21c8', class: "fa fa-user fa-lg text-success", "aria-hidden": "true" }), "\u00A0", h("span", { key: '42d08c2c4acf02c3115f6fcae2aedb2b9e8ba404', class: "hidden-xs" }, this.metaNav.UserMenuText), h("span", { key: 'b6a9fd99388628376cbef2aa416e74392a1e01dc', class: "caret" })), h("ul", { key: '98f1c2b6c7fd40c478676613f101d38f4c67c40e', class: "dropdown-menu-left dropdown-menu navbar-myxv" }, this.metaNav.IsManager && (h("li", { key: '0e56b69cdb8d5b8ce2bc524f2a9ccbab9e192ae4' }, h("a", { key: '424e760893e9e238e0f32ff0cd574fb44f0ec562', onClick: () => this.toggleCockpitMenu() }, h("i", { key: '1917959bccdd7cdf5b00bd44988f79bbebc7a0dc', class: "fa fa-tachometer-alt fa-fw" }), "\u00A0Cockpitfunktionen\u00A0", h("i", { key: '663965576a6cd76e310b43f5d7667edbf7225396', class: "fa fa-caret-down" })))), this.isCockpitMenuExpanded && ((_a = this.metaNav.ManagerCockpitMenu) === null || _a === void 0 ? void 0 : _a.map(item => (h("li", { class: 'user-menu-item' }, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), "\u00A0", item.Text))))), this.metaNav.IsManager && (h("li", { key: 'bb1fbbb00a8e0cf547a7f66bbea0c25e746f3b1e' }, h("a", { key: 'c59aa42ba2d4e358f3c7c9640a6a3f6c2b001013', onClick: () => this.toggleEntitiesMenu() }, h("i", { key: 'b53f21751ff726ed95ebe324e6b0426158ad25a4', class: "fa fa-cubes" }), "\u00A0Entit\u00E4ten\u00A0", h("i", { key: 'a2950dbd622abbfdc263a1caa23569082beaea50', class: "fa fa-caret-down" })))), this.isEntitiesMenuExpanded && ((_b = this.metaNav.ManagerEntitiesMenu) === null || _b === void 0 ? void 0 : _b.map(item => (h("li", { class: 'user-menu-item' }, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), "\u00A0", item.Text))))), (_c = this.metaNav.ManagerMenu) === null || _c === void 0 ? void 0 :
|
|
143
|
+
_c.map(item => (h("li", null, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), "\u00A0", item.Text)))), this.metaNav.IsManager && (h("li", { key: 'c0d56fd0f2b34d84c736f57402404b9ec5e98dd8', role: "separator", class: "divider" })), this.metaNav.IsManager && (h("li", { key: '143a401dbba971edaece0fdb79c5d4f2bccb7163' }, h("a", { key: 'c9892cd243aad26ac6211b2ea7d170c66b3d7e52', onClick: () => this.toggleUserMenu() }, h("i", { key: '8c6275b3fa326b335e500f6f414ccb7299767528', class: "fa fa-user" }), "\u00A0Mein Crossvertise\u00A0", h("span", { key: '3e426ee213fcca69e8512df20f23c64e497cfa2b', class: "badge" }, this.metaNav.PendingItems), h("i", { key: '8e82befce0c97f7be0e396fa7d3046b7c1152f45', class: "fa fa-caret-down" })))), this.isUserMenuExpanded && ((_d = this.metaNav.UserMenu) === null || _d === void 0 ? void 0 : _d.map(item => (h("li", { class: 'user-menu-item' }, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), "\u00A0", item.Text, item.BadgeText && (h("span", { class: "badge" }, "\u00A0", item.BadgeText, "\u00A0"))))))), this.metaNav.ImpersonationInfo.isImpersonated && (h("li", { key: '71db2fcb913e43c63eab02b6b09d733d33a864be', class: 'user-menu-item' }, h("a", { key: 'e3eab89b4f14cb352bdad7015ddb01584db79d9a', href: this.metaNav.ImpersonationInfo.ClearImpersonationUrl }, h("i", { key: '5741d69dfbf4a561c3bf9203d36870756e6486cd', class: "fa fa-exchange-alt" }), "\u00A0 Kundenperspektive verlassen"))), this.metaNav.IsManager && (h("li", { key: '9604be58c5333fa2edfdb3b18caf09bc47aa338d', role: "separator", class: "divider" })), (_e = this.metaNav.ActionsMenu) === null || _e === void 0 ? void 0 :
|
|
144
|
+
_e.map(item => (h("li", null, h("a", { href: item.Url, target: item.Target || '_self' }, h("i", { class: item.CssClass }), "\u00A0", item.Text)))), h("li", { key: 'c5a90368b0fac69b54616bf8afffae1c994e5152' }, h("a", { key: 'c9ae00d7d99aa1ff9e6163117c008021846ca4a2', href: "/de-de/mycrossvertise/account/logoff?returnUrl=/" }, h("i", { key: '049b3cbee18f4995029947a6c17fb9bc8bb2aa49', class: "fa fa-sign-out-alt fa-fw", "aria-hidden": "true" }), "\u00A0Logout"))))), h("li", { key: '149d7830fc4adb028319b513ca28355fcfc6fe10', class: "visible-sm-block visible-xs-block hidden-xxs" }, h("a", { key: '369db07c48112cdcd3efe25b1eb825785fe1e30c', class: "btn btn-default navbar-btn btn-link", "data-toggle": "collapse", "data-target": "#search-collapse" }, h("i", { key: '380e11725e3f14d107557c3bf09e709652c25f60', class: "fa fa-search", "aria-hidden": "true" }))), !this.metaNav.IsAuthenticated && (h("li", { key: '6b5c52b1ed06fba08ddf9aa878839d9407377e08', class: "hidden-xs hidden-sm" }, h("a", { key: 'b50d45cd41db554ecd210ea1086ccbe067a23300', role: "button", onClick: this.openLoginModal, class: "btn btn-default navbar-btn btn-link" }, h("i", { key: '3a51ad2ca17d9be3eabcdc81c817c4d09375e264', class: "fa fa-user fa-lg", "aria-hidden": "true" }), h("span", { key: '3529bbe6cd57a0671ecbaf3cf2702d9f86aeee9d' }, "Login")), h("xv-login-modal", { key: 'c814f739f0417e46e0fada997c5b400a3b21577a', visible: this.showLoginModal, onClose: this.closeLoginModal }))), !this.metaNav.IsAuthenticated && (h("li", { key: '5d1c58613419078e61ecfd2ca0e8beaa91d75511', class: "hidden-xs" }, h("a", { key: 'ccdb7d688302a34f3e7ee359175dfb81fc90b3f4', class: "btn btn-default navbar-btn btn-link", href: "/de-de/mycrossvertise/account/register" }, h("span", { key: 'd4dc5c89862ab94bfda49a97e53b13ba9455c480' }, "Registrieren")))), h("li", { key: '18151e11b76dd7d6df8f595d8d0a57353c623e5d', class: "navbar-divider hidden-xs" }), h("li", { key: '8ed41e0756fb4ddc5cd3c77c37969a5560826c95' }, h("a", { key: '01a378f50cd4e7f6fb7355487d302a45ffa672f5', class: "btn btn-success navbar-btn", href: "/de-de/mycrossvertise/shoppingcart/activecart" }, h("span", { key: '62a313a493304d3053880a969a6243b33f063fe9', class: "xv-font-icon-warenkorb fa-lg fa-fw", "aria-hidden": "true" }), h("span", { key: 'c7238c0cc4d25719dd2d8614823edb8134a84ed7', class: "hidden-xs hidden-sm" }, "\u00A0Warenkorb\u00A0"), h("span", { key: '81bdb531ee7acb303ff96377d6838640bf3f37d6', class: "badge badge-success" }, ((_f = this.metaNav.Cart) === null || _f === void 0 ? void 0 : _f.NumberOfItems) || 0))))))), h("div", { key: 'f0fbbe7a85f4d7f3d88f296c4b03f3db98963a7d', class: "collapse hidden-md hidden-lg", id: "search-collapse" }, h("div", { key: 'f23542a964bad418aa29b08f91cbfd981cb750c5', class: "container" }, h("form", { key: 'c246764fa9c9231b134947404bba5898879a6aed', action: "/de-de/media/search", class: "navbar-form", method: "get", role: "search" }, h("div", { key: 'c331948463fefe95f159ca8f09f2eebde4753b98', class: "input-group" }, h("input", { key: 'e23c5ffc1b31422f1b06019889da38ef67751d4c', class: "form-control", name: "Q", placeholder: "Suche", type: "text", autocomplete: "off" }), h("span", { key: '8f21b826d436836481d02c0d05b33a6ee76fccbb', class: "input-group-btn force-full-width" }, h("button", { key: 'cedea10cb7e54a081ab86b4380042d0e768ac966', class: "btn btn-default search-addon", type: "submit" }, h("i", { key: 'ebc209a41b781700fd6afa9866520dd580c6c0e5', class: "fa fa-search", "aria-hidden": "true" })))))))), h("div", { key: '09934df90dd8968f7358108795c3b734298a2d9d', innerHTML: this.htmlContent }), h("ul", { key: 'd343f3a2d5cdf0925d423d328ae655191579eb9a', class: "ui-autocomplete ui-front ui-menu ui-widget ui-widget-content ui-corner-all", id: "xv-search-suggestions", tabindex: "0", style: {
|
|
145
|
+
width: `${this.listPosition.width}px`,
|
|
146
|
+
top: `${this.listPosition.top}px`,
|
|
147
|
+
left: `${this.listPosition.left}px`,
|
|
148
|
+
display: this.suggestions.length ? 'block' : 'none',
|
|
149
|
+
position: 'absolute',
|
|
150
|
+
zIndex: '1000',
|
|
151
|
+
} }, this.suggestions.map(s => (h("li", { class: "ui-menu-item", role: "presentation" }, h("a", { href: "#", onClick: e => {
|
|
152
|
+
e.preventDefault();
|
|
153
|
+
this.navigateToSuggestion(s);
|
|
154
|
+
} }, s.title_de.split(new RegExp(`(${this.escapeRegExp(this.searchQuery)})`, 'gi')).map(part => part.toLowerCase() === this.searchQuery.toLowerCase() ? h("b", null, part) : part))))))));
|
|
34
155
|
}
|
|
35
156
|
static get is() { return "xv-header"; }
|
|
36
157
|
static get originalStyleUrls() {
|
|
@@ -46,7 +167,14 @@ export class XvHeader {
|
|
|
46
167
|
static get states() {
|
|
47
168
|
return {
|
|
48
169
|
"htmlContent": {},
|
|
49
|
-
"showLoginModal": {}
|
|
170
|
+
"showLoginModal": {},
|
|
171
|
+
"isCockpitMenuExpanded": {},
|
|
172
|
+
"isEntitiesMenuExpanded": {},
|
|
173
|
+
"isUserMenuExpanded": {},
|
|
174
|
+
"suggestions": {},
|
|
175
|
+
"searchQuery": {},
|
|
176
|
+
"listPosition": {},
|
|
177
|
+
"showPopover": {}
|
|
50
178
|
};
|
|
51
179
|
}
|
|
52
180
|
static get elementRef() { return "el"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xv-header.js","sourceRoot":"","sources":["../../../src/components/xv-header/xv-header.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAM5D,MAAM,OAAO,QAAQ;IAJrB;QAKW,gBAAW,GAAW,EAAE,CAAC;QACzB,mBAAc,GAAG,KAAK,CAAC;QAIxB,mBAAc,GAAG,GAAG,EAAE;YAC5B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC;QAEM,oBAAe,GAAG,GAAG,EAAE;YAC7B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC9B,CAAC,CAAC;KAsIH;IApIC,KAAK,CAAC,iBAAiB;QACrB,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;YAExD,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;QACtC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CACL,4DAAK,EAAE,EAAC,eAAe,EAAC,KAAK,EAAC,WAAW;YACvC,4DAAK,KAAK,EAAC,+DAA+D;gBAC1E,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;gCAC3C;oCACE,0DAAG,KAAK,EAAC,mCAAmC,EAAC,IAAI,EAAC,GAAG;wCACnD,0DAAG,KAAK,EAAC,YAAY,GAAK;wCAC1B,0DAAG,KAAK,EAAC,oBAAoB,GAAK,CAChC,CACD;gCACL;oCACE,0DAAG,KAAK,EAAC,mCAAmC,EAAC,IAAI,EAAC,GAAG,cAAY;oCACjE,0DAAG,IAAI,EAAC,sCAAsC,EAAC,KAAK,EAAC,mCAAmC,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,cAAa;oCAChI,0DAAG,KAAK,EAAC,2DAA2D,EAAC,IAAI,EAAC,GAAG;wCAC3E,0DAAG,KAAK,EAAC,aAAa,GAAK,CACzB,CACD;gCACL,2DAAI,KAAK,EAAC,UAAU,EAAC,EAAE,EAAC,YAAY;oCAClC,0DAAG,IAAI,EAAC,GAAG,EAAC,KAAK,EAAC,qDAAqD,iBAAa,UAAU;wCAC5F,0DAAG,KAAK,EAAC,+BAA+B,iBAAa,MAAM,GAAK;;wCAChE,6DAAM,KAAK,EAAC,WAAW,mBAAoB;wCAC3C,6DAAM,KAAK,EAAC,OAAO,GAAQ,CACzB;oCACJ,2DAAI,KAAK,EAAC,8CAA8C;wCACtD;4CACE,0DAAG,IAAI,EAAC,GAAG;gDAAC,0DAAG,KAAK,EAAC,4BAA4B,GAAK;;gDAA6B,0DAAG,KAAK,EAAC,kBAAkB,GAAK,CAAI,CACpH;wCACL;4CACE,0DAAG,IAAI,EAAC,GAAG;gDAAC,0DAAG,KAAK,EAAC,aAAa,GAAK;;gDAAqB,0DAAG,KAAK,EAAC,kBAAkB,GAAK,CAAI,CAC7F;wCACL,2DAAI,IAAI,EAAC,WAAW,EAAC,KAAK,EAAC,SAAS,GAAM;wCAC1C;4CACE,0DAAG,IAAI,EAAC,GAAG;gDAAC,0DAAG,KAAK,EAAC,YAAY,GAAK;;gDAA6B,6DAAM,KAAK,EAAC,OAAO,QAAS;gDAAA,0DAAG,KAAK,EAAC,kBAAkB,GAAK,CAAI,CAChI;wCACL;4CACE,0DAAG,IAAI,EAAC,+GAA+G;gDACrH,0DAAG,KAAK,EAAC,0BAA0B,iBAAa,MAAM,GAAK;+DACzD,CACD,CACF,CACF;gCACL,2DAAI,KAAK,EAAC,8CAA8C;oCACtD,0DAAG,KAAK,EAAC,qCAAqC,iBAAa,UAAU,iBAAa,kBAAkB;wCAClG,0DAAG,KAAK,EAAC,cAAc,iBAAa,MAAM,GAAK,CAC7C,CACD;gCACL,2DAAI,KAAK,EAAC,qBAAqB;oCAC7B,0DAAG,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAG,KAAK,EAAC,qCAAqC;wCACzF,0DAAG,KAAK,EAAC,kBAAkB,iBAAa,MAAM,GAAK;wCACnD,uEAAkB,CAChB,CACD;gCACL,uEAAgB,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,GAAmB;gCAC9F,2DAAI,KAAK,EAAC,WAAW;oCACnB,0DAAG,KAAK,EAAC,qCAAqC,EAAC,IAAI,EAAC,uEAAuE;wCACzH,8EAAyB,CACvB,CACD;gCACL,2DAAI,KAAK,EAAC,0BAA0B,GAAM;gCAC1C;oCACE,0DAAG,KAAK,EAAC,4BAA4B,EAAC,IAAI,EAAC,8EAA8E;wCACvH,6DAAM,KAAK,EAAC,oCAAoC,iBAAa,MAAM,GAAQ;wCAC3E,6DAAM,KAAK,EAAC,qBAAqB,4BAA6B;wCAC9D,6DAAM,KAAK,EAAC,qBAAqB,QAAS,CACxC,CACD,CACF,CACD,CACF,CACF;gBACN,4DAAK,KAAK,EAAC,8BAA8B,EAAC,EAAE,EAAC,iBAAiB;oBAC5D,4DAAK,KAAK,EAAC,WAAW;wBACpB,6DAAM,MAAM,EAAC,oDAAoD,EAAC,KAAK,EAAC,aAAa,EAAC,MAAM,EAAC,KAAK,EAAC,IAAI,EAAC,QAAQ;4BAC9G,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;YACJ,4DAAK,SAAS,EAAE,IAAI,CAAC,WAAW,GAAQ,CACpC,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 @Element() el: HTMLElement;\n\n\n private openLoginModal = () => {\n this.showLoginModal = true;\n };\n\n private closeLoginModal = () => {\n this.showLoginModal = false;\n };\n\n async componentWillLoad() {\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);\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 <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 <li>\n <a class=\"btn btn-link navbar-btn hidden-xs\" href=\"#\">\n <i class=\"fa fa-user\"></i>\n <i class=\"fa fa-exchange-alt\"></i>\n </a>\n </li>\n <li>\n <a class=\"btn btn-link navbar-btn hidden-xs\" href=\"#\">Kontakt</a>\n <a href=\"https://www.crossvertise.com/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 <li class=\"dropdown\" id=\"my-xv-menu\">\n <a href=\"#\" class=\"dropdown-toggle btn btn-default navbar-btn btn-link\" data-toggle=\"dropdown\">\n <i class=\"fa fa-user fa-lg text-success\" aria-hidden=\"true\"></i> \n <span class=\"hidden-xs\">Mein Bereich</span>\n <span class=\"caret\"></span>\n </a>\n <ul class=\"dropdown-menu-left dropdown-menu navbar-myxv\">\n <li>\n <a href=\"#\"><i class=\"fa fa-tachometer-alt fa-fw\"></i> Cockpitfunktionen <i class=\"fa fa-caret-down\"></i></a>\n </li>\n <li>\n <a href=\"#\"><i class=\"fa fa-cubes\"></i> Entitäten <i class=\"fa fa-caret-down\"></i></a>\n </li>\n <li role=\"separator\" class=\"divider\"></li>\n <li>\n <a href=\"#\"><i class=\"fa fa-user\"></i> Mein Crossvertise <span class=\"badge\">0</span><i class=\"fa fa-caret-down\"></i></a>\n </li>\n <li>\n <a href=\"https://www.crossvertise.com/de-de/mycrossvertise/account/logoff?returnUrl=https%3A%2F%2Fwww.crossvertise.com\">\n <i class=\"fa fa-sign-out-alt fa-fw\" aria-hidden=\"true\"></i> Logout\n </a>\n </li>\n </ul>\n </li>\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 <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>Login</span>\n </a>\n </li>\n <xv-login-modal visible={this.showLoginModal} onClose={this.closeLoginModal}></xv-login-modal>\n <li class=\"hidden-xs\">\n <a class=\"btn btn-default navbar-btn btn-link\" href=\"https://market.crossvertise.com/de-de/mycrossvertise/account/register\">\n <span>Registrieren</span>\n </a>\n </li>\n <li class=\"navbar-divider hidden-xs\"></li>\n <li>\n <a class=\"btn btn-success navbar-btn\" href=\"https://market.crossvertise.com/de-de/mycrossvertise/shoppingcart/activecart\">\n <span class=\"xv-font-icon-warenkorb fa-lg fa-fw\" aria-hidden=\"true\"></span>\n <span class=\"hidden-xs hidden-sm\"> Warenkorb </span>\n <span class=\"badge badge-success\">0</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=\"https://market.crossvertise.com/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 </div>\n );\n }\n}\n"]}
|
|
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 {this.metaNav.ImpersonationInfo &&(\n <li>\n <a class=\"btn btn-link navbar-btn hidden-xs\" href=\"#\" onClick={this.togglePopover}>\n <i class=\"fa fa-user\"></i>\n <i class=\"fa fa-exchange-alt\"></i>\n </a>\n </li>\n )}\n \n {this.showPopover && this.metaNav.ImpersonationInfo && (\n <div class=\"popover popover-fixed fade bottom in\" id=\"popover939183\">\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 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 </div>\n )}\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 \n <span class=\"hidden-xs\">{this.metaNav.UserMenuText}</span>\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> Cockpitfunktionen <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> \n {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> Entitäten <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> \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()}><i class=\"fa fa-user\"></i> Mein Crossvertise <span class=\"badge\">{this.metaNav.PendingItems}</span><i class=\"fa fa-caret-down\"></i></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> \n {item.Text}{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 {!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>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=\"/de-de/mycrossvertise/shoppingcart/activecart\">\n <span class=\"xv-font-icon-warenkorb fa-lg fa-fw\" aria-hidden=\"true\"></span>\n <span class=\"hidden-xs hidden-sm\"> Warenkorb </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}"]}
|
|
@@ -12,7 +12,7 @@ export class XvLink {
|
|
|
12
12
|
e.stopPropagation();
|
|
13
13
|
}
|
|
14
14
|
render() {
|
|
15
|
-
return (h(Host, { key: '
|
|
15
|
+
return (h(Host, { key: '077c6a5d0d2e382458e69a377c73f354fe4b3524', class: `xv-link_${this.variant}` }, h("a", { key: '7fe343ed2076c25bf4607df21ec59986f30daf1d', href: this.href, onClick: this.preventLinkHandler.bind(this), class: `xv-link ${this.disabled ? 'xv-link_disabled' : ''} ${this.size}`, target: this.target }, h("slot", { key: 'ac806bdf7552f020d89ad5808dd3ed9b4eaf2f8c', name: "icon-left" }), h("slot", { key: 'f9a7a7c7d4605964ad80d420b4f91be95f24136f' }), h("slot", { key: '044239a7f478b3c493e4652c11451cc79a9b82e3', name: "icon-right" }))));
|
|
16
16
|
}
|
|
17
17
|
static get is() { return "xv-link-v2"; }
|
|
18
18
|
static get encapsulation() { return "shadow"; }
|
|
@@ -58,7 +58,7 @@ export class XvModal {
|
|
|
58
58
|
}
|
|
59
59
|
render() {
|
|
60
60
|
var _a;
|
|
61
|
-
return (h(Host, { key: '
|
|
61
|
+
return (h(Host, { key: '5ba704d4d640754218b5abe1c8f0559516926138', role: "dialog", size: this.size, id: this.el.id }, h("slot", { key: '8e1f96318081cb32eb0abf0263474629cf8485a3', name: "trigger", onSlotchange: this.setupTrigger }), h("div", { key: '3801a7e24dc2d8ccde493019011ea0d4094d7790', class: { backdrop: true }, onClick: this.onBackdropClick }, h("div", { key: '6d07afa0629f708cc2128ec9fed346646a8a0e51', class: "modal" }, h("button", { key: '3b429f23cf861a21d78707885abfc2d89adda1fe', class: "modal_close", onClick: this.closeModal.bind(this) }, "\u00D7"), h("div", { key: '120d258fbccebde85a32e6f5e71b8c10d9350bf1', class: "modal_header" }, h("slot", { key: '93bcef31685ac5fb308262388414cd00142be549', name: "header" }, ((_a = this.el) === null || _a === void 0 ? void 0 : _a.title) && h("h5", { key: 'ba0a90d36a048005bd912985c67d9eb243ac284f', class: "modal_header__title" }, this.el.title))), h("div", { key: 'af80967d7c116d993e5965c5e0f635011976befe', class: { 'modal_content': true, overflow: this.overflow } }, h("slot", { key: '01e0d9cbb531e14fc153693caf52b0784f352018' })), h("div", { key: 'bf611ca504579ccc444503f2e797b8584e79905a', class: "modal_footer" }, h("slot", { key: '4a340e93a8c1970227b59ac3f28157ba49266e2f', name: "footer" })), !!this.loading && (h("div", { key: '377608fc48e83e6e44c692199b657a8c5368cecb', class: "loading" }, h("xv-loader-v2", { key: '78296cc8c55622c729a80d77920933ce3a5b3789', size: SIZE_VAR.LG })))))));
|
|
62
62
|
}
|
|
63
63
|
disconnectedCallback() {
|
|
64
64
|
this.removeTriggerListener();
|