xv-webcomponents 2.0.0-beta.2 → 2.0.0-beta.28

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 (166) hide show
  1. package/README.md +3 -2
  2. package/dist/angular/index.d.ts +1 -1
  3. package/dist/angular/index.js +3 -4
  4. package/dist/angular/proxies.d.ts +60 -34
  5. package/dist/angular/proxies.js +51 -67
  6. package/dist/angular/web-components.module.d.ts +1 -1
  7. package/dist/angular/web-components.module.js +10 -13
  8. package/dist/cjs/{index-Cfa6bBQW.js → index-DaTpiyaU.js} +1 -1
  9. package/dist/cjs/{index-Cixkr3sz.js → index-Dwhgrew8.js} +15 -10
  10. package/dist/cjs/index.cjs.js +2 -2
  11. package/dist/cjs/loader.cjs.js +2 -2
  12. package/dist/cjs/{xv-accordion-v2_50.cjs.entry.js → xv-accordion-v2_49.cjs.entry.js} +1529 -147
  13. package/dist/cjs/xv-header-next.cjs.entry.js +2 -2
  14. package/dist/cjs/xv-mega-menu-next.cjs.entry.js +2 -2
  15. package/dist/cjs/xv-webcomponents.cjs.js +3 -3
  16. package/dist/collection/collection-manifest.json +1 -2
  17. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.js +9 -8
  18. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.css +129 -61
  19. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js +277 -78
  20. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.css +138 -24
  21. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js +334 -168
  22. package/dist/collection/components/xv-table/xv-table.css +240 -99
  23. package/dist/collection/components/xv-table/xv-table.js +2056 -63
  24. package/dist/collection/components/xv-table/xv-table.model.js +10 -0
  25. package/dist/collection/components/xv-table/xv-table.utils.js +243 -0
  26. package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js +1 -1
  27. package/dist/collection/components/xv-tag/xv-tag.js +1 -1
  28. package/dist/collection/components/xv-tag-combobox/xv-tag-combobox.js +2 -2
  29. package/dist/collection/components/xv-text-input/xv-text-input.js +2 -2
  30. package/dist/collection/components/xv-textarea/xv-textarea.js +2 -2
  31. package/dist/collection/components/xv-tile/xv-tile.js +2 -2
  32. package/dist/collection/components/xv-toggle/xv-toggle.js +1 -1
  33. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.js +1 -1
  34. package/dist/collection/components/xv-tooltip/xv-tooltip.js +2 -2
  35. package/dist/collection/utils/table-layout.js +130 -0
  36. package/dist/components/index.js +1 -1
  37. package/dist/components/p-B0kwaJ8n.js +1 -0
  38. package/dist/components/{p-CbVZCn2p.js → p-BEoh0dZI.js} +1 -1
  39. package/dist/components/{p-ZYJfCCwX.js → p-BaZ-srfu.js} +1 -1
  40. package/dist/components/{p-DyGMZIub.js → p-Bej2l-wN.js} +1 -1
  41. package/dist/components/{p-Ddx5DwV5.js → p-BfhvpeQh.js} +1 -1
  42. package/dist/components/{p-kQVUwJXZ.js → p-CSYnNMKb.js} +1 -1
  43. package/dist/components/{p-BNP2Lw34.js → p-CspyoLL9.js} +1 -1
  44. package/dist/components/p-CvgDDcjp.js +1 -0
  45. package/dist/components/{p-COoj5JkZ.js → p-D4FwGeDJ.js} +1 -1
  46. package/dist/components/p-DCvH_Br_.js +1 -0
  47. package/dist/components/{p-CEjlxnKY.js → p-DFe9Mtw_.js} +1 -1
  48. package/dist/components/{p-BRZwUlfE.js → p-DFtMwE-h.js} +1 -1
  49. package/dist/components/p-DIvi4fI3.js +1 -0
  50. package/dist/components/{p-DTwz9Fsh.js → p-DNRISLNf.js} +1 -1
  51. package/dist/components/p-DPnvoOYj.js +1 -0
  52. package/dist/components/{p-Dzz9jxLm.js → p-Dwbe941A.js} +1 -1
  53. package/dist/components/{p-CMAJWZsP.js → p-JClekcEh.js} +1 -1
  54. package/dist/components/{p-DtUNYh73.js → p-NoM9oIJn.js} +1 -1
  55. package/dist/components/{p-DlLBjhuH.js → p-XEk4dHG3.js} +1 -1
  56. package/dist/components/p-i7_81si-.js +1 -0
  57. package/dist/components/{p-BRYrLHiz.js → p-i82EFiq6.js} +1 -1
  58. package/dist/components/{p-BXB4D7j4.js → p-jD7nSJaM.js} +1 -1
  59. package/dist/components/xv-accordion-v2-item.js +1 -1
  60. package/dist/components/xv-accordion-v2.js +1 -1
  61. package/dist/components/xv-breadcrumbs-v2.js +1 -1
  62. package/dist/components/xv-button-group-v2.js +1 -1
  63. package/dist/components/xv-button-v2.js +1 -1
  64. package/dist/components/xv-card-v2.js +1 -1
  65. package/dist/components/xv-checkbox-v2.js +1 -1
  66. package/dist/components/xv-content-switcher-item-v2.js +1 -1
  67. package/dist/components/xv-content-switcher-v2.js +1 -1
  68. package/dist/components/xv-data-table-cell.js +1 -1
  69. package/dist/components/xv-data-table-collapse.js +1 -1
  70. package/dist/components/xv-data-table-row.js +1 -1
  71. package/dist/components/xv-data-table.js +2 -2
  72. package/dist/components/xv-date-picker.js +1 -1
  73. package/dist/components/xv-datepicker.js +1 -1
  74. package/dist/components/xv-dropdown-v2-item.js +1 -1
  75. package/dist/components/xv-dropdown-v2.js +1 -1
  76. package/dist/components/xv-file-uploader.js +1 -1
  77. package/dist/components/xv-footer.js +1 -1
  78. package/dist/components/xv-geo-map-v2.js +1 -1
  79. package/dist/components/xv-header-next.js +1 -1
  80. package/dist/components/xv-header.js +1 -1
  81. package/dist/components/xv-image-viewer.js +1 -1
  82. package/dist/components/xv-link-v2.js +1 -1
  83. package/dist/components/xv-loader-v2.js +1 -1
  84. package/dist/components/xv-login-modal.js +1 -1
  85. package/dist/components/xv-mega-menu-next.js +1 -1
  86. package/dist/components/xv-mega-menu.js +1 -1
  87. package/dist/components/xv-modal-v2.js +1 -1
  88. package/dist/components/xv-notification-v2.js +1 -1
  89. package/dist/components/xv-number-input-v2.js +1 -1
  90. package/dist/components/xv-overflow-menu-v2-item.js +1 -1
  91. package/dist/components/xv-overflow-menu-v2.js +1 -1
  92. package/dist/components/xv-pagination.js +1 -1
  93. package/dist/components/xv-progress-indicator-v2-item.js +1 -1
  94. package/dist/components/xv-progress-indicator-v2.js +1 -1
  95. package/dist/components/xv-radio-v2.js +1 -1
  96. package/dist/components/xv-slider-v2.js +1 -1
  97. package/dist/components/xv-tab-v2.js +1 -1
  98. package/dist/components/{xv-table-v2-row.d.ts → xv-table-cell.d.ts} +4 -4
  99. package/dist/components/xv-table-cell.js +1 -0
  100. package/dist/components/{xv-table-v2-cell.d.ts → xv-table-row.d.ts} +4 -4
  101. package/dist/components/xv-table-row.js +1 -0
  102. package/dist/components/{xv-table-v2.d.ts → xv-table.d.ts} +4 -4
  103. package/dist/components/xv-table.js +1 -0
  104. package/dist/components/xv-tabs-v2.js +1 -1
  105. package/dist/components/xv-tag-combobox.js +1 -1
  106. package/dist/components/xv-tag-v2.js +1 -1
  107. package/dist/components/xv-text-input-v2.js +1 -1
  108. package/dist/components/xv-textarea.js +1 -1
  109. package/dist/components/xv-tile.js +1 -1
  110. package/dist/components/xv-toggle-tip.js +1 -1
  111. package/dist/components/xv-toggle.js +1 -1
  112. package/dist/components/xv-tooltip-v2.js +1 -1
  113. package/dist/custom-elements.json +1765 -294
  114. package/dist/docs.json +2749 -443
  115. package/dist/esm/{index-B6cY-_U1.js → index-ClusqSO5.js} +1 -1
  116. package/dist/esm/{index-Bu8SrOeR.js → index-DJC3-dS3.js} +15 -10
  117. package/dist/esm/index.js +2 -2
  118. package/dist/esm/loader.js +3 -3
  119. package/dist/esm/{xv-accordion-v2_50.entry.js → xv-accordion-v2_49.entry.js} +1527 -144
  120. package/dist/esm/xv-header-next.entry.js +2 -2
  121. package/dist/esm/xv-mega-menu-next.entry.js +2 -2
  122. package/dist/esm/xv-webcomponents.js +4 -4
  123. package/dist/react/components.d.ts +3 -4
  124. package/dist/react/components.js +3 -4
  125. package/dist/react/{xv-table-v2-expand.d.ts → xv-table-cell.d.ts} +3 -3
  126. package/dist/react/xv-table-cell.js +14 -0
  127. package/dist/react/{xv-table-v2.d.ts → xv-table-row.d.ts} +3 -3
  128. package/dist/react/{xv-table-v2.js → xv-table-row.js} +5 -5
  129. package/dist/react/xv-table.d.ts +18 -0
  130. package/dist/react/xv-table.js +22 -0
  131. package/dist/types/components/xv-table/xv-table-cell/xv-table-cell.d.ts +43 -8
  132. package/dist/types/components/xv-table/xv-table-row/xv-table-row.d.ts +57 -18
  133. package/dist/types/components/xv-table/xv-table.d.ts +298 -9
  134. package/dist/types/components/xv-table/xv-table.model.d.ts +78 -0
  135. package/dist/types/components/xv-table/xv-table.utils.d.ts +47 -0
  136. package/dist/types/components.d.ts +899 -118
  137. package/dist/types/stencil-public-runtime.d.ts +61 -55
  138. package/dist/types/utils/table-layout.d.ts +7 -0
  139. package/dist/vscode-data.json +347 -56
  140. package/dist/xv-webcomponents/index.esm.js +1 -1
  141. package/dist/xv-webcomponents/{p-1ffb0b4f.entry.js → p-0c30d09f.entry.js} +1 -1
  142. package/dist/xv-webcomponents/{p-eb9d7750.entry.js → p-6b58979e.entry.js} +2 -2
  143. package/dist/xv-webcomponents/{p-Bu8SrOeR.js → p-DJC3-dS3.js} +2 -2
  144. package/dist/xv-webcomponents/{p-DB4KqDJz.js → p-DSFVdw3w.js} +1 -1
  145. package/dist/xv-webcomponents/{p-d4d26ff2.entry.js → p-c4173686.entry.js} +1 -1
  146. package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -1
  147. package/package.json +139 -139
  148. package/dist/collection/components/xv-table/_vars.js +0 -2
  149. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.css +0 -58
  150. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js +0 -75
  151. package/dist/components/p-CHtssNO9.js +0 -1
  152. package/dist/components/p-CILNPUHH.js +0 -1
  153. package/dist/components/p-DVZ2BlIP.js +0 -1
  154. package/dist/components/p-bdaoJ1tx.js +0 -1
  155. package/dist/components/xv-table-v2-cell.js +0 -1
  156. package/dist/components/xv-table-v2-expand.d.ts +0 -11
  157. package/dist/components/xv-table-v2-expand.js +0 -1
  158. package/dist/components/xv-table-v2-row.js +0 -1
  159. package/dist/components/xv-table-v2.js +0 -1
  160. package/dist/react/xv-table-v2-cell.d.ts +0 -12
  161. package/dist/react/xv-table-v2-cell.js +0 -14
  162. package/dist/react/xv-table-v2-expand.js +0 -14
  163. package/dist/react/xv-table-v2-row.d.ts +0 -13
  164. package/dist/react/xv-table-v2-row.js +0 -17
  165. package/dist/types/components/xv-table/_vars.d.ts +0 -15
  166. package/dist/types/components/xv-table/xv-table-expand/xv-table-expand.d.ts +0 -8
@@ -1 +1 @@
1
- import{p as e,H as t,c as i,h as s,F as r,a,t as o}from"./p-BNP2Lw34.js";import{a as n,l}from"./p-BiiqsbVQ.js";import{S as d}from"./p-HjYAjHna.js";import{r as h}from"./index.js";import{d as c}from"./p-COoj5JkZ.js";import{d as p}from"./p-Dzz9jxLm.js";import{c as u}from"./p-BfP9ezJQ.js";const b=12,m=e=>{if(!e)return;if(e instanceof Date)return n.isValid(e)?e:void 0;const t=n.parseISO(e);return n.isValid(t)?t:void 0},v=(e,t)=>{const i=e.getFullYear();if("year"===t)return i;const s=e.getMonth()+1;return"month"===t?100*i+s:1e4*i+100*s+e.getDate()},f=(e,t,i)=>{var s;const r=v(e,t);return void 0!==i.minKey&&r<i.minKey||void 0!==i.maxKey&&r>i.maxKey||!!(null===(s=i.disabledKeys)||void 0===s?void 0:s.has(r))||!("day"!==t||!i.disabledWeekdays)&&i.disabledWeekdays.includes(e.getDay())},g=(e,t,i,s,r)=>{const a=v(e,t);return{key:a,date:e,disabled:f(e,t,i),outside:r,today:a===s}},y=e=>Math.floor(e.getFullYear()/b)*b,x={de:l.de,en:l.enUS},k={year:"month",month:"day",day:"day"},w={day:"month",month:"year",year:"year"},_=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.valueChange=i(this,"valueChange",7),this.xvBlur=i(this,"xvBlur",7),this.openChange=i(this,"openChange",7),this.internals=this.attachInternals(),this.value=[void 0,void 0],this.selection="single",this.precision="day",this.withTime=!1,this.minuteStep=5,this.weekStartsOn=1,this.showWeekNumbers=!0,this.required=!1,this.readonly=!1,this.disabled=!1,this.loading=!1,this.clearable=!1,this.size=d.MD,this.block=!1,this.placement="bottom-start",this.offset=8,this.dates=[void 0,void 0],this.open=!1,this.view="day",this.anchor=new Date,this.active="start",this.dayRows=[],this.unitCells=[],this.weekdays=[],this.focusedDate=new Date,this.bounds={},this.inputs={},this.pendingCellFocus=!1,this.handleFieldClick=e=>{if(!this.isInteractive)return;const t=this.endpointOf(e.target);this.active=null!=t?t:this.dates[0]&&"range"===this.selection?"end":"start",this.open||(this.open=!0),t||this.focusEndpoint(this.active)},this.handleFieldKeydown=e=>{if(this.isInteractive){if("Enter"===e.key||" "===e.key||"ArrowDown"===e.key){e.preventDefault();const t=this.endpointOf(e.target);return t&&(this.active=t),this.open=!0,void("ArrowDown"===e.key&&(this.pendingCellFocus=!0))}"Escape"===e.key&&this.open&&(this.open=!1)}},this.handlePanelKeydown=e=>{"Escape"===e.key&&(e.stopPropagation(),this.open=!1,this.focusEndpoint(this.active))},this.handleGridKeydown=e=>{const t="day"===this.view?7:3;switch(e.key){case"ArrowLeft":this.moveFocus(-1);break;case"ArrowRight":this.moveFocus(1);break;case"ArrowUp":this.moveFocus(-t);break;case"ArrowDown":this.moveFocus(t);break;case"Home":this.setFocusedDate(this.edgeOfRow("start"),1);break;case"End":this.setFocusedDate(this.edgeOfRow("end"),-1);break;case"PageUp":this.stepFocus(-1);break;case"PageDown":this.stepFocus(1);break;default:return}e.preventDefault()},this.handleTimeChange=(e,t)=>{const[i,s]=e.target.value.split(":").map(Number);if(!Number.isFinite(i)||!Number.isFinite(s))return;const r="end"===t?1:0,a=this.dates[r];if(!a)return;const o=new Date(a);o.setHours(i,s,0,0);const n=[this.dates[0],this.dates[1]];n[r]=o,n[0]&&n[1]&&n[0].getTime()>n[1].getTime()&&(n[0===r?1:0]=new Date(o)),this.commit(n)},this.handleClear=e=>{e.stopPropagation(),this.commit([void 0,void 0]),this.active="start"}}get dateLocale(){var e;const t=this.locale||(null===(e=this.el.closest("[lang]"))||void 0===e?void 0:e.getAttribute("lang"))||"de";return x[t]||x[t.split("-")[0]]||l.de}get isInteractive(){return!this.disabled&&!this.readonly&&!this.loading}componentWillLoad(){this.syncValue(),this.view=this.precision,this.anchor=this.dates[0]||new Date,this.rebuildWeekdays(),this.rebuild()}componentDidRender(){this.pendingCellFocus&&(this.pendingCellFocus=!1,this.focusCell())}disconnectedCallback(){this.destroyPopper(),this.unbindDismiss()}syncValue(){const e=(e=>[m(null==e?void 0:e[0]),m(null==e?void 0:e[1])])(this.value),[t,i]=e,[s,r]=this.dates;(null==t?void 0:t.getTime())===(null==s?void 0:s.getTime())&&(null==i?void 0:i.getTime())===(null==r?void 0:r.getTime())||(this.dates=e,this.syncFormValue(),this.valueChange.emit(e))}rebuildWeekdays(){const e=n.startOfWeek(new Date,{weekStartsOn:this.weekStartsOn});this.weekdays=Array.from({length:7},((t,i)=>n.format(n.addDays(e,i),"EEEEEE",{locale:this.dateLocale})))}resetView(){this.view=this.precision}rebuild(){if(this.bounds=(e=>{const{precision:t,min:i,max:s,disabledDates:r,disabledWeekdays:a}=e,o=m(i),n=m(s),l=(null!=r?r:[]).map((e=>m(e))).filter((e=>!!e)).map((e=>v(e,t)));return{minKey:o&&v(o,t),maxKey:n&&v(n,t),disabledKeys:l.length?new Set(l):void 0,disabledWeekdays:(null==a?void 0:a.length)?a:void 0}})({precision:this.view,min:this.min,max:this.max,disabledDates:this.disabledDates,disabledWeekdays:this.disabledWeekdays}),"day"===this.view)return this.dayRows=((e,t,i)=>{const s=n.startOfWeek(n.startOfMonth(e),{weekStartsOn:t}),r=v(new Date,"day");return Array.from({length:6},((t,a)=>{const o=Array.from({length:7},((t,o)=>{const l=n.addDays(s,7*a+o);return g(l,"day",i,r,!n.isSameMonth(l,e))}));return{number:n.getISOWeek(o[0].date),cells:o}}))})(this.anchor,this.weekStartsOn,this.bounds),void(this.unitCells=[]);this.dayRows=[],this.unitCells="month"===this.view?((e,t)=>{const i=v(new Date,"month");return Array.from({length:12},((s,r)=>g(new Date(e.getFullYear(),r,1),"month",t,i,!1)))})(this.anchor,this.bounds):((e,t)=>{const i=y(this.anchor),s=v(new Date,"year");return Array.from({length:b},((e,r)=>g(new Date(i+r,0,1),"year",t,s,!1)))})(0,this.bounds)}openWatcher(){if(this.openChange.emit(this.open),this.open)return this.view=this.precision,this.anchor=this.dates["end"===this.active?1:0]||this.dates[0]||new Date,this.focusedDate=this.anchor,requestAnimationFrame((()=>this.createPopper())),void this.bindDismiss();this.destroyPopper(),this.unbindDismiss(),this.xvBlur.emit(this.dates)}syncFormValue(){var e;if("function"!=typeof(null===(e=this.internals)||void 0===e?void 0:e.setFormValue))return;const[t,i]=this.dates;if(!t&&!i)return void this.internals.setFormValue(null);if("single"===this.selection)return void this.internals.setFormValue((null!=t?t:i).toISOString());const s=new FormData;t&&s.append("start",t.toISOString()),i&&s.append("end",i.toISOString()),this.internals.setFormValue(s)}commit(e){this.value=e}handleCellClick(e){if(e.disabled)return;if(this.view!==this.precision)return this.anchor=e.date,void(this.view=k[this.view]);const t=(e=>{const{value:t,picked:i,active:s,selection:r,precision:a,withTime:o}=e,[n,l]=t,d=((e,t)=>"year"===t?new Date(e.getFullYear(),0,1):new Date(e.getFullYear(),e.getMonth(),"month"===t?1:e.getDate()))(i,a),h=e=>o?((e,t)=>{if(!e)return t;const i=new Date(t);return i.setHours(e.getHours(),e.getMinutes(),0,0),i})(e,d):d,c=(e,t)=>o?e.getTime()-t.getTime():v(e,a)-v(t,a),p=e=>[e,new Date(e)];if("single"===r)return{value:[h(n),void 0],active:"start",complete:!0};if("end"===s&&n){const e=h(l);return{value:c(e,n)<0?p(e):[n,e],active:"end",complete:!0}}if("start"===s&&l){const e=h(n);return{value:c(e,l)>0?p(e):[e,l],active:"start",complete:!0}}return{value:[h(n),void 0],active:"end",complete:!1}})({value:this.dates,picked:e.date,active:this.active,selection:this.selection,precision:this.precision,withTime:this.withTime});if(e.outside&&(this.anchor=e.date),this.commit(t.value),this.active=t.active,t.complete&&(!this.withTime||"day"!==this.precision))return this.open=!1,void this.focusEndpoint(this.active);t.complete||this.focusEndpoint(t.active)}addUnits(e,t){return"day"===this.view?n.addDays(e,t):"month"===this.view?n.addMonths(e,t):n.addYears(e,t)}moveFocus(e){this.setFocusedDate(this.addUnits(this.focusedDate,e),e>0?1:-1)}stepFocus(e){if(e<0?!this.canStepBack:!this.canStepForward)return;const t="day"===this.view?n.addMonths(this.focusedDate,e):n.addYears(this.focusedDate,"month"===this.view?e:e*b);this.step(e),this.focusedDate=t,this.pendingCellFocus=!0}edgeOfRow(e){if("day"===this.view)return"start"===e?n.startOfWeek(this.focusedDate,{weekStartsOn:this.weekStartsOn}):n.endOfWeek(this.focusedDate,{weekStartsOn:this.weekStartsOn});const t=this.unitCells,i="start"===e?t[0]:t[t.length-1];return i?i.date:this.focusedDate}setFocusedDate(e,t){let i=e;if(t){for(let e=0;e<60&&f(i,this.view,this.bounds);e++)i=this.addUnits(i,t);if(f(i,this.view,this.bounds))return}this.focusedDate=i,this.pendingCellFocus=!0,this.hasCell(i)||(this.anchor=i)}hasCell(e){const t=v(e,this.view);return"day"===this.view?this.dayRows.some((e=>e.cells.some((e=>e.key===t)))):this.unitCells.some((e=>e.key===t))}focusCell(){var e;const t=v(this.focusedDate,this.view),i=null===(e=this.el.shadowRoot)||void 0===e?void 0:e.querySelector(`[data-key="${t}"]`);"function"==typeof(null==i?void 0:i.focus)&&i.focus()}endpointOf(e){return this.inputs.start&&e===this.inputs.start?"start":this.inputs.end&&e===this.inputs.end?"end":void 0}focusEndpoint(e){this.active="range"===this.selection?e:"start";const t=this.inputs[this.active];"function"==typeof(null==t?void 0:t.focus)&&t.focus()}step(e){this.anchor="day"===this.view?n.addMonths(this.anchor,e):n.addYears(this.anchor,"month"===this.view?e:e*b)}get canStepBack(){return void 0===this.bounds.minKey||("day"===this.view?v(n.endOfMonth(n.addMonths(this.anchor,-1)),"day")>=this.bounds.minKey:"month"===this.view?v(n.endOfYear(n.addYears(this.anchor,-1)),"month")>=this.bounds.minKey:y(this.anchor)-1>=this.bounds.minKey)}get canStepForward(){return void 0===this.bounds.maxKey||("day"===this.view?v(n.addMonths(this.anchor,1),"day")<=this.bounds.maxKey:"month"===this.view?v(n.addYears(this.anchor,1),"month")<=this.bounds.maxKey:y(this.anchor)+b<=this.bounds.maxKey)}bindDismiss(){this.dismiss||(this.dismiss=e=>{this.containsTarget(e)||(this.open=!1)},document.addEventListener("click",this.dismiss,!0))}containsTarget(e){var t;if("function"==typeof e.composedPath&&e.composedPath().includes(this.el))return!0;const i=e.target;return!!i&&(this.el.contains(i)||!!(null===(t=this.el.shadowRoot)||void 0===t?void 0:t.contains(i)))}unbindDismiss(){this.dismiss&&(document.removeEventListener("click",this.dismiss,!0),this.dismiss=void 0)}createPopper(){this.fieldEl&&this.panelEl&&(this.popper=u(this.fieldEl,this.panelEl,{strategy:"fixed",placement:this.placement,modifiers:[{name:"offset",options:{offset:[0,this.offset]}}]}))}destroyPopper(){var e;null===(e=this.popper)||void 0===e||e.destroy(),this.popper=void 0}formatValue(e){if(!e)return"";return n.format(e,"year"===this.precision?"yyyy":"month"===this.precision?"LLLL yyyy":this.withTime?"P p":"P",{locale:this.dateLocale})}headerLabel(){const e=this.dateLocale;if("day"===this.view)return n.format(this.anchor,"LLLL yyyy",{locale:e});if("month"===this.view)return n.format(this.anchor,"yyyy",{locale:e});const t=y(this.anchor);return`${t} – ${t+b-1}`}cellLabel(e){return"day"===this.view?""+e.date.getDate():"month"===this.view?n.format(e.date,"LLL",{locale:this.dateLocale}):""+e.date.getFullYear()}cellState(e){const[t,i]=this.dates,s=t&&v(t,this.view),r=i&&v(i,this.view),a=e.key===s||e.key===r;return{selected:a,inRange:!a&&"range"===this.selection&&void 0!==s&&void 0!==r&&e.key>s&&e.key<r}}renderField(e){const t="end"===e,i=t?this.labelEnd:this.labelStart||this.label,r=this.dates[t?1:0],a=this.clearable&&(t||"single"===this.selection)&&!(!this.dates[0]&&!this.dates[1]);return s("label",{class:"field_item",part:"field-item"},i&&s("span",{class:"field_label",part:"label"},i,this.required&&" *"),s("span",{class:{field_control:!0,active:this.open&&"range"===this.selection&&this.active===e},part:"input-wrapper"},s("input",{type:"text",readonly:!0,part:"input",class:"field_input",role:"combobox","aria-expanded":""+this.open,"aria-haspopup":"dialog",disabled:this.disabled||this.loading,placeholder:this.placeholder,value:this.formatValue(r),ref:t=>this.inputs[e]=t}),a?s("button",{type:"button",class:"field_clear",part:"clear",tabindex:"-1",onClick:this.handleClear},"×"):s("span",{class:"field_icon",part:"icon","aria-hidden":"true"})))}renderHeader(){return s("div",{class:"panel_header",part:"header"},s("xv-button-v2",{variant:"ghost",size:d.SM,disabled:!this.canStepBack,onClick:()=>this.step(-1)},s("span",{slot:"icon-left",class:"panel_chevron prev"})),s("button",{type:"button",class:"panel_title",part:"header-title",disabled:"year"===this.view,onClick:()=>this.view=w[this.view]},this.headerLabel()),s("xv-button-v2",{variant:"ghost",size:d.SM,disabled:!this.canStepForward,onClick:()=>this.step(1)},s("span",{slot:"icon-left",class:"panel_chevron next"})))}renderCell(e,t){const i=this.cellState(e);return s("button",{type:"button",part:"cell",role:"gridcell","data-key":e.key,"aria-selected":""+i.selected,"aria-label":this.cellAriaLabel(e),tabindex:this.open&&e.key===t?"0":"-1",disabled:e.disabled,class:{panel_cell:!0,selected:i.selected,inRange:i.inRange,today:e.today,outside:e.outside},onClick:()=>this.handleCellClick(e)},this.cellLabel(e))}cellAriaLabel(e){return n.format(e.date,"year"===this.view?"yyyy":"month"===this.view?"LLLL yyyy":"PPPP",{locale:this.dateLocale})}renderDayGrid(e){return s(r,null,s("div",{class:{panel_row:!0,weekdays:!0,numbered:this.showWeekNumbers},part:"weekdays",role:"row"},this.showWeekNumbers&&s("span",{class:"panel_week",role:"columnheader"}),this.weekdays.map((e=>s("span",{class:"panel_weekday",role:"columnheader"},e)))),this.dayRows.map((t=>s("div",{class:{panel_row:!0,numbered:this.showWeekNumbers},role:"row"},this.showWeekNumbers&&s("span",{class:"panel_week",role:"rowheader"},t.number),t.cells.map((t=>this.renderCell(t,e)))))))}renderTime(){return s("div",{class:"panel_time",part:"time"},("range"===this.selection?["start","end"]:["start"]).map((e=>{const t="end"===e?this.labelEnd:this.labelStart||this.label,i=this.dates["end"===e?1:0];return s("label",{class:"panel_time-item"},t&&s("span",{class:"panel_time-label"},t),s("input",{type:"time",part:"time-input",step:60*this.minuteStep,disabled:!i,value:i?n.format(i,"HH:mm"):"",onChange:t=>this.handleTimeChange(t,e)}))})))}render(){const e=h({error:this.error,warning:this.warning,helper:this.helper}),t=this.withTime&&"day"===this.precision,i=v(this.focusedDate,this.view);return s(a,{key:"37bccd82d64c236ee180bffe73fafc243dd8aad8",class:{disabled:this.disabled,loading:this.loading,readonly:this.readonly}},s("div",{key:"a9b1ab7fa33a81bcbf691e8ee1f835b23c930f2a",class:"control",part:"control"},s("div",{key:"41a0e21d63569785e1c482619d1ed6d63118a2d5",class:{field:!0,range:"range"===this.selection,error:!!this.error,warning:!!this.warning},part:"field",ref:e=>this.fieldEl=e,onClick:this.handleFieldClick,onKeyDown:this.handleFieldKeydown},this.renderField("start"),"range"===this.selection&&this.renderField("end")),e&&s("p",{key:"2c85920edc6707b2fba8be39b89f6ed0191de481",class:{control_message:!0,[e.level]:!0},part:"message"},e.text)),s("div",{key:"e7e807b22608683cc48c97c493000bc1fcf65559",class:{panel:!0,open:this.open},part:"panel",role:"dialog",ref:e=>this.panelEl=e,onKeyDown:this.handlePanelKeydown},this.renderHeader(),s("div",{key:"6d467a8b1ec52981b71e69942f1d6a6b4928c930",class:{panel_grid:!0,[this.view]:!0},part:"grid",role:"grid",onKeyDown:this.handleGridKeydown},"day"===this.view?this.renderDayGrid(i):this.unitCells.map((e=>this.renderCell(e,i)))),t&&this.renderTime(),s("slot",{key:"83818b65fff9f51ef3dd559c3d7b97e7511ecc03",name:"footer"})))}static get formAssociated(){return!0}get el(){return this}static get watchers(){return{value:[{syncValue:0}],locale:[{rebuildWeekdays:0}],weekStartsOn:[{rebuildWeekdays:0},{rebuild:0}],precision:[{resetView:0}],anchor:[{rebuild:0}],view:[{rebuild:0}],min:[{rebuild:0}],max:[{rebuild:0}],disabledDates:[{rebuild:0}],disabledWeekdays:[{rebuild:0}],open:[{openWatcher:0}]}}static get style(){return":host{--xv-date-picker-height:40px;--xv-date-picker-cell-size:40px;--xv-date-picker-panel-width:auto;--xv-date-picker-fields-direction:row;display:inline-block;font-family:var(--ff-body), sans-serif;font-size:var(--fz-md, 14px)}:host([block]){display:block}:host([block]) .field_item{flex:1 1 0;min-width:0}.control{display:flex;flex-direction:column;row-gap:var(--spacing-02, 4px);text-align:left}.field{display:flex;align-items:flex-end;flex-direction:var(--xv-date-picker-fields-direction, row);gap:var(--spacing-03, 8px)}.field_item{display:flex;flex-direction:column;row-gap:var(--spacing-03, 8px);min-width:0}.field_label{color:var(--text-secondary, #515151);font-size:var(--fz-sm, 12px);font-weight:400;letter-spacing:0.32px}.field_control{position:relative;display:flex;align-items:center;box-sizing:border-box;height:var(--xv-date-picker-height);border:1px solid var(--border-subtle-01, #D1D1D1);border-radius:3px;outline:2px solid transparent;background-color:transparent;transition:250ms ease-in-out border-color, 250ms ease-in-out outline-color}.field_control:hover{border-color:var(--border-subtle-selected-01, #8B8B8B)}.field_control:focus-within,.field_control.active{border-color:var(--border-subtle-selected-01, #8B8B8B);outline-color:var(--focus, #273435)}.field_input{flex:1 1 0;min-width:0;height:100%;box-sizing:border-box;padding:0 var(--spacing-05, 16px);border:none;outline:none;background-color:transparent;color:var(--text-primary, #131313);font-family:inherit;font-size:1em;letter-spacing:0.16px;cursor:pointer;text-overflow:ellipsis}.field_input::placeholder{color:var(--text-placeholder, #ACACAC)}.field_icon,.field_clear{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:var(--spacing-05, 16px);color:var(--icon-primary, #131313)}.field_icon{background-color:currentColor;mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11zm0-13H5V6h14v1z'/%3E%3C/svg%3E\");mask-size:cover}.field_clear{padding:0;border:none;border-radius:50%;background:none;font-size:16px;line-height:1;cursor:pointer}.field_clear:hover{background-color:var(--layer-hover-01, #E9E9E9)}.field.error .field_control{border-color:var(--support-error, #F1290E);outline-color:var(--support-error, #F1290E)}.field.warning .field_control{border-color:var(--support-warning, #FF7F04)}.control_message{margin:0;color:var(--text-helper, #646464);font-size:var(--fz-sm, 12px);letter-spacing:0.32px}.control_message.error{color:var(--text-error, #D62512)}.control_message.warning{color:var(--support-warning, #FF7F04)}:host(.readonly) .field_control{background-color:var(--field-01, #F7F7F7)}:host(.readonly) .field_control:hover{border-color:var(--border-subtle-01, #D1D1D1)}:host(.readonly) .field_input{color:var(--text-secondary, #515151);cursor:default}:host(.disabled) .field_label,:host(.disabled) .field_input,:host(.disabled) .control_message:not(.error){color:var(--text-disabled, rgba(19, 19, 19, 0.25))}:host(.disabled) .field_control{cursor:not-allowed}:host(.disabled) .field_control:hover{border-color:var(--border-subtle-01, #D1D1D1)}:host(.disabled) .field_icon{opacity:0.4}:host(.loading) .field_control{border-color:transparent;background-color:var(--field-01, #F7F7F7);background-image:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.7), transparent);background-size:200% 100%;background-repeat:no-repeat;animation:xv-date-picker-shimmer 1.2s ease-in-out infinite}:host(.loading) .field_input,:host(.loading) .field_icon{visibility:hidden}@keyframes xv-date-picker-shimmer{from{background-position:-100% 0}to{background-position:100% 0}}.panel{display:none;z-index:12;box-sizing:border-box;width:var(--xv-date-picker-panel-width);padding:var(--spacing-03, 8px);border-radius:3px;background-color:var(--layer-02, #fff);box-shadow:0 4px 8px 3px rgba(39, 52, 53, 0.15), 0 1px 3px 0 rgba(39, 52, 53, 0.3)}.panel.open{display:block}.panel_header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:var(--spacing-03, 8px)}.panel_title{padding:var(--spacing-02, 4px);border:none;border-radius:3px;background:none;color:var(--text-primary, #131313);font-family:inherit;font-size:1em;font-weight:700;letter-spacing:0.16px;text-transform:capitalize;cursor:pointer}.panel_title:hover:not(:disabled){background-color:var(--layer-hover-01, #E9E9E9)}.panel_title:disabled{cursor:default}.panel_chevron{display:inline-block;padding:4px;border:solid currentColor;border-width:0 2px 2px 0}.panel_chevron.prev{transform:translate(2px) rotate(135deg)}.panel_chevron.next{transform:translate(-2px) rotate(-45deg)}.panel_row{display:grid;grid-template-columns:repeat(7, var(--xv-date-picker-cell-size))}.panel_row.numbered{grid-template-columns:repeat(8, var(--xv-date-picker-cell-size))}.panel_week,.panel_weekday{display:inline-flex;align-items:center;justify-content:center;height:var(--xv-date-picker-cell-size);color:var(--text-secondary, #515151);font-size:var(--fz-sm, 12px)}.panel_grid.month,.panel_grid.year{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--spacing-02, 4px);min-width:calc(var(--xv-date-picker-cell-size) * 6)}.panel_time{display:flex;gap:var(--spacing-03, 8px);margin-top:var(--spacing-03, 8px);padding-top:var(--spacing-03, 8px);border-top:1px solid var(--border-subtle-01, #D1D1D1)}.panel_time-item{display:flex;flex:1 1 0;flex-direction:column;row-gap:var(--spacing-02, 4px);min-width:0}.panel_time-label{color:var(--text-secondary, #515151);font-size:var(--fz-sm, 12px)}.panel_time input[type=time]{box-sizing:border-box;width:100%;height:32px;padding:0 var(--spacing-03, 8px);border:1px solid var(--border-subtle-01, #D1D1D1);border-radius:3px;outline:2px solid transparent;background-color:transparent;color:var(--text-primary, #131313);font-family:inherit;font-size:var(--fz-sm, 12px)}.panel_time input[type=time]:hover:not(:disabled){border-color:var(--border-subtle-selected-01, #8B8B8B)}.panel_time input[type=time]:focus{outline-color:var(--focus, #273435)}.panel_time input[type=time]:disabled{color:var(--text-disabled, rgba(19, 19, 19, 0.25));background-color:var(--field-01, #F7F7F7)}.panel_time input[type=time]::-webkit-datetime-edit-hour-field,.panel_time input[type=time]::-webkit-datetime-edit-minute-field,.panel_time input[type=time]::-webkit-datetime-edit-ampm-field{padding:0 2px;border-radius:2px}.panel_time input[type=time]:focus::-webkit-datetime-edit-hour-field,.panel_time input[type=time]:focus::-webkit-datetime-edit-minute-field,.panel_time input[type=time]:focus::-webkit-datetime-edit-ampm-field{background-color:var(--highlight-01, #CEDE94) !important;color:var(--text-primary, #131313) !important}.panel_time input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:0.5;transition:150ms ease-in-out opacity}.panel_time input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}.panel_cell{display:inline-flex;align-items:center;justify-content:center;position:relative;box-sizing:border-box;height:var(--xv-date-picker-cell-size);padding:0;border:none;outline:none;background-color:transparent;color:var(--text-primary, #131313);font-family:inherit;font-size:1em;letter-spacing:0.16px;cursor:pointer;transition:150ms ease-in-out background-color, 150ms ease-in-out color}.panel_cell:hover:not(:disabled){background-color:var(--layer-hover-01, #E9E9E9)}.panel_cell:focus-visible:not(:disabled){outline:1px solid var(--focus, #273435)}.panel_cell.inRange:not(:disabled){background-color:var(--highlight-01, #CEDE94)}.panel_cell.selected{background-color:var(--button-primary, #273435);color:var(--text-on-color, #fff)}.panel_cell.selected:hover{background-color:var(--button-primary-hover, #303F40)}.panel_cell.today{font-weight:700}.panel_cell.today:after{content:\"\";position:absolute;bottom:4px;left:calc(50% - 2px);width:4px;height:4px;border-radius:2px;background-color:currentColor}.panel_cell.outside:not(.selected){color:var(--text-placeholder, #ACACAC)}.panel_cell:disabled{color:var(--text-disabled, rgba(19, 19, 19, 0.25));cursor:not-allowed}:host([size=xs]){--xv-date-picker-height:16px;font-size:var(--fz-sm, 12px)}:host([size=xs]) .field_input{padding-inline:var(--spacing-03, 8px)}:host([size=xs]) .field_icon,:host([size=xs]) .field_clear{margin-right:var(--spacing-03, 8px)}:host([size=sm]){--xv-date-picker-height:32px}:host([size=md]){--xv-date-picker-height:40px}:host([size=lg]){--xv-date-picker-height:48px}:host([size=xl]){--xv-date-picker-height:60px;font-size:var(--fz-lg, 16px)}"}},[321,"xv-date-picker",{value:[1040],selection:[1],precision:[1],withTime:[4,"with-time"],minuteStep:[2,"minute-step"],min:[1],max:[1],disabledDates:[16],disabledWeekdays:[16],weekStartsOn:[2,"week-starts-on"],showWeekNumbers:[4,"show-week-numbers"],locale:[1],label:[1],labelStart:[1,"label-start"],labelEnd:[1,"label-end"],placeholder:[1],helper:[1],error:[8],warning:[8],required:[4],readonly:[4],disabled:[4],loading:[4],clearable:[4],size:[513],block:[516],placement:[1],offset:[2],dates:[32],open:[32],view:[32],anchor:[32],active:[32],dayRows:[32],unitCells:[32],weekdays:[32],focusedDate:[32]},void 0,{value:[{syncValue:0}],locale:[{rebuildWeekdays:0}],weekStartsOn:[{rebuildWeekdays:0},{rebuild:0}],precision:[{resetView:0}],anchor:[{rebuild:0}],view:[{rebuild:0}],min:[{rebuild:0}],max:[{rebuild:0}],disabledDates:[{rebuild:0}],disabledWeekdays:[{rebuild:0}],open:[{openWatcher:0}]}]);function D(){"undefined"!=typeof customElements&&["xv-date-picker","xv-button-v2","xv-loader-v2"].forEach((e=>{switch(e){case"xv-date-picker":customElements.get(o(e))||customElements.define(o(e),_);break;case"xv-button-v2":customElements.get(o(e))||c();break;case"xv-loader-v2":customElements.get(o(e))||p()}}))}D();const z=_,E=D;export{z as XvDatePicker,E as defineCustomElement}
1
+ import{p as e,H as t,c as i,h as s,F as r,a,t as o}from"./p-CspyoLL9.js";import{a as n,l}from"./p-BiiqsbVQ.js";import{S as d}from"./p-HjYAjHna.js";import{r as h}from"./index.js";import{d as c}from"./p-D4FwGeDJ.js";import{d as p}from"./p-Dwbe941A.js";import{c as u}from"./p-BfP9ezJQ.js";const b=12,m=e=>{if(!e)return;if(e instanceof Date)return n.isValid(e)?e:void 0;const t=n.parseISO(e);return n.isValid(t)?t:void 0},v=(e,t)=>{const i=e.getFullYear();if("year"===t)return i;const s=e.getMonth()+1;return"month"===t?100*i+s:1e4*i+100*s+e.getDate()},f=(e,t,i)=>{var s;const r=v(e,t);return void 0!==i.minKey&&r<i.minKey||void 0!==i.maxKey&&r>i.maxKey||!!(null===(s=i.disabledKeys)||void 0===s?void 0:s.has(r))||!("day"!==t||!i.disabledWeekdays)&&i.disabledWeekdays.includes(e.getDay())},g=(e,t,i,s,r)=>{const a=v(e,t);return{key:a,date:e,disabled:f(e,t,i),outside:r,today:a===s}},y=e=>Math.floor(e.getFullYear()/b)*b,x={de:l.de,en:l.enUS},k={year:"month",month:"day",day:"day"},w={day:"month",month:"year",year:"year"},_=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.valueChange=i(this,"valueChange",7),this.xvBlur=i(this,"xvBlur",7),this.openChange=i(this,"openChange",7),this.internals=this.attachInternals(),this.value=[void 0,void 0],this.selection="single",this.precision="day",this.withTime=!1,this.minuteStep=5,this.weekStartsOn=1,this.showWeekNumbers=!0,this.required=!1,this.readonly=!1,this.disabled=!1,this.loading=!1,this.clearable=!1,this.size=d.MD,this.block=!1,this.placement="bottom-start",this.offset=8,this.dates=[void 0,void 0],this.open=!1,this.view="day",this.anchor=new Date,this.active="start",this.dayRows=[],this.unitCells=[],this.weekdays=[],this.focusedDate=new Date,this.bounds={},this.inputs={},this.pendingCellFocus=!1,this.handleFieldClick=e=>{if(!this.isInteractive)return;const t=this.endpointOf(e.target);this.active=null!=t?t:this.dates[0]&&"range"===this.selection?"end":"start",this.open||(this.open=!0),t||this.focusEndpoint(this.active)},this.handleFieldKeydown=e=>{if(this.isInteractive){if("Enter"===e.key||" "===e.key||"ArrowDown"===e.key){e.preventDefault();const t=this.endpointOf(e.target);return t&&(this.active=t),this.open=!0,void("ArrowDown"===e.key&&(this.pendingCellFocus=!0))}"Escape"===e.key&&this.open&&(this.open=!1)}},this.handlePanelKeydown=e=>{"Escape"===e.key&&(e.stopPropagation(),this.open=!1,this.focusEndpoint(this.active))},this.handleGridKeydown=e=>{const t="day"===this.view?7:3;switch(e.key){case"ArrowLeft":this.moveFocus(-1);break;case"ArrowRight":this.moveFocus(1);break;case"ArrowUp":this.moveFocus(-t);break;case"ArrowDown":this.moveFocus(t);break;case"Home":this.setFocusedDate(this.edgeOfRow("start"),1);break;case"End":this.setFocusedDate(this.edgeOfRow("end"),-1);break;case"PageUp":this.stepFocus(-1);break;case"PageDown":this.stepFocus(1);break;default:return}e.preventDefault()},this.handleTimeChange=(e,t)=>{const[i,s]=e.target.value.split(":").map(Number);if(!Number.isFinite(i)||!Number.isFinite(s))return;const r="end"===t?1:0,a=this.dates[r];if(!a)return;const o=new Date(a);o.setHours(i,s,0,0);const n=[this.dates[0],this.dates[1]];n[r]=o,n[0]&&n[1]&&n[0].getTime()>n[1].getTime()&&(n[0===r?1:0]=new Date(o)),this.commit(n)},this.handleClear=e=>{e.stopPropagation(),this.commit([void 0,void 0]),this.active="start"}}get dateLocale(){var e;const t=this.locale||(null===(e=this.el.closest("[lang]"))||void 0===e?void 0:e.getAttribute("lang"))||"de";return x[t]||x[t.split("-")[0]]||l.de}get isInteractive(){return!this.disabled&&!this.readonly&&!this.loading}componentWillLoad(){this.syncValue(),this.view=this.precision,this.anchor=this.dates[0]||new Date,this.rebuildWeekdays(),this.rebuild()}componentDidRender(){this.pendingCellFocus&&(this.pendingCellFocus=!1,this.focusCell())}disconnectedCallback(){this.destroyPopper(),this.unbindDismiss()}syncValue(){const e=(e=>[m(null==e?void 0:e[0]),m(null==e?void 0:e[1])])(this.value),[t,i]=e,[s,r]=this.dates;(null==t?void 0:t.getTime())===(null==s?void 0:s.getTime())&&(null==i?void 0:i.getTime())===(null==r?void 0:r.getTime())||(this.dates=e,this.syncFormValue(),this.valueChange.emit(e))}rebuildWeekdays(){const e=n.startOfWeek(new Date,{weekStartsOn:this.weekStartsOn});this.weekdays=Array.from({length:7},((t,i)=>n.format(n.addDays(e,i),"EEEEEE",{locale:this.dateLocale})))}resetView(){this.view=this.precision}rebuild(){if(this.bounds=(e=>{const{precision:t,min:i,max:s,disabledDates:r,disabledWeekdays:a}=e,o=m(i),n=m(s),l=(null!=r?r:[]).map((e=>m(e))).filter((e=>!!e)).map((e=>v(e,t)));return{minKey:o&&v(o,t),maxKey:n&&v(n,t),disabledKeys:l.length?new Set(l):void 0,disabledWeekdays:(null==a?void 0:a.length)?a:void 0}})({precision:this.view,min:this.min,max:this.max,disabledDates:this.disabledDates,disabledWeekdays:this.disabledWeekdays}),"day"===this.view)return this.dayRows=((e,t,i)=>{const s=n.startOfWeek(n.startOfMonth(e),{weekStartsOn:t}),r=v(new Date,"day");return Array.from({length:6},((t,a)=>{const o=Array.from({length:7},((t,o)=>{const l=n.addDays(s,7*a+o);return g(l,"day",i,r,!n.isSameMonth(l,e))}));return{number:n.getISOWeek(o[0].date),cells:o}}))})(this.anchor,this.weekStartsOn,this.bounds),void(this.unitCells=[]);this.dayRows=[],this.unitCells="month"===this.view?((e,t)=>{const i=v(new Date,"month");return Array.from({length:12},((s,r)=>g(new Date(e.getFullYear(),r,1),"month",t,i,!1)))})(this.anchor,this.bounds):((e,t)=>{const i=y(this.anchor),s=v(new Date,"year");return Array.from({length:b},((e,r)=>g(new Date(i+r,0,1),"year",t,s,!1)))})(0,this.bounds)}openWatcher(){if(this.openChange.emit(this.open),this.open)return this.view=this.precision,this.anchor=this.dates["end"===this.active?1:0]||this.dates[0]||new Date,this.focusedDate=this.anchor,requestAnimationFrame((()=>this.createPopper())),void this.bindDismiss();this.destroyPopper(),this.unbindDismiss(),this.xvBlur.emit(this.dates)}syncFormValue(){var e;if("function"!=typeof(null===(e=this.internals)||void 0===e?void 0:e.setFormValue))return;const[t,i]=this.dates;if(!t&&!i)return void this.internals.setFormValue(null);if("single"===this.selection)return void this.internals.setFormValue((null!=t?t:i).toISOString());const s=new FormData;t&&s.append("start",t.toISOString()),i&&s.append("end",i.toISOString()),this.internals.setFormValue(s)}commit(e){this.value=e}handleCellClick(e){if(e.disabled)return;if(this.view!==this.precision)return this.anchor=e.date,void(this.view=k[this.view]);const t=(e=>{const{value:t,picked:i,active:s,selection:r,precision:a,withTime:o}=e,[n,l]=t,d=((e,t)=>"year"===t?new Date(e.getFullYear(),0,1):new Date(e.getFullYear(),e.getMonth(),"month"===t?1:e.getDate()))(i,a),h=e=>o?((e,t)=>{if(!e)return t;const i=new Date(t);return i.setHours(e.getHours(),e.getMinutes(),0,0),i})(e,d):d,c=(e,t)=>o?e.getTime()-t.getTime():v(e,a)-v(t,a),p=e=>[e,new Date(e)];if("single"===r)return{value:[h(n),void 0],active:"start",complete:!0};if("end"===s&&n){const e=h(l);return{value:c(e,n)<0?p(e):[n,e],active:"end",complete:!0}}if("start"===s&&l){const e=h(n);return{value:c(e,l)>0?p(e):[e,l],active:"start",complete:!0}}return{value:[h(n),void 0],active:"end",complete:!1}})({value:this.dates,picked:e.date,active:this.active,selection:this.selection,precision:this.precision,withTime:this.withTime});if(e.outside&&(this.anchor=e.date),this.commit(t.value),this.active=t.active,t.complete&&(!this.withTime||"day"!==this.precision))return this.open=!1,void this.focusEndpoint(this.active);t.complete||this.focusEndpoint(t.active)}addUnits(e,t){return"day"===this.view?n.addDays(e,t):"month"===this.view?n.addMonths(e,t):n.addYears(e,t)}moveFocus(e){this.setFocusedDate(this.addUnits(this.focusedDate,e),e>0?1:-1)}stepFocus(e){if(e<0?!this.canStepBack:!this.canStepForward)return;const t="day"===this.view?n.addMonths(this.focusedDate,e):n.addYears(this.focusedDate,"month"===this.view?e:e*b);this.step(e),this.focusedDate=t,this.pendingCellFocus=!0}edgeOfRow(e){if("day"===this.view)return"start"===e?n.startOfWeek(this.focusedDate,{weekStartsOn:this.weekStartsOn}):n.endOfWeek(this.focusedDate,{weekStartsOn:this.weekStartsOn});const t=this.unitCells,i="start"===e?t[0]:t[t.length-1];return i?i.date:this.focusedDate}setFocusedDate(e,t){let i=e;if(t){for(let e=0;e<60&&f(i,this.view,this.bounds);e++)i=this.addUnits(i,t);if(f(i,this.view,this.bounds))return}this.focusedDate=i,this.pendingCellFocus=!0,this.hasCell(i)||(this.anchor=i)}hasCell(e){const t=v(e,this.view);return"day"===this.view?this.dayRows.some((e=>e.cells.some((e=>e.key===t)))):this.unitCells.some((e=>e.key===t))}focusCell(){var e;const t=v(this.focusedDate,this.view),i=null===(e=this.el.shadowRoot)||void 0===e?void 0:e.querySelector(`[data-key="${t}"]`);"function"==typeof(null==i?void 0:i.focus)&&i.focus()}endpointOf(e){return this.inputs.start&&e===this.inputs.start?"start":this.inputs.end&&e===this.inputs.end?"end":void 0}focusEndpoint(e){this.active="range"===this.selection?e:"start";const t=this.inputs[this.active];"function"==typeof(null==t?void 0:t.focus)&&t.focus()}step(e){this.anchor="day"===this.view?n.addMonths(this.anchor,e):n.addYears(this.anchor,"month"===this.view?e:e*b)}get canStepBack(){return void 0===this.bounds.minKey||("day"===this.view?v(n.endOfMonth(n.addMonths(this.anchor,-1)),"day")>=this.bounds.minKey:"month"===this.view?v(n.endOfYear(n.addYears(this.anchor,-1)),"month")>=this.bounds.minKey:y(this.anchor)-1>=this.bounds.minKey)}get canStepForward(){return void 0===this.bounds.maxKey||("day"===this.view?v(n.addMonths(this.anchor,1),"day")<=this.bounds.maxKey:"month"===this.view?v(n.addYears(this.anchor,1),"month")<=this.bounds.maxKey:y(this.anchor)+b<=this.bounds.maxKey)}bindDismiss(){this.dismiss||(this.dismiss=e=>{this.containsTarget(e)||(this.open=!1)},document.addEventListener("click",this.dismiss,!0))}containsTarget(e){var t;if("function"==typeof e.composedPath&&e.composedPath().includes(this.el))return!0;const i=e.target;return!!i&&(this.el.contains(i)||!!(null===(t=this.el.shadowRoot)||void 0===t?void 0:t.contains(i)))}unbindDismiss(){this.dismiss&&(document.removeEventListener("click",this.dismiss,!0),this.dismiss=void 0)}createPopper(){this.fieldEl&&this.panelEl&&(this.popper=u(this.fieldEl,this.panelEl,{strategy:"fixed",placement:this.placement,modifiers:[{name:"offset",options:{offset:[0,this.offset]}}]}))}destroyPopper(){var e;null===(e=this.popper)||void 0===e||e.destroy(),this.popper=void 0}formatValue(e){if(!e)return"";return n.format(e,"year"===this.precision?"yyyy":"month"===this.precision?"LLLL yyyy":this.withTime?"P p":"P",{locale:this.dateLocale})}headerLabel(){const e=this.dateLocale;if("day"===this.view)return n.format(this.anchor,"LLLL yyyy",{locale:e});if("month"===this.view)return n.format(this.anchor,"yyyy",{locale:e});const t=y(this.anchor);return`${t} – ${t+b-1}`}cellLabel(e){return"day"===this.view?""+e.date.getDate():"month"===this.view?n.format(e.date,"LLL",{locale:this.dateLocale}):""+e.date.getFullYear()}cellState(e){const[t,i]=this.dates,s=t&&v(t,this.view),r=i&&v(i,this.view),a=e.key===s||e.key===r;return{selected:a,inRange:!a&&"range"===this.selection&&void 0!==s&&void 0!==r&&e.key>s&&e.key<r}}renderField(e){const t="end"===e,i=t?this.labelEnd:this.labelStart||this.label,r=this.dates[t?1:0],a=this.clearable&&(t||"single"===this.selection)&&!(!this.dates[0]&&!this.dates[1]);return s("label",{class:"field_item",part:"field-item"},i&&s("span",{class:"field_label",part:"label"},i,this.required&&" *"),s("span",{class:{field_control:!0,active:this.open&&"range"===this.selection&&this.active===e},part:"input-wrapper"},s("input",{type:"text",readonly:!0,part:"input",class:"field_input",role:"combobox","aria-expanded":""+this.open,"aria-haspopup":"dialog",disabled:this.disabled||this.loading,placeholder:this.placeholder,value:this.formatValue(r),ref:t=>this.inputs[e]=t}),a?s("button",{type:"button",class:"field_clear",part:"clear",tabindex:"-1",onClick:this.handleClear},"×"):s("span",{class:"field_icon",part:"icon","aria-hidden":"true"})))}renderHeader(){return s("div",{class:"panel_header",part:"header"},s("xv-button-v2",{variant:"ghost",size:d.SM,disabled:!this.canStepBack,onClick:()=>this.step(-1)},s("span",{slot:"icon-left",class:"panel_chevron prev"})),s("button",{type:"button",class:"panel_title",part:"header-title",disabled:"year"===this.view,onClick:()=>this.view=w[this.view]},this.headerLabel()),s("xv-button-v2",{variant:"ghost",size:d.SM,disabled:!this.canStepForward,onClick:()=>this.step(1)},s("span",{slot:"icon-left",class:"panel_chevron next"})))}renderCell(e,t){const i=this.cellState(e);return s("button",{type:"button",part:"cell",role:"gridcell","data-key":e.key,"aria-selected":""+i.selected,"aria-label":this.cellAriaLabel(e),tabindex:this.open&&e.key===t?"0":"-1",disabled:e.disabled,class:{panel_cell:!0,selected:i.selected,inRange:i.inRange,today:e.today,outside:e.outside},onClick:()=>this.handleCellClick(e)},this.cellLabel(e))}cellAriaLabel(e){return n.format(e.date,"year"===this.view?"yyyy":"month"===this.view?"LLLL yyyy":"PPPP",{locale:this.dateLocale})}renderDayGrid(e){return s(r,null,s("div",{class:{panel_row:!0,weekdays:!0,numbered:this.showWeekNumbers},part:"weekdays",role:"row"},this.showWeekNumbers&&s("span",{class:"panel_week",role:"columnheader"}),this.weekdays.map((e=>s("span",{class:"panel_weekday",role:"columnheader"},e)))),this.dayRows.map((t=>s("div",{class:{panel_row:!0,numbered:this.showWeekNumbers},role:"row"},this.showWeekNumbers&&s("span",{class:"panel_week",role:"rowheader"},t.number),t.cells.map((t=>this.renderCell(t,e)))))))}renderTime(){return s("div",{class:"panel_time",part:"time"},("range"===this.selection?["start","end"]:["start"]).map((e=>{const t="end"===e?this.labelEnd:this.labelStart||this.label,i=this.dates["end"===e?1:0];return s("label",{class:"panel_time-item"},t&&s("span",{class:"panel_time-label"},t),s("input",{type:"time",part:"time-input",step:60*this.minuteStep,disabled:!i,value:i?n.format(i,"HH:mm"):"",onChange:t=>this.handleTimeChange(t,e)}))})))}render(){const e=h({error:this.error,warning:this.warning,helper:this.helper}),t=this.withTime&&"day"===this.precision,i=v(this.focusedDate,this.view);return s(a,{key:"37bccd82d64c236ee180bffe73fafc243dd8aad8",class:{disabled:this.disabled,loading:this.loading,readonly:this.readonly}},s("div",{key:"a9b1ab7fa33a81bcbf691e8ee1f835b23c930f2a",class:"control",part:"control"},s("div",{key:"41a0e21d63569785e1c482619d1ed6d63118a2d5",class:{field:!0,range:"range"===this.selection,error:!!this.error,warning:!!this.warning},part:"field",ref:e=>this.fieldEl=e,onClick:this.handleFieldClick,onKeyDown:this.handleFieldKeydown},this.renderField("start"),"range"===this.selection&&this.renderField("end")),e&&s("p",{key:"2c85920edc6707b2fba8be39b89f6ed0191de481",class:{control_message:!0,[e.level]:!0},part:"message"},e.text)),s("div",{key:"e7e807b22608683cc48c97c493000bc1fcf65559",class:{panel:!0,open:this.open},part:"panel",role:"dialog",ref:e=>this.panelEl=e,onKeyDown:this.handlePanelKeydown},this.renderHeader(),s("div",{key:"6d467a8b1ec52981b71e69942f1d6a6b4928c930",class:{panel_grid:!0,[this.view]:!0},part:"grid",role:"grid",onKeyDown:this.handleGridKeydown},"day"===this.view?this.renderDayGrid(i):this.unitCells.map((e=>this.renderCell(e,i)))),t&&this.renderTime(),s("slot",{key:"83818b65fff9f51ef3dd559c3d7b97e7511ecc03",name:"footer"})))}static get formAssociated(){return!0}get el(){return this}static get watchers(){return{value:[{syncValue:0}],locale:[{rebuildWeekdays:0}],weekStartsOn:[{rebuildWeekdays:0},{rebuild:0}],precision:[{resetView:0}],anchor:[{rebuild:0}],view:[{rebuild:0}],min:[{rebuild:0}],max:[{rebuild:0}],disabledDates:[{rebuild:0}],disabledWeekdays:[{rebuild:0}],open:[{openWatcher:0}]}}static get style(){return":host{--xv-date-picker-height:40px;--xv-date-picker-cell-size:40px;--xv-date-picker-panel-width:auto;--xv-date-picker-fields-direction:row;display:inline-block;font-family:var(--ff-body), sans-serif;font-size:var(--fz-md, 14px)}:host([block]){display:block}:host([block]) .field_item{flex:1 1 0;min-width:0}.control{display:flex;flex-direction:column;row-gap:var(--spacing-02, 4px);text-align:left}.field{display:flex;align-items:flex-end;flex-direction:var(--xv-date-picker-fields-direction, row);gap:var(--spacing-03, 8px)}.field_item{display:flex;flex-direction:column;row-gap:var(--spacing-03, 8px);min-width:0}.field_label{color:var(--text-secondary, #515151);font-size:var(--fz-sm, 12px);font-weight:400;letter-spacing:0.32px}.field_control{position:relative;display:flex;align-items:center;box-sizing:border-box;height:var(--xv-date-picker-height);border:1px solid var(--border-subtle-01, #D1D1D1);border-radius:3px;outline:2px solid transparent;background-color:transparent;transition:250ms ease-in-out border-color, 250ms ease-in-out outline-color}.field_control:hover{border-color:var(--border-subtle-selected-01, #8B8B8B)}.field_control:focus-within,.field_control.active{border-color:var(--border-subtle-selected-01, #8B8B8B);outline-color:var(--focus, #273435)}.field_input{flex:1 1 0;min-width:0;height:100%;box-sizing:border-box;padding:0 var(--spacing-05, 16px);border:none;outline:none;background-color:transparent;color:var(--text-primary, #131313);font-family:inherit;font-size:1em;letter-spacing:0.16px;cursor:pointer;text-overflow:ellipsis}.field_input::placeholder{color:var(--text-placeholder, #ACACAC)}.field_icon,.field_clear{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin-right:var(--spacing-05, 16px);color:var(--icon-primary, #131313)}.field_icon{background-color:currentColor;mask-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 4h-1V2h-2v2H8V2H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11zm0-13H5V6h14v1z'/%3E%3C/svg%3E\");mask-size:cover}.field_clear{padding:0;border:none;border-radius:50%;background:none;font-size:16px;line-height:1;cursor:pointer}.field_clear:hover{background-color:var(--layer-hover-01, #E9E9E9)}.field.error .field_control{border-color:var(--support-error, #F1290E);outline-color:var(--support-error, #F1290E)}.field.warning .field_control{border-color:var(--support-warning, #FF7F04)}.control_message{margin:0;color:var(--text-helper, #646464);font-size:var(--fz-sm, 12px);letter-spacing:0.32px}.control_message.error{color:var(--text-error, #D62512)}.control_message.warning{color:var(--support-warning, #FF7F04)}:host(.readonly) .field_control{background-color:var(--field-01, #F7F7F7)}:host(.readonly) .field_control:hover{border-color:var(--border-subtle-01, #D1D1D1)}:host(.readonly) .field_input{color:var(--text-secondary, #515151);cursor:default}:host(.disabled) .field_label,:host(.disabled) .field_input,:host(.disabled) .control_message:not(.error){color:var(--text-disabled, rgba(19, 19, 19, 0.25))}:host(.disabled) .field_control{cursor:not-allowed}:host(.disabled) .field_control:hover{border-color:var(--border-subtle-01, #D1D1D1)}:host(.disabled) .field_icon{opacity:0.4}:host(.loading) .field_control{border-color:transparent;background-color:var(--field-01, #F7F7F7);background-image:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.7), transparent);background-size:200% 100%;background-repeat:no-repeat;animation:xv-date-picker-shimmer 1.2s ease-in-out infinite}:host(.loading) .field_input,:host(.loading) .field_icon{visibility:hidden}@keyframes xv-date-picker-shimmer{from{background-position:-100% 0}to{background-position:100% 0}}.panel{display:none;z-index:12;box-sizing:border-box;width:var(--xv-date-picker-panel-width);padding:var(--spacing-03, 8px);border-radius:3px;background-color:var(--layer-02, #fff);box-shadow:0 4px 8px 3px rgba(39, 52, 53, 0.15), 0 1px 3px 0 rgba(39, 52, 53, 0.3)}.panel.open{display:block}.panel_header{display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:var(--spacing-03, 8px)}.panel_title{padding:var(--spacing-02, 4px);border:none;border-radius:3px;background:none;color:var(--text-primary, #131313);font-family:inherit;font-size:1em;font-weight:700;letter-spacing:0.16px;text-transform:capitalize;cursor:pointer}.panel_title:hover:not(:disabled){background-color:var(--layer-hover-01, #E9E9E9)}.panel_title:disabled{cursor:default}.panel_chevron{display:inline-block;padding:4px;border:solid currentColor;border-width:0 2px 2px 0}.panel_chevron.prev{transform:translate(2px) rotate(135deg)}.panel_chevron.next{transform:translate(-2px) rotate(-45deg)}.panel_row{display:grid;grid-template-columns:repeat(7, var(--xv-date-picker-cell-size))}.panel_row.numbered{grid-template-columns:repeat(8, var(--xv-date-picker-cell-size))}.panel_week,.panel_weekday{display:inline-flex;align-items:center;justify-content:center;height:var(--xv-date-picker-cell-size);color:var(--text-secondary, #515151);font-size:var(--fz-sm, 12px)}.panel_grid.month,.panel_grid.year{display:grid;grid-template-columns:repeat(3, 1fr);gap:var(--spacing-02, 4px);min-width:calc(var(--xv-date-picker-cell-size) * 6)}.panel_time{display:flex;gap:var(--spacing-03, 8px);margin-top:var(--spacing-03, 8px);padding-top:var(--spacing-03, 8px);border-top:1px solid var(--border-subtle-01, #D1D1D1)}.panel_time-item{display:flex;flex:1 1 0;flex-direction:column;row-gap:var(--spacing-02, 4px);min-width:0}.panel_time-label{color:var(--text-secondary, #515151);font-size:var(--fz-sm, 12px)}.panel_time input[type=time]{box-sizing:border-box;width:100%;height:32px;padding:0 var(--spacing-03, 8px);border:1px solid var(--border-subtle-01, #D1D1D1);border-radius:3px;outline:2px solid transparent;background-color:transparent;color:var(--text-primary, #131313);font-family:inherit;font-size:var(--fz-sm, 12px)}.panel_time input[type=time]:hover:not(:disabled){border-color:var(--border-subtle-selected-01, #8B8B8B)}.panel_time input[type=time]:focus{outline-color:var(--focus, #273435)}.panel_time input[type=time]:disabled{color:var(--text-disabled, rgba(19, 19, 19, 0.25));background-color:var(--field-01, #F7F7F7)}.panel_time input[type=time]::-webkit-datetime-edit-hour-field,.panel_time input[type=time]::-webkit-datetime-edit-minute-field,.panel_time input[type=time]::-webkit-datetime-edit-ampm-field{padding:0 2px;border-radius:2px}.panel_time input[type=time]:focus::-webkit-datetime-edit-hour-field,.panel_time input[type=time]:focus::-webkit-datetime-edit-minute-field,.panel_time input[type=time]:focus::-webkit-datetime-edit-ampm-field{background-color:var(--highlight-01, #CEDE94) !important;color:var(--text-primary, #131313) !important}.panel_time input[type=time]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:0.5;transition:150ms ease-in-out opacity}.panel_time input[type=time]::-webkit-calendar-picker-indicator:hover{opacity:1}.panel_cell{display:inline-flex;align-items:center;justify-content:center;position:relative;box-sizing:border-box;height:var(--xv-date-picker-cell-size);padding:0;border:none;outline:none;background-color:transparent;color:var(--text-primary, #131313);font-family:inherit;font-size:1em;letter-spacing:0.16px;cursor:pointer;transition:150ms ease-in-out background-color, 150ms ease-in-out color}.panel_cell:hover:not(:disabled){background-color:var(--layer-hover-01, #E9E9E9)}.panel_cell:focus-visible:not(:disabled){outline:1px solid var(--focus, #273435)}.panel_cell.inRange:not(:disabled){background-color:var(--highlight-01, #CEDE94)}.panel_cell.selected{background-color:var(--button-primary, #273435);color:var(--text-on-color, #fff)}.panel_cell.selected:hover{background-color:var(--button-primary-hover, #303F40)}.panel_cell.today{font-weight:700}.panel_cell.today:after{content:\"\";position:absolute;bottom:4px;left:calc(50% - 2px);width:4px;height:4px;border-radius:2px;background-color:currentColor}.panel_cell.outside:not(.selected){color:var(--text-placeholder, #ACACAC)}.panel_cell:disabled{color:var(--text-disabled, rgba(19, 19, 19, 0.25));cursor:not-allowed}:host([size=xs]){--xv-date-picker-height:16px;font-size:var(--fz-sm, 12px)}:host([size=xs]) .field_input{padding-inline:var(--spacing-03, 8px)}:host([size=xs]) .field_icon,:host([size=xs]) .field_clear{margin-right:var(--spacing-03, 8px)}:host([size=sm]){--xv-date-picker-height:32px}:host([size=md]){--xv-date-picker-height:40px}:host([size=lg]){--xv-date-picker-height:48px}:host([size=xl]){--xv-date-picker-height:60px;font-size:var(--fz-lg, 16px)}"}},[321,"xv-date-picker",{value:[1040],selection:[1],precision:[1],withTime:[4,"with-time"],minuteStep:[2,"minute-step"],min:[1],max:[1],disabledDates:[16],disabledWeekdays:[16],weekStartsOn:[2,"week-starts-on"],showWeekNumbers:[4,"show-week-numbers"],locale:[1],label:[1],labelStart:[1,"label-start"],labelEnd:[1,"label-end"],placeholder:[1],helper:[1],error:[8],warning:[8],required:[4],readonly:[4],disabled:[4],loading:[4],clearable:[4],size:[513],block:[516],placement:[1],offset:[2],dates:[32],open:[32],view:[32],anchor:[32],active:[32],dayRows:[32],unitCells:[32],weekdays:[32],focusedDate:[32]},void 0,{value:[{syncValue:0}],locale:[{rebuildWeekdays:0}],weekStartsOn:[{rebuildWeekdays:0},{rebuild:0}],precision:[{resetView:0}],anchor:[{rebuild:0}],view:[{rebuild:0}],min:[{rebuild:0}],max:[{rebuild:0}],disabledDates:[{rebuild:0}],disabledWeekdays:[{rebuild:0}],open:[{openWatcher:0}]}]);function D(){"undefined"!=typeof customElements&&["xv-date-picker","xv-button-v2","xv-loader-v2"].forEach((e=>{switch(e){case"xv-date-picker":customElements.get(o(e))||customElements.define(o(e),_);break;case"xv-button-v2":customElements.get(o(e))||c();break;case"xv-loader-v2":customElements.get(o(e))||p()}}))}D();const z=_,E=D;export{z as XvDatePicker,E as defineCustomElement}
@@ -1 +1 @@
1
- import{p as e,H as t,c as i,h as o,F as s,a,t as r}from"./p-BNP2Lw34.js";import{d as n,l as d}from"./p-BiiqsbVQ.js";import{S as l}from"./p-HjYAjHna.js";import{r as h}from"./index.js";import{d as c}from"./p-COoj5JkZ.js";import{d as p}from"./p-Dzz9jxLm.js";import{c as f}from"./p-BfP9ezJQ.js";const b=Array.from({length:7}).map(((e,t)=>n.format(n.addDays(n.startOfWeek(new Date,{weekStartsOn:1}),t),"EEEEEE",{locale:d.de}))),v="yyyy-MM-dd",g=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.valueChange=i(this,"valueChange",7),this.xvBlur=i(this,"xvBlur",7),this.internals=this.attachInternals(),this.value=[void 0,void 0],this.variant="single",this.loading=!1,this.size=l.MD,this.month=new Date,this.days=this.getCalendarGrid(),this.open=!1,this.handleChange=(e,t="start")=>{const i=e.target.value;if(this.localError=void 0,!i)return void(this.value["start"===t?0:1]=void 0);const o=new Date(i);if(n.isValid(o)){if(!(this.minDate&&n.isBefore(o,this.minDate)||this.maxDate&&n.isAfter(o,this.maxDate)||this.disabledSet.has(i)))if("single"===this.variant)this.month=o,this.value=[this.month,void 0];else if("range"===this.variant){this.value["start"===t?0:1]=o;const e=this.value[0],i=this.value[1];e&&i&&n.isAfter(e,i)&&(this.value=[i,e]),this.month=this.value[0]||o}}else this.value["start"===t?0:1]=void 0},this.handleBlur=(e,t="start")=>{const i=e.target;if(!i.value)return;const o=new Date(i.value);return!n.isValid(o)||this.minDate&&n.isBefore(o,this.minDate)||this.maxDate&&n.isAfter(o,this.maxDate)||this.disabledSet.has(i.value)?(this.value["start"===t?0:1]=void 0,i.value="",void(this.localError="Das angegebene Datum ist nicht verfügbar.")):void 0},this.handleYearChange=e=>{var t;let i=Number(e.target.value);i&&!isNaN(i)&&(this.month=this.maxDate&&i>(null===(t=this.maxDate)||void 0===t?void 0:t.getFullYear())?this.maxDate:this.minDate&&i<this.minDate.getFullYear()?this.minDate:n.setYear(this.month,i))},this.handleYearBlur=e=>{e.target.value=""+this.month.getFullYear()},this.handleKeydown=(e,t="start")=>{var i,o;"Enter"===e.key&&("range"===this.variant&&"start"===t?null===(i=e.target.nextElementSibling)||void 0===i||i.focus():(null===(o=e.target)||void 0===o||o.blur(),this.open=!1))},this.handleOpen=e=>{e.preventDefault(),this.disabled||this.loading||this.readonly||this.open||(this.open=!0)},this.prevMonth=()=>{this.month=n.subMonths(this.month,1)},this.nextMonth=()=>{this.month=n.addMonths(this.month,1)},this.destroyPopper=()=>{this.popperInstance&&(this.popperInstance.destroy(),this.popperInstance=void 0)}}get minDate(){if(!this.min)return;const e=n.parseISO(this.min);return n.isValid(e)?e:n.parse(this.min,"yyyy-MM-dd",new Date)}get maxDate(){if(!this.max)return;const e=n.parseISO(this.max);return n.isValid(e)?e:n.parse(this.max,"yyyy-MM-dd",new Date)}get disabledSet(){var e;const t=(null!==(e=this.disabledDates)&&void 0!==e?e:[]).map((e=>this.toDayKey(e))).filter(Boolean);return new Set(t)}toDayKey(e){if(e instanceof Date)return n.isValid(e)?n.format(e,v):"";if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e;const t=n.parseISO(e);return n.isValid(t)?n.format(t,v):""}isDayDisabled(e,t=this.disabledSet){return!(!this.minDate||!n.isBefore(e,this.minDate))||!(!this.maxDate||!n.isAfter(e,this.maxDate))||t.has(n.format(e,v))}get isPrevDisabled(){if(!this.minDate)return!1;const e=n.endOfMonth(n.addMonths(this.month,-1));return n.isBefore(e,this.minDate)}get isNextDisabled(){if(!this.maxDate)return!1;const e=n.startOfMonth(n.addMonths(this.month,1));return n.isAfter(e,this.maxDate)}handleClickOutside(e){e.stopPropagation(),this.open&&!this.el.contains(e.target)&&(this.open=!1)}openChange(){this.open?requestAnimationFrame((()=>this.createPopper())):(this.destroyPopper(),this.xvBlur.emit(this.value))}getCalendarGrid(){const e=n.startOfWeek(n.startOfMonth(this.month),{weekStartsOn:1}),t=n.endOfWeek(n.endOfMonth(this.month),{weekStartsOn:1}),i=this.disabledSet;return this.days=n.eachDayOfInterval({start:e,end:t}).map((e=>({date:e,week:n.getWeek(e,{weekStartsOn:1}),day:e.getDate(),isCurrentMonth:n.isSameMonth(e,this.month),isToday:n.isToday(e),disabled:this.isDayDisabled(e,i)}))),this.days}handleValueChange(){this.valueChange.emit(this.value);const[e,t]=this.value;if("single"===this.variant)e&&this.internals.setFormValue(e.toISOString());else if("range"===this.variant){const i=new FormData;e&&i.append("start",e.toISOString()),t&&i.append("end",t.toISOString()),(e||t)&&this.internals.setFormValue(e.toISOString())}}handleSetDate({date:e}){var t;if(this.localError=void 0,"single"===this.variant)return this.value=[e,null===(t=this.value)||void 0===t?void 0:t[1]],void(this.open=!1);if("range"===this.variant){const[t,i]=this.value;!t||t&&i?this.value=[e,void 0]:(this.value=n.isBefore(e,t)?[e,t]:[t,e],this.open=!1)}}createPopper(){this.controlEl&&this.popoverEl?this.popperInstance=f(this.controlEl,this.popoverEl,{modifiers:[{name:"offset",options:{offset:[0,8]}}]}):console.warn("XvToggleTip can`t find the trigger or popover container!")}componentWillLoad(){this.month=this.minDate||this.value[0]||new Date}disconnectedCallback(){this.destroyPopper()}render(){const[e,t]=this.value,i=h({error:"string"==typeof this.error&&this.error||this.localError,warning:this.warning,helper:this.helper});return o(a,{key:"7acac8d63162b6245e20eb9a4b440494382e3743",class:{disabled:!!this.disabled},tabindex:this.disabled?"-1":void 0},o("div",{key:"773766f7773f870b1dab6e46eebaf9dfb44162a6","aria-controls":"popover",class:"control"},this.label&&o("label",{key:"42b146a6316152c081bfdebbb955ad825669646f",class:"control_label"},this.label),o("div",{key:"1d6a61d1f597416224549c2a65680bbf8aff1ce3",class:{control_field:!0,loading:this.loading,error:!!this.error||!!this.localError,warning:void 0!==this.warning},onClick:this.handleOpen,ref:e=>this.controlEl=e},o("input",{key:"1e3052ae7687d7abfb97bf211ecdbdc68790aae9",lang:"de",type:"date",name:"start",disabled:this.loading||this.disabled,readonly:this.readonly||"range"===this.variant,min:this.min,max:this.max,value:e?n.format(e,v):"",onChange:e=>this.handleChange(e,"start"),onBlur:e=>this.handleBlur(e,"start"),onKeyDown:e=>this.handleKeydown(e,"start")}),"range"===this.variant&&o("input",{key:"5940b437a10ea2940d12d2c8c0b6bfa00378902c",lang:"de",type:"date",name:"end",disabled:this.loading||this.disabled,readonly:this.readonly||"range"===this.variant,min:this.min,max:this.max,value:t?n.format(t,v):"",onChange:e=>this.handleChange(e,"end"),onBlur:e=>this.handleBlur(e,"end"),onKeyDown:e=>this.handleKeydown(e,"end")})),i&&o("p",{key:"c59f935979dc34e3af9c50b41e3553718eefb501",class:{control_message:!0,[i.level]:!0}},i.text)),o("div",{key:"44ef01bc8857256400475d7ab4d617ff99f18ea2",role:"dialog",class:{popover:!0,open:this.open},ref:e=>this.popoverEl=e},o("div",{key:"3f9e501aea6ded182a0ff41d4b8d223d9f172f18",class:"header"},o("xv-button-v2",{key:"09cdd60c5117e362073998e8eebc6d28d7eeb120",tabindex:this.open?void 0:"-1",disabled:this.isPrevDisabled,variant:"ghost",onClick:this.prevMonth},o("span",{key:"05fb275ae138d7129f63d3fdb6330746c353f53c",slot:"icon-left",class:"header_icon prev"})),o("p",{key:"a111aa2311c30196fdb42e8fce01ab93c7b255e7",class:"header_date"},n.format(this.month,"LLLL",{locale:d.de}),o("input",{key:"beff076caabcfe2d1848387df56f6e31818cef3e",tabindex:this.open?void 0:"-1",type:"number",value:this.month.getFullYear(),onInput:this.handleYearChange,onBlur:this.handleYearBlur})),o("xv-button-v2",{key:"2cf16c021680a07e90e86cd1eee6954f79c580e2",tabindex:this.open?void 0:"-1",disabled:this.isNextDisabled,variant:"ghost",onClick:this.nextMonth},o("span",{key:"b6f9fdba574f059b715958e306f9a98e1fab58d2",slot:"icon-left",class:"header_icon next"}))),o("div",{key:"812ac9819b5bcd2b700d04b8551edd9830d9a893",class:"week"},o("p",{key:"8783983622c3e46d5a0609e5583a6f4f0f6b6d51",class:"week_day"}),b.map((e=>o("p",{class:"week_day"},e,".")))),o("div",{key:"163df09f9b089d282db25bf6062d12310e5de8d1",class:"week"},this.days.map(((i,a)=>o(s,null,a%7==0&&o("button",{tabindex:this.open?void 0:"-1",disabled:!0,class:"week_day disabled"},i.week),o("button",{tabindex:this.open?void 0:"-1",onClick:()=>this.handleSetDate(i),disabled:i.disabled,class:{week_day:!0,inRange:"range"===this.variant&&n.isWithinInterval(i.date,{start:e,end:t}),isToday:i.isToday,disabled:!i.isCurrentMonth||i.disabled,active:n.isSameDay(e,i.date)||n.isSameDay(t,i.date)}},i.day)))))))}static get formAssociated(){return!0}get el(){return this}static get watchers(){return{open:[{openChange:0}],month:[{getCalendarGrid:0}],min:[{getCalendarGrid:0}],max:[{getCalendarGrid:0}],disabledDates:[{getCalendarGrid:0}],value:[{handleValueChange:0}]}}static get style(){return'@charset "UTF-8";:host{--xv-datepicker-padding:var(--spacing-04);--xv-datepicker-fields-direction:row;display:inline-block;font-size:var(--fz-md, 14px)}:host .control{display:flex;flex-direction:column;row-gap:var(--spacing-03);text-align:left;letter-spacing:0.32px}:host .control_label{color:var(--text-secondary, #515151);font-size:0.8571428571em;font-weight:400}:host .control_field{position:relative;display:flex;gap:var(--spacing-03);flex-direction:var(--xv-datepicker-fields-direction, row)}:host .control_field input[type=date]{flex:1 1 0;border-radius:3px;color:var(--text-primary, #333);font-family:var(--ff-body), sans-serif;font-size:1em;background-color:transparent;font-style:normal;font-weight:400;line-height:20px;letter-spacing:0.32px;padding:var(--xv-datepicker-padding) calc(var(--spacing-05) + 20px) var(--xv-datepicker-padding) var(--spacing-05);border:1px solid var(--border-subtle-01);box-shadow:none;outline:2px solid transparent;transition:0.25s ease-in-out outline-color;appearance:none}:host .control_field input[type=date]:empty{color:var(--text-helper, #646464)}:host .control_field input[type=date]:focus{outline-color:var(--focus)}:host .control_field input[type=date]::-webkit-calendar-picker-indicator{visibility:hidden;opacity:0;appearance:none;pointer-events:none;display:none}:host .control_field:before{font-size:16px;width:16px;height:16px;top:calc(var(--xv-datepicker-padding) + 4px);right:var(--spacing-04);position:absolute;content:"";box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;background-image:url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'currentColor\' viewBox=\'0 0 24 24\'%3E%3Cpath d=\'M19 4h-1V2h-2v2H8V2H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11zm0-13H5V6h14v1z\'/%3E%3C/svg%3E")}@supports not selector(::-webkit-calendar-picker-indicator){:host .control_field:before{background-image:none}}:host .control_field.warning,:host .control_field.error,:host .control_field.loading{position:relative}:host .control_field.warning:before,:host .control_field.error:before,:host .control_field.loading:before{background-image:none}:host .control_field.warning:before{content:"⚠";color:var(--support-warning)}:host .control_field.error:before{font-size:12px;border-radius:50%;content:"!";color:#fff;background-color:var(--support-error)}:host .control_field.error input[type=date]{outline-color:var(--support-error);border:1px solid var(--support-error)}:host .control_field.loading{}@keyframes spin{to{transform:rotate(360deg)}}:host .control_field.loading:before{content:"";background-color:transparent;border-radius:50%;border:3px solid rgba(0, 0, 0, 0.1);border-top-color:var(--highlight-01, #CEDE94);animation:spin 0.8s linear infinite}:host .control_message{font-size:0.8571428571em;color:var(--text-primary, #333);margin:0;padding:0}:host .control_message.error{color:var(--text-error, #D62512)}:host .control_message.warning{color:var(--support-warning)}:host .control_message.helper{color:var(--text-secondary, #515151)}:host .popover{opacity:1;z-index:12;position:absolute;max-width:fit-content;box-sizing:border-box;display:inline-flex;flex-direction:column;background-color:var(--layer-02, #fff);border-radius:3px;box-shadow:0 4px 8px 3px rgba(39, 52, 53, 0.15), 0 1px 3px 0 rgba(39, 52, 53, 0.3);padding:var(--spacing-02) var(--spacing-03);row-gap:var(--spacing-02, 4px)}:host .popover:not(.open){opacity:0;z-index:-1;user-select:none;pointer-events:none;top:0;left:0;transform:translateY(-9999px)}:host .popover .header{display:grid;width:100%;grid-template-columns:auto 1fr auto;column-gap:var(--spacing-03)}:host .popover .header_date{margin:0;padding:0;display:flex;align-items:center;justify-content:center;text-transform:capitalize;color:var(--text-primary, #333);text-align:center;font-family:var(--ff-body), sans-serif;font-size:1em;font-weight:700;letter-spacing:0.16px}:host .popover .header_date input[type=number]{display:inline-block;padding:0.25rem;border:none;margin:0 0 0 var(--spacing-02);cursor:default;font-family:inherit;font-size:inherit;font-weight:600;inline-size:3.75em;border-radius:3px}:host .popover .header_date input[type=number]:focus{outline:1px solid var(--focus)}:host .popover .header_icon{display:inline-block;position:relative;border:solid currentColor;padding:5px;border-width:0 2px 2px 0}:host .popover .header_icon.prev{transform:translate(4px) rotate(135deg)}:host .popover .header_icon.next{transform:translate(-4px) rotate(-45deg)}:host .popover .week{display:grid;width:100%;grid-template-columns:repeat(8, 1fr)}:host .popover .week_day{width:40px;line-height:40px;margin:0;padding:0;box-sizing:border-box;color:var(--text-primary, #333);font-family:var(--ff-body), sans-serif;font-size:1em;letter-spacing:0.16px;user-select:none}:host .popover .week_day:is(button){background-color:transparent;border:none;outline:none;transition:250ms ease-in-out background-color, 250ms ease-in-out color}:host .popover .week_day:is(button):hover:not(:disabled){cursor:pointer;background-color:var(--layer-hover-01, #E9E9E9)}:host .popover .week_day:is(button):focus:not(:disabled){cursor:pointer;outline:1px solid var(--focus, #273435);background-blend-mode:multiply}:host .popover .week_day:is(button):active:not(:disabled){background-color:rgba(139, 139, 139, 0.5)}:host .popover .week_day:is(button).inRange:not(.disabled):not(.active){background-color:var(--highlight-01, #CEDE94)}:host .popover .week_day:is(button).active{background-color:var(--button-primary, #273435);color:var(--text-on-color, #fff);z-index:1}:host .popover .week_day:is(button).active:hover{background-color:var(--button-primary-hover, #303F40)}:host .popover .week_day:is(button).active:active{background-color:var(--button-primary-active, #455D5E)}:host .popover .week_day.isToday{position:relative;font-weight:bold}:host .popover .week_day.isToday:before{content:"";position:absolute;bottom:2px;left:calc(50% - 2px);display:inline-block;width:4px;height:4px;border-radius:2px;background-color:currentColor}:host .popover .week_day.disabled{color:var(--text-placeholder, #ACACAC)}:host .popover .week_day__mobile{display:none}@media screen and (max-width: 920px){:host .popover .week_day__mobile{display:inline-block}}:host .popover .week_day__desktop{display:inline-block}@media screen and (max-width: 920px){:host .popover .week_day__desktop{display:none}}:host([block]){display:block;max-width:unset}:host(.disabled) .control_message,:host(.disabled) .control_field input[type=date],:host(.disabled) .control_label{color:var(--text-disabled, rgba(19, 19, 19, 0.25))}:host(.disabled) .control_field:before{opacity:0.4}:host([size=xs]){--xv-datepicker-padding:var(--spacing-02, 4px);font-size:var(--fz-sm)}:host([size=sm]){--xv-datepicker-padding:var(--spacing-03, 8px)}:host([size=md]){--xv-datepicker-padding:var(--spacing-04, 12px)}:host([size=lg]){--xv-datepicker-padding:var(--spacing-05, 16px)}:host([size=xl]){--xv-datepicker-padding:var(--spacing-06, 24px);font-size:var(--fz-lg)}'}},[65,"xv-datepicker",{value:[1040],variant:[1],label:[1],helper:[1],error:[8],warning:[8],readonly:[4],disabled:[4],loading:[4],block:[4],size:[513],min:[1],max:[1],disabledDates:[16],month:[32],days:[32],open:[32],localError:[32]},[[4,"click","handleClickOutside"]],{open:[{openChange:0}],month:[{getCalendarGrid:0}],min:[{getCalendarGrid:0}],max:[{getCalendarGrid:0}],disabledDates:[{getCalendarGrid:0}],value:[{handleValueChange:0}]}]);function u(){"undefined"!=typeof customElements&&["xv-datepicker","xv-button-v2","xv-loader-v2"].forEach((e=>{switch(e){case"xv-datepicker":customElements.get(r(e))||customElements.define(r(e),g);break;case"xv-button-v2":customElements.get(r(e))||c();break;case"xv-loader-v2":customElements.get(r(e))||p()}}))}u();const x=g,m=u;export{x as XvDatepicker,m as defineCustomElement}
1
+ import{p as e,H as t,c as i,h as o,F as s,a,t as r}from"./p-CspyoLL9.js";import{d as n,l as d}from"./p-BiiqsbVQ.js";import{S as l}from"./p-HjYAjHna.js";import{r as h}from"./index.js";import{d as c}from"./p-D4FwGeDJ.js";import{d as p}from"./p-Dwbe941A.js";import{c as f}from"./p-BfP9ezJQ.js";const b=Array.from({length:7}).map(((e,t)=>n.format(n.addDays(n.startOfWeek(new Date,{weekStartsOn:1}),t),"EEEEEE",{locale:d.de}))),v="yyyy-MM-dd",g=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.valueChange=i(this,"valueChange",7),this.xvBlur=i(this,"xvBlur",7),this.internals=this.attachInternals(),this.value=[void 0,void 0],this.variant="single",this.loading=!1,this.size=l.MD,this.month=new Date,this.days=this.getCalendarGrid(),this.open=!1,this.handleChange=(e,t="start")=>{const i=e.target.value;if(this.localError=void 0,!i)return void(this.value["start"===t?0:1]=void 0);const o=new Date(i);if(n.isValid(o)){if(!(this.minDate&&n.isBefore(o,this.minDate)||this.maxDate&&n.isAfter(o,this.maxDate)||this.disabledSet.has(i)))if("single"===this.variant)this.month=o,this.value=[this.month,void 0];else if("range"===this.variant){this.value["start"===t?0:1]=o;const e=this.value[0],i=this.value[1];e&&i&&n.isAfter(e,i)&&(this.value=[i,e]),this.month=this.value[0]||o}}else this.value["start"===t?0:1]=void 0},this.handleBlur=(e,t="start")=>{const i=e.target;if(!i.value)return;const o=new Date(i.value);return!n.isValid(o)||this.minDate&&n.isBefore(o,this.minDate)||this.maxDate&&n.isAfter(o,this.maxDate)||this.disabledSet.has(i.value)?(this.value["start"===t?0:1]=void 0,i.value="",void(this.localError="Das angegebene Datum ist nicht verfügbar.")):void 0},this.handleYearChange=e=>{var t;let i=Number(e.target.value);i&&!isNaN(i)&&(this.month=this.maxDate&&i>(null===(t=this.maxDate)||void 0===t?void 0:t.getFullYear())?this.maxDate:this.minDate&&i<this.minDate.getFullYear()?this.minDate:n.setYear(this.month,i))},this.handleYearBlur=e=>{e.target.value=""+this.month.getFullYear()},this.handleKeydown=(e,t="start")=>{var i,o;"Enter"===e.key&&("range"===this.variant&&"start"===t?null===(i=e.target.nextElementSibling)||void 0===i||i.focus():(null===(o=e.target)||void 0===o||o.blur(),this.open=!1))},this.handleOpen=e=>{e.preventDefault(),this.disabled||this.loading||this.readonly||this.open||(this.open=!0)},this.prevMonth=()=>{this.month=n.subMonths(this.month,1)},this.nextMonth=()=>{this.month=n.addMonths(this.month,1)},this.destroyPopper=()=>{this.popperInstance&&(this.popperInstance.destroy(),this.popperInstance=void 0)}}get minDate(){if(!this.min)return;const e=n.parseISO(this.min);return n.isValid(e)?e:n.parse(this.min,"yyyy-MM-dd",new Date)}get maxDate(){if(!this.max)return;const e=n.parseISO(this.max);return n.isValid(e)?e:n.parse(this.max,"yyyy-MM-dd",new Date)}get disabledSet(){var e;const t=(null!==(e=this.disabledDates)&&void 0!==e?e:[]).map((e=>this.toDayKey(e))).filter(Boolean);return new Set(t)}toDayKey(e){if(e instanceof Date)return n.isValid(e)?n.format(e,v):"";if(/^\d{4}-\d{2}-\d{2}$/.test(e))return e;const t=n.parseISO(e);return n.isValid(t)?n.format(t,v):""}isDayDisabled(e,t=this.disabledSet){return!(!this.minDate||!n.isBefore(e,this.minDate))||!(!this.maxDate||!n.isAfter(e,this.maxDate))||t.has(n.format(e,v))}get isPrevDisabled(){if(!this.minDate)return!1;const e=n.endOfMonth(n.addMonths(this.month,-1));return n.isBefore(e,this.minDate)}get isNextDisabled(){if(!this.maxDate)return!1;const e=n.startOfMonth(n.addMonths(this.month,1));return n.isAfter(e,this.maxDate)}handleClickOutside(e){e.stopPropagation(),this.open&&!this.el.contains(e.target)&&(this.open=!1)}openChange(){this.open?requestAnimationFrame((()=>this.createPopper())):(this.destroyPopper(),this.xvBlur.emit(this.value))}getCalendarGrid(){const e=n.startOfWeek(n.startOfMonth(this.month),{weekStartsOn:1}),t=n.endOfWeek(n.endOfMonth(this.month),{weekStartsOn:1}),i=this.disabledSet;return this.days=n.eachDayOfInterval({start:e,end:t}).map((e=>({date:e,week:n.getWeek(e,{weekStartsOn:1}),day:e.getDate(),isCurrentMonth:n.isSameMonth(e,this.month),isToday:n.isToday(e),disabled:this.isDayDisabled(e,i)}))),this.days}handleValueChange(){this.valueChange.emit(this.value);const[e,t]=this.value;if("single"===this.variant)e&&this.internals.setFormValue(e.toISOString());else if("range"===this.variant){const i=new FormData;e&&i.append("start",e.toISOString()),t&&i.append("end",t.toISOString()),(e||t)&&this.internals.setFormValue(e.toISOString())}}handleSetDate({date:e}){var t;if(this.localError=void 0,"single"===this.variant)return this.value=[e,null===(t=this.value)||void 0===t?void 0:t[1]],void(this.open=!1);if("range"===this.variant){const[t,i]=this.value;!t||t&&i?this.value=[e,void 0]:(this.value=n.isBefore(e,t)?[e,t]:[t,e],this.open=!1)}}createPopper(){this.controlEl&&this.popoverEl?this.popperInstance=f(this.controlEl,this.popoverEl,{modifiers:[{name:"offset",options:{offset:[0,8]}}]}):console.warn("XvToggleTip can`t find the trigger or popover container!")}componentWillLoad(){this.month=this.minDate||this.value[0]||new Date}disconnectedCallback(){this.destroyPopper()}render(){const[e,t]=this.value,i=h({error:"string"==typeof this.error&&this.error||this.localError,warning:this.warning,helper:this.helper});return o(a,{key:"7acac8d63162b6245e20eb9a4b440494382e3743",class:{disabled:!!this.disabled},tabindex:this.disabled?"-1":void 0},o("div",{key:"773766f7773f870b1dab6e46eebaf9dfb44162a6","aria-controls":"popover",class:"control"},this.label&&o("label",{key:"42b146a6316152c081bfdebbb955ad825669646f",class:"control_label"},this.label),o("div",{key:"1d6a61d1f597416224549c2a65680bbf8aff1ce3",class:{control_field:!0,loading:this.loading,error:!!this.error||!!this.localError,warning:void 0!==this.warning},onClick:this.handleOpen,ref:e=>this.controlEl=e},o("input",{key:"1e3052ae7687d7abfb97bf211ecdbdc68790aae9",lang:"de",type:"date",name:"start",disabled:this.loading||this.disabled,readonly:this.readonly||"range"===this.variant,min:this.min,max:this.max,value:e?n.format(e,v):"",onChange:e=>this.handleChange(e,"start"),onBlur:e=>this.handleBlur(e,"start"),onKeyDown:e=>this.handleKeydown(e,"start")}),"range"===this.variant&&o("input",{key:"5940b437a10ea2940d12d2c8c0b6bfa00378902c",lang:"de",type:"date",name:"end",disabled:this.loading||this.disabled,readonly:this.readonly||"range"===this.variant,min:this.min,max:this.max,value:t?n.format(t,v):"",onChange:e=>this.handleChange(e,"end"),onBlur:e=>this.handleBlur(e,"end"),onKeyDown:e=>this.handleKeydown(e,"end")})),i&&o("p",{key:"c59f935979dc34e3af9c50b41e3553718eefb501",class:{control_message:!0,[i.level]:!0}},i.text)),o("div",{key:"44ef01bc8857256400475d7ab4d617ff99f18ea2",role:"dialog",class:{popover:!0,open:this.open},ref:e=>this.popoverEl=e},o("div",{key:"3f9e501aea6ded182a0ff41d4b8d223d9f172f18",class:"header"},o("xv-button-v2",{key:"09cdd60c5117e362073998e8eebc6d28d7eeb120",tabindex:this.open?void 0:"-1",disabled:this.isPrevDisabled,variant:"ghost",onClick:this.prevMonth},o("span",{key:"05fb275ae138d7129f63d3fdb6330746c353f53c",slot:"icon-left",class:"header_icon prev"})),o("p",{key:"a111aa2311c30196fdb42e8fce01ab93c7b255e7",class:"header_date"},n.format(this.month,"LLLL",{locale:d.de}),o("input",{key:"beff076caabcfe2d1848387df56f6e31818cef3e",tabindex:this.open?void 0:"-1",type:"number",value:this.month.getFullYear(),onInput:this.handleYearChange,onBlur:this.handleYearBlur})),o("xv-button-v2",{key:"2cf16c021680a07e90e86cd1eee6954f79c580e2",tabindex:this.open?void 0:"-1",disabled:this.isNextDisabled,variant:"ghost",onClick:this.nextMonth},o("span",{key:"b6f9fdba574f059b715958e306f9a98e1fab58d2",slot:"icon-left",class:"header_icon next"}))),o("div",{key:"812ac9819b5bcd2b700d04b8551edd9830d9a893",class:"week"},o("p",{key:"8783983622c3e46d5a0609e5583a6f4f0f6b6d51",class:"week_day"}),b.map((e=>o("p",{class:"week_day"},e,".")))),o("div",{key:"163df09f9b089d282db25bf6062d12310e5de8d1",class:"week"},this.days.map(((i,a)=>o(s,null,a%7==0&&o("button",{tabindex:this.open?void 0:"-1",disabled:!0,class:"week_day disabled"},i.week),o("button",{tabindex:this.open?void 0:"-1",onClick:()=>this.handleSetDate(i),disabled:i.disabled,class:{week_day:!0,inRange:"range"===this.variant&&n.isWithinInterval(i.date,{start:e,end:t}),isToday:i.isToday,disabled:!i.isCurrentMonth||i.disabled,active:n.isSameDay(e,i.date)||n.isSameDay(t,i.date)}},i.day)))))))}static get formAssociated(){return!0}get el(){return this}static get watchers(){return{open:[{openChange:0}],month:[{getCalendarGrid:0}],min:[{getCalendarGrid:0}],max:[{getCalendarGrid:0}],disabledDates:[{getCalendarGrid:0}],value:[{handleValueChange:0}]}}static get style(){return'@charset "UTF-8";:host{--xv-datepicker-padding:var(--spacing-04);--xv-datepicker-fields-direction:row;display:inline-block;font-size:var(--fz-md, 14px)}:host .control{display:flex;flex-direction:column;row-gap:var(--spacing-03);text-align:left;letter-spacing:0.32px}:host .control_label{color:var(--text-secondary, #515151);font-size:0.8571428571em;font-weight:400}:host .control_field{position:relative;display:flex;gap:var(--spacing-03);flex-direction:var(--xv-datepicker-fields-direction, row)}:host .control_field input[type=date]{flex:1 1 0;border-radius:3px;color:var(--text-primary, #333);font-family:var(--ff-body), sans-serif;font-size:1em;background-color:transparent;font-style:normal;font-weight:400;line-height:20px;letter-spacing:0.32px;padding:var(--xv-datepicker-padding) calc(var(--spacing-05) + 20px) var(--xv-datepicker-padding) var(--spacing-05);border:1px solid var(--border-subtle-01);box-shadow:none;outline:2px solid transparent;transition:0.25s ease-in-out outline-color;appearance:none}:host .control_field input[type=date]:empty{color:var(--text-helper, #646464)}:host .control_field input[type=date]:focus{outline-color:var(--focus)}:host .control_field input[type=date]::-webkit-calendar-picker-indicator{visibility:hidden;opacity:0;appearance:none;pointer-events:none;display:none}:host .control_field:before{font-size:16px;width:16px;height:16px;top:calc(var(--xv-datepicker-padding) + 4px);right:var(--spacing-04);position:absolute;content:"";box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;background-image:url("data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' fill=\'currentColor\' viewBox=\'0 0 24 24\'%3E%3Cpath d=\'M19 4h-1V2h-2v2H8V2H6v2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11zm0-13H5V6h14v1z\'/%3E%3C/svg%3E")}@supports not selector(::-webkit-calendar-picker-indicator){:host .control_field:before{background-image:none}}:host .control_field.warning,:host .control_field.error,:host .control_field.loading{position:relative}:host .control_field.warning:before,:host .control_field.error:before,:host .control_field.loading:before{background-image:none}:host .control_field.warning:before{content:"⚠";color:var(--support-warning)}:host .control_field.error:before{font-size:12px;border-radius:50%;content:"!";color:#fff;background-color:var(--support-error)}:host .control_field.error input[type=date]{outline-color:var(--support-error);border:1px solid var(--support-error)}:host .control_field.loading{}@keyframes spin{to{transform:rotate(360deg)}}:host .control_field.loading:before{content:"";background-color:transparent;border-radius:50%;border:3px solid rgba(0, 0, 0, 0.1);border-top-color:var(--highlight-01, #CEDE94);animation:spin 0.8s linear infinite}:host .control_message{font-size:0.8571428571em;color:var(--text-primary, #333);margin:0;padding:0}:host .control_message.error{color:var(--text-error, #D62512)}:host .control_message.warning{color:var(--support-warning)}:host .control_message.helper{color:var(--text-secondary, #515151)}:host .popover{opacity:1;z-index:12;position:absolute;max-width:fit-content;box-sizing:border-box;display:inline-flex;flex-direction:column;background-color:var(--layer-02, #fff);border-radius:3px;box-shadow:0 4px 8px 3px rgba(39, 52, 53, 0.15), 0 1px 3px 0 rgba(39, 52, 53, 0.3);padding:var(--spacing-02) var(--spacing-03);row-gap:var(--spacing-02, 4px)}:host .popover:not(.open){opacity:0;z-index:-1;user-select:none;pointer-events:none;top:0;left:0;transform:translateY(-9999px)}:host .popover .header{display:grid;width:100%;grid-template-columns:auto 1fr auto;column-gap:var(--spacing-03)}:host .popover .header_date{margin:0;padding:0;display:flex;align-items:center;justify-content:center;text-transform:capitalize;color:var(--text-primary, #333);text-align:center;font-family:var(--ff-body), sans-serif;font-size:1em;font-weight:700;letter-spacing:0.16px}:host .popover .header_date input[type=number]{display:inline-block;padding:0.25rem;border:none;margin:0 0 0 var(--spacing-02);cursor:default;font-family:inherit;font-size:inherit;font-weight:600;inline-size:3.75em;border-radius:3px}:host .popover .header_date input[type=number]:focus{outline:1px solid var(--focus)}:host .popover .header_icon{display:inline-block;position:relative;border:solid currentColor;padding:5px;border-width:0 2px 2px 0}:host .popover .header_icon.prev{transform:translate(4px) rotate(135deg)}:host .popover .header_icon.next{transform:translate(-4px) rotate(-45deg)}:host .popover .week{display:grid;width:100%;grid-template-columns:repeat(8, 1fr)}:host .popover .week_day{width:40px;line-height:40px;margin:0;padding:0;box-sizing:border-box;color:var(--text-primary, #333);font-family:var(--ff-body), sans-serif;font-size:1em;letter-spacing:0.16px;user-select:none}:host .popover .week_day:is(button){background-color:transparent;border:none;outline:none;transition:250ms ease-in-out background-color, 250ms ease-in-out color}:host .popover .week_day:is(button):hover:not(:disabled){cursor:pointer;background-color:var(--layer-hover-01, #E9E9E9)}:host .popover .week_day:is(button):focus:not(:disabled){cursor:pointer;outline:1px solid var(--focus, #273435);background-blend-mode:multiply}:host .popover .week_day:is(button):active:not(:disabled){background-color:rgba(139, 139, 139, 0.5)}:host .popover .week_day:is(button).inRange:not(.disabled):not(.active){background-color:var(--highlight-01, #CEDE94)}:host .popover .week_day:is(button).active{background-color:var(--button-primary, #273435);color:var(--text-on-color, #fff);z-index:1}:host .popover .week_day:is(button).active:hover{background-color:var(--button-primary-hover, #303F40)}:host .popover .week_day:is(button).active:active{background-color:var(--button-primary-active, #455D5E)}:host .popover .week_day.isToday{position:relative;font-weight:bold}:host .popover .week_day.isToday:before{content:"";position:absolute;bottom:2px;left:calc(50% - 2px);display:inline-block;width:4px;height:4px;border-radius:2px;background-color:currentColor}:host .popover .week_day.disabled{color:var(--text-placeholder, #ACACAC)}:host .popover .week_day__mobile{display:none}@media screen and (max-width: 920px){:host .popover .week_day__mobile{display:inline-block}}:host .popover .week_day__desktop{display:inline-block}@media screen and (max-width: 920px){:host .popover .week_day__desktop{display:none}}:host([block]){display:block;max-width:unset}:host(.disabled) .control_message,:host(.disabled) .control_field input[type=date],:host(.disabled) .control_label{color:var(--text-disabled, rgba(19, 19, 19, 0.25))}:host(.disabled) .control_field:before{opacity:0.4}:host([size=xs]){--xv-datepicker-padding:var(--spacing-02, 4px);font-size:var(--fz-sm)}:host([size=sm]){--xv-datepicker-padding:var(--spacing-03, 8px)}:host([size=md]){--xv-datepicker-padding:var(--spacing-04, 12px)}:host([size=lg]){--xv-datepicker-padding:var(--spacing-05, 16px)}:host([size=xl]){--xv-datepicker-padding:var(--spacing-06, 24px);font-size:var(--fz-lg)}'}},[65,"xv-datepicker",{value:[1040],variant:[1],label:[1],helper:[1],error:[8],warning:[8],readonly:[4],disabled:[4],loading:[4],block:[4],size:[513],min:[1],max:[1],disabledDates:[16],month:[32],days:[32],open:[32],localError:[32]},[[4,"click","handleClickOutside"]],{open:[{openChange:0}],month:[{getCalendarGrid:0}],min:[{getCalendarGrid:0}],max:[{getCalendarGrid:0}],disabledDates:[{getCalendarGrid:0}],value:[{handleValueChange:0}]}]);function u(){"undefined"!=typeof customElements&&["xv-datepicker","xv-button-v2","xv-loader-v2"].forEach((e=>{switch(e){case"xv-datepicker":customElements.get(r(e))||customElements.define(r(e),g);break;case"xv-button-v2":customElements.get(r(e))||c();break;case"xv-loader-v2":customElements.get(r(e))||p()}}))}u();const x=g,y=u;export{x as XvDatepicker,y as defineCustomElement}
@@ -1 +1 @@
1
- import{p as e,H as t,c as s,h as i,a as c,t as a}from"./p-BNP2Lw34.js";import{S as o}from"./p-HjYAjHna.js";import{d as h}from"./p-Ddx5DwV5.js";const l=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.itemSelected=s(this,"itemSelected",7),this.disabled=!1,this.value="",this.selected=!1,this.multiple=!1,this.size=o.MD}handleClick(){this.disabled||this.itemSelected.emit({selected:!this.selected,value:this.value,text:this.el.innerText})}render(){return i(c,{key:"8ad44ce1898cd1fa4627c9452d6c616752f837c2",class:"xv-dropdown-item",value:this.value,role:"option",tabindex:!!this.disabled&&-1},this.multiple&&i("xv-checkbox-v2",{key:"a302e1c10ba44421806cf25116e6ec7d3a8094d0",class:"multiple-check",size:this.size,checked:this.selected,disabled:this.disabled}),i("slot",{key:"2d68b08d47aff4980b0376e998813fb160cc817f"}),!this.multiple&&this.selected&&i("span",{key:"558a69295b9b2131f6bf504a6ff5ae56ae2cb4c9",class:"checkmark far fa-check"}))}componentWillLoad(){this.value||(this.value=this.el.innerText)}get el(){return this}static get style(){return":host{display:block}:host .multiple-check{margin-right:var(--spacing-03, 8px);vertical-align:middle;pointer-events:none;user-select:none}:host .checkmark{position:absolute;right:12px;font-size:12px;top:calc(50% - 6px)}"}},[257,"xv-dropdown-v2-item",{disabled:[4],value:[1544],selected:[1540],multiple:[516],size:[513]},[[0,"click","handleClick"]]]);function n(){"undefined"!=typeof customElements&&["xv-dropdown-v2-item","xv-checkbox-v2"].forEach((e=>{switch(e){case"xv-dropdown-v2-item":customElements.get(a(e))||customElements.define(a(e),l);break;case"xv-checkbox-v2":customElements.get(a(e))||h()}}))}n();const d=l,r=n;export{d as XvDropdownV2Item,r as defineCustomElement}
1
+ import{p as e,H as t,c as s,h as i,a as c,t as a}from"./p-CspyoLL9.js";import{S as o}from"./p-HjYAjHna.js";import{d as h}from"./p-BfhvpeQh.js";const l=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.itemSelected=s(this,"itemSelected",7),this.disabled=!1,this.value="",this.selected=!1,this.multiple=!1,this.size=o.MD}handleClick(){this.disabled||this.itemSelected.emit({selected:!this.selected,value:this.value,text:this.el.innerText})}render(){return i(c,{key:"8ad44ce1898cd1fa4627c9452d6c616752f837c2",class:"xv-dropdown-item",value:this.value,role:"option",tabindex:!!this.disabled&&-1},this.multiple&&i("xv-checkbox-v2",{key:"a302e1c10ba44421806cf25116e6ec7d3a8094d0",class:"multiple-check",size:this.size,checked:this.selected,disabled:this.disabled}),i("slot",{key:"2d68b08d47aff4980b0376e998813fb160cc817f"}),!this.multiple&&this.selected&&i("span",{key:"558a69295b9b2131f6bf504a6ff5ae56ae2cb4c9",class:"checkmark far fa-check"}))}componentWillLoad(){this.value||(this.value=this.el.innerText)}get el(){return this}static get style(){return":host{display:block}:host .multiple-check{margin-right:var(--spacing-03, 8px);vertical-align:middle;pointer-events:none;user-select:none}:host .checkmark{position:absolute;right:12px;font-size:12px;top:calc(50% - 6px)}"}},[257,"xv-dropdown-v2-item",{disabled:[4],value:[1544],selected:[1540],multiple:[516],size:[513]},[[0,"click","handleClick"]]]);function n(){"undefined"!=typeof customElements&&["xv-dropdown-v2-item","xv-checkbox-v2"].forEach((e=>{switch(e){case"xv-dropdown-v2-item":customElements.get(a(e))||customElements.define(a(e),l);break;case"xv-checkbox-v2":customElements.get(a(e))||h()}}))}n();const d=l,r=n;export{d as XvDropdownV2Item,r as defineCustomElement}
@@ -1 +1 @@
1
- import{p as t,H as e,c as o,h as i,a as s,t as r}from"./p-BNP2Lw34.js";import{S as n}from"./p-HjYAjHna.js";import{f as a,r as l,s as h}from"./index.js";import{d}from"./p-Dzz9jxLm.js";import{d as c}from"./p-DTwz9Fsh.js";import{d as p}from"./p-CEjlxnKY.js";import{d as v}from"./p-BRZwUlfE.js";const f=".xv-dropdown-item";let u=0;const g=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.changeSelection=o(this,"changeSelection",7),this.openChange=o(this,"openChange",3),this.searchPlaceholder="Suchen",this.size=n.MD,this.variant="default",this.position="auto",this.selected=[],this.selectedMap=new Map,this.resolvedPosition="left",this.positionMeasured=!1,this.listboxId="xv-dd-listbox-"+u++,this.optIdSeq=0,this.activeItem=null,this.pendingOpenInit=!1,this.searchQuery="",this.dropdownItems=[],this.setSelected=(t,e)=>{const o=Array.from(t.values()),i=e||this.el.querySelectorAll(f);return this.selected=this.multiple&&o.length===i.length?["Alle ausgewählt"]:o.length>1?["ausgewählt"]:o.map((t=>t.text)),o},this.handleOpen=()=>{this.disabled||this.loading||this.readonly||(this.open=!this.open)},this.handleClickOutside=t=>{this.open&&!this.el.contains(t.target)&&this.open&&(this.open=!1)},this.addListeners=()=>{document.addEventListener("click",this.handleClickOutside,{capture:!0})},this.removeListeners=()=>{document.removeEventListener("click",this.handleClickOutside,{capture:!0})},this.getNavigableItems=()=>Array.from(this.el.querySelectorAll(f)).filter((t=>!t.hasAttribute("hidden")&&!t.hasAttribute("disabled"))),this.moveActive=t=>{const e=this.getNavigableItems();if(!e.length)return;let o=(this.activeItem?e.indexOf(this.activeItem):-1)+t;o<0?o=e.length-1:o>=e.length&&(o=0),this.setActiveItem(e[o])},this.setActiveByEdge=t=>{const e=this.getNavigableItems();e.length&&this.setActiveItem("first"===t?e[0]:e[e.length-1])},this.setActiveItem=(t,e=!0)=>{var o;this.activeItem!==t&&(null===(o=this.activeItem)||void 0===o||o.removeAttribute("active"),this.activeItem=t,t?(t.id||(t.id=`${this.listboxId}-opt-${this.optIdSeq++}`),t.setAttribute("active",""),this.el.setAttribute("aria-activedescendant",t.id),e&&t.scrollIntoView({block:"nearest"})):this.el.removeAttribute("aria-activedescendant"))},this.clearHandle=()=>{const t=this.el.querySelectorAll(f);a(t,(t=>h(t,"selected",!1))),this.selectedMap.clear(),this.changeSelection.emit(this.setSelected(this.selectedMap,t))},this.cacheItems=()=>{if(!this.search)return;const t=this.el.querySelectorAll(f);this.dropdownItems=Array.from(t).map((t=>{var e;return{el:t,text:(null===(e=t.textContent)||void 0===e?void 0:e.toLowerCase())||""}}))},this.handleSearchInput=t=>{this.searchQuery=t.target.value.toLowerCase(),clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((()=>{var t;for(const{el:t,text:e}of this.dropdownItems)t.toggleAttribute("hidden",!e.includes(this.searchQuery));(null===(t=this.activeItem)||void 0===t?void 0:t.hasAttribute("hidden"))&&this.setActiveByEdge("first")}),200)},this.resetSearch=()=>{if(clearTimeout(this.searchTimeout),this.search){this.searchQuery="",this.searchInputEl&&(this.searchInputEl.value="");for(const{el:t}of this.dropdownItems)t.removeAttribute("hidden")}},this.initOpenState=()=>{var t,e,o;this.pendingOpenInit=!1;const i=this.getNavigableItems(),s=i.find((t=>t.hasAttribute("selected")));this.setActiveItem(s||i[0]||null,!1),this.search?null===(o=null===(e=null===(t=this.searchInputEl)||void 0===t?void 0:t.shadowRoot)||void 0===e?void 0:e.querySelector("input"))||void 0===o||o.focus():this.el.focus()}}openChangeHandle(){this.syncOpenState(),this.openChange.emit(!!this.open)}syncOpenState(){this.disabled||(this.open?(this.cacheItems(),this.addListeners(),this.pendingOpenInit=!0):(this.removeListeners(),this.resolvedPosition="left",this.positionMeasured=!1,this.pendingOpenInit=!1,this.setActiveItem(null),this.resetSearch()))}multipleChangeHandle(){a(this.el.querySelectorAll(f),(t=>{h(t,"size",this.size),this.multiple&&h(t,"multiple",this.multiple)}))}valueChange(){const t=Array.isArray(this.value)?this.value:this.value?[this.value]:[],e=this.el.querySelectorAll(f);if(!t||!(null==t?void 0:t.length))return this.selectedMap.size>0&&this.clearHandle(),void this.setSelected(this.selectedMap,e);if(t.every((t=>this.selectedMap.has(t))))return;const o=new Set(t);a(e,(t=>{const e=t.getAttribute("value"),i={value:e,text:t.innerText||"",selected:o.has(Number(e))||o.has(e)};h(t,"selected",i.selected),i.selected?this.selectedMap.set(i.value,i):this.selectedMap.delete(i.value)})),this.setSelected(this.selectedMap,e)}handleItemSelected({detail:t}){const e=this.selectedMap.has(t.value);if(this.multiple){if(t.selected)e||this.selectedMap.set(t.value,t);else if(e){if(this.required&&1===this.selectedMap.size)return;this.selectedMap.delete(t.value)}}else t.selected?(this.selectedMap.clear(),this.selectedMap.set(t.value,t)):this.required||this.selectedMap.clear(),this.open=!1;const o=this.el.querySelectorAll(f);a(o,(t=>h(t,"selected",this.selectedMap.has(t.getAttribute("value"))))),this.changeSelection.emit(this.setSelected(this.selectedMap,o))}handleKeyDown(t){var e,o;if(!(this.disabled||this.readonly||this.loading))if(this.open)switch(t.key){case"ArrowDown":t.preventDefault(),this.moveActive(1);break;case"ArrowUp":t.preventDefault(),this.moveActive(-1);break;case"Home":t.preventDefault(),this.setActiveByEdge("first");break;case"End":t.preventDefault(),this.setActiveByEdge("last");break;case"Enter":t.preventDefault(),null===(e=this.activeItem)||void 0===e||e.click();break;case" ":case"Spacebar":this.search||(t.preventDefault(),null===(o=this.activeItem)||void 0===o||o.click());break;case"Escape":t.preventDefault(),this.open=!1,this.el.focus();break;case"Tab":this.open=!1}else["ArrowDown","ArrowUp","Enter"," ","Spacebar"].includes(t.key)&&(t.preventDefault(),this.open=!0)}render(){const t=l({error:this.error,warning:this.warning,helper:this.helper});return i(s,{key:"ffd252c6112970b1565cd9f809cb956a5bded4a9",class:{"xv-dropdown":!0,[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)&&i("label",{key:"04f62e12c19581aadc33843341e29c6ae9e12912",class:"label"},i("slot",{key:"88fad2d06822b03cfd50ed63777058bf7d3fbf32",name:"label"},this.label),this.info&&i("xv-tooltip-v2",{key:"f80d2fae5d0ff00b8aebb467c1c7cd98fa6ed5ae",class:"label_info",message:this.info})),i("div",{key:"7ee7529055e1171085d082fb9ae4e6ad66ea99c6",class:{"xv-dropdown-control control":!0,readonly:!!this.readonly},onClick:this.handleOpen},this.multiple&&this.selectedMap.size>0&&i("xv-tag-v2",{key:"2d45049f0ed128be4d885d61a95f3a4222c89da1",class:"control_count",onClick:t=>t.stopPropagation(),onCloseClick:this.clearHandle,closeable:!this.required,bg:"var(--background-inverse)",color:"var(--icon-inverse)"},this.selectedMap.size),this.selected.length?i("p",{class:"control_value"},this.selected.join(", ")):i("p",{class:"control_placeholder"},this.placeholder||""),this._renderIcon(),i("svg",{key:"d6bf588cf8194ae1ddb3dfc18aeb6d2fdc521f8f",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"},i("path",{key:"adb109cd581f50176605874f1e168f3fc08845c8",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&&i("div",{key:"65c9da0a6349271e22c55f3cc0a6731c08de3260",ref:t=>this.optionsEl=t,id:this.listboxId,role:"listbox","aria-multiselectable":this.multiple?"true":null,class:{options:!0,right:"right"===this._appliedPosition(),search:!!this.search}},this.search&&i("div",{key:"e4d99b2e900ff65baa60ef67150d9bea91f1c6e4",class:"options_search"},i("xv-text-input-v2",{key:"f01b9c8716200774b4248592606c13c3c6210336",type:"search",ref:t=>this.searchInputEl=t,block:!0,autocomplete:"off",size:this.size,value:this.searchQuery,placeholder:this.searchPlaceholder,onValueChange:this.handleSearchInput})),i("slot",{key:"xv-dropdown-options"})),t&&i("p",{key:"c4c7c338fa2d99eeb252d24a9a79f50d0315feb0",class:"helper"},t.text))}componentDidLoad(){this.syncOpenState(),this.multiple&&this.multipleChangeHandle(),this.defaultValue&&(this.value=this.defaultValue)}_appliedPosition(){return"auto"===this.position?this.resolvedPosition:this.position}componentDidRender(){if(this.open&&this.pendingOpenInit&&this.initOpenState(),!this.open||"auto"!==this.position||"ghost"!==this.variant||!this.optionsEl||this.positionMeasured)return;this.positionMeasured=!0;const t=this.optionsEl.getBoundingClientRect(),e=this._clipBounds();let o=this.resolvedPosition;"left"===this.resolvedPosition&&t.right>e.right?o="right":"right"===this.resolvedPosition&&t.left<e.left&&(o="left"),o!==this.resolvedPosition&&(this.resolvedPosition=o)}_clipBounds(){let t=this.el.parentNode;for(;t;)if(t instanceof ShadowRoot)t=t.host;else{if(t instanceof e){const e=getComputedStyle(t).overflowX;if("hidden"===e||"auto"===e||"scroll"===e||"clip"===e){const e=t.getBoundingClientRect();return{left:e.left,right:e.right}}}t=t.parentNode}return{left:0,right:document.documentElement.clientWidth}}disconnectedCallback(){this.removeListeners(),clearTimeout(this.searchTimeout)}_renderIcon(){return this.loading?i("xv-loader-v2",{class:"control_icon error",size:n.XS}):this.error?i("svg",{class:"control_icon error",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},i("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"})):!this.error&&this.warning?i("svg",{class:"control_icon warning",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},i("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"})):void 0}get el(){return this}static get watchers(){return{open:[{openChangeHandle:0}],multiple:[{multipleChangeHandle:0}],value:[{valueChange:1}]}}static get style(){return':host{--dropdown-height:40px;--dropdown-padding-x:16px;--dropdown-padding-y:11px;--dropdown-max-width:100%;--dropdown-visible-items:6;--dropdown-ghost-width:min-content;display:block;box-sizing:border-box;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, Work Sans), sans-serif;font-size:12px;font-style:normal;font-weight:400;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, Work Sans), sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:0.32px}:host .label_info{margin-left:var(--spacing-02)}:host .control{background-blend-mode:multiply;border-radius:3px;border:1px solid var(--border-subtle-01);transition:0.2s ease-in-out background-color;cursor:pointer;margin:0;box-sizing:border-box;font-family:inherit;font-size:100%;padding: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:var(--dropdown-height);outline:none;padding-block:0;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(--ff-body, Work Sans), sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:0.16px;padding-inline:0 1rem}:host .control_count{margin-right:var(--spacing--03, 8px)}:host .control_placeholder{color:var(--text-primary, #333)}:host .control_icon{width:16px;height:16px;margin-right:5px}: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:min(16px, 1em);inline-size:min(16px, 1em);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 .control.readonly{outline-color:transparent;background:var(--field-01, #F7F7F7);background-blend-mode:multiply;cursor:default}:host .control.readonly .control_value{color:var(--text-secondary)}:host .control.readonly .control_arrow{display:none}:host .options{inset-block-start:100%;margin-block-start:1px;display:block;line-height:16px;max-block-size:calc(1lh * var(--dropdown-visible-items) + var(--dropdown-padding-y) * 12);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_search{position:sticky;top:0;z-index:2;background:linear-gradient(to bottom, var(--field-02, #FFF) 0%, var(--field-02, #FFF) 85%, transparent 100%);padding:var(--dropdown-padding-y) var(--dropdown-padding-x)}:host .options.right{left:unset;right:0}: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, Work Sans), sans-serif;font-size:var(--fz-md, 14px);font-style:normal;font-weight:400;line-height:1lh;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;top:0;height:1px;left:10px;width:calc(100% - 20px);background-color:var(--border-subtle-01)}:host .options ::slotted(.xv-dropdown-item:not([hidden]):first-child):after{display:none}:host .options ::slotted(.xv-dropdown-item:hover),:host .options ::slotted(.xv-dropdown-item[active]){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[hidden]){display:none}: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"), sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:0.32px;margin:4px 0 0;padding:0}:host(.ghost) .control{background-color:transparent;box-shadow:none;border:none;padding:0;block-size:auto}:host(.ghost) .control_value{padding-inline-end:5px}:host(.ghost) .options{width:var(--dropdown-ghost-width)}: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(:focus){outline:none}:host(:focus-visible){outline:none}:host(:focus-visible) .control{outline:2px solid var(--focus)}: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-height:16px}:host([size=sm]){--dropdown-height:32px}:host([size=md]){--dropdown-height:40px}:host([size=lg]){--dropdown-height:48px}:host([size=xl]){--dropdown-height:60px}'}},[257,"xv-dropdown-v2",{search:[516],disabled:[516],multiple:[516],required:[516],loading:[516],readonly:[516],open:[1540],error:[520],label:[513],helper:[513],warning:[513],placeholder:[513],info:[1],searchPlaceholder:[1,"search-placeholder"],size:[1],defaultValue:[8,"default-value"],value:[1032],variant:[1],position:[1],selected:[32],selectedMap:[32],resolvedPosition:[32]},[[0,"itemSelected","handleItemSelected"],[0,"keydown","handleKeyDown"]],{open:[{openChangeHandle:0}],multiple:[{multipleChangeHandle:0}],value:[{valueChange:1}]}]);function b(){"undefined"!=typeof customElements&&["xv-dropdown-v2","xv-loader-v2","xv-tag-v2","xv-text-input-v2","xv-tooltip-v2"].forEach((t=>{switch(t){case"xv-dropdown-v2":customElements.get(r(t))||customElements.define(r(t),g);break;case"xv-loader-v2":customElements.get(r(t))||d();break;case"xv-tag-v2":customElements.get(r(t))||c();break;case"xv-text-input-v2":customElements.get(r(t))||p();break;case"xv-tooltip-v2":customElements.get(r(t))||v()}}))}b();const x=g,m=b;export{x as XvDropdownV2,m as defineCustomElement}
1
+ import{p as t,H as e,c as o,h as i,a as s,t as r}from"./p-CspyoLL9.js";import{S as n}from"./p-HjYAjHna.js";import{f as a,r as l,s as h}from"./index.js";import{d}from"./p-Dwbe941A.js";import{d as c}from"./p-DNRISLNf.js";import{d as p}from"./p-DFe9Mtw_.js";import{d as v}from"./p-DFtMwE-h.js";const f=".xv-dropdown-item";let u=0;const g=t(class extends e{constructor(t){super(),!1!==t&&this.__registerHost(),this.__attachShadow(),this.changeSelection=o(this,"changeSelection",7),this.openChange=o(this,"openChange",3),this.searchPlaceholder="Suchen",this.size=n.MD,this.variant="default",this.position="auto",this.selected=[],this.selectedMap=new Map,this.resolvedPosition="left",this.positionMeasured=!1,this.listboxId="xv-dd-listbox-"+u++,this.optIdSeq=0,this.activeItem=null,this.pendingOpenInit=!1,this.searchQuery="",this.dropdownItems=[],this.setSelected=(t,e)=>{const o=Array.from(t.values()),i=e||this.el.querySelectorAll(f);return this.selected=this.multiple&&o.length===i.length?["Alle ausgewählt"]:o.length>1?["ausgewählt"]:o.map((t=>t.text)),o},this.handleOpen=()=>{this.disabled||this.loading||this.readonly||(this.open=!this.open)},this.handleClickOutside=t=>{this.open&&!this.el.contains(t.target)&&this.open&&(this.open=!1)},this.addListeners=()=>{document.addEventListener("click",this.handleClickOutside,{capture:!0})},this.removeListeners=()=>{document.removeEventListener("click",this.handleClickOutside,{capture:!0})},this.getNavigableItems=()=>Array.from(this.el.querySelectorAll(f)).filter((t=>!t.hasAttribute("hidden")&&!t.hasAttribute("disabled"))),this.moveActive=t=>{const e=this.getNavigableItems();if(!e.length)return;let o=(this.activeItem?e.indexOf(this.activeItem):-1)+t;o<0?o=e.length-1:o>=e.length&&(o=0),this.setActiveItem(e[o])},this.setActiveByEdge=t=>{const e=this.getNavigableItems();e.length&&this.setActiveItem("first"===t?e[0]:e[e.length-1])},this.setActiveItem=(t,e=!0)=>{var o;this.activeItem!==t&&(null===(o=this.activeItem)||void 0===o||o.removeAttribute("active"),this.activeItem=t,t?(t.id||(t.id=`${this.listboxId}-opt-${this.optIdSeq++}`),t.setAttribute("active",""),this.el.setAttribute("aria-activedescendant",t.id),e&&t.scrollIntoView({block:"nearest"})):this.el.removeAttribute("aria-activedescendant"))},this.clearHandle=()=>{const t=this.el.querySelectorAll(f);a(t,(t=>h(t,"selected",!1))),this.selectedMap.clear(),this.changeSelection.emit(this.setSelected(this.selectedMap,t))},this.cacheItems=()=>{if(!this.search)return;const t=this.el.querySelectorAll(f);this.dropdownItems=Array.from(t).map((t=>{var e;return{el:t,text:(null===(e=t.textContent)||void 0===e?void 0:e.toLowerCase())||""}}))},this.handleSearchInput=t=>{this.searchQuery=t.target.value.toLowerCase(),clearTimeout(this.searchTimeout),this.searchTimeout=setTimeout((()=>{var t;for(const{el:t,text:e}of this.dropdownItems)t.toggleAttribute("hidden",!e.includes(this.searchQuery));(null===(t=this.activeItem)||void 0===t?void 0:t.hasAttribute("hidden"))&&this.setActiveByEdge("first")}),200)},this.resetSearch=()=>{if(clearTimeout(this.searchTimeout),this.search){this.searchQuery="",this.searchInputEl&&(this.searchInputEl.value="");for(const{el:t}of this.dropdownItems)t.removeAttribute("hidden")}},this.initOpenState=()=>{var t,e,o;this.pendingOpenInit=!1;const i=this.getNavigableItems(),s=i.find((t=>t.hasAttribute("selected")));this.setActiveItem(s||i[0]||null,!1),this.search?null===(o=null===(e=null===(t=this.searchInputEl)||void 0===t?void 0:t.shadowRoot)||void 0===e?void 0:e.querySelector("input"))||void 0===o||o.focus():this.el.focus()}}openChangeHandle(){this.syncOpenState(),this.openChange.emit(!!this.open)}syncOpenState(){this.disabled||(this.open?(this.cacheItems(),this.addListeners(),this.pendingOpenInit=!0):(this.removeListeners(),this.resolvedPosition="left",this.positionMeasured=!1,this.pendingOpenInit=!1,this.setActiveItem(null),this.resetSearch()))}multipleChangeHandle(){a(this.el.querySelectorAll(f),(t=>{h(t,"size",this.size),this.multiple&&h(t,"multiple",this.multiple)}))}valueChange(){const t=Array.isArray(this.value)?this.value:this.value?[this.value]:[],e=this.el.querySelectorAll(f);if(!t||!(null==t?void 0:t.length))return this.selectedMap.size>0&&this.clearHandle(),void this.setSelected(this.selectedMap,e);if(t.every((t=>this.selectedMap.has(t))))return;const o=new Set(t);a(e,(t=>{const e=t.getAttribute("value"),i={value:e,text:t.innerText||"",selected:o.has(Number(e))||o.has(e)};h(t,"selected",i.selected),i.selected?this.selectedMap.set(i.value,i):this.selectedMap.delete(i.value)})),this.setSelected(this.selectedMap,e)}handleItemSelected({detail:t}){const e=this.selectedMap.has(t.value);if(this.multiple){if(t.selected)e||this.selectedMap.set(t.value,t);else if(e){if(this.required&&1===this.selectedMap.size)return;this.selectedMap.delete(t.value)}}else t.selected?(this.selectedMap.clear(),this.selectedMap.set(t.value,t)):this.required||this.selectedMap.clear(),this.open=!1;const o=this.el.querySelectorAll(f);a(o,(t=>h(t,"selected",this.selectedMap.has(t.getAttribute("value"))))),this.changeSelection.emit(this.setSelected(this.selectedMap,o))}handleKeyDown(t){var e,o;if(!(this.disabled||this.readonly||this.loading))if(this.open)switch(t.key){case"ArrowDown":t.preventDefault(),this.moveActive(1);break;case"ArrowUp":t.preventDefault(),this.moveActive(-1);break;case"Home":t.preventDefault(),this.setActiveByEdge("first");break;case"End":t.preventDefault(),this.setActiveByEdge("last");break;case"Enter":t.preventDefault(),null===(e=this.activeItem)||void 0===e||e.click();break;case" ":case"Spacebar":this.search||(t.preventDefault(),null===(o=this.activeItem)||void 0===o||o.click());break;case"Escape":t.preventDefault(),this.open=!1,this.el.focus();break;case"Tab":this.open=!1}else["ArrowDown","ArrowUp","Enter"," ","Spacebar"].includes(t.key)&&(t.preventDefault(),this.open=!0)}render(){const t=l({error:this.error,warning:this.warning,helper:this.helper});return i(s,{key:"ffd252c6112970b1565cd9f809cb956a5bded4a9",class:{"xv-dropdown":!0,[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)&&i("label",{key:"04f62e12c19581aadc33843341e29c6ae9e12912",class:"label"},i("slot",{key:"88fad2d06822b03cfd50ed63777058bf7d3fbf32",name:"label"},this.label),this.info&&i("xv-tooltip-v2",{key:"f80d2fae5d0ff00b8aebb467c1c7cd98fa6ed5ae",class:"label_info",message:this.info})),i("div",{key:"7ee7529055e1171085d082fb9ae4e6ad66ea99c6",class:{"xv-dropdown-control control":!0,readonly:!!this.readonly},onClick:this.handleOpen},this.multiple&&this.selectedMap.size>0&&i("xv-tag-v2",{key:"2d45049f0ed128be4d885d61a95f3a4222c89da1",class:"control_count",onClick:t=>t.stopPropagation(),onCloseClick:this.clearHandle,closeable:!this.required,bg:"var(--background-inverse)",color:"var(--icon-inverse)"},this.selectedMap.size),this.selected.length?i("p",{class:"control_value"},this.selected.join(", ")):i("p",{class:"control_placeholder"},this.placeholder||""),this._renderIcon(),i("svg",{key:"d6bf588cf8194ae1ddb3dfc18aeb6d2fdc521f8f",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"},i("path",{key:"adb109cd581f50176605874f1e168f3fc08845c8",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&&i("div",{key:"65c9da0a6349271e22c55f3cc0a6731c08de3260",ref:t=>this.optionsEl=t,id:this.listboxId,role:"listbox","aria-multiselectable":this.multiple?"true":null,class:{options:!0,right:"right"===this._appliedPosition(),search:!!this.search}},this.search&&i("div",{key:"e4d99b2e900ff65baa60ef67150d9bea91f1c6e4",class:"options_search"},i("xv-text-input-v2",{key:"f01b9c8716200774b4248592606c13c3c6210336",type:"search",ref:t=>this.searchInputEl=t,block:!0,autocomplete:"off",size:this.size,value:this.searchQuery,placeholder:this.searchPlaceholder,onValueChange:this.handleSearchInput})),i("slot",{key:"xv-dropdown-options"})),t&&i("p",{key:"c4c7c338fa2d99eeb252d24a9a79f50d0315feb0",class:"helper"},t.text))}componentDidLoad(){this.syncOpenState(),this.multiple&&this.multipleChangeHandle(),this.defaultValue&&(this.value=this.defaultValue)}_appliedPosition(){return"auto"===this.position?this.resolvedPosition:this.position}componentDidRender(){if(this.open&&this.pendingOpenInit&&this.initOpenState(),!this.open||"auto"!==this.position||"ghost"!==this.variant||!this.optionsEl||this.positionMeasured)return;this.positionMeasured=!0;const t=this.optionsEl.getBoundingClientRect(),e=this._clipBounds();let o=this.resolvedPosition;"left"===this.resolvedPosition&&t.right>e.right?o="right":"right"===this.resolvedPosition&&t.left<e.left&&(o="left"),o!==this.resolvedPosition&&(this.resolvedPosition=o)}_clipBounds(){let t=this.el.parentNode;for(;t;)if(t instanceof ShadowRoot)t=t.host;else{if(t instanceof e){const e=getComputedStyle(t).overflowX;if("hidden"===e||"auto"===e||"scroll"===e||"clip"===e){const e=t.getBoundingClientRect();return{left:e.left,right:e.right}}}t=t.parentNode}return{left:0,right:document.documentElement.clientWidth}}disconnectedCallback(){this.removeListeners(),clearTimeout(this.searchTimeout)}_renderIcon(){return this.loading?i("xv-loader-v2",{class:"control_icon error",size:n.XS}):this.error?i("svg",{class:"control_icon error",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},i("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"})):!this.error&&this.warning?i("svg",{class:"control_icon warning",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},i("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"})):void 0}get el(){return this}static get watchers(){return{open:[{openChangeHandle:0}],multiple:[{multipleChangeHandle:0}],value:[{valueChange:1}]}}static get style(){return':host{--dropdown-height:40px;--dropdown-padding-x:16px;--dropdown-padding-y:11px;--dropdown-max-width:100%;--dropdown-visible-items:6;--dropdown-ghost-width:min-content;display:block;box-sizing:border-box;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, Work Sans), sans-serif;font-size:12px;font-style:normal;font-weight:400;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, Work Sans), sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:0.32px}:host .label_info{margin-left:var(--spacing-02)}:host .control{background-blend-mode:multiply;border-radius:3px;border:1px solid var(--border-subtle-01);transition:0.2s ease-in-out background-color;cursor:pointer;margin:0;box-sizing:border-box;font-family:inherit;font-size:100%;padding: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:var(--dropdown-height);outline:none;padding-block:0;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(--ff-body, Work Sans), sans-serif;font-size:14px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:0.16px;padding-inline:0 1rem}:host .control_count{margin-right:var(--spacing--03, 8px)}:host .control_placeholder{color:var(--text-primary, #333)}:host .control_icon{width:16px;height:16px;margin-right:5px}: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:min(16px, 1em);inline-size:min(16px, 1em);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 .control.readonly{outline-color:transparent;background:var(--field-01, #F7F7F7);background-blend-mode:multiply;cursor:default}:host .control.readonly .control_value{color:var(--text-secondary)}:host .control.readonly .control_arrow{display:none}:host .options{inset-block-start:100%;margin-block-start:1px;display:block;line-height:16px;max-block-size:calc(1lh * var(--dropdown-visible-items) + var(--dropdown-padding-y) * 12);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_search{position:sticky;top:0;z-index:2;background:linear-gradient(to bottom, var(--field-02, #FFF) 0%, var(--field-02, #FFF) 85%, transparent 100%);padding:var(--dropdown-padding-y) var(--dropdown-padding-x)}:host .options.right{left:unset;right:0}: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, Work Sans), sans-serif;font-size:var(--fz-md, 14px);font-style:normal;font-weight:400;line-height:1lh;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;top:0;height:1px;left:10px;width:calc(100% - 20px);background-color:var(--border-subtle-01)}:host .options ::slotted(.xv-dropdown-item:not([hidden]):first-child):after{display:none}:host .options ::slotted(.xv-dropdown-item:hover),:host .options ::slotted(.xv-dropdown-item[active]){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[hidden]){display:none}: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"), sans-serif;font-size:12px;font-style:normal;font-weight:400;line-height:16px;letter-spacing:0.32px;margin:4px 0 0;padding:0}:host(.ghost) .control{background-color:transparent;box-shadow:none;border:none;padding:0;block-size:auto}:host(.ghost) .control_value{padding-inline-end:5px}:host(.ghost) .options{width:var(--dropdown-ghost-width)}: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(:focus){outline:none}:host(:focus-visible){outline:none}:host(:focus-visible) .control{outline:2px solid var(--focus)}: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-height:16px}:host([size=sm]){--dropdown-height:32px}:host([size=md]){--dropdown-height:40px}:host([size=lg]){--dropdown-height:48px}:host([size=xl]){--dropdown-height:60px}'}},[257,"xv-dropdown-v2",{search:[516],disabled:[516],multiple:[516],required:[516],loading:[516],readonly:[516],open:[1540],error:[520],label:[513],helper:[513],warning:[513],placeholder:[513],info:[1],searchPlaceholder:[1,"search-placeholder"],size:[1],defaultValue:[8,"default-value"],value:[1032],variant:[1],position:[1],selected:[32],selectedMap:[32],resolvedPosition:[32]},[[0,"itemSelected","handleItemSelected"],[0,"keydown","handleKeyDown"]],{open:[{openChangeHandle:0}],multiple:[{multipleChangeHandle:0}],value:[{valueChange:1}]}]);function b(){"undefined"!=typeof customElements&&["xv-dropdown-v2","xv-loader-v2","xv-tag-v2","xv-text-input-v2","xv-tooltip-v2"].forEach((t=>{switch(t){case"xv-dropdown-v2":customElements.get(r(t))||customElements.define(r(t),g);break;case"xv-loader-v2":customElements.get(r(t))||d();break;case"xv-tag-v2":customElements.get(r(t))||c();break;case"xv-text-input-v2":customElements.get(r(t))||p();break;case"xv-tooltip-v2":customElements.get(r(t))||v()}}))}b();const x=g,m=b;export{x as XvDropdownV2,m as defineCustomElement}
@@ -1 +1 @@
1
- import{p as e,H as r,c as t,h as i,a as s,F as o,t as a}from"./p-BNP2Lw34.js";import{S as n}from"./p-HjYAjHna.js";import{r as l}from"./index.js";import{d as c}from"./p-COoj5JkZ.js";import{d}from"./p-Dzz9jxLm.js";var h;!function(e){e.BUTTON="button",e.DRAG_DROP="drag-drop"}(h||(h={}));const p=e(class extends r{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.filesChange=t(this,"filesChange",7),this.fileRemoved=t(this,"fileRemoved",7),this.variant=h.BUTTON,this.size=n.MD,this.accept=[],this.buttonVariant="primary",this.maxFileSizeMB=5,this.maxFiles=20,this.multiple=!0,this.files=[],this.loadingStates=[],this.errors=[],this.dragActive=!1,this.errorMessages=[],this.internalError=null,this.onFileSelect=e=>{const r=Array.from(e.target.files||[]);this.handleFiles(r)},this.onDrop=e=>{var r;e.preventDefault(),this.dragActive=!1;const t=Array.from((null===(r=e.dataTransfer)||void 0===r?void 0:r.files)||[]);this.handleFiles(t)},this.handleFiles=e=>{const r=this.validation(this.multiple?[...this.files,...e]:e);this.filesChange.emit(r),this.files=r},this.onDragOver=e=>{e.preventDefault(),this.dragActive=!0},this.onDragLeave=()=>{this.dragActive=!1}}async clearFiles(){this.files=[],this.fileInput&&(this.fileInput.value="")}validation(e){const r=1024*this.maxFileSizeMB*1024,t=new Set,i=[],s=[];for(const o of e){let e=null;if(t.has(o.name))continue;t.add(o.name),s.push(o);const a=o.name.lastIndexOf("."),n=o.name.substring(a).toLowerCase();0===this.accept.length||this.accept.some((e=>e.toLowerCase()===n))?o.size>r&&(e=`File ${o.name} is too large.`):e="Unsupported file type.",i.push(e)}return this.internalError=s.length>this.maxFiles?`Only ${this.maxFiles} file(s) allowed.`:null,this.errorMessages=i,s}removeFile(e){this.files[e]&&this.fileRemoved.emit(this.files[e]),this.files=this.validation([...this.files.slice(0,e),...this.files.slice(e+1)]),this.filesChange.emit(this.files),this.fileInput&&(this.fileInput.value="")}render(){const e=this.error||this.internalError,r=l({error:e,warning:this.warning,helper:this.helper});return i(s,{key:"38d89056f08cc9a49c5b4a9c0b0b8feac52c0f96",class:{"upload-wrapper":!0,["uploader-"+this.size]:!0,disabled:!!this.disabled,error:!!e,warning:!!this.warning&&!e}},this.label&&i("label",{key:"4f3a31b58c3edb72a42384413818b72186401f6a",class:"label"},this.label),this.description&&i("p",{key:"9f0d4ec3007d468908f96a02b1cd218fae9fdbf3",class:"description"},this.description),"button"===this.variant?i("xv-button-v2",{class:"uploadBtn",variant:this.buttonVariant,disabled:this.disabled,onClick:()=>this.fileInput.click()},this.addText||"Dateien auswählen"):i("div",{class:{"drop-zone":!0,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."),i("input",{key:"47e8db2d58063890c8d2bf5ff841edc6443993a7",ref:e=>this.fileInput=e,type:"file",hidden:!0,onChange:this.onFileSelect,multiple:this.multiple,accept:this.accept.join(",")}),r&&i("p",{key:"b40b6fee11aeaf9a291463a6a55b05ad55db0104",class:{message:!0,[r.level]:!0}},"error"===r.level&&i("span",{key:"e86c31a7b65f75f060a173eb085cc92f120413ba",class:"status-icon error","aria-hidden":"true"},"!"),"warning"===r.level&&i("span",{key:"c9b71fc7f68dfce7677cd2336d4063507e2b1ef5",class:"status-icon warning","aria-hidden":"true"},"⚠"),r.text),i("ul",{key:"f0932bcf92f537f8eb9f9b63b90df9da1e625d7a",class:"file-list"},this.files.map(((e,r)=>{var t,s;return i("li",{class:{file:!0,withError:!(!(null===(t=this.errors)||void 0===t?void 0:t[r])&&!(null===(s=this.errorMessages)||void 0===s?void 0:s[r]))}},i("div",{class:"file_container"},i("span",{class:"file_container_name"},e.name),this._renderLoaderState(r)),this._renderError(r))}))))}_renderLoaderState(e){var r,t,s;const a=(null===(r=this.loadingStates)||void 0===r?void 0:r[e])||null,l=(null===(t=this.errors)||void 0===t?void 0:t[e])||(null===(s=this.errorMessages)||void 0===s?void 0:s[e])?i("svg",{class:"file_container_errorIcon",width:"16",height:"16",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},i("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;switch(a){case"loading":return i(o,null,l,i("xv-loader-v2",{size:n.XS}));case"success":return i(o,null,l,i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 18 16",fill:"none"},i("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"})),i("xv-button-v2",{variant:"ghost",size:n.XS,onClick:()=>this.removeFile(e)},i("span",{slot:"icon-left"},"×")));default:return i(o,null,l,i("xv-button-v2",{variant:"ghost",size:n.XS,onClick:()=>this.removeFile(e)},i("span",{slot:"icon-left"},"×")))}}_renderError(e){var r,t;const s=(null===(r=this.errors)||void 0===r?void 0:r[e])||(null===(t=this.errorMessages)||void 0===t?void 0:t[e]);if(s)return"object"==typeof s?i("div",{class:"error-container"},i("p",{class:"error-container_primary"},s.primary),i("p",{class:"error-container_secondary"},s.secondary)):"string"==typeof s?i("div",{class:"error-container"},i("p",{class:"error-container_primary"},s)):null}static get style(){return":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);white-space:pre-line}: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{min-height:90px;border:1px dashed var(--border-strong-01);background-color:transparent;color:var(--link-primary, #346800);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);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);white-space:pre-line}:host .message{display:flex;align-items:center;gap:var(--spacing-03);text-align:left;margin:0;padding:0 var(--spacing-05);font-size:0.858em;font-style:normal;font-weight:400;color:var(--text-helper, #646464)}:host .message.error{color:var(--text-error)}:host .message.warning{color:var(--text-secondary, #515151)}:host .message .status-icon{display:inline-flex;align-items:center;justify-content:center;flex:none}:host .message .status-icon.error{width:16px;height:16px;border-radius:8px;background-color:var(--support-error);color:white;font-size:12px;font-weight:bold}:host .message .status-icon.warning{color:var(--support-warning, #FF7F04);font-size:1.15em}:host(.disabled){pointer-events:none;opacity:0.6}:host(.disabled) .upload-btn,:host(.disabled) .drop-zone{cursor:not-allowed;background-color:var(--button-disabled);color:var(--text-on-color-disabled);border-color:var(--border-disabled)}:host(.disabled) .remove-btn{display:none}:host(.error) .uploadBtn{outline:1px solid var(--support-error);border-radius:0.285em}:host(.error) .drop-zone{border-color:var(--support-error)}:host(.warning) .uploadBtn{outline:1px solid var(--support-warning, #FF7F04);border-radius:0.285em}:host(.warning) .drop-zone{border-color:var(--support-warning, #FF7F04)}: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}"}},[1,"xv-file-uploader",{label:[1],description:[1],addText:[1,"add-text"],variant:[1],size:[1],accept:[16],buttonVariant:[1,"button-variant"],maxFileSizeMB:[2,"max-file-size-mb"],maxFiles:[2,"max-files"],multiple:[4],disabled:[516],files:[1040],loadingStates:[1040],error:[1537],warning:[8],helper:[1],errors:[1040],dragActive:[32],errorMessages:[32],internalError:[32],clearFiles:[64]}]);function f(){"undefined"!=typeof customElements&&["xv-file-uploader","xv-button-v2","xv-loader-v2"].forEach((e=>{switch(e){case"xv-file-uploader":customElements.get(a(e))||customElements.define(a(e),p);break;case"xv-button-v2":customElements.get(a(e))||c();break;case"xv-loader-v2":customElements.get(a(e))||d()}}))}f();const u=p,v=f;export{u as XvFileUploader,v as defineCustomElement}
1
+ import{p as e,H as r,c as t,h as i,a as s,F as o,t as a}from"./p-CspyoLL9.js";import{S as n}from"./p-HjYAjHna.js";import{r as l}from"./index.js";import{d as c}from"./p-D4FwGeDJ.js";import{d}from"./p-Dwbe941A.js";var h;!function(e){e.BUTTON="button",e.DRAG_DROP="drag-drop"}(h||(h={}));const p=e(class extends r{constructor(e){super(),!1!==e&&this.__registerHost(),this.__attachShadow(),this.filesChange=t(this,"filesChange",7),this.fileRemoved=t(this,"fileRemoved",7),this.variant=h.BUTTON,this.size=n.MD,this.accept=[],this.buttonVariant="primary",this.maxFileSizeMB=5,this.maxFiles=20,this.multiple=!0,this.files=[],this.loadingStates=[],this.errors=[],this.dragActive=!1,this.errorMessages=[],this.internalError=null,this.onFileSelect=e=>{const r=Array.from(e.target.files||[]);this.handleFiles(r)},this.onDrop=e=>{var r;e.preventDefault(),this.dragActive=!1;const t=Array.from((null===(r=e.dataTransfer)||void 0===r?void 0:r.files)||[]);this.handleFiles(t)},this.handleFiles=e=>{const r=this.validation(this.multiple?[...this.files,...e]:e);this.filesChange.emit(r),this.files=r},this.onDragOver=e=>{e.preventDefault(),this.dragActive=!0},this.onDragLeave=()=>{this.dragActive=!1}}async clearFiles(){this.files=[],this.fileInput&&(this.fileInput.value="")}validation(e){const r=1024*this.maxFileSizeMB*1024,t=new Set,i=[],s=[];for(const o of e){let e=null;if(t.has(o.name))continue;t.add(o.name),s.push(o);const a=o.name.lastIndexOf("."),n=o.name.substring(a).toLowerCase();0===this.accept.length||this.accept.some((e=>e.toLowerCase()===n))?o.size>r&&(e=`File ${o.name} is too large.`):e="Unsupported file type.",i.push(e)}return this.internalError=s.length>this.maxFiles?`Only ${this.maxFiles} file(s) allowed.`:null,this.errorMessages=i,s}removeFile(e){this.files[e]&&this.fileRemoved.emit(this.files[e]),this.files=this.validation([...this.files.slice(0,e),...this.files.slice(e+1)]),this.filesChange.emit(this.files),this.fileInput&&(this.fileInput.value="")}render(){const e=this.error||this.internalError,r=l({error:e,warning:this.warning,helper:this.helper});return i(s,{key:"38d89056f08cc9a49c5b4a9c0b0b8feac52c0f96",class:{"upload-wrapper":!0,["uploader-"+this.size]:!0,disabled:!!this.disabled,error:!!e,warning:!!this.warning&&!e}},this.label&&i("label",{key:"4f3a31b58c3edb72a42384413818b72186401f6a",class:"label"},this.label),this.description&&i("p",{key:"9f0d4ec3007d468908f96a02b1cd218fae9fdbf3",class:"description"},this.description),"button"===this.variant?i("xv-button-v2",{class:"uploadBtn",variant:this.buttonVariant,disabled:this.disabled,onClick:()=>this.fileInput.click()},this.addText||"Dateien auswählen"):i("div",{class:{"drop-zone":!0,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."),i("input",{key:"47e8db2d58063890c8d2bf5ff841edc6443993a7",ref:e=>this.fileInput=e,type:"file",hidden:!0,onChange:this.onFileSelect,multiple:this.multiple,accept:this.accept.join(",")}),r&&i("p",{key:"b40b6fee11aeaf9a291463a6a55b05ad55db0104",class:{message:!0,[r.level]:!0}},"error"===r.level&&i("span",{key:"e86c31a7b65f75f060a173eb085cc92f120413ba",class:"status-icon error","aria-hidden":"true"},"!"),"warning"===r.level&&i("span",{key:"c9b71fc7f68dfce7677cd2336d4063507e2b1ef5",class:"status-icon warning","aria-hidden":"true"},"⚠"),r.text),i("ul",{key:"f0932bcf92f537f8eb9f9b63b90df9da1e625d7a",class:"file-list"},this.files.map(((e,r)=>{var t,s;return i("li",{class:{file:!0,withError:!(!(null===(t=this.errors)||void 0===t?void 0:t[r])&&!(null===(s=this.errorMessages)||void 0===s?void 0:s[r]))}},i("div",{class:"file_container"},i("span",{class:"file_container_name"},e.name),this._renderLoaderState(r)),this._renderError(r))}))))}_renderLoaderState(e){var r,t,s;const a=(null===(r=this.loadingStates)||void 0===r?void 0:r[e])||null,l=(null===(t=this.errors)||void 0===t?void 0:t[e])||(null===(s=this.errorMessages)||void 0===s?void 0:s[e])?i("svg",{class:"file_container_errorIcon",width:"16",height:"16",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 512 512"},i("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;switch(a){case"loading":return i(o,null,l,i("xv-loader-v2",{size:n.XS}));case"success":return i(o,null,l,i("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 18 16",fill:"none"},i("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"})),i("xv-button-v2",{variant:"ghost",size:n.XS,onClick:()=>this.removeFile(e)},i("span",{slot:"icon-left"},"×")));default:return i(o,null,l,i("xv-button-v2",{variant:"ghost",size:n.XS,onClick:()=>this.removeFile(e)},i("span",{slot:"icon-left"},"×")))}}_renderError(e){var r,t;const s=(null===(r=this.errors)||void 0===r?void 0:r[e])||(null===(t=this.errorMessages)||void 0===t?void 0:t[e]);if(s)return"object"==typeof s?i("div",{class:"error-container"},i("p",{class:"error-container_primary"},s.primary),i("p",{class:"error-container_secondary"},s.secondary)):"string"==typeof s?i("div",{class:"error-container"},i("p",{class:"error-container_primary"},s)):null}static get style(){return":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);white-space:pre-line}: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{min-height:90px;border:1px dashed var(--border-strong-01);background-color:transparent;color:var(--link-primary, #346800);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);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);white-space:pre-line}:host .message{display:flex;align-items:center;gap:var(--spacing-03);text-align:left;margin:0;padding:0 var(--spacing-05);font-size:0.858em;font-style:normal;font-weight:400;color:var(--text-helper, #646464)}:host .message.error{color:var(--text-error)}:host .message.warning{color:var(--text-secondary, #515151)}:host .message .status-icon{display:inline-flex;align-items:center;justify-content:center;flex:none}:host .message .status-icon.error{width:16px;height:16px;border-radius:8px;background-color:var(--support-error);color:white;font-size:12px;font-weight:bold}:host .message .status-icon.warning{color:var(--support-warning, #FF7F04);font-size:1.15em}:host(.disabled){pointer-events:none;opacity:0.6}:host(.disabled) .upload-btn,:host(.disabled) .drop-zone{cursor:not-allowed;background-color:var(--button-disabled);color:var(--text-on-color-disabled);border-color:var(--border-disabled)}:host(.disabled) .remove-btn{display:none}:host(.error) .uploadBtn{outline:1px solid var(--support-error);border-radius:0.285em}:host(.error) .drop-zone{border-color:var(--support-error)}:host(.warning) .uploadBtn{outline:1px solid var(--support-warning, #FF7F04);border-radius:0.285em}:host(.warning) .drop-zone{border-color:var(--support-warning, #FF7F04)}: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}"}},[1,"xv-file-uploader",{label:[1],description:[1],addText:[1,"add-text"],variant:[1],size:[1],accept:[16],buttonVariant:[1,"button-variant"],maxFileSizeMB:[2,"max-file-size-mb"],maxFiles:[2,"max-files"],multiple:[4],disabled:[516],files:[1040],loadingStates:[1040],error:[1537],warning:[8],helper:[1],errors:[1040],dragActive:[32],errorMessages:[32],internalError:[32],clearFiles:[64]}]);function f(){"undefined"!=typeof customElements&&["xv-file-uploader","xv-button-v2","xv-loader-v2"].forEach((e=>{switch(e){case"xv-file-uploader":customElements.get(a(e))||customElements.define(a(e),p);break;case"xv-button-v2":customElements.get(a(e))||c();break;case"xv-loader-v2":customElements.get(a(e))||d()}}))}f();const u=p,v=f;export{u as XvFileUploader,v as defineCustomElement}
@@ -1 +1 @@
1
- import{p as e,H as t,h as i,t as s}from"./p-BNP2Lw34.js";import{c as o,b as r}from"./index.js";const a=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.openCookieSettings=e=>{var t;e.preventDefault(),null===(t=window.__cmp)||void 0===t||t.call(window,"showScreenAdvanced")}}async handleLoadData(){const e="https://xvsitefinitystorage.blob.core.windows.net/production/components/xv-footer/",t=o()||"Xv";try{return void(this.data=await r.get(`${e}xv-footer.data.${t}.json`,{raw:!0}))}catch(e){if(console.warn(`Failed to fetch footer data for ${t}, using fallback:`,e),"Xv"===t)return}try{this.data=await r.get(e+"xv-footer.data.Xv.json",{raw:!0})}catch(e){console.error("Fallback footer load failed:",e)}}componentWillLoad(){this.handleLoadData()}render(){const{categories:e,socials:t,logo:s,legalLinks:o,payments:r,partners:a,advantages:n}=this.data||{},p=(null==e?void 0:e.length)||(null==a?void 0:a.length)||(null==r?void 0:r.length)||(null==t?void 0:t.length);return i("footer",{key:"e9d5fdd72c66e2aa8dcf2aa1476bb35a6e8f221f",class:"xv-footer"},(null==n?void 0:n.length)>0&&i("div",{key:"4b4fa212fa6259a4d945d4915b813438df64ac43",class:"xv-footer-advantages"},i("div",{key:"59c046d574643edd48db489996857d3a9d081bcb",class:"xv-container"},this._renderFooterList(n,{itemWithLabel:!0}))),p&&i("div",{key:"31d763dee1d64bc46fd90006043d230de822bb11",class:"xv-container"},i("div",{key:"439e3e8b16736ceed80f8bedc86b0e1c119bf5f3",class:"xv-footer__grid xv-footer-y-spacing"},i("div",{key:"bda68bf9622c6be55e64e71df2a03cf03866ba46",class:"xv-footer__col-main"},i("ul",{key:"0968cd0012d25b6b43027af448d212bdb3142758",class:"xv-footer-categories"},null==e?void 0:e.map((e=>i("li",null,i("p",{class:"xv-label-02"},e.label),i("ul",{class:"xv-footer-routes"},e.routes.map((e=>i("li",null,i("a",{class:"xv-body-compact-02",href:e.href,target:e.target},e.label)))))))))),i("div",{key:"df7b625fd13a67e172dae2b4b0dc17c8cceaa736",class:"xv-footer__col-sidebar"},this._renderFooterList(a,{label:"crossvertise Partner"}),this._renderFooterList(r,{label:"Bequem und sicher bezahlen"}),this._renderFooterList(t,{label:"Folgen Sie uns",isRow:!0})))),(null==o?void 0:o.length)>0&&i("div",{key:"b6a6f48cb088c4f0b5bce548abf982298eb665ce",class:"xv-footer-legal"},i("div",{key:"04ee9e1ec40483ca868656c8f954d04fb7f30517",class:"xv-container"},i("div",{key:"0770b69fa320f81a3106ac22e8bd7e7f8679f46e",class:"xv-footer-legal-row"},s&&i("a",{key:"dd390151271c30715ddb1f2109b139f2d86391f9",class:"xv-footer-logo",href:s.href,target:s.target},s.label&&i("span",{key:"b9bcc8cf09d1cf240c39350b4f98a127b4de05a6",class:"xv-label-02"},s.label),i("img",{key:"75c4e27c7782dfe0fae543e7eaa06fd88311c8b3",loading:"lazy",src:s.image,alt:s.label})),i("ul",{key:"4eafd6a2a7cdd3b105e9c27fa17bc6d65efefc21"},o.map((e=>i("li",null,i("a","Cookie Einstellungen"===e.label?{class:"xv-helper-text-02",onClick:this.openCookieSettings}:{class:"xv-helper-text-02",href:e.href,target:e.target},e.label)))))))))}_renderFooterList(e=[],t){if(!(null==e?void 0:e.length))return null;const s=i("ul",null,e.map((e=>i("li",null,i("a",{href:null==e?void 0:e.href,target:e.target},e.icon&&i("i",{class:{fa:!0,[e.icon]:!0}}),e.image&&i("img",{src:e.image,alt:e.label}),(null==t?void 0:t.itemWithLabel)&&e.label&&i("span",{class:"xv-body-02"},e.label))))));return(null==t?void 0:t.label)?i("div",{class:{"footer-grid":!0,"footer-grid--row":!!(null==t?void 0:t.isRow)}},i("p",{class:"xv-heading-compact-02"},t.label),s):s}static get style(){return'.xv-container{width:100%;max-width:1170px;margin-inline:auto}@media (min-width: 576px){.xv-container{max-width:540px}}@media (min-width: 768px){.xv-container{max-width:720px}}@media (min-width: 992px){.xv-container{max-width:960px;padding-inline:var(--bs-gutter-x, 0.75rem)}}@media (min-width: 1200px){.xv-container{max-width:1140px}}@media (min-width: 1400px){.xv-container{max-width:1320px}}.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:0 0;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}.container-footer{min-height:75px}.footer-static{border-top:solid 1px #eaeaea;padding-top:30px}.xv-footer__grid{display:grid;grid-template-columns:1fr}@media (min-width: 768px){.xv-footer__grid{grid-template-columns:8fr 3fr;column-gap:var(--spacing-07, 32px)}}.xv-footer{display:block;border-top:1px solid var(--layer-01, #F7F7F7) !important;background:var(--layer-01, #F7F7F7) !important;--ff-body:var(--ff-work-sans)}.xv-footer-advantages{border-bottom:1px solid var(--border-subtle-01, #D1D1D1);background:var(--highlight-01, #CEDE94);display:block}.xv-footer-advantages ul{margin:0;padding:var(--spacing-05, 16px);gap:var(--spacing-05, 16px);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;list-style:none}@media (max-width: 991px){.xv-footer-advantages ul{display:grid;grid-template-columns:repeat(2, 1fr);justify-items:center}}.xv-footer-advantages ul>li>a{display:flex;flex-direction:column;align-items:center;justify-content:center;row-gap:var(--spacing-06, 24px);min-width:min(182px, 40vw);width:min(182px, 40vw);text-align:center;text-decoration:none}.xv-footer-advantages ul>li>a>img,.xv-footer-advantages ul>li>a>i{width:32px;font-size:32px;block-size:32px;color:var(--icon-primary);object-fit:contain}.xv-footer-advantages ul>li>a>img{font-size:var(--fz-sm, 12px)}.xv-footer-advantages ul>li>a>span{color:var(--text-primary, #333);font-feature-settings:"liga" off, "clig" off}.xv-footer-categories{list-style:none;padding:0;margin:0 0 var(--spacing-06, 24px);display:flex;flex:1;justify-content:space-between;row-gap:var(--spacing-06, 24px);column-gap:var(--spacing-09)}@media (max-width: 768px){.xv-footer-categories{display:grid;grid-template-columns:repeat(2, 1fr)}}.xv-footer-categories>li{display:flex;flex-direction:column;row-gap:var(--sapcing-05, 16px);max-width:203px}.xv-footer-routes{list-style:none;margin:0;padding:0;display:flex;row-gap:var(--spacing-05, 16px);flex-direction:column}.xv-footer-routes a{color:var(--interactive-01, #273435)}.xv-footer-legal{background:var(--layer-accent-02, #E3E3E3)}.xv-footer-legal-row{display:flex;align-items:center;text-align:center;gap:var(--spacing-05);padding:var(--spacing-09) var(--spacing-05)}@media (max-width: 768px){.xv-footer-legal-row{padding-block:var(--spacing-05);flex-direction:column;justify-content:center}}.xv-footer-legal-row a.xv-helper-text-02{cursor:pointer}.xv-footer-legal-row .xv-footer-logo{text-decoration:none;display:inline-flex;align-items:center;gap:var(--spacing-03);color:var(--text-primary)}.xv-footer-legal-row .xv-footer-logo>img{width:160px}.xv-footer-legal ul{flex:1;padding:0;margin:0 auto;list-style:none;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;max-width:600px;align-self:center}.xv-footer-legal ul>li{display:inline-flex;align-items:center;color:var(--text-secondary, #515151)}.xv-footer-legal ul>li:not(:last-child):after{display:inline-flex;margin-inline:var(--spacing-02);content:"|"}.xv-footer-legal ul>li>*{color:inherit}.xv-footer .footer-grid{display:flex;flex-direction:column;row-gap:var(--spacing-05, 16px)}.xv-footer .footer-grid:not(:last-child){margin-block-end:var(--spacing-06, 24px)}.xv-footer .footer-grid>ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--spacing-05);grid-template-columns:repeat(3, 1fr);justify-items:center}.xv-footer .footer-grid>ul>li{display:flex;align-items:center;justify-content:center;flex-direction:column;width:60px;font-size:60px;block-size:60px}.xv-footer .footer-grid>ul>li>a,.xv-footer .footer-grid>ul>li>a>img,.xv-footer .footer-grid>ul>li>a>i,.xv-footer .footer-grid>ul>li>img,.xv-footer .footer-grid>ul>li>i{text-decoration:none;display:block;width:inherit;font-size:inherit;block-size:inherit;color:var(--icon-primary);object-fit:contain}.xv-footer .footer-grid>ul>li>a>img,.xv-footer .footer-grid>ul>li>img{font-size:var(--fz-sm, 12px);text-align:center}.xv-footer .footer-grid>ul>li>span{color:var(--text-primary, #333);font-feature-settings:"liga" off, "clig" off}.xv-footer .footer-grid--row>ul{display:flex;flex-direction:row;justify-content:space-between;flex:1}.xv-footer .footer-grid--row>ul>li{width:24px;block-size:24px;font-size:24px}.xv-footer-y-spacing{margin-block:var(--spacing-07, 32px) var(--spacing-10, 64px)}.xv-footer .xv-label-02,.xv-footer .xv-heading-compact-02{margin:0;color:var(--text-secondary, #515151)}'}},[0,"xv-footer",{data:[32]},[[8,"xv:metaNav-update","handleLoadData"]]]);function n(){"undefined"!=typeof customElements&&["xv-footer"].forEach((e=>{"xv-footer"===e&&(customElements.get(s(e))||customElements.define(s(e),a))}))}n();const p=a,c=n;export{p as XvFooter,c as defineCustomElement}
1
+ import{p as e,H as t,h as i,t as s}from"./p-CspyoLL9.js";import{c as o,b as r}from"./index.js";const a=e(class extends t{constructor(e){super(),!1!==e&&this.__registerHost(),this.openCookieSettings=e=>{var t;e.preventDefault(),null===(t=window.__cmp)||void 0===t||t.call(window,"showScreenAdvanced")}}async handleLoadData(){const e="https://xvsitefinitystorage.blob.core.windows.net/production/components/xv-footer/",t=o()||"Xv";try{return void(this.data=await r.get(`${e}xv-footer.data.${t}.json`,{raw:!0}))}catch(e){if(console.warn(`Failed to fetch footer data for ${t}, using fallback:`,e),"Xv"===t)return}try{this.data=await r.get(e+"xv-footer.data.Xv.json",{raw:!0})}catch(e){console.error("Fallback footer load failed:",e)}}componentWillLoad(){this.handleLoadData()}render(){const{categories:e,socials:t,logo:s,legalLinks:o,payments:r,partners:a,advantages:n}=this.data||{},p=(null==e?void 0:e.length)||(null==a?void 0:a.length)||(null==r?void 0:r.length)||(null==t?void 0:t.length);return i("footer",{key:"e9d5fdd72c66e2aa8dcf2aa1476bb35a6e8f221f",class:"xv-footer"},(null==n?void 0:n.length)>0&&i("div",{key:"4b4fa212fa6259a4d945d4915b813438df64ac43",class:"xv-footer-advantages"},i("div",{key:"59c046d574643edd48db489996857d3a9d081bcb",class:"xv-container"},this._renderFooterList(n,{itemWithLabel:!0}))),p&&i("div",{key:"31d763dee1d64bc46fd90006043d230de822bb11",class:"xv-container"},i("div",{key:"439e3e8b16736ceed80f8bedc86b0e1c119bf5f3",class:"xv-footer__grid xv-footer-y-spacing"},i("div",{key:"bda68bf9622c6be55e64e71df2a03cf03866ba46",class:"xv-footer__col-main"},i("ul",{key:"0968cd0012d25b6b43027af448d212bdb3142758",class:"xv-footer-categories"},null==e?void 0:e.map((e=>i("li",null,i("p",{class:"xv-label-02"},e.label),i("ul",{class:"xv-footer-routes"},e.routes.map((e=>i("li",null,i("a",{class:"xv-body-compact-02",href:e.href,target:e.target},e.label)))))))))),i("div",{key:"df7b625fd13a67e172dae2b4b0dc17c8cceaa736",class:"xv-footer__col-sidebar"},this._renderFooterList(a,{label:"crossvertise Partner"}),this._renderFooterList(r,{label:"Bequem und sicher bezahlen"}),this._renderFooterList(t,{label:"Folgen Sie uns",isRow:!0})))),(null==o?void 0:o.length)>0&&i("div",{key:"b6a6f48cb088c4f0b5bce548abf982298eb665ce",class:"xv-footer-legal"},i("div",{key:"04ee9e1ec40483ca868656c8f954d04fb7f30517",class:"xv-container"},i("div",{key:"0770b69fa320f81a3106ac22e8bd7e7f8679f46e",class:"xv-footer-legal-row"},s&&i("a",{key:"dd390151271c30715ddb1f2109b139f2d86391f9",class:"xv-footer-logo",href:s.href,target:s.target},s.label&&i("span",{key:"b9bcc8cf09d1cf240c39350b4f98a127b4de05a6",class:"xv-label-02"},s.label),i("img",{key:"75c4e27c7782dfe0fae543e7eaa06fd88311c8b3",loading:"lazy",src:s.image,alt:s.label})),i("ul",{key:"4eafd6a2a7cdd3b105e9c27fa17bc6d65efefc21"},o.map((e=>i("li",null,i("a","Cookie Einstellungen"===e.label?{class:"xv-helper-text-02",onClick:this.openCookieSettings}:{class:"xv-helper-text-02",href:e.href,target:e.target},e.label)))))))))}_renderFooterList(e=[],t){if(!(null==e?void 0:e.length))return null;const s=i("ul",null,e.map((e=>i("li",null,i("a",{href:null==e?void 0:e.href,target:e.target},e.icon&&i("i",{class:{fa:!0,[e.icon]:!0}}),e.image&&i("img",{src:e.image,alt:e.label}),(null==t?void 0:t.itemWithLabel)&&e.label&&i("span",{class:"xv-body-02"},e.label))))));return(null==t?void 0:t.label)?i("div",{class:{"footer-grid":!0,"footer-grid--row":!!(null==t?void 0:t.isRow)}},i("p",{class:"xv-heading-compact-02"},t.label),s):s}static get style(){return'.xv-container{width:100%;max-width:1170px;margin-inline:auto}@media (min-width: 576px){.xv-container{max-width:540px}}@media (min-width: 768px){.xv-container{max-width:720px}}@media (min-width: 992px){.xv-container{max-width:960px;padding-inline:var(--bs-gutter-x, 0.75rem)}}@media (min-width: 1200px){.xv-container{max-width:1140px}}@media (min-width: 1400px){.xv-container{max-width:1320px}}.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:0 0;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}.container-footer{min-height:75px}.footer-static{border-top:solid 1px #eaeaea;padding-top:30px}.xv-footer__grid{display:grid;grid-template-columns:1fr}@media (min-width: 768px){.xv-footer__grid{grid-template-columns:8fr 3fr;column-gap:var(--spacing-07, 32px)}}.xv-footer{display:block;border-top:1px solid var(--layer-01, #F7F7F7) !important;background:var(--layer-01, #F7F7F7) !important;--ff-body:var(--ff-work-sans)}.xv-footer-advantages{border-bottom:1px solid var(--border-subtle-01, #D1D1D1);background:var(--highlight-01, #CEDE94);display:block}.xv-footer-advantages ul{margin:0;padding:var(--spacing-05, 16px);gap:var(--spacing-05, 16px);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;list-style:none}@media (max-width: 991px){.xv-footer-advantages ul{display:grid;grid-template-columns:repeat(2, 1fr);justify-items:center}}.xv-footer-advantages ul>li>a{display:flex;flex-direction:column;align-items:center;justify-content:center;row-gap:var(--spacing-06, 24px);min-width:min(182px, 40vw);width:min(182px, 40vw);text-align:center;text-decoration:none}.xv-footer-advantages ul>li>a>img,.xv-footer-advantages ul>li>a>i{width:32px;font-size:32px;block-size:32px;color:var(--icon-primary);object-fit:contain}.xv-footer-advantages ul>li>a>img{font-size:var(--fz-sm, 12px)}.xv-footer-advantages ul>li>a>span{color:var(--text-primary, #333);font-feature-settings:"liga" off, "clig" off}.xv-footer-categories{list-style:none;padding:0;margin:0 0 var(--spacing-06, 24px);display:flex;flex:1;justify-content:space-between;row-gap:var(--spacing-06, 24px);column-gap:var(--spacing-09)}@media (max-width: 768px){.xv-footer-categories{display:grid;grid-template-columns:repeat(2, 1fr)}}.xv-footer-categories>li{display:flex;flex-direction:column;row-gap:var(--sapcing-05, 16px);max-width:203px}.xv-footer-routes{list-style:none;margin:0;padding:0;display:flex;row-gap:var(--spacing-05, 16px);flex-direction:column}.xv-footer-routes a{color:var(--interactive-01, #273435)}.xv-footer-legal{background:var(--layer-accent-02, #E3E3E3)}.xv-footer-legal-row{display:flex;align-items:center;text-align:center;gap:var(--spacing-05);padding:var(--spacing-09) var(--spacing-05)}@media (max-width: 768px){.xv-footer-legal-row{padding-block:var(--spacing-05);flex-direction:column;justify-content:center}}.xv-footer-legal-row a.xv-helper-text-02{cursor:pointer}.xv-footer-legal-row .xv-footer-logo{text-decoration:none;display:inline-flex;align-items:center;gap:var(--spacing-03);color:var(--text-primary)}.xv-footer-legal-row .xv-footer-logo>img{width:160px}.xv-footer-legal ul{flex:1;padding:0;margin:0 auto;list-style:none;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;max-width:600px;align-self:center}.xv-footer-legal ul>li{display:inline-flex;align-items:center;color:var(--text-secondary, #515151)}.xv-footer-legal ul>li:not(:last-child):after{display:inline-flex;margin-inline:var(--spacing-02);content:"|"}.xv-footer-legal ul>li>*{color:inherit}.xv-footer .footer-grid{display:flex;flex-direction:column;row-gap:var(--spacing-05, 16px)}.xv-footer .footer-grid:not(:last-child){margin-block-end:var(--spacing-06, 24px)}.xv-footer .footer-grid>ul{list-style:none;margin:0;padding:0;display:grid;gap:var(--spacing-05);grid-template-columns:repeat(3, 1fr);justify-items:center}.xv-footer .footer-grid>ul>li{display:flex;align-items:center;justify-content:center;flex-direction:column;width:60px;font-size:60px;block-size:60px}.xv-footer .footer-grid>ul>li>a,.xv-footer .footer-grid>ul>li>a>img,.xv-footer .footer-grid>ul>li>a>i,.xv-footer .footer-grid>ul>li>img,.xv-footer .footer-grid>ul>li>i{text-decoration:none;display:block;width:inherit;font-size:inherit;block-size:inherit;color:var(--icon-primary);object-fit:contain}.xv-footer .footer-grid>ul>li>a>img,.xv-footer .footer-grid>ul>li>img{font-size:var(--fz-sm, 12px);text-align:center}.xv-footer .footer-grid>ul>li>span{color:var(--text-primary, #333);font-feature-settings:"liga" off, "clig" off}.xv-footer .footer-grid--row>ul{display:flex;flex-direction:row;justify-content:space-between;flex:1}.xv-footer .footer-grid--row>ul>li{width:24px;block-size:24px;font-size:24px}.xv-footer-y-spacing{margin-block:var(--spacing-07, 32px) var(--spacing-10, 64px)}.xv-footer .xv-label-02,.xv-footer .xv-heading-compact-02{margin:0;color:var(--text-secondary, #515151)}'}},[0,"xv-footer",{data:[32]},[[8,"xv:metaNav-update","handleLoadData"]]]);function n(){"undefined"!=typeof customElements&&["xv-footer"].forEach((e=>{"xv-footer"===e&&(customElements.get(s(e))||customElements.define(s(e),a))}))}n();const p=a,c=n;export{p as XvFooter,c as defineCustomElement}