xv-webcomponents 1.22.1 → 1.22.2-qa.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. package/dist/cjs/index-DpLAFt0R.js +3728 -0
  2. package/dist/cjs/loader.cjs.js +2 -2
  3. package/dist/cjs/maplibre-gl-CCZS3Rg5.js +900 -0
  4. package/dist/cjs/{xv-accordion-v2_48.cjs.entry.js → xv-accordion-v2_49.cjs.entry.js} +732 -115
  5. package/dist/cjs/xv-header-next.cjs.entry.js +3 -3
  6. package/dist/cjs/xv-mega-menu-next.cjs.entry.js +4 -4
  7. package/dist/cjs/xv-webcomponents.cjs.js +2 -2
  8. package/dist/collection/collection-manifest.json +1 -0
  9. package/dist/collection/components/xv-accordion/xv-accordion.css +0 -127
  10. package/dist/collection/components/xv-accordion/xv-accordion.js +24 -4
  11. package/dist/collection/components/xv-accordion-item/xv-accordion-item.css +0 -127
  12. package/dist/collection/components/xv-accordion-item/xv-accordion-item.js +11 -5
  13. package/dist/collection/components/xv-breadcrumbs/xv-breadcrumbs.css +0 -127
  14. package/dist/collection/components/xv-breadcrumbs/xv-breadcrumbs.js +1 -1
  15. package/dist/collection/components/xv-button/xv-button-v2.css +0 -127
  16. package/dist/collection/components/xv-button/xv-button.js +2 -2
  17. package/dist/collection/components/xv-button-group/xv-button-group.css +0 -127
  18. package/dist/collection/components/xv-button-group/xv-button-group.js +1 -1
  19. package/dist/collection/components/xv-card/xv-card.css +0 -127
  20. package/dist/collection/components/xv-card/xv-card.js +1 -1
  21. package/dist/collection/components/xv-checkbox/xv-checkbox.css +0 -127
  22. package/dist/collection/components/xv-checkbox/xv-checkbox.js +2 -2
  23. package/dist/collection/components/xv-content-switcher/xv-content-switcher-item/xv-content-switcher-item.css +0 -127
  24. package/dist/collection/components/xv-content-switcher/xv-content-switcher-item/xv-content-switcher-item.js +1 -1
  25. package/dist/collection/components/xv-content-switcher/xv-content-switcher.css +0 -127
  26. package/dist/collection/components/xv-content-switcher/xv-content-switcher.js +2 -2
  27. package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.css +0 -127
  28. package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.js +1 -1
  29. package/dist/collection/components/xv-data-table/xv-data-table-collapse/xv-data-table-collapse.css +0 -127
  30. package/dist/collection/components/xv-data-table/xv-data-table-collapse/xv-data-table-collapse.js +1 -1
  31. package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.css +0 -127
  32. package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.js +2 -2
  33. package/dist/collection/components/xv-data-table/xv-data-table.css +0 -127
  34. package/dist/collection/components/xv-data-table/xv-data-table.js +1 -1
  35. package/dist/collection/components/xv-datepicker/xv-datepicker.css +0 -127
  36. package/dist/collection/components/xv-datepicker/xv-datepicker.js +63 -5
  37. package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.css +0 -127
  38. package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.js +1 -1
  39. package/dist/collection/components/xv-dropdown/xv-dropdown.css +0 -127
  40. package/dist/collection/components/xv-dropdown/xv-dropdown.js +1 -1
  41. package/dist/collection/components/xv-file-uploader/xv-file-uploader.css +0 -127
  42. package/dist/collection/components/xv-file-uploader/xv-file-uploader.js +1 -1
  43. package/dist/collection/components/xv-footer/xv-footer.css +0 -222
  44. package/dist/collection/components/xv-footer/xv-footer.js +1 -1
  45. package/dist/collection/components/xv-geo-map/xv-geo-map.css +907 -0
  46. package/dist/collection/components/xv-geo-map/xv-geo-map.js +1052 -0
  47. package/dist/collection/components/xv-header/xv-header.css +0 -222
  48. package/dist/collection/components/xv-header/xv-header.js +1 -1
  49. package/dist/collection/components/xv-header-next/xv-header-next.css +0 -222
  50. package/dist/collection/components/xv-header-next/xv-header-next.js +1 -1
  51. package/dist/collection/components/xv-image-viewer/xv-image-viewer.css +0 -127
  52. package/dist/collection/components/xv-image-viewer/xv-image-viewer.js +1 -1
  53. package/dist/collection/components/xv-link/xv-link.css +0 -127
  54. package/dist/collection/components/xv-link/xv-link.js +1 -1
  55. package/dist/collection/components/xv-loader/xv-loader.css +0 -127
  56. package/dist/collection/components/xv-login-modal/xv-login-modal.css +0 -127
  57. package/dist/collection/components/xv-mega-menu/xv-mega-menu.css +0 -254
  58. package/dist/collection/components/xv-mega-menu/xv-mega-menu.js +2 -2
  59. package/dist/collection/components/xv-mega-menu-next/xv-mega-menu-next.css +0 -254
  60. package/dist/collection/components/xv-mega-menu-next/xv-mega-menu-next.js +2 -2
  61. package/dist/collection/components/xv-modal/xv-modal.css +0 -127
  62. package/dist/collection/components/xv-modal/xv-modal.js +1 -1
  63. package/dist/collection/components/xv-notification/xv-notification.css +0 -127
  64. package/dist/collection/components/xv-notification/xv-notification.js +1 -1
  65. package/dist/collection/components/xv-number-input/xv-number-input.css +0 -127
  66. package/dist/collection/components/xv-number-input/xv-number-input.js +2 -2
  67. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.css +0 -127
  68. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.css +0 -127
  69. package/dist/collection/components/xv-pagination/xv-pagination.css +0 -127
  70. package/dist/collection/components/xv-pagination/xv-pagination.js +1 -1
  71. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.css +0 -127
  72. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.js +1 -1
  73. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.css +0 -127
  74. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js +1 -1
  75. package/dist/collection/components/xv-radio/xv-radio.css +0 -127
  76. package/dist/collection/components/xv-radio/xv-radio.js +2 -2
  77. package/dist/collection/components/xv-slider/xv-slider.css +0 -127
  78. package/dist/collection/components/xv-slider/xv-slider.js +1 -1
  79. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.css +0 -127
  80. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js +1 -1
  81. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.css +0 -127
  82. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js +1 -1
  83. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.css +0 -127
  84. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js +1 -1
  85. package/dist/collection/components/xv-table/xv-table.css +0 -127
  86. package/dist/collection/components/xv-table/xv-table.js +1 -1
  87. package/dist/collection/components/xv-tabs/xv-tab/xv-tab.css +0 -127
  88. package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js +1 -1
  89. package/dist/collection/components/xv-tabs/xv-tabs.css +0 -127
  90. package/dist/collection/components/xv-tag/xv-tag.css +0 -127
  91. package/dist/collection/components/xv-tag/xv-tag.js +1 -1
  92. package/dist/collection/components/xv-tag-combobox/xv-tag-combobox.css +0 -127
  93. package/dist/collection/components/xv-tag-combobox/xv-tag-combobox.js +2 -2
  94. package/dist/collection/components/xv-text-input/xv-text-input.css +0 -127
  95. package/dist/collection/components/xv-text-input/xv-text-input.js +2 -2
  96. package/dist/collection/components/xv-textarea/xv-textarea.css +0 -127
  97. package/dist/collection/components/xv-textarea/xv-textarea.js +2 -2
  98. package/dist/collection/components/xv-tile/xv-tile.css +0 -127
  99. package/dist/collection/components/xv-tile/xv-tile.js +2 -2
  100. package/dist/collection/components/xv-toggle/xv-toggle.css +0 -127
  101. package/dist/collection/components/xv-toggle/xv-toggle.js +1 -1
  102. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.css +0 -127
  103. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.js +1 -1
  104. package/dist/collection/components/xv-tooltip/xv-tooltip.css +0 -32
  105. package/dist/collection/components/xv-tooltip/xv-tooltip.js +2 -2
  106. package/dist/esm/index-DmxA2ysB.js +3717 -0
  107. package/dist/esm/loader.js +3 -3
  108. package/dist/esm/maplibre-gl-CS4Eagm9.js +813 -0
  109. package/dist/esm/maplibre-gl-shared.mjs +6 -0
  110. package/dist/esm/maplibre-gl-worker.mjs +6 -0
  111. package/dist/esm/{xv-accordion-v2_48.entry.js → xv-accordion-v2_49.entry.js} +732 -116
  112. package/dist/esm/xv-header-next.entry.js +3 -3
  113. package/dist/esm/xv-mega-menu-next.entry.js +4 -4
  114. package/dist/esm/xv-webcomponents.js +3 -3
  115. package/dist/types/components/xv-accordion/xv-accordion.d.ts +5 -4
  116. package/dist/types/components/xv-accordion-item/xv-accordion-item.d.ts +3 -0
  117. package/dist/types/components/xv-datepicker/xv-datepicker.d.ts +12 -0
  118. package/dist/types/components/xv-geo-map/xv-geo-map.d.ts +126 -0
  119. package/dist/types/components.d.ts +237 -0
  120. package/dist/xv-webcomponents/p-93bd2dca.entry.js +1 -0
  121. package/dist/xv-webcomponents/p-9e3130ff.entry.js +1 -0
  122. package/dist/xv-webcomponents/p-CS4Eagm9.js +10 -0
  123. package/dist/xv-webcomponents/p-DmxA2ysB.js +2 -0
  124. package/dist/xv-webcomponents/p-f41dd64e.entry.js +8 -0
  125. package/dist/xv-webcomponents/xv-webcomponents.css +2 -17
  126. package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -1
  127. package/package.json +2 -1
  128. package/dist/cjs/index-C4fJ70r4.js +0 -3728
  129. package/dist/esm/index-Cv2gugMt.js +0 -3717
  130. package/dist/xv-webcomponents/p-4ad13642.entry.js +0 -1
  131. package/dist/xv-webcomponents/p-616a74df.entry.js +0 -8
  132. package/dist/xv-webcomponents/p-8eca98c5.entry.js +0 -1
  133. package/dist/xv-webcomponents/p-Cv2gugMt.js +0 -2
@@ -31,7 +31,8 @@ export class XvDatepicker {
31
31
  return;
32
32
  }
33
33
  if ((this.minDate && dateFns.isBefore(newDate, this.minDate)) ||
34
- (this.maxDate && dateFns.isAfter(newDate, this.maxDate))) {
34
+ (this.maxDate && dateFns.isAfter(newDate, this.maxDate)) ||
35
+ this.disabledSet.has(val)) {
35
36
  return;
36
37
  }
37
38
  if (this.variant === 'single') {
@@ -56,7 +57,8 @@ export class XvDatepicker {
56
57
  const val = new Date(input.value);
57
58
  if (!dateFns.isValid(val) ||
58
59
  (this.minDate && dateFns.isBefore(val, this.minDate)) ||
59
- (this.maxDate && dateFns.isAfter(val, this.maxDate))) {
60
+ (this.maxDate && dateFns.isAfter(val, this.maxDate)) ||
61
+ this.disabledSet.has(input.value)) {
60
62
  this.value[range === 'start' ? 0 : 1] = undefined;
61
63
  input.value = '';
62
64
  this.localError = 'Das angegebene Datum ist nicht verfügbar.';
@@ -131,6 +133,30 @@ export class XvDatepicker {
131
133
  return iso;
132
134
  return dateFns.parse(this.max, 'yyyy-MM-dd', new Date());
133
135
  }
136
+ get disabledSet() {
137
+ var _a;
138
+ const keys = ((_a = this.disabledDates) !== null && _a !== void 0 ? _a : []).map(d => this.toDayKey(d)).filter(Boolean);
139
+ return new Set(keys);
140
+ }
141
+ /** Normalise a disabled-date entry to a local 'yyyy-MM-dd' key. */
142
+ toDayKey(value) {
143
+ if (value instanceof Date) {
144
+ return dateFns.isValid(value) ? dateFns.format(value, DEF_FORMAT) : '';
145
+ }
146
+ // Bare 'yyyy-MM-dd' is already a key — use verbatim to avoid a TZ shift
147
+ // from re-parsing it into a Date.
148
+ if (/^\d{4}-\d{2}-\d{2}$/.test(value))
149
+ return value;
150
+ const parsed = dateFns.parseISO(value);
151
+ return dateFns.isValid(parsed) ? dateFns.format(parsed, DEF_FORMAT) : '';
152
+ }
153
+ isDayDisabled(date, disabled = this.disabledSet) {
154
+ if (this.minDate && dateFns.isBefore(date, this.minDate))
155
+ return true;
156
+ if (this.maxDate && dateFns.isAfter(date, this.maxDate))
157
+ return true;
158
+ return disabled.has(dateFns.format(date, DEF_FORMAT));
159
+ }
134
160
  get isPrevDisabled() {
135
161
  if (!this.minDate)
136
162
  return false;
@@ -164,13 +190,14 @@ export class XvDatepicker {
164
190
  getCalendarGrid() {
165
191
  const start = dateFns.startOfWeek(dateFns.startOfMonth(this.month), { weekStartsOn: 1 });
166
192
  const end = dateFns.endOfWeek(dateFns.endOfMonth(this.month), { weekStartsOn: 1 });
193
+ const disabled = this.disabledSet;
167
194
  this.days = dateFns.eachDayOfInterval({ start, end }).map(date => ({
168
195
  date,
169
196
  week: dateFns.getWeek(date, { weekStartsOn: 1 }),
170
197
  day: date.getDate(),
171
198
  isCurrentMonth: dateFns.isSameMonth(date, this.month),
172
199
  isToday: dateFns.isToday(date),
173
- disabled: (this.minDate && dateFns.isBefore(date, this.minDate)) || (this.maxDate && dateFns.isAfter(date, this.maxDate))
200
+ disabled: this.isDayDisabled(date, disabled)
174
201
  }));
175
202
  return this.days;
176
203
  }
@@ -234,12 +261,12 @@ export class XvDatepicker {
234
261
  warning: this.warning,
235
262
  helper: this.helper,
236
263
  });
237
- return (h(Host, { key: '0398b77b6e5b6c1664f34cec632a9811f0004dda', class: { disabled: !!this.disabled }, tabindex: this.disabled ? '-1' : undefined }, h("div", { key: 'eacd3f96b33ae351271daf58deffd9523921b520', "aria-controls": "popover", class: "control" }, this.label && h("label", { key: '450b724b86ff4d60960cb43d4ec2410bb25a3de0', class: "control_label" }, this.label), h("div", { key: '454fa95047b044f584495e18027d24e6f0b14e7f', class: {
264
+ return (h(Host, { key: 'd3824a5d7c420cf3956bac19dce90ad6a2bf7fa2', class: { disabled: !!this.disabled }, tabindex: this.disabled ? '-1' : undefined }, h("div", { key: 'd93850164d288cb74c8120596196088e44c33a23', "aria-controls": "popover", class: "control" }, this.label && h("label", { key: 'e136f0ef2de64fa2e95b77caeb3675cee7626575', class: "control_label" }, this.label), h("div", { key: '102e8ce2e9dc0d9e74ba9a771b513977acbeb0ba', class: {
238
265
  'control_field': true,
239
266
  loading: this.loading,
240
267
  error: !!this.error || !!this.localError,
241
268
  warning: this.warning !== undefined,
242
- }, onClick: this.handleOpen, ref: (el) => (this.controlEl = el) }, h("input", { key: 'b711134f0a3082990c61dee4955303b8ef537260', lang: "de", type: "date", name: "start", disabled: this.loading || this.disabled, readonly: this.readonly || this.variant === 'range', min: this.min, max: this.max, value: start ? dateFns.format(start, DEF_FORMAT) : '', onChange: (e) => this.handleChange(e, 'start'), onBlur: (e) => this.handleBlur(e, 'start'), onKeyDown: (e) => this.handleKeydown(e, 'start') }), this.variant === 'range' && (h("input", { key: '5b7beaf9a3caaeed9684761dd0ace3932df81626', lang: "de", type: "date", name: "end", disabled: this.loading || this.disabled, readonly: this.readonly || this.variant === 'range', min: this.min, max: this.max, value: end ? dateFns.format(end, DEF_FORMAT) : '', onChange: (e) => this.handleChange(e, 'end'), onBlur: (e) => this.handleBlur(e, 'end'), onKeyDown: (e) => this.handleKeydown(e, 'end') }))), message && (h("p", { key: '2ce2c082d806e13ea1ee47450e8fb1451cd8caed', class: { control_message: true, [message.level]: true } }, message.text))), h("div", { key: '689c3a2bdd00e01d1e60291ceb50f15eb152a660', role: "dialog", class: { popover: true, open: this.open }, ref: (el) => (this.popoverEl = el) }, h("div", { key: '2829d0329004bc14007bdae08be75689315499da', class: "header" }, h("xv-button-v2", { key: 'cf33dc885de4ac63d4732f3d766c22c6afaec46b', tabindex: this.open ? undefined : '-1', disabled: this.isPrevDisabled, variant: "ghost", onClick: this.prevMonth }, h("span", { key: '5af099b261451004e7c10cfbc356686137b590e7', slot: "icon-left", class: "header_icon prev" })), h("p", { key: '3ddb1ae9a61ccf7e881b9d63210af64d691e8b36', class: "header_date" }, dateFns.format(this.month, 'LLLL', { locale: de }), h("input", { key: 'e3a48a0b0a42d0c5ffdfb006a856d4f8471b35cb', tabindex: this.open ? undefined : '-1', type: "number", value: this.month.getFullYear(), onInput: this.handleYearChange, onBlur: this.handleYearBlur })), h("xv-button-v2", { key: 'b14264dc560c4c2a0194fe73c6166e8dd8654032', tabindex: this.open ? undefined : '-1', disabled: this.isNextDisabled, variant: "ghost", onClick: this.nextMonth }, h("span", { key: '89067f6b547c496b487a41740893362bee9105fc', slot: "icon-left", class: "header_icon next" }))), h("div", { key: 'f5bc495aca4c4fcf2b359d694e41639ce617c396', class: "week" }, h("p", { key: '4d978f953f51439d88da536d1bfa3876d704965e', class: "week_day" }), WEEK.map((day) => h("p", { class: "week_day" }, day, "."))), h("div", { key: 'aea1d83963272f1c915a814a7ad8de7465667374', class: "week" }, this.days.map((day, idx) => (h(Fragment, null, idx % 7 === 0 && (h("button", { tabindex: this.open ? undefined : '-1', disabled: true, class: "week_day disabled" }, day.week)), h("button", { tabindex: this.open ? undefined : '-1', onClick: () => this.handleSetDate(day), disabled: day.disabled, class: {
269
+ }, onClick: this.handleOpen, ref: (el) => (this.controlEl = el) }, h("input", { key: '815eb8a1b9aef9a4ffae56ce120175e4e727e2c0', lang: "de", type: "date", name: "start", disabled: this.loading || this.disabled, readonly: this.readonly || this.variant === 'range', min: this.min, max: this.max, value: start ? dateFns.format(start, DEF_FORMAT) : '', onChange: (e) => this.handleChange(e, 'start'), onBlur: (e) => this.handleBlur(e, 'start'), onKeyDown: (e) => this.handleKeydown(e, 'start') }), this.variant === 'range' && (h("input", { key: '4ae5693501d921d8431da8d261de777f159eb778', lang: "de", type: "date", name: "end", disabled: this.loading || this.disabled, readonly: this.readonly || this.variant === 'range', min: this.min, max: this.max, value: end ? dateFns.format(end, DEF_FORMAT) : '', onChange: (e) => this.handleChange(e, 'end'), onBlur: (e) => this.handleBlur(e, 'end'), onKeyDown: (e) => this.handleKeydown(e, 'end') }))), message && (h("p", { key: 'a3facc864173f9a8d74ef8542fff82ea935f5593', class: { control_message: true, [message.level]: true } }, message.text))), h("div", { key: '649f74e157bcd2e834d03c7a2d52968fbe3087c1', role: "dialog", class: { popover: true, open: this.open }, ref: (el) => (this.popoverEl = el) }, h("div", { key: '2cfbafcfaa23d86e610d488315ac6b1aa34dbf54', class: "header" }, h("xv-button-v2", { key: '3694744a0a8790fc80f65ae2a3a33d7f5a0a4d15', tabindex: this.open ? undefined : '-1', disabled: this.isPrevDisabled, variant: "ghost", onClick: this.prevMonth }, h("span", { key: '96aec7fad4fafc6ed43bea53b5000a1100815bf7', slot: "icon-left", class: "header_icon prev" })), h("p", { key: 'a52cafec3ee1d519d3acd39b65c59209b05a17f3', class: "header_date" }, dateFns.format(this.month, 'LLLL', { locale: de }), h("input", { key: 'f523d1ab179245a725a5bfe2ec97f3bce50533de', tabindex: this.open ? undefined : '-1', type: "number", value: this.month.getFullYear(), onInput: this.handleYearChange, onBlur: this.handleYearBlur })), h("xv-button-v2", { key: '16a1f92a5a461a4c812225a586ea705e858aeac7', tabindex: this.open ? undefined : '-1', disabled: this.isNextDisabled, variant: "ghost", onClick: this.nextMonth }, h("span", { key: '5b38b9fef3ab9914f879f8525dcd5b46f46058b4', slot: "icon-left", class: "header_icon next" }))), h("div", { key: '223691312e59a749bd1f8a982b7270fb529b6b32', class: "week" }, h("p", { key: '898552659a61a0cf789541cf694f7589eacdf457', class: "week_day" }), WEEK.map((day) => h("p", { class: "week_day" }, day, "."))), h("div", { key: '7c91b9a24f7d37f64f159f290a43cbfff4c9be1a', class: "week" }, this.days.map((day, idx) => (h(Fragment, null, idx % 7 === 0 && (h("button", { tabindex: this.open ? undefined : '-1', disabled: true, class: "week_day disabled" }, day.week)), h("button", { tabindex: this.open ? undefined : '-1', onClick: () => this.handleSetDate(day), disabled: day.disabled, class: {
243
270
  'week_day': true,
244
271
  inRange: this.variant === 'range' && dateFns.isWithinInterval(day.date, { start, end }),
245
272
  isToday: day.isToday,
@@ -521,6 +548,28 @@ export class XvDatepicker {
521
548
  "setter": false,
522
549
  "reflect": false,
523
550
  "attribute": "max"
551
+ },
552
+ "disabledDates": {
553
+ "type": "unknown",
554
+ "mutable": false,
555
+ "complexType": {
556
+ "original": "(Date | string)[]",
557
+ "resolved": "(string | Date)[]",
558
+ "references": {
559
+ "Date": {
560
+ "location": "global",
561
+ "id": "global::Date"
562
+ }
563
+ }
564
+ },
565
+ "required": false,
566
+ "optional": true,
567
+ "docs": {
568
+ "tags": [],
569
+ "text": "Individual dates to disable within the min/max range. Each entry may be a\n`Date`, a bare 'yyyy-MM-dd' string, or a full ISO string \u2014 all normalised\nto a local 'yyyy-MM-dd' key that matches the calendar grid.\nComposes with min/max: a day is selectable only when it is inside the range\nAND not listed here (e.g. to allow only certain weekdays / block holidays)."
570
+ },
571
+ "getter": false,
572
+ "setter": false
524
573
  }
525
574
  };
526
575
  }
@@ -583,6 +632,15 @@ export class XvDatepicker {
583
632
  }, {
584
633
  "propName": "month",
585
634
  "methodName": "getCalendarGrid"
635
+ }, {
636
+ "propName": "min",
637
+ "methodName": "getCalendarGrid"
638
+ }, {
639
+ "propName": "max",
640
+ "methodName": "getCalendarGrid"
641
+ }, {
642
+ "propName": "disabledDates",
643
+ "methodName": "getCalendarGrid"
586
644
  }, {
587
645
  "propName": "value",
588
646
  "methodName": "handleValueChange"
@@ -1,130 +1,3 @@
1
- .xv-container {
2
- width: 100%;
3
- max-width: 1170px;
4
- margin-inline: auto;
5
- }
6
- @media (min-width: 576px) {
7
- .xv-container {
8
- max-width: 540px;
9
- }
10
- }
11
- @media (min-width: 768px) {
12
- .xv-container {
13
- max-width: 720px;
14
- }
15
- }
16
- @media (min-width: 992px) {
17
- .xv-container {
18
- max-width: 960px;
19
- padding-inline: var(--bs-gutter-x, 0.75rem);
20
- }
21
- }
22
- @media (min-width: 1200px) {
23
- .xv-container {
24
- max-width: 1140px;
25
- }
26
- }
27
- @media (min-width: 1400px) {
28
- .xv-container {
29
- max-width: 1320px;
30
- }
31
- }
32
-
33
- .xv-tooltip[role=tooltip] {
34
- position: absolute;
35
- background-color: var(--background-inverse, #333333);
36
- color: var(--text-on-color);
37
- padding: var(--spacing-03) var(--spacing-04);
38
- border-radius: 3px;
39
- font-size: var(--fz-sm);
40
- z-index: 999;
41
- min-width: min(150px, 90vw);
42
- max-width: min(400px, 90vw);
43
- }
44
- .xv-tooltip[role=tooltip]::after {
45
- content: "";
46
- position: absolute;
47
- width: 0;
48
- height: 0;
49
- border-style: solid;
50
- }
51
- .xv-tooltip[role=tooltip][data-popper-placement=top]::after {
52
- bottom: -5px;
53
- left: 50%;
54
- transform: translateX(-50%);
55
- border-width: 5px 5px 0 5px;
56
- border-color: var(--background-inverse, black) transparent transparent transparent;
57
- }
58
- .xv-tooltip[role=tooltip][data-popper-placement=top-start]::after {
59
- bottom: -5px;
60
- left: 12px;
61
- border-width: 5px 5px 0 5px;
62
- border-color: var(--background-inverse, black) transparent transparent transparent;
63
- }
64
- .xv-tooltip[role=tooltip][data-popper-placement=top-end]::after {
65
- bottom: -5px;
66
- right: 12px;
67
- border-width: 5px 5px 0 5px;
68
- border-color: var(--background-inverse, black) transparent transparent transparent;
69
- }
70
- .xv-tooltip[role=tooltip][data-popper-placement=bottom]::after {
71
- top: -5px;
72
- left: 50%;
73
- transform: translateX(-50%);
74
- border-width: 0 5px 5px 5px;
75
- border-color: transparent transparent var(--background-inverse, black) transparent;
76
- }
77
- .xv-tooltip[role=tooltip][data-popper-placement=bottom-start]::after {
78
- top: -5px;
79
- left: 12px;
80
- border-width: 0 5px 5px 5px;
81
- border-color: transparent transparent var(--background-inverse, black) transparent;
82
- }
83
- .xv-tooltip[role=tooltip][data-popper-placement=bottom-end]::after {
84
- top: -5px;
85
- right: 12px;
86
- border-width: 0 5px 5px 5px;
87
- border-color: transparent transparent var(--background-inverse, black) transparent;
88
- }
89
- .xv-tooltip[role=tooltip][data-popper-placement=left]::after {
90
- top: 50%;
91
- right: -5px;
92
- transform: translateY(-50%);
93
- border-width: 5px 0 5px 5px;
94
- border-color: transparent transparent transparent var(--background-inverse, black);
95
- }
96
- .xv-tooltip[role=tooltip][data-popper-placement=left-start]::after {
97
- top: 12px;
98
- right: -5px;
99
- border-width: 5px 0 5px 5px;
100
- border-color: transparent transparent transparent var(--background-inverse, black);
101
- }
102
- .xv-tooltip[role=tooltip][data-popper-placement=left-end]::after {
103
- bottom: 12px;
104
- right: -5px;
105
- border-width: 5px 0 5px 5px;
106
- border-color: transparent transparent transparent var(--background-inverse, black);
107
- }
108
- .xv-tooltip[role=tooltip][data-popper-placement=right]::after {
109
- top: 50%;
110
- left: -5px;
111
- transform: translateY(-50%);
112
- border-width: 5px 5px 5px 0;
113
- border-color: transparent var(--background-inverse, black) transparent transparent;
114
- }
115
- .xv-tooltip[role=tooltip][data-popper-placement=right-start]::after {
116
- top: 12px;
117
- left: -5px;
118
- border-width: 5px 5px 5px 0;
119
- border-color: transparent var(--background-inverse, black) transparent transparent;
120
- }
121
- .xv-tooltip[role=tooltip][data-popper-placement=right-end]::after {
122
- bottom: 12px;
123
- left: -5px;
124
- border-width: 5px 5px 5px 0;
125
- border-color: transparent var(--background-inverse, black) transparent transparent;
126
- }
127
-
128
1
  :host {
129
2
  display: block;
130
3
  }
@@ -24,7 +24,7 @@ export class XvDropdownItem {
24
24
  });
25
25
  }
26
26
  render() {
27
- return (h(Host, { key: '129c105a5f0c793b893e800b05ce97d8352eb06f', class: "xv-dropdown-item", value: this.value, role: "option", tabindex: this.disabled ? -1 : false }, this.multiple && (h("xv-checkbox-v2", { key: '2145dd2fd6a7ac83ea7c474d2b4b17cb5b7ecc53', class: "multiple-check", size: this.size, checked: this.selected, disabled: this.disabled })), h("slot", { key: '82d7595ff99453660590241da2b6df592f497201' }), (!this.multiple && this.selected) && h("span", { key: '343f6c8f9930054e5aabb015579a5e0ee996cf6e', class: "checkmark far fa-check" })));
27
+ return (h(Host, { key: 'f099e23dd392e97ec646b24d88758ba47568fe15', class: "xv-dropdown-item", value: this.value, role: "option", tabindex: this.disabled ? -1 : false }, this.multiple && (h("xv-checkbox-v2", { key: '27641c4a60485d70a61b72c8dad725c2c7f9390f', class: "multiple-check", size: this.size, checked: this.selected, disabled: this.disabled })), h("slot", { key: 'eefbe58b06a4c2995e2561e78436f724fee77021' }), (!this.multiple && this.selected) && h("span", { key: '57b640d72e80899786d9d14659cc79a003907ba5', class: "checkmark far fa-check" })));
28
28
  }
29
29
  componentWillLoad() {
30
30
  if (!this.value)
@@ -1,130 +1,3 @@
1
- .xv-container {
2
- width: 100%;
3
- max-width: 1170px;
4
- margin-inline: auto;
5
- }
6
- @media (min-width: 576px) {
7
- .xv-container {
8
- max-width: 540px;
9
- }
10
- }
11
- @media (min-width: 768px) {
12
- .xv-container {
13
- max-width: 720px;
14
- }
15
- }
16
- @media (min-width: 992px) {
17
- .xv-container {
18
- max-width: 960px;
19
- padding-inline: var(--bs-gutter-x, 0.75rem);
20
- }
21
- }
22
- @media (min-width: 1200px) {
23
- .xv-container {
24
- max-width: 1140px;
25
- }
26
- }
27
- @media (min-width: 1400px) {
28
- .xv-container {
29
- max-width: 1320px;
30
- }
31
- }
32
-
33
- .xv-tooltip[role=tooltip] {
34
- position: absolute;
35
- background-color: var(--background-inverse, #333333);
36
- color: var(--text-on-color);
37
- padding: var(--spacing-03) var(--spacing-04);
38
- border-radius: 3px;
39
- font-size: var(--fz-sm);
40
- z-index: 999;
41
- min-width: min(150px, 90vw);
42
- max-width: min(400px, 90vw);
43
- }
44
- .xv-tooltip[role=tooltip]::after {
45
- content: "";
46
- position: absolute;
47
- width: 0;
48
- height: 0;
49
- border-style: solid;
50
- }
51
- .xv-tooltip[role=tooltip][data-popper-placement=top]::after {
52
- bottom: -5px;
53
- left: 50%;
54
- transform: translateX(-50%);
55
- border-width: 5px 5px 0 5px;
56
- border-color: var(--background-inverse, black) transparent transparent transparent;
57
- }
58
- .xv-tooltip[role=tooltip][data-popper-placement=top-start]::after {
59
- bottom: -5px;
60
- left: 12px;
61
- border-width: 5px 5px 0 5px;
62
- border-color: var(--background-inverse, black) transparent transparent transparent;
63
- }
64
- .xv-tooltip[role=tooltip][data-popper-placement=top-end]::after {
65
- bottom: -5px;
66
- right: 12px;
67
- border-width: 5px 5px 0 5px;
68
- border-color: var(--background-inverse, black) transparent transparent transparent;
69
- }
70
- .xv-tooltip[role=tooltip][data-popper-placement=bottom]::after {
71
- top: -5px;
72
- left: 50%;
73
- transform: translateX(-50%);
74
- border-width: 0 5px 5px 5px;
75
- border-color: transparent transparent var(--background-inverse, black) transparent;
76
- }
77
- .xv-tooltip[role=tooltip][data-popper-placement=bottom-start]::after {
78
- top: -5px;
79
- left: 12px;
80
- border-width: 0 5px 5px 5px;
81
- border-color: transparent transparent var(--background-inverse, black) transparent;
82
- }
83
- .xv-tooltip[role=tooltip][data-popper-placement=bottom-end]::after {
84
- top: -5px;
85
- right: 12px;
86
- border-width: 0 5px 5px 5px;
87
- border-color: transparent transparent var(--background-inverse, black) transparent;
88
- }
89
- .xv-tooltip[role=tooltip][data-popper-placement=left]::after {
90
- top: 50%;
91
- right: -5px;
92
- transform: translateY(-50%);
93
- border-width: 5px 0 5px 5px;
94
- border-color: transparent transparent transparent var(--background-inverse, black);
95
- }
96
- .xv-tooltip[role=tooltip][data-popper-placement=left-start]::after {
97
- top: 12px;
98
- right: -5px;
99
- border-width: 5px 0 5px 5px;
100
- border-color: transparent transparent transparent var(--background-inverse, black);
101
- }
102
- .xv-tooltip[role=tooltip][data-popper-placement=left-end]::after {
103
- bottom: 12px;
104
- right: -5px;
105
- border-width: 5px 0 5px 5px;
106
- border-color: transparent transparent transparent var(--background-inverse, black);
107
- }
108
- .xv-tooltip[role=tooltip][data-popper-placement=right]::after {
109
- top: 50%;
110
- left: -5px;
111
- transform: translateY(-50%);
112
- border-width: 5px 5px 5px 0;
113
- border-color: transparent var(--background-inverse, black) transparent transparent;
114
- }
115
- .xv-tooltip[role=tooltip][data-popper-placement=right-start]::after {
116
- top: 12px;
117
- left: -5px;
118
- border-width: 5px 5px 5px 0;
119
- border-color: transparent var(--background-inverse, black) transparent transparent;
120
- }
121
- .xv-tooltip[role=tooltip][data-popper-placement=right-end]::after {
122
- bottom: 12px;
123
- left: -5px;
124
- border-width: 5px 5px 5px 0;
125
- border-color: transparent var(--background-inverse, black) transparent transparent;
126
- }
127
-
128
1
  :host {
129
2
  --dropdown-height: 40px;
130
3
  --dropdown-padding-x: 16px;
@@ -282,7 +282,7 @@ export class XvDropdown {
282
282
  /* endregion Search methods */
283
283
  render() {
284
284
  const message = resolveFieldMessage({ error: this.error, warning: this.warning, helper: this.helper });
285
- return (h(Host, { key: '2e0a4b087e8b1a66bf4bf3ddac2fb342fb988f1e', class: { 'xv-dropdown': true, [this.variant]: !!this.variant }, role: "combobox", "aria-haspopup": "listbox", "aria-expanded": this.open ? 'true' : 'false', "aria-controls": this.open ? this.listboxId : null, size: this.size, open: this.open, error: !!this.error, disabled: this.disabled, tabindex: (this.disabled || this.readonly) ? -1 : 0 }, (this.label || this.info) && (h("label", { key: '9317e138effdd7ec69133304fe50d11c406b8faf', class: "label" }, h("slot", { key: '896604f1fef1f4531793a865c2083eaa5b744aa0', name: "label" }, this.label), this.info && h("xv-tooltip-v2", { key: 'd862a834642e1c115a063601926711339c53168b', class: "label_info", message: this.info }))), h("div", { key: '2cf34c1d32737ac0b664757b1a53bea34a507c72', class: { "xv-dropdown-control control": true, readonly: !!this.readonly }, onClick: this.handleOpen }, (this.multiple && this.selectedMap.size > 0) && (h("xv-tag-v2", { key: '9dd7be50d9ce42e037822502720a949ac071d8e0', class: "control_count", onClick: (e) => e.stopPropagation(), onCloseClick: this.clearHandle, closeable: !this.required, bg: "var(--background-inverse)", color: "var(--icon-inverse)" }, this.selectedMap.size)), this.selected.length ? (h("p", { class: "control_value" }, this.selected.join(', '))) : (h("p", { class: "control_placeholder" }, this.placeholder || '')), this._renderIcon(), h("svg", { key: '023c89db58f385e8a00cab6dce050048b2765b82', 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 448 512" }, h("path", { key: '5994fb2f805d0f1c904558f0ded054cd30c14210', d: "M441.9 167.3l-19.8-19.8c-4.7-4.7-12.3-4.7-17 0L224 328.2 42.9 147.5c-4.7-4.7-12.3-4.7-17 0L6.1 167.3c-4.7 4.7-4.7 12.3 0 17l209.4 209.4c4.7 4.7 12.3 4.7 17 0l209.4-209.4c4.7-4.7 4.7-12.3 0-17z" }))), this.open && h("div", { key: 'a2872c7cb6fbeb25583d4ed809b79b11aa533c4e', ref: (el) => (this.optionsEl = el), id: this.listboxId, role: "listbox", "aria-multiselectable": this.multiple ? 'true' : null, class: { options: true, right: this._appliedPosition() === 'right', search: !!this.search } }, this.search && (h("div", { key: '8908992fae99c07e3e9d2e06b705c55a4d73fb0a', class: "options_search" }, h("xv-text-input-v2", { key: '21fb4c673a3e46c024379ec7252026c0cf199ff4', type: "search", ref: (el) => (this.searchInputEl = el), block: true, autocomplete: "off", size: this.size, value: this.searchQuery, placeholder: this.searchPlaceholder, onValueChange: this.handleSearchInput }))), h("slot", { key: "xv-dropdown-options" })), message && h("p", { key: '104c79569b898fd9f0a9826654de18d16bc68a16', class: "helper" }, message.text)));
285
+ return (h(Host, { key: '01b71caf620b27aa3cf098ab9449196c1b7b56ea', class: { 'xv-dropdown': true, [this.variant]: !!this.variant }, role: "combobox", "aria-haspopup": "listbox", "aria-expanded": this.open ? 'true' : 'false', "aria-controls": this.open ? this.listboxId : null, size: this.size, open: this.open, error: !!this.error, disabled: this.disabled, tabindex: (this.disabled || this.readonly) ? -1 : 0 }, (this.label || this.info) && (h("label", { key: 'd99f47f2abbbe370efde3a702b5d1c61b11aa4ca', class: "label" }, h("slot", { key: '2ca43ab5d65eb331d6ffd2ca10c251bcd6f6c3d0', name: "label" }, this.label), this.info && h("xv-tooltip-v2", { key: '7d55fa244097898202318adc3b03b898cb4b3f11', class: "label_info", message: this.info }))), h("div", { key: 'c854210410d358b440559702c4efab8b9ac894b8', class: { "xv-dropdown-control control": true, readonly: !!this.readonly }, onClick: this.handleOpen }, (this.multiple && this.selectedMap.size > 0) && (h("xv-tag-v2", { key: '4d46c14e2aab62651692a98b6c3d321d7073849c', class: "control_count", onClick: (e) => e.stopPropagation(), onCloseClick: this.clearHandle, closeable: !this.required, bg: "var(--background-inverse)", color: "var(--icon-inverse)" }, this.selectedMap.size)), this.selected.length ? (h("p", { class: "control_value" }, this.selected.join(', '))) : (h("p", { class: "control_placeholder" }, this.placeholder || '')), this._renderIcon(), h("svg", { key: 'e3bf3f8eb0b3e71038423e8eb2e14d78dc4ca33a', 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 448 512" }, h("path", { key: '48f1408c0ebaa4c3b0c947dd4d9fdb2ab21a11c9', d: "M441.9 167.3l-19.8-19.8c-4.7-4.7-12.3-4.7-17 0L224 328.2 42.9 147.5c-4.7-4.7-12.3-4.7-17 0L6.1 167.3c-4.7 4.7-4.7 12.3 0 17l209.4 209.4c4.7 4.7 12.3 4.7 17 0l209.4-209.4c4.7-4.7 4.7-12.3 0-17z" }))), this.open && h("div", { key: '8915c7c514f6847a0d479c3ad1d39e00dbef46c2', ref: (el) => (this.optionsEl = el), id: this.listboxId, role: "listbox", "aria-multiselectable": this.multiple ? 'true' : null, class: { options: true, right: this._appliedPosition() === 'right', search: !!this.search } }, this.search && (h("div", { key: '2f59d1e41e8cf05038174123bad5b55038be5d75', class: "options_search" }, h("xv-text-input-v2", { key: '8670ba300bb2410d9ba708f4d07ba8f8def0c6c9', type: "search", ref: (el) => (this.searchInputEl = el), block: true, autocomplete: "off", size: this.size, value: this.searchQuery, placeholder: this.searchPlaceholder, onValueChange: this.handleSearchInput }))), h("slot", { key: "xv-dropdown-options" })), message && h("p", { key: 'cade20ffd199293bcdb1ee7fa5c6d20e7294929e', class: "helper" }, message.text)));
286
286
  }
287
287
  componentDidLoad() {
288
288
  this.syncOpenState();
@@ -1,130 +1,3 @@
1
- .xv-container {
2
- width: 100%;
3
- max-width: 1170px;
4
- margin-inline: auto;
5
- }
6
- @media (min-width: 576px) {
7
- .xv-container {
8
- max-width: 540px;
9
- }
10
- }
11
- @media (min-width: 768px) {
12
- .xv-container {
13
- max-width: 720px;
14
- }
15
- }
16
- @media (min-width: 992px) {
17
- .xv-container {
18
- max-width: 960px;
19
- padding-inline: var(--bs-gutter-x, 0.75rem);
20
- }
21
- }
22
- @media (min-width: 1200px) {
23
- .xv-container {
24
- max-width: 1140px;
25
- }
26
- }
27
- @media (min-width: 1400px) {
28
- .xv-container {
29
- max-width: 1320px;
30
- }
31
- }
32
-
33
- .xv-tooltip[role=tooltip] {
34
- position: absolute;
35
- background-color: var(--background-inverse, #333333);
36
- color: var(--text-on-color);
37
- padding: var(--spacing-03) var(--spacing-04);
38
- border-radius: 3px;
39
- font-size: var(--fz-sm);
40
- z-index: 999;
41
- min-width: min(150px, 90vw);
42
- max-width: min(400px, 90vw);
43
- }
44
- .xv-tooltip[role=tooltip]::after {
45
- content: "";
46
- position: absolute;
47
- width: 0;
48
- height: 0;
49
- border-style: solid;
50
- }
51
- .xv-tooltip[role=tooltip][data-popper-placement=top]::after {
52
- bottom: -5px;
53
- left: 50%;
54
- transform: translateX(-50%);
55
- border-width: 5px 5px 0 5px;
56
- border-color: var(--background-inverse, black) transparent transparent transparent;
57
- }
58
- .xv-tooltip[role=tooltip][data-popper-placement=top-start]::after {
59
- bottom: -5px;
60
- left: 12px;
61
- border-width: 5px 5px 0 5px;
62
- border-color: var(--background-inverse, black) transparent transparent transparent;
63
- }
64
- .xv-tooltip[role=tooltip][data-popper-placement=top-end]::after {
65
- bottom: -5px;
66
- right: 12px;
67
- border-width: 5px 5px 0 5px;
68
- border-color: var(--background-inverse, black) transparent transparent transparent;
69
- }
70
- .xv-tooltip[role=tooltip][data-popper-placement=bottom]::after {
71
- top: -5px;
72
- left: 50%;
73
- transform: translateX(-50%);
74
- border-width: 0 5px 5px 5px;
75
- border-color: transparent transparent var(--background-inverse, black) transparent;
76
- }
77
- .xv-tooltip[role=tooltip][data-popper-placement=bottom-start]::after {
78
- top: -5px;
79
- left: 12px;
80
- border-width: 0 5px 5px 5px;
81
- border-color: transparent transparent var(--background-inverse, black) transparent;
82
- }
83
- .xv-tooltip[role=tooltip][data-popper-placement=bottom-end]::after {
84
- top: -5px;
85
- right: 12px;
86
- border-width: 0 5px 5px 5px;
87
- border-color: transparent transparent var(--background-inverse, black) transparent;
88
- }
89
- .xv-tooltip[role=tooltip][data-popper-placement=left]::after {
90
- top: 50%;
91
- right: -5px;
92
- transform: translateY(-50%);
93
- border-width: 5px 0 5px 5px;
94
- border-color: transparent transparent transparent var(--background-inverse, black);
95
- }
96
- .xv-tooltip[role=tooltip][data-popper-placement=left-start]::after {
97
- top: 12px;
98
- right: -5px;
99
- border-width: 5px 0 5px 5px;
100
- border-color: transparent transparent transparent var(--background-inverse, black);
101
- }
102
- .xv-tooltip[role=tooltip][data-popper-placement=left-end]::after {
103
- bottom: 12px;
104
- right: -5px;
105
- border-width: 5px 0 5px 5px;
106
- border-color: transparent transparent transparent var(--background-inverse, black);
107
- }
108
- .xv-tooltip[role=tooltip][data-popper-placement=right]::after {
109
- top: 50%;
110
- left: -5px;
111
- transform: translateY(-50%);
112
- border-width: 5px 5px 5px 0;
113
- border-color: transparent var(--background-inverse, black) transparent transparent;
114
- }
115
- .xv-tooltip[role=tooltip][data-popper-placement=right-start]::after {
116
- top: 12px;
117
- left: -5px;
118
- border-width: 5px 5px 5px 0;
119
- border-color: transparent var(--background-inverse, black) transparent transparent;
120
- }
121
- .xv-tooltip[role=tooltip][data-popper-placement=right-end]::after {
122
- bottom: 12px;
123
- left: -5px;
124
- border-width: 5px 5px 5px 0;
125
- border-color: transparent var(--background-inverse, black) transparent transparent;
126
- }
127
-
128
1
  :host {
129
2
  font-family: inherit;
130
3
  display: flex;
@@ -84,7 +84,7 @@ export class XvFileUploader {
84
84
  }
85
85
  }
86
86
  render() {
87
- return (h(Host, { key: '3423ccf72c581a004e5ca59d9cbf6f673f7896c1', class: { 'upload-wrapper': true, [`uploader-${this.size}`]: true, disabled: !!this.disabled, error: !!this.error } }, this.label && h("label", { key: '93b7b8edc0ac8e980910dc83d7cabf2030f97b35', class: "label" }, this.label), this.description && h("p", { key: 'c6b030335b34ee97ada3127fc8641f7b009d6c55', class: "description" }, this.description), this.variant === 'button' ? (h("xv-button-v2", { class: "uploadBtn", variant: this.buttonVariant, disabled: this.disabled, onClick: () => this.fileInput.click() }, this.addText || 'Dateien auswählen')) : (h("div", { class: { 'drop-zone': true, active: this.dragActive }, onDrop: this.onDrop, onDragOver: this.onDragOver, onDragLeave: this.onDragLeave, onClick: () => this.fileInput.click() }, this.addText || 'Dateien hierher ziehen oder darauf klicken, um eine Datei auszuwählen.')), h("input", { key: '04a082fae037f176533bee68ea0a8b24f8f36257', ref: el => (this.fileInput = el), type: "file", hidden: true, onChange: this.onFileSelect, multiple: this.multiple, accept: this.accept.join(',') }), this.error && h("p", { key: '6fb7b7c5517030caf1f22206a6612077b0c14e7e', class: "global-error" }, this.error), h("ul", { key: 'e3d5461797abbc1168117c6772238780a0a7e14a', class: "file-list" }, this.files.map((file, index) => {
87
+ return (h(Host, { key: 'b18153e870fd78c9ee386af30a4b0163e9345408', class: { 'upload-wrapper': true, [`uploader-${this.size}`]: true, disabled: !!this.disabled, error: !!this.error } }, this.label && h("label", { key: 'baaaee91572847ae722b2c6d2e28fccf72571a3a', class: "label" }, this.label), this.description && h("p", { key: '4ac3753917d2d174988a2cf75d9c5f456d4079cd', class: "description" }, this.description), this.variant === 'button' ? (h("xv-button-v2", { class: "uploadBtn", variant: this.buttonVariant, disabled: this.disabled, onClick: () => this.fileInput.click() }, this.addText || 'Dateien auswählen')) : (h("div", { class: { 'drop-zone': true, active: this.dragActive }, onDrop: this.onDrop, onDragOver: this.onDragOver, onDragLeave: this.onDragLeave, onClick: () => this.fileInput.click() }, this.addText || 'Dateien hierher ziehen oder darauf klicken, um eine Datei auszuwählen.')), h("input", { key: '6cecaf189c5ab89323302a8a47375645617af1d7', ref: el => (this.fileInput = el), type: "file", hidden: true, onChange: this.onFileSelect, multiple: this.multiple, accept: this.accept.join(',') }), this.error && h("p", { key: '6fb87dc13c0f659c6d52e93cdaaaea1737f8fcc6', class: "global-error" }, this.error), h("ul", { key: '1dc56f103b4ab0dc016b46ab499e895e62ada3ed', class: "file-list" }, this.files.map((file, index) => {
88
88
  var _a, _b;
89
89
  return (h("li", { class: { file: true, withError: !!(((_a = this.errors) === null || _a === void 0 ? void 0 : _a[index]) || ((_b = this.errorMessages) === null || _b === void 0 ? void 0 : _b[index])) } }, h("div", { class: "file_container" }, h("span", { class: "file_container_name" }, file.name), this._renderLoaderState(index)), this._renderError(index)));
90
90
  }))));