xv-webcomponents 0.1.65-qa.0 → 0.1.67-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 (40) hide show
  1. package/dist/cjs/xv-accordion-v2_40.cjs.entry.js +40 -40
  2. package/dist/cjs/xv-accordion-v2_40.cjs.entry.js.map +1 -1
  3. package/dist/collection/components/xv-file-uploader/xv-file-uploader.css +17 -1
  4. package/dist/collection/components/xv-file-uploader/xv-file-uploader.js +5 -5
  5. package/dist/collection/components/xv-file-uploader/xv-file-uploader.js.map +1 -1
  6. package/dist/collection/components/xv-footer/xv-footer.js +1 -1
  7. package/dist/collection/components/xv-header/xv-header.js +3 -3
  8. package/dist/collection/components/xv-link/xv-link.css +21 -9
  9. package/dist/collection/components/xv-link/xv-link.js +1 -1
  10. package/dist/collection/components/xv-link/xv-link.js.map +1 -1
  11. package/dist/collection/components/xv-login-modal/xv-login-modal.js +1 -1
  12. package/dist/collection/components/xv-login-modal/xv-login-modal.js.map +1 -1
  13. package/dist/collection/components/xv-modal/xv-modal.js +1 -1
  14. package/dist/collection/components/xv-notification/xv-notification.js +1 -1
  15. package/dist/collection/components/xv-number-input/xv-number-input.js +2 -2
  16. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.js +1 -1
  17. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.js +2 -2
  18. package/dist/collection/components/xv-pagination/xv-pagination.js +1 -1
  19. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.js +1 -1
  20. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js +1 -1
  21. package/dist/collection/components/xv-slider/xv-slider.js +1 -1
  22. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js +1 -1
  23. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js +1 -1
  24. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js +1 -1
  25. package/dist/collection/components/xv-table/xv-table.js +1 -1
  26. package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js +1 -1
  27. package/dist/collection/components/xv-tag/xv-tag.js +1 -1
  28. package/dist/collection/components/xv-text-input/xv-text-input.js +2 -2
  29. package/dist/collection/components/xv-textarea/xv-textarea.js +2 -2
  30. package/dist/collection/components/xv-tile/xv-tile.js +2 -2
  31. package/dist/collection/components/xv-toggle/xv-toggle.js +1 -1
  32. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.js +1 -1
  33. package/dist/collection/components/xv-tooltip/xv-tooltip.js +2 -2
  34. package/dist/esm/xv-accordion-v2_40.entry.js +40 -40
  35. package/dist/esm/xv-accordion-v2_40.entry.js.map +1 -1
  36. package/dist/xv-webcomponents/{p-87177606.entry.js → p-dd76640e.entry.js} +2 -2
  37. package/dist/xv-webcomponents/p-dd76640e.entry.js.map +1 -0
  38. package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -1
  39. package/package.json +1 -1
  40. package/dist/xv-webcomponents/p-87177606.entry.js.map +0 -1
@@ -182,7 +182,6 @@
182
182
  }
183
183
  :host .error-container {
184
184
  padding: var(--spacing-04) var(--spacing-05);
185
- border-top: 1px solid var(--border-subtle-01);
186
185
  font-size: 0.858em;
187
186
  font-style: normal;
188
187
  font-weight: 400;
@@ -196,6 +195,15 @@
196
195
  color: var(--text-secondary, #515151);
197
196
  white-space: pre-line;
198
197
  }
198
+ :host .global-error {
199
+ text-align: left;
200
+ margin: 0;
201
+ padding: 0 var(--spacing-05);
202
+ font-size: 0.858em;
203
+ font-style: normal;
204
+ font-weight: 400;
205
+ color: var(--text-error);
206
+ }
199
207
 
200
208
  :host(.disabled) {
201
209
  pointer-events: none;
@@ -212,6 +220,14 @@
212
220
  display: none;
213
221
  }
214
222
 
223
+ :host(.error) .uploadBtn {
224
+ outline: 1px solid var(--support-error);
225
+ border-radius: 0.285em;
226
+ }
227
+ :host(.error) .drop-zone {
228
+ border-color: var(--support-error);
229
+ }
230
+
215
231
  :host([size=xs]) {
216
232
  font-size: 10px;
217
233
  }
@@ -28,8 +28,9 @@ export class XvFileUploader {
28
28
  this.handleFiles(droppedFiles);
29
29
  };
30
30
  this.handleFiles = (files) => {
31
- this.files = this.validation(this.multiple ? [...this.files, ...files] : files);
32
- this.filesChange.emit(this.files);
31
+ const newFiles = this.validation(this.multiple ? [...this.files, ...files] : files);
32
+ this.filesChange.emit(newFiles);
33
+ this.files = newFiles;
33
34
  };
34
35
  this.onDragOver = (event) => {
35
36
  event.preventDefault();
@@ -83,11 +84,10 @@ export class XvFileUploader {
83
84
  }
84
85
  }
85
86
  render() {
86
- var _a;
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) => {
87
+ return (h(Host, { key: '6f8e49429611dc6c961136e381f742ea0ea4ef9f', class: { 'upload-wrapper': true, [`uploader-${this.size}`]: true, disabled: !!this.disabled, error: !!this.error } }, this.label && h("label", { key: '43a3a8b5c262ea21cf3162d19a89fe4bb8227a1a', class: "label" }, this.label), this.description && h("p", { key: 'ba64189ef795fd54c882038e2390a6895c0b5947', class: "description" }, this.description), this.variant === 'button' ? (h("xv-button-v2", { class: "uploadBtn", 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.')), h("input", { key: '05f2bc2a6f2dd2da243759b96d3773ed0b5fb066', ref: el => (this.fileInput = el), type: "file", hidden: true, onChange: this.onFileSelect, multiple: this.multiple, accept: this.accept.join(',') }), this.error && h("p", { key: '883f236ab210ca491df05dbccd87d9e5e7604420', class: "global-error" }, this.error), h("ul", { key: 'abea08be6ef6a2789e201ffc957e473a312ad9ff', 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: '21aae629c18e97fc42f478e78ed4b771975389ab', class: "error-container" }, h("p", { key: '2fefb6eae6b6a8d838f6aca2ff05c5981f1491a2', class: "error-container_primary" }, this.error)))));
90
+ }))));
91
91
  }
92
92
  _renderLoaderState(index) {
93
93
  var _a, _b, _c;
@@ -1 +1 @@
1
- {"version":3,"file":"xv-file-uploader.js","sourceRoot":"","sources":["../../../src/components/xv-file-uploader/xv-file-uploader.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, EventEmitter, Event, h, Host, Prop, State, Fragment, Method } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\nimport { XvFileUploaderVariants } from './_vars';\n\n@Component({\n tag: 'xv-file-uploader',\n styleUrl: 'xv-file-uploader.scss',\n shadow: true,\n})\nexport class XvFileUploader {\n @Prop() label?: string;\n @Prop() description?: string;\n @Prop({ attribute: 'add-text' }) addText?: string;\n @Prop() variant: XvFileUploaderVariants = XvFileUploaderVariants.BUTTON;\n @Prop() size: SIZE_VAR = SIZE_VAR.MD;\n @Prop() accept: string[] = [];\n @Prop() buttonVariant: 'primary' | 'secondary' | 'ghost' | 'danger' | 'tertiary' = 'primary';\n @Prop({ attribute: 'max-file-size-mb' }) maxFileSizeMB: number = 5;\n @Prop({ attribute: 'max-files' }) maxFiles: number = 20;\n @Prop() multiple: boolean = true;\n @Prop({ reflect: true }) disabled?: boolean;\n @Prop({ reflect: true, mutable: true }) files: File[] = [];\n @Prop({ reflect: true, mutable: true, attribute: 'loading-states' }) loadingStates: ('loading' | 'success' | 'uploaded')[] = [];\n @Prop({ reflect: true, mutable: true }) error?: string;\n @Prop({ reflect: true, mutable: true }) errors: string[] | { primary: string; secondary: string; }[] = [];\n\n @State() dragActive = false;\n @State() errorMessages: string[] = [];\n\n @Event() filesChange: EventEmitter<File[]>;\n @Event() fileRemoved: EventEmitter<File>;\n\n private fileInput: HTMLInputElement;\n\n @Method()\n async clearFiles() {\n this.files = [];\n if (this.fileInput) {\n this.fileInput.value = '';\n }\n }\n\n private onFileSelect = (event: Event) => {\n const input = event.target as HTMLInputElement;\n const selectedFiles = Array.from(input.files || []);\n this.handleFiles(selectedFiles);\n };\n\n private onDrop = (event: DragEvent) => {\n event.preventDefault();\n this.dragActive = false;\n const droppedFiles = Array.from(event.dataTransfer?.files || []);\n this.handleFiles(droppedFiles);\n };\n\n private handleFiles = (files: File[]) => {\n this.files = this.validation(this.multiple ? [...this.files, ...files] : files);\n this.filesChange.emit(this.files);\n };\n\n private validation(files: File[]): File[] {\n const maxSize = this.maxFileSizeMB * 1024 * 1024;\n const seenFileNames = new Set<string>();\n const errorMessages: (string | null)[] = [];\n const uniqueFiles: File[] = [];\n\n for (const file of files) {\n let error: string | undefined = null;\n\n if (!seenFileNames.has(file.name)) {\n seenFileNames.add(file.name);\n uniqueFiles.push(file);\n }\n\n const dotIndex = file.name.lastIndexOf('.');\n const extension = file.name.substring(dotIndex).toLowerCase();\n const isAccepted = this.accept.length === 0 || this.accept.some(type => type.toLowerCase() === extension);\n\n if (!isAccepted) {\n error = 'Unsupported file type.';\n } else if (file.size > maxSize) {\n error = `File ${file.name} is too large.`;\n }\n\n errorMessages.push(error);\n }\n\n this.error = uniqueFiles.length > this.maxFiles\n ? `Only ${this.maxFiles} file(s) allowed.`\n : null;\n\n this.errorMessages = errorMessages;\n\n return uniqueFiles;\n }\n\n private removeFile(index: number) {\n if (this.files[index]) this.fileRemoved.emit(this.files[index]);\n this.files = this.validation([...this.files.slice(0, index), ...this.files.slice(index + 1)]);\n this.filesChange.emit(this.files);\n if (this.fileInput) {\n this.fileInput.value = '';\n }\n }\n\n private onDragOver = (event: DragEvent) => {\n event.preventDefault();\n this.dragActive = true;\n };\n\n private onDragLeave = () => {\n this.dragActive = false;\n };\n\n render() {\n return (\n <Host class={{ 'upload-wrapper': true, [`uploader-${this.size}`]: true, disabled: !!this.disabled }}>\n {this.label && <label class=\"label\">{this.label}</label>}\n {this.description && <p class=\"description\">{this.description}</p>}\n {this.variant === 'button' ? (\n <xv-button-v2 variant={this.buttonVariant} disabled={this.disabled} onClick={() => this.fileInput.click()}>\n {this.addText || 'Dateien auswählen'}\n </xv-button-v2>\n ) : (\n <div\n class={{ 'drop-zone': true, active: this.dragActive }}\n onDrop={this.onDrop}\n onDragOver={this.onDragOver}\n onDragLeave={this.onDragLeave}\n onClick={() => this.fileInput.click()}\n >\n {this.addText || 'Dateien hierher ziehen oder darauf klicken, um eine Datei auszuwählen.'}\n {this.accept?.length > 0 && <span> ({this.accept.join(', ')})</span>}\n </div>\n )}\n\n <input\n ref={el => (this.fileInput = el)}\n type=\"file\"\n hidden\n onChange={this.onFileSelect}\n multiple={this.multiple}\n accept={this.accept.join(',')}\n />\n\n <ul class=\"file-list\">\n {this.files.map((file, index) => (\n <li class={{ file: true, withError: !!(this.errors?.[index] || this.errorMessages?.[index]) }}>\n <div class=\"file_container\">\n <span class=\"file_container_name\">{file.name}</span>\n {this._renderLoaderState(index)}\n </div>\n {this._renderError(index)}\n </li>\n ))}\n </ul>\n {this.error && (\n <div class=\"error-container\">\n <p class=\"error-container_primary\">{this.error}</p>\n </div>\n )}\n </Host>\n );\n }\n\n private _renderLoaderState(index: number) {\n const state = this.loadingStates?.[index] || null;\n\n const errorIcon = this.errors?.[index] || this.errorMessages?.[index] ? (\n <svg class=\"file_container_errorIcon\" width=\"16\" height=\"16\" 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 ) : null;\n\n switch (state) {\n case 'loading':\n return (\n <Fragment>\n {errorIcon}\n <xv-loader-v2 size={SIZE_VAR.XS} />\n </Fragment>\n );\n case 'success':\n return (\n <Fragment>\n {errorIcon}\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 18 16\" fill=\"none\">\n <path\n d=\"M9 16C6.125 16 3.5 14.5 2.0625 12C0.625 9.53125 0.625 6.5 2.0625 4C3.5 1.53125 6.125 0 9 0C11.8438 0 14.4688 1.53125 15.9062 4C17.3438 6.5 17.3438 9.53125 15.9062 12C14.4688 14.5 11.8438 16 9 16ZM12.5312 6.53125H12.5C12.8125 6.25 12.8125 5.78125 12.5 5.46875C12.2188 5.1875 11.75 5.1875 11.4688 5.46875L8 8.96875L6.53125 7.5C6.21875 7.1875 5.75 7.1875 5.46875 7.5C5.15625 7.78125 5.15625 8.25 5.46875 8.53125L7.46875 10.5312C7.75 10.8438 8.21875 10.8438 8.53125 10.5312L12.5312 6.53125Z\"\n fill=\"#97BF0D\" />\n </svg>\n <xv-button-v2 variant=\"ghost\" size={SIZE_VAR.XS} onClick={() => this.removeFile(index)}>\n <span slot=\"icon-left\">×</span>\n </xv-button-v2>\n </Fragment>\n );\n case 'uploaded':\n default:\n return (\n <Fragment>\n {errorIcon}\n <xv-button-v2 variant=\"ghost\" size={SIZE_VAR.XS} onClick={() => this.removeFile(index)}>\n <span slot=\"icon-left\">×</span>\n </xv-button-v2>\n </Fragment>\n );\n }\n }\n\n private _renderError(index: number) {\n const error = this.errors?.[index] || this.errorMessages?.[index];\n\n if (!error) return;\n\n if (typeof error === 'object') {\n return (\n <div class=\"error-container\">\n <p class=\"error-container_primary\">{error.primary}</p>\n <p class=\"error-container_secondary\">{error.secondary}</p>\n </div>\n );\n }\n\n if (typeof error === 'string') {\n return (\n <div class=\"error-container\">\n <p class=\"error-container_primary\">{error}</p>\n </div>\n );\n }\n\n return null;\n }\n}\n"]}
1
+ {"version":3,"file":"xv-file-uploader.js","sourceRoot":"","sources":["../../../src/components/xv-file-uploader/xv-file-uploader.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, EventEmitter, Event, h, Host, Prop, State, Fragment, Method } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\nimport { XvFileUploaderVariants } from './_vars';\n\n@Component({\n tag: 'xv-file-uploader',\n styleUrl: 'xv-file-uploader.scss',\n shadow: true,\n})\nexport class XvFileUploader {\n @Prop() label?: string;\n @Prop() description?: string;\n @Prop({ attribute: 'add-text' }) addText?: string;\n @Prop() variant: XvFileUploaderVariants = XvFileUploaderVariants.BUTTON;\n @Prop() size: SIZE_VAR = SIZE_VAR.MD;\n @Prop() accept: string[] = [];\n @Prop() buttonVariant: 'primary' | 'secondary' | 'ghost' | 'danger' | 'tertiary' = 'primary';\n @Prop({ attribute: 'max-file-size-mb' }) maxFileSizeMB: number = 5;\n @Prop({ attribute: 'max-files' }) maxFiles: number = 20;\n @Prop() multiple: boolean = true;\n @Prop({ reflect: true }) disabled?: boolean;\n @Prop({ reflect: true, mutable: true }) files: File[] = [];\n @Prop({ reflect: true, mutable: true, attribute: 'loading-states' }) loadingStates: ('loading' | 'success' | 'uploaded')[] = [];\n @Prop({ reflect: true, mutable: true }) error?: string;\n @Prop({ reflect: true, mutable: true }) errors: string[] | { primary: string; secondary: string; }[] = [];\n\n @State() dragActive = false;\n @State() errorMessages: string[] = [];\n\n @Event() filesChange: EventEmitter<File[]>;\n @Event() fileRemoved: EventEmitter<File>;\n\n private fileInput: HTMLInputElement;\n\n @Method()\n async clearFiles() {\n this.files = [];\n if (this.fileInput) {\n this.fileInput.value = '';\n }\n }\n\n private onFileSelect = (event: Event) => {\n const input = event.target as HTMLInputElement;\n const selectedFiles = Array.from(input.files || []);\n this.handleFiles(selectedFiles);\n };\n\n private onDrop = (event: DragEvent) => {\n event.preventDefault();\n this.dragActive = false;\n const droppedFiles = Array.from(event.dataTransfer?.files || []);\n this.handleFiles(droppedFiles);\n };\n\n private handleFiles = (files: File[]) => {\n const newFiles = this.validation(this.multiple ? [...this.files, ...files] : files);\n this.filesChange.emit(newFiles);\n this.files = newFiles;\n };\n\n private validation(files: File[]): File[] {\n const maxSize = this.maxFileSizeMB * 1024 * 1024;\n const seenFileNames = new Set<string>();\n const errorMessages: (string | null)[] = [];\n const uniqueFiles: File[] = [];\n\n for (const file of files) {\n let error: string | undefined = null;\n\n if (!seenFileNames.has(file.name)) {\n seenFileNames.add(file.name);\n uniqueFiles.push(file);\n }\n\n const dotIndex = file.name.lastIndexOf('.');\n const extension = file.name.substring(dotIndex).toLowerCase();\n const isAccepted = this.accept.length === 0 || this.accept.some(type => type.toLowerCase() === extension);\n\n if (!isAccepted) {\n error = 'Unsupported file type.';\n } else if (file.size > maxSize) {\n error = `File ${file.name} is too large.`;\n }\n\n errorMessages.push(error);\n }\n\n this.error = uniqueFiles.length > this.maxFiles\n ? `Only ${this.maxFiles} file(s) allowed.`\n : null;\n\n this.errorMessages = errorMessages;\n\n return uniqueFiles;\n }\n\n private removeFile(index: number) {\n if (this.files[index]) this.fileRemoved.emit(this.files[index]);\n this.files = this.validation([...this.files.slice(0, index), ...this.files.slice(index + 1)]);\n this.filesChange.emit(this.files);\n if (this.fileInput) {\n this.fileInput.value = '';\n }\n }\n\n private onDragOver = (event: DragEvent) => {\n event.preventDefault();\n this.dragActive = true;\n };\n\n private onDragLeave = () => {\n this.dragActive = false;\n };\n\n render() {\n return (\n <Host class={{ 'upload-wrapper': true, [`uploader-${this.size}`]: true, disabled: !!this.disabled, error: !!this.error }}>\n {this.label && <label class=\"label\">{this.label}</label>}\n {this.description && <p class=\"description\">{this.description}</p>}\n {this.variant === 'button' ? (\n <xv-button-v2 class=\"uploadBtn\" variant={this.buttonVariant} disabled={this.disabled} onClick={() => this.fileInput.click()}>\n {this.addText || 'Dateien auswählen'}\n </xv-button-v2>\n ) : (\n <div\n class={{ 'drop-zone': true, active: this.dragActive }}\n onDrop={this.onDrop}\n onDragOver={this.onDragOver}\n onDragLeave={this.onDragLeave}\n onClick={() => this.fileInput.click()}\n >\n {this.addText || 'Dateien hierher ziehen oder darauf klicken, um eine Datei auszuwählen.'}\n </div>\n )}\n\n <input\n ref={el => (this.fileInput = el)}\n type=\"file\"\n hidden\n onChange={this.onFileSelect}\n multiple={this.multiple}\n accept={this.accept.join(',')}\n />\n\n {this.error && <p class=\"global-error\">{this.error}</p>}\n\n <ul class=\"file-list\">\n {this.files.map((file, index) => (\n <li class={{ file: true, withError: !!(this.errors?.[index] || this.errorMessages?.[index]) }}>\n <div class=\"file_container\">\n <span class=\"file_container_name\">{file.name}</span>\n {this._renderLoaderState(index)}\n </div>\n {this._renderError(index)}\n </li>\n ))}\n </ul>\n </Host>\n );\n }\n\n private _renderLoaderState(index: number) {\n const state = this.loadingStates?.[index] || null;\n\n const errorIcon = this.errors?.[index] || this.errorMessages?.[index] ? (\n <svg class=\"file_container_errorIcon\" width=\"16\" height=\"16\" 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 ) : null;\n\n switch (state) {\n case 'loading':\n return (\n <Fragment>\n {errorIcon}\n <xv-loader-v2 size={SIZE_VAR.XS} />\n </Fragment>\n );\n case 'success':\n return (\n <Fragment>\n {errorIcon}\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 18 16\" fill=\"none\">\n <path\n d=\"M9 16C6.125 16 3.5 14.5 2.0625 12C0.625 9.53125 0.625 6.5 2.0625 4C3.5 1.53125 6.125 0 9 0C11.8438 0 14.4688 1.53125 15.9062 4C17.3438 6.5 17.3438 9.53125 15.9062 12C14.4688 14.5 11.8438 16 9 16ZM12.5312 6.53125H12.5C12.8125 6.25 12.8125 5.78125 12.5 5.46875C12.2188 5.1875 11.75 5.1875 11.4688 5.46875L8 8.96875L6.53125 7.5C6.21875 7.1875 5.75 7.1875 5.46875 7.5C5.15625 7.78125 5.15625 8.25 5.46875 8.53125L7.46875 10.5312C7.75 10.8438 8.21875 10.8438 8.53125 10.5312L12.5312 6.53125Z\"\n fill=\"#97BF0D\" />\n </svg>\n <xv-button-v2 variant=\"ghost\" size={SIZE_VAR.XS} onClick={() => this.removeFile(index)}>\n <span slot=\"icon-left\">×</span>\n </xv-button-v2>\n </Fragment>\n );\n case 'uploaded':\n default:\n return (\n <Fragment>\n {errorIcon}\n <xv-button-v2 variant=\"ghost\" size={SIZE_VAR.XS} onClick={() => this.removeFile(index)}>\n <span slot=\"icon-left\">×</span>\n </xv-button-v2>\n </Fragment>\n );\n }\n }\n\n private _renderError(index: number) {\n const error = this.errors?.[index] || this.errorMessages?.[index];\n\n if (!error) return;\n\n if (typeof error === 'object') {\n return (\n <div class=\"error-container\">\n <p class=\"error-container_primary\">{error.primary}</p>\n <p class=\"error-container_secondary\">{error.secondary}</p>\n </div>\n );\n }\n\n if (typeof error === 'string') {\n return (\n <div class=\"error-container\">\n <p class=\"error-container_primary\">{error}</p>\n </div>\n );\n }\n\n return null;\n }\n}\n"]}
@@ -14,7 +14,7 @@ export class Xvfooter {
14
14
  }
15
15
  }
16
16
  render() {
17
- return (h("footer", { key: '69d48cf34ca1c2b39cc4152b1da10e3d6784ecaf' }, h("div", { key: '91a2a4e95bc830478182cdd2b64d68670a36bb41', innerHTML: this.htmlContent })));
17
+ return (h("footer", { key: 'b304009e8caaf7f81a123bcd0e5399ee0baa68eb' }, h("div", { key: 'ac60278fe82d17f121cdfb6234afccc15f361992', innerHTML: this.htmlContent })));
18
18
  }
19
19
  static get is() { return "xv-footer"; }
20
20
  static get originalStyleUrls() {
@@ -156,9 +156,9 @@ export class XvHeader {
156
156
  }
157
157
  render() {
158
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;
159
- return (h("div", { key: 'a7f0667501a5c5cf3759e358e592ea04d23fb826', id: "nav-container", class: "xv-header" }, h("nav", { key: '3cd2e9a42492719024ae432530d8f53dca9dcb24', class: "navbar navbar-default navbar-fixed-top backend-force-relative" }, h("div", { key: 'dd723023f7883a2291c8620a1aeca569f550efa2', class: "container" }, h("div", { key: 'ca379bbbc8293a8493bb68235cb04365f6fafc50', class: "row" }, h("div", { key: '2725a43aa43538299d9ea5c728f6aa351afa9217', class: "col-sm-3 col-xs-3 col-xxs-4 no-padding-right" }, h("div", { key: '0416275793efecdd32be5d9e3f54cd57dbe53ab7', class: "navbar-header" }, h("button", { key: '4532139237dd56e4b438b6aaa20d85620ec469b4', class: "btn btn-default navbar-toggle pull-left navbar-btn", "data-toggle": "collapse", "data-target": "#main-menu" }, h("i", { key: 'bf13465bff42bc146cce69b29ad0a8746a933bf7', class: "fa fa-bars fa-lg", "aria-hidden": "true" })), h("div", { key: 'bcf6feccad2195469d921523fbc008014c07e80f', class: "visible-xs-inline" }, h("a", { key: 'c9f3b29728e61cf9fb1681eb2ad7606c6e272c9f', href: "https://www.crossvertise.com/", class: "navbar-brand" }, h("img", { key: 'c59b3a2c97a2fc6c1c63661e401a7b467fefd81c', src: "https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo-small.svg", alt: "Crossvertise" }))), h("div", { key: '7fec8d9de82f3b90e8531bd05bfca09399247386', class: "hidden-xs" }, h("a", { key: '12c5d8eb68b580e76fa1f1db644f7ed84460c78f', href: "https://www.crossvertise.com/", class: "navbar-brand" }, h("img", { key: '84a8518ac1de61378adebb5b2bc3f1a357166a61', loading: "lazy", src: "https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo.svg", alt: "Crossvertise" }))))), h("div", { key: 'c758221b929c23af4bd2970de27f340110b4fbc3', class: "col-sm-9 col-xs-9 col-xxs-8 no-padding-left" }, h("ul", { key: '82dcfb97aeb121d8d1988c20910038bbd422334d', class: "nav nav-pills nav-meta pull-right" }, ((_a = this.metaNav) === null || _a === void 0 ? void 0 : _a.ImpersonationInfo) && (h("li", { key: '161e9712df3d22a9ad884c02f632dc60c89bcd97' }, h("div", { key: 'bfe061b4df5a9891cfbc2c2542e2aac548e62524', class: "btn btn-link navbar-btn navbar-btn-cust hidden-xs", onClick: this.togglePopover }, h("i", { key: '854ca5e6aeb48026eb2df30e4c237408df5c6aae', class: "fa fa-user" }), h("i", { key: '42eac4b353713b868cbd0ca3f577045d036856c1', class: "fa fa-exchange-alt" })), h("div", { key: '8ff3d313a564c2e176ef461299d08d3a724ad13b', class: "popover popover-fixed fade bottom in", style: { "display": this.showPopover ? "block" : "none" } }, h("div", { key: '878ea017442df77ec5702897963e6f0420aa1c8e', class: "arrow" }), h("h3", { key: '175d9f16b49f6e4d5a765979f71777911a85d0dd', class: "popover-title" }, "Momentan ist die Kundenperspektive aktiviert f\u00FCr:"), h("div", { key: '19fbf47976c666754af0d42c074fa605b04a3770', class: "popover-content" }, h("div", { key: '677f52c9a33b6529501739e05041c23f60e56086', class: "row" }, h("div", { key: 'eba12cc4653b35e624aaeddee77841188c13a45b', class: "col-xs-12" }, h("table", { key: '15c3ce47f0b1073ba776915593689ecc09f189d1', class: "table-condensed" }, h("tbody", { key: '5e78558bd23a42f285169537a2d986d48449ccb5' }, h("tr", { key: '6c071c107b70c8075d4ea9d8a5874e5bfe719329' }, h("td", { key: '215e9ba0b2aee226373586386614695d86b92ad9' }, h("span", { key: '406e4e8fbb5e38897901a5b66e35bc4236a12224' }, (_c = (_b = this.metaNav) === null || _b === void 0 ? void 0 : _b.ImpersonationInfo) === null || _c === void 0 ? void 0 : _c.NameAndTitle))), h("tr", { key: '77b50fb21a956e9d92fd7350174e966ae07b2472' }, h("td", { key: 'd3326f4becf860ba9493d0be8feee23cd2dd096c' }, h("span", { key: 'bc332d0df2bcb19b42c5560084ccdfcf08a0a123' }, (_e = (_d = this.metaNav) === null || _d === void 0 ? void 0 : _d.ImpersonationInfo) === null || _e === void 0 ? void 0 : _e.CompanyName))), h("tr", { key: '3d41b0d595797c741c442af0f389e8e569665cd2' }, h("td", { key: 'dd48911347f76842f7c602192b9bc79fa3404bec' }, h("span", { key: '1a0a7693d4f598844cd68030d6199a8d8ca87b2a' }, (_g = (_f = this.metaNav) === null || _f === void 0 ? void 0 : _f.ImpersonationInfo) === null || _g === void 0 ? void 0 : _g.Email))), h("tr", { key: '0c5245ba35266792edc68605052166f1d154b424' }, h("td", { key: 'e1b4b53d46a22fb8ae0be47551093399037e500b' }, h("span", { key: 'd850c6fa09c32378387869c49c812bec83d95731' }, (_j = (_h = this.metaNav) === null || _h === void 0 ? void 0 : _h.ImpersonationInfo) === null || _j === void 0 ? void 0 : _j.PhoneOffice)))))))), h("div", { key: 'afec801084678adf4237d3c1bbd17aa3d877dc9a', class: "row contact-contactform-container", id: "contact-contactform-container-nav" }, h("div", { key: '0f965a736b203ad7dc4d9b2bbce7193a397afcf7', class: "col-xs-12" }, h("a", { key: '0ee5f1aef772ab061df16d3cc9e908c5a4f1adcf', class: "btn btn-primary btn-block", href: "/de-de/mycrossvertise/account/clearimpersonation" }, "Kundenperspektive verlassen")))))), h("li", { key: '5d9c0f2149ea82e29f321bd7caea8613fa0bac49' }, h("a", { key: '7a4192afdfb7482aa75bf0b1f9aa83bd89df73c1', class: "btn btn-link navbar-btn hidden-xs", href: "#" }, "Kontakt"), h("a", { key: 'e08c4bf37329e645b7b2fa76cbcc102bbdf95751', href: "/contact", class: "btn btn-link navbar-btn hidden-xs", style: { display: 'none' } }, "Kontakt"), h("a", { key: '15082d1ba52fb3dbefb536dea2ace245eb5f7da3', class: "btn btn-default btn-link navbar-btn visible-xs hidden-xxs", href: "#" }, h("i", { key: '9bc3540d5d92f0bc5a61caa9dc606d86c0684257', class: "fa fa-phone" }))), ((_k = this.metaNav) === null || _k === void 0 ? void 0 : _k.IsManager) && (h("li", { key: '79eaafa13372035392d676d05d1d0301c6cd4255', class: "dropdown" }, h("a", { key: '7644e309bfe46cd9156afd8097c99866a0203a8e', 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: 'af0125825c40cf7f920d71ae212a85cf297cac28', class: "fas fa-bell fa-lg" }), h("span", { key: '77a7a32e8a68f950bdce1d64edefa7d786caf584', 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: '56b9735fc0c84e460b4e2e209ad2d5d6c4ddd9a9', class: "dropdown", id: "my-xv-menu" }, h("a", { key: '3dde74f73f9ff33255f84f7a5b7b792165cf4773', 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: '16358ec0dd5fbd0cf89e1b0cb3981608f98f48aa', class: "fa fa-user fa-lg text-success", "aria-hidden": "true" }), "\u00A0", h("span", { key: '5a51bc2a2df8d027f3924a6b14eed5fa20ee2a7b', class: "hidden-xs" }, (_m = this.metaNav) === null || _m === void 0 ? void 0 : _m.UserMenuText), "\u00A0", h("span", { key: 'b4fdcd20870861f0a3e4f31d4a4b54447f7af884', class: "caret" })), h("ul", { key: '261ca2c0b5443468d6d0869ff4e382c39080d7d7', class: "dropdown-menu-left dropdown-menu navbar-myxv" }, ((_o = this.metaNav) === null || _o === void 0 ? void 0 : _o.IsManager) && (h("li", { key: '81f8649693400238162c1c09fef465ececd7691c' }, h("a", { key: '4e195be2e6c8928b7be46745afae682e57c387a4', onClick: () => this.toggleCockpitMenu() }, h("i", { key: 'dfba1062f5fe5254ac621abe116a47afd8ba7d44', class: "fa fa-tachometer-alt fa-fw" }), "\u00A0Cockpitfunktionen \u00A0", h("i", { key: '98089b276a33fc22e659866798cf66c92e8eca28', 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: 'acf062606778f61d7379ae4afb28c5dadb7e8480' }, h("a", { key: '600396d9055d8b128b7397e73ef0c0ae0c98c229', onClick: () => this.toggleEntitiesMenu() }, h("i", { key: '2688879d3b202342ffa84dec1d06f3f7fe6c92ab', class: "fa fa-cubes" }), "\u00A0Entit\u00E4ten \u00A0", h("i", { key: '4616c817866c2d21f2393b51ff84afd10288a88b', 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: '7075ca668f5b92c0c35da8e6055c39d404b57639', role: "separator", class: "divider" })), ((_x = this.metaNav) === null || _x === void 0 ? void 0 : _x.IsManager) && (h("li", { key: 'a39cf493d93169f05f3cdcb0a5787eddfa5d00cd' }, h("a", { key: 'c58e0e8eabcabf55ce781a8efe344fc8d023bcfb', onClick: () => this.toggleUserMenu() }, h("i", { key: '6f76eb9250300dd8be1ae35961158f6a7da1b4b9', class: "fa fa-user" }), "\u00A0Mein Crossvertise \u00A0", h("span", { key: 'ed0e401746fd45f0ee71d16441962e27b0ed4ddb', class: "badge" }, (_y = this.metaNav) === null || _y === void 0 ? void 0 : _y.PendingItems), h("i", { key: 'c06bd92160af171ec9521f2c1be7a988abc1854b', 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: '6b8b23736a1266bb76664781a70d99be0efd357e', class: 'user-menu-item' }, h("a", { key: '0afd7fb16f81e0f2f9f955e87a90fc2360368076', href: (_4 = (_3 = this.metaNav) === null || _3 === void 0 ? void 0 : _3.ImpersonationInfo) === null || _4 === void 0 ? void 0 : _4.ClearImpersonationUrl }, h("i", { key: '59e1113ce674c8c192f87cbabe1671be25e84be7', class: "fa fa-exchange-alt" }), "Kundenperspektive verlassen"))), ((_5 = this.metaNav) === null || _5 === void 0 ? void 0 : _5.IsManager) && (h("li", { key: 'fc1b4885c15e23abce5097b72d8bfce2fd8d069d', 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: '0ec50e9a9cc799797c0edf70836cb82c2928bec9' }, h("a", { key: '0b952e31e2f1ef852a6663c30064eeaa6b02c164', href: "/de-de/mycrossvertise/account/logoff?returnUrl=/" }, h("i", { key: '80f955d99b50085e86e4b341316b665a5c96569c', class: "fa fa-sign-out-alt fa-fw", "aria-hidden": "true" }), "Logout"))))), h("li", { key: '412e9097282aa8cc95637f06a931866089ab49b0', class: "visible-sm-block visible-xs-block hidden-xxs" }, h("a", { key: 'f9ee988b1468c636b5996e4778f4310a81aee3c1', class: "btn btn-default navbar-btn btn-link", "data-toggle": "collapse", "data-target": "#search-collapse" }, h("i", { key: '3c64f408b089380be4e84a906eb7fed4a76cc504', class: "fa fa-search", "aria-hidden": "true" }))), !((_8 = this.metaNav) === null || _8 === void 0 ? void 0 : _8.IsAuthenticated) && (h("li", { key: '0eba6d16e8c9ca518fad09339a409344ef4b8e13', class: "hidden-md hidden-lg" }, h("a", { key: '2aca7f3bf8fc50806aa6afe8d921ce87de85717d', class: "btn btn-default navbar-btn btn-link mob-login", href: "/de-de/mycrossvertise/account/logon" }, h("i", { key: '5e0871f52a2801fb9a76062b159c83dc2bf3f8e4', class: "fa fa-user fa-lg", "aria-hidden": "true" })))), h("xv-login-modal", { key: 'e727db991699e308e7b08e5a94c4bf157109c39b', visible: this.showLoginModal, onClose: this.closeLoginModal }), !((_9 = this.metaNav) === null || _9 === void 0 ? void 0 : _9.IsAuthenticated) && (h("li", { key: 'a4357b675f0fd597d4c437c6d1a893d3adc44a32', class: "hidden-xs hidden-sm" }, h("a", { key: '69da50cbc30263f9f79a7b0526782377f5db8a70', role: "button", onClick: this.openLoginModal, class: "btn btn-default navbar-btn btn-link" }, h("i", { key: '0e10fce81de74109f7f5890c9c1a315797b3538c', class: "fa fa-user fa-lg", "aria-hidden": "true" }), h("span", { key: '266d6df64230eba68bc8a23aa0e14afb2fe02224', class: "padding-sm-left" }, "Login")))), !((_10 = this.metaNav) === null || _10 === void 0 ? void 0 : _10.IsAuthenticated) && (h("li", { key: 'de9600ba24bae20444346bb53cdda0f1ffbc8d8a', class: "hidden-xs" }, h("a", { key: 'd5832d03dcad59e61f8f9daa3dd5f052a9414033', class: "btn btn-default navbar-btn btn-link", href: "/de-de/mycrossvertise/account/register" }, h("span", { key: '99355f123e37585211fdc479a28ba97c0a175c9c' }, "Registrieren")))), h("li", { key: '8a79c72f4d5820e15a0c28f53bb5bb186c1d1176', class: "navbar-divider hidden-xs" }), h("li", { key: '88897efccc08539883e367ce9f69347aae77c42b' }, h("a", { key: '0a1ad1c7fcb002508b6f770a8b9087cee39dc0fe', class: "btn btn-success navbar-btn", href: "/angular/shopping-cart" }, h("span", { key: '2bd55fa6e48c95148ad3a4b75d756ee9b175ba9d', class: "xv-font-icon-warenkorb fa-lg fa-fw", "aria-hidden": "true" }), h("span", { key: 'cf023d66124d70c2213ffb3bd4fc2d031cfc3d03', class: "hidden-xs hidden-sm" }, "\u00A0Warenkorb\u00A0"), h("span", { key: '3ee2994f9a385b12cd0f420d0078a641e0a69ca1', 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: 'c0d6ec8ab7329b14665f1635a44a86b6817bbb2b', class: "collapse hidden-md hidden-lg", id: "search-collapse" }, h("div", { key: '3048ecdb8aab4a48a7eb2a805286b47e3058335b', class: "container" }, h("form", { key: 'f88fbc71927e008fa00e611eccdf74f77c370837', action: "/de-de/media/search", class: "navbar-form", method: "get", role: "search" }, h("div", { key: '05fb84dd92427df828d0badcfbb91157ead0ba4e', class: "input-group" }, h("input", { key: 'd0cb4709aa409cc527bc41ada13fde781b7cbe38', class: "form-control", name: "Q", placeholder: "Suche", type: "text", autocomplete: "off" }), h("span", { key: '40e56ad7c713db68e577aae2d75eb59966530db6', class: "input-group-btn force-full-width" }, h("button", { key: '969e259a43c0fd64226e3f728a9f365f4e831485', class: "btn btn-default search-addon", type: "submit" }, h("i", { key: '8d38802aa0824fb490cd1a0dbbf6dcdd427fbfe3', class: "fa fa-search", "aria-hidden": "true" })))))))), h("div", { key: '771587b99f3960699ffc45ce4acf0a175d939927', innerHTML: this.htmlContent }), h("ul", { key: 'd27778cf9a8d561ebf6ba26a947bc0e94e9f66ee', 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: 'ac5ab8540ac572a2ee4a59c198ebd8d519e6322c', id: "nav-container", class: "xv-header" }, h("nav", { key: '7278ae8c72c00b9641579adae6f58857a35dc816', class: "navbar navbar-default navbar-fixed-top backend-force-relative" }, h("div", { key: '955c3f1e30fd6ebf8cfb30c6934b777c2051c10c', class: "container" }, h("div", { key: '22387ad1f758f832aca07eab59f6ec93130324c5', class: "row" }, h("div", { key: '140332e3a0d73c358563a803174f45f31caf5fa0', class: "col-sm-3 col-xs-3 col-xxs-4 no-padding-right" }, h("div", { key: '9c91d10abd086735cd58af6837c368f1616e023f', class: "navbar-header" }, h("button", { key: '3db833e9cb4802c9c2d58d616f6945de41e5535d', class: "btn btn-default navbar-toggle pull-left navbar-btn", "data-toggle": "collapse", "data-target": "#main-menu" }, h("i", { key: '6e6a094674f9cf631a7e68e99a9e7ac65181f2db', class: "fa fa-bars fa-lg", "aria-hidden": "true" })), h("div", { key: '6db7e39cb7465b0f4ebde9590405ff7c643fd705', class: "visible-xs-inline" }, h("a", { key: '29709a63271d4cbe603f59b70ef4f4e3f077895a', href: "https://www.crossvertise.com/", class: "navbar-brand" }, h("img", { key: 'eec4bd9df89413994628b61bd4062aa0949123b4', src: "https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo-small.svg", alt: "Crossvertise" }))), h("div", { key: '2b57687ccffad2ed55a71d6a29138242601276cd', class: "hidden-xs" }, h("a", { key: 'f9b8814ceaf2bbbbdb2eb67b4ec42e9b121084ef', href: "https://www.crossvertise.com/", class: "navbar-brand" }, h("img", { key: '3c95f61581d48c68cc956ddf336ab86edcc5ee2f', loading: "lazy", src: "https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo.svg", alt: "Crossvertise" }))))), h("div", { key: 'e3f531997774651dc01a659f25672dd772127bef', class: "col-sm-9 col-xs-9 col-xxs-8 no-padding-left" }, h("ul", { key: '362527551c76623b102f53646aad3cbe4cc7666d', class: "nav nav-pills nav-meta pull-right" }, ((_a = this.metaNav) === null || _a === void 0 ? void 0 : _a.ImpersonationInfo) && (h("li", { key: 'f29eec30670e57b295f5a87600a4a4ffc4d29202' }, h("div", { key: '169424973a4d067d69bb088bd79a70217c05cf20', class: "btn btn-link navbar-btn navbar-btn-cust hidden-xs", onClick: this.togglePopover }, h("i", { key: '11029d2a0703bdc7ee9bd3471681165e678e3904', class: "fa fa-user" }), h("i", { key: 'e01fed2d01dd581fef8f5307fa94d1a38a95dbc0', class: "fa fa-exchange-alt" })), h("div", { key: '63b5a9df6e63f48ae4e367c53e8926cde585f1ea', class: "popover popover-fixed fade bottom in", style: { "display": this.showPopover ? "block" : "none" } }, h("div", { key: '43867cbfd4ae23ed888a28fdc88100627310eb99', class: "arrow" }), h("h3", { key: 'bb33130af90640a4f407e39ca88c2bdace62728d', class: "popover-title" }, "Momentan ist die Kundenperspektive aktiviert f\u00FCr:"), h("div", { key: 'f61c8538466e82231e8df4be1e85838839cf6c3e', class: "popover-content" }, h("div", { key: '08bbc4ac14149d3ec2534082cdaabe11a3d246af', class: "row" }, h("div", { key: '9fb4e89beb9f230b5badf138d6db85cdf49cdfc6', class: "col-xs-12" }, h("table", { key: '0c08f50f519ac98fda6fce11e25f1d70f9edd7f8', class: "table-condensed" }, h("tbody", { key: '8be9d525efbc033e60d511d3daeeba1a2aea9dad' }, h("tr", { key: '1ea0964164eab8e534ef64ae52e151761d71b81b' }, h("td", { key: 'bd0aa38b576dd93edf560b4bf5f1b41f49345c86' }, h("span", { key: '98c92b03dd705cc5d46f493c68acf4221cfb762c' }, (_c = (_b = this.metaNav) === null || _b === void 0 ? void 0 : _b.ImpersonationInfo) === null || _c === void 0 ? void 0 : _c.NameAndTitle))), h("tr", { key: 'c5d24896917130772c18652889ca7034ecd29e72' }, h("td", { key: '2b600d0cab23f9e9e38c7ab11e6c6b64db51877c' }, h("span", { key: 'bf1d0666ea714b840e3c985f60e4b6302083af53' }, (_e = (_d = this.metaNav) === null || _d === void 0 ? void 0 : _d.ImpersonationInfo) === null || _e === void 0 ? void 0 : _e.CompanyName))), h("tr", { key: 'c152adbf5331c5c0f85f009779cb683865be4ce9' }, h("td", { key: '9324780f7d42c191f0c4ed6d235a15095262db6c' }, h("span", { key: '26e5b45cee4d80b4569c76a2e019b216a09a5725' }, (_g = (_f = this.metaNav) === null || _f === void 0 ? void 0 : _f.ImpersonationInfo) === null || _g === void 0 ? void 0 : _g.Email))), h("tr", { key: 'f5902d6035734470324e4d6df6adf1ee2ee9f634' }, h("td", { key: '262b1116ba7a33289500c5020b6c41ed69373156' }, h("span", { key: 'fbcfeb3f1d39472e8fddd80862a57984fed399e4' }, (_j = (_h = this.metaNav) === null || _h === void 0 ? void 0 : _h.ImpersonationInfo) === null || _j === void 0 ? void 0 : _j.PhoneOffice)))))))), h("div", { key: 'a52780c2719705ac4b499d7637875d67262edf0a', class: "row contact-contactform-container", id: "contact-contactform-container-nav" }, h("div", { key: 'bfe0888dc3e66e72385a5e8f3f1b8844829d05d5', class: "col-xs-12" }, h("a", { key: 'f1a7520e7259c5bb65544950aab0b8f411c877f1', class: "btn btn-primary btn-block", href: "/de-de/mycrossvertise/account/clearimpersonation" }, "Kundenperspektive verlassen")))))), h("li", { key: '9ed578aba244b01e7600ff67514c901d182194d8' }, h("a", { key: '0a3c4b4f8aa342b515a5d7af949183a3acac33c8', class: "btn btn-link navbar-btn hidden-xs", href: "#" }, "Kontakt"), h("a", { key: '5832b8b7b69d2302c1e9dc5846658c61b3686afa', href: "/contact", class: "btn btn-link navbar-btn hidden-xs", style: { display: 'none' } }, "Kontakt"), h("a", { key: '0c8aac7de52ab0eb28e3d25f6953dd411c21b456', class: "btn btn-default btn-link navbar-btn visible-xs hidden-xxs", href: "#" }, h("i", { key: 'cecd77402d3b3a3160c667356a8ee82137addf76', class: "fa fa-phone" }))), ((_k = this.metaNav) === null || _k === void 0 ? void 0 : _k.IsManager) && (h("li", { key: 'a7bd180f097d1341496a5b4f340aa08066428854', class: "dropdown" }, h("a", { key: '5ba6223123f32cab75c79786f202ee72c5de8db0', 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: 'dc39be191f354aeac1b7fc9fe67df5d5d723c84e', class: "fas fa-bell fa-lg" }), h("span", { key: '6cf78fc3fcabe23d5f2eb23bd126808db066d9af', 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: '12f4b0d3d87806b972e17484b1a12d011a90dcd0', class: "dropdown", id: "my-xv-menu" }, h("a", { key: '87ca967ba72fd8122b780430cdf7560d344eb90e', 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: '9e5b68db85649a1dbba1638295d69c8707dce1b3', class: "fa fa-user fa-lg text-success", "aria-hidden": "true" }), "\u00A0", h("span", { key: '9138ca24b745304749098f478db06a71c5d5c4c4', class: "hidden-xs" }, (_m = this.metaNav) === null || _m === void 0 ? void 0 : _m.UserMenuText), "\u00A0", h("span", { key: '33e5c49c420a0b9bca1772e0b68fea37614683f3', class: "caret" })), h("ul", { key: '77fa4c1aba6a70bde530327ced36266feacb2b81', class: "dropdown-menu-left dropdown-menu navbar-myxv" }, ((_o = this.metaNav) === null || _o === void 0 ? void 0 : _o.IsManager) && (h("li", { key: '67c828422490e8a60550d0aaaecda83d38e667a8' }, h("a", { key: '87e30607de73a9586b6fd45db0b65421b311945a', onClick: () => this.toggleCockpitMenu() }, h("i", { key: 'f297c525fd18f9e6832434ca8a7fe7a83600e140', class: "fa fa-tachometer-alt fa-fw" }), "\u00A0Cockpitfunktionen \u00A0", h("i", { key: '73fd9c6da927b01c6ca3a959cee09fd4ccdc111f', 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: 'eb3d69b70dd9fd6c11e2e6ca16baf8c03f447b63' }, h("a", { key: '2940530becd55e17fdf7b49c50d591f20e741ca5', onClick: () => this.toggleEntitiesMenu() }, h("i", { key: 'e723d0042ff0591721fc7d7aeb8a39561fe1d902', class: "fa fa-cubes" }), "\u00A0Entit\u00E4ten \u00A0", h("i", { key: 'ab0c6585659cb19d86a2e960feaabb4362e5ce06', 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: 'bcda502ffeb35d839f990bb20dba6a87b327448d', role: "separator", class: "divider" })), ((_x = this.metaNav) === null || _x === void 0 ? void 0 : _x.IsManager) && (h("li", { key: 'eb60e547efa4f88c177c8e9591fc28132531f298' }, h("a", { key: 'f7901f6d7333795dd3c05d90931d4b869d2ae122', onClick: () => this.toggleUserMenu() }, h("i", { key: 'fef7199e53cb81747188f24f9657ed9cdc0bab2b', class: "fa fa-user" }), "\u00A0Mein Crossvertise \u00A0", h("span", { key: 'f21a94142954e8b7c898925fb53a5a1ffc683ab4', class: "badge" }, (_y = this.metaNav) === null || _y === void 0 ? void 0 : _y.PendingItems), h("i", { key: '47291adb682ccff5055c5631115a91d81bc2c9d7', 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: '26d30240826d6fff7c573f45ff91299876ffaae7', class: 'user-menu-item' }, h("a", { key: '737532f7e0451cc7d61af24a24350c7dc9fc8521', href: (_4 = (_3 = this.metaNav) === null || _3 === void 0 ? void 0 : _3.ImpersonationInfo) === null || _4 === void 0 ? void 0 : _4.ClearImpersonationUrl }, h("i", { key: '08a5dcdc4a9f4a8e7387cc11b1f1b292c07cceae', class: "fa fa-exchange-alt" }), "Kundenperspektive verlassen"))), ((_5 = this.metaNav) === null || _5 === void 0 ? void 0 : _5.IsManager) && (h("li", { key: '727100ca5c10111a333625b12a140a5b3307c151', 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: 'a532cad8132e89e37cd7cacebef0722fb414d47f' }, h("a", { key: '0fe90286367e167d89835d8a6dd854e2cff57548', href: "/de-de/mycrossvertise/account/logoff?returnUrl=/" }, h("i", { key: '1d2f654856f0d92980c23ad74eed4d9c01447973', class: "fa fa-sign-out-alt fa-fw", "aria-hidden": "true" }), "Logout"))))), h("li", { key: 'e2dd0ad580900a2f1b79c0759ca1f2c96af24e66', class: "visible-sm-block visible-xs-block hidden-xxs" }, h("a", { key: 'f2e58f3613ea961fed80d618a0266bc23beed726', class: "btn btn-default navbar-btn btn-link", "data-toggle": "collapse", "data-target": "#search-collapse" }, h("i", { key: '20266c2be2b2a663bc5b958d2b2f6a9b673a2617', class: "fa fa-search", "aria-hidden": "true" }))), !((_8 = this.metaNav) === null || _8 === void 0 ? void 0 : _8.IsAuthenticated) && (h("li", { key: '8ad31eb85e8973e7883b3a4cb0ff851ed6f8b692', class: "hidden-md hidden-lg" }, h("a", { key: '39d62356a69b522489ebc0b3643b700921ed8053', class: "btn btn-default navbar-btn btn-link mob-login", href: "/de-de/mycrossvertise/account/logon" }, h("i", { key: '01d5ab062c5781fe541532f7514d33cfb79e937f', class: "fa fa-user fa-lg", "aria-hidden": "true" })))), h("xv-login-modal", { key: 'ee55526aa5eec8d83fad390251a47031a6784839', visible: this.showLoginModal, onClose: this.closeLoginModal }), !((_9 = this.metaNav) === null || _9 === void 0 ? void 0 : _9.IsAuthenticated) && (h("li", { key: '4590fa557ec1653a6d9b5a6a224be09c8384a9a2', class: "hidden-xs hidden-sm" }, h("a", { key: 'b975ca963fde187d094932a997b92eaa3be7aa7b', role: "button", onClick: this.openLoginModal, class: "btn btn-default navbar-btn btn-link" }, h("i", { key: '733fdd8facb5fbb11379b387e854743def9919c0', class: "fa fa-user fa-lg", "aria-hidden": "true" }), h("span", { key: '6a7af8fda262b425d4f1a284f770fdfb0817f32e', class: "padding-sm-left" }, "Login")))), !((_10 = this.metaNav) === null || _10 === void 0 ? void 0 : _10.IsAuthenticated) && (h("li", { key: '703609804d1f4c17527db1baacf3f4ce0537b2a6', class: "hidden-xs" }, h("a", { key: 'b95dc6461816429035de81e6b70e014efa93e428', class: "btn btn-default navbar-btn btn-link", href: "/de-de/mycrossvertise/account/register" }, h("span", { key: '1f780812a8a1506448c5c59ee3dfc27f6f353ab4' }, "Registrieren")))), h("li", { key: '8a4988a9801c5771b26306a83f704471728b7936', class: "navbar-divider hidden-xs" }), h("li", { key: 'f824616d840290dc08d542b8e6ba8438097aa1c2' }, h("a", { key: '4300f2d33f86c4155e58cbf1be334312270cb3fe', class: "btn btn-success navbar-btn", href: "/angular/shopping-cart" }, h("span", { key: 'a4f2a6d27ba1040c8890b323a28a759bc77225d5', class: "xv-font-icon-warenkorb fa-lg fa-fw", "aria-hidden": "true" }), h("span", { key: '8a5ae8e82f042c1bfc31ead49b452445dc5d8aef', class: "hidden-xs hidden-sm" }, "\u00A0Warenkorb\u00A0"), h("span", { key: 'd616dd02dde0a0c02e6c4a889c33c0d6b852a40f', 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: '2a240df391c038a1171ff45de84864217e636471', class: "collapse hidden-md hidden-lg", id: "search-collapse" }, h("div", { key: '3b3aed19df1154fab8243e4f4381741db74353bd', class: "container" }, h("form", { key: 'fc964ea660a1b8f4240264c1c3dd9987af856224', action: "/de-de/media/search", class: "navbar-form", method: "get", role: "search" }, h("div", { key: '8c5bd58cf70cefb2252675a2931d956e6f588123', class: "input-group" }, h("input", { key: '200823c85d7abf4d5eb2c507a47786d04377c6b8', class: "form-control", name: "Q", placeholder: "Suche", type: "text", autocomplete: "off" }), h("span", { key: '39f0760ba3c5f9a4ddedcebaeb55db484a9d43ef', class: "input-group-btn force-full-width" }, h("button", { key: 'f4403ce2827e29caeff209f863f3686545f0c4d4', class: "btn btn-default search-addon", type: "submit" }, h("i", { key: 'fa9b70070f4251cb2cb6726d87190a0809245516', class: "fa fa-search", "aria-hidden": "true" })))))))), h("div", { key: 'dd74bb17a34ae9371c7ec3910e86e624aab29c7f', innerHTML: this.htmlContent }), h("ul", { key: '67abfa5c5f48398eb73eeb6325a927d26f5e367d', class: "ui-autocomplete ui-front ui-menu ui-widget ui-widget-content ui-corner-all", id: "xv-search-suggestions", tabindex: "0", style: {
162
162
  width: `${(_13 = this.listPosition) === null || _13 === void 0 ? void 0 : _13.width}px`,
163
163
  top: `${(_14 = this.listPosition) === null || _14 === void 0 ? void 0 : _14.top}px`,
164
164
  left: `${(_15 = this.listPosition) === null || _15 === void 0 ? void 0 : _15.left}px`,
@@ -99,8 +99,6 @@
99
99
 
100
100
  :host(.xv-link_inline) {
101
101
  display: inline-block;
102
- }
103
- :host(.xv-link_inline) .xv-link {
104
102
  text-decoration-line: underline;
105
103
  text-decoration-style: solid;
106
104
  text-decoration-skip-ink: none;
@@ -112,19 +110,28 @@
112
110
  :host(.xv-link_standalone) {
113
111
  display: block;
114
112
  }
115
- :host(.xv-link_standalone) .xv-link {
116
- display: block;
117
- text-decoration-line: none;
113
+
114
+ :host(.xv-link_standalone:hover),
115
+ :host(.xv-link_standalone:focus),
116
+ :host(.xv-link_standalone:active) {
117
+ text-decoration-line: underline;
118
+ text-decoration-style: solid;
119
+ text-decoration-skip-ink: none;
120
+ text-decoration-thickness: auto;
121
+ text-underline-offset: auto;
122
+ text-underline-position: from-font;
118
123
  }
119
124
 
120
125
  :host(.xv-link_ghost) .xv-link {
121
- display: contents;
122
126
  color: inherit;
123
- text-decoration: none;
127
+ }
128
+
129
+ :host(.disabled) {
130
+ text-decoration: none !important;
124
131
  }
125
132
 
126
133
  .xv-link {
127
- display: inline-flex;
134
+ display: contents;
128
135
  gap: 8px;
129
136
  align-items: center;
130
137
  color: var(--link-primary);
@@ -132,12 +139,13 @@
132
139
  font-style: normal;
133
140
  font-weight: 400;
134
141
  transition: color 200ms ease-in-out;
142
+ text-decoration: none;
135
143
  }
136
144
  .xv-link:active {
137
145
  color: var(--text-primary);
138
146
  }
139
147
  .xv-link:visited {
140
- color: var(--link-visted);
148
+ color: var(--link-visited);
141
149
  }
142
150
  .xv-link:hover {
143
151
  color: var(--link-primary-hover);
@@ -148,6 +156,10 @@
148
156
  pointer-events: none;
149
157
  cursor: initial;
150
158
  }
159
+ .xv-link:focus {
160
+ outline: 1px solid var(--focus);
161
+ outline-offset: 1px;
162
+ }
151
163
  .xv-link.sm {
152
164
  font-size: var(--fz-sm);
153
165
  line-height: 137.5%;
@@ -12,7 +12,7 @@ export class XvLink {
12
12
  e.stopPropagation();
13
13
  }
14
14
  render() {
15
- return (h(Host, { key: '9fd6c22071dba548a00a8ea1c73f830b366c6d6b', class: `xv-link_${this.variant}` }, h("a", { key: 'ff4351ffd4ca0a7aad5f7743ccacd72381273333', href: this.href, onClick: this.preventLinkHandler.bind(this), class: `xv-link ${this.disabled ? 'xv-link_disabled' : ''} ${this.size}`, target: this.target }, h("slot", { key: '3d0d9059134c999541ed0a8dd5718ee0e56b6a0f', name: "icon-left" }), h("slot", { key: '1330115682c61fa1bb0833098e35118eda7dbbd4' }), h("slot", { key: '5b8d9d7fbc617688f4154a1e46c5298abb7e3a07', name: "icon-right" }))));
15
+ return (h(Host, { key: '665497b358e7f87f58c1a85600f767d4386915b4', class: { [`xv-link_${this.variant}`]: true, disabled: !!this.disabled } }, h("a", { key: '2af50daaf341b95fefc9e2421fdff3600e588ad5', href: this.href, onClick: this.preventLinkHandler.bind(this), class: `xv-link ${this.disabled ? 'xv-link_disabled' : ''} ${this.size}`, target: this.target }, h("slot", { key: '7b305021247807c23c4ff61907d57053780e9f4b', name: "icon-left" }), h("slot", { key: '1c2ae94ea4dfe8b685bad6aad6e4b2ed818738f4' }), h("slot", { key: '924a2ef498cba34ca379ec6d1382600dc4745779', name: "icon-right" }))));
16
16
  }
17
17
  static get is() { return "xv-link-v2"; }
18
18
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"xv-link.js","sourceRoot":"","sources":["../../../src/components/xv-link/xv-link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAOzD,MAAM,OAAO,MAAM;IALnB;QAQU,aAAQ,GAAY,KAAK,CAAC;QAC1B,SAAI,GAAuB,IAAI,CAAC;QAChC,YAAO,GAAsC,QAAQ,CAAC;KA2B/D;IAzBC,kBAAkB,CAAC,CAAe;QAChC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE3B,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;IACtB,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,WAAW,IAAI,CAAC,OAAO,EAAE;YACpC,0DACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAC3C,KAAK,EAAE,WAAW,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,EACxE,MAAM,EAAE,IAAI,CAAC,MAAM;gBAEnB,6DAAM,IAAI,EAAC,WAAW,GAAQ;gBAE9B,8DAAa;gBAEb,6DAAM,IAAI,EAAC,YAAY,GAAQ,CAC7B,CACC,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'xv-link-v2',\n styleUrl: 'xv-link.scss',\n shadow: true,\n})\nexport class XvLink {\n @Prop() href: string;\n @Prop() target: '_self' | '_blank' | '_parent' | '_top';\n @Prop() disabled: boolean = false;\n @Prop() size: 'sm' | 'md' | 'lg' = 'md';\n @Prop() variant: 'standalone' | 'inline' | 'ghost' = 'inline';\n\n preventLinkHandler(e: PointerEvent) {\n if (!this.disabled) return;\n\n e.preventDefault();\n e.stopPropagation();\n }\n\n render() {\n return (\n <Host class={`xv-link_${this.variant}`}>\n <a\n href={this.href}\n onClick={this.preventLinkHandler.bind(this)}\n class={`xv-link ${this.disabled ? 'xv-link_disabled' : ''} ${this.size}`}\n target={this.target}\n >\n <slot name=\"icon-left\"></slot>\n\n <slot></slot>\n\n <slot name=\"icon-right\"></slot>\n </a>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"xv-link.js","sourceRoot":"","sources":["../../../src/components/xv-link/xv-link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAOzD,MAAM,OAAO,MAAM;IALnB;QAQU,aAAQ,GAAY,KAAK,CAAC;QAC1B,SAAI,GAAuB,IAAI,CAAC;QAChC,YAAO,GAAsC,QAAQ,CAAC;KA2B/D;IAzBC,kBAAkB,CAAC,CAAe;QAChC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE3B,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,CAAC,CAAC,eAAe,EAAE,CAAC;IACtB,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,EAAE,CAAC,WAAW,IAAI,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC3E,0DACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAC3C,KAAK,EAAE,WAAW,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,EACxE,MAAM,EAAE,IAAI,CAAC,MAAM;gBAEnB,6DAAM,IAAI,EAAC,WAAW,GAAQ;gBAE9B,8DAAa;gBAEb,6DAAM,IAAI,EAAC,YAAY,GAAQ,CAC7B,CACC,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'xv-link-v2',\n styleUrl: 'xv-link.scss',\n shadow: true,\n})\nexport class XvLink {\n @Prop() href: string;\n @Prop() target: '_self' | '_blank' | '_parent' | '_top';\n @Prop() disabled: boolean = false;\n @Prop() size: 'sm' | 'md' | 'lg' = 'md';\n @Prop() variant: 'standalone' | 'inline' | 'ghost' = 'inline';\n\n preventLinkHandler(e: PointerEvent) {\n if (!this.disabled) return;\n\n e.preventDefault();\n e.stopPropagation();\n }\n\n render() {\n return (\n <Host class={{ [`xv-link_${this.variant}`]: true, disabled: !!this.disabled }}>\n <a\n href={this.href}\n onClick={this.preventLinkHandler.bind(this)}\n class={`xv-link ${this.disabled ? 'xv-link_disabled' : ''} ${this.size}`}\n target={this.target}\n >\n <slot name=\"icon-left\"></slot>\n\n <slot></slot>\n\n <slot name=\"icon-right\"></slot>\n </a>\n </Host>\n );\n }\n}\n"]}
@@ -91,7 +91,7 @@ export class XvLoginModal {
91
91
  renderPasswordLogin() {
92
92
  if (!this.passwordLoginEnabled)
93
93
  return null;
94
- return (h("label", { class: "pull-right spacer" }, h("a", { href: "/de-de/mycrossvertise/account/lostpassword", target: "_blank", rel: "noopener" }, "Passwort vergessen?")));
94
+ return (h("label", { class: "pull-right spacer" }, h("a", { href: "/de-de/mycrossvertise/account/lostpassword" }, "Passwort vergessen?")));
95
95
  }
96
96
  renderOAuthProviders() {
97
97
  if (!this.oauthLoginEnabled)
@@ -1 +1 @@
1
- {"version":3,"file":"xv-login-modal.js","sourceRoot":"","sources":["../../../src/components/xv-login-modal/xv-login-modal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, h, Prop, State } from '@stencil/core';\n\ntype OAuthProvider = {\n displayName: string;\n providerName: string;\n icon: string;\n buttonClass: string;\n};\n\n@Component({\n tag: 'xv-login-modal',\n styleUrl: 'xv-login-modal.scss',\n shadow: true,\n})\nexport class XvLoginModal {\n @Prop() visible: boolean = false;\n @Event() close: EventEmitter<void>;\n @State() oauthProviders: OAuthProvider[] = [];\n @State() bookNow: boolean = false;\n @State() returnUrl: string = '/';\n @State() passwordLoginEnabled: boolean = true;\n @State() oauthLoginEnabled: boolean = true;\n @State() passwordRegistrationEnabled: boolean = true;\n @State() configurationName: string = 'Xv';\n @State() xvMvcConfigName: string = 'Xv';\n @State() contactUrl: string = 'https://sitefinity-qa.crossvertise.com/ueber-uns/kontakt';\n metaNav: any;\n\n componentWillLoad() {\n this.fetchMetaNav();\n this.setReturnUrl();\n this.readMetaNavCookie();\n this.oauthProviders = [\n {\n displayName: 'Google',\n providerName: 'Google',\n icon: 'fa fa-google',\n buttonClass: 'btn btn-block btn-google-primary btn-primary',\n },\n ];\n }\n\n private setReturnUrl() {\n const params = new URLSearchParams(window.location.search);\n let url = params.get('returnUrl') || window.location.href;\n if (url.toLowerCase().includes('resetpassword')) {\n url = '/';\n }\n this.returnUrl = url;\n }\n\n private async fetchMetaNav() {\n try {\n const response = await fetch('/de-de/home/getpersonalareajson', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n });\n const metaNav = await response.json();\n localStorage.setItem('metaNav', JSON.stringify(metaNav));\n this.metaNav = metaNav;\n } catch (e) {\n console.warn('Could not fetch metaNav:', e);\n }\n }\n\n private readMetaNavCookie() {\n if (!this.metaNav) this.metaNav = JSON.parse(localStorage.getItem('metaNav') || '{}');\n\n if (!this.metaNav) return;\n\n try {\n const metaNavObj = this.metaNav;\n this.passwordLoginEnabled = !!metaNavObj.PasswordLoginEnabled;\n this.oauthLoginEnabled = !!metaNavObj.oauthLoginEnabled;\n this.passwordRegistrationEnabled = !!metaNavObj.PasswordRegistrationEnabled;\n this.configurationName = metaNavObj.ConfigurationName;\n this.xvMvcConfigName = metaNavObj.XvMvcConfigName;\n this.contactUrl = metaNavObj.ContactUrl;\n } catch (e) {\n console.warn('Could not parse metaNav cookie:', e);\n }\n }\n\n private handleClose = () => {\n this.close.emit();\n };\n\n private renderPasswordLogin() {\n if (!this.passwordLoginEnabled) return null;\n return (\n <label class=\"pull-right spacer\">\n <a href=\"/de-de/mycrossvertise/account/lostpassword\" target=\"_blank\" rel=\"noopener\">\n Passwort vergessen?\n </a>\n </label>\n );\n }\n\n private renderOAuthProviders() {\n if (!this.oauthLoginEnabled) return null;\n return (\n <div class=\"row\">\n <div class=\"col-xs-12\">\n <div class=\"col-xs-12\">\n <div class=\"row spacer spacer-bottom\">\n <div class=\"col-xs-5\"><hr /></div>\n <div class=\"col-xs-2 text-center placeholder\">oder</div>\n <div class=\"col-xs-5\"><hr /></div>\n <div class=\"col-xs-12\">\n <span>Alternative Anmeldung:</span>\n </div>\n </div>\n </div>\n <div class=\"col-sm-12\">\n <div class=\"col-xs-12 no-padding-right\">\n <form\n method=\"POST\"\n class=\"spacer\"\n action=\"/de-de/mycrossvertise/account/externallogin\"\n >\n <div class=\"row\">\n {this.oauthProviders.map(provider => (\n <div class=\"col-xs-6 col-sm-3 no-padding-left padding-bottom-10 center-cell\">\n <button\n type=\"submit\"\n style={{ maxWidth: '125px' }}\n name=\"provider\"\n class={`cell-content btn btn-primary ${provider.buttonClass} btn-block`}\n value={provider.providerName}\n title={`Mit ${provider.displayName} anmelden`}\n >\n <i class={`${provider.icon} pull-left`}></i>\n <span>{provider.displayName}</span>\n </button>\n </div>\n ))}\n </div>\n <input type=\"hidden\" name=\"BookNow\" value={this.bookNow.toString()} />\n </form>\n </div>\n </div>\n </div>\n </div>\n );\n }\n\n private renderFooter() {\n if (!this.passwordRegistrationEnabled && this.configurationName !== this.xvMvcConfigName) return null;\n return (\n <div class=\"modal-footer\">\n <div class=\"col-sm-12 text-left\">\n {this.passwordRegistrationEnabled && (\n <div>\n Neuer Kunde? \n <a\n href={`/de-de/mycrossvertise/account/register?returnUrl=${encodeURIComponent(this.returnUrl)}`}\n >\n Jetzt kostenlos registrieren!\n </a>\n </div>\n )}\n {this.configurationName === this.xvMvcConfigName && (\n <div>\n <div class=\"spacer\">Sie sind bereits registriert, können sich aber nicht einloggen?</div>\n <div>\n <a href={this.contactUrl}>Kontaktieren Sie uns</a>, wir kümmern uns darum.\n </div>\n </div>\n )}\n </div>\n </div>\n );\n }\n\n private handleSubmit = async (e: Event) => {\n e.preventDefault();\n const form = e.target as HTMLFormElement;\n const formData = new FormData(form);\n \n try {\n const response = await fetch(form.action, {\n method: 'POST',\n body: formData\n });\n \n if (response.ok) {\n await this.fetchMetaNav();\n window.location.reload();\n }\n } catch (error) {\n console.error('Login failed:', error);\n }\n };\n\n render() {\n if (!this.visible) return null;\n return (\n <div class=\"modal show\" style={{ display: 'block' }} id=\"login-modal\" tabIndex={-1} role=\"dialog\">\n <div class=\"modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <div class=\"row\">\n <div class=\"col-sm-10\">\n <div class=\"col-xs-12\">\n <h4 class=\"modal-title\">Logindaten</h4>\n </div>\n </div>\n <div class=\"col-xs-1 pull-right\">\n <button onClick={this.handleClose} type=\"button\" class=\"close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n </div>\n </div>\n <div class=\"modal-body\">\n <div class=\"row\">\n <div class=\"col-sm-12\">\n <form\n autoComplete=\"off\"\n id=\"logon-modal-form\"\n action={`/de-de/mycrossvertise/account/logon?returnUrl=${encodeURIComponent(this.returnUrl)}`}\n method=\"post\"\n class=\"spacer\"\n onSubmit={this.handleSubmit}\n >\n <input type=\"hidden\" name=\"returnUrl\" value={this.returnUrl} />\n <div class=\"form-group spacer-bottom\">\n <div class=\"control-label col-xs-12\">\n <label htmlFor=\"LoginPopup.UserName\">E-Mail</label>\n <strong class=\"text-danger\">*</strong>\n </div>\n <div class=\"col-xs-12\">\n <input class=\"form-control\" id=\"userName\" name=\"UserName\" type=\"text\" tabIndex={1} />\n </div>\n </div>\n <div class=\"form-group spacer\">\n <div class=\"control-label col-xs-6\">\n <label class=\"spacer\" htmlFor=\"LoginPopup.Password\">Passwort</label>\n <strong class=\"text-danger spacer\">*</strong>\n </div>\n <div class=\"col-xs-6\">\n {this.renderPasswordLogin()}\n </div>\n <div class=\"col-xs-12\">\n <input class=\"form-control\" id=\"password\" name=\"Password\" type=\"password\" tabIndex={2} />\n </div>\n </div>\n <div class=\"form-group spacer\">\n <div class=\"col-xs-12\">\n <button class=\"btn btn-primary btn-lg btn-block spacer\" type=\"submit\" tabIndex={3}>\n Anmelden\n </button>\n </div>\n </div>\n <div class=\"form-group\">\n <div class=\"checkbox col-xs-12\">\n <label htmlFor=\"RememberMe\">\n <input id=\"RememberMe\" name=\"RememberMe\" type=\"checkbox\" value=\"true\" />\n Angemeldet bleiben?\n </label>\n </div>\n </div>\n </form>\n </div>\n </div>\n {this.renderOAuthProviders()}\n </div>\n {this.renderFooter()}\n </div>\n </div>\n </div>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"xv-login-modal.js","sourceRoot":"","sources":["../../../src/components/xv-login-modal/xv-login-modal.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, h, Prop, State } from '@stencil/core';\n\ntype OAuthProvider = {\n displayName: string;\n providerName: string;\n icon: string;\n buttonClass: string;\n};\n\n@Component({\n tag: 'xv-login-modal',\n styleUrl: 'xv-login-modal.scss',\n shadow: true,\n})\nexport class XvLoginModal {\n @Prop() visible: boolean = false;\n @Event() close: EventEmitter<void>;\n @State() oauthProviders: OAuthProvider[] = [];\n @State() bookNow: boolean = false;\n @State() returnUrl: string = '/';\n @State() passwordLoginEnabled: boolean = true;\n @State() oauthLoginEnabled: boolean = true;\n @State() passwordRegistrationEnabled: boolean = true;\n @State() configurationName: string = 'Xv';\n @State() xvMvcConfigName: string = 'Xv';\n @State() contactUrl: string = 'https://sitefinity-qa.crossvertise.com/ueber-uns/kontakt';\n metaNav: any;\n\n componentWillLoad() {\n this.fetchMetaNav();\n this.setReturnUrl();\n this.readMetaNavCookie();\n this.oauthProviders = [\n {\n displayName: 'Google',\n providerName: 'Google',\n icon: 'fa fa-google',\n buttonClass: 'btn btn-block btn-google-primary btn-primary',\n },\n ];\n }\n\n private setReturnUrl() {\n const params = new URLSearchParams(window.location.search);\n let url = params.get('returnUrl') || window.location.href;\n if (url.toLowerCase().includes('resetpassword')) {\n url = '/';\n }\n this.returnUrl = url;\n }\n\n private async fetchMetaNav() {\n try {\n const response = await fetch('/de-de/home/getpersonalareajson', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json'\n }\n });\n const metaNav = await response.json();\n localStorage.setItem('metaNav', JSON.stringify(metaNav));\n this.metaNav = metaNav;\n } catch (e) {\n console.warn('Could not fetch metaNav:', e);\n }\n }\n\n private readMetaNavCookie() {\n if (!this.metaNav) this.metaNav = JSON.parse(localStorage.getItem('metaNav') || '{}');\n\n if (!this.metaNav) return;\n\n try {\n const metaNavObj = this.metaNav;\n this.passwordLoginEnabled = !!metaNavObj.PasswordLoginEnabled;\n this.oauthLoginEnabled = !!metaNavObj.oauthLoginEnabled;\n this.passwordRegistrationEnabled = !!metaNavObj.PasswordRegistrationEnabled;\n this.configurationName = metaNavObj.ConfigurationName;\n this.xvMvcConfigName = metaNavObj.XvMvcConfigName;\n this.contactUrl = metaNavObj.ContactUrl;\n } catch (e) {\n console.warn('Could not parse metaNav cookie:', e);\n }\n }\n\n private handleClose = () => {\n this.close.emit();\n };\n\n private renderPasswordLogin() {\n if (!this.passwordLoginEnabled) return null;\n return (\n <label class=\"pull-right spacer\">\n <a href=\"/de-de/mycrossvertise/account/lostpassword\">\n Passwort vergessen?\n </a>\n </label>\n );\n }\n\n private renderOAuthProviders() {\n if (!this.oauthLoginEnabled) return null;\n return (\n <div class=\"row\">\n <div class=\"col-xs-12\">\n <div class=\"col-xs-12\">\n <div class=\"row spacer spacer-bottom\">\n <div class=\"col-xs-5\"><hr /></div>\n <div class=\"col-xs-2 text-center placeholder\">oder</div>\n <div class=\"col-xs-5\"><hr /></div>\n <div class=\"col-xs-12\">\n <span>Alternative Anmeldung:</span>\n </div>\n </div>\n </div>\n <div class=\"col-sm-12\">\n <div class=\"col-xs-12 no-padding-right\">\n <form\n method=\"POST\"\n class=\"spacer\"\n action=\"/de-de/mycrossvertise/account/externallogin\"\n >\n <div class=\"row\">\n {this.oauthProviders.map(provider => (\n <div class=\"col-xs-6 col-sm-3 no-padding-left padding-bottom-10 center-cell\">\n <button\n type=\"submit\"\n style={{ maxWidth: '125px' }}\n name=\"provider\"\n class={`cell-content btn btn-primary ${provider.buttonClass} btn-block`}\n value={provider.providerName}\n title={`Mit ${provider.displayName} anmelden`}\n >\n <i class={`${provider.icon} pull-left`}></i>\n <span>{provider.displayName}</span>\n </button>\n </div>\n ))}\n </div>\n <input type=\"hidden\" name=\"BookNow\" value={this.bookNow.toString()} />\n </form>\n </div>\n </div>\n </div>\n </div>\n );\n }\n\n private renderFooter() {\n if (!this.passwordRegistrationEnabled && this.configurationName !== this.xvMvcConfigName) return null;\n return (\n <div class=\"modal-footer\">\n <div class=\"col-sm-12 text-left\">\n {this.passwordRegistrationEnabled && (\n <div>\n Neuer Kunde? \n <a\n href={`/de-de/mycrossvertise/account/register?returnUrl=${encodeURIComponent(this.returnUrl)}`}\n >\n Jetzt kostenlos registrieren!\n </a>\n </div>\n )}\n {this.configurationName === this.xvMvcConfigName && (\n <div>\n <div class=\"spacer\">Sie sind bereits registriert, können sich aber nicht einloggen?</div>\n <div>\n <a href={this.contactUrl}>Kontaktieren Sie uns</a>, wir kümmern uns darum.\n </div>\n </div>\n )}\n </div>\n </div>\n );\n }\n\n private handleSubmit = async (e: Event) => {\n e.preventDefault();\n const form = e.target as HTMLFormElement;\n const formData = new FormData(form);\n \n try {\n const response = await fetch(form.action, {\n method: 'POST',\n body: formData\n });\n \n if (response.ok) {\n await this.fetchMetaNav();\n window.location.reload();\n }\n } catch (error) {\n console.error('Login failed:', error);\n }\n };\n\n render() {\n if (!this.visible) return null;\n return (\n <div class=\"modal show\" style={{ display: 'block' }} id=\"login-modal\" tabIndex={-1} role=\"dialog\">\n <div class=\"modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <div class=\"row\">\n <div class=\"col-sm-10\">\n <div class=\"col-xs-12\">\n <h4 class=\"modal-title\">Logindaten</h4>\n </div>\n </div>\n <div class=\"col-xs-1 pull-right\">\n <button onClick={this.handleClose} type=\"button\" class=\"close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n </div>\n </div>\n <div class=\"modal-body\">\n <div class=\"row\">\n <div class=\"col-sm-12\">\n <form\n autoComplete=\"off\"\n id=\"logon-modal-form\"\n action={`/de-de/mycrossvertise/account/logon?returnUrl=${encodeURIComponent(this.returnUrl)}`}\n method=\"post\"\n class=\"spacer\"\n onSubmit={this.handleSubmit}\n >\n <input type=\"hidden\" name=\"returnUrl\" value={this.returnUrl} />\n <div class=\"form-group spacer-bottom\">\n <div class=\"control-label col-xs-12\">\n <label htmlFor=\"LoginPopup.UserName\">E-Mail</label>\n <strong class=\"text-danger\">*</strong>\n </div>\n <div class=\"col-xs-12\">\n <input class=\"form-control\" id=\"userName\" name=\"UserName\" type=\"text\" tabIndex={1} />\n </div>\n </div>\n <div class=\"form-group spacer\">\n <div class=\"control-label col-xs-6\">\n <label class=\"spacer\" htmlFor=\"LoginPopup.Password\">Passwort</label>\n <strong class=\"text-danger spacer\">*</strong>\n </div>\n <div class=\"col-xs-6\">\n {this.renderPasswordLogin()}\n </div>\n <div class=\"col-xs-12\">\n <input class=\"form-control\" id=\"password\" name=\"Password\" type=\"password\" tabIndex={2} />\n </div>\n </div>\n <div class=\"form-group spacer\">\n <div class=\"col-xs-12\">\n <button class=\"btn btn-primary btn-lg btn-block spacer\" type=\"submit\" tabIndex={3}>\n Anmelden\n </button>\n </div>\n </div>\n <div class=\"form-group\">\n <div class=\"checkbox col-xs-12\">\n <label htmlFor=\"RememberMe\">\n <input id=\"RememberMe\" name=\"RememberMe\" type=\"checkbox\" value=\"true\" />\n Angemeldet bleiben?\n </label>\n </div>\n </div>\n </form>\n </div>\n </div>\n {this.renderOAuthProviders()}\n </div>\n {this.renderFooter()}\n </div>\n </div>\n </div>\n );\n }\n}\n"]}
@@ -58,7 +58,7 @@ export class XvModal {
58
58
  }
59
59
  render() {
60
60
  var _a;
61
- return (h(Host, { key: '8af9d73964b4bae060163a39229e101e964456e4', role: "dialog", size: this.size, id: this.el.id }, h("slot", { key: '323d6ef5da467a6a587ecdeb4132e8cb4e722e9a', name: "trigger", onSlotchange: this.setupTrigger }), h("div", { key: 'e22a408a2f36ef8c2eda08c61b1a95a1ade54f4f', class: { backdrop: true }, onClick: this.onBackdropClick }, h("div", { key: '8b7090322bc35f41da5aaf9dac992b044646024c', class: "modal" }, h("button", { key: 'f4f1add56baf9c9674ab36e22d589d2781306349', class: "modal_close", onClick: this.closeModal.bind(this) }, "\u00D7"), h("div", { key: 'c73ae92b53a2394486e1eb32434b93e2c093220e', class: "modal_header" }, h("slot", { key: '214beaf6a40e29c7932ed6be03fd0f9c3b42ec08', name: "header" }, ((_a = this.el) === null || _a === void 0 ? void 0 : _a.title) && h("h5", { key: '9d081101199b33dc3e5e855943da66df98e35121', class: "modal_header__title" }, this.el.title))), h("div", { key: '149e06546052145b4a5905c3f9be0e92fc1bfa0c', class: { 'modal_content': true, overflow: this.overflow } }, h("slot", { key: '24364daa353226469153bfcf27ad3fc44b663ab5' })), h("div", { key: '1ff63e807366fb81ee38715dd3f33cee7c6a1a48', class: "modal_footer" }, h("slot", { key: 'dd4061d3594bda60cf25d063b2a8cf230ddfbfa9', name: "footer" })), !!this.loading && (h("div", { key: '6091e43d084514e6227a4c0ffa1c6577524f44f6', class: "loading" }, h("xv-loader-v2", { key: 'bed30813d6b39340d8b396f3092ed62b1b4d7a07', size: SIZE_VAR.LG })))))));
61
+ return (h(Host, { key: '955e4ea0026b0fdb556faf32c052c130f1f0607a', role: "dialog", size: this.size, id: this.el.id }, h("slot", { key: '711de0fcd94f5a9741db426c14a44111205064a2', name: "trigger", onSlotchange: this.setupTrigger }), h("div", { key: 'f99ad60faac1d2ec99046867e19c906d4cd77331', class: { backdrop: true }, onClick: this.onBackdropClick }, h("div", { key: 'd839b8e06067b7234d47538a194b0df64a382c37', class: "modal" }, h("button", { key: '18a399a8c385685df82c8efe5a77463855cc8c98', class: "modal_close", onClick: this.closeModal.bind(this) }, "\u00D7"), h("div", { key: 'de556e7fe987e34895a2f67c603af97d059a1f62', class: "modal_header" }, h("slot", { key: '6a293df642c3345cc96c2cdbce019794fc9383c1', name: "header" }, ((_a = this.el) === null || _a === void 0 ? void 0 : _a.title) && h("h5", { key: '2c8ba4d6c926fddbccb36a2c399afc4e7857d202', class: "modal_header__title" }, this.el.title))), h("div", { key: '37a6b3994d66b7f79d23ac321247c5cfd757ce62', class: { 'modal_content': true, overflow: this.overflow } }, h("slot", { key: '64d73fb4cbeaab5d508fd68cc57567c55f52b631' })), h("div", { key: '32656ac7856f1bf28b1ca53c6d3b258bc63b8ccc', class: "modal_footer" }, h("slot", { key: 'b65e9970deb0ac5ae66146cee88ac123dbf6e02b', name: "footer" })), !!this.loading && (h("div", { key: '89d85d07841b71def836f8f0996288616dfe1f37', class: "loading" }, h("xv-loader-v2", { key: 'ae8b8ef2a404777274e04a94a66df48e8938f307', size: SIZE_VAR.LG })))))));
62
62
  }
63
63
  disconnectedCallback() {
64
64
  this.removeTriggerListener();
@@ -25,7 +25,7 @@ export class XvNotification {
25
25
  };
26
26
  }
27
27
  render() {
28
- return (h(Host, { key: '1a6dbc471ecbf495bb9921f471dd6ffdd3014060', class: "xv-notification", type: this.variant }, this.renderIcon(this.variant), h("div", { key: '20bbe937ca59c726a2762922b20351baab0b5006', class: "content" }, h("div", { key: '366ce72c33f5b73dcc00327847b57c46e03de87e', class: "content_wrapper" }, this.el.title && h("h5", { key: '4505e52eeb5685b31604c310d15d0769a2512a59', class: "content_title" }, this.el.title), h("slot", { key: '76f7e2a875961c43da738a71fa4994c3c0a3a813' })), h("slot", { key: '6dc31ec649d0e917268e6889042a99d09907dadc', name: "footer" })), this.dismissible && h("button", { key: '0e72771f16637148fcbfba5583c7273eb4214153', class: "close", onClick: this.closeHandle })));
28
+ return (h(Host, { key: '6a53f8a56a88dc740ef8248c869cf796f441b015', class: "xv-notification", type: this.variant }, this.renderIcon(this.variant), h("div", { key: 'd9e7f8b233d2737449d793c633b34b8553a1ac0d', class: "content" }, h("div", { key: 'de6c6d2602296dfe772e32e883e5454b9a118e5d', class: "content_wrapper" }, this.el.title && h("h5", { key: '3c3ff5fee090d68174bf85056de1e625a48de158', class: "content_title" }, this.el.title), h("slot", { key: '9f1ec56aadc8dd7541d5ca4c2c86a3fe1d6f2359' })), h("slot", { key: '5cbf8639e2b835e3e3a4ec17a46df1a96cb9c8e8', name: "footer" })), this.dismissible && h("button", { key: '8396b24f57bdcd3a4710667078d10e5ea3d93476', class: "close", onClick: this.closeHandle })));
29
29
  }
30
30
  static get is() { return "xv-notification-v2"; }
31
31
  static get encapsulation() { return "shadow"; }
@@ -32,12 +32,12 @@ export class XvNumberInput {
32
32
  this.valueChange.emit(this.value);
33
33
  }
34
34
  render() {
35
- return (h(Host, { key: 'fb843d1126d7cc0b0d9f9cd4971290088e26650c', class: { disabled: !!this.disabled } }, h("label", { key: '4bc7d0611649abdba69fdc7944adb64c451c1213', class: "control" }, this.label && h("span", { key: '60d067cfe9bb45d75cfb6a701d954ebf047f6a1c', class: "control_label" }, this.label), h("div", { key: '91d4f4a1c7b31caa2f63b84708b7494c99302d7e', class: {
35
+ return (h(Host, { key: '4332de45f87d2a03cea952dbeb6b00d22fe42d33', class: { disabled: !!this.disabled } }, h("label", { key: '6434c0d769aad4b9f1525e2f083ef92b6e6fe911', class: "control" }, this.label && h("span", { key: 'b7bbf9016f18ab23edc16920c3a46ce6b627869c', class: "control_label" }, this.label), h("div", { key: '7177e1f3da02ab4c6ed96107abede4cc118a92b7', class: {
36
36
  'control_input': true,
37
37
  readonly: !!this.readonly,
38
38
  error: !!this.error,
39
39
  warning: !!this.warning
40
- } }, h("input", { key: 'a5ee5c5706184333117a10366aff41a2de5a8f56', type: "number", placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, onInput: this.handleInput, name: this.name, min: this.min, max: this.max, step: this.step, value: this.value }), h("div", { key: '5348367e7e6e33a0433122055f23c6fcd934ad6e', class: "control_input__icons" }, this.loading ? (h("xv-loader-v2", { size: SIZE_VAR.XS })) : !!this.error ? (h("span", { class: "status-icon error", "aria-hidden": "true" }, "!")) : !!this.warning ? (h("span", { class: "status-icon warning", "aria-hidden": "true" }, "\u26A0")) : null, h("xv-button-v2", { key: 'cc6aa33287bf94f4bf6070db679172aa648fac1b', size: this.size, variant: "ghost", disabled: this.disabled || this.readonly, onClick: this.decrement, "aria-label": "Decrease" }, h("span", { key: '9acd7c8b341a0a42ca1cff0d6e9961ae27cf185a', slot: "icon-left", class: "status-icon" }, "\u2212")), h("hr", { key: 'd293ecc41b3aa41d9ce9901d608e528097fd586c' }), h("xv-button-v2", { key: '11347ff040f6d944e3d7a2a29a5bd00efe45ce1c', size: this.size, variant: "ghost", disabled: this.disabled || this.readonly, onClick: this.increment, "aria-label": "Increase" }, h("span", { key: '4dec3d194b4098ebd9e0292a68b4a7841b270b6c', slot: "icon-left", class: "status-icon" }, "+"))))), this.helper && h("p", { key: 'a0e1d480c9143f4ffd675c27d00611a538a7769c', class: "message" }, this.helper), typeof this.error === 'string' ? (h("p", { class: "message error" }, this.error)) : typeof this.warning === 'string' ? (h("p", { class: "message warning" }, this.warning)) : null));
40
+ } }, h("input", { key: '411229455bf9c4ae5e28881fc0a54763ca000510', type: "number", placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, onInput: this.handleInput, name: this.name, min: this.min, max: this.max, step: this.step, value: this.value }), h("div", { key: 'a7ad551b617b3ae31a2651a00d530dcbfa1fdd3c', class: "control_input__icons" }, this.loading ? (h("xv-loader-v2", { size: SIZE_VAR.XS })) : !!this.error ? (h("span", { class: "status-icon error", "aria-hidden": "true" }, "!")) : !!this.warning ? (h("span", { class: "status-icon warning", "aria-hidden": "true" }, "\u26A0")) : null, h("xv-button-v2", { key: 'eb68dd2c86b1ce6d33bb69924ce9f584a5196a48', size: this.size, variant: "ghost", disabled: this.disabled || this.readonly, onClick: this.decrement, "aria-label": "Decrease" }, h("span", { key: 'fc0d691ef1abaf67168f8a1da3e78914a632bed8', slot: "icon-left", class: "status-icon" }, "\u2212")), h("hr", { key: '883f4fd51d869839579dcc816ebba2268c8fa845' }), h("xv-button-v2", { key: '3aec4fcce95d314009f15226f9004d5932623d3d', size: this.size, variant: "ghost", disabled: this.disabled || this.readonly, onClick: this.increment, "aria-label": "Increase" }, h("span", { key: '3a5340385b28adfb61eccc89b67b34f0231dc721', slot: "icon-left", class: "status-icon" }, "+"))))), this.helper && h("p", { key: '9a4dc9943b1e7065cc7779cfb063e10ecfe48742', class: "message" }, this.helper), typeof this.error === 'string' ? (h("p", { class: "message error" }, this.error)) : typeof this.warning === 'string' ? (h("p", { class: "message warning" }, this.warning)) : null));
41
41
  }
42
42
  static get is() { return "xv-number-input-v2"; }
43
43
  static get encapsulation() { return "shadow"; }
@@ -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: '52b73576a826793034adf40e21ec6b1b3924723e', class: "xv-overflow-menu-item", role: "menuitem", disabled: this.disabled }, h("slot", { key: '2442735c71751258ad71cda4f3666005aefe39f2' })));
14
+ return (h(Host, { key: '65fc2c397df35bf70e20ba175f02a331f23926dc', class: "xv-overflow-menu-item", role: "menuitem", disabled: this.disabled }, h("slot", { key: 'aa60dca9ee4c5c468cc92d4cc7706ea2751dbb33' })));
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("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' }))));
51
+ const button = (h("button", { key: '1f5a03f0edb10bf440c56453b352ff8166c3dd8a', class: { btn: true, open: this.open }, onClick: this.onOpenToggle, disabled: this.disabled }, h("slot", { key: '0a26080eaa1210e9b5d5322cc30ea6848de0c08d', name: "trigger" }, h("svg", { key: '3482d1306c2d5040354d58300bad8d42e2f6b044', xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 128 512" }, h("path", { key: 'c2c9b5a299ea6b19d55b8636c0f35bbbd0fcba11', 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: '7a8649dd7246da951efc169e24f1f9bc393a0666', 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: 'd67cddd3034495d829f71e25faeac7ce807d1c17', class: { list: true, open: this.open, [`position-${this.position}`]: true } }, h("slot", { key: 'e2896b9dadb5f8ac596ef1f7f2528f24a67fe45d' }))));
53
53
  }
54
54
  componentDidLoad() {
55
55
  this.openChangeHandle();
@@ -62,7 +62,7 @@ export class XvPagination {
62
62
  this.pageChange.emit({ page: this.page, itemsPerPage: this.itemsPerPage });
63
63
  }
64
64
  render() {
65
- return (h(Host, { key: '4a169f44bdb77a4fe600a63ed4f4efcca8a1eb9a', class: { block: this.block, [this.variant]: !!this.variant, [this.size]: !!this.size } }, this.variant === 'full' && (h("div", { key: '07841d36259a55c14ca31c5cf75ee242672bb5cb', class: "block" }, h("select", { key: '9c08d0fe75125aa7603817139dd1a193e846648a', class: "options-select", name: "options", onChange: this.handleItemsPerPageChange }, this.itemsPerPageOptions.map((v) => v <= this.total && h("option", { value: v }, v))))), this.variant === 'full' && (h("span", { key: 'd60e1f6e69ae59f82d1f3b59d12253b52a5357b0', class: "block block_full" }, `${(this.page - 1) * this.itemsPerPage + 1} – ${Math.min(this.page * this.itemsPerPage, this.totalItems)} von ${this.totalItems} Einträgen`)), this.variant === 'full' && (h("div", { key: 'f2e6350a59961ae79a107164ebdf9eac1d36175d', class: "block" }, h("select", { key: 'c4f65d6ae0cb1ffe86fa9d05aeb9836668d8c04a', class: "options-select", name: "pages", onChange: this.handlePageSelectChange }, Array.from({ length: this.total }, (_, i) => (h("option", { selected: this.page === i + 1, value: i + 1 }, i + 1)))), h("span", { key: 'fdbf4da5164346b225398a5dbee4b2fee36cbb91' }, "von ", this.total, " Seiten"))), this.variant === 'compact' && h("span", { key: 'e8d2d17827bf388199afee5326bea623ff750733', class: "block" }, "Seite ", this.page), h("xv-button-v2", { key: 'ad55130bf1cdfa58778d55e47c8d91718dd7cf3c', variant: "ghost", size: this.size, onClick: () => this.handlePageChange(this.page - 1), disabled: this.page <= 1 }, h("span", { key: '9830b9ec740fdc4d687d2120a471fa9219343b29', slot: "icon-left", class: "icon icon_prev" })), this.variant === 'regular' && (h("ul", { key: '9913e0b38de8bec89323e33f2d37bf6f1bc4696f', class: "list" }, this.visiblePagesWithDots.map((page) => (h("li", { class: { active: this.page === page } }, page === 'dots-start' ? (h("div", { class: "list_dots" }, h("xv-button-v2", { variant: "ghost", size: this.size, tabindex: -1 }, h("span", { slot: "icon-left", class: "list_dots__icon" }, "...")), h("select", { name: "start", onChange: this.handlePageSelectChange }, Array.from({ length: this.page - 3 }, (_, i) => (h("option", { value: i + 2 }, i + 2)))))) : page === 'dots-end' ? (h("div", { class: "list_dots" }, h("xv-button-v2", { variant: "ghost", size: this.size, tabindex: -1 }, h("span", { slot: "icon-left", class: "list_dots__icon" }, "...")), h("select", { name: "end", onChange: this.handlePageSelectChange }, Array.from({ length: this.total - (this.page + 2) }, (_, i) => (h("option", { value: i + this.page + 2 }, i + this.page + 2)))))) : (h("xv-button-v2", { variant: "ghost", size: this.size, disabled: this.page === page, onClick: () => this.handlePageChange(page) }, h("span", { class: "list_page", slot: "icon-left" }, page)))))))), h("xv-button-v2", { key: 'ab355a931fbbca91dad3dbf99a62e7ab49241e1c', variant: "ghost", size: this.size, onClick: () => this.handlePageChange(this.page + 1), disabled: this.page >= this.total }, h("span", { key: '9e3a16d00db09b57a25c0af9fb8f80b5feb6ea51', slot: "icon-left", class: "icon icon_next" }))));
65
+ return (h(Host, { key: 'a4f4e9c94608e459a140236606b413a23aced530', class: { block: this.block, [this.variant]: !!this.variant, [this.size]: !!this.size } }, this.variant === 'full' && (h("div", { key: '954bd92622366fc8c8595d2a70377443646ea4a0', class: "block" }, h("select", { key: '12f40bfc4e21f7d266b509ed9366c9447809a73d', class: "options-select", name: "options", onChange: this.handleItemsPerPageChange }, this.itemsPerPageOptions.map((v) => v <= this.total && h("option", { value: v }, v))))), this.variant === 'full' && (h("span", { key: '83e44dbeb1d5dac1c1c32e643508299364e16c76', class: "block block_full" }, `${(this.page - 1) * this.itemsPerPage + 1} – ${Math.min(this.page * this.itemsPerPage, this.totalItems)} von ${this.totalItems} Einträgen`)), this.variant === 'full' && (h("div", { key: 'e8da956b9ad1a136a7f6927d608d35aac5fe6863', class: "block" }, h("select", { key: '97dcd085d8bb20d6558d66e3f1b1358051adb8c8', class: "options-select", name: "pages", onChange: this.handlePageSelectChange }, Array.from({ length: this.total }, (_, i) => (h("option", { selected: this.page === i + 1, value: i + 1 }, i + 1)))), h("span", { key: '0d9c45b79442ad83bb0cb13feea198c13796297a' }, "von ", this.total, " Seiten"))), this.variant === 'compact' && h("span", { key: '296ee6301bb6123d548ac34b87e49d395dc125a0', class: "block" }, "Seite ", this.page), h("xv-button-v2", { key: '7ca765cb5ba97ebc1fb7a5c54620b2995719d841', variant: "ghost", size: this.size, onClick: () => this.handlePageChange(this.page - 1), disabled: this.page <= 1 }, h("span", { key: '507ce46425c0d16b7874fc35e5fc1257a08547b1', slot: "icon-left", class: "icon icon_prev" })), this.variant === 'regular' && (h("ul", { key: '33be9e42895881a44587f32ee587968daf70ee67', class: "list" }, this.visiblePagesWithDots.map((page) => (h("li", { class: { active: this.page === page } }, page === 'dots-start' ? (h("div", { class: "list_dots" }, h("xv-button-v2", { variant: "ghost", size: this.size, tabindex: -1 }, h("span", { slot: "icon-left", class: "list_dots__icon" }, "...")), h("select", { name: "start", onChange: this.handlePageSelectChange }, Array.from({ length: this.page - 3 }, (_, i) => (h("option", { value: i + 2 }, i + 2)))))) : page === 'dots-end' ? (h("div", { class: "list_dots" }, h("xv-button-v2", { variant: "ghost", size: this.size, tabindex: -1 }, h("span", { slot: "icon-left", class: "list_dots__icon" }, "...")), h("select", { name: "end", onChange: this.handlePageSelectChange }, Array.from({ length: this.total - (this.page + 2) }, (_, i) => (h("option", { value: i + this.page + 2 }, i + this.page + 2)))))) : (h("xv-button-v2", { variant: "ghost", size: this.size, disabled: this.page === page, onClick: () => this.handlePageChange(page) }, h("span", { class: "list_page", slot: "icon-left" }, page)))))))), h("xv-button-v2", { key: 'e474abe0a2230d121614993d006e0013d417d9e1', variant: "ghost", size: this.size, onClick: () => this.handlePageChange(this.page + 1), disabled: this.page >= this.total }, h("span", { key: '44d29e0b1f950abd44bdfe3d315e8d49c2401193', slot: "icon-left", class: "icon icon_next" }))));
66
66
  }
67
67
  static get is() { return "xv-pagination"; }
68
68
  static get encapsulation() { return "shadow"; }
@@ -5,7 +5,7 @@ export class XvProgressIndicatorItem {
5
5
  this.status = PROGRESS_ITEM_STATUS.NO_STARTED;
6
6
  }
7
7
  render() {
8
- return (h(Host, { key: '6d7f6e40bbed6d60731afb883f716cf911593925', status: this.status, class: { 'xv-progress-indicator-item': true } }, h("span", { key: 'e12633afebc77d85ffd39351c0abc4c619cb3ad1', class: "line" }), h("span", { key: 'e822fb95db2630949388193537ccd1f656f9878c', class: "icon" }, h("svg", { key: '4c64d4ed53899217f24cb7d765ba8b93dc237ec4', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512" }, h("path", { key: 'a68876b14e85a91d59cacf6f7f35bbc705e81194', fill: "currentColor", d: "M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z" }))), h("p", { key: '1a021d4c96e5835c79a378e67474c7fcc4b501a7', class: "label" }, h("slot", { key: '5cbe1f8e41050f339df125f969f495d559198214' }))));
8
+ return (h(Host, { key: '5bc510747b817c2bdde57014c464e04686a013c2', status: this.status, class: { 'xv-progress-indicator-item': true } }, h("span", { key: 'b1f9d5e4d8004bdf059eb26ff3186bcf8bef6d72', class: "line" }), h("span", { key: 'a1633457191ebf4d5ef2ff871716d85d0dfa53a1', class: "icon" }, h("svg", { key: '852b5143c88570622242a2c2a2848b76598b9bd6', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512" }, h("path", { key: 'ecdc2051400f192eefd30b09e96fbf52b8b89010', fill: "currentColor", d: "M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z" }))), h("p", { key: '76e25e3aa5edc3689782d07777f848a42f75b194', class: "label" }, h("slot", { key: 'a6efb28cce468f4dcb6e7b80f75a4d53c5a1f11f' }))));
9
9
  }
10
10
  static get is() { return "xv-progress-indicator-v2-item"; }
11
11
  static get encapsulation() { return "shadow"; }
@@ -56,7 +56,7 @@ export class XvProgressIndicator {
56
56
  this.updateChildItems();
57
57
  }
58
58
  render() {
59
- return (h(Host, { key: '0b178eee590a5f2c4de4af88d5651c5556caa790', variant: this.variant, size: this.size, class: { 'xv-progress-indicator': true } }, h("slot", { key: 'd45ae8b656f9ec4cbcd0bcbaef4b0879bc00c2cc' })));
59
+ return (h(Host, { key: '5935f1e6700efa860e3d6ea5ee0ff843d343158c', variant: this.variant, size: this.size, class: { 'xv-progress-indicator': true } }, h("slot", { key: '3539699c4f55e7dd4b09eda266818fdaf778f403' })));
60
60
  }
61
61
  static get is() { return "xv-progress-indicator-v2"; }
62
62
  static get encapsulation() { return "shadow"; }