xv-webcomponents 0.1.39 → 0.1.41

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 (103) hide show
  1. package/dist/cjs/{index-D41mMXvd.js → index-MLh9SbX2.js} +349 -8
  2. package/dist/cjs/index-MLh9SbX2.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/{xv-accordion-v2_27.cjs.entry.js → xv-accordion-v2_33.cjs.entry.js} +2214 -87
  5. package/dist/cjs/xv-accordion-v2_33.cjs.entry.js.map +1 -0
  6. package/dist/cjs/xv-breadcrumbs-v2.cjs.entry.js +1 -1
  7. package/dist/cjs/xv-webcomponents.cjs.js +3 -3
  8. package/dist/cjs/xv-webcomponents.cjs.js.map +1 -1
  9. package/dist/collection/collection-manifest.json +7 -1
  10. package/dist/collection/components/xv-button/xv-button-v2.css +136 -118
  11. package/dist/collection/components/xv-button/xv-button.js +132 -67
  12. package/dist/collection/components/xv-button/xv-button.js.map +1 -1
  13. package/dist/collection/components/xv-card/xv-card.js +1 -1
  14. package/dist/collection/components/xv-checkbox/xv-checkbox.css +3 -0
  15. package/dist/collection/components/xv-checkbox/xv-checkbox.js +1 -1
  16. package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.css +30 -0
  17. package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.js +80 -0
  18. package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.js.map +1 -0
  19. package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.css +4 -0
  20. package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.js +42 -0
  21. package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.js.map +1 -0
  22. package/dist/collection/components/xv-data-table/xv-data-table.css +51 -0
  23. package/dist/collection/components/xv-data-table/xv-data-table.js +130 -0
  24. package/dist/collection/components/xv-data-table/xv-data-table.js.map +1 -0
  25. package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.js +1 -1
  26. package/dist/collection/components/xv-dropdown/xv-dropdown.css +6 -1
  27. package/dist/collection/components/xv-dropdown/xv-dropdown.js +20 -1
  28. package/dist/collection/components/xv-dropdown/xv-dropdown.js.map +1 -1
  29. package/dist/collection/components/xv-file-uploader/_vars.js +6 -0
  30. package/dist/collection/components/xv-file-uploader/_vars.js.map +1 -0
  31. package/dist/collection/components/xv-file-uploader/xv-file-uploader.css +136 -0
  32. package/dist/collection/components/xv-file-uploader/xv-file-uploader.js +448 -0
  33. package/dist/collection/components/xv-file-uploader/xv-file-uploader.js.map +1 -0
  34. package/dist/collection/components/xv-footer/xv-footer.js +1 -1
  35. package/dist/collection/components/xv-header/xv-header.js +1 -1
  36. package/dist/collection/components/xv-link/xv-link.js +1 -1
  37. package/dist/collection/components/xv-modal/xv-modal.js +1 -1
  38. package/dist/collection/components/xv-notification/xv-notification.css +1 -0
  39. package/dist/collection/components/xv-notification/xv-notification.js +1 -1
  40. package/dist/collection/components/xv-number-input/xv-number-input.css +128 -0
  41. package/dist/collection/components/xv-number-input/xv-number-input.js +373 -0
  42. package/dist/collection/components/xv-number-input/xv-number-input.js.map +1 -0
  43. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.js +1 -1
  44. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.js +1 -1
  45. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.js +1 -1
  46. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js +1 -1
  47. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js +1 -1
  48. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js +1 -1
  49. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js +1 -1
  50. package/dist/collection/components/xv-table/xv-table.js +1 -1
  51. package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js +1 -1
  52. package/dist/collection/components/xv-tabs/xv-tabs.js +1 -2
  53. package/dist/collection/components/xv-tabs/xv-tabs.js.map +1 -1
  54. package/dist/collection/components/xv-tag/xv-tag.js +1 -1
  55. package/dist/collection/components/xv-text-input/xv-text-input.css +110 -89
  56. package/dist/collection/components/xv-text-input/xv-text-input.js +113 -80
  57. package/dist/collection/components/xv-text-input/xv-text-input.js.map +1 -1
  58. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.css +95 -0
  59. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.js +201 -0
  60. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.js.map +1 -0
  61. package/dist/collection/components/xv-tooltip/xv-tooltip.css +31 -147
  62. package/dist/collection/components/xv-tooltip/xv-tooltip.js +59 -34
  63. package/dist/collection/components/xv-tooltip/xv-tooltip.js.map +1 -1
  64. package/dist/esm/{index-Datpns0U.js → index-DLYJiP99.js} +349 -8
  65. package/dist/esm/index-DLYJiP99.js.map +1 -0
  66. package/dist/esm/loader.js +3 -3
  67. package/dist/esm/{xv-accordion-v2_27.entry.js → xv-accordion-v2_33.entry.js} +2209 -88
  68. package/dist/esm/xv-accordion-v2_33.entry.js.map +1 -0
  69. package/dist/esm/xv-breadcrumbs-v2.entry.js +1 -1
  70. package/dist/esm/xv-webcomponents.js +4 -4
  71. package/dist/esm/xv-webcomponents.js.map +1 -1
  72. package/dist/types/components/xv-button/xv-button.d.ts +21 -12
  73. package/dist/types/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.d.ts +6 -0
  74. package/dist/types/components/xv-data-table/xv-data-table-row/xv-data-table-row.d.ts +4 -0
  75. package/dist/types/components/xv-data-table/xv-data-table.d.ts +9 -0
  76. package/dist/types/components/xv-dropdown/xv-dropdown.d.ts +1 -0
  77. package/dist/types/components/xv-file-uploader/_vars.d.ts +4 -0
  78. package/dist/types/components/xv-file-uploader/xv-file-uploader.d.ts +36 -0
  79. package/dist/types/components/xv-number-input/xv-number-input.d.ts +26 -0
  80. package/dist/types/components/xv-text-input/xv-text-input.d.ts +10 -11
  81. package/dist/types/components/xv-toggle-tip/xv-toggle-tip.d.ts +19 -0
  82. package/dist/types/components/xv-tooltip/xv-tooltip.d.ts +10 -8
  83. package/dist/types/components.d.ts +605 -49
  84. package/dist/xv-webcomponents/{p-054f5d59.entry.js → p-5b63a259.entry.js} +2 -2
  85. package/dist/xv-webcomponents/p-DLYJiP99.js +3 -0
  86. package/dist/xv-webcomponents/p-DLYJiP99.js.map +1 -0
  87. package/dist/xv-webcomponents/p-ec72208c.entry.js +2 -0
  88. package/dist/xv-webcomponents/p-ec72208c.entry.js.map +1 -0
  89. package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -1
  90. package/dist/xv-webcomponents/xv-webcomponents.esm.js.map +1 -1
  91. package/package.json +6 -4
  92. package/dist/cjs/index-D41mMXvd.js.map +0 -1
  93. package/dist/cjs/xv-accordion-v2_27.cjs.entry.js.map +0 -1
  94. package/dist/collection/components/xv-text-input/_vars.js +0 -7
  95. package/dist/collection/components/xv-text-input/_vars.js.map +0 -1
  96. package/dist/esm/index-Datpns0U.js.map +0 -1
  97. package/dist/esm/xv-accordion-v2_27.entry.js.map +0 -1
  98. package/dist/types/components/xv-text-input/_vars.d.ts +0 -5
  99. package/dist/xv-webcomponents/p-6a4cc790.entry.js +0 -2
  100. package/dist/xv-webcomponents/p-6a4cc790.entry.js.map +0 -1
  101. package/dist/xv-webcomponents/p-Datpns0U.js +0 -3
  102. package/dist/xv-webcomponents/p-Datpns0U.js.map +0 -1
  103. /package/dist/xv-webcomponents/{p-054f5d59.entry.js.map → p-5b63a259.entry.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host, g as getElement, F as Fragment } from './index-Datpns0U.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement, F as Fragment } from './index-DLYJiP99.js';
2
2
  import { u as uidGenerator, f as forEach, s as setAttr } from './index-NvoCloOY.js';
3
3
 
4
4
  const xvAccordionCss = ":host{display:block}";
@@ -65,32 +65,81 @@ const XvAccordionItem = class {
65
65
  };
66
66
  XvAccordionItem.style = xvAccordionItemCss;
67
67
 
68
- const xvButtonV2Css = "@charset \"UTF-8\";:host{--button-font-size:14px;--focus-border-width:2px;--focus-border-style:solid;--button-ghost:tarnsparent;--text-disabled-opacity:0.25;--button-border-radius:3px;--button-border-width:1px;--button-border-style:solid;--button-border-color-accent:#97BF0D;--button-border-color-primary:#273435;--button-border-color-secondary:#D1D1D1;--button-border-color-ghost:tarnsparent;--button-ghost-hover:tarnsparent;--button-ghost-active:rgba(139, 139, 139, 0.5);--button-accent-disabled:#D1D1D1;--button-primary-disabled:#D1D1D1;--button-secondary-disabled:#D1D1D1;--button-tertiary-disabled:tarnsparent;--button-ghost-disabled:tarnsparent;--button-padding-x:20px}:host button{font-family:inherit;font-size:var(--button-font-size, 14px);font-weight:700;padding:0 var(--button-padding-x);min-height:40px;line-height:40px;cursor:pointer;box-sizing:border-box;transition:background-color 0.2s ease-in-out, filter 0.2s ease-in-out, transform 0.1s ease-in-out, border-color 0.2s ease-in-out, border-width 0.2s ease-in-out, box-shadow 0.2s ease-in-out}:host button.xv-button-block{width:100%}.xv-button{}.xv-button.accent{background-color:var(--button-accent);color:var(--text-on-color);border:var(--button-border-width) var(--button-border-style) var(--button-border-color-accent);border-radius:var(--button-border-radius)}.xv-button.accent:hover{background-color:var(--button-accent-hover)}.xv-button.accent:active{background-color:var(--button-accent-active);color:var(--text-on-color)}.xv-button.accent:focus{outline:none;border:var(--focus-border-width) var(--focus-border-style) var(--focus);transition:border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out}.xv-button.accent:disabled{background-color:var(--button-accent-disabled);color:var(--text-on-color-disabled);border:var(--button-border-width) var(--button-border-style) var(--button-accent-disabled)}.xv-button.primary{background-color:var(--button-primary);color:var(--text-on-color);border:var(--button-border-width) var(--button-border-style) var(--button-border-color-primary);border-radius:var(--button-border-radius)}.xv-button.primary:hover{background-color:var(--button-primary-hover)}.xv-button.primary:active{background-color:var(--button-primary-active)}.xv-button.primary:focus{outline:none;border:var(--focus-border-width) var(--focus-border-style) var(--focus);transition:border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out}.xv-button.primary:disabled{background-color:var(--button-primary-disabled);color:var(--text-on-color-disabled);border:var(--button-border-width) var(--button-border-style) var(--button-primary-disabled)}.xv-button.secondary{background-color:var(--button-secondary);color:var(--text-primary);border:var(--button-border-width) var(--button-border-style) var(--button-border-color-secondary);border-radius:var(--button-border-radius)}.xv-button.secondary:hover{background-color:var(--button-secondary-hover)}.xv-button.secondary:active{background-color:var(--button-secondary-active)}.xv-button.secondary:focus{outline:none;border:var(--focus-border-width) var(--focus-border-style) var(--focus);transition:border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out}.xv-button.secondary:disabled{background-color:var(--button-secondary-disabled);color:var(--text-on-color-disabled)}.xv-button.tertiary{background-color:var(--button-ghost);color:var(--text-primary);border:var(--button-border-width) var(--button-border-style) var(--button-tertiary);border-radius:var(--button-border-radius)}.xv-button.tertiary:hover{background-color:var(--button-tertiary-hover)}.xv-button.tertiary:active{background-color:var(--button-tertiary-active)}.xv-button.tertiary:focus{outline:none;border:var(--focus-border-width) var(--focus-border-style) var(--focus);transition:border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out}.xv-button.tertiary:disabled{background-color:var(--button-tertiary-disabled);color:var(--text-disabled);opacity:var(--text-disabled-opacity)}.xv-button.ghost{background-color:var(--button-ghost);color:var(--text-primary);border:var(--button-border-width) var(--button-border-style) var(--button-border-color-ghost);border-radius:var(--button-border-radius)}.xv-button.ghost:hover{background-color:var(--button-ghost-hover)}.xv-button.ghost:active{background-color:var(--button-ghost-active)}.xv-button.ghost:focus{outline:none;border:var(--focus-border-width) var(--focus-border-style) var(--focus);transition:border-color 0.2s ease-in-out}.xv-button.ghost:disabled{background-color:var(--button-ghost-disabled);color:var(--text-disabled);opacity:var(--text-disabled-opacity)}";
68
+ var SIZE_VAR;
69
+ (function (SIZE_VAR) {
70
+ SIZE_VAR["XS"] = "xs";
71
+ SIZE_VAR["SM"] = "sm";
72
+ SIZE_VAR["MD"] = "md";
73
+ SIZE_VAR["LG"] = "lg";
74
+ SIZE_VAR["XL"] = "xl";
75
+ })(SIZE_VAR || (SIZE_VAR = {}));
76
+
77
+ const xvButtonV2Css = ":host{display:inline-block}:host([block]){display:block;width:100%}.xv-button{all:unset;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border-radius:3px;font-size:var(--fz-md);font-family:var(--ff-body, Tahoma);font-style:normal;font-weight:700;line-height:128.571%;letter-spacing:0.16px;cursor:pointer;position:relative;transition:background 0.2s, color 0.2s, border-color 0.2s;user-select:none;width:100%}.xv-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.xv-button--xs{--xv-button-icon-size:16px;padding:var(--spacing-02);height:var(--xv-button-icon-size)}.xv-button--sm{--xv-button-icon-size:32px;padding:var(--spacing-03);height:var(--xv-button-icon-size)}.xv-button--md{--xv-button-icon-size:40px;padding:var(--spacing-04);height:var(--xv-button-icon-size)}.xv-button--lg{--xv-button-icon-size:48px;padding:var(--spacing-05);height:var(--xv-button-icon-size)}.xv-button--xl{--xv-button-icon-size:60px;font-size:1.1em;padding:var(--spacing-06);height:auto}.xv-button--primary{background-color:var(--button-primary);color:var(--text-on-color)}.xv-button--primary:hover{background-color:var(--button-primary-hover)}.xv-button--primary:active{background-color:var(--button-primary-active)}.xv-button--accent{background-color:var(--button-accent);color:var(--text-on-color)}.xv-button--accent:hover{background-color:var(--button-accent-hover)}.xv-button--accent:active{background-color:var(--button-accent-active)}.xv-button--secondary{background-color:var(--button-secondary);border:1px solid var(--border-subtle-01)}.xv-button--secondary:hover{background-color:var(--button-secondary-hover)}.xv-button--secondary:active{background-color:var(--button-secondary-active)}.xv-button--danger{background:var(--support-error);color:white}.xv-button--danger:hover{background-color:#ba1b23}.xv-button--danger:active{background-color:#750e13}.xv-button--danger:disabled{background-color:var(--button-disabled);border-color:transparent;color:var(--text-on-color-disabled, #8B8B8B)}.xv-button--tertiary{background-color:transparent;border:1px solid var(--button-tertiary)}.xv-button--tertiary:hover{background-color:var(--button-tertiary-hover)}.xv-button--tertiary:active{background-color:var(--button-tertiary-active)}.xv-button--tertiary:disabled{color:var(--text-disabled);border-color:var(--button-disabled, #D1D1D1);background-color:transparent}.xv-button--ghost{background-color:transparent;color:var(--text-primary)}.xv-button--ghost:hover{background-color:transparent}.xv-button--ghost:active{background-color:rgba(139, 139, 139, 0.5)}.xv-button--ghost:disabled{color:var(--text-disabled);border-color:transparent;background-color:transparent}.xv-button--primary:disabled,.xv-button--accent:disabled,.xv-button--secondary:disabled,.xv-button--danger:disabled{border-color:var(--border-subtle-01, #D1D1D1);background-color:var(--button-disabled, #D1D1D1);color:var(--text-on-color-disabled, #8B8B8B)}.xv-button--disabled{cursor:not-allowed}.xv-button--loading{pointer-events:none;opacity:0.8}.xv-button__label{display:inline-flex;align-items:center}.xv-button__loader{position:absolute;left:50%;transform:translateX(-50%)}.xv-button__icon{display:inline-flex;align-items:center}.xv-button--icon-left .xv-button__icon--left{margin-inline-end:var(--spacing-05)}.xv-button--icon-right .xv-button__icon--right{margin-inline-start:var(--spacing-05)}.xv-button--icon-only{padding:0;width:var(--xv-button-icon-size, 40px);height:var(--xv-button-icon-size, 40px);justify-content:center}.xv-button--icon-only .xv-button__icon{margin:0}";
69
78
 
70
79
  const XvButton = class {
71
80
  constructor(hostRef) {
72
81
  registerInstance(this, hostRef);
73
- this.buttonClick = createEvent(this, "buttonClick");
74
- /** Button label */
75
- this.label = '';
76
- /** Container width Button */
82
+ if (hostRef.$hostElement$["s-ei"]) {
83
+ this.internals = hostRef.$hostElement$["s-ei"];
84
+ }
85
+ else {
86
+ this.internals = hostRef.$hostElement$.attachInternals();
87
+ hostRef.$hostElement$["s-ei"] = this.internals;
88
+ }
89
+ /** Button variants */
90
+ this.variant = 'primary';
91
+ /** Button size */
92
+ this.size = SIZE_VAR.MD;
93
+ /** Button disabled state */
94
+ this.disabled = false;
95
+ /** Button loading state */
96
+ this.loading = false;
97
+ /** Button for full width */
77
98
  this.block = false;
78
99
  /** Button type */
79
100
  this.type = 'button';
80
- /** Variant */
81
- this.variant = 'primary';
82
- /** Disabled state */
83
- this.disabled = false;
84
- /** Handle click only if not disabled */
85
- this.handleClick = (e) => {
86
- if (this.disabled)
87
- return;
88
- this.buttonClick.emit(e);
101
+ this.hasLeftIcon = false;
102
+ this.hasRightIcon = false;
103
+ this.hasContent = false;
104
+ this.handleSlotChangeLeft = (event) => {
105
+ this.hasLeftIcon = event.target.assignedElements().length > 0;
106
+ };
107
+ this.handleSlotChangeContent = (event) => {
108
+ this.hasContent = event.target.assignedNodes().some(node => {
109
+ var _a;
110
+ return node.nodeType === Node.ELEMENT_NODE ||
111
+ (node.nodeType === Node.TEXT_NODE && ((_a = node.textContent) === null || _a === void 0 ? void 0 : _a.trim()) !== '');
112
+ });
113
+ };
114
+ this.handleSlotChangeRight = (event) => {
115
+ this.hasRightIcon = event.target.assignedElements().length > 0;
116
+ };
117
+ this.handleClick = () => {
118
+ var _a, _b;
119
+ if (this.type === 'submit') {
120
+ (_a = this.internals.form) === null || _a === void 0 ? void 0 : _a.requestSubmit();
121
+ }
122
+ else if (this.type === 'reset') {
123
+ (_b = this.internals.form) === null || _b === void 0 ? void 0 : _b.reset();
124
+ }
89
125
  };
90
126
  }
91
127
  render() {
92
- return (h("button", { key: '4a9a7d9eb8f0b9fb264c03e804fa157d14a15805', type: this.type, part: "button", class: `xv-button ${this.variant} ${this.block ? 'xv-button-block' : ''}`, disabled: this.disabled, onClick: this.handleClick }, h("slot", { key: 'd9102ce481222999d9f1a35b4782b550e1a3179c', name: "icon-left" }), h("slot", { key: '5960e30d35b9d403da9da635414cd4db95f165d6' }, this.label), h("slot", { key: 'aae667909ef6932eaa31a8a6b89165960d0cf8a3', name: "icon-right" })));
128
+ var _a;
129
+ return (h(Host, { key: 'ad8e2051c6023d13626e65861099114e2ff06db2' }, h("button", { key: '1f2b8e13a29a63b3f50ced928a83e92d0eb5c0ea', class: {
130
+ 'xv-button': true,
131
+ [`xv-button--${this.variant}`]: !!this.variant,
132
+ [`xv-button--${this.size}`]: !!this.size,
133
+ 'xv-button--disabled': this.disabled || this.loading,
134
+ 'xv-button--block': this.block,
135
+ 'xv-button--loading': this.loading,
136
+ 'xv-button--icon-left': this.hasLeftIcon,
137
+ 'xv-button--icon-right': this.hasRightIcon,
138
+ 'xv-button--icon-only': !this.hasContent,
139
+ }, part: "button", onClick: this.handleClick, type: this.type, disabled: this.disabled || this.loading, "aria-disabled": this.disabled ? 'true' : undefined, "aria-label": ((_a = this.el) === null || _a === void 0 ? void 0 : _a.ariaLabel) || 'XV button' }, this.loading && (h("xv-loader-v2", { key: 'a7c55e4823b233f845f1a9e5e654f2c98a88001d', class: "xv-button__loader", size: this.size !== SIZE_VAR.XL ? this.size : SIZE_VAR.LG })), h("span", { key: '57f0ced69f7022ba8b602083b69fa2804061ccef', class: "xv-button__icon xv-button__icon--left" }, h("slot", { key: '8c6c0c1a12bfafe6a3674352b5e8ba77e0562eb3', name: "icon-left", onSlotchange: this.handleSlotChangeLeft })), h("span", { key: '8e19d4691b333a0d70a76ed476f59bacfeefa963', class: "xv-button__label" }, h("slot", { key: 'c9d9896b34e3137442b11db5d4f44d097d952d37', onSlotchange: this.handleSlotChangeContent }, this.label)), h("span", { key: '25a3256dff8ec326c081601dd46cff45149a7683', class: "xv-button__icon xv-button__icon--right" }, h("slot", { key: '90505c36d3620fa19c3d01fc1e66cc57e705a8db', name: "icon-right", onSlotchange: this.handleSlotChangeRight })))));
93
140
  }
141
+ static get formAssociated() { return true; }
142
+ get el() { return getElement(this); }
94
143
  };
95
144
  XvButton.style = xvButtonV2Css;
96
145
 
@@ -102,12 +151,12 @@ const XvCard = class {
102
151
  this.variant = 'vertical';
103
152
  }
104
153
  render() {
105
- return (h(Host, { key: '347b7aed9ce24e2e048bb4e6d0b07b23f0f60d5b', class: `xv-card xv-card_${this.variant}`, part: this.variant }, h("div", { key: '9cd9f38cfe7d93fc271907fc8435033df860c246', class: "xv-card_media" }, h("slot", { key: '35e2bae3084a0e7d26e13c0e3116daa9895ea6c1', name: "media" }, this.media && h("img", { key: '60d4305b136766e447653cb399f92ae70e3d9430', class: "xv-card_media__content", src: this.media, alt: this.header }))), h("div", { key: '3751defc0abf18997dca82ae5b5d6601c6e9f60b', class: "xv-card_content" }, h("div", { key: 'cca74475b9e5dba03c82f77851fb503a5323ce3c', class: "xv-card_header" }, h("slot", { key: '02c4e3ddfb73bd56ef8f5b44a22bfe710654171a', name: "header" }, this.header && h("p", { key: '56998aa4742cc7576a023fcbe3e0892f312805ee', class: "xv-card_header__content" }, this.header))), h("div", { key: '86da97df293ff58dbcfe0a2b7bc25c98053ac6a2', class: "xv-card_body" }, h("slot", { key: 'ff8d6dc3ef8e437d28f237c415bf43382df85f19', name: "body" }, this.body && h("p", { key: '7e8e351ac0fa2100fc7929e81cc380a4a32e7019', class: "xv-card_body__content" }, this.header))), h("div", { key: 'dc9824b523f2dbdb4f88dc05ac0e490f9b04f529', class: "xv-card_footer" }, h("slot", { key: 'ea4fbffc436ee2ef43f481be7656aad07dfc55ce', name: "footer" }, this.footer)))));
154
+ return (h(Host, { key: '7c19e1d91f9040c116dc18d6f58be859e66b0629', class: `xv-card xv-card_${this.variant}`, part: this.variant }, h("div", { key: '8ef942983bc31d278810372bfed3fe4cb8f1922a', class: "xv-card_media" }, h("slot", { key: '86bc68bcb80c563a91448c15ab1ebd89c1e5b245', name: "media" }, this.media && h("img", { key: 'c4351a7426b5b73ed37f038f1f355dcf46dae597', class: "xv-card_media__content", src: this.media, alt: this.header }))), h("div", { key: '906393c52bb7c27bfbc9527dfba34f712ec8a420', class: "xv-card_content" }, h("div", { key: 'd703353d99066a4f395f126f0ec8aa462c7a5c7b', class: "xv-card_header" }, h("slot", { key: '4fb9c65d701629dce6f99c8ad871adbd7659ecdd', name: "header" }, this.header && h("p", { key: 'e4a3f971b5dca8cdf3e44c9ba2a37baeff67fd59', class: "xv-card_header__content" }, this.header))), h("div", { key: '7029219d670fe9a94e5c50f657f5f2f2d45a2edb', class: "xv-card_body" }, h("slot", { key: '0f570bb3938b6c44e8cc3fb004ed1d7c487fb5a7', name: "body" }, this.body && h("p", { key: '02fc0abdc52c3a0bf833c0bfe24ec573f1457f21', class: "xv-card_body__content" }, this.header))), h("div", { key: '9734dca4512ace0e29e332acce27bf01c8a05e24', class: "xv-card_footer" }, h("slot", { key: '3cf0141845baf68e0149b823b921705978953ade', name: "footer" }, this.footer)))));
106
155
  }
107
156
  };
108
157
  XvCard.style = xvCardCss;
109
158
 
110
- const xvCheckboxCss = ":host{--checkbox-size:max(1rem, 16px);box-sizing:border-box;display:inline-flex;flex-direction:column}:host([error]) .xv-checkbox .checkmark{border-color:var(--text-error, #D62512)}.error,[name=info]{display:inline-flex;align-items:center;justify-content:flex-start;font-size:var(--fz-sm, 12px);font-family:var(--ff-body, Tahoma);line-height:133.333%;letter-spacing:0.32px}.error{margin-top:var(--gap-xs, 5px);color:var(--text-error, #D62512)}.error::before{margin-right:var(--gap-xs, 5px);content:\"!\";display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:var(--fz-sm, 12px);font-weight:bold;color:white;background-color:var(--text-error, #D62512);border-radius:50%}.xv-checkbox{display:inline-flex;align-items:center;cursor:pointer;user-select:none}.xv-checkbox input[type=checkbox]{position:absolute;width:var(--checkbox-size);height:var(--checkbox-size);margin:0;padding:0;opacity:0;pointer-events:none;box-sizing:border-box}.xv-checkbox .checkmark{width:var(--checkbox-size);min-width:var(--checkbox-size);height:var(--checkbox-size);min-height:var(--checkbox-size);box-sizing:border-box;margin:0;padding:0;border:1.4px solid var(--icon-primary, #D1D1D1);border-radius:2px;background-color:var(--background, #FFF);transition:all 0.2s ease;display:inline-flex;align-items:center;justify-content:center}.xv-checkbox input:checked+.checkmark{background-color:var(--background-brand, #97BF0D);border-color:var(--background-brand, #97BF0D)}.xv-checkbox input:checked+.checkmark:not(.checkmark-partial)::after{content:\"\";width:calc(var(--checkbox-size) / 4);height:calc(var(--checkbox-size) / 2.5);border:solid var(--background, #FFF);margin-bottom:calc(var(--checkbox-size) / 10);border-width:0 2px 2px 0;transform:rotate(45deg);display:block}.xv-checkbox input:checked+.checkmark.checkmark-partial::after{content:\"\";width:calc(var(--checkbox-size) / 3);height:calc(var(--checkbox-size) / 10);background-color:var(--background, #FFF)}.xv-checkbox input:focus+.checkmark{outline:1.4px solid var(--focus, #8B8B8B)}.xv-checkbox .label{color:var(--text-primary, #333);font-family:var(--ff-body, Tahoma);font-size:var(--fz-md, 14px);line-height:128.571%;letter-spacing:0.16px}.xv-checkbox .label_str,.xv-checkbox .label ::slotted(*){margin-left:8px}.xv-checkbox.readonly{cursor:initial}.xv-checkbox.readonly input:checked+.checkmark{background-color:var(--background, #FFF);border:1.4px solid var(--icon-disabled, #D1D1D1)}.xv-checkbox.readonly input:checked+.checkmark:after{border-color:var(--icon-primary, #131313)}.xv-checkbox.readonly input:checked+.checkmark-partial:after{background-color:var(--icon-primary, #131313)}.xv-checkbox.readonly .checkmark{border:1.4px solid var(--icon-disabled, #D1D1D1)}.xv-checkbox.readonly .label{color:var(--text-primary, #333)}.xv-checkbox.disabled{cursor:not-allowed}.xv-checkbox.disabled .checkmark{border:1.4px solid var(--icon-disabled, #D1D1D1)}.xv-checkbox.disabled .label{color:var(--text-disabled, rgba(19, 19, 19, 0.25))}";
159
+ const xvCheckboxCss = ":host{--checkbox-size:max(1rem, 16px);box-sizing:border-box;display:inline-flex;flex-direction:column;overflow:visible !important}:host([error]) .xv-checkbox .checkmark{border-color:var(--text-error, #D62512)}.error,[name=info]{display:inline-flex;align-items:center;justify-content:flex-start;font-size:var(--fz-sm, 12px);font-family:var(--ff-body, Tahoma);line-height:133.333%;letter-spacing:0.32px}.error{margin-top:var(--gap-xs, 5px);color:var(--text-error, #D62512)}.error::before{margin-right:var(--gap-xs, 5px);content:\"!\";display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:var(--fz-sm, 12px);font-weight:bold;color:white;background-color:var(--text-error, #D62512);border-radius:50%}.xv-checkbox{display:inline-flex;align-items:center;cursor:pointer;user-select:none}.xv-checkbox input[type=checkbox]{position:absolute;width:var(--checkbox-size);height:var(--checkbox-size);margin:0;padding:0;opacity:0;pointer-events:none;box-sizing:border-box}.xv-checkbox .checkmark{width:var(--checkbox-size);min-width:var(--checkbox-size);height:var(--checkbox-size);min-height:var(--checkbox-size);box-sizing:border-box;margin:0;padding:0;border:1.4px solid var(--icon-primary, #D1D1D1);border-radius:2px;background-color:var(--background, #FFF);transition:all 0.2s ease;display:inline-flex;align-items:center;justify-content:center}.xv-checkbox input:checked+.checkmark{background-color:var(--background-brand, #97BF0D);border-color:var(--background-brand, #97BF0D)}.xv-checkbox input:checked+.checkmark:not(.checkmark-partial)::after{content:\"\";position:absolute;width:calc(var(--checkbox-size) / 4);height:calc(var(--checkbox-size) / 2.5);border:solid var(--background, #FFF);margin-bottom:calc(var(--checkbox-size) / 10);border-width:0 2px 2px 0;transform:rotate(45deg);display:block}.xv-checkbox input:checked+.checkmark.checkmark-partial::after{content:\"\";position:absolute;width:calc(var(--checkbox-size) / 3);height:calc(var(--checkbox-size) / 10);background-color:var(--background, #FFF)}.xv-checkbox input:focus+.checkmark{outline:1.4px solid var(--focus, #8B8B8B)}.xv-checkbox .label{color:var(--text-primary, #333);font-family:var(--ff-body, Tahoma);font-size:var(--fz-md, 14px);line-height:128.571%;letter-spacing:0.16px}.xv-checkbox .label_str,.xv-checkbox .label ::slotted(*){margin-left:8px}.xv-checkbox.readonly{cursor:initial}.xv-checkbox.readonly input:checked+.checkmark{background-color:var(--background, #FFF);border:1.4px solid var(--icon-disabled, #D1D1D1)}.xv-checkbox.readonly input:checked+.checkmark:after{border-color:var(--icon-primary, #131313)}.xv-checkbox.readonly input:checked+.checkmark-partial:after{background-color:var(--icon-primary, #131313)}.xv-checkbox.readonly .checkmark{border:1.4px solid var(--icon-disabled, #D1D1D1)}.xv-checkbox.readonly .label{color:var(--text-primary, #333)}.xv-checkbox.disabled{cursor:not-allowed}.xv-checkbox.disabled .checkmark{border:1.4px solid var(--icon-disabled, #D1D1D1)}.xv-checkbox.disabled .label{color:var(--text-disabled, rgba(19, 19, 19, 0.25))}";
111
160
 
112
161
  const XvCheckbox = class {
113
162
  constructor(hostRef) {
@@ -181,7 +230,7 @@ const XvCheckbox = class {
181
230
  }
182
231
  }
183
232
  render() {
184
- return (h(Host, { key: 'bcaedf1b88ff4b64cec1ca477a214dc8987c6ed0' }, h("label", { key: '85770d8c9326340f63e024893c5fd28bc79f85a7', class: { 'xv-checkbox': true, disabled: this.disabled, readonly: this.readonly } }, h("input", { key: '156869a713eed4506123e267dc8e4b0ed74e73bb', ref: el => (this.inputEl = el), type: "checkbox", readonly: this.readonly, name: this.name, value: this.value, checked: this.checked, disabled: this.disabled || this.readonly, required: this.required, indeterminate: this.indeterminate, onInput: this.onInput, onChange: this.onChange, onFocus: this.onFocus, onBlur: this.onBlur }), h("span", { key: '1b2a979ae6d31e48e03ab41a054236cd5dbaab26', class: `checkmark ${this.partial ? 'checkmark-partial' : ''}` }), h("div", { key: '5bb240548e68a3e44fd665a917ccc75d2bd423b1', class: "label" }, h("slot", { key: '7ac3876f675592624c2fd252d8dc9941ad823de9' }, this.label && h("span", { key: '263f592cf8f71cfbb6d4a53180b67e71260f36da', class: "label_str" }, this.label)))), h("slot", { key: 'aaf1a57125f9561f0902e943991ba8c91b763534', name: "info" }), !!this.error && h("span", { key: 'a7e94090ad70cf9929b6112965ff6da3965de627', class: "error" }, this.error)));
233
+ return (h(Host, { key: '9eb988ec6a7a02392b4ed77685eed2bc5814c137' }, h("label", { key: '3e4c7112c959897c5b61cbcff890eaf437e476fc', class: { 'xv-checkbox': true, disabled: this.disabled, readonly: this.readonly } }, h("input", { key: '3a2e68b5780ae3951f86d30f9b2e8d9af1805e97', ref: el => (this.inputEl = el), type: "checkbox", readonly: this.readonly, name: this.name, value: this.value, checked: this.checked, disabled: this.disabled || this.readonly, required: this.required, indeterminate: this.indeterminate, onInput: this.onInput, onChange: this.onChange, onFocus: this.onFocus, onBlur: this.onBlur }), h("span", { key: 'b57f073a258a1ea15d04969a68eab7c36023e596', class: `checkmark ${this.partial ? 'checkmark-partial' : ''}` }), h("div", { key: '1abe0c133bf203b228b86bd68053856b79cdf170', class: "label" }, h("slot", { key: '155a80701f1a050a73a0079308de0b932407549e' }, this.label && h("span", { key: 'f9d493bfb663fcf91712b754b4c1b841d10beb05', class: "label_str" }, this.label)))), h("slot", { key: 'fae7055dc73235126a633a705b6e8f045a20954c', name: "info" }), !!this.error && h("span", { key: '5c3bb7d31289862bf421614ee9906671e65c1b7c', class: "error" }, this.error)));
185
234
  }
186
235
  componentDidLoad() {
187
236
  if (this.indeterminate) {
@@ -207,18 +256,47 @@ const XvCheckbox = class {
207
256
  };
208
257
  XvCheckbox.style = xvCheckboxCss;
209
258
 
210
- var SIZE_VAR;
211
- (function (SIZE_VAR) {
212
- SIZE_VAR["XS"] = "xs";
213
- SIZE_VAR["SM"] = "sm";
214
- SIZE_VAR["MD"] = "md";
215
- SIZE_VAR["LG"] = "lg";
216
- SIZE_VAR["XL"] = "xl";
217
- })(SIZE_VAR || (SIZE_VAR = {}));
259
+ const xvDataTableCss = ":host{--xv-data-table-border-width:1px;--xv-data-table-border-color:var(--border-subtle-01);--xv-data-table-padding-x:var(--spacing-05);--xv-data-table-padding-y:var(--spacing-05);--xv-data-table-row-bg:transparent;display:contents;width:inherit;color:var(--text-primary, #333);font-family:var(--ff-body, Tahoma);font-size:var(--fz-md, 14px);line-height:18px;letter-spacing:0.16px}:host>table{width:inherit;border-collapse:collapse;table-layout:fixed}:host([block]){width:100%}:host([block])>table{table-layout:fixed}:host([size=xs]){--xv-data-table-padding-x:var(--spacing-02);--xv-data-table-padding-y:var(--spacing-02)}:host([size=sm]){--xv-data-table-padding-x:var(--spacing-04);--xv-data-table-padding-y:var(--spacing-03)}:host([size=md]){--xv-data-table-padding-x:var(--spacing-05);--xv-data-table-padding-y:var(--spacing-05)}:host([size=lg]){--xv-data-table-padding-x:var(--spacing-05);--xv-data-table-padding-y:var(--spacing-06)}:host([size=xl]){--xv-data-table-padding-x:var(--spacing-06);--xv-data-table-padding-y:var(--spacing-07)}";
260
+
261
+ const XvDataTable = class {
262
+ constructor(hostRef) {
263
+ registerInstance(this, hostRef);
264
+ this.size = SIZE_VAR.MD;
265
+ this.columnWidths = [];
266
+ }
267
+ render() {
268
+ return (h(Host, { key: '3a2756875f87f6567ff283eea651938490687cdd', class: "xv-data-table" }, h("table", { key: '1a19f09a2fdd28eee4428e0a4de23dea10fa81b6', role: "table" }, (this.label || this.description) && (h("caption", { key: 'cbedfcf8303442fa5b9f7464edc723deecf9fa90' }, this.label || this.description)), this.columnWidths.length > 0 && (h("colgroup", { key: '54761e043642758379753ac03c8066684b0dee0e' }, this.columnWidths.map((width = 'auto') => h("col", { style: { width } })))), h("slot", { key: 'b7c01a7fc0ae0f078ba796635214c32eb15977ad' }))));
269
+ }
270
+ };
271
+ XvDataTable.style = xvDataTableCss;
272
+
273
+ const xvDataTableCellCss = ":host{display:table-cell;border-style:solid;border-width:var(--xv-data-table-border-width, 0);border-color:var(--xv-data-table-border-color, transparent);padding-inline:var(--xv-data-table-padding-x, 0);padding-block:var(--xv-data-table-padding-y, 0);vertical-align:middle;word-break:break-all;font-style:normal;font-weight:400}:host .line-clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}:host(:not(.multiline)){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}:host(:not(.multiline)) ::slotted(*){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}";
274
+
275
+ const XvDataTableCell = class {
276
+ constructor(hostRef) {
277
+ registerInstance(this, hostRef);
278
+ }
279
+ render() {
280
+ return (h(Host, { key: 'c505212113c232e8e4aca82338f6f799e26e943b', role: "cell", style: { width: this.width }, class: { multiline: this.multiline !== undefined } }, !this.multiline || isNaN(this.multiline) ? h("slot", null) : (h("div", { class: "line-clamp", style: { ['-webkit-line-clamp']: `${this.multiline}` } }, h("slot", null)))));
281
+ }
282
+ };
283
+ XvDataTableCell.style = xvDataTableCellCss;
284
+
285
+ const xvDataTableRowCss = ":host{display:table-row;background-color:var(--xv-data-table-row-bg, transparent)}";
286
+
287
+ const XvDataTableRow = class {
288
+ constructor(hostRef) {
289
+ registerInstance(this, hostRef);
290
+ }
291
+ render() {
292
+ return (h(Host, { key: '46d3f061051182e865d1a0088653a1af509da94f', role: "row" }, this.variant === 'checkbox' && (h("xv-data-table-cell", { key: '461f71088337deeb60e307bf715a83d950414a16', width: "1.98%" }, h("xv-checkbox-v2", { key: '9b1b6487545b48659f61dfd4b47a0ddd803472dc' }))), h("slot", { key: 'd59814118146a679ff7c1f690ccb5836924ef3d2' })));
293
+ }
294
+ };
295
+ XvDataTableRow.style = xvDataTableRowCss;
218
296
 
219
297
  const DropdownItemSelector = '.xv-dropdown-item';
220
298
 
221
- const xvDropdownCss = ":host{--dropdown-padding-x:16px;--dropdown-padding-y:11px;--dropdown-max-width:300px;display:block;position:relative;text-align:left;max-width:min(var(--dropdown-max-width), 100%)}:host .label{color:var(--text-secondary, #515151);font-family:var(--ff-body, Tahoma);font-size:12px;font-style:normal;font-weight:700;line-height:16px;letter-spacing:0.32px}:host .label ::slotted([slot=label]){color:var(--text-secondary, #515151);font-family:var(--ff-body, Tahoma);font-size:12px;font-style:normal;font-weight:700;line-height:16px;letter-spacing:0.32px}:host .control{background-blend-mode:multiply;border-radius:3px;box-shadow:0 0 0 1px #8B8B8B inset;transition:0.2s ease-in-out background-color;cursor:pointer;margin:0;box-sizing:border-box;font-family:inherit;font-size:100%;padding:0;border:0;appearance:none;background-color:var(--field-02, #FFF);text-align:start;inline-size:100%;position:relative;display:inline-flex;overflow:hidden;align-items:center;block-size:calc(100% + 1px);outline:none;padding-block:var(--dropdown-padding-y);padding-inline:var(--dropdown-padding-x);text-overflow:ellipsis;vertical-align:top;white-space:nowrap}:host .control_value,:host .control_placeholder{flex:1;margin:0;overflow:hidden;color:var(--text-primary, #333);user-select:none;text-overflow:ellipsis;white-space:nowrap;font-family:var(--fz-body, Tahoma);font-size:14px;font-style:normal;font-weight:400;line-height:18px;letter-spacing:0.16px;padding-inline:0 1rem}:host .control_placeholder{color:var(--text-placeholder, #ACACAC)}:host .control_icon{width:18px;height:18px}:host .control_icon.error{color:var(--support-error, #F1290E)}:host .control_icon.warning{color:var(--support-warning, #FF7F04)}:host .control_arrow{box-sizing:border-box;margin:0;font-size:100%;vertical-align:baseline;padding:0;border:0;appearance:none;background:none;text-align:start;display:flex;align-items:center;justify-content:center;block-size:1.5rem;inline-size:1.5rem;inset-inline-end:0.75rem;outline:none;transition:transform 70ms cubic-bezier(0.2, 0, 0.38, 0.9)}:host .control:hover{background-color:var(--field-hover-02, #E9E9E9)}:host .control:active{background-color:var(--layer-selected-02, #E3E3E3)}:host .options{inset-block-start:100%;margin-block-start:1px;display:block;max-block-size:13.75rem;box-shadow:0 2px 6px rgba(0, 0, 0, 0.3);position:absolute;z-index:10;inline-size:100%;inset-inline:0;overflow-y:auto;transition:max-height 0.11s cubic-bezier(0.2, 0, 0.38, 0.9);border-radius:3px;background-color:var(--field-02, #FFF);scrollbar-width:thin;scrollbar-color:var(--layer-accent-03) transparent}:host .options ::slotted(.xv-dropdown-item){display:block;max-block-size:13.75rem;inset-inline:0;box-sizing:border-box;padding:var(--dropdown-padding-y) calc(var(--dropdown-padding-x) + 16px) var(--dropdown-padding-y) var(--dropdown-padding-x);position:relative;cursor:pointer;overflow:hidden;color:var(--text-secondary, #515151);text-overflow:ellipsis;white-space:nowrap;font-family:var(--ff-body, Tahoma);font-size:var(--fz-md, 14px);font-style:normal;font-weight:400;line-height:18px;letter-spacing:0.16px;transition:0.2s ease-in-out background-color;user-select:none}:host .options ::slotted(.xv-dropdown-item):after{content:\"\";position:absolute;bottom:0;height:1px;left:10px;width:calc(100% - 20px);background-color:var(--border-subtle-01)}:host .options ::slotted(.xv-dropdown-item:hover){background-color:var(--layer-hover-02, #F7F7F7)}:host .options ::slotted(.xv-dropdown-item:active){background-color:var(--layer-selected-hover-02, #DADADA)}:host .options ::slotted(.xv-dropdown-item[selected]){background-color:var(--layer-selected-02, #E3E3E3)}:host .options ::slotted(.xv-dropdown-item[selected]:hover){background-color:var(--layer-selected-hover-02, #DADADA)}:host .options ::slotted(.xv-dropdown-item[disabled]){background-color:transparent;opacity:0.4;cursor:not-allowed}:host .helper{color:var(--text-helper, #646464);font-family:var(--ff-heading, \"IBM Plex Sans\");font-size:12px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:0.32px;margin:0;padding:0}:host([open]) .control_arrow{transform:rotate(180deg)}:host([disabled]){opacity:0.4;cursor:not-allowed}:host([disabled]) .control{cursor:inherit}:host([disabled]) .control:hover,:host([disabled]) .control:active,:host([disabled]) .control:focus-within{background-color:transparent}:host([error]) .control{box-shadow:none;outline:2px solid var(--support-support-error, #F1290E)}:host([error]) .helper{color:var(--text-error, #D62512)}:host([size=xs]){--dropdown-padding-y:4px}:host([size=sm]){--dropdown-padding-y:7px}:host([size=md]){--dropdown-padding-y:11px}:host([size=lg]){--dropdown-padding-y:15px}:host([size=xl]){--dropdown-padding-y:16px}";
299
+ const xvDropdownCss = ":host{--dropdown-padding-x:16px;--dropdown-padding-y:11px;--dropdown-max-width:300px;display:block;position:relative;text-align:left;max-width:min(var(--dropdown-max-width), 100%)}:host .label{display:block;color:var(--text-secondary, #515151);font-family:var(--ff-body, Tahoma);font-size:12px;font-style:normal;font-weight:700;line-height:16px;letter-spacing:0.32px;margin-bottom:8px}:host .label ::slotted([slot=label]){color:var(--text-secondary, #515151);font-family:var(--ff-body, Tahoma);font-size:12px;font-style:normal;font-weight:700;line-height:16px;letter-spacing:0.32px}:host .label_info{margin-left:var(--spacing-02)}:host .control{background-blend-mode:multiply;border-radius:3px;box-shadow:0 0 0 1px #8B8B8B inset;transition:0.2s ease-in-out background-color;cursor:pointer;margin:0;box-sizing:border-box;font-family:inherit;font-size:100%;padding:0;border:0;appearance:none;background-color:var(--field-02, #FFF);text-align:start;inline-size:100%;position:relative;display:inline-flex;overflow:hidden;align-items:center;block-size:calc(100% + 1px);outline:none;padding-block:var(--dropdown-padding-y);padding-inline:var(--dropdown-padding-x);text-overflow:ellipsis;vertical-align:top;white-space:nowrap}:host .control_value,:host .control_placeholder{flex:1;margin:0;overflow:hidden;color:var(--text-primary, #333);user-select:none;text-overflow:ellipsis;white-space:nowrap;font-family:var(--fz-body, Tahoma);font-size:14px;font-style:normal;font-weight:400;line-height:18px;letter-spacing:0.16px;padding-inline:0 1rem}:host .control_placeholder{color:var(--text-placeholder, #ACACAC)}:host .control_icon{width:18px;height:18px}:host .control_icon.error{color:var(--support-error, #F1290E)}:host .control_icon.warning{color:var(--support-warning, #FF7F04)}:host .control_arrow{box-sizing:border-box;margin:0;font-size:100%;vertical-align:baseline;padding:0;border:0;appearance:none;background:none;text-align:start;display:flex;align-items:center;justify-content:center;block-size:1.5rem;inline-size:1.5rem;inset-inline-end:0.75rem;outline:none;transition:transform 70ms cubic-bezier(0.2, 0, 0.38, 0.9)}:host .control:hover{background-color:var(--field-hover-02, #E9E9E9)}:host .control:active{background-color:var(--layer-selected-02, #E3E3E3)}:host .options{inset-block-start:100%;margin-block-start:1px;display:block;max-block-size:13.75rem;box-shadow:0 2px 6px rgba(0, 0, 0, 0.3);position:absolute;z-index:10;inline-size:100%;inset-inline:0;overflow-y:auto;transition:max-height 0.11s cubic-bezier(0.2, 0, 0.38, 0.9);border-radius:3px;background-color:var(--field-02, #FFF);scrollbar-width:thin;scrollbar-color:var(--layer-accent-03) transparent}:host .options ::slotted(.xv-dropdown-item){display:block;max-block-size:13.75rem;inset-inline:0;box-sizing:border-box;padding:var(--dropdown-padding-y) calc(var(--dropdown-padding-x) + 16px) var(--dropdown-padding-y) var(--dropdown-padding-x);position:relative;cursor:pointer;overflow:hidden;color:var(--text-secondary, #515151);text-overflow:ellipsis;white-space:nowrap;font-family:var(--ff-body, Tahoma);font-size:var(--fz-md, 14px);font-style:normal;font-weight:400;line-height:18px;letter-spacing:0.16px;transition:0.2s ease-in-out background-color;user-select:none}:host .options ::slotted(.xv-dropdown-item):after{content:\"\";position:absolute;bottom:0;height:1px;left:10px;width:calc(100% - 20px);background-color:var(--border-subtle-01)}:host .options ::slotted(.xv-dropdown-item:hover){background-color:var(--layer-hover-02, #F7F7F7)}:host .options ::slotted(.xv-dropdown-item:active){background-color:var(--layer-selected-hover-02, #DADADA)}:host .options ::slotted(.xv-dropdown-item[selected]){background-color:var(--layer-selected-02, #E3E3E3)}:host .options ::slotted(.xv-dropdown-item[selected]:hover){background-color:var(--layer-selected-hover-02, #DADADA)}:host .options ::slotted(.xv-dropdown-item[disabled]){background-color:transparent;opacity:0.4;cursor:not-allowed}:host .helper{color:var(--text-helper, #646464);font-family:var(--ff-heading, \"IBM Plex Sans\");font-size:12px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:0.32px;margin:4px 0 0;padding:0}:host([open]) .control_arrow{transform:rotate(180deg)}:host([disabled]){opacity:0.4;cursor:not-allowed}:host([disabled]) .control{cursor:inherit}:host([disabled]) .control:hover,:host([disabled]) .control:active,:host([disabled]) .control:focus-within{background-color:transparent}:host([error]) .control{box-shadow:none;outline:2px solid var(--support-support-error, #F1290E)}:host([error]) .helper{color:var(--text-error, #D62512)}:host([size=xs]){--dropdown-padding-y:4px}:host([size=sm]){--dropdown-padding-y:7px}:host([size=md]){--dropdown-padding-y:11px}:host([size=lg]){--dropdown-padding-y:15px}:host([size=xl]){--dropdown-padding-y:16px}";
222
300
 
223
301
  const XvDropdown = class {
224
302
  constructor(hostRef) {
@@ -314,7 +392,7 @@ const XvDropdown = class {
314
392
  this.changeSelection.emit(this.setSelected(this.selectedMap, optionElements));
315
393
  }
316
394
  render() {
317
- return (h(Host, { key: 'c079d730375bac47e2990c414f78dbe5f0c819de', class: "xv-dropdown", role: "combobox", size: this.size, open: this.open, error: this.error, disabled: this.disabled, tabindex: this.disabled ? -1 : false }, h("label", { key: '89822575a8ba145cfbc54bd40ae50021069243ea', class: "label" }, h("slot", { key: 'd09fa78e0df2f911160b059a1254dd09b1c2edcf', name: "label" }, this.label)), h("div", { key: 'a4cb541ee3ccca7148b11ff2a5455d9efb75831e', class: "xv-dropdown-control control", onClick: this.handleOpen }, this.selected.length ? (h("p", { class: "control_value" }, this.selected.join(', '))) : (h("p", { class: "control_placeholder" }, this.placeholder || '')), this.renderIcon(), h("svg", { key: '698d39331ed3e1e09ae48db98244d0f8e2cecc47', class: "control_arrow", focusable: "false", preserveAspectRatio: "xMidYMid meet", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", "aria-hidden": "true", width: "16", height: "16", viewBox: "0 0 16 16" }, h("path", { key: '4e78ab3ba78ff63b21f2766887440b5d638fc5e6', d: "M8 11L3 6 3.7 5.3 8 9.6 12.3 5.3 13 6z" }))), this.open && h("div", { key: 'd3493338d8e5acd48a0c825843da13ba631e7050', class: "options" }, h("slot", { key: "xv-dropdown-options" })), (this.helper || this.error || this.warning) && (h("p", { key: 'b337cece3d8c4aeb4aedc10b0ef6669c19e27e30', class: "helper" }, this.error || this.warning || this.helper))));
395
+ return (h(Host, { key: 'cf4b8675fda5fc256ecfa65392ce7d9b84e60001', class: "xv-dropdown", role: "combobox", size: this.size, open: this.open, error: this.error, disabled: this.disabled, tabindex: this.disabled ? -1 : false }, h("label", { key: '6abb497a5433793d78fa6b97cf5352ad504f0701', class: "label" }, h("slot", { key: '79f5a85651877363fe9dacfd94a9fa9cf976427f', name: "label" }, this.label), this.info && h("xv-tooltip-v2", { key: 'a59e782b561fd1211712c01c2cdd9b51179de50e', class: "label_info", message: this.info })), h("div", { key: '225fc111e3fd2d4859f25d9e89d576b6159397bb', class: "xv-dropdown-control control", onClick: this.handleOpen }, this.selected.length ? (h("p", { class: "control_value" }, this.selected.join(', '))) : (h("p", { class: "control_placeholder" }, this.placeholder || '')), this.renderIcon(), h("svg", { key: '43f6747c6e9b62d50805850ab2a26bf7e394abd5', class: "control_arrow", focusable: "false", preserveAspectRatio: "xMidYMid meet", xmlns: "http://www.w3.org/2000/svg", fill: "currentColor", "aria-hidden": "true", width: "16", height: "16", viewBox: "0 0 16 16" }, h("path", { key: 'df561b1bd2769206ff430822e3bc2d3090aacb0c', d: "M8 11L3 6 3.7 5.3 8 9.6 12.3 5.3 13 6z" }))), this.open && h("div", { key: '29bc50da8263de51f8b4d699bccde8c827b10a55', class: "options" }, h("slot", { key: "xv-dropdown-options" })), (this.helper || this.error || this.warning) && (h("p", { key: '8c912b8acbd55f49f6626112a4f38890906ddf03', class: "helper" }, this.error || this.warning || this.helper))));
318
396
  }
319
397
  componentWillLoad() {
320
398
  this.setDefaultValues();
@@ -364,7 +442,7 @@ const XvDropdownItem = class {
364
442
  });
365
443
  }
366
444
  render() {
367
- return (h(Host, { key: '50c0bf3d6da015580b84ba455cc5f5b02a836fbb', class: "xv-dropdown-item", value: this.value, role: "option", tabindex: this.disabled ? -1 : false }, h("slot", { key: '3833346442861a6669a6fea827f7da3ef872861c' }), this.selected && h("span", { key: '139e1a037467cf98f363f172454a8a9122667955', class: "checkmark" })));
445
+ return (h(Host, { key: '74a8a783a58af3d074bf888e3f520214910761e7', class: "xv-dropdown-item", value: this.value, role: "option", tabindex: this.disabled ? -1 : false }, h("slot", { key: '7b404292d6992ca6c260c488ba8668f214741399' }), this.selected && h("span", { key: '46ab6ec0b6b699af0325924a42b51166640d079a', class: "checkmark" })));
368
446
  }
369
447
  componentWillLoad() {
370
448
  if (!this.value)
@@ -374,6 +452,129 @@ const XvDropdownItem = class {
374
452
  };
375
453
  XvDropdownItem.style = xvDropdownItemCss;
376
454
 
455
+ var XvFileUploaderVariants;
456
+ (function (XvFileUploaderVariants) {
457
+ XvFileUploaderVariants["BUTTON"] = "button";
458
+ XvFileUploaderVariants["DRAG_DROP"] = "drag-drop";
459
+ })(XvFileUploaderVariants || (XvFileUploaderVariants = {}));
460
+
461
+ const xvFileUploaderCss = ":host{font-family:inherit;display:flex;flex-direction:column;gap:var(--spacing-05);font-size:14px}:host .label{font-weight:600;font-size:1em;color:var(--text-primary)}:host .description{font-size:1em;margin:0;color:var(--text-secondary)}:host .upload-btn{padding:0 1.14em;border-radius:0.285em;background-color:var(--background-inverse);color:var(--text-inverse);border:none;cursor:pointer;font-size:1em;height:2.86em;transition:250ms ease-in-out background-color}:host .upload-btn:hover{background-color:var(--background-inverse-hover)}:host .drop-zone{border:1px dashed var(--border-strong-01);background-color:transparent;padding:1.14em;border-radius:0.285em;transition:border-color 0.2s ease, background-color 0.2s ease;font-size:1em;cursor:pointer}:host .drop-zone.active{border-color:var(--border-interactive);background-color:var(--background-active)}:host .drop-zone:hover{background-color:var(--background-hover)}:host .file-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}:host .file-list .file{border-radius:3px;background-color:var(--layer-01, #F7F7F7);font-size:1em}:host .file-list .file_container{padding:var(--spacing-04) var(--spacing-05);display:flex;justify-content:space-between;align-items:center}:host .file-list .file_container_name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;color:var(--text-primary, #333);font-style:normal;font-weight:400;line-height:128.571%;letter-spacing:0.16px;padding-right:var(--spacing-04)}:host .file-list .file_container_errorIcon{color:var(--text-error);margin-right:var(--spacing-03)}:host .file-list .file.withError{outline:2px solid var(--support-error)}:host .error-container{padding:var(--spacing-04) var(--spacing-05);border-top:1px solid var(--border-subtle-01);font-size:0.858em;font-style:normal;font-weight:400;color:var(--text-error)}:host .error-container_primary,:host .error-container_secondary{margin:0;padding:0}:host .error-container__secondary{color:var(--text-secondary, #515151)}:host(.disabled){pointer-events:none;opacity:0.6}:host(.disabled) .upload-btn,:host(.disabled) .drop-zone{cursor:not-allowed;background-color:var(--button-disabled-background, #ccc);color:var(--button-disabled-text, #666);border-color:var(--border-disabled, #bbb)}:host(.disabled) .remove-btn{display:none}:host([size=xs]){font-size:10px}:host([size=sm]){font-size:12px}:host([size=md]){font-size:14px}:host([size=lg]){font-size:18px}:host([size=xl]){font-size:22px}";
462
+
463
+ const XvFileUploader = class {
464
+ constructor(hostRef) {
465
+ registerInstance(this, hostRef);
466
+ this.filesChange = createEvent(this, "filesChange");
467
+ this.variant = XvFileUploaderVariants.BUTTON;
468
+ this.size = SIZE_VAR.MD;
469
+ this.accept = [];
470
+ this.maxFileSizeMB = 5;
471
+ this.maxFiles = 20;
472
+ this.multiple = true;
473
+ this.files = [];
474
+ this.loadingStates = [];
475
+ this.errors = [];
476
+ this.dragActive = false;
477
+ this.errorMessages = [];
478
+ this.onFileSelect = (event) => {
479
+ const input = event.target;
480
+ const selectedFiles = Array.from(input.files || []);
481
+ this.handleFiles(selectedFiles);
482
+ };
483
+ this.onDrop = (event) => {
484
+ var _a;
485
+ event.preventDefault();
486
+ this.dragActive = false;
487
+ const droppedFiles = Array.from(((_a = event.dataTransfer) === null || _a === void 0 ? void 0 : _a.files) || []);
488
+ this.handleFiles(droppedFiles);
489
+ };
490
+ this.handleFiles = (files) => {
491
+ this.files = this.validation(this.multiple ? [...this.files, ...files] : files);
492
+ this.filesChange.emit(this.files);
493
+ };
494
+ this.onDragOver = (event) => {
495
+ event.preventDefault();
496
+ this.dragActive = true;
497
+ };
498
+ this.onDragLeave = () => {
499
+ this.dragActive = false;
500
+ };
501
+ }
502
+ validation(files) {
503
+ var _a;
504
+ const maxSize = this.maxFileSizeMB * 1024 * 1024;
505
+ const seenFileNames = new Set();
506
+ const errorMessages = [];
507
+ const uniqueFiles = [];
508
+ for (const file of files) {
509
+ let error = null;
510
+ if (!seenFileNames.has(file.name)) {
511
+ seenFileNames.add(file.name);
512
+ uniqueFiles.push(file);
513
+ }
514
+ const extension = (_a = file.name.split('.').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase();
515
+ const isAccepted = this.accept.length === 0 ||
516
+ this.accept.some(type => {
517
+ const normalized = type.toLowerCase().replace(/^\./, '');
518
+ return normalized === extension;
519
+ });
520
+ if (!isAccepted) {
521
+ error = 'Unsupported file type.';
522
+ }
523
+ else if (file.size > maxSize) {
524
+ error = `File ${file.name} is too large.`;
525
+ }
526
+ errorMessages.push(error);
527
+ }
528
+ this.error = uniqueFiles.length > this.maxFiles
529
+ ? `Only ${this.maxFiles} file(s) allowed.`
530
+ : null;
531
+ this.errorMessages = errorMessages;
532
+ return uniqueFiles;
533
+ }
534
+ removeFile(index) {
535
+ this.files = this.validation([...this.files.slice(0, index), ...this.files.slice(index + 1)]);
536
+ this.filesChange.emit(this.files);
537
+ if (this.fileInput) {
538
+ this.fileInput.value = '';
539
+ }
540
+ }
541
+ render() {
542
+ var _a;
543
+ return (h(Host, { key: '92aef18b84c7ff27bffa4e08f277037b8c980269', class: { 'upload-wrapper': true, [`uploader-${this.size}`]: true, disabled: !!this.disabled } }, this.label && h("label", { key: 'a1249cbce402d895e28417f0ea3b7be0432939a5', class: "label" }, this.label), this.description && h("p", { key: '5c3000bcdeea9a0952f67e6f09b38f476eb5380d', class: "description" }, this.description), this.variant === 'button' ? (h("button", { disabled: this.disabled, class: "upload-btn", 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: '0b0d4765dacd6dd3d0a9afb5b761976018728502', ref: el => (this.fileInput = el), type: "file", hidden: true, onChange: this.onFileSelect, multiple: this.multiple, accept: this.accept.map(type => `.${type}`).join(',') }), h("ul", { key: 'f6f1a14ab1d2a705018ffed46ff6b3439bcedd1b', class: "file-list" }, this.files.map((file, index) => {
544
+ var _a, _b;
545
+ 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)));
546
+ })), this.error && (h("div", { key: 'aa38b9ddbcebdd48c166dcc1a007549b6665b718', class: "error-container" }, h("p", { key: 'a421c517fe2681b089ac13d88a4bca1c6edde44c', class: "error-container_primary" }, this.error)))));
547
+ }
548
+ _renderLoaderState(index) {
549
+ var _a, _b, _c;
550
+ const state = ((_a = this.loadingStates) === null || _a === void 0 ? void 0 : _a[index]) || null;
551
+ const errorIcon = ((_b = this.errors) === null || _b === void 0 ? void 0 : _b[index]) || ((_c = this.errorMessages) === null || _c === void 0 ? void 0 : _c[index]) ? (h("svg", { class: "file_container_errorIcon", width: "16", height: "16", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512" }, h("path", { fill: "currentColor", 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" }))) : null;
552
+ switch (state) {
553
+ case 'loading':
554
+ return (h(Fragment, null, errorIcon, h("xv-loader-v2", { size: SIZE_VAR.XS })));
555
+ case 'success':
556
+ return (h(Fragment, null, errorIcon, h("svg", { xmlns: "http://www.w3.org/2000/svg", width: "16", height: "16", viewBox: "0 0 18 16", fill: "none" }, h("path", { 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", fill: "#97BF0D" }))));
557
+ case 'uploaded':
558
+ default:
559
+ return (h(Fragment, null, errorIcon, h("xv-button-v2", { variant: "ghost", size: SIZE_VAR.XS, onClick: () => this.removeFile(index) }, h("span", { slot: "icon-left" }, "\u00D7"))));
560
+ }
561
+ }
562
+ _renderError(index) {
563
+ var _a, _b;
564
+ const error = ((_a = this.errors) === null || _a === void 0 ? void 0 : _a[index]) || ((_b = this.errorMessages) === null || _b === void 0 ? void 0 : _b[index]);
565
+ if (!error)
566
+ return;
567
+ if (typeof error === 'object') {
568
+ return (h("div", { class: "error-container" }, h("p", { class: "error-container_primary" }, error.primary), h("p", { class: "error-container_secondary" }, error.secondary)));
569
+ }
570
+ if (typeof error === 'string') {
571
+ return (h("div", { class: "error-container" }, h("p", { class: "error-container_primary" }, error)));
572
+ }
573
+ return null;
574
+ }
575
+ };
576
+ XvFileUploader.style = xvFileUploaderCss;
577
+
377
578
  const xvFooterCss = ".svg-assets--src--project--images--svg-sprite--youtube,.svg-assets--src--project--images--svg-sprite--xing,.svg-assets--src--project--images--svg-sprite--vorkasse,.svg-assets--src--project--images--svg-sprite--visa,.svg-assets--src--project--images--svg-sprite--sepa,.svg-assets--src--project--images--svg-sprite--paypal,.svg-assets--src--project--images--svg-sprite--mastercard,.svg-assets--src--project--images--svg-sprite--linkedin,.svg-assets--src--project--images--svg-sprite--kauf-auf-rechnung,.svg-assets--src--project--images--svg-sprite--instagram,.svg-assets--src--project--images--svg-sprite--facebook{background:url(\"https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.svg\") no-repeat}.svg-assets--src--project--images--svg-sprite--facebook{background-position:0 100%;width:32px;height:32px}.svg-assets--src--project--images--svg-sprite--instagram{background-position:14.5454545455% 100%;width:32px;height:32px}.svg-assets--src--project--images--svg-sprite--kauf-auf-rechnung{background-position:0 0;width:84px;height:58px}.svg-assets--src--project--images--svg-sprite--linkedin{background-position:29.0909090909% 100%;width:32px;height:32px}.svg-assets--src--project--images--svg-sprite--mastercard{background-position:50% 0;width:84px;height:58px}.svg-assets--src--project--images--svg-sprite--paypal{background-position:0 64.4444444444%;width:84px;height:58px}.svg-assets--src--project--images--svg-sprite--sepa{background-position:50% 64.4444444444%;width:84px;height:58px}.svg-assets--src--project--images--svg-sprite--visa{background-position:100% 0;width:84px;height:58px}.svg-assets--src--project--images--svg-sprite--vorkasse{background-position:100% 64.4444444444%;width:84px;height:58px}.svg-assets--src--project--images--svg-sprite--xing{background-position:43.6363636364% 100%;width:32px;height:32px}.svg-assets--src--project--images--svg-sprite--youtube{background-position:58.1818181818% 100%;width:32px;height:32px}.sprite-icon-beachten{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:-90px 0px;width:80px;height:80px}.sprite-icon-buchen{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:0px -82px;width:80px;height:80px}.sprite-icon-direct{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:-284px -99px;width:21px;height:21px}.sprite-icon-downloads{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:-80px -82px;width:80px;height:80px}.sprite-icon-kino{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:-305px -99px;width:21px;height:21px}.sprite-icon-kosten{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:-170px 0px;width:80px;height:80px}.sprite-icon-kreation{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:-170px -80px;width:80px;height:80px}.sprite-icon-logo-full{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:0px -242px;width:189px;height:32px}.sprite-icon-logo-small{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:-250px -99px;width:34px;height:34px}.sprite-icon-mobile{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:-326px -99px;width:21px;height:21px}.sprite-icon-online{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:-347px -99px;width:21px;height:21px}.sprite-icon-partner-agma{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:-250px -66px;width:88px;height:33px}.sprite-icon-partner-bvdw{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:-338px -66px;width:88px;height:33px}.sprite-icon-partner-climate{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:-250px 0px;width:186px;height:33px}.sprite-icon-partner-google{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:0px 0px;width:90px;height:82px}.sprite-icon-partner-microsoft{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:-250px -33px;width:186px;height:33px}.sprite-icon-plakat{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:-368px -99px;width:21px;height:21px}.sprite-icon-print{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:-389px -99px;width:21px;height:21px}.sprite-icon-radio{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:-410px -99px;width:21px;height:21px}.sprite-icon-services{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:-250px -133px;width:21px;height:21px}.sprite-icon-topangebote{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:-271px -133px;width:21px;height:21px}.sprite-icon-tv{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:-292px -133px;width:21px;height:21px}.sprite-icon-werbeformen{background-image:url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);background-position:0px -162px;width:80px;height:80px}";
378
579
 
379
580
  const Xvfooter = class {
@@ -392,7 +593,7 @@ const Xvfooter = class {
392
593
  }
393
594
  }
394
595
  render() {
395
- return (h("footer", { key: '0db6bc4ceab1da36181d8a106677ee2b4c871a5d' }, h("div", { key: '4ed868bc230e7dd45ebca9255827c1cfeb40e1f7', innerHTML: this.htmlContent })));
596
+ return (h("footer", { key: '25f7acefd3d83e3f85547e0c3165eba04cae14bc' }, h("div", { key: 'df924fadef964c0736fc9d88de8e27f034e0da16', innerHTML: this.htmlContent })));
396
597
  }
397
598
  get el() { return getElement(this); }
398
599
  };
@@ -432,7 +633,7 @@ const XvHeader = class {
432
633
  }
433
634
  }
434
635
  render() {
435
- return (h("div", { key: '092ff32dfdc3a8abd588b4614cffadaf18ef73eb', id: "nav-container", class: "xv-header" }, h("nav", { key: 'c4981592dc5d6760999a4680cbdeeed4917bc86d', class: "navbar navbar-default navbar-fixed-top backend-force-relative" }, h("div", { key: '63618147868e56c9ab0939468cddd0dc0808e242', class: "container" }, h("div", { key: '48621f92892e24388ee689f03a841feb68867cde', class: "row" }, h("div", { key: '05da27c68a7db429f80034e9d629aa3bd606d46e', class: "col-sm-3 col-xs-3 col-xxs-4 no-padding-right" }, h("div", { key: '1935f522fff8182eaaed782d9539e1f44e508229', class: "navbar-header" }, h("button", { key: 'f414e8f67289291087927ee5085f1420954ca576', class: "btn btn-default navbar-toggle pull-left navbar-btn", "data-toggle": "collapse", "data-target": "#main-menu" }, h("i", { key: 'cc9f95cb5ab19d72a529eda9075e9d365bd46f0b', class: "fa fa-bars fa-lg", "aria-hidden": "true" })), h("div", { key: 'a2a33abd90814d8625e329b87281bcad03c39bc3', class: "visible-xs-inline" }, h("a", { key: '2e39e2221e8258bfc4f44d6b6925b8d48586264c', href: "https://www.crossvertise.com/", class: "navbar-brand" }, h("img", { key: '226c442a5ff9f8b97188494ba19f4f0cbca48259', src: "https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo-small.svg", alt: "Crossvertise" }))), h("div", { key: '9004b25c4ce743423c3e906067620b75366ab72a', class: "hidden-xs" }, h("a", { key: 'ed1bddedf5cbfda77426059c937ec2a91e9e2ec9', href: "https://www.crossvertise.com/", class: "navbar-brand" }, h("img", { key: '77c9654a8f63113d22acdf9053ed82b37c68d05b', loading: "lazy", src: "https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo.svg", alt: "Crossvertise" }))))), h("div", { key: '3999ab34c55b0efc2239c8f6d1282d9c949980fb', class: "col-sm-9 col-xs-9 col-xxs-8 no-padding-left" }, h("ul", { key: '434ca6ae49f9dfc28f3f8ffce7b9191326ff4919', class: "nav nav-pills nav-meta pull-right" }, h("li", { key: 'e8ac4591296bfcc5c0c7e5f1a6487518402512b4' }, h("a", { key: '9856991d8faae8ead5cec36f4df6df447f98e1d9', class: "btn btn-link navbar-btn hidden-xs", href: "#" }, h("i", { key: 'a49f4de9297931b7f374d3fc19992b5654e7a9d0', class: "fa fa-user" }), h("i", { key: '58f91f80fcc882ab3273f838773b551a0701d21e', class: "fa fa-exchange-alt" }))), h("li", { key: 'a3bca2f78dd035dfbda754998f0bc907f114d08b' }, h("a", { key: 'f47d0d34a272956b5d1945519f78a9b6d53f27c8', class: "btn btn-link navbar-btn hidden-xs", href: "#" }, "Kontakt"), h("a", { key: '99a70355c8818a67c66d75515ae5b3dd2b87ee48', href: "https://www.crossvertise.com/contact", class: "btn btn-link navbar-btn hidden-xs", style: { display: 'none' } }, "Kontakt"), h("a", { key: '1c82c6dc86ca379098d552ed3c10bf23b51ec7e9', class: "btn btn-default btn-link navbar-btn visible-xs hidden-xxs", href: "#" }, h("i", { key: 'ba7fb605ff015986524d5b38e8916e7c8846ea46', class: "fa fa-phone" }))), h("li", { key: '207d1e2d39abe0ecfc57b1e4e3b080a1e259d88e', class: "dropdown", id: "my-xv-menu" }, h("a", { key: 'a97520d3e14bbd7a9e4d65856b752410f84514e6', href: "#", class: "dropdown-toggle btn btn-default navbar-btn btn-link", "data-toggle": "dropdown" }, h("i", { key: '07ed030e3a41d20f3d719d164595a3aec9e700ed', class: "fa fa-user fa-lg text-success", "aria-hidden": "true" }), "\u00A0", h("span", { key: 'b0f1ef955d12ddace3b277af8e735b1ca79bebf5', class: "hidden-xs" }, "Mein Bereich"), h("span", { key: 'f6df26451c6a379b8afbaf58dfeb1fbacabfac43', class: "caret" })), h("ul", { key: 'e696efc4e956d57d62c1bd681572a49cd4d6d783', class: "dropdown-menu-left dropdown-menu navbar-myxv" }, h("li", { key: '45dc4ddcb0b72d85e937476f5b99c20b142ed1c1' }, h("a", { key: 'cd46060a5b67074979cf2b03ded35cca959c4338', href: "#" }, h("i", { key: '967e059a1db803ba7394b2142ebf8220081dac3f', class: "fa fa-tachometer-alt fa-fw" }), "\u00A0Cockpitfunktionen\u00A0", h("i", { key: '83ab26e47b8f837bcfea1a4986384c07747f39c7', class: "fa fa-caret-down" }))), h("li", { key: '2be9da522fbe82772a448fd257ac9fd62614ab5b' }, h("a", { key: 'a45b735877d449df5147c9a21e1964dd352ea052', href: "#" }, h("i", { key: '4b7ffab0fde8dc7fea76264e1103538d72a22b93', class: "fa fa-cubes" }), "\u00A0Entit\u00E4ten\u00A0", h("i", { key: '06420beb12c2704067273fa011d95148c612604b', class: "fa fa-caret-down" }))), h("li", { key: '26c7b8be4bace85b9eda242f5927ddb9b4c7f3b7', role: "separator", class: "divider" }), h("li", { key: '4f31616186edfbbdad11246fed6779c84d9ae2e0' }, h("a", { key: '16edf08f7ba8acde9c94212573be770c76b1eed3', href: "#" }, h("i", { key: 'b2044b2cf5063653498883073a3ad5efde2db954', class: "fa fa-user" }), "\u00A0Mein Crossvertise\u00A0", h("span", { key: 'cee6cef1f81beeaa5d28463d56155d05cc7b5f87', class: "badge" }, "0"), h("i", { key: '5e578d9000ffb98011d0062cdf83043bc4b5169c', class: "fa fa-caret-down" }))), h("li", { key: 'f418159e0c6a8806635501c2d7baad966c851e6d' }, h("a", { key: 'cee19cd5bcbaf74b0c80a2223502dcd8bc5371a1', href: "https://www.crossvertise.com/de-de/mycrossvertise/account/logoff?returnUrl=https%3A%2F%2Fwww.crossvertise.com" }, h("i", { key: 'd00b0b21de34744023a54c7cf7e6a574f34821b1', class: "fa fa-sign-out-alt fa-fw", "aria-hidden": "true" }), "\u00A0Logout")))), h("li", { key: '333cc819625326849f52013181128039c31826cc', class: "visible-sm-block visible-xs-block hidden-xxs" }, h("a", { key: '0591a5a4a2f4e1ca5c5fd6d49552dbdc339d0abf', class: "btn btn-default navbar-btn btn-link", "data-toggle": "collapse", "data-target": "#search-collapse" }, h("i", { key: '5be0f7d16d126ce5231f715d72a433c88849473f', class: "fa fa-search", "aria-hidden": "true" }))), h("li", { key: 'd1116671d564f5ac49ab15699eb0fa8ffaadbe8d', class: "hidden-xs hidden-sm" }, h("a", { key: '2004ef3c2c263310eb9d48349656001008b9e87a', role: "button", onClick: this.openLoginModal, class: "btn btn-default navbar-btn btn-link" }, h("i", { key: 'faa40979c470610be84536c2de5ea9965e185c67', class: "fa fa-user fa-lg", "aria-hidden": "true" }), h("span", { key: 'de763e7c4931dfd2277c463f6a138e0ff832b6be' }, "Login"))), h("xv-login-modal", { key: '4c12a1af61cc8434d6c481a718c20b343db301bb', visible: this.showLoginModal, onClose: this.closeLoginModal }), h("li", { key: 'd65bbbe4ac0457f621e824bb6bd5447546bb5819', class: "hidden-xs" }, h("a", { key: '340e9428ddc74d380981f9c90056cb7cdac7c982', class: "btn btn-default navbar-btn btn-link", href: "https://market.crossvertise.com/de-de/mycrossvertise/account/register" }, h("span", { key: '8aafb94c374e0969fa96b7ea8cb22785369560f9' }, "Registrieren"))), h("li", { key: '0ed4c4aca90415ca106adf379d923909e82d49a2', class: "navbar-divider hidden-xs" }), h("li", { key: '852292a5ea933dd3e4bf9b34e6e3f853ca723eb6' }, h("a", { key: 'cf11c35ae760ef3909953289640ff955acd409aa', class: "btn btn-success navbar-btn", href: "https://market.crossvertise.com/de-de/mycrossvertise/shoppingcart/activecart" }, h("span", { key: '531ef0b6c4134b7b15bbbd2e6c148f7be9c4edf4', class: "xv-font-icon-warenkorb fa-lg fa-fw", "aria-hidden": "true" }), h("span", { key: 'b686810eae7cbb0c7c1ea9ee997ab31c68c678d1', class: "hidden-xs hidden-sm" }, "\u00A0Warenkorb\u00A0"), h("span", { key: '325c83891e42b1c62ba46c53d1c49aa7c7fb9552', class: "badge badge-success" }, "0"))))))), h("div", { key: '0acef5ade9aefc444c5a3c6da2e10e95bf3080b9', class: "collapse hidden-md hidden-lg", id: "search-collapse" }, h("div", { key: '4ab01a657a0f6ea3b685b727fe0c3702f7273b1a', class: "container" }, h("form", { key: '946e797352ab2673b234d8c5e9c238882b9efc4c', action: "https://market.crossvertise.com/de-de/media/search", class: "navbar-form", method: "get", role: "search" }, h("div", { key: '3920252d9e5855f014748d672fdc5b9080182b72', class: "input-group" }, h("input", { key: '96f8aa465ebbeb7fc1e7e718f475618b94a60753', class: "form-control", name: "Q", placeholder: "Suche", type: "text", autocomplete: "off" }), h("span", { key: '8aae5ca4431896964ef5019f7403f8bdbab313e5', class: "input-group-btn force-full-width" }, h("button", { key: '5b572fa6663314c19bb2fc7952be2845d7fbbb2a', class: "btn btn-default search-addon", type: "submit" }, h("i", { key: '4a6727d827692c657761c5d00b53dacc4308ee00', class: "fa fa-search", "aria-hidden": "true" })))))))), h("div", { key: '6201355010079566c7e3c20fb4ef1f1f77bd5a45', innerHTML: this.htmlContent })));
636
+ return (h("div", { key: 'f1fa7a66f5646c91c3bec60242259aa47b9916db', id: "nav-container", class: "xv-header" }, h("nav", { key: '93c1d68ba793edb98ff140ab2cb3be7a3a14b4aa', class: "navbar navbar-default navbar-fixed-top backend-force-relative" }, h("div", { key: 'b031c74cb7fa6803bc5d18c3dbff11adb4b51ef6', class: "container" }, h("div", { key: 'ab24ec15ae5109b66b93ac2c66cc85a0c5bc997d', class: "row" }, h("div", { key: '40e7c0208009bdb2011e4ec38a31dda850622dd3', class: "col-sm-3 col-xs-3 col-xxs-4 no-padding-right" }, h("div", { key: '3e73dead56efa1c7c0a2f8feff92321306a40755', class: "navbar-header" }, h("button", { key: 'edbd2b2b4270f600043ba51284ea871131e0f2d9', class: "btn btn-default navbar-toggle pull-left navbar-btn", "data-toggle": "collapse", "data-target": "#main-menu" }, h("i", { key: '2fb6c9fbc127eac495fff5c0f93d250c980b58b1', class: "fa fa-bars fa-lg", "aria-hidden": "true" })), h("div", { key: 'adfe681e34aa6c609557641e9af0df662e78ffd3', class: "visible-xs-inline" }, h("a", { key: '932c99d3e3ddba203ea97fd576fe9152d9f72a16', href: "https://www.crossvertise.com/", class: "navbar-brand" }, h("img", { key: 'e05d25ae3af59d77590e43a132ad9e97ff546fae', src: "https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo-small.svg", alt: "Crossvertise" }))), h("div", { key: '8484fe0e888857d086989e9f4cc7caef8bf58fe8', class: "hidden-xs" }, h("a", { key: '9b000a2b4efc8a60f3b0f18278cabd28e021b972', href: "https://www.crossvertise.com/", class: "navbar-brand" }, h("img", { key: 'a96d1afff0c35c21c51475205fa7094fdd803f13', loading: "lazy", src: "https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo.svg", alt: "Crossvertise" }))))), h("div", { key: '920f52e74137ae786c32b4f15d4da2d48824082e', class: "col-sm-9 col-xs-9 col-xxs-8 no-padding-left" }, h("ul", { key: '098d6fa397ce40a65e7d0e56beebf9b855683e74', class: "nav nav-pills nav-meta pull-right" }, h("li", { key: 'e69db80df8e0fdce4dbdfaf3460a6baa85b7455f' }, h("a", { key: '1bd1de4852603bcc7380cbb0b13943b7c46f3a18', class: "btn btn-link navbar-btn hidden-xs", href: "#" }, h("i", { key: '03059f6b70ddf78c0eab55fb57291a5dfdefdaab', class: "fa fa-user" }), h("i", { key: 'cf8e0d2f1533be362ae2d44379bf81ffeca94a62', class: "fa fa-exchange-alt" }))), h("li", { key: '5508f231657ec2ecb34d26f1fbdfe1bcd81c9bfc' }, h("a", { key: '81ac0da6631bc11aea5620dc949c856495cda486', class: "btn btn-link navbar-btn hidden-xs", href: "#" }, "Kontakt"), h("a", { key: 'af1b609f44b88f51dbaad88bb035171d491f30c7', href: "https://www.crossvertise.com/contact", class: "btn btn-link navbar-btn hidden-xs", style: { display: 'none' } }, "Kontakt"), h("a", { key: '25ab2f195433651bc6c46f0e04825b21c1e857fd', class: "btn btn-default btn-link navbar-btn visible-xs hidden-xxs", href: "#" }, h("i", { key: 'cb595bdb1fc64f93da1de0072b9cd2e9d22e7f54', class: "fa fa-phone" }))), h("li", { key: 'd817905dac3ad0ad06ff2222b5e6cf5cf1588850', class: "dropdown", id: "my-xv-menu" }, h("a", { key: '89d84fa4b57677b6da2f9760c596e726be3d7840', href: "#", class: "dropdown-toggle btn btn-default navbar-btn btn-link", "data-toggle": "dropdown" }, h("i", { key: '3cc519aa50ff205461f272880218eaa147ae3c2c', class: "fa fa-user fa-lg text-success", "aria-hidden": "true" }), "\u00A0", h("span", { key: '54e5571967500594d1d81b94d3344ebfc43d5e76', class: "hidden-xs" }, "Mein Bereich"), h("span", { key: 'd94f684d2e92cae8fbfa7801096fb9cf68a77a0d', class: "caret" })), h("ul", { key: '3fc48bc0efea55e776c3090ecfa11488b7b3b660', class: "dropdown-menu-left dropdown-menu navbar-myxv" }, h("li", { key: 'fdc28d4743e5ff08a7ad82aa832ce4b2b0cda2c9' }, h("a", { key: 'd6299037715fd7334908cf46aa1363c7c6b93628', href: "#" }, h("i", { key: 'bbef2ea537e2ac45ddb96b9a1c75385b74ab27bd', class: "fa fa-tachometer-alt fa-fw" }), "\u00A0Cockpitfunktionen\u00A0", h("i", { key: '3180f5eb463d952208c5dab92df10bf1d91188d4', class: "fa fa-caret-down" }))), h("li", { key: 'ab0801ac2ce1accdd4f3181bae621ceb5622085d' }, h("a", { key: 'c301aa9512a9e10a8e75714143cdc79b133f0f79', href: "#" }, h("i", { key: 'c66fc798ef7c26fd578bd4dfb52aad0fe0058079', class: "fa fa-cubes" }), "\u00A0Entit\u00E4ten\u00A0", h("i", { key: 'f4d020afc421e0da2825952c1734c2527ed768b3', class: "fa fa-caret-down" }))), h("li", { key: 'dad4a83d6d3b5a3fe2ae83f85c09c1482fd6c029', role: "separator", class: "divider" }), h("li", { key: '1227163cae5a535c37b314c10dddfe57d26def4d' }, h("a", { key: '4c1421bfd184e329f0502b8c63b0b40f54f6417b', href: "#" }, h("i", { key: 'acee487f4eca767f942a8ca77a1fe848c793f6af', class: "fa fa-user" }), "\u00A0Mein Crossvertise\u00A0", h("span", { key: '237f3d89333d7325043ea34c9bbb65eebe734768', class: "badge" }, "0"), h("i", { key: '6470c884f34df3018a14a61dd872d101fdc693f4', class: "fa fa-caret-down" }))), h("li", { key: '280fef33a19151ba180aeeba866cb006027515d0' }, h("a", { key: '00136d3e0a8742f546051400117f6a62cc4561d3', href: "https://www.crossvertise.com/de-de/mycrossvertise/account/logoff?returnUrl=https%3A%2F%2Fwww.crossvertise.com" }, h("i", { key: 'acda646a3b0e50dcc65002faf717effadc73b2eb', class: "fa fa-sign-out-alt fa-fw", "aria-hidden": "true" }), "\u00A0Logout")))), h("li", { key: '97f77e84bf17ef45a321590f4092a1e8efbce5d3', class: "visible-sm-block visible-xs-block hidden-xxs" }, h("a", { key: 'cbd99563d2a807763386d8d11dc9b5c8500e06f1', class: "btn btn-default navbar-btn btn-link", "data-toggle": "collapse", "data-target": "#search-collapse" }, h("i", { key: 'dcda6727eca7a6d323e5a8b222fe5d9cf1f51e3b', class: "fa fa-search", "aria-hidden": "true" }))), h("li", { key: 'f4f79c26e331795f069863e9d808c25ba826d909', class: "hidden-xs hidden-sm" }, h("a", { key: '8cc458cced48ab651861abc7cb3392e78a7f2d82', role: "button", onClick: this.openLoginModal, class: "btn btn-default navbar-btn btn-link" }, h("i", { key: 'fc4ad896ef0c0133e7cd5e004f4305232c2f8736', class: "fa fa-user fa-lg", "aria-hidden": "true" }), h("span", { key: '3a18b0ada04b3dc59c745bac9fbb9c913a1f285b' }, "Login"))), h("xv-login-modal", { key: 'eb76a226443b6ce861c90ebdc42b4dd18487a7ea', visible: this.showLoginModal, onClose: this.closeLoginModal }), h("li", { key: '3926d6711fadd3101a47fd5ad44dd34e1b4ea41f', class: "hidden-xs" }, h("a", { key: '54c7d9a8880732540ccaea643f08e55df857c80a', class: "btn btn-default navbar-btn btn-link", href: "https://market.crossvertise.com/de-de/mycrossvertise/account/register" }, h("span", { key: 'a886fd9515fd42a787a0bee5782739100ba2a874' }, "Registrieren"))), h("li", { key: 'bb728014870b1ee825ae44e05e435b4f249ae943', class: "navbar-divider hidden-xs" }), h("li", { key: '686a75dc0b4f4d544e2e4a58bceb9220bf584401' }, h("a", { key: '7a5501d91d1e80ecbf3e1cff254d9ed8404cb4a6', class: "btn btn-success navbar-btn", href: "https://market.crossvertise.com/de-de/mycrossvertise/shoppingcart/activecart" }, h("span", { key: '3907db53aca750a7af24a40f30078c8cb3f12f0a', class: "xv-font-icon-warenkorb fa-lg fa-fw", "aria-hidden": "true" }), h("span", { key: '0f9fbbe251f1f95dcfd7a55af4613b119291a1c5', class: "hidden-xs hidden-sm" }, "\u00A0Warenkorb\u00A0"), h("span", { key: '9a5a84b9ee050a8a2d9cd8a51a63a6bcecef6f72', class: "badge badge-success" }, "0"))))))), h("div", { key: 'd558a444b34b0c9b78eb2ffba68cfb4cad2783e7', class: "collapse hidden-md hidden-lg", id: "search-collapse" }, h("div", { key: 'cdfdc3c8481eed737bc36d0cc559ec0cfa60a431', class: "container" }, h("form", { key: 'fe2253d8cb3d211b59a7898d696631a9f74ec6f6', action: "https://market.crossvertise.com/de-de/media/search", class: "navbar-form", method: "get", role: "search" }, h("div", { key: '8d0722f3ba685197514c2c7f0d255c7dd59fb40e', class: "input-group" }, h("input", { key: '3827a888727f94f7e84920f544a50235a5c10bec', class: "form-control", name: "Q", placeholder: "Suche", type: "text", autocomplete: "off" }), h("span", { key: '93748c9301681f31497cbcedc0a989e794bbd2d7', class: "input-group-btn force-full-width" }, h("button", { key: 'cf00efc17ded1365ee4f5dfdbed70e2e309c8ccc', class: "btn btn-default search-addon", type: "submit" }, h("i", { key: '38f9d4c2cf46da5fbc8ff31f5ee4e1e7f93ee5eb', class: "fa fa-search", "aria-hidden": "true" })))))))), h("div", { key: '9885522bb7260b13e95036e79c181b5924f41bc9', innerHTML: this.htmlContent })));
436
637
  }
437
638
  get el() { return getElement(this); }
438
639
  };
@@ -454,7 +655,7 @@ const XvLink = class {
454
655
  e.stopPropagation();
455
656
  }
456
657
  render() {
457
- return (h(Host, { key: 'e9c006db5f3b72c48b8a6c3597ee46e2451e156b', class: `xv-link_${this.variant}` }, h("a", { key: 'a534ebd8dce32cf261e8b5354d93d58064136ad8', href: this.href, onClick: this.preventLinkHandler.bind(this), class: `xv-link ${this.disabled ? 'xv-link_disabled' : ''} ${this.size}`, target: this.target }, h("slot", { key: '582553af67dd32e8c83d28a4488bb5fffbb2a064', name: "icon-left" }), h("slot", { key: 'ca4705fd7ead40197d019c451d6c3cf1cdacfde1' }), h("slot", { key: 'c9433d24cc3e6b5acdb8645d4816d93375df7a43', name: "icon-right" }))));
658
+ return (h(Host, { key: 'a1abb193eeb641ee9e3b8fea49799d1ea6a245bd', class: `xv-link_${this.variant}` }, h("a", { key: '64f2b949fd2069201c5b046b6d1ac5dfc645859f', href: this.href, onClick: this.preventLinkHandler.bind(this), class: `xv-link ${this.disabled ? 'xv-link_disabled' : ''} ${this.size}`, target: this.target }, h("slot", { key: '7fc045a8dceb6c8682b4e8b1711d5fc26a8acebf', name: "icon-left" }), h("slot", { key: '9034c94df501fcf307b3e5f56161ac3cf128862a' }), h("slot", { key: '67290ba58714e87e92f4a4b7a9f13050a0ee6ed4', name: "icon-right" }))));
458
659
  }
459
660
  };
460
661
  XvLink.style = xvLinkCss;
@@ -630,7 +831,7 @@ const XvModal = class {
630
831
  }
631
832
  render() {
632
833
  var _a;
633
- return (h(Host, { key: 'ef15c655a4e3e5020de233c8627dbefc62ed9e56', role: "dialog", size: this.size, id: this.el.id }, h("slot", { key: '55950e9d76cd33495f14eb159d998dc11277c0f9', name: "trigger", onSlotchange: this.setupTrigger }), h("div", { key: 'f3e941dec65ec9a7093dc88a82024b6d4db6324a', class: { backdrop: true }, onClick: this.onBackdropClick }, h("div", { key: '48142d79b4de6d1aa146c8c8033a0cfbe9e166da', class: "modal" }, h("button", { key: '6e9501a2b6f69755d93740ce334bfc4a5ea78f60', class: "modal_close", onClick: this.closeModal.bind(this) }, "\u00D7"), h("div", { key: '9aadbd409cace25b8e8e8bead47b0610d756e1c4', class: "modal_header" }, h("slot", { key: '32d0f7b10974856e3806e82ffc8d971b3b25e81b', name: "header" }, ((_a = this.el) === null || _a === void 0 ? void 0 : _a.title) && h("h5", { key: '8e5ede7c5f8488adcb42a61f972562c8214aebae', class: "modal_header__title" }, this.el.title))), h("div", { key: 'd00616f0a7865d301a0b090dd91363bde4128867', class: { 'modal_content': true, overflow: this.overflow } }, h("slot", { key: 'd263d339bedadd0557e386e22c4526b98e446027' })), h("div", { key: 'cf96d19157c63b68abc85e95042a9619accd26fd', class: "modal_footer" }, h("slot", { key: '0b41d59fecf287e452d10aa6a6f4ab1a6e07f77f', name: "footer" }))))));
834
+ return (h(Host, { key: '7d7317c22e0ad0318e3f2dd191bfb77c75cd714e', role: "dialog", size: this.size, id: this.el.id }, h("slot", { key: '33f447364a130b66b01d2c15e14dd8e9c5524abe', name: "trigger", onSlotchange: this.setupTrigger }), h("div", { key: '102daec2e60b1062b3e7e60c9885697ac809b3f2', class: { backdrop: true }, onClick: this.onBackdropClick }, h("div", { key: '37b9a20e62e333b7ed0b2acfdadeb328c78af618', class: "modal" }, h("button", { key: 'c670eb2fa28e16089f01b4c3760f83cf4fbcd3d9', class: "modal_close", onClick: this.closeModal.bind(this) }, "\u00D7"), h("div", { key: '9dda2d815674cc8c49247a65c1ec95dea29da54b', class: "modal_header" }, h("slot", { key: '1eab44b952ff237e74a4d6833db585e3b2ffdab2', name: "header" }, ((_a = this.el) === null || _a === void 0 ? void 0 : _a.title) && h("h5", { key: '2aba68d70d04b62cb6551e4f133a0d774df34064', class: "modal_header__title" }, this.el.title))), h("div", { key: 'a832e12c09482a9f4007a2381a23695ceea82759', class: { 'modal_content': true, overflow: this.overflow } }, h("slot", { key: '1da580e3d2116360d429bdea2e9697a66932c50e' })), h("div", { key: 'cd5fd0aa543ef9a5777b2b8553cdc0909bd22eb0', class: "modal_footer" }, h("slot", { key: '3b168cb8474a2aa407fbb8b35e6c49c115038fe5', name: "footer" }))))));
634
835
  }
635
836
  disconnectedCallback() {
636
837
  this.removeTriggerListener();
@@ -647,7 +848,7 @@ var NOTIFICATION_VARIANTS;
647
848
  NOTIFICATION_VARIANTS["ERROR"] = "error";
648
849
  })(NOTIFICATION_VARIANTS || (NOTIFICATION_VARIANTS = {}));
649
850
 
650
- const xvNotificationCss = ":host{--notification-icon-size:20px;display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;border-radius:3px;padding:var(--gap-md, 16px);column-gap:var(--gap-md, 16px);border:1px solid}:host .content{flex:1;text-align:left;color:var(--text-primary, #333);font-family:var(--ff-body, Tahoma);font-size:var(--fz-md, 14px);line-height:128%;letter-spacing:0.16px;display:flex;flex-direction:column;row-gap:var(--spacing-06, 24px)}:host .content_title{text-align:left;margin:0;padding:0;font-weight:700;line-height:var(--notification-icon-size)}:host .icon{width:var(--notification-icon-size);height:var(--notification-icon-size);font-size:var(--notification-icon-size);fill:currentColor}:host .close{--notification-close-size:16px;background-color:transparent;border:none;width:var(--notification-close-size);height:var(--notification-close-size);min-width:var(--notification-close-size);min-height:var(--notification-close-size);position:relative;padding:0;margin:0;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:300ms ease-in-out opacity}:host .close:after,:host .close:before{content:\"\";position:absolute;top:calc(50% - var(--notification-close-size) / 2);left:calc(50% - 1px);display:inline-block;width:2px;height:90%;background-color:var(--button-tertiary, #273435)}:host .close:after{transform:rotate(45deg)}:host .close:before{transform:rotate(-45deg)}:host .close:hover{opacity:0.7}:host .close:active{opacity:0.3}:host ::slotted([slot=footer]){margin:0;padding:0}:host([type=info]){border-color:var(--support-info, #1B87B2);background-color:var(--support-info-background, #E2F5F8)}:host([type=info]) .icon{color:var(--support-info, #1B87B2)}:host([type=success]){border-color:var(--support-success, #97BF0D);background-color:var(--support-success-background, #F4F7E5)}:host([type=success]) .icon{color:var(--support-success, #1B87B2)}:host([type=warning]){border-color:var(--support-warning, #FF7F04);background-color:var(--support-warning-backround, #FFF9C2)}:host([type=warning]) .icon{color:var(--support-warning, #FF7F04)}:host([type=error]){border-color:var(--support-error, #F1290E);background-color:var(--support-error-background, #FEE9E8)}:host([type=error]) .icon{color:var(--support-error, #F1290E)}";
851
+ const xvNotificationCss = ":host{--notification-icon-size:20px;display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;border-radius:3px;padding:var(--gap-md, 16px);column-gap:var(--gap-md, 16px);border:1px solid}:host .content{flex:1;text-align:left;color:var(--text-primary, #333);font-family:var(--ff-body, Tahoma);font-size:var(--fz-md, 14px);line-height:128%;letter-spacing:0.16px;display:flex;flex-direction:column;row-gap:var(--spacing-06, 24px);word-break:break-all}:host .content_title{text-align:left;margin:0;padding:0;font-weight:700;line-height:var(--notification-icon-size)}:host .icon{width:var(--notification-icon-size);height:var(--notification-icon-size);font-size:var(--notification-icon-size);fill:currentColor}:host .close{--notification-close-size:16px;background-color:transparent;border:none;width:var(--notification-close-size);height:var(--notification-close-size);min-width:var(--notification-close-size);min-height:var(--notification-close-size);position:relative;padding:0;margin:0;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:300ms ease-in-out opacity}:host .close:after,:host .close:before{content:\"\";position:absolute;top:calc(50% - var(--notification-close-size) / 2);left:calc(50% - 1px);display:inline-block;width:2px;height:90%;background-color:var(--button-tertiary, #273435)}:host .close:after{transform:rotate(45deg)}:host .close:before{transform:rotate(-45deg)}:host .close:hover{opacity:0.7}:host .close:active{opacity:0.3}:host ::slotted([slot=footer]){margin:0;padding:0}:host([type=info]){border-color:var(--support-info, #1B87B2);background-color:var(--support-info-background, #E2F5F8)}:host([type=info]) .icon{color:var(--support-info, #1B87B2)}:host([type=success]){border-color:var(--support-success, #97BF0D);background-color:var(--support-success-background, #F4F7E5)}:host([type=success]) .icon{color:var(--support-success, #1B87B2)}:host([type=warning]){border-color:var(--support-warning, #FF7F04);background-color:var(--support-warning-backround, #FFF9C2)}:host([type=warning]) .icon{color:var(--support-warning, #FF7F04)}:host([type=error]){border-color:var(--support-error, #F1290E);background-color:var(--support-error-background, #FEE9E8)}:host([type=error]) .icon{color:var(--support-error, #F1290E)}";
651
852
 
652
853
  const XvNotification = class {
653
854
  constructor(hostRef) {
@@ -676,13 +877,67 @@ const XvNotification = class {
676
877
  };
677
878
  }
678
879
  render() {
679
- return (h(Host, { key: '4600f7f3594935680e104bad02663f288460b39b', class: "xv-notification", type: this.variant }, this.renderIcon(this.variant), h("div", { key: 'ffc9842337dcaba886a58fc80d96810c33a47f76', class: "content" }, h("div", { key: '1236432271bf6cb93c5bfbb0614d87c0d1fb183b', class: "content_wrapper" }, this.el.title && h("h5", { key: '10cbc18d55fe9842e31a65b814015eb66a4641af', class: "content_title" }, this.el.title), h("slot", { key: 'e127dfc35e3e6542c417ef27ab01515fd83af9f2' })), h("slot", { key: 'beb7103db214900e7833187cf6c9ee3dffc18b03', name: "footer" })), this.dismissible && h("button", { key: '791ef115a1739271ec9d87e145691ecaf18b2498', class: "close", onClick: this.closeHandle })));
880
+ return (h(Host, { key: '8e31924e48581db6ff89b5500fb8467aa9be2314', class: "xv-notification", type: this.variant }, this.renderIcon(this.variant), h("div", { key: '2c23995a9f4fb150969826871451bbb7a4310595', class: "content" }, h("div", { key: '78bdf254268d1860c628a960dcf9146fc231153a', class: "content_wrapper" }, this.el.title && h("h5", { key: '3004f153ee078aea0189101f0b98d3fa6a0970c1', class: "content_title" }, this.el.title), h("slot", { key: '1f3dafa38f5f87a35cf8b23433a853c318dd6df0' })), h("slot", { key: '04ccf160451a11797f5d927403c531bbd55d7cfe', name: "footer" })), this.dismissible && h("button", { key: '6ac59409e46187eacae93f728f695c8e1d28dc21', class: "close", onClick: this.closeHandle })));
680
881
  }
681
882
  static get assetsDirs() { return ["xv-notification/icons"]; }
682
883
  get el() { return getElement(this); }
683
884
  };
684
885
  XvNotification.style = xvNotificationCss;
685
886
 
887
+ const xvNumberInputCss = ":host{display:inline-block;text-align:left}:host .control_label{display:block;margin-bottom:var(--spacing-03);color:var(--text-secondary, #515151);font-family:var(--ff-body, Tahoma);font-size:var(--fz-sm, 12px);font-style:normal;font-weight:700;line-height:var(--fz-md);letter-spacing:0.32px}:host .control_input{display:flex;border:1px solid var(--border-subtle-01);outline:2px solid transparent;background-color:transparent;border-radius:3px;transition:250ms ease-in-out border-color, 250ms ease-in-out outline-color}:host .control_input:hover{border-color:var(--border-subtle-selected-01)}:host .control_input:focus-within{outline-color:var(--focus)}:host .control_input.error{outline-color:var(--support-error)}:host .control_input.readonly{border-radius:0;border-top-width:0;border-left-width:0;border-right-width:0;outline-color:transparent}:host .control_input input[type=number]{flex:1;border:none;outline:none;-moz-appearance:textfield;background-color:transparent;margin:0;padding-block:0;padding-inline:var(--spacing-05);box-sizing:border-box;color:var(--text-primary);min-width:20px;font-style:normal;font-weight:400;letter-spacing:0.16px}:host .control_input input[type=number]::-webkit-inner-spin-button,:host .control_input input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}:host .control_input__icons{display:inline-flex;align-items:stretch;column-gap:2px}:host .control_input__icons .status-icon{display:inline-flex;align-items:center;align-self:center;font-size:1.35em}:host .control_input__icons .status-icon.error{background-color:var(--support-error);color:white;width:16px;height:16px;border-radius:8px;font-size:12px;font-weight:bold;align-items:center;justify-content:center}:host .control_input__icons .status-icon.warning{color:var(--support-warning)}:host .control_input__icons hr{border:none;outline:none;width:2px;height:60%;align-self:center;background-color:var(--border-subtle-01);display:inline-flex}:host .message{margin:var(--spacing-02) 0 0;color:var(--text-helper, #646464);font-size:var(--fz-sm, 12px);font-style:normal;font-weight:400;line-height:var(--fz-md, 16px);letter-spacing:0.32px}:host .message.error{color:var(--text-error)}:host .message.warning{color:var(--text-secondary, #515151)}:host(.disabled){cursor:not-allowed}:host(.disabled) .control_label,:host(.disabled) .control_input input[type=number],:host(.disabled) .control_input input[type=number]::placeholder,:host(.disabled) .message:not(.error){color:var(--text-disabled);cursor:not-allowed}:host(.disabled) .control_input__icons,:host(.disabled) .message.error{opacity:0.5;cursor:not-allowed}:host([block]){display:block}";
888
+
889
+ const XvNumberInput = class {
890
+ constructor(hostRef) {
891
+ registerInstance(this, hostRef);
892
+ this.valueChange = createEvent(this, "valueChange");
893
+ if (hostRef.$hostElement$["s-ei"]) {
894
+ this.internals = hostRef.$hostElement$["s-ei"];
895
+ }
896
+ else {
897
+ this.internals = hostRef.$hostElement$.attachInternals();
898
+ hostRef.$hostElement$["s-ei"] = this.internals;
899
+ }
900
+ this.step = 10;
901
+ this.loading = false;
902
+ this.size = SIZE_VAR.MD;
903
+ this.increment = () => {
904
+ const newValue = (this.value || 0) + this.step;
905
+ if (this.max !== undefined && newValue > this.max)
906
+ return;
907
+ this.setValue(newValue);
908
+ };
909
+ this.decrement = () => {
910
+ const newValue = (this.value || 0) - this.step;
911
+ if (this.min !== undefined && newValue < this.min)
912
+ return;
913
+ this.setValue(newValue);
914
+ };
915
+ this.handleInput = (event) => {
916
+ const input = event.target;
917
+ const num = parseFloat(input.value) || 0;
918
+ if (isNaN(num))
919
+ return;
920
+ this.setValue(num);
921
+ };
922
+ }
923
+ setValue(value) {
924
+ var _a;
925
+ this.value = value;
926
+ this.internals.setFormValue((_a = this.value) === null || _a === void 0 ? void 0 : _a.toString());
927
+ this.valueChange.emit(this.value);
928
+ }
929
+ render() {
930
+ return (h(Host, { key: '110699b94aabcbb96f29a63a893f6fd0c4c2724b', class: { disabled: !!this.disabled } }, h("label", { key: '05c864b467c85fd2c35605b2c4d35e158345df19', class: "control" }, this.label && h("span", { key: 'ee1f92578bd90677b54d49154286ff83a1e0106c', class: "control_label" }, this.label), h("div", { key: 'a4745ad74f55576f06587f162baf581373e630a6', class: {
931
+ 'control_input': true,
932
+ readonly: !!this.readonly,
933
+ error: !!this.error,
934
+ warning: !!this.warning
935
+ } }, h("input", { key: 'b797225274e669683326b747e7c4a3f7dadd618d', 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: '8f6632ad50ff3e2eb143f6e5d8f5897e86e65f9e', 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: 'feb522703f489f47ef80cf50f513c4c13a8c4c9e', size: this.size, variant: "ghost", disabled: this.disabled || this.readonly, onClick: this.decrement, "aria-label": "Decrease" }, h("span", { key: '12be1db37508f37eb4f02e3e160a502918099fe4', slot: "icon-left", class: "status-icon" }, "\u2212")), h("hr", { key: '7b92c8e9f6123064f909a8263e26bb08f5557f47' }), h("xv-button-v2", { key: '0c6bc01f56b2e95e7f493b9183b2dda86311e030', size: this.size, variant: "ghost", disabled: this.disabled || this.readonly, onClick: this.increment, "aria-label": "Increase" }, h("span", { key: '8e72d1a977743731c5cd5a186e014510fc046839', slot: "icon-left", class: "status-icon" }, "+"))))), this.helper && h("p", { key: '09a014e9b38ce4f3a8e98722401234642d57b51f', 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));
936
+ }
937
+ static get formAssociated() { return true; }
938
+ };
939
+ XvNumberInput.style = xvNumberInputCss;
940
+
686
941
  const xvOverflowMenuCss = ":host{--overflow-menu-size:40px;--overflow-menu-item-padding:11px 16px;display:inline-flex;flex-direction:column;position:relative}:host .btn{display:inline-flex;align-items:center;justify-content:center;width:var(--overflow-menu-size);height:var(--overflow-menu-size);background-color:transparent;border:1px solid transparent;transition:300ms ease-in-out color, 300ms ease-in-out background-color, 200ms ease box-shadow;font-size:calc(var(--overflow-menu-size) / 2);color:var(--icon-primary);border-radius:5%;margin:0;padding:0}:host .btn:hover{cursor:pointer;color:var(--link-primary-hover);background-color:var(--background-hover)}:host .btn:active{background-color:var(--background-active);color:var(--icon-disabled)}:host .btn:disabled{background-color:transparent;opacity:0.5;cursor:not-allowed}:host .list{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;background-color:var(--layer-01);position:absolute;top:100%;left:0;max-height:0;overflow:hidden;border-radius:3px;transition:200ms ease-in-out max-height, 100ms ease box-shadow;min-width:128px;max-width:50vw;width:max-content}:host .list.open{overflow:visible}:host .list ::slotted(xv-overflow-menu-v2-item){padding:var(--overflow-menu-item-padding)}:host .list.position-right{left:initial;right:0;border-top-right-radius:0}:host .list.position-left{border-top-left-radius:0}:host([size=xs]){--overflow-menu-item-padding:4px 16px;--overflow-menu-size:24px}:host([size=sm]){--overflow-menu-size:32px;--overflow-menu-item-padding:7px 16px}:host([size=md]){--overflow-menu-size:40px;--overflow-menu-item-padding:11px 16px}:host([size=lg]){--overflow-menu-size:48px;--overflow-menu-item-padding:16px}:host([size=xl]){--overflow-menu-size:56px;--overflow-menu-item-padding:16px}:host([open]) .btn{border-bottom-left-radius:0;border-bottom-right-radius:0;background-color:var(--layer-01);box-shadow:-2px 2px 2px 0 rgba(0, 0, 0, 0.1);z-index:1}:host([open]) .list{max-height:500px;z-index:2;box-shadow:-2px 2px 2px 0 rgba(0, 0, 0, 0.1)}";
687
942
 
688
943
  const XvOverflowMenu = class {
@@ -735,7 +990,7 @@ const XvOverflowMenu = class {
735
990
  }
736
991
  }
737
992
  render() {
738
- return (h(Host, { key: 'b375598d3169590a82225cc37f52c573bee30c9f', class: "xv-overflow-menu", size: this.size, role: "menu", tabindex: -1 }, h("button", { key: '693ff71c2c32b5eafe680701a519560d36aadf31', class: { btn: true, open: this.open }, onClick: this.onOpenToggle, disabled: this.disabled }, h("svg", { key: '23067a22dfbab57f4840bb31a46e18b311b58316', xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 128 512" }, h("path", { key: 'f3eeded9441704b3ec6fc378bb4518595684d1be', 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" }))), h("div", { key: '9b7abc36a3b00b02d654b9bf369630164fb25d19', class: { list: true, open: this.open, [`position-${this.position}`]: true } }, h("slot", { key: '4309141f86fb81e49438d033132bc460b7386c7a' }))));
993
+ return (h(Host, { key: '1dc9416f0d046119e11b2c99bb3eb6d333304ee0', class: "xv-overflow-menu", size: this.size, role: "menu", tabindex: -1 }, h("button", { key: 'df078f87e1b9b2e9fdb057f6186599f86873aa6f', class: { btn: true, open: this.open }, onClick: this.onOpenToggle, disabled: this.disabled }, h("svg", { key: 'd89ae23334072ed22358920a9a8e909c5572936b', xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 128 512" }, h("path", { key: '3a4aaf227ca86efbdf2655c34c8cc7dc05e55b21', 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" }))), h("div", { key: '8370f57fe6a9dc79ae90980f68b9ac91364bcdd1', class: { list: true, open: this.open, [`position-${this.position}`]: true } }, h("slot", { key: '8a40ab08790a23db858c8e5d393dbb555f7f8d52' }))));
739
994
  }
740
995
  componentDidLoad() {
741
996
  this.openChangeHandle();
@@ -771,7 +1026,7 @@ const XvOverflowMenuItem = class {
771
1026
  this.itemClick.emit({ event, value: this.value });
772
1027
  }
773
1028
  render() {
774
- return (h(Host, { key: 'e2cb692dfe47684c9ef1cb8cd9519126b98d3be3', class: "xv-overflow-menu-item", role: "menuitem", disabled: this.disabled }, h("slot", { key: '7202537314f9992ef86f5db66a76234d749c9e96' })));
1029
+ return (h(Host, { key: 'b77fdd436fb29e1619c91dd9199496b712209978', class: "xv-overflow-menu-item", role: "menuitem", disabled: this.disabled }, h("slot", { key: '79ad627095559eaafc17c24658969bbe74ce200b' })));
775
1030
  }
776
1031
  };
777
1032
  XvOverflowMenuItem.style = xvOverflowMenuItemCss;
@@ -845,7 +1100,7 @@ const XvProgressIndicator = class {
845
1100
  this.updateChildItems();
846
1101
  }
847
1102
  render() {
848
- return (h(Host, { key: '5d3f317d147dd29f3e0a00064a2ca4a0a79f101d', variant: this.variant, size: this.size, class: { 'xv-progress-indicator': true } }, h("slot", { key: '1e6a9d655861024aee5d8a4e4e159d5fd06250a8' })));
1103
+ return (h(Host, { key: '3e05f1ba497e8c471d93122e6bce9da9520fb41e', variant: this.variant, size: this.size, class: { 'xv-progress-indicator': true } }, h("slot", { key: 'dbefc5482792a6cbab611aef15e32709125b85b3' })));
849
1104
  }
850
1105
  get el() { return getElement(this); }
851
1106
  static get watchers() { return {
@@ -862,7 +1117,7 @@ const XvProgressIndicatorItem = class {
862
1117
  this.status = PROGRESS_ITEM_STATUS.NO_STARTED;
863
1118
  }
864
1119
  render() {
865
- return (h(Host, { key: '7ab9049e23319e40102861c273bcdbe50a007d47', status: this.status, class: { 'xv-progress-indicator-item': true } }, h("span", { key: 'b354a67c14cce7dfbd4dcc1ea5fbefc322e8387f', class: "line" }), h("span", { key: 'ac9328b00220e878f41601ed622b4bd72f1f4525', class: "icon" }, h("svg", { key: '72315a3e5bdbc53b9c9bad11d0fc664ccbc71dfa', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512" }, h("path", { key: 'a2fd19444c84e59ff52a28e60b77bf8a1a304b0d', 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: '8a61ee0d9f5b7cb2d5ec3a3a95de9c6520da3438', class: "label" }, h("slot", { key: '597cc0cd7efb06d78070fdf087537db220784183' }))));
1120
+ return (h(Host, { key: 'aa7a93c986dad88003765936698bd0a9b9ab69c9', status: this.status, class: { 'xv-progress-indicator-item': true } }, h("span", { key: '0858a4714f47c017768c565e97686edba8d01fac', class: "line" }), h("span", { key: 'a4984429a6fa6d24b102ff1f547e6b02060a2ace', class: "icon" }, h("svg", { key: 'aaafe9512fcbd04c6eb08df1cac3abe3a9672187', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 448 512" }, h("path", { key: 'e2016e50eea686b070bee9060ae08b428ac9166c', 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: '31231bac86472ec197f1f777fafa409c3be4f3fe', class: "label" }, h("slot", { key: '2aa765f1e87050f1398d31fbae3cfd1c79729bc4' }))));
866
1121
  }
867
1122
  get el() { return getElement(this); }
868
1123
  };
@@ -877,7 +1132,7 @@ const XvTab = class {
877
1132
  this.loading = false;
878
1133
  }
879
1134
  render() {
880
- return (h(Host, { key: 'acf8d6047f8d0b12a4353c439bb8be5e96a6de2d', disabled: this.disabled, name: this.name }, this.loading ? h("xv-loader-v2", { size: SIZE_VAR.LG }) : h("slot", null)));
1135
+ return (h(Host, { key: '560790ac18797ba2238cff26a7ef87eb8b53d483', disabled: this.disabled, name: this.name }, this.loading ? h("xv-loader-v2", { size: SIZE_VAR.LG }) : h("slot", null)));
881
1136
  }
882
1137
  };
883
1138
  XvTab.style = xvTabCss;
@@ -916,7 +1171,7 @@ const XvTable = class {
916
1171
  .join(' ') + ' repeat(auto-fit, minmax(0, 1fr))');
917
1172
  }
918
1173
  render() {
919
- return (h(Host, { key: '4894a985912a52eb0173566d6c2daff7dfc39035', class: { batchVisible: !!this.selectedCount } }, h("slot", { key: 'c370d3fd370a78528ff5e540fb59239c6b416bd9', name: "title" }, !!this.el.title && h("h2", { key: 'aefcffd432a2c24c6f84924d03fad5f0498d4b10', class: "xv-table-title" }, this.el.title)), h("slot", { key: '227b2ace04ed35ce3cff88c34d99054d8c552bc3', name: "toolbar" }), h("div", { key: '810934177b689d49dc1402aac97502081982744b', class: "xv-table" }, h("div", { key: 'db7c19f33120457dbd53a491579379741187652f', class: "batch-actions" }, h(Fragment, { key: 'b9c688ccda045afc1fd46ebed503d96f3096f788' }, h("div", { key: '628767d1a33fa98195056441e871a4beccb5b1ec', class: "batch-actions_content" }, h("slot", { key: 'b73f2d55c5c65daaabce1a89eb61ed328445c804', name: "batch" })), h("p", { key: '162fa01f1027c4c0df8a784995b50a085f44e98b', class: "batch-actions_count" }, !!this.selectedCount && `${this.selectedCount} ${this.selectedCount === 1 ? 'Position ausgewählt' : 'Positionen ausgewählt'}`))), h("div", { key: '68b9c4807c9e6dd297bc74867f3230154493d5e6', class: "xv-table_wrapper" }, h("slot", { key: 'fd28df98e8497825d4f4ecfb3e292c724952ae83' }), h("slot", { key: 'f1604b484a87f35fffa11fc55eb05ff52d3d55ac', name: "footer" })), !!this.loading && (h("div", { key: '6e7cae29ba018e5af760cdcb9a9387e5e33369ae', class: "xv-table_loading" }, h("xv-loader-v2", { key: '72f23f7b4de8edeae93565bccceeca9e78a071d4', size: SIZE_VAR.LG }))))));
1174
+ return (h(Host, { key: '173110599b9a11fec560bfa5f648f5fed235175f', class: { batchVisible: !!this.selectedCount } }, h("slot", { key: '3966a6ba192313ab9cbe5b26cadd765c12b08262', name: "title" }, !!this.el.title && h("h2", { key: '51bf9b76da8f3605f1254ff3df0e9bf68751ec2c', class: "xv-table-title" }, this.el.title)), h("slot", { key: '9276e8836c4086bc2b8d1dc4aacdc2b447b31f57', name: "toolbar" }), h("div", { key: '8fa9c349b7d377cd2860054de08fdea4061462cd', class: "xv-table" }, h("div", { key: '0dd60cd039409d66e6c024a46e9c7353b825fc39', class: "batch-actions" }, h(Fragment, { key: '5b2b17c1ba82cb36c57fb7c99c54f1a66f4146e0' }, h("div", { key: '6fbdb8faad086fe53fe9dc277065db514327a498', class: "batch-actions_content" }, h("slot", { key: 'e8769e3dfe0e539dbfc14033079636f364556e31', name: "batch" })), h("p", { key: '857f33d3595cf5e5f0a0ffc4474e801ea9e4aeaa', class: "batch-actions_count" }, !!this.selectedCount && `${this.selectedCount} ${this.selectedCount === 1 ? 'Position ausgewählt' : 'Positionen ausgewählt'}`))), h("div", { key: '4f0d41aabd8f78f04c0ded187c2dc117794802a8', class: "xv-table_wrapper" }, h("slot", { key: '7de743d320da2d68f9835b0dacd3db192b5e12b9' }), h("slot", { key: 'b0fb15c2fb82e94a249d2f0be12a04066ff244ea', name: "footer" })), !!this.loading && (h("div", { key: 'bd3947a1ad4d34bb0ea57a4648336d40d2b4499b', class: "xv-table_loading" }, h("xv-loader-v2", { key: '0991ecbde1fae86b8a7da8b348594a76e176fc09', size: SIZE_VAR.LG }))))));
920
1175
  }
921
1176
  componentWillLoad() {
922
1177
  this.setColsSizeTemplate();
@@ -964,7 +1219,7 @@ const XvTableCell = class {
964
1219
  }
965
1220
  ;
966
1221
  render() {
967
- return (h(Host, { key: 'a43012499f2ab81a47702b6861fd39180729ce8d' }, h("slot", { key: 'bcb83a24979755ec0959e09e849dd8b9fa04a95b' })));
1222
+ return (h(Host, { key: '49c2faf25ce05c90ba4813108cfe4fc73fa165ce' }, h("slot", { key: '885295db92236d22b675d3fdf40a68f828d3ca1a' })));
968
1223
  }
969
1224
  get el() { return getElement(this); }
970
1225
  };
@@ -982,7 +1237,7 @@ const XvTableExpand = class {
982
1237
  };
983
1238
  }
984
1239
  render() {
985
- return (h(Host, { key: 'e1929797c81be1a2ea84916899d39da5d408e6bb' }, h("button", { key: 'd17ee91f88dcde48ccb2b1e0de40eb733d505a78', class: { 'expand-btn': true, open: this.open }, disabled: this.disabled, onClick: this.handleExpand }), h("slot", { key: '33c52bc864e741c66d448e80ec5d675c433aa649', name: XV_EXPANDABLE_KEY }), h("div", { key: '02795ad1ee52bdcf34519b9fcc4325698ef61919', class: { expandableContent: true, open: this.open } }, h("slot", { key: '185185f6fed3ae43a09c85903628eced54847cb7' }))));
1240
+ return (h(Host, { key: '1cdc6260aa3933b453fb16211c28d6fbea2a0350' }, h("button", { key: '53dbd31f7c4a47190af4963bf8437c061ca59827', class: { 'expand-btn': true, open: this.open }, disabled: this.disabled, onClick: this.handleExpand }), h("slot", { key: 'ba53a344f92e28fa173bba7fa49e0b9c8a3036db', name: XV_EXPANDABLE_KEY }), h("div", { key: '24b785baa2b308a46414b14f5fbe87a88bb91deb', class: { expandableContent: true, open: this.open } }, h("slot", { key: '8dbc793cd4e27694dac3cf240b9dd919bac0f36b' }))));
986
1241
  }
987
1242
  componentDidLoad() {
988
1243
  setAttr(this.el.parentElement, XV_EXPANDABLE_KEY, true);
@@ -1037,7 +1292,7 @@ const XvTableRow = class {
1037
1292
  }
1038
1293
  }
1039
1294
  render() {
1040
- return (h(Host, { key: '0fa754f2982bb475a1354cf8c7653cdbc9b710bc' }, this.variant !== undefined && (h("xv-table-v2-cell", { key: '344b3acf23c6e96e7c2422bc87ba47ddc468fe32', class: "cell-control" }, this.variant === 'checkbox' && (h("xv-checkbox-v2", { key: '718a01dddcd1d5f3c354a26f8c4d7d0920048be1', name: this.name, partial: this.partial, checked: this.checked || this.partial, disabled: this.disabled, required: this.required, readonly: this.readonly, onEventChange: this.checkHandle })), this.variant === 'radio' && (h("input", { key: '8c49a2babdf5388004b1ab3cb1639206687f7535', type: "radio", name: this.name, checked: this.checked || this.partial, disabled: this.disabled, required: this.required, readonly: this.readonly })))), h("slot", { key: '565e6e933a38fd71ccd49f28772014ca3cb06398' })));
1295
+ return (h(Host, { key: 'bbf22a27e0dad429a6b78add5cc7582af2c9fb05' }, this.variant !== undefined && (h("xv-table-v2-cell", { key: '55c69e4d4b996db975015a5c4583e7b47e08a84a', class: "cell-control" }, this.variant === 'checkbox' && (h("xv-checkbox-v2", { key: 'ab88c9827b708e849088214eb26a83157f4775aa', name: this.name, partial: this.partial, checked: this.checked || this.partial, disabled: this.disabled, required: this.required, readonly: this.readonly, onEventChange: this.checkHandle })), this.variant === 'radio' && (h("input", { key: 'dbb9e381633828073940e32bf5b40231e3e34857', type: "radio", name: this.name, checked: this.checked || this.partial, disabled: this.disabled, required: this.required, readonly: this.readonly })))), h("slot", { key: 'a2043f89fb359453c4839c000fdcead5ab8769ae' })));
1041
1296
  }
1042
1297
  componentWillLoad() {
1043
1298
  this.setInitialAttrs();
@@ -1131,8 +1386,7 @@ const XvTabs = class {
1131
1386
  const nextTab = this.tabElements[nextIdx];
1132
1387
  if (!nextTab || nextTab.hasAttribute('disabled'))
1133
1388
  return;
1134
- this.active = nextTab.getAttribute('name') || `${nextIdx}`;
1135
- this.scrollToActiveTab();
1389
+ this.handleTabClick(nextTab.getAttribute('name') || nextIdx);
1136
1390
  }
1137
1391
  render() {
1138
1392
  var _a, _b, _c;
@@ -1169,19 +1423,12 @@ const XvTag = class {
1169
1423
  this.closeClick.emit(e);
1170
1424
  }
1171
1425
  render() {
1172
- return (h(Host, { key: '14b055dd7dedf6b5fcba8b8b3eb2f5f508d805a9', style: { color: this.color, background: this.bg }, class: `xv-tag ${this.disabled ? 'disabled' : ''} ${this.size}` }, h("div", { key: 'f68b22e13acb0cde1e9f80260625a72439a412df', class: "xv-tag_content" }, h("slot", { key: 'c4bbfc6909234057747f0cb4b13fd6a24f14a356' })), this.closeable && (h("button", { key: 'e05cd88033f44a852c7de9615fde4a4ebcee0d79', onClick: this.closeHandler.bind(this), class: "xv-tag_close" }))));
1426
+ return (h(Host, { key: '0f30c136dab805c0c443c6ca81d8245d4ec6f0b5', style: { color: this.color, background: this.bg }, class: `xv-tag ${this.disabled ? 'disabled' : ''} ${this.size}` }, h("div", { key: 'ac1ee723f78ed280af64ea13b8475d7f0ddd01ee', class: "xv-tag_content" }, h("slot", { key: 'b808df5553d25f32bbe875c1ff68f68b6a6d4c73' })), this.closeable && (h("button", { key: '23784cc30119255ad0e7f80a8d23322922e2c633', onClick: this.closeHandler.bind(this), class: "xv-tag_close" }))));
1173
1427
  }
1174
1428
  };
1175
1429
  XvTag.style = xvTagCss;
1176
1430
 
1177
- var TextInputStatus;
1178
- (function (TextInputStatus) {
1179
- TextInputStatus["ERROR"] = "error";
1180
- TextInputStatus["WARNING"] = "warning";
1181
- TextInputStatus["DEF"] = "";
1182
- })(TextInputStatus || (TextInputStatus = {}));
1183
-
1184
- const xvTextInputCss = ":host{--text-input-padding-x:16px;--text-input-padding-y:11px;display:inline-flex;flex-direction:column;row-gap:calc(var(--text-input-padding-y) / 2);text-align:left;font-family:var(--ff-body, Tahoma)}:host .label{margin:0;color:var(--text-secondary, #515151);font-size:var(--fz-sm, 12px);font-weight:700;line-height:133.333%;letter-spacing:0.32px}:host .control{margin:0;position:relative;box-sizing:border-box;display:flex;column-gap:5px;align-items:center;flex-direction:row}:host .control input{width:100%;background-color:var(--field-02, #FFF);border:1px solid var(--border-strong-01, #E3E3E3);border-radius:3px;padding-block:var(--text-input-padding-y);padding-inline-start:var(--text-input-padding-x);padding-inline-end:var(--text-input-padding-x);flex:1;outline:2px solid transparent;color:var(--text-primary, #333);font-size:var(--fz-md, 14px);font-style:normal;font-weight:400;line-height:128.571%;letter-spacing:0.16px;transition:0.2s ease-in-out border-color, 0.2s ease-in-out outline-color}:host .control input.withIcon{padding-inline-end:calc(var(--text-input-padding-x) + 22px)}:host .control input::placeholder{color:var(--text-placeholder, #ACACAC)}:host .control input:focus{outline:2px solid var(--focus, #273435)}:host .control_icon{position:absolute;top:calc(50% - 9px);right:var(--text-input-padding-y);width:18px;height:18px}:host .control_icon.error{color:var(--support-error, #F1290E)}:host .control_icon.warning{color:var(--support-warning, #FF7F04)}:host .helper{margin:0;color:var(--text-helper, #646464);font-size:var(--fz-sm, 12px);line-height:133.333%;letter-spacing:0.32px}:host([status=error]) .control input{border-color:var(--support-error, #F1290E)}:host([status=error]) .control input:focus{outline-color:var(--support-error, #F1290E)}:host([status=error]) .helper{color:var(--text-error, #D62512)}:host([readonly]) .control input{border-top-color:transparent;border-right-color:transparent;border-left-color:transparent;cursor:default;background-color:transparent}:host([readonly]) .control input:focus{outline-color:transparent}:host([disabled]){opacity:0.4}:host([disabled]) .control input{cursor:not-allowed}:host([size=xs]){--text-input-padding-y:4px;--text-input-padding-x:6px}:host([size=sm]){--text-input-padding-y:7px}:host([size=md]){--text-input-padding-y:11px}:host([size=lg]){--text-input-padding-y:15px}:host([size=xl]){--text-input-padding-y:16px;--text-input-padding-x:18px}";
1431
+ const xvTextInputCss = ":host{display:inline-block;text-align:left}:host .control_label{display:block;margin-bottom:var(--spacing-03);color:var(--text-secondary, #515151);font-family:var(--ff-body, Tahoma);font-size:var(--fz-sm, 12px);font-style:normal;font-weight:700;line-height:var(--fz-md);letter-spacing:0.32px}:host .control_input{display:flex;border:1px solid var(--border-subtle-01);outline:2px solid transparent;background-color:transparent;border-radius:3px;transition:250ms ease-in-out border-color, 250ms ease-in-out outline-color}:host .control_input:hover{border-color:var(--border-subtle-selected-01)}:host .control_input:focus-within{outline-color:var(--focus)}:host .control_input.error{outline-color:var(--support-error)}:host .control_input.readonly{border-radius:0;border-top-width:0;border-left-width:0;border-right-width:0;outline-color:transparent}:host .control_input input[type=text]{flex:1;border:none;outline:none;-moz-appearance:textfield;background-color:transparent;margin:0;padding-block:0;padding-inline:var(--spacing-05);box-sizing:border-box;color:var(--text-primary);min-width:20px;font-style:normal;font-weight:400;letter-spacing:0.16px}:host .control_input input[type=text]::-webkit-inner-spin-button,:host .control_input input[type=text]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}:host .control_input__icons{display:inline-flex;align-items:stretch;column-gap:2px;padding-right:var(--spacing-05)}:host .control_input__icons .status-icon{display:inline-flex;align-items:center;align-self:center;font-size:1.35em}:host .control_input__icons .status-icon.error{background-color:var(--support-error);color:white;width:16px;height:16px;border-radius:8px;font-size:12px;font-weight:bold;align-items:center;justify-content:center}:host .control_input__icons .status-icon.warning{color:var(--support-warning)}:host .control_input__icons hr{border:none;outline:none;width:2px;height:60%;align-self:center;background-color:var(--border-subtle-01);display:inline-flex}:host .control_input.xs{height:16px}:host .control_input.sm{height:32px}:host .control_input.md{height:40px}:host .control_input.lg{height:48px}:host .control_input.xl{height:60px}:host .message{margin:var(--spacing-02) 0 0;color:var(--text-helper, #646464);font-size:var(--fz-sm, 12px);font-style:normal;font-weight:400;line-height:var(--fz-md, 16px);letter-spacing:0.32px}:host .message.error{color:var(--text-error)}:host .message.warning{color:var(--text-secondary, #515151)}:host(.disabled){cursor:not-allowed}:host(.disabled) .control_label,:host(.disabled) .control_input input[type=text],:host(.disabled) .control_input input[type=text]::placeholder,:host(.disabled) .message:not(.error){color:var(--text-disabled);cursor:not-allowed}:host(.disabled) .control_input__icons,:host(.disabled) .message.error{opacity:0.5;cursor:not-allowed}:host([block]){display:block}";
1185
1432
 
1186
1433
  const XvTextInput = class {
1187
1434
  constructor(hostRef) {
@@ -1194,63 +1441,1937 @@ const XvTextInput = class {
1194
1441
  this.internals = hostRef.$hostElement$.attachInternals();
1195
1442
  hostRef.$hostElement$["s-ei"] = this.internals;
1196
1443
  }
1197
- this.helper = '';
1198
- this.size = SIZE_VAR.MD;
1199
- this.status = TextInputStatus.DEF;
1444
+ this.type = 'text';
1200
1445
  this.value = '';
1201
- this.disabled = false;
1202
- this.readonly = false;
1203
1446
  this.loading = false;
1447
+ this.size = SIZE_VAR.MD;
1204
1448
  this.handleInput = (e) => {
1205
1449
  const target = e.target;
1206
1450
  this.value = target.value;
1207
1451
  this.valueChange.emit(this.value);
1208
1452
  this.internals.setFormValue(target.value);
1209
1453
  };
1210
- this.getControlIcon = (status) => {
1211
- if (this.loading) {
1212
- return h("xv-loader-v2", { class: "control_icon", size: SIZE_VAR.XS });
1213
- }
1214
- switch (status) {
1215
- case TextInputStatus.ERROR: {
1216
- return (h("svg", { class: "control_icon error", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512" }, h("path", { fill: "currentColor", 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" })));
1217
- }
1218
- case TextInputStatus.WARNING:
1219
- return (h("svg", { class: "control_icon warning", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512" }, h("path", { fill: "currentColor", d: "M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z" })));
1220
- default: return null;
1454
+ }
1455
+ render() {
1456
+ return (h(Host, { key: 'b6a0c46c10d556b41af3b2699b0cf75f54d38215', class: { disabled: !!this.disabled } }, h("label", { key: '39863902604461d77cefe6e11958f09e14d00007', class: "control" }, this.label && h("span", { key: '88d1301fa0f1cb47d391ef3932bdeb084d3df0b7', class: "control_label" }, this.label), h("div", { key: '0e8dff5c41c7375ae4d77af5c5c60312a74ae319', class: {
1457
+ 'control_input': true,
1458
+ readonly: !!this.readonly,
1459
+ [this.size]: true,
1460
+ error: !!this.error,
1461
+ warning: !!this.warning,
1462
+ } }, h("input", { key: 'c8bb49371f49c3b42c83472f9a9e68d05a28801d', type: this.type, placeholder: this.placeholder, disabled: this.disabled, readonly: this.readonly, onInput: this.handleInput, name: this.name, value: this.value }), h("div", { key: 'c0af21628c89dc843ad00168a539327fb47a9ed2', class: "control_input__icons" }, this.loading && h("xv-loader-v2", { key: '2916d327464f17ff4bb140c54dd209101ef90f07', 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))), this.helper && h("p", { key: 'c67ce9f2f5fdfeddf3f42bc1dda62ff4ac9b9801', 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));
1463
+ }
1464
+ static get formAssociated() { return true; }
1465
+ };
1466
+ XvTextInput.style = xvTextInputCss;
1467
+
1468
+ var top = 'top';
1469
+ var bottom = 'bottom';
1470
+ var right = 'right';
1471
+ var left = 'left';
1472
+ var auto = 'auto';
1473
+ var basePlacements = [top, bottom, right, left];
1474
+ var start = 'start';
1475
+ var end = 'end';
1476
+ var clippingParents = 'clippingParents';
1477
+ var viewport = 'viewport';
1478
+ var popper = 'popper';
1479
+ var reference = 'reference';
1480
+ var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {
1481
+ return acc.concat([placement + "-" + start, placement + "-" + end]);
1482
+ }, []);
1483
+ var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {
1484
+ return acc.concat([placement, placement + "-" + start, placement + "-" + end]);
1485
+ }, []); // modifiers that need to read the DOM
1486
+
1487
+ var beforeRead = 'beforeRead';
1488
+ var read = 'read';
1489
+ var afterRead = 'afterRead'; // pure-logic modifiers
1490
+
1491
+ var beforeMain = 'beforeMain';
1492
+ var main = 'main';
1493
+ var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)
1494
+
1495
+ var beforeWrite = 'beforeWrite';
1496
+ var write = 'write';
1497
+ var afterWrite = 'afterWrite';
1498
+ var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];
1499
+
1500
+ function getNodeName(element) {
1501
+ return element ? (element.nodeName || '').toLowerCase() : null;
1502
+ }
1503
+
1504
+ function getWindow(node) {
1505
+ if (node == null) {
1506
+ return window;
1507
+ }
1508
+
1509
+ if (node.toString() !== '[object Window]') {
1510
+ var ownerDocument = node.ownerDocument;
1511
+ return ownerDocument ? ownerDocument.defaultView || window : window;
1512
+ }
1513
+
1514
+ return node;
1515
+ }
1516
+
1517
+ function isElement(node) {
1518
+ var OwnElement = getWindow(node).Element;
1519
+ return node instanceof OwnElement || node instanceof Element;
1520
+ }
1521
+
1522
+ function isHTMLElement(node) {
1523
+ var OwnElement = getWindow(node).HTMLElement;
1524
+ return node instanceof OwnElement || node instanceof HTMLElement;
1525
+ }
1526
+
1527
+ function isShadowRoot(node) {
1528
+ // IE 11 has no ShadowRoot
1529
+ if (typeof ShadowRoot === 'undefined') {
1530
+ return false;
1531
+ }
1532
+
1533
+ var OwnElement = getWindow(node).ShadowRoot;
1534
+ return node instanceof OwnElement || node instanceof ShadowRoot;
1535
+ }
1536
+
1537
+ // and applies them to the HTMLElements such as popper and arrow
1538
+
1539
+ function applyStyles(_ref) {
1540
+ var state = _ref.state;
1541
+ Object.keys(state.elements).forEach(function (name) {
1542
+ var style = state.styles[name] || {};
1543
+ var attributes = state.attributes[name] || {};
1544
+ var element = state.elements[name]; // arrow is optional + virtual elements
1545
+
1546
+ if (!isHTMLElement(element) || !getNodeName(element)) {
1547
+ return;
1548
+ } // Flow doesn't support to extend this property, but it's the most
1549
+ // effective way to apply styles to an HTMLElement
1550
+ // $FlowFixMe[cannot-write]
1551
+
1552
+
1553
+ Object.assign(element.style, style);
1554
+ Object.keys(attributes).forEach(function (name) {
1555
+ var value = attributes[name];
1556
+
1557
+ if (value === false) {
1558
+ element.removeAttribute(name);
1559
+ } else {
1560
+ element.setAttribute(name, value === true ? '' : value);
1561
+ }
1562
+ });
1563
+ });
1564
+ }
1565
+
1566
+ function effect$2(_ref2) {
1567
+ var state = _ref2.state;
1568
+ var initialStyles = {
1569
+ popper: {
1570
+ position: state.options.strategy,
1571
+ left: '0',
1572
+ top: '0',
1573
+ margin: '0'
1574
+ },
1575
+ arrow: {
1576
+ position: 'absolute'
1577
+ },
1578
+ reference: {}
1579
+ };
1580
+ Object.assign(state.elements.popper.style, initialStyles.popper);
1581
+ state.styles = initialStyles;
1582
+
1583
+ if (state.elements.arrow) {
1584
+ Object.assign(state.elements.arrow.style, initialStyles.arrow);
1585
+ }
1586
+
1587
+ return function () {
1588
+ Object.keys(state.elements).forEach(function (name) {
1589
+ var element = state.elements[name];
1590
+ var attributes = state.attributes[name] || {};
1591
+ var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them
1592
+
1593
+ var style = styleProperties.reduce(function (style, property) {
1594
+ style[property] = '';
1595
+ return style;
1596
+ }, {}); // arrow is optional + virtual elements
1597
+
1598
+ if (!isHTMLElement(element) || !getNodeName(element)) {
1599
+ return;
1600
+ }
1601
+
1602
+ Object.assign(element.style, style);
1603
+ Object.keys(attributes).forEach(function (attribute) {
1604
+ element.removeAttribute(attribute);
1605
+ });
1606
+ });
1607
+ };
1608
+ } // eslint-disable-next-line import/no-unused-modules
1609
+
1610
+
1611
+ var applyStyles$1 = {
1612
+ name: 'applyStyles',
1613
+ enabled: true,
1614
+ phase: 'write',
1615
+ fn: applyStyles,
1616
+ effect: effect$2,
1617
+ requires: ['computeStyles']
1618
+ };
1619
+
1620
+ function getBasePlacement(placement) {
1621
+ return placement.split('-')[0];
1622
+ }
1623
+
1624
+ var max = Math.max;
1625
+ var min = Math.min;
1626
+ var round = Math.round;
1627
+
1628
+ function getUAString() {
1629
+ var uaData = navigator.userAgentData;
1630
+
1631
+ if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {
1632
+ return uaData.brands.map(function (item) {
1633
+ return item.brand + "/" + item.version;
1634
+ }).join(' ');
1635
+ }
1636
+
1637
+ return navigator.userAgent;
1638
+ }
1639
+
1640
+ function isLayoutViewport() {
1641
+ return !/^((?!chrome|android).)*safari/i.test(getUAString());
1642
+ }
1643
+
1644
+ function getBoundingClientRect(element, includeScale, isFixedStrategy) {
1645
+ if (includeScale === void 0) {
1646
+ includeScale = false;
1647
+ }
1648
+
1649
+ if (isFixedStrategy === void 0) {
1650
+ isFixedStrategy = false;
1651
+ }
1652
+
1653
+ var clientRect = element.getBoundingClientRect();
1654
+ var scaleX = 1;
1655
+ var scaleY = 1;
1656
+
1657
+ if (includeScale && isHTMLElement(element)) {
1658
+ scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;
1659
+ scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;
1660
+ }
1661
+
1662
+ var _ref = isElement(element) ? getWindow(element) : window,
1663
+ visualViewport = _ref.visualViewport;
1664
+
1665
+ var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;
1666
+ var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;
1667
+ var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;
1668
+ var width = clientRect.width / scaleX;
1669
+ var height = clientRect.height / scaleY;
1670
+ return {
1671
+ width: width,
1672
+ height: height,
1673
+ top: y,
1674
+ right: x + width,
1675
+ bottom: y + height,
1676
+ left: x,
1677
+ x: x,
1678
+ y: y
1679
+ };
1680
+ }
1681
+
1682
+ // means it doesn't take into account transforms.
1683
+
1684
+ function getLayoutRect(element) {
1685
+ var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.
1686
+ // Fixes https://github.com/popperjs/popper-core/issues/1223
1687
+
1688
+ var width = element.offsetWidth;
1689
+ var height = element.offsetHeight;
1690
+
1691
+ if (Math.abs(clientRect.width - width) <= 1) {
1692
+ width = clientRect.width;
1693
+ }
1694
+
1695
+ if (Math.abs(clientRect.height - height) <= 1) {
1696
+ height = clientRect.height;
1697
+ }
1698
+
1699
+ return {
1700
+ x: element.offsetLeft,
1701
+ y: element.offsetTop,
1702
+ width: width,
1703
+ height: height
1704
+ };
1705
+ }
1706
+
1707
+ function contains(parent, child) {
1708
+ var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method
1709
+
1710
+ if (parent.contains(child)) {
1711
+ return true;
1712
+ } // then fallback to custom implementation with Shadow DOM support
1713
+ else if (rootNode && isShadowRoot(rootNode)) {
1714
+ var next = child;
1715
+
1716
+ do {
1717
+ if (next && parent.isSameNode(next)) {
1718
+ return true;
1719
+ } // $FlowFixMe[prop-missing]: need a better way to handle this...
1720
+
1721
+
1722
+ next = next.parentNode || next.host;
1723
+ } while (next);
1724
+ } // Give up, the result is false
1725
+
1726
+
1727
+ return false;
1728
+ }
1729
+
1730
+ function getComputedStyle(element) {
1731
+ return getWindow(element).getComputedStyle(element);
1732
+ }
1733
+
1734
+ function isTableElement(element) {
1735
+ return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;
1736
+ }
1737
+
1738
+ function getDocumentElement(element) {
1739
+ // $FlowFixMe[incompatible-return]: assume body is always available
1740
+ return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]
1741
+ element.document) || window.document).documentElement;
1742
+ }
1743
+
1744
+ function getParentNode(element) {
1745
+ if (getNodeName(element) === 'html') {
1746
+ return element;
1747
+ }
1748
+
1749
+ return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle
1750
+ // $FlowFixMe[incompatible-return]
1751
+ // $FlowFixMe[prop-missing]
1752
+ element.assignedSlot || // step into the shadow DOM of the parent of a slotted node
1753
+ element.parentNode || ( // DOM Element detected
1754
+ isShadowRoot(element) ? element.host : null) || // ShadowRoot detected
1755
+ // $FlowFixMe[incompatible-call]: HTMLElement is a Node
1756
+ getDocumentElement(element) // fallback
1757
+
1758
+ );
1759
+ }
1760
+
1761
+ function getTrueOffsetParent(element) {
1762
+ if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837
1763
+ getComputedStyle(element).position === 'fixed') {
1764
+ return null;
1765
+ }
1766
+
1767
+ return element.offsetParent;
1768
+ } // `.offsetParent` reports `null` for fixed elements, while absolute elements
1769
+ // return the containing block
1770
+
1771
+
1772
+ function getContainingBlock(element) {
1773
+ var isFirefox = /firefox/i.test(getUAString());
1774
+ var isIE = /Trident/i.test(getUAString());
1775
+
1776
+ if (isIE && isHTMLElement(element)) {
1777
+ // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport
1778
+ var elementCss = getComputedStyle(element);
1779
+
1780
+ if (elementCss.position === 'fixed') {
1781
+ return null;
1782
+ }
1783
+ }
1784
+
1785
+ var currentNode = getParentNode(element);
1786
+
1787
+ if (isShadowRoot(currentNode)) {
1788
+ currentNode = currentNode.host;
1789
+ }
1790
+
1791
+ while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {
1792
+ var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that
1793
+ // create a containing block.
1794
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
1795
+
1796
+ if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {
1797
+ return currentNode;
1798
+ } else {
1799
+ currentNode = currentNode.parentNode;
1800
+ }
1801
+ }
1802
+
1803
+ return null;
1804
+ } // Gets the closest ancestor positioned element. Handles some edge cases,
1805
+ // such as table ancestors and cross browser bugs.
1806
+
1807
+
1808
+ function getOffsetParent(element) {
1809
+ var window = getWindow(element);
1810
+ var offsetParent = getTrueOffsetParent(element);
1811
+
1812
+ while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {
1813
+ offsetParent = getTrueOffsetParent(offsetParent);
1814
+ }
1815
+
1816
+ if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {
1817
+ return window;
1818
+ }
1819
+
1820
+ return offsetParent || getContainingBlock(element) || window;
1821
+ }
1822
+
1823
+ function getMainAxisFromPlacement(placement) {
1824
+ return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';
1825
+ }
1826
+
1827
+ function within(min$1, value, max$1) {
1828
+ return max(min$1, min(value, max$1));
1829
+ }
1830
+ function withinMaxClamp(min, value, max) {
1831
+ var v = within(min, value, max);
1832
+ return v > max ? max : v;
1833
+ }
1834
+
1835
+ function getFreshSideObject() {
1836
+ return {
1837
+ top: 0,
1838
+ right: 0,
1839
+ bottom: 0,
1840
+ left: 0
1841
+ };
1842
+ }
1843
+
1844
+ function mergePaddingObject(paddingObject) {
1845
+ return Object.assign({}, getFreshSideObject(), paddingObject);
1846
+ }
1847
+
1848
+ function expandToHashMap(value, keys) {
1849
+ return keys.reduce(function (hashMap, key) {
1850
+ hashMap[key] = value;
1851
+ return hashMap;
1852
+ }, {});
1853
+ }
1854
+
1855
+ var toPaddingObject = function toPaddingObject(padding, state) {
1856
+ padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {
1857
+ placement: state.placement
1858
+ })) : padding;
1859
+ return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));
1860
+ };
1861
+
1862
+ function arrow(_ref) {
1863
+ var _state$modifiersData$;
1864
+
1865
+ var state = _ref.state,
1866
+ name = _ref.name,
1867
+ options = _ref.options;
1868
+ var arrowElement = state.elements.arrow;
1869
+ var popperOffsets = state.modifiersData.popperOffsets;
1870
+ var basePlacement = getBasePlacement(state.placement);
1871
+ var axis = getMainAxisFromPlacement(basePlacement);
1872
+ var isVertical = [left, right].indexOf(basePlacement) >= 0;
1873
+ var len = isVertical ? 'height' : 'width';
1874
+
1875
+ if (!arrowElement || !popperOffsets) {
1876
+ return;
1877
+ }
1878
+
1879
+ var paddingObject = toPaddingObject(options.padding, state);
1880
+ var arrowRect = getLayoutRect(arrowElement);
1881
+ var minProp = axis === 'y' ? top : left;
1882
+ var maxProp = axis === 'y' ? bottom : right;
1883
+ var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];
1884
+ var startDiff = popperOffsets[axis] - state.rects.reference[axis];
1885
+ var arrowOffsetParent = getOffsetParent(arrowElement);
1886
+ var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;
1887
+ var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is
1888
+ // outside of the popper bounds
1889
+
1890
+ var min = paddingObject[minProp];
1891
+ var max = clientSize - arrowRect[len] - paddingObject[maxProp];
1892
+ var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;
1893
+ var offset = within(min, center, max); // Prevents breaking syntax highlighting...
1894
+
1895
+ var axisProp = axis;
1896
+ state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);
1897
+ }
1898
+
1899
+ function effect$1(_ref2) {
1900
+ var state = _ref2.state,
1901
+ options = _ref2.options;
1902
+ var _options$element = options.element,
1903
+ arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;
1904
+
1905
+ if (arrowElement == null) {
1906
+ return;
1907
+ } // CSS selector
1908
+
1909
+
1910
+ if (typeof arrowElement === 'string') {
1911
+ arrowElement = state.elements.popper.querySelector(arrowElement);
1912
+
1913
+ if (!arrowElement) {
1914
+ return;
1915
+ }
1916
+ }
1917
+
1918
+ if (!contains(state.elements.popper, arrowElement)) {
1919
+ return;
1920
+ }
1921
+
1922
+ state.elements.arrow = arrowElement;
1923
+ } // eslint-disable-next-line import/no-unused-modules
1924
+
1925
+
1926
+ var arrow$1 = {
1927
+ name: 'arrow',
1928
+ enabled: true,
1929
+ phase: 'main',
1930
+ fn: arrow,
1931
+ effect: effect$1,
1932
+ requires: ['popperOffsets'],
1933
+ requiresIfExists: ['preventOverflow']
1934
+ };
1935
+
1936
+ function getVariation(placement) {
1937
+ return placement.split('-')[1];
1938
+ }
1939
+
1940
+ var unsetSides = {
1941
+ top: 'auto',
1942
+ right: 'auto',
1943
+ bottom: 'auto',
1944
+ left: 'auto'
1945
+ }; // Round the offsets to the nearest suitable subpixel based on the DPR.
1946
+ // Zooming can change the DPR, but it seems to report a value that will
1947
+ // cleanly divide the values into the appropriate subpixels.
1948
+
1949
+ function roundOffsetsByDPR(_ref, win) {
1950
+ var x = _ref.x,
1951
+ y = _ref.y;
1952
+ var dpr = win.devicePixelRatio || 1;
1953
+ return {
1954
+ x: round(x * dpr) / dpr || 0,
1955
+ y: round(y * dpr) / dpr || 0
1956
+ };
1957
+ }
1958
+
1959
+ function mapToStyles(_ref2) {
1960
+ var _Object$assign2;
1961
+
1962
+ var popper = _ref2.popper,
1963
+ popperRect = _ref2.popperRect,
1964
+ placement = _ref2.placement,
1965
+ variation = _ref2.variation,
1966
+ offsets = _ref2.offsets,
1967
+ position = _ref2.position,
1968
+ gpuAcceleration = _ref2.gpuAcceleration,
1969
+ adaptive = _ref2.adaptive,
1970
+ roundOffsets = _ref2.roundOffsets,
1971
+ isFixed = _ref2.isFixed;
1972
+ var _offsets$x = offsets.x,
1973
+ x = _offsets$x === void 0 ? 0 : _offsets$x,
1974
+ _offsets$y = offsets.y,
1975
+ y = _offsets$y === void 0 ? 0 : _offsets$y;
1976
+
1977
+ var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({
1978
+ x: x,
1979
+ y: y
1980
+ }) : {
1981
+ x: x,
1982
+ y: y
1983
+ };
1984
+
1985
+ x = _ref3.x;
1986
+ y = _ref3.y;
1987
+ var hasX = offsets.hasOwnProperty('x');
1988
+ var hasY = offsets.hasOwnProperty('y');
1989
+ var sideX = left;
1990
+ var sideY = top;
1991
+ var win = window;
1992
+
1993
+ if (adaptive) {
1994
+ var offsetParent = getOffsetParent(popper);
1995
+ var heightProp = 'clientHeight';
1996
+ var widthProp = 'clientWidth';
1997
+
1998
+ if (offsetParent === getWindow(popper)) {
1999
+ offsetParent = getDocumentElement(popper);
2000
+
2001
+ if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {
2002
+ heightProp = 'scrollHeight';
2003
+ widthProp = 'scrollWidth';
2004
+ }
2005
+ } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it
2006
+
2007
+
2008
+ offsetParent = offsetParent;
2009
+
2010
+ if (placement === top || (placement === left || placement === right) && variation === end) {
2011
+ sideY = bottom;
2012
+ var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]
2013
+ offsetParent[heightProp];
2014
+ y -= offsetY - popperRect.height;
2015
+ y *= gpuAcceleration ? 1 : -1;
2016
+ }
2017
+
2018
+ if (placement === left || (placement === top || placement === bottom) && variation === end) {
2019
+ sideX = right;
2020
+ var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]
2021
+ offsetParent[widthProp];
2022
+ x -= offsetX - popperRect.width;
2023
+ x *= gpuAcceleration ? 1 : -1;
2024
+ }
2025
+ }
2026
+
2027
+ var commonStyles = Object.assign({
2028
+ position: position
2029
+ }, adaptive && unsetSides);
2030
+
2031
+ var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
2032
+ x: x,
2033
+ y: y
2034
+ }, getWindow(popper)) : {
2035
+ x: x,
2036
+ y: y
2037
+ };
2038
+
2039
+ x = _ref4.x;
2040
+ y = _ref4.y;
2041
+
2042
+ if (gpuAcceleration) {
2043
+ var _Object$assign;
2044
+
2045
+ return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
2046
+ }
2047
+
2048
+ return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : '', _Object$assign2[sideX] = hasX ? x + "px" : '', _Object$assign2.transform = '', _Object$assign2));
2049
+ }
2050
+
2051
+ function computeStyles(_ref5) {
2052
+ var state = _ref5.state,
2053
+ options = _ref5.options;
2054
+ var _options$gpuAccelerat = options.gpuAcceleration,
2055
+ gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,
2056
+ _options$adaptive = options.adaptive,
2057
+ adaptive = _options$adaptive === void 0 ? true : _options$adaptive,
2058
+ _options$roundOffsets = options.roundOffsets,
2059
+ roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;
2060
+ var commonStyles = {
2061
+ placement: getBasePlacement(state.placement),
2062
+ variation: getVariation(state.placement),
2063
+ popper: state.elements.popper,
2064
+ popperRect: state.rects.popper,
2065
+ gpuAcceleration: gpuAcceleration,
2066
+ isFixed: state.options.strategy === 'fixed'
2067
+ };
2068
+
2069
+ if (state.modifiersData.popperOffsets != null) {
2070
+ state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {
2071
+ offsets: state.modifiersData.popperOffsets,
2072
+ position: state.options.strategy,
2073
+ adaptive: adaptive,
2074
+ roundOffsets: roundOffsets
2075
+ })));
2076
+ }
2077
+
2078
+ if (state.modifiersData.arrow != null) {
2079
+ state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {
2080
+ offsets: state.modifiersData.arrow,
2081
+ position: 'absolute',
2082
+ adaptive: false,
2083
+ roundOffsets: roundOffsets
2084
+ })));
2085
+ }
2086
+
2087
+ state.attributes.popper = Object.assign({}, state.attributes.popper, {
2088
+ 'data-popper-placement': state.placement
2089
+ });
2090
+ } // eslint-disable-next-line import/no-unused-modules
2091
+
2092
+
2093
+ var computeStyles$1 = {
2094
+ name: 'computeStyles',
2095
+ enabled: true,
2096
+ phase: 'beforeWrite',
2097
+ fn: computeStyles,
2098
+ data: {}
2099
+ };
2100
+
2101
+ var passive = {
2102
+ passive: true
2103
+ };
2104
+
2105
+ function effect(_ref) {
2106
+ var state = _ref.state,
2107
+ instance = _ref.instance,
2108
+ options = _ref.options;
2109
+ var _options$scroll = options.scroll,
2110
+ scroll = _options$scroll === void 0 ? true : _options$scroll,
2111
+ _options$resize = options.resize,
2112
+ resize = _options$resize === void 0 ? true : _options$resize;
2113
+ var window = getWindow(state.elements.popper);
2114
+ var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);
2115
+
2116
+ if (scroll) {
2117
+ scrollParents.forEach(function (scrollParent) {
2118
+ scrollParent.addEventListener('scroll', instance.update, passive);
2119
+ });
2120
+ }
2121
+
2122
+ if (resize) {
2123
+ window.addEventListener('resize', instance.update, passive);
2124
+ }
2125
+
2126
+ return function () {
2127
+ if (scroll) {
2128
+ scrollParents.forEach(function (scrollParent) {
2129
+ scrollParent.removeEventListener('scroll', instance.update, passive);
2130
+ });
2131
+ }
2132
+
2133
+ if (resize) {
2134
+ window.removeEventListener('resize', instance.update, passive);
2135
+ }
2136
+ };
2137
+ } // eslint-disable-next-line import/no-unused-modules
2138
+
2139
+
2140
+ var eventListeners = {
2141
+ name: 'eventListeners',
2142
+ enabled: true,
2143
+ phase: 'write',
2144
+ fn: function fn() {},
2145
+ effect: effect,
2146
+ data: {}
2147
+ };
2148
+
2149
+ var hash$1 = {
2150
+ left: 'right',
2151
+ right: 'left',
2152
+ bottom: 'top',
2153
+ top: 'bottom'
2154
+ };
2155
+ function getOppositePlacement(placement) {
2156
+ return placement.replace(/left|right|bottom|top/g, function (matched) {
2157
+ return hash$1[matched];
2158
+ });
2159
+ }
2160
+
2161
+ var hash = {
2162
+ start: 'end',
2163
+ end: 'start'
2164
+ };
2165
+ function getOppositeVariationPlacement(placement) {
2166
+ return placement.replace(/start|end/g, function (matched) {
2167
+ return hash[matched];
2168
+ });
2169
+ }
2170
+
2171
+ function getWindowScroll(node) {
2172
+ var win = getWindow(node);
2173
+ var scrollLeft = win.pageXOffset;
2174
+ var scrollTop = win.pageYOffset;
2175
+ return {
2176
+ scrollLeft: scrollLeft,
2177
+ scrollTop: scrollTop
2178
+ };
2179
+ }
2180
+
2181
+ function getWindowScrollBarX(element) {
2182
+ // If <html> has a CSS width greater than the viewport, then this will be
2183
+ // incorrect for RTL.
2184
+ // Popper 1 is broken in this case and never had a bug report so let's assume
2185
+ // it's not an issue. I don't think anyone ever specifies width on <html>
2186
+ // anyway.
2187
+ // Browsers where the left scrollbar doesn't cause an issue report `0` for
2188
+ // this (e.g. Edge 2019, IE11, Safari)
2189
+ return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;
2190
+ }
2191
+
2192
+ function getViewportRect(element, strategy) {
2193
+ var win = getWindow(element);
2194
+ var html = getDocumentElement(element);
2195
+ var visualViewport = win.visualViewport;
2196
+ var width = html.clientWidth;
2197
+ var height = html.clientHeight;
2198
+ var x = 0;
2199
+ var y = 0;
2200
+
2201
+ if (visualViewport) {
2202
+ width = visualViewport.width;
2203
+ height = visualViewport.height;
2204
+ var layoutViewport = isLayoutViewport();
2205
+
2206
+ if (layoutViewport || !layoutViewport && strategy === 'fixed') {
2207
+ x = visualViewport.offsetLeft;
2208
+ y = visualViewport.offsetTop;
2209
+ }
2210
+ }
2211
+
2212
+ return {
2213
+ width: width,
2214
+ height: height,
2215
+ x: x + getWindowScrollBarX(element),
2216
+ y: y
2217
+ };
2218
+ }
2219
+
2220
+ // of the `<html>` and `<body>` rect bounds if horizontally scrollable
2221
+
2222
+ function getDocumentRect(element) {
2223
+ var _element$ownerDocumen;
2224
+
2225
+ var html = getDocumentElement(element);
2226
+ var winScroll = getWindowScroll(element);
2227
+ var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;
2228
+ var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);
2229
+ var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);
2230
+ var x = -winScroll.scrollLeft + getWindowScrollBarX(element);
2231
+ var y = -winScroll.scrollTop;
2232
+
2233
+ if (getComputedStyle(body || html).direction === 'rtl') {
2234
+ x += max(html.clientWidth, body ? body.clientWidth : 0) - width;
2235
+ }
2236
+
2237
+ return {
2238
+ width: width,
2239
+ height: height,
2240
+ x: x,
2241
+ y: y
2242
+ };
2243
+ }
2244
+
2245
+ function isScrollParent(element) {
2246
+ // Firefox wants us to check `-x` and `-y` variations as well
2247
+ var _getComputedStyle = getComputedStyle(element),
2248
+ overflow = _getComputedStyle.overflow,
2249
+ overflowX = _getComputedStyle.overflowX,
2250
+ overflowY = _getComputedStyle.overflowY;
2251
+
2252
+ return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);
2253
+ }
2254
+
2255
+ function getScrollParent(node) {
2256
+ if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {
2257
+ // $FlowFixMe[incompatible-return]: assume body is always available
2258
+ return node.ownerDocument.body;
2259
+ }
2260
+
2261
+ if (isHTMLElement(node) && isScrollParent(node)) {
2262
+ return node;
2263
+ }
2264
+
2265
+ return getScrollParent(getParentNode(node));
2266
+ }
2267
+
2268
+ /*
2269
+ given a DOM element, return the list of all scroll parents, up the list of ancesors
2270
+ until we get to the top window object. This list is what we attach scroll listeners
2271
+ to, because if any of these parent elements scroll, we'll need to re-calculate the
2272
+ reference element's position.
2273
+ */
2274
+
2275
+ function listScrollParents(element, list) {
2276
+ var _element$ownerDocumen;
2277
+
2278
+ if (list === void 0) {
2279
+ list = [];
2280
+ }
2281
+
2282
+ var scrollParent = getScrollParent(element);
2283
+ var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);
2284
+ var win = getWindow(scrollParent);
2285
+ var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;
2286
+ var updatedList = list.concat(target);
2287
+ return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
2288
+ updatedList.concat(listScrollParents(getParentNode(target)));
2289
+ }
2290
+
2291
+ function rectToClientRect(rect) {
2292
+ return Object.assign({}, rect, {
2293
+ left: rect.x,
2294
+ top: rect.y,
2295
+ right: rect.x + rect.width,
2296
+ bottom: rect.y + rect.height
2297
+ });
2298
+ }
2299
+
2300
+ function getInnerBoundingClientRect(element, strategy) {
2301
+ var rect = getBoundingClientRect(element, false, strategy === 'fixed');
2302
+ rect.top = rect.top + element.clientTop;
2303
+ rect.left = rect.left + element.clientLeft;
2304
+ rect.bottom = rect.top + element.clientHeight;
2305
+ rect.right = rect.left + element.clientWidth;
2306
+ rect.width = element.clientWidth;
2307
+ rect.height = element.clientHeight;
2308
+ rect.x = rect.left;
2309
+ rect.y = rect.top;
2310
+ return rect;
2311
+ }
2312
+
2313
+ function getClientRectFromMixedType(element, clippingParent, strategy) {
2314
+ return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));
2315
+ } // A "clipping parent" is an overflowable container with the characteristic of
2316
+ // clipping (or hiding) overflowing elements with a position different from
2317
+ // `initial`
2318
+
2319
+
2320
+ function getClippingParents(element) {
2321
+ var clippingParents = listScrollParents(getParentNode(element));
2322
+ var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;
2323
+ var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;
2324
+
2325
+ if (!isElement(clipperElement)) {
2326
+ return [];
2327
+ } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414
2328
+
2329
+
2330
+ return clippingParents.filter(function (clippingParent) {
2331
+ return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';
2332
+ });
2333
+ } // Gets the maximum area that the element is visible in due to any number of
2334
+ // clipping parents
2335
+
2336
+
2337
+ function getClippingRect(element, boundary, rootBoundary, strategy) {
2338
+ var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);
2339
+ var clippingParents = [].concat(mainClippingParents, [rootBoundary]);
2340
+ var firstClippingParent = clippingParents[0];
2341
+ var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {
2342
+ var rect = getClientRectFromMixedType(element, clippingParent, strategy);
2343
+ accRect.top = max(rect.top, accRect.top);
2344
+ accRect.right = min(rect.right, accRect.right);
2345
+ accRect.bottom = min(rect.bottom, accRect.bottom);
2346
+ accRect.left = max(rect.left, accRect.left);
2347
+ return accRect;
2348
+ }, getClientRectFromMixedType(element, firstClippingParent, strategy));
2349
+ clippingRect.width = clippingRect.right - clippingRect.left;
2350
+ clippingRect.height = clippingRect.bottom - clippingRect.top;
2351
+ clippingRect.x = clippingRect.left;
2352
+ clippingRect.y = clippingRect.top;
2353
+ return clippingRect;
2354
+ }
2355
+
2356
+ function computeOffsets(_ref) {
2357
+ var reference = _ref.reference,
2358
+ element = _ref.element,
2359
+ placement = _ref.placement;
2360
+ var basePlacement = placement ? getBasePlacement(placement) : null;
2361
+ var variation = placement ? getVariation(placement) : null;
2362
+ var commonX = reference.x + reference.width / 2 - element.width / 2;
2363
+ var commonY = reference.y + reference.height / 2 - element.height / 2;
2364
+ var offsets;
2365
+
2366
+ switch (basePlacement) {
2367
+ case top:
2368
+ offsets = {
2369
+ x: commonX,
2370
+ y: reference.y - element.height
2371
+ };
2372
+ break;
2373
+
2374
+ case bottom:
2375
+ offsets = {
2376
+ x: commonX,
2377
+ y: reference.y + reference.height
2378
+ };
2379
+ break;
2380
+
2381
+ case right:
2382
+ offsets = {
2383
+ x: reference.x + reference.width,
2384
+ y: commonY
2385
+ };
2386
+ break;
2387
+
2388
+ case left:
2389
+ offsets = {
2390
+ x: reference.x - element.width,
2391
+ y: commonY
2392
+ };
2393
+ break;
2394
+
2395
+ default:
2396
+ offsets = {
2397
+ x: reference.x,
2398
+ y: reference.y
2399
+ };
2400
+ }
2401
+
2402
+ var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;
2403
+
2404
+ if (mainAxis != null) {
2405
+ var len = mainAxis === 'y' ? 'height' : 'width';
2406
+
2407
+ switch (variation) {
2408
+ case start:
2409
+ offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);
2410
+ break;
2411
+
2412
+ case end:
2413
+ offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);
2414
+ break;
2415
+ }
2416
+ }
2417
+
2418
+ return offsets;
2419
+ }
2420
+
2421
+ function detectOverflow(state, options) {
2422
+ if (options === void 0) {
2423
+ options = {};
2424
+ }
2425
+
2426
+ var _options = options,
2427
+ _options$placement = _options.placement,
2428
+ placement = _options$placement === void 0 ? state.placement : _options$placement,
2429
+ _options$strategy = _options.strategy,
2430
+ strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,
2431
+ _options$boundary = _options.boundary,
2432
+ boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,
2433
+ _options$rootBoundary = _options.rootBoundary,
2434
+ rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,
2435
+ _options$elementConte = _options.elementContext,
2436
+ elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,
2437
+ _options$altBoundary = _options.altBoundary,
2438
+ altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,
2439
+ _options$padding = _options.padding,
2440
+ padding = _options$padding === void 0 ? 0 : _options$padding;
2441
+ var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));
2442
+ var altContext = elementContext === popper ? reference : popper;
2443
+ var popperRect = state.rects.popper;
2444
+ var element = state.elements[altBoundary ? altContext : elementContext];
2445
+ var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);
2446
+ var referenceClientRect = getBoundingClientRect(state.elements.reference);
2447
+ var popperOffsets = computeOffsets({
2448
+ reference: referenceClientRect,
2449
+ element: popperRect,
2450
+ placement: placement
2451
+ });
2452
+ var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));
2453
+ var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect
2454
+ // 0 or negative = within the clipping rect
2455
+
2456
+ var overflowOffsets = {
2457
+ top: clippingClientRect.top - elementClientRect.top + paddingObject.top,
2458
+ bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,
2459
+ left: clippingClientRect.left - elementClientRect.left + paddingObject.left,
2460
+ right: elementClientRect.right - clippingClientRect.right + paddingObject.right
2461
+ };
2462
+ var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element
2463
+
2464
+ if (elementContext === popper && offsetData) {
2465
+ var offset = offsetData[placement];
2466
+ Object.keys(overflowOffsets).forEach(function (key) {
2467
+ var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;
2468
+ var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';
2469
+ overflowOffsets[key] += offset[axis] * multiply;
2470
+ });
2471
+ }
2472
+
2473
+ return overflowOffsets;
2474
+ }
2475
+
2476
+ function computeAutoPlacement(state, options) {
2477
+ if (options === void 0) {
2478
+ options = {};
2479
+ }
2480
+
2481
+ var _options = options,
2482
+ placement = _options.placement,
2483
+ boundary = _options.boundary,
2484
+ rootBoundary = _options.rootBoundary,
2485
+ padding = _options.padding,
2486
+ flipVariations = _options.flipVariations,
2487
+ _options$allowedAutoP = _options.allowedAutoPlacements,
2488
+ allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP;
2489
+ var variation = getVariation(placement);
2490
+ var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {
2491
+ return getVariation(placement) === variation;
2492
+ }) : basePlacements;
2493
+ var allowedPlacements = placements$1.filter(function (placement) {
2494
+ return allowedAutoPlacements.indexOf(placement) >= 0;
2495
+ });
2496
+
2497
+ if (allowedPlacements.length === 0) {
2498
+ allowedPlacements = placements$1;
2499
+ } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...
2500
+
2501
+
2502
+ var overflows = allowedPlacements.reduce(function (acc, placement) {
2503
+ acc[placement] = detectOverflow(state, {
2504
+ placement: placement,
2505
+ boundary: boundary,
2506
+ rootBoundary: rootBoundary,
2507
+ padding: padding
2508
+ })[getBasePlacement(placement)];
2509
+ return acc;
2510
+ }, {});
2511
+ return Object.keys(overflows).sort(function (a, b) {
2512
+ return overflows[a] - overflows[b];
2513
+ });
2514
+ }
2515
+
2516
+ function getExpandedFallbackPlacements(placement) {
2517
+ if (getBasePlacement(placement) === auto) {
2518
+ return [];
2519
+ }
2520
+
2521
+ var oppositePlacement = getOppositePlacement(placement);
2522
+ return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];
2523
+ }
2524
+
2525
+ function flip(_ref) {
2526
+ var state = _ref.state,
2527
+ options = _ref.options,
2528
+ name = _ref.name;
2529
+
2530
+ if (state.modifiersData[name]._skip) {
2531
+ return;
2532
+ }
2533
+
2534
+ var _options$mainAxis = options.mainAxis,
2535
+ checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,
2536
+ _options$altAxis = options.altAxis,
2537
+ checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,
2538
+ specifiedFallbackPlacements = options.fallbackPlacements,
2539
+ padding = options.padding,
2540
+ boundary = options.boundary,
2541
+ rootBoundary = options.rootBoundary,
2542
+ altBoundary = options.altBoundary,
2543
+ _options$flipVariatio = options.flipVariations,
2544
+ flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,
2545
+ allowedAutoPlacements = options.allowedAutoPlacements;
2546
+ var preferredPlacement = state.options.placement;
2547
+ var basePlacement = getBasePlacement(preferredPlacement);
2548
+ var isBasePlacement = basePlacement === preferredPlacement;
2549
+ var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));
2550
+ var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {
2551
+ return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {
2552
+ placement: placement,
2553
+ boundary: boundary,
2554
+ rootBoundary: rootBoundary,
2555
+ padding: padding,
2556
+ flipVariations: flipVariations,
2557
+ allowedAutoPlacements: allowedAutoPlacements
2558
+ }) : placement);
2559
+ }, []);
2560
+ var referenceRect = state.rects.reference;
2561
+ var popperRect = state.rects.popper;
2562
+ var checksMap = new Map();
2563
+ var makeFallbackChecks = true;
2564
+ var firstFittingPlacement = placements[0];
2565
+
2566
+ for (var i = 0; i < placements.length; i++) {
2567
+ var placement = placements[i];
2568
+
2569
+ var _basePlacement = getBasePlacement(placement);
2570
+
2571
+ var isStartVariation = getVariation(placement) === start;
2572
+ var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;
2573
+ var len = isVertical ? 'width' : 'height';
2574
+ var overflow = detectOverflow(state, {
2575
+ placement: placement,
2576
+ boundary: boundary,
2577
+ rootBoundary: rootBoundary,
2578
+ altBoundary: altBoundary,
2579
+ padding: padding
2580
+ });
2581
+ var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;
2582
+
2583
+ if (referenceRect[len] > popperRect[len]) {
2584
+ mainVariationSide = getOppositePlacement(mainVariationSide);
2585
+ }
2586
+
2587
+ var altVariationSide = getOppositePlacement(mainVariationSide);
2588
+ var checks = [];
2589
+
2590
+ if (checkMainAxis) {
2591
+ checks.push(overflow[_basePlacement] <= 0);
2592
+ }
2593
+
2594
+ if (checkAltAxis) {
2595
+ checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);
2596
+ }
2597
+
2598
+ if (checks.every(function (check) {
2599
+ return check;
2600
+ })) {
2601
+ firstFittingPlacement = placement;
2602
+ makeFallbackChecks = false;
2603
+ break;
2604
+ }
2605
+
2606
+ checksMap.set(placement, checks);
2607
+ }
2608
+
2609
+ if (makeFallbackChecks) {
2610
+ // `2` may be desired in some cases – research later
2611
+ var numberOfChecks = flipVariations ? 3 : 1;
2612
+
2613
+ var _loop = function _loop(_i) {
2614
+ var fittingPlacement = placements.find(function (placement) {
2615
+ var checks = checksMap.get(placement);
2616
+
2617
+ if (checks) {
2618
+ return checks.slice(0, _i).every(function (check) {
2619
+ return check;
2620
+ });
2621
+ }
2622
+ });
2623
+
2624
+ if (fittingPlacement) {
2625
+ firstFittingPlacement = fittingPlacement;
2626
+ return "break";
2627
+ }
2628
+ };
2629
+
2630
+ for (var _i = numberOfChecks; _i > 0; _i--) {
2631
+ var _ret = _loop(_i);
2632
+
2633
+ if (_ret === "break") break;
2634
+ }
2635
+ }
2636
+
2637
+ if (state.placement !== firstFittingPlacement) {
2638
+ state.modifiersData[name]._skip = true;
2639
+ state.placement = firstFittingPlacement;
2640
+ state.reset = true;
2641
+ }
2642
+ } // eslint-disable-next-line import/no-unused-modules
2643
+
2644
+
2645
+ var flip$1 = {
2646
+ name: 'flip',
2647
+ enabled: true,
2648
+ phase: 'main',
2649
+ fn: flip,
2650
+ requiresIfExists: ['offset'],
2651
+ data: {
2652
+ _skip: false
2653
+ }
2654
+ };
2655
+
2656
+ function getSideOffsets(overflow, rect, preventedOffsets) {
2657
+ if (preventedOffsets === void 0) {
2658
+ preventedOffsets = {
2659
+ x: 0,
2660
+ y: 0
2661
+ };
2662
+ }
2663
+
2664
+ return {
2665
+ top: overflow.top - rect.height - preventedOffsets.y,
2666
+ right: overflow.right - rect.width + preventedOffsets.x,
2667
+ bottom: overflow.bottom - rect.height + preventedOffsets.y,
2668
+ left: overflow.left - rect.width - preventedOffsets.x
2669
+ };
2670
+ }
2671
+
2672
+ function isAnySideFullyClipped(overflow) {
2673
+ return [top, right, bottom, left].some(function (side) {
2674
+ return overflow[side] >= 0;
2675
+ });
2676
+ }
2677
+
2678
+ function hide(_ref) {
2679
+ var state = _ref.state,
2680
+ name = _ref.name;
2681
+ var referenceRect = state.rects.reference;
2682
+ var popperRect = state.rects.popper;
2683
+ var preventedOffsets = state.modifiersData.preventOverflow;
2684
+ var referenceOverflow = detectOverflow(state, {
2685
+ elementContext: 'reference'
2686
+ });
2687
+ var popperAltOverflow = detectOverflow(state, {
2688
+ altBoundary: true
2689
+ });
2690
+ var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);
2691
+ var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);
2692
+ var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);
2693
+ var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);
2694
+ state.modifiersData[name] = {
2695
+ referenceClippingOffsets: referenceClippingOffsets,
2696
+ popperEscapeOffsets: popperEscapeOffsets,
2697
+ isReferenceHidden: isReferenceHidden,
2698
+ hasPopperEscaped: hasPopperEscaped
2699
+ };
2700
+ state.attributes.popper = Object.assign({}, state.attributes.popper, {
2701
+ 'data-popper-reference-hidden': isReferenceHidden,
2702
+ 'data-popper-escaped': hasPopperEscaped
2703
+ });
2704
+ } // eslint-disable-next-line import/no-unused-modules
2705
+
2706
+
2707
+ var hide$1 = {
2708
+ name: 'hide',
2709
+ enabled: true,
2710
+ phase: 'main',
2711
+ requiresIfExists: ['preventOverflow'],
2712
+ fn: hide
2713
+ };
2714
+
2715
+ function distanceAndSkiddingToXY(placement, rects, offset) {
2716
+ var basePlacement = getBasePlacement(placement);
2717
+ var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;
2718
+
2719
+ var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {
2720
+ placement: placement
2721
+ })) : offset,
2722
+ skidding = _ref[0],
2723
+ distance = _ref[1];
2724
+
2725
+ skidding = skidding || 0;
2726
+ distance = (distance || 0) * invertDistance;
2727
+ return [left, right].indexOf(basePlacement) >= 0 ? {
2728
+ x: distance,
2729
+ y: skidding
2730
+ } : {
2731
+ x: skidding,
2732
+ y: distance
2733
+ };
2734
+ }
2735
+
2736
+ function offset(_ref2) {
2737
+ var state = _ref2.state,
2738
+ options = _ref2.options,
2739
+ name = _ref2.name;
2740
+ var _options$offset = options.offset,
2741
+ offset = _options$offset === void 0 ? [0, 0] : _options$offset;
2742
+ var data = placements.reduce(function (acc, placement) {
2743
+ acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);
2744
+ return acc;
2745
+ }, {});
2746
+ var _data$state$placement = data[state.placement],
2747
+ x = _data$state$placement.x,
2748
+ y = _data$state$placement.y;
2749
+
2750
+ if (state.modifiersData.popperOffsets != null) {
2751
+ state.modifiersData.popperOffsets.x += x;
2752
+ state.modifiersData.popperOffsets.y += y;
2753
+ }
2754
+
2755
+ state.modifiersData[name] = data;
2756
+ } // eslint-disable-next-line import/no-unused-modules
2757
+
2758
+
2759
+ var offset$1 = {
2760
+ name: 'offset',
2761
+ enabled: true,
2762
+ phase: 'main',
2763
+ requires: ['popperOffsets'],
2764
+ fn: offset
2765
+ };
2766
+
2767
+ function popperOffsets(_ref) {
2768
+ var state = _ref.state,
2769
+ name = _ref.name;
2770
+ // Offsets are the actual position the popper needs to have to be
2771
+ // properly positioned near its reference element
2772
+ // This is the most basic placement, and will be adjusted by
2773
+ // the modifiers in the next step
2774
+ state.modifiersData[name] = computeOffsets({
2775
+ reference: state.rects.reference,
2776
+ element: state.rects.popper,
2777
+ placement: state.placement
2778
+ });
2779
+ } // eslint-disable-next-line import/no-unused-modules
2780
+
2781
+
2782
+ var popperOffsets$1 = {
2783
+ name: 'popperOffsets',
2784
+ enabled: true,
2785
+ phase: 'read',
2786
+ fn: popperOffsets,
2787
+ data: {}
2788
+ };
2789
+
2790
+ function getAltAxis(axis) {
2791
+ return axis === 'x' ? 'y' : 'x';
2792
+ }
2793
+
2794
+ function preventOverflow(_ref) {
2795
+ var state = _ref.state,
2796
+ options = _ref.options,
2797
+ name = _ref.name;
2798
+ var _options$mainAxis = options.mainAxis,
2799
+ checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,
2800
+ _options$altAxis = options.altAxis,
2801
+ checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,
2802
+ boundary = options.boundary,
2803
+ rootBoundary = options.rootBoundary,
2804
+ altBoundary = options.altBoundary,
2805
+ padding = options.padding,
2806
+ _options$tether = options.tether,
2807
+ tether = _options$tether === void 0 ? true : _options$tether,
2808
+ _options$tetherOffset = options.tetherOffset,
2809
+ tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;
2810
+ var overflow = detectOverflow(state, {
2811
+ boundary: boundary,
2812
+ rootBoundary: rootBoundary,
2813
+ padding: padding,
2814
+ altBoundary: altBoundary
2815
+ });
2816
+ var basePlacement = getBasePlacement(state.placement);
2817
+ var variation = getVariation(state.placement);
2818
+ var isBasePlacement = !variation;
2819
+ var mainAxis = getMainAxisFromPlacement(basePlacement);
2820
+ var altAxis = getAltAxis(mainAxis);
2821
+ var popperOffsets = state.modifiersData.popperOffsets;
2822
+ var referenceRect = state.rects.reference;
2823
+ var popperRect = state.rects.popper;
2824
+ var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {
2825
+ placement: state.placement
2826
+ })) : tetherOffset;
2827
+ var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {
2828
+ mainAxis: tetherOffsetValue,
2829
+ altAxis: tetherOffsetValue
2830
+ } : Object.assign({
2831
+ mainAxis: 0,
2832
+ altAxis: 0
2833
+ }, tetherOffsetValue);
2834
+ var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;
2835
+ var data = {
2836
+ x: 0,
2837
+ y: 0
2838
+ };
2839
+
2840
+ if (!popperOffsets) {
2841
+ return;
2842
+ }
2843
+
2844
+ if (checkMainAxis) {
2845
+ var _offsetModifierState$;
2846
+
2847
+ var mainSide = mainAxis === 'y' ? top : left;
2848
+ var altSide = mainAxis === 'y' ? bottom : right;
2849
+ var len = mainAxis === 'y' ? 'height' : 'width';
2850
+ var offset = popperOffsets[mainAxis];
2851
+ var min$1 = offset + overflow[mainSide];
2852
+ var max$1 = offset - overflow[altSide];
2853
+ var additive = tether ? -popperRect[len] / 2 : 0;
2854
+ var minLen = variation === start ? referenceRect[len] : popperRect[len];
2855
+ var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go
2856
+ // outside the reference bounds
2857
+
2858
+ var arrowElement = state.elements.arrow;
2859
+ var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {
2860
+ width: 0,
2861
+ height: 0
2862
+ };
2863
+ var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();
2864
+ var arrowPaddingMin = arrowPaddingObject[mainSide];
2865
+ var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want
2866
+ // to include its full size in the calculation. If the reference is small
2867
+ // and near the edge of a boundary, the popper can overflow even if the
2868
+ // reference is not overflowing as well (e.g. virtual elements with no
2869
+ // width or height)
2870
+
2871
+ var arrowLen = within(0, referenceRect[len], arrowRect[len]);
2872
+ var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;
2873
+ var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;
2874
+ var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);
2875
+ var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;
2876
+ var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;
2877
+ var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;
2878
+ var tetherMax = offset + maxOffset - offsetModifierValue;
2879
+ var preventedOffset = within(tether ? min(min$1, tetherMin) : min$1, offset, tether ? max(max$1, tetherMax) : max$1);
2880
+ popperOffsets[mainAxis] = preventedOffset;
2881
+ data[mainAxis] = preventedOffset - offset;
2882
+ }
2883
+
2884
+ if (checkAltAxis) {
2885
+ var _offsetModifierState$2;
2886
+
2887
+ var _mainSide = mainAxis === 'x' ? top : left;
2888
+
2889
+ var _altSide = mainAxis === 'x' ? bottom : right;
2890
+
2891
+ var _offset = popperOffsets[altAxis];
2892
+
2893
+ var _len = altAxis === 'y' ? 'height' : 'width';
2894
+
2895
+ var _min = _offset + overflow[_mainSide];
2896
+
2897
+ var _max = _offset - overflow[_altSide];
2898
+
2899
+ var isOriginSide = [top, left].indexOf(basePlacement) !== -1;
2900
+
2901
+ var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;
2902
+
2903
+ var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;
2904
+
2905
+ var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;
2906
+
2907
+ var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);
2908
+
2909
+ popperOffsets[altAxis] = _preventedOffset;
2910
+ data[altAxis] = _preventedOffset - _offset;
2911
+ }
2912
+
2913
+ state.modifiersData[name] = data;
2914
+ } // eslint-disable-next-line import/no-unused-modules
2915
+
2916
+
2917
+ var preventOverflow$1 = {
2918
+ name: 'preventOverflow',
2919
+ enabled: true,
2920
+ phase: 'main',
2921
+ fn: preventOverflow,
2922
+ requiresIfExists: ['offset']
2923
+ };
2924
+
2925
+ function getHTMLElementScroll(element) {
2926
+ return {
2927
+ scrollLeft: element.scrollLeft,
2928
+ scrollTop: element.scrollTop
2929
+ };
2930
+ }
2931
+
2932
+ function getNodeScroll(node) {
2933
+ if (node === getWindow(node) || !isHTMLElement(node)) {
2934
+ return getWindowScroll(node);
2935
+ } else {
2936
+ return getHTMLElementScroll(node);
2937
+ }
2938
+ }
2939
+
2940
+ function isElementScaled(element) {
2941
+ var rect = element.getBoundingClientRect();
2942
+ var scaleX = round(rect.width) / element.offsetWidth || 1;
2943
+ var scaleY = round(rect.height) / element.offsetHeight || 1;
2944
+ return scaleX !== 1 || scaleY !== 1;
2945
+ } // Returns the composite rect of an element relative to its offsetParent.
2946
+ // Composite means it takes into account transforms as well as layout.
2947
+
2948
+
2949
+ function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
2950
+ if (isFixed === void 0) {
2951
+ isFixed = false;
2952
+ }
2953
+
2954
+ var isOffsetParentAnElement = isHTMLElement(offsetParent);
2955
+ var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
2956
+ var documentElement = getDocumentElement(offsetParent);
2957
+ var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);
2958
+ var scroll = {
2959
+ scrollLeft: 0,
2960
+ scrollTop: 0
2961
+ };
2962
+ var offsets = {
2963
+ x: 0,
2964
+ y: 0
2965
+ };
2966
+
2967
+ if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
2968
+ if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078
2969
+ isScrollParent(documentElement)) {
2970
+ scroll = getNodeScroll(offsetParent);
2971
+ }
2972
+
2973
+ if (isHTMLElement(offsetParent)) {
2974
+ offsets = getBoundingClientRect(offsetParent, true);
2975
+ offsets.x += offsetParent.clientLeft;
2976
+ offsets.y += offsetParent.clientTop;
2977
+ } else if (documentElement) {
2978
+ offsets.x = getWindowScrollBarX(documentElement);
2979
+ }
2980
+ }
2981
+
2982
+ return {
2983
+ x: rect.left + scroll.scrollLeft - offsets.x,
2984
+ y: rect.top + scroll.scrollTop - offsets.y,
2985
+ width: rect.width,
2986
+ height: rect.height
2987
+ };
2988
+ }
2989
+
2990
+ function order(modifiers) {
2991
+ var map = new Map();
2992
+ var visited = new Set();
2993
+ var result = [];
2994
+ modifiers.forEach(function (modifier) {
2995
+ map.set(modifier.name, modifier);
2996
+ }); // On visiting object, check for its dependencies and visit them recursively
2997
+
2998
+ function sort(modifier) {
2999
+ visited.add(modifier.name);
3000
+ var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);
3001
+ requires.forEach(function (dep) {
3002
+ if (!visited.has(dep)) {
3003
+ var depModifier = map.get(dep);
3004
+
3005
+ if (depModifier) {
3006
+ sort(depModifier);
3007
+ }
3008
+ }
3009
+ });
3010
+ result.push(modifier);
3011
+ }
3012
+
3013
+ modifiers.forEach(function (modifier) {
3014
+ if (!visited.has(modifier.name)) {
3015
+ // check for visited object
3016
+ sort(modifier);
3017
+ }
3018
+ });
3019
+ return result;
3020
+ }
3021
+
3022
+ function orderModifiers(modifiers) {
3023
+ // order based on dependencies
3024
+ var orderedModifiers = order(modifiers); // order based on phase
3025
+
3026
+ return modifierPhases.reduce(function (acc, phase) {
3027
+ return acc.concat(orderedModifiers.filter(function (modifier) {
3028
+ return modifier.phase === phase;
3029
+ }));
3030
+ }, []);
3031
+ }
3032
+
3033
+ function debounce(fn) {
3034
+ var pending;
3035
+ return function () {
3036
+ if (!pending) {
3037
+ pending = new Promise(function (resolve) {
3038
+ Promise.resolve().then(function () {
3039
+ pending = undefined;
3040
+ resolve(fn());
3041
+ });
3042
+ });
3043
+ }
3044
+
3045
+ return pending;
3046
+ };
3047
+ }
3048
+
3049
+ function mergeByName(modifiers) {
3050
+ var merged = modifiers.reduce(function (merged, current) {
3051
+ var existing = merged[current.name];
3052
+ merged[current.name] = existing ? Object.assign({}, existing, current, {
3053
+ options: Object.assign({}, existing.options, current.options),
3054
+ data: Object.assign({}, existing.data, current.data)
3055
+ }) : current;
3056
+ return merged;
3057
+ }, {}); // IE11 does not support Object.values
3058
+
3059
+ return Object.keys(merged).map(function (key) {
3060
+ return merged[key];
3061
+ });
3062
+ }
3063
+
3064
+ var DEFAULT_OPTIONS = {
3065
+ placement: 'bottom',
3066
+ modifiers: [],
3067
+ strategy: 'absolute'
3068
+ };
3069
+
3070
+ function areValidElements() {
3071
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
3072
+ args[_key] = arguments[_key];
3073
+ }
3074
+
3075
+ return !args.some(function (element) {
3076
+ return !(element && typeof element.getBoundingClientRect === 'function');
3077
+ });
3078
+ }
3079
+
3080
+ function popperGenerator(generatorOptions) {
3081
+ if (generatorOptions === void 0) {
3082
+ generatorOptions = {};
3083
+ }
3084
+
3085
+ var _generatorOptions = generatorOptions,
3086
+ _generatorOptions$def = _generatorOptions.defaultModifiers,
3087
+ defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,
3088
+ _generatorOptions$def2 = _generatorOptions.defaultOptions,
3089
+ defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;
3090
+ return function createPopper(reference, popper, options) {
3091
+ if (options === void 0) {
3092
+ options = defaultOptions;
3093
+ }
3094
+
3095
+ var state = {
3096
+ placement: 'bottom',
3097
+ orderedModifiers: [],
3098
+ options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),
3099
+ modifiersData: {},
3100
+ elements: {
3101
+ reference: reference,
3102
+ popper: popper
3103
+ },
3104
+ attributes: {},
3105
+ styles: {}
3106
+ };
3107
+ var effectCleanupFns = [];
3108
+ var isDestroyed = false;
3109
+ var instance = {
3110
+ state: state,
3111
+ setOptions: function setOptions(setOptionsAction) {
3112
+ var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;
3113
+ cleanupModifierEffects();
3114
+ state.options = Object.assign({}, defaultOptions, state.options, options);
3115
+ state.scrollParents = {
3116
+ reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],
3117
+ popper: listScrollParents(popper)
3118
+ }; // Orders the modifiers based on their dependencies and `phase`
3119
+ // properties
3120
+
3121
+ var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers
3122
+
3123
+ state.orderedModifiers = orderedModifiers.filter(function (m) {
3124
+ return m.enabled;
3125
+ });
3126
+ runModifierEffects();
3127
+ return instance.update();
3128
+ },
3129
+ // Sync update – it will always be executed, even if not necessary. This
3130
+ // is useful for low frequency updates where sync behavior simplifies the
3131
+ // logic.
3132
+ // For high frequency updates (e.g. `resize` and `scroll` events), always
3133
+ // prefer the async Popper#update method
3134
+ forceUpdate: function forceUpdate() {
3135
+ if (isDestroyed) {
3136
+ return;
3137
+ }
3138
+
3139
+ var _state$elements = state.elements,
3140
+ reference = _state$elements.reference,
3141
+ popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements
3142
+ // anymore
3143
+
3144
+ if (!areValidElements(reference, popper)) {
3145
+ return;
3146
+ } // Store the reference and popper rects to be read by modifiers
3147
+
3148
+
3149
+ state.rects = {
3150
+ reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),
3151
+ popper: getLayoutRect(popper)
3152
+ }; // Modifiers have the ability to reset the current update cycle. The
3153
+ // most common use case for this is the `flip` modifier changing the
3154
+ // placement, which then needs to re-run all the modifiers, because the
3155
+ // logic was previously ran for the previous placement and is therefore
3156
+ // stale/incorrect
3157
+
3158
+ state.reset = false;
3159
+ state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier
3160
+ // is filled with the initial data specified by the modifier. This means
3161
+ // it doesn't persist and is fresh on each update.
3162
+ // To ensure persistent data, use `${name}#persistent`
3163
+
3164
+ state.orderedModifiers.forEach(function (modifier) {
3165
+ return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);
3166
+ });
3167
+
3168
+ for (var index = 0; index < state.orderedModifiers.length; index++) {
3169
+ if (state.reset === true) {
3170
+ state.reset = false;
3171
+ index = -1;
3172
+ continue;
3173
+ }
3174
+
3175
+ var _state$orderedModifie = state.orderedModifiers[index],
3176
+ fn = _state$orderedModifie.fn,
3177
+ _state$orderedModifie2 = _state$orderedModifie.options,
3178
+ _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,
3179
+ name = _state$orderedModifie.name;
3180
+
3181
+ if (typeof fn === 'function') {
3182
+ state = fn({
3183
+ state: state,
3184
+ options: _options,
3185
+ name: name,
3186
+ instance: instance
3187
+ }) || state;
3188
+ }
3189
+ }
3190
+ },
3191
+ // Async and optimistically optimized update – it will not be executed if
3192
+ // not necessary (debounced to run at most once-per-tick)
3193
+ update: debounce(function () {
3194
+ return new Promise(function (resolve) {
3195
+ instance.forceUpdate();
3196
+ resolve(state);
3197
+ });
3198
+ }),
3199
+ destroy: function destroy() {
3200
+ cleanupModifierEffects();
3201
+ isDestroyed = true;
3202
+ }
3203
+ };
3204
+
3205
+ if (!areValidElements(reference, popper)) {
3206
+ return instance;
3207
+ }
3208
+
3209
+ instance.setOptions(options).then(function (state) {
3210
+ if (!isDestroyed && options.onFirstUpdate) {
3211
+ options.onFirstUpdate(state);
3212
+ }
3213
+ }); // Modifiers have the ability to execute arbitrary code before the first
3214
+ // update cycle runs. They will be executed in the same order as the update
3215
+ // cycle. This is useful when a modifier adds some persistent data that
3216
+ // other modifiers need to use, but the modifier is run after the dependent
3217
+ // one.
3218
+
3219
+ function runModifierEffects() {
3220
+ state.orderedModifiers.forEach(function (_ref) {
3221
+ var name = _ref.name,
3222
+ _ref$options = _ref.options,
3223
+ options = _ref$options === void 0 ? {} : _ref$options,
3224
+ effect = _ref.effect;
3225
+
3226
+ if (typeof effect === 'function') {
3227
+ var cleanupFn = effect({
3228
+ state: state,
3229
+ name: name,
3230
+ instance: instance,
3231
+ options: options
3232
+ });
3233
+
3234
+ var noopFn = function noopFn() {};
3235
+
3236
+ effectCleanupFns.push(cleanupFn || noopFn);
3237
+ }
3238
+ });
3239
+ }
3240
+
3241
+ function cleanupModifierEffects() {
3242
+ effectCleanupFns.forEach(function (fn) {
3243
+ return fn();
3244
+ });
3245
+ effectCleanupFns = [];
3246
+ }
3247
+
3248
+ return instance;
3249
+ };
3250
+ }
3251
+
3252
+ var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1];
3253
+ var createPopper = /*#__PURE__*/popperGenerator({
3254
+ defaultModifiers: defaultModifiers
3255
+ }); // eslint-disable-next-line import/no-unused-modules
3256
+
3257
+ const xvToggleTipCss = ":host{display:inline-block;font-family:inherit}:host .trigger{display:inline-flex;align-items:center;cursor:pointer;transition:250ms ease-in-out color;color:var(--icon-secondary)}:host .trigger_icon{color:inherit}:host .trigger ::slotted([slot=trigger]){transition:250ms ease-in-out color;color:var(--icon-secondary)}:host .trigger:hover,:host .trigger:active,:host .trigger ::slotted([slot=trigger]:hover),:host .trigger ::slotted([slot=trigger]:active){color:var(--icon-primary)}:host .trigger:focus,:host .trigger ::slotted([slot=trigger]:focus){color:var(--focus)}:host .popover{opacity:1;z-index:1000;position:absolute;background-color:var(--background-inverse);color:var(--text-inverse);border-radius:4px;box-shadow:0 2px 8px rgba(0, 0, 0, 0.25);max-width:288px;font-size:0.875rem;line-height:1.5;margin-top:8px;flex-direction:column;display:flex}:host .popover[data-popper-placement^=top] .popover-tip{bottom:-4px}:host .popover[data-popper-placement^=bottom] .popover-tip{top:-4px}:host .popover[data-popper-placement^=left] .popover-tip{right:-4px}:host .popover[data-popper-placement^=right] .popover-tip{left:-4px}:host .popover .popover-tip{width:10px;height:10px;background-color:transparent;z-index:-1}:host .popover .popover-tip:before{content:\"\";transform:rotate(45deg);background-color:var(--background-inverse);width:inherit;height:inherit;display:inline-block}:host .popover .popover-content{padding:var(--gap-md);display:flex;flex-direction:column;gap:var(--spacing-04)}:host .popover .popover-content ::slotted([slot=header]){font-size:0.875rem;font-weight:600;color:var(--text-secondary)}:host .popover .popover-content ::slotted([slot=body]){font-size:0.875rem;color:var(--text-inverse)}:host .popover .popover-content ::slotted([slot=footer]){font-size:0.75rem;color:var(--text-inverse);opacity:0.8}:host(:not([open])) .popover{opacity:0;z-index:-1;user-select:none;pointer-events:none}";
3258
+
3259
+ const XvToggleTip = class {
3260
+ constructor(hostRef) {
3261
+ registerInstance(this, hostRef);
3262
+ this.openChange = createEvent(this, "openChange");
3263
+ this.open = false;
3264
+ this.position = 'auto';
3265
+ this.destroyPopper = () => {
3266
+ if (this.popperInstance) {
3267
+ this.popperInstance.destroy();
3268
+ this.popperInstance = undefined;
1221
3269
  }
1222
3270
  };
1223
3271
  }
3272
+ openChangeHandle() {
3273
+ if (this.open) {
3274
+ requestAnimationFrame(() => this.createPopper());
3275
+ }
3276
+ else {
3277
+ this.destroyPopper();
3278
+ }
3279
+ this.openChange.emit(this.open);
3280
+ }
3281
+ handleClickOutside(e) {
3282
+ if (this.open && !this.el.contains(e.target)) {
3283
+ this.open = false;
3284
+ }
3285
+ }
3286
+ ;
3287
+ handleKeyDown(e) {
3288
+ if (e.key === 'Escape' && this.open) {
3289
+ this.open = false;
3290
+ }
3291
+ }
3292
+ ;
3293
+ async setPopover(open) {
3294
+ if (open === this.open)
3295
+ return;
3296
+ this.open = open;
3297
+ return this.open;
3298
+ }
3299
+ ;
3300
+ createPopper() {
3301
+ if (!this.triggerEl || !this.popoverEl) {
3302
+ console.warn('XvToggleTip can`t find the trigger or popover container!');
3303
+ return;
3304
+ }
3305
+ this.popperInstance = createPopper(this.triggerEl, this.popoverEl, {
3306
+ placement: this.position,
3307
+ modifiers: [
3308
+ {
3309
+ name: 'offset',
3310
+ options: {
3311
+ offset: [0, 8],
3312
+ },
3313
+ },
3314
+ {
3315
+ name: 'preventOverflow',
3316
+ options: {
3317
+ boundary: 'viewport',
3318
+ padding: 8,
3319
+ },
3320
+ },
3321
+ ],
3322
+ });
3323
+ }
3324
+ ;
1224
3325
  render() {
1225
- return (h(Host, { key: 'ff06aea5ae7498aaf2c855da8ee0f7a0522456e4', name: this.name, class: "xv-text-input", role: "textbox", tabindex: this.disabled ? -1 : false }, this.label && h("label", { key: 'cf8084b9c0aab74c87297e1af0ea6d069cb6b8f1', class: "label" }, this.label), h("div", { key: '9ebc989deb41e835f30c72f4777d94cadd68a023', class: "control" }, h("input", { key: '82b18d350f325ae32daad68552ac083dd2c3b157', type: "text", class: { withIcon: this.status !== TextInputStatus.DEF }, readonly: this.readonly, value: this.value, disabled: this.disabled, onInput: this.handleInput, placeholder: this.placeholder }), this.getControlIcon(this.status)), this.helper && h("p", { key: '070097a66e9a21872b8245305a24070fc5b8f443', class: "helper" }, this.helper)));
3326
+ return (h(Host, { key: '098a12a12ea834fdbe0e05ad416df079991392a9', class: "xv-toggle-tip" }, h("div", { key: '0916aafb4d45b1cc40b3358c56c66e2156fb6e1f', class: "trigger", role: "button", tabindex: "0", "aria-expanded": this.open ? 'true' : 'false', "aria-controls": "popover", onClick: () => this.setPopover(!this.open), ref: (el) => (this.triggerEl = el) }, h("slot", { key: '3e848492e91f580a70181779f1ea689f646b9df7', name: "trigger" }, h("svg", { key: 'd9d4c1d33299c5ef0d07d1bcb18e725935b23de3', class: "trigger_icon", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", width: 16, height: 16 }, h("path", { key: '0d0002339eab33a4061d02e4d2108129c4df045d', fill: "currentColor", d: "M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0 0-88c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 64-24 0zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z" })))), h("div", { key: 'bdcadfb1cf28b0efe06bad4d8182e736798c5c9c', class: { popover: true }, role: "tooltip", tabindex: "-1", ref: (el) => (this.popoverEl = el) }, h("div", { key: '8a0f4c62e5774f085b7dd155f4858eb967195c8a', class: "popover-tip", part: "tip", "data-popper-arrow": "" }), h("div", { key: '76e30305c8a0147c8dffcba69666f81ddf8943f6', class: "popover-content" }, h("slot", { key: 'a1082ff655a936449a14560771f0b8d1b09c83b5', name: "header" }), h("slot", { key: 'dab04aa698b7169d2ddce0326f7ac8ab5911f48a', name: "body" }), h("slot", { key: 'a31ece6410d5dd8eb16fcf059713e460f1e58e1f', name: "footer" })))));
1226
3327
  }
1227
- componentWillLoad() {
1228
- this.internals.setFormValue(this.value);
3328
+ disconnectedCallback() {
3329
+ this.destroyPopper();
1229
3330
  }
1230
- static get formAssociated() { return true; }
1231
3331
  get el() { return getElement(this); }
3332
+ static get watchers() { return {
3333
+ "open": ["openChangeHandle"]
3334
+ }; }
1232
3335
  };
1233
- XvTextInput.style = xvTextInputCss;
3336
+ XvToggleTip.style = xvToggleTipCss;
1234
3337
 
1235
- const xvTooltipCss = ":host{position:relative;display:inline-block;cursor:pointer;line-height:0.5}:host::before,:host::after{position:absolute;opacity:0;visibility:hidden;transition:opacity 0.2s ease-in-out 0.5s, transform 0.2s ease-in-out 0.5s;z-index:10}:host::before{content:attr(tooltip);background:var(--background-inverse, #333);color:var(--icon-inverse, #fff);padding:var(--gap-sm, 5px) var(--gap-md, 16px);border-radius:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70vw;font-family:var(--fz-body, Tahoma);font-size:var(fz-md, 14px);font-weight:400;line-height:18px;letter-spacing:0.16px}:host([multiline])::before{white-space:normal;min-width:300px}:host::after{content:\"\";border:6px solid transparent}:host(:hover)::before,:host(:hover)::after,:host(:focus)::before,:host(:focus)::after{opacity:1;visibility:visible}:host(.xv-tooltip_top)::before{bottom:100%;left:50%;transform:translateX(-50%) translateY(-5px)}:host(.xv-tooltip_top)::after{bottom:100%;left:50%;border-top-color:var(--background-inverse, #333);transform:translateX(-50%) translateY(5px)}:host(.xv-tooltip_top-left)::before{bottom:100%;left:0;transform:translateY(-5px)}:host(.xv-tooltip_top-left)::after{bottom:100%;left:10px;border-top-color:black;transform:translateY(5px)}:host(.xv-tooltip_top-right)::before{bottom:100%;right:0;transform:translateY(-5px)}:host(.xv-tooltip_top-right)::after{bottom:100%;right:10px;border-top-color:var(--background-inverse, #333);transform:translateY(5px)}:host(.xv-tooltip_bottom)::before{top:100%;left:50%;transform:translateX(-50%) translateY(5px)}:host(.xv-tooltip_bottom)::after{top:100%;left:50%;border-bottom-color:black;transform:translateX(-50%) translateY(-5px)}:host(.xv-tooltip_bottom-left)::before{top:100%;left:0;transform:translateY(5px)}:host(.xv-tooltip_bottom-left)::after{top:100%;left:10px;border-bottom-color:var(--background-inverse, #333);transform:translateY(-5px)}:host(.xv-tooltip_bottom-right)::before{top:100%;right:0;transform:translateY(5px)}:host(.xv-tooltip_bottom-right)::after{top:100%;right:10px;border-bottom-color:var(--background-inverse, #333);transform:translateY(-5px)}:host(.xv-tooltip_left)::before{right:100%;top:50%;transform:translateY(-50%) translateX(-5px)}:host(.xv-tooltip_left)::after{right:100%;top:50%;border-left-color:var(--background-inverse, #333);transform:translateY(-50%) translateX(5px)}:host(.xv-tooltip_right)::before{left:100%;top:50%;transform:translateY(-50%) translateX(5px)}:host(.xv-tooltip_right)::after{left:100%;top:50%;border-right-color:var(--background-inverse, #333);transform:translateY(-50%) translateX(-5px)}";
3338
+ const xvTooltipCss = ":host{position:relative;display:contents}.xv-tooltip[role=tooltip]{position:absolute;background-color:var(--background-inverse);color:var(--text-on-color);padding:var(--spacing-03) var(--spacing-04);border-radius:3px;font-size:var(--fz-md);z-index:999;max-width:min(400px, 90vw);overflow:visible}.xv-tooltip[role=tooltip] [data-popper-arrow]{position:absolute;width:10px;height:10px;background-color:transparent;z-index:-1}.xv-tooltip[role=tooltip] [data-popper-arrow]:before{content:\"\";transform:rotate(45deg);background-color:var(--background-inverse);width:inherit;height:inherit;display:inline-block}.xv-tooltip[role=tooltip][data-popper-placement^=top] [data-popper-arrow]{bottom:1px}.xv-tooltip[role=tooltip][data-popper-placement^=bottom] [data-popper-arrow]{top:-10px}.xv-tooltip[role=tooltip][data-popper-placement^=left] [data-popper-arrow]{right:-4px}.xv-tooltip[role=tooltip][data-popper-placement^=right] [data-popper-arrow]{left:-4px}";
1236
3339
 
1237
3340
  const XvTooltip = class {
1238
3341
  constructor(hostRef) {
1239
3342
  registerInstance(this, hostRef);
1240
- /**
1241
- * Tooltip and arrow position related to element
1242
- * possible options: 'top' | 'top-left' | 'top-right' | 'bottom' | 'bottom-left' | 'bottom-right' | 'left' | 'right'.
1243
- * By default, "top"
1244
- */
1245
- this.position = 'top';
3343
+ this.position = 'auto';
3344
+ this.visible = false;
3345
+ }
3346
+ onMouseEnter() {
3347
+ this.visible = true;
3348
+ requestAnimationFrame(() => this.createPopper());
3349
+ }
3350
+ onMouseLeave() {
3351
+ this.visible = false;
3352
+ this.destroyPopper();
3353
+ }
3354
+ createPopper() {
3355
+ if (this.tooltipEl) {
3356
+ this.popperInstance = createPopper(this.el, this.tooltipEl, {
3357
+ placement: this.position,
3358
+ modifiers: [{ name: 'offset', options: { offset: [0, 8] } }],
3359
+ });
3360
+ }
3361
+ }
3362
+ destroyPopper() {
3363
+ var _a;
3364
+ (_a = this.popperInstance) === null || _a === void 0 ? void 0 : _a.destroy();
3365
+ this.popperInstance = null;
1246
3366
  }
1247
3367
  render() {
1248
- return (h(Host, { key: '7de12b2a66877ad7be729a8d78056efeedb56d8f', tooltip: this.message, class: `xv-tooltip_${this.position}` }, h("slot", { key: 'd52506f97478e29652a7671b4cba6333961f5e61' }, h("svg", { key: 'e6f06c96135155d504577e6086f0a58fd8ae9b09', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", width: 16, height: 16 }, h("path", { key: '6580f275c8400f37cafd96f2c68a4e1e9cbd12bd', fill: "currentColor", d: "M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0 0-88c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 64-24 0zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z" })))));
3368
+ return (h(Host, { key: 'b7871e2953badde14480725af497d081a3491314' }, h("slot", { key: 'f68977960275b860b5168d129a7344126c7dc72b' }, h("svg", { key: '65a8ff73f41537fe2f3fff8d2ccd66bd3f9b00da', xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", width: 16, height: 16 }, h("path", { key: '446cbb1da8cd575eac8a3c72ad3798214d9211c4', fill: "currentColor", d: "M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0 0-88c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 64-24 0zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z" }))), this.visible && (h("div", { key: 'e4e277dc8df6ba32a0a09d64f385671a2ce0185d', class: "xv-tooltip", ref: (el) => (this.tooltipEl = el), role: "tooltip" }, this.message, h("div", { key: '446e10ddc1b2b00aef2b472143f168f88fc0991c', class: "xv-tooltip-arrow", "data-popper-arrow": "" })))));
1249
3369
  }
3370
+ get el() { return getElement(this); }
1250
3371
  };
1251
3372
  XvTooltip.style = xvTooltipCss;
1252
3373
 
1253
- export { XvAccordion as xv_accordion_v2, XvAccordionItem as xv_accordion_v2_item, XvButton as xv_button_v2, XvCard as xv_card_v2, XvCheckbox as xv_checkbox_v2, XvDropdown as xv_dropdown_v2, XvDropdownItem as xv_dropdown_v2_item, Xvfooter as xv_footer, XvHeader as xv_header, XvLink as xv_link_v2, XvLoader as xv_loader_v2, XvLoginModal as xv_login_modal, XvModal as xv_modal_v2, XvNotification as xv_notification_v2, XvOverflowMenu as xv_overflow_menu_v2, XvOverflowMenuItem as xv_overflow_menu_v2_item, XvProgressIndicator as xv_progress_indicator_v2, XvProgressIndicatorItem as xv_progress_indicator_v2_item, XvTab as xv_tab_v2, XvTable as xv_table_v2, XvTableCell as xv_table_v2_cell, XvTableExpand as xv_table_v2_expand, XvTableRow as xv_table_v2_row, XvTabs as xv_tabs_v2, XvTag as xv_tag_v2, XvTextInput as xv_text_input_v2, XvTooltip as xv_tooltip_v2 };
1254
- //# sourceMappingURL=xv-accordion-v2.xv-accordion-v2-item.xv-button-v2.xv-card-v2.xv-checkbox-v2.xv-dropdown-v2.xv-dropdown-v2-item.xv-footer.xv-header.xv-link-v2.xv-loader-v2.xv-login-modal.xv-modal-v2.xv-notification-v2.xv-overflow-menu-v2.xv-overflow-menu-v2-item.xv-progress-indicator-v2.xv-progress-indicator-v2-item.xv-tab-v2.xv-table-v2.xv-table-v2-cell.xv-table-v2-expand.xv-table-v2-row.xv-tabs-v2.xv-tag-v2.xv-text-input-v2.xv-tooltip-v2.entry.js.map
3374
+ export { XvAccordion as xv_accordion_v2, XvAccordionItem as xv_accordion_v2_item, XvButton as xv_button_v2, XvCard as xv_card_v2, XvCheckbox as xv_checkbox_v2, XvDataTable as xv_data_table, XvDataTableCell as xv_data_table_cell, XvDataTableRow as xv_data_table_row, XvDropdown as xv_dropdown_v2, XvDropdownItem as xv_dropdown_v2_item, XvFileUploader as xv_file_uploader, Xvfooter as xv_footer, XvHeader as xv_header, XvLink as xv_link_v2, XvLoader as xv_loader_v2, XvLoginModal as xv_login_modal, XvModal as xv_modal_v2, XvNotification as xv_notification_v2, XvNumberInput as xv_number_input_v2, XvOverflowMenu as xv_overflow_menu_v2, XvOverflowMenuItem as xv_overflow_menu_v2_item, XvProgressIndicator as xv_progress_indicator_v2, XvProgressIndicatorItem as xv_progress_indicator_v2_item, XvTab as xv_tab_v2, XvTable as xv_table_v2, XvTableCell as xv_table_v2_cell, XvTableExpand as xv_table_v2_expand, XvTableRow as xv_table_v2_row, XvTabs as xv_tabs_v2, XvTag as xv_tag_v2, XvTextInput as xv_text_input_v2, XvToggleTip as xv_toggle_tip, XvTooltip as xv_tooltip_v2 };
3375
+ //# sourceMappingURL=xv-accordion-v2.xv-accordion-v2-item.xv-button-v2.xv-card-v2.xv-checkbox-v2.xv-data-table.xv-data-table-cell.xv-data-table-row.xv-dropdown-v2.xv-dropdown-v2-item.xv-file-uploader.xv-footer.xv-header.xv-link-v2.xv-loader-v2.xv-login-modal.xv-modal-v2.xv-notification-v2.xv-number-input-v2.xv-overflow-menu-v2.xv-overflow-menu-v2-item.xv-progress-indicator-v2.xv-progress-indicator-v2-item.xv-tab-v2.xv-table-v2.xv-table-v2-cell.xv-table-v2-expand.xv-table-v2-row.xv-tabs-v2.xv-tag-v2.xv-text-input-v2.xv-toggle-tip.xv-tooltip-v2.entry.js.map
1255
3376
 
1256
- //# sourceMappingURL=xv-accordion-v2_27.entry.js.map
3377
+ //# sourceMappingURL=xv-accordion-v2_33.entry.js.map