xv-webcomponents 0.1.39 → 0.1.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/dist/cjs/{index-D41mMXvd.js → index-MLh9SbX2.js} +349 -8
  2. package/dist/cjs/index-MLh9SbX2.js.map +1 -0
  3. package/dist/cjs/loader.cjs.js +2 -2
  4. package/dist/cjs/{xv-accordion-v2_27.cjs.entry.js → xv-accordion-v2_33.cjs.entry.js} +2214 -87
  5. package/dist/cjs/xv-accordion-v2_33.cjs.entry.js.map +1 -0
  6. package/dist/cjs/xv-breadcrumbs-v2.cjs.entry.js +1 -1
  7. package/dist/cjs/xv-webcomponents.cjs.js +3 -3
  8. package/dist/cjs/xv-webcomponents.cjs.js.map +1 -1
  9. package/dist/collection/collection-manifest.json +7 -1
  10. package/dist/collection/components/xv-button/xv-button-v2.css +136 -118
  11. package/dist/collection/components/xv-button/xv-button.js +132 -67
  12. package/dist/collection/components/xv-button/xv-button.js.map +1 -1
  13. package/dist/collection/components/xv-card/xv-card.js +1 -1
  14. package/dist/collection/components/xv-checkbox/xv-checkbox.css +3 -0
  15. package/dist/collection/components/xv-checkbox/xv-checkbox.js +1 -1
  16. package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.css +30 -0
  17. package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.js +80 -0
  18. package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.js.map +1 -0
  19. package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.css +4 -0
  20. package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.js +42 -0
  21. package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.js.map +1 -0
  22. package/dist/collection/components/xv-data-table/xv-data-table.css +51 -0
  23. package/dist/collection/components/xv-data-table/xv-data-table.js +130 -0
  24. package/dist/collection/components/xv-data-table/xv-data-table.js.map +1 -0
  25. package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.js +1 -1
  26. package/dist/collection/components/xv-dropdown/xv-dropdown.css +6 -1
  27. package/dist/collection/components/xv-dropdown/xv-dropdown.js +20 -1
  28. package/dist/collection/components/xv-dropdown/xv-dropdown.js.map +1 -1
  29. package/dist/collection/components/xv-file-uploader/_vars.js +6 -0
  30. package/dist/collection/components/xv-file-uploader/_vars.js.map +1 -0
  31. package/dist/collection/components/xv-file-uploader/xv-file-uploader.css +136 -0
  32. package/dist/collection/components/xv-file-uploader/xv-file-uploader.js +448 -0
  33. package/dist/collection/components/xv-file-uploader/xv-file-uploader.js.map +1 -0
  34. package/dist/collection/components/xv-footer/xv-footer.js +1 -1
  35. package/dist/collection/components/xv-header/xv-header.js +1 -1
  36. package/dist/collection/components/xv-link/xv-link.js +1 -1
  37. package/dist/collection/components/xv-modal/xv-modal.js +1 -1
  38. package/dist/collection/components/xv-notification/xv-notification.css +1 -0
  39. package/dist/collection/components/xv-notification/xv-notification.js +1 -1
  40. package/dist/collection/components/xv-number-input/xv-number-input.css +128 -0
  41. package/dist/collection/components/xv-number-input/xv-number-input.js +373 -0
  42. package/dist/collection/components/xv-number-input/xv-number-input.js.map +1 -0
  43. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.js +1 -1
  44. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.js +1 -1
  45. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.js +1 -1
  46. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js +1 -1
  47. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js +1 -1
  48. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js +1 -1
  49. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js +1 -1
  50. package/dist/collection/components/xv-table/xv-table.js +1 -1
  51. package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js +1 -1
  52. package/dist/collection/components/xv-tabs/xv-tabs.js +1 -2
  53. package/dist/collection/components/xv-tabs/xv-tabs.js.map +1 -1
  54. package/dist/collection/components/xv-tag/xv-tag.js +1 -1
  55. package/dist/collection/components/xv-text-input/xv-text-input.css +110 -89
  56. package/dist/collection/components/xv-text-input/xv-text-input.js +113 -80
  57. package/dist/collection/components/xv-text-input/xv-text-input.js.map +1 -1
  58. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.css +95 -0
  59. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.js +201 -0
  60. package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.js.map +1 -0
  61. package/dist/collection/components/xv-tooltip/xv-tooltip.css +31 -147
  62. package/dist/collection/components/xv-tooltip/xv-tooltip.js +59 -34
  63. package/dist/collection/components/xv-tooltip/xv-tooltip.js.map +1 -1
  64. package/dist/esm/{index-Datpns0U.js → index-DLYJiP99.js} +349 -8
  65. package/dist/esm/index-DLYJiP99.js.map +1 -0
  66. package/dist/esm/loader.js +3 -3
  67. package/dist/esm/{xv-accordion-v2_27.entry.js → xv-accordion-v2_33.entry.js} +2209 -88
  68. package/dist/esm/xv-accordion-v2_33.entry.js.map +1 -0
  69. package/dist/esm/xv-breadcrumbs-v2.entry.js +1 -1
  70. package/dist/esm/xv-webcomponents.js +4 -4
  71. package/dist/esm/xv-webcomponents.js.map +1 -1
  72. package/dist/types/components/xv-button/xv-button.d.ts +21 -12
  73. package/dist/types/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.d.ts +6 -0
  74. package/dist/types/components/xv-data-table/xv-data-table-row/xv-data-table-row.d.ts +4 -0
  75. package/dist/types/components/xv-data-table/xv-data-table.d.ts +9 -0
  76. package/dist/types/components/xv-dropdown/xv-dropdown.d.ts +1 -0
  77. package/dist/types/components/xv-file-uploader/_vars.d.ts +4 -0
  78. package/dist/types/components/xv-file-uploader/xv-file-uploader.d.ts +36 -0
  79. package/dist/types/components/xv-number-input/xv-number-input.d.ts +26 -0
  80. package/dist/types/components/xv-text-input/xv-text-input.d.ts +10 -11
  81. package/dist/types/components/xv-toggle-tip/xv-toggle-tip.d.ts +19 -0
  82. package/dist/types/components/xv-tooltip/xv-tooltip.d.ts +10 -8
  83. package/dist/types/components.d.ts +605 -49
  84. package/dist/xv-webcomponents/{p-054f5d59.entry.js → p-5b63a259.entry.js} +2 -2
  85. package/dist/xv-webcomponents/p-DLYJiP99.js +3 -0
  86. package/dist/xv-webcomponents/p-DLYJiP99.js.map +1 -0
  87. package/dist/xv-webcomponents/p-ec72208c.entry.js +2 -0
  88. package/dist/xv-webcomponents/p-ec72208c.entry.js.map +1 -0
  89. package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -1
  90. package/dist/xv-webcomponents/xv-webcomponents.esm.js.map +1 -1
  91. package/package.json +6 -4
  92. package/dist/cjs/index-D41mMXvd.js.map +0 -1
  93. package/dist/cjs/xv-accordion-v2_27.cjs.entry.js.map +0 -1
  94. package/dist/collection/components/xv-text-input/_vars.js +0 -7
  95. package/dist/collection/components/xv-text-input/_vars.js.map +0 -1
  96. package/dist/esm/index-Datpns0U.js.map +0 -1
  97. package/dist/esm/xv-accordion-v2_27.entry.js.map +0 -1
  98. package/dist/types/components/xv-text-input/_vars.d.ts +0 -5
  99. package/dist/xv-webcomponents/p-6a4cc790.entry.js +0 -2
  100. package/dist/xv-webcomponents/p-6a4cc790.entry.js.map +0 -1
  101. package/dist/xv-webcomponents/p-Datpns0U.js +0 -3
  102. package/dist/xv-webcomponents/p-Datpns0U.js.map +0 -1
  103. /package/dist/xv-webcomponents/{p-054f5d59.entry.js.map → p-5b63a259.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"file":"xv-accordion-v2.xv-accordion-v2-item.xv-button-v2.xv-card-v2.xv-checkbox-v2.xv-data-table.xv-data-table-cell.xv-data-table-row.xv-dropdown-v2.xv-dropdown-v2-item.xv-file-uploader.xv-footer.xv-header.xv-link-v2.xv-loader-v2.xv-login-modal.xv-modal-v2.xv-notification-v2.xv-number-input-v2.xv-overflow-menu-v2.xv-overflow-menu-v2-item.xv-progress-indicator-v2.xv-progress-indicator-v2-item.xv-tab-v2.xv-table-v2.xv-table-v2-cell.xv-table-v2-expand.xv-table-v2-row.xv-tabs-v2.xv-tag-v2.xv-text-input-v2.xv-toggle-tip.xv-tooltip-v2.entry.cjs.js","mappings":"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","names":["uidGenerator","h","Host","forEach","setAttr","index","Fragment","effect","min","max","mathMax","mathMin","hash","allPlacements","placements","popperOffsets","computeStyles","applyStyles","offset","flip","preventOverflow","arrow","hide"],"sources":["src/components/xv-accordion/xv-accordion.scss?tag=xv-accordion-v2&encapsulation=shadow","src/components/xv-accordion/xv-accordion.tsx","src/components/xv-accordion-item/xv-accordion-item.scss?tag=xv-accordion-v2-item&encapsulation=shadow","src/components/xv-accordion-item/xv-accordion-item.tsx","src/types/enum.ts","src/components/xv-button/xv-button-v2.scss?tag=xv-button-v2&encapsulation=shadow","src/components/xv-button/xv-button.tsx","src/components/xv-card/xv-card.scss?tag=xv-card-v2&encapsulation=shadow","src/components/xv-card/xv-card.tsx","src/components/xv-checkbox/xv-checkbox.scss?tag=xv-checkbox-v2&encapsulation=shadow","src/components/xv-checkbox/xv-checkbox.tsx","src/components/xv-data-table/xv-data-table.scss?tag=xv-data-table&encapsulation=shadow","src/components/xv-data-table/xv-data-table.tsx","src/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.scss?tag=xv-data-table-cell&encapsulation=shadow","src/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.tsx","src/components/xv-data-table/xv-data-table-row/xv-data-table-row.scss?tag=xv-data-table-row&encapsulation=shadow","src/components/xv-data-table/xv-data-table-row/xv-data-table-row.tsx","src/components/xv-dropdown/_vars.ts","src/components/xv-dropdown/xv-dropdown.scss?tag=xv-dropdown-v2&encapsulation=shadow","src/components/xv-dropdown/xv-dropdown.tsx","src/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.scss?tag=xv-dropdown-v2-item&encapsulation=shadow","src/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.tsx","src/components/xv-file-uploader/_vars.ts","src/components/xv-file-uploader/xv-file-uploader.scss?tag=xv-file-uploader&encapsulation=shadow","src/components/xv-file-uploader/xv-file-uploader.tsx","src/components/xv-footer/xv-footer.scss?tag=xv-footer","src/components/xv-footer/xv-footer.tsx","src/components/xv-header/xv-header.scss?tag=xv-header","src/components/xv-header/xv-header.tsx","src/components/xv-link/xv-link.scss?tag=xv-link-v2&encapsulation=shadow","src/components/xv-link/xv-link.tsx","src/components/xv-loader/xv-loader.scss?tag=xv-loader-v2&encapsulation=shadow","src/components/xv-loader/xv-loader.tsx","src/components/xv-login-modal/xv-login-modal.scss?tag=xv-login-modal&encapsulation=shadow","src/components/xv-login-modal/xv-login-modal.tsx","src/components/xv-modal/xv-modal.scss?tag=xv-modal-v2&encapsulation=shadow","src/components/xv-modal/xv-modal.tsx","src/components/xv-notification/_vars.ts","src/components/xv-notification/xv-notification.scss?tag=xv-notification-v2&encapsulation=shadow","src/components/xv-notification/xv-notification.tsx","src/components/xv-number-input/xv-number-input.scss?tag=xv-number-input-v2&encapsulation=shadow","src/components/xv-number-input/xv-number-input.tsx","src/components/xv-overflow-menu/xv-overflow-menu.scss?tag=xv-overflow-menu-v2&encapsulation=shadow","src/components/xv-overflow-menu/xv-overflow-menu.tsx","src/components/xv-overflow-menu/_vars.ts","src/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.scss?tag=xv-overflow-menu-v2-item&encapsulation=shadow","src/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.tsx","src/components/xv-progress-indicator/_vars.ts","src/components/xv-progress-indicator/xv-progress-indicator.scss?tag=xv-progress-indicator-v2&encapsulation=shadow","src/components/xv-progress-indicator/xv-progress-indicator.tsx","src/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.scss?tag=xv-progress-indicator-v2-item&encapsulation=shadow","src/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.tsx","src/components/xv-tabs/xv-tab/xv-tab.scss?tag=xv-tab-v2&encapsulation=shadow","src/components/xv-tabs/xv-tab/xv-tab.tsx","src/components/xv-table/xv-table.scss?tag=xv-table-v2&encapsulation=shadow","src/components/xv-table/xv-table.tsx","src/components/xv-table/_vars.ts","src/components/xv-table/xv-table-cell/xv-table-cell.scss?tag=xv-table-v2-cell&encapsulation=shadow","src/components/xv-table/xv-table-cell/xv-table-cell.tsx","src/components/xv-table/xv-table-expand/xv-table-expand.scss?tag=xv-table-v2-expand&encapsulation=shadow","src/components/xv-table/xv-table-expand/xv-table-expand.tsx","src/components/xv-table/xv-table-row/xv-table-row.scss?tag=xv-table-v2-row&encapsulation=shadow","src/components/xv-table/xv-table-row/xv-table-row.tsx","src/components/xv-tabs/_vars.ts","src/components/xv-tabs/xv-tabs.scss?tag=xv-tabs-v2&encapsulation=shadow","src/components/xv-tabs/xv-tabs.tsx","src/components/xv-tag/xv-tag.scss?tag=xv-tag-v2&encapsulation=shadow","src/components/xv-tag/xv-tag.tsx","src/components/xv-text-input/xv-text-input.scss?tag=xv-text-input-v2&encapsulation=shadow","src/components/xv-text-input/xv-text-input.tsx","node_modules/@popperjs/core/lib/enums.js","node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","node_modules/@popperjs/core/lib/dom-utils/getWindow.js","node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","node_modules/@popperjs/core/lib/modifiers/applyStyles.js","node_modules/@popperjs/core/lib/utils/getBasePlacement.js","node_modules/@popperjs/core/lib/utils/math.js","node_modules/@popperjs/core/lib/utils/userAgent.js","node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","node_modules/@popperjs/core/lib/dom-utils/contains.js","node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","node_modules/@popperjs/core/lib/utils/within.js","node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","node_modules/@popperjs/core/lib/utils/expandToHashMap.js","node_modules/@popperjs/core/lib/modifiers/arrow.js","node_modules/@popperjs/core/lib/utils/getVariation.js","node_modules/@popperjs/core/lib/modifiers/computeStyles.js","node_modules/@popperjs/core/lib/modifiers/eventListeners.js","node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","node_modules/@popperjs/core/lib/utils/rectToClientRect.js","node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","node_modules/@popperjs/core/lib/utils/computeOffsets.js","node_modules/@popperjs/core/lib/utils/detectOverflow.js","node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","node_modules/@popperjs/core/lib/modifiers/flip.js","node_modules/@popperjs/core/lib/modifiers/hide.js","node_modules/@popperjs/core/lib/modifiers/offset.js","node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","node_modules/@popperjs/core/lib/utils/getAltAxis.js","node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","node_modules/@popperjs/core/lib/utils/orderModifiers.js","node_modules/@popperjs/core/lib/utils/debounce.js","node_modules/@popperjs/core/lib/utils/mergeByName.js","node_modules/@popperjs/core/lib/createPopper.js","node_modules/@popperjs/core/lib/popper.js","src/components/xv-toggle-tip/xv-toggle-tip.scss?tag=xv-toggle-tip&encapsulation=shadow","src/components/xv-toggle-tip/xv-toggle-tip.tsx","src/components/xv-tooltip/xv-tooltip.scss?tag=xv-tooltip-v2","src/components/xv-tooltip/xv-tooltip.tsx"],"sourcesContent":[":host {\n display: block;\n}\n","import { Component, Host, h, Event, EventEmitter, Method, State, Prop } from '@stencil/core';\nimport { uidGenerator } from '../../utils/utils';\n\n@Component({\n tag: 'xv-accordion-v2',\n styleUrl: 'xv-accordion.scss',\n shadow: true,\n})\nexport class XvAccordion {\n @Prop() multiple: boolean = false;\n @Prop() xvId: string = uidGenerator();\n @Prop({ mutable: true }) value: string;\n @State() opened: Set<string> = new Set();\n @Event() accordionChange: EventEmitter<{ opened: Set<string>, id: string }>;\n\n @Method()\n async toggleItem(value: string) {\n if (this.opened.has(value)) {\n this.opened.delete(value);\n } else {\n if (!this.multiple) this.opened.clear();\n this.value = value;\n this.opened.add(this.value);\n }\n\n this.accordionChange.emit({ opened: this.opened, id: this.xvId });\n\n return { opened: this.opened, id: this.xvId };\n }\n\n componentWillLoad() {\n if (this.value) {\n return this.toggleItem(this.value);\n }\n }\n\n render() {\n return (\n <Host class=\"xv-accordion\" data-id={this.xvId}>\n <slot />\n </Host>\n );\n }\n}\n",":host {\n border-top: 1px solid var(--border-subtle-01);\n display: flex;\n flex-direction: column;\n font-family: var(--ff-body, inherit);\n}\n\n:host(.disabled) {\n .label {\n color: var(--text-disabled);\n &:hover {\n cursor: initial;\n background-color: transparent;\n }\n }\n}\n\n.label {\n padding: 14px 16px;\n display: inline-flex;\n align-items: center;\n column-gap: 20px;\n justify-content: space-between;\n text-align: left;\n color: var(--text-primary);\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n letter-spacing: 0.16px;\n background-color: transparent;\n transition: background-color 200ms ease-in-out;\n &>span {\n overflow: hidden;\n text-overflow: ellipsis;\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n }\n\n &:hover {\n cursor: pointer;\n background-color: var(--layer-hover-01);\n }\n\n &:after {\n content: '';\n border: solid black;\n border-width: 0 2px 2px 0;\n display: inline-block;\n padding: 4.66px;\n transition: transform 100ms ease-in-out;\n transform: rotate(45deg);\n }\n\n &.opened:after {\n transform: rotate(-135deg);\n }\n}\n\n.content {\n padding: 0 16px;\n text-align: left;\n color: var(--text-primary);\n font-size: 14px;\n overflow: hidden;\n max-height: 0;\n transition: max-height 300ms ease-in-out, padding 250ms ease 50ms;\n &.opened {\n padding: 14px 16px;\n max-height: 500px;\n }\n}\n","import { Component, Host, h, Element, Prop, State, Listen, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'xv-accordion-v2-item',\n styleUrl: 'xv-accordion-item.scss',\n shadow: true,\n})\nexport class XvAccordionItem {\n @Element() el: HTMLElement;\n @Prop() disabled: boolean = false;\n @Prop() label: string;\n @Prop() value: string;\n @State() isOpen: boolean = false;\n @Event() itemToggle: EventEmitter;\n\n @Listen('accordionChange', { target: 'body' })\n handleAccordionChange(event: CustomEvent<{ opened: Set<string>, id: string }>) {\n const parentAccordionId = this.el.closest('[data-id]')?.getAttribute('data-id');\n if (event.detail.id !== parentAccordionId) return;\n this.isOpen = event.detail.opened.has(this.value);\n }\n\n toggle() {\n if (this.disabled) return;\n this.isOpen = !this.isOpen;\n this.el.closest('xv-accordion-v2')?.toggleItem?.(this.value);\n }\n\n render() {\n return (\n <Host class={`${this.disabled ? 'disabled' : ''}`}>\n <label class={`label ${this.isOpen ? 'opened' : 'closed'}`} onClick={this.toggle.bind(this)}>\n <span>{this.label}</span>\n </label>\n <div class={`content ${this.isOpen ? 'opened' : 'closed'}`}>\n <slot />\n </div>\n </Host>\n );\n }\n}\n","export enum SIZE_VAR {\n XS = 'xs',\n SM = 'sm',\n MD = 'md',\n LG = 'lg',\n XL = 'xl',\n}\n",":host {\n display: inline-block;\n}\n:host([block]) {\n display: block;\n width: 100%;\n}\n\n.xv-button {\n all: unset;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n border-radius: 3px;\n font-size: var(--fz-md);\n font-family: var(--ff-body, Tahoma);\n font-style: normal;\n font-weight: 700;\n line-height: 128.571%;\n letter-spacing: 0.16px;\n cursor: pointer;\n position: relative;\n transition: background 0.2s, color 0.2s, border-color 0.2s;\n user-select: none;\n width: 100%;\n &:focus-visible {\n outline: 2px solid var(--focus);\n outline-offset: 2px;\n }\n\n // Base sizes\n &--xs {\n --xv-button-icon-size: 16px;\n\n padding: var(--spacing-02);\n height: var(--xv-button-icon-size);\n }\n\n &--sm {\n --xv-button-icon-size: 32px;\n padding: var(--spacing-03);\n height: var(--xv-button-icon-size);\n }\n\n &--md {\n --xv-button-icon-size: 40px;\n padding: var(--spacing-04);\n height: var(--xv-button-icon-size);\n }\n\n &--lg {\n --xv-button-icon-size: 48px;\n padding: var(--spacing-05);\n height: var(--xv-button-icon-size);\n }\n\n &--xl {\n --xv-button-icon-size: 60px;\n\n font-size: 1.1em;\n padding: var(--spacing-06);\n height: auto;\n }\n\n // Variant styles\n &--primary {\n background-color: var(--button-primary);\n color: var(--text-on-color);\n\n &:hover {\n background-color: var(--button-primary-hover);\n }\n\n &:active {\n background-color: var(--button-primary-active);\n }\n }\n\n &--accent {\n background-color: var(--button-accent);\n color: var(--text-on-color);\n\n &:hover {\n background-color: var(--button-accent-hover);\n }\n\n &:active {\n background-color: var(--button-accent-active);\n }\n }\n\n &--secondary {\n background-color: var(--button-secondary);\n border: 1px solid var(--border-subtle-01);\n\n &:hover {\n background-color: var(--button-secondary-hover);\n }\n\n &:active {\n background-color: var(--button-secondary-active);\n }\n }\n\n &--danger {\n background: var(--support-error);\n color: white;\n\n &:hover {\n background-color: #ba1b23;\n }\n\n &:active {\n background-color: #750e13;\n }\n\n &:disabled {\n background-color: var(--button-disabled);\n border-color: transparent;\n color: var(--text-on-color-disabled, #8B8B8B);\n }\n }\n\n &--tertiary {\n background-color: transparent;\n border: 1px solid var(--button-tertiary);\n\n &:hover {\n background-color: var(--button-tertiary-hover);\n }\n\n &:active {\n background-color: var(--button-tertiary-active);\n }\n\n &:disabled {\n color: var(--text-disabled);\n border-color: var(--button-disabled, #D1D1D1);\n background-color: transparent;\n }\n }\n\n &--ghost {\n background-color: transparent;\n color: var(--text-primary);\n\n &:hover {\n background-color: transparent;\n }\n\n &:active {\n background-color: rgba(139, 139, 139, 0.5);\n }\n\n &:disabled {\n color: var(--text-disabled);\n border-color: transparent;\n background-color: transparent;\n }\n }\n\n // Disabled & loading state\n &--primary:disabled,\n &--accent:disabled,\n &--secondary:disabled,\n &--danger:disabled {\n border-color: var(--border-subtle-01, #D1D1D1);\n background-color: var(--button-disabled, #D1D1D1);\n color: var(--text-on-color-disabled, #8B8B8B);\n }\n\n &--disabled {\n cursor: not-allowed;\n }\n\n // Loading state\n &--loading {\n pointer-events: none;\n opacity: 0.8;\n }\n\n // Label\n &__label {\n display: inline-flex;\n align-items: center;\n }\n\n // Loader\n &__loader {\n position: absolute;\n left: 50%;\n transform: translateX(-50%);\n }\n\n // Icon slots\n &__icon {\n display: inline-flex;\n align-items: center;\n }\n\n &--icon {\n &-left {\n .xv-button__icon--left {\n margin-inline-end: var(--spacing-05);\n }\n }\n\n &-right {\n .xv-button__icon--right {\n margin-inline-start: var(--spacing-05);\n }\n }\n\n // Button with icon only (no label)\n &-only {\n padding: 0;\n width: var(--xv-button-icon-size, 40px);\n height: var(--xv-button-icon-size, 40px);\n justify-content: center;\n\n .xv-button__icon {\n margin: 0;\n }\n }\n }\n}\n\n","import { Component, Prop, h, Element, State, Host, AttachInternals } from '@stencil/core';\r\nimport { SIZE_VAR } from '../../types/enum';\r\n\r\n\r\n@Component({\r\n tag: 'xv-button-v2',\r\n styleUrl: 'xv-button-v2.scss',\r\n shadow: true,\r\n formAssociated: true,\r\n})\r\nexport class XvButton {\r\n @Element() el: HTMLElement;\r\n\r\n /** Button label is optional you can use just inside content */\r\n @Prop({ reflect: true }) label?: string;\r\n /** Button variants */\r\n @Prop({ reflect: true }) variant: 'primary' | 'secondary' | 'ghost' | 'danger' | 'tertiary' = 'primary';\r\n /** Button size */\r\n @Prop({ reflect: true }) size: SIZE_VAR = SIZE_VAR.MD;\r\n /** Button disabled state */\r\n @Prop({ reflect: true }) disabled: boolean = false;\r\n /** Button loading state */\r\n @Prop({ reflect: true }) loading: boolean = false;\r\n /** Button for full width */\r\n @Prop({ reflect: true }) block: boolean = false;\r\n /** Button type */\r\n @Prop({ reflect: true }) type: 'button' | 'submit' | 'reset' = 'button';\r\n\r\n @State() hasLeftIcon: boolean = false;\r\n @State() hasRightIcon: boolean = false;\r\n @State() hasContent: boolean = false;\r\n\r\n @AttachInternals() internals: ElementInternals;\r\n\r\n private handleSlotChangeLeft = (event: Event) => {\r\n this.hasLeftIcon = (event.target as HTMLSlotElement).assignedElements().length > 0;\r\n };\r\n\r\n private handleSlotChangeContent = (event: Event) => {\r\n this.hasContent = (event.target as HTMLSlotElement).assignedNodes().some(\r\n node =>\r\n node.nodeType === Node.ELEMENT_NODE ||\r\n (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== ''),\r\n );\r\n };\r\n\r\n private handleSlotChangeRight = (event: Event) => {\r\n this.hasRightIcon = (event.target as HTMLSlotElement).assignedElements().length > 0;\r\n };\r\n\r\n private handleClick = () => {\r\n if (this.type === 'submit') {\r\n this.internals.form?.requestSubmit();\r\n } else if (this.type === 'reset') {\r\n this.internals.form?.reset();\r\n }\r\n };\r\n\r\n render() {\r\n return (\r\n <Host>\r\n <button\r\n class={{\r\n 'xv-button': true,\r\n [`xv-button--${this.variant}`]: !!this.variant,\r\n [`xv-button--${this.size}`]: !!this.size,\r\n 'xv-button--disabled': this.disabled || this.loading,\r\n 'xv-button--block': this.block,\r\n 'xv-button--loading': this.loading,\r\n 'xv-button--icon-left': this.hasLeftIcon,\r\n 'xv-button--icon-right': this.hasRightIcon,\r\n 'xv-button--icon-only': !this.hasContent,\r\n }}\r\n part=\"button\"\r\n onClick={this.handleClick}\r\n type={this.type}\r\n disabled={this.disabled || this.loading}\r\n aria-disabled={this.disabled ? 'true' : undefined}\r\n aria-label={this.el?.ariaLabel || 'XV button'}\r\n >\r\n {this.loading && (\r\n <xv-loader-v2 class=\"xv-button__loader\"\r\n size={this.size !== SIZE_VAR.XL ? this.size : SIZE_VAR.LG} />\r\n )}\r\n\r\n <span class=\"xv-button__icon xv-button__icon--left\">\r\n <slot name=\"icon-left\" onSlotchange={this.handleSlotChangeLeft}></slot>\r\n </span>\r\n\r\n <span class=\"xv-button__label\">\r\n <slot onSlotchange={this.handleSlotChangeContent}>\r\n {this.label}\r\n </slot>\r\n </span>\r\n\r\n <span class=\"xv-button__icon xv-button__icon--right\">\r\n <slot name=\"icon-right\" onSlotchange={this.handleSlotChangeRight}></slot>\r\n </span>\r\n </button>\r\n </Host>\r\n );\r\n }\r\n}\r\n",":host {\n display: flex;\n flex-direction: column;\n border-radius: 8px;\n border: 1px solid var(--border-subtle-00);\n background: var(--layer-layer-02);\n box-shadow: 0 1px 3px 1px rgba(39, 52, 53, 0.15), 0 1px 2px 0 rgba(39, 52, 53, 0.30);\n font-family: var(--ff-body, inherit);\n overflow: visible !important;\n}\n\n:host(.xv-card_vertical) {\n //max-width: 298px;\n // TODO: wright down correct styling for card size\n width: 100%!important;\n}\n\n:host(.xv-card_horizontal) {\n flex-direction: row;\n display: flex;\n width: max-content;\n\n .xv-card_media {\n &__content, ::slotted([slot=\"media\"]) {\n min-height: 100%;\n max-height: 100%;\n max-width: 160px;\n min-width: 160px;\n }\n }\n}\n\n.xv-card {\n &_content {\n padding: 16px;\n display: flex;\n flex-direction: column;\n flex: 1;\n text-align: left;\n }\n\n &_media {\n &__content, ::slotted([slot=\"media\"]) {\n max-width: 100%;\n min-width: 100%;\n min-height: 199px;\n max-height: 199px;\n object-fit: cover;\n object-position: center;\n }\n }\n\n &_header {\n &__content, ::slotted([slot=\"header\"]) {\n margin: 0 0 8px;\n color: var(--text-primary);\n font-size: 16px;\n font-style: normal;\n font-weight: 700;\n line-height: 24px;\n letter-spacing: -0.6px;\n }\n }\n\n &_body {\n flex: 1;\n &__content, ::slotted([slot=\"body\"]) {\n margin: 0 0 8px;\n color: var(--text-secondary);\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n letter-spacing: -0.1px;\n }\n }\n\n &_footer {}\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'xv-card-v2',\n styleUrl: 'xv-card.scss',\n shadow: true,\n})\nexport class XvCard {\n @Prop() variant: 'horizontal' | 'vertical' = 'vertical';\n @Prop() media: string;\n @Prop() header: string;\n @Prop() body: string;\n @Prop() footer: string;\n render() {\n return (\n <Host class={`xv-card xv-card_${this.variant}`} part={this.variant}>\n <div class=\"xv-card_media\">\n <slot name=\"media\">\n {this.media && <img class=\"xv-card_media__content\" src={this.media} alt={this.header} />}\n </slot>\n </div>\n\n <div class=\"xv-card_content\">\n <div class=\"xv-card_header\">\n <slot name=\"header\">\n {this.header && <p class=\"xv-card_header__content\">{this.header}</p>}\n </slot>\n </div>\n <div class=\"xv-card_body\">\n <slot name=\"body\">\n {this.body && <p class=\"xv-card_body__content\">{this.header}</p>}\n </slot>\n </div>\n <div class=\"xv-card_footer\">\n <slot name=\"footer\">{this.footer}</slot>\n </div>\n </div>\n </Host>\n );\n }\n}\n","\n:host {\n --checkbox-size: max(1rem, 16px);\n box-sizing: border-box;\n display: inline-flex;\n flex-direction: column;\n overflow: visible !important;\n}\n\n:host([error]) {\n .xv-checkbox .checkmark {\n border-color: var(--text-error, #D62512);\n }\n}\n\n.error,\n[name=\"info\"] {\n display: inline-flex;\n align-items: center;\n justify-content: flex-start;\n font-size: var(--fz-sm, 12px);\n font-family: var(--ff-body, Tahoma);\n line-height: 133.333%;\n letter-spacing: 0.32px;\n}\n\n.error {\n margin-top: var(--gap-xs, 5px);\n color: var(--text-error, #D62512);\n &::before {\n margin-right: var(--gap-xs, 5px);\n content: \"!\";\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n font-size: var(--fz-sm, 12px);\n font-weight: bold;\n color: white;\n background-color: var(--text-error, #D62512);\n border-radius: 50%;\n }\n}\n\n.xv-checkbox {\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n user-select: none;\n\n input[type='checkbox'] {\n position: absolute;\n width: var(--checkbox-size);\n height: var(--checkbox-size);\n margin: 0;\n padding: 0;\n opacity: 0;\n pointer-events: none;\n box-sizing: border-box;\n }\n\n .checkmark {\n width: var(--checkbox-size);\n min-width: var(--checkbox-size);\n height: var(--checkbox-size);\n min-height: var(--checkbox-size);\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 1.4px solid var(--icon-primary, #D1D1D1);\n border-radius: 2px;\n background-color: var(--background, #FFF);\n transition: all 0.2s ease;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n\n input:checked + .checkmark {\n background-color: var(--background-brand, #97BF0D);\n border-color: var(--background-brand, #97BF0D);\n &:not(.checkmark-partial)::after {\n content: '';\n position: absolute;\n width: calc(var(--checkbox-size) / 4);\n height: calc(var(--checkbox-size) / 2.5);\n border: solid var(--background, #FFF);\n margin-bottom: calc(var(--checkbox-size) / 10);\n border-width: 0 2px 2px 0;\n transform: rotate(45deg);\n display: block;\n }\n &.checkmark-partial::after {\n content: '';\n position: absolute;\n width: calc(var(--checkbox-size) / 3);\n height: calc(var(--checkbox-size) / 10);\n background-color: var(--background, #FFF);\n }\n }\n\n input:focus + .checkmark {\n outline: 1.4px solid var(--focus, #8B8B8B);\n }\n\n .label {\n color: var(--text-primary, #333);\n font-family: var(--ff-body, Tahoma);\n font-size: var(--fz-md, 14px);\n line-height: 128.571%;\n letter-spacing: 0.16px;\n &_str,\n ::slotted(*) {\n margin-left: 8px;\n }\n }\n\n &.readonly {\n cursor: initial;\n\n input:checked + .checkmark {\n background-color: var(--background, #FFF);\n border: 1.4px solid var(--icon-disabled, #D1D1D1);\n &:after {\n border-color: var(--icon-primary, #131313);\n }\n\n &-partial:after {\n background-color: var(--icon-primary, #131313);\n }\n }\n\n .checkmark {\n border: 1.4px solid var(--icon-disabled, #D1D1D1);\n }\n\n .label {\n color: var(--text-primary, #333);\n }\n }\n\n &.disabled {\n cursor: not-allowed;\n .checkmark {\n border: 1.4px solid var(--icon-disabled, #D1D1D1);\n }\n\n .label {\n color: var(--text-disabled, rgba(19, 19, 19, 0.25));\n }\n }\n}\n","import { Component, h, Element, Prop, State, Event, EventEmitter, Watch, Host } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\n\n@Component({\n tag: 'xv-checkbox-v2',\n styleUrl: 'xv-checkbox.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class XvCheckbox {\n private inputEl: HTMLInputElement;\n private internals: ElementInternals;\n\n @Element() el!: HTMLElement;\n\n /**\n * Default checked status\n */\n @Prop({ reflect: true, mutable: true }) checked: boolean = false;\n /**\n * Using for forms\n */\n @Prop({ reflect: true }) indeterminate: boolean = false;\n /**\n * Disabled status\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n /**\n * Input name\n */\n @Prop({ reflect: true }) name: string;\n /**\n * Input value\n */\n @Prop({ reflect: true }) value: string = 'on';\n /**\n * Input readonly\n */\n @Prop({ reflect: true }) readonly: boolean = false;\n /**\n * The same like default checkbox prop\n */\n @Prop({ reflect: true }) required: boolean = false;\n /**\n * Change checkmark icon to minus\n */\n @Prop({ reflect: true }) partial: boolean = false;\n /**\n * Can be used like property or like slot\n */\n @Prop() label: string;\n\n @Prop({ reflect: true }) size?: SIZE_VAR;\n @Prop({ reflect: true }) error?: string | boolean;\n\n @State() hasFocus: boolean = false;\n /**\n * event 'onEventChange'\n */\n @Event({ eventName: 'eventChange' }) changeEvent: EventEmitter<boolean>;\n /**\n * event 'onEventInput'\n */\n @Event({ eventName: 'eventInput' }) inputEvent: EventEmitter<boolean>;\n /**\n * event 'onEventFocus'\n */\n @Event({ eventName: 'eventFocus' }) focusEvent: EventEmitter<void>;\n /**\n * event 'onEventBlur'\n */\n @Event({ eventName: 'eventBlur' }) blurEvent: EventEmitter<void>;\n\n constructor() {\n this.internals = (this.el as any).attachInternals?.() || {};\n }\n\n connectedCallback() {\n if (this.internals?.setFormValue) {\n this.internals.setFormValue(this.checked ? this.value : null);\n }\n }\n\n @Watch('checked')\n onCheckedChange(newValue: boolean) {\n if (this.internals?.setFormValue) {\n this.internals.setFormValue(newValue ? this.value : null);\n }\n }\n\n private onInput = (e: Event) => {\n const target = e.target as HTMLInputElement;\n this.checked = target.checked;\n this.inputEvent.emit(this.checked);\n };\n\n private onChange = (e: Event) => {\n if (this.disabled || this.readonly) return;\n const target = e.target as HTMLInputElement;\n this.checked = target.checked;\n this.changeEvent.emit(this.checked);\n };\n\n private onFocus = () => {\n this.hasFocus = true;\n this.focusEvent.emit();\n };\n\n private onBlur = () => {\n this.hasFocus = false;\n this.blurEvent.emit();\n };\n\n render() {\n return (\n <Host>\n <label class={{ 'xv-checkbox': true, disabled: this.disabled, readonly: this.readonly }}>\n <input\n ref={el => (this.inputEl = el)}\n type=\"checkbox\"\n readonly={this.readonly}\n name={this.name}\n value={this.value}\n checked={this.checked}\n disabled={this.disabled || this.readonly}\n required={this.required}\n indeterminate={this.indeterminate}\n onInput={this.onInput}\n onChange={this.onChange}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n />\n <span class={`checkmark ${this.partial ? 'checkmark-partial' : ''}`} />\n <div class=\"label\">\n <slot>{this.label && <span class=\"label_str\">{this.label}</span>}</slot>\n </div>\n </label>\n <slot name=\"info\" />\n {!!this.error && <span class=\"error\">{this.error}</span>}\n </Host>\n );\n }\n\n componentDidLoad() {\n if (this.indeterminate) {\n this.inputEl.indeterminate = true;\n }\n }\n\n componentDidUpdate() {\n if (this.inputEl) {\n this.inputEl.indeterminate = this.indeterminate;\n }\n }\n\n formResetCallback() {\n this.checked = false;\n }\n\n formStateRestoreCallback(state: string) {\n this.checked = state === this.value;\n }\n}\n",":host {\n --xv-data-table-border-width: 1px;\n --xv-data-table-border-color: var(--border-subtle-01);\n --xv-data-table-padding-x: var(--spacing-05);\n --xv-data-table-padding-y: var(--spacing-05);\n --xv-data-table-row-bg: transparent;\n\n display: contents;\n width: inherit;\n color: var(--text-primary, #333);\n font-family: var(--ff-body, Tahoma);\n font-size: var(--fz-md, 14px);\n line-height: 18px;\n letter-spacing: 0.16px;\n\n &>table {\n width: inherit;\n border-collapse: collapse;\n table-layout: fixed;\n }\n}\n\n:host([block]) {\n width: 100%;\n &>table {\n table-layout: fixed;\n }\n}\n\n:host([size=\"xs\"]) {\n --xv-data-table-padding-x: var(--spacing-02);\n --xv-data-table-padding-y: var(--spacing-02);\n}\n:host([size=\"sm\"]) {\n --xv-data-table-padding-x: var(--spacing-04);\n --xv-data-table-padding-y: var(--spacing-03);\n}\n:host([size=\"md\"]) {\n --xv-data-table-padding-x: var(--spacing-05);\n --xv-data-table-padding-y: var(--spacing-05);\n}\n:host([size=\"lg\"]) {\n --xv-data-table-padding-x: var(--spacing-05);\n --xv-data-table-padding-y: var(--spacing-06);\n}\n:host([size=\"xl\"]) {\n --xv-data-table-padding-x: var(--spacing-06);\n --xv-data-table-padding-y: var(--spacing-07);\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\n\n@Component({\n tag: 'xv-data-table',\n styleUrl: 'xv-data-table.scss',\n shadow: true,\n})\nexport class XvDataTable {\n @Prop() size: SIZE_VAR = SIZE_VAR.MD;\n @Prop() label?: string;\n @Prop() description?: string;\n @Prop() block?: boolean;\n @Prop() columnWidths: (string | null)[] = [];\n\n render() {\n return (\n <Host class=\"xv-data-table\">\n <table role=\"table\">\n {(this.label || this.description) && (\n <caption>{this.label || this.description}</caption>\n )}\n {this.columnWidths.length > 0 && (\n <colgroup>\n {this.columnWidths.map((width = 'auto') => <col style={{ width }} />)}\n </colgroup>\n )}\n\n <slot />\n </table>\n </Host>\n );\n }\n}\n",":host {\n display: table-cell;\n border-style: solid;\n border-width: var(--xv-data-table-border-width, 0);\n border-color: var(--xv-data-table-border-color, transparent);\n padding-inline: var(--xv-data-table-padding-x, 0);\n padding-block: var(--xv-data-table-padding-y, 0);\n vertical-align: middle;\n word-break: break-all;\n font-style: normal;\n font-weight: 400;\n\n .line-clamp {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n\n:host(:not(.multiline)) {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n ::slotted(*) {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'xv-data-table-cell',\n styleUrl: 'xv-data-table-cell.scss',\n shadow: true,\n})\nexport class XvDataTableCell {\n @Prop() name?: string;\n @Prop() multiline: number;\n @Prop() width?: string;\n\n render() {\n return (\n <Host role=\"cell\" style={{ width: this.width }} class={{ multiline: this.multiline !== undefined }}>\n {!this.multiline || isNaN(this.multiline) ? <slot /> : (\n <div class=\"line-clamp\" style={{ ['-webkit-line-clamp']: `${this.multiline}` }}>\n <slot />\n </div>\n )}\n </Host>\n );\n }\n}\n",":host {\n display: table-row;\n background-color: var(--xv-data-table-row-bg, transparent);\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'xv-data-table-row',\n styleUrl: 'xv-data-table-row.scss',\n shadow: true,\n})\nexport class XvDataTableRow {\n @Prop() variant?: 'checkbox';\n\n render() {\n return (\n <Host role=\"row\">\n {this.variant === 'checkbox' && (\n <xv-data-table-cell width=\"1.98%\">\n <xv-checkbox-v2></xv-checkbox-v2>\n </xv-data-table-cell>\n )}\n <slot />\n </Host>\n );\n }\n}\n","export interface DropdownItemData {\n value: string | number;\n text: string;\n selected: boolean;\n}\n\nexport const DropdownItemSelector = '.xv-dropdown-item';\n",":host {\n --dropdown-padding-x: 16px;\n --dropdown-padding-y: 11px;\n --dropdown-max-width: 300px;\n\n display: block;\n position: relative;\n text-align: left;\n max-width: min(var(--dropdown-max-width), 100%);\n\n .label {\n display: block;\n color: var(--text-secondary, #515151);\n font-family: var(--ff-body, Tahoma);\n font-size: 12px;\n font-style: normal;\n font-weight: 700;\n line-height: 16px;\n letter-spacing: 0.32px;\n margin-bottom: 8px;\n ::slotted([slot=\"label\"]) {\n color: var(--text-secondary, #515151);\n font-family: var(--ff-body, Tahoma);\n font-size: 12px;\n font-style: normal;\n font-weight: 700;\n line-height: 16px;\n letter-spacing: 0.32px;\n }\n\n &_info {\n margin-left: var(--spacing-02);\n }\n }\n\n .control {\n background-blend-mode: multiply;\n border-radius: 3px;\n box-shadow: 0 0 0 1px #8B8B8B inset;\n transition: 0.2s ease-in-out background-color;\n cursor: pointer;\n margin: 0;\n box-sizing: border-box;\n font-family: inherit;\n font-size: 100%;\n padding: 0;\n border: 0;\n appearance: none;\n background-color: var(--field-02, #FFF);\n text-align: start;\n inline-size: 100%;\n position: relative;\n display: inline-flex;\n overflow: hidden;\n align-items: center;\n block-size: calc(100% + 1px);\n outline: none;\n padding-block: var(--dropdown-padding-y);\n padding-inline: var(--dropdown-padding-x);\n text-overflow: ellipsis;\n vertical-align: top;\n white-space: nowrap;\n\n &_value, &_placeholder {\n flex: 1;\n margin: 0;\n overflow: hidden;\n color: var(--text-primary, #333);\n user-select: none;\n text-overflow: ellipsis;\n white-space: nowrap;\n font-family: var(--fz-body, Tahoma);\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 18px;\n letter-spacing: 0.16px;\n padding-inline: 0 1rem;\n }\n\n &_placeholder {\n color: var(--text-placeholder, #ACACAC);\n }\n\n &_icon {\n width: 18px;\n height: 18px;\n &.error {\n color: var(--support-error, #F1290E);\n }\n\n &.warning {\n color: var(--support-warning, #FF7F04)\n }\n }\n\n &_arrow {\n box-sizing: border-box;\n margin: 0;\n font-size: 100%;\n vertical-align: baseline;\n padding: 0;\n border: 0;\n appearance: none;\n background: none;\n text-align: start;\n display: flex;\n align-items: center;\n justify-content: center;\n block-size: 1.5rem;\n inline-size: 1.5rem;\n inset-inline-end: 0.75rem;\n outline: none;\n transition: transform 70ms cubic-bezier(0.2, 0, 0.38, 0.9);\n }\n\n &:hover {\n background-color: var(--field-hover-02, #E9E9E9);\n }\n\n &:active {\n background-color: var(--layer-selected-02, #E3E3E3);\n }\n }\n\n .options {\n inset-block-start: 100%;\n margin-block-start: 1px;\n display: block;\n max-block-size: 13.75rem;\n box-shadow: 0 2px 6px rgba(0, 0, 0, .3);\n position: absolute;\n z-index: 10;\n inline-size: 100%;\n inset-inline: 0;\n overflow-y: auto;\n transition: max-height 0.11s cubic-bezier(0.2, 0, 0.38, 0.9);\n border-radius: 3px;\n background-color: var(--field-02, #FFF);\n scrollbar-width: thin;\n scrollbar-color: var(--layer-accent-03) transparent;\n\n ::slotted(.xv-dropdown-item) {\n display: block;\n max-block-size: 13.75rem;\n inset-inline: 0;\n box-sizing: border-box;\n padding:\n var(--dropdown-padding-y)\n calc(var(--dropdown-padding-x) + 16px)\n var(--dropdown-padding-y)\n var(--dropdown-padding-x);\n position: relative;\n cursor: pointer;\n overflow: hidden;\n color: var(--text-secondary, #515151);\n text-overflow: ellipsis;\n white-space: nowrap;\n font-family: var(--ff-body, Tahoma);\n font-size: var(--fz-md, 14px);\n font-style: normal;\n font-weight: 400;\n line-height: 18px;\n letter-spacing: 0.16px;\n transition: 0.2s ease-in-out background-color;\n user-select: none;\n &:after {\n content: '';\n position: absolute;\n bottom: 0;\n height: 1px;\n left: 10px;\n width: calc(100% - 20px);\n background-color: var(--border-subtle-01);\n }\n }\n\n ::slotted(.xv-dropdown-item:hover) {\n background-color: var(--layer-hover-02, #F7F7F7);\n }\n\n ::slotted(.xv-dropdown-item:active) {\n background-color: var(--layer-selected-hover-02, #DADADA);\n }\n\n ::slotted(.xv-dropdown-item[selected]) {\n background-color: var(--layer-selected-02, #E3E3E3);\n }\n\n ::slotted(.xv-dropdown-item[selected]:hover) {\n background-color: var(--layer-selected-hover-02, #DADADA);\n }\n\n ::slotted(.xv-dropdown-item[disabled]) {\n background-color: transparent;\n opacity: 0.4;\n cursor: not-allowed;\n }\n }\n\n .helper {\n color: var(--text-helper, #646464);\n font-family: var(--ff-heading, \"IBM Plex Sans\");\n font-size: 12px;\n font-style: normal;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0.32px;\n margin: 4px 0 0;\n padding: 0;\n }\n}\n\n:host([open]) {\n .control_arrow {\n transform: rotate(180deg);\n }\n}\n\n:host([disabled]) {\n opacity: 0.4;\n cursor: not-allowed;\n .control {\n cursor: inherit;\n &:hover, &:active, &:focus-within {\n background-color: transparent;\n }\n }\n}\n\n:host([error]) {\n .control {\n box-shadow: none;\n outline: 2px solid var(--support-support-error, #F1290E);\n }\n\n .helper {\n color: var(--text-error, #D62512);\n }\n}\n\n:host([size=\"xs\"]) {\n --dropdown-padding-y: 4px;\n}\n:host([size=\"sm\"]) {\n --dropdown-padding-y: 7px;\n}\n:host([size=\"md\"]) {\n --dropdown-padding-y: 11px;\n}\n:host([size=\"lg\"]) {\n --dropdown-padding-y: 15px;\n}\n:host([size=\"xl\"]) {\n --dropdown-padding-y: 16px;\n}\n","import { Component, Host, h, Prop, State, Element, Watch, Listen, Event, EventEmitter } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\nimport { DropdownItemData, DropdownItemSelector } from './_vars';\nimport { forEach, setAttr } from '../../utils/utils';\n\n@Component({\n tag: 'xv-dropdown-v2',\n styleUrl: 'xv-dropdown.scss',\n shadow: true,\n})\nexport class XvDropdown {\n @Element() el: HTMLElement;\n @Prop({ reflect: true }) disabled?: boolean;\n @Prop({ reflect: true }) multiple?: boolean;\n @Prop({ reflect: true }) required?: boolean;\n @Prop({ reflect: true }) loading?: boolean;\n @Prop({ reflect: true, mutable: true }) open?: boolean;\n @Prop({ reflect: true }) error?: string;\n @Prop({ reflect: true }) label?: string;\n @Prop({ reflect: true }) helper?: string;\n @Prop({ reflect: true }) warning?: string;\n @Prop({ reflect: true }) placeholder?: string;\n @Prop({ reflect: false }) info?: string;\n @Prop() size: SIZE_VAR = SIZE_VAR.MD;\n @Prop({ attribute: 'default-value'}) defaultValue?: DropdownItemData['value'];\n\n @State() selected: DropdownItemData['text'][] = [];\n @State() selectedMap: Map<DropdownItemData['value'], DropdownItemData> = new Map();\n\n @Event() changeSelection: EventEmitter<DropdownItemData[]>;\n\n @Watch('open')\n openChangeHandle() {\n if (this.disabled) return;\n\n if (this.open) {\n this.addListeners();\n } else {\n this.removeListeners();\n }\n }\n\n @Listen('itemSelected')\n handleItemSelected({ detail }: CustomEvent<DropdownItemData>) {\n const hasItem = this.selectedMap.has(detail.value);\n\n if (this.multiple) {\n if (detail.selected) {\n if (!hasItem) this.selectedMap.set(detail.value, detail);\n } else {\n if (hasItem) {\n if (this.required && this.selectedMap.size === 1) return;\n this.selectedMap.delete(detail.value);\n }\n }\n } else {\n if (detail.selected) {\n this.selectedMap.clear();\n this.selectedMap.set(detail.value, detail);\n } else {\n if (!this.required) this.selectedMap.clear();\n }\n this.open = false;\n }\n\n const optionElements = this.el.querySelectorAll(DropdownItemSelector);\n\n forEach(\n optionElements,\n (option) => setAttr(option, 'selected', this.selectedMap.has(option.getAttribute('value')))\n );\n\n this.changeSelection.emit(this.setSelected(this.selectedMap, optionElements));\n }\n\n private setSelected = (selectedMap: typeof this.selectedMap, optionNodes?: NodeListOf<Element>): DropdownItemData[] => {\n const values = Array.from(selectedMap.values());\n const options = optionNodes || this.el.querySelectorAll(DropdownItemSelector);\n\n this.selected = values.length === options.length ?\n ['Alle ausgewählt'] : values.length > 2 ?\n [`${values.length} ausgewählt`] : values.map((v) => v.text);\n\n return values;\n };\n\n private handleOpen = () => {\n if (this.disabled || this.open || this.loading) return;\n this.open = true;\n };\n\n private handleClickOutside = (ev: MouseEvent) => {\n if (!this.open || this.el.contains(ev.target as Node)) return;\n\n if (this.open) this.open = false;\n }\n\n private addListeners = () => {\n document.body.addEventListener('click', this.handleClickOutside);\n }\n\n private removeListeners = () => {\n document.body.removeEventListener('click', this.handleClickOutside);\n }\n\n private setDefaultValues = () => {\n if (!this.defaultValue) return;\n\n // Needs to wait next Javascript tik\n setTimeout(() => {\n const options = this.el.querySelectorAll(DropdownItemSelector);\n\n forEach(\n options,\n (option) => {\n const dropdownItemData: DropdownItemData = {\n value: option.getAttribute('value'),\n text: (option as any).innerText,\n selected: `${this.defaultValue}` === option.getAttribute('value'),\n };\n\n if (dropdownItemData.selected) {\n setAttr(option, 'selected', dropdownItemData.selected);\n this.selectedMap.set(dropdownItemData.value, dropdownItemData);\n }\n }\n );\n\n this.setSelected(this.selectedMap, options);\n });\n };\n\n render() {\n return (\n <Host\n class=\"xv-dropdown\"\n role=\"combobox\"\n size={this.size}\n open={this.open}\n error={this.error}\n disabled={this.disabled}\n tabindex={this.disabled ? -1 : false}>\n <label class=\"label\">\n <slot name=\"label\">{this.label}</slot>\n {this.info && <xv-tooltip-v2 class=\"label_info\" message={this.info}></xv-tooltip-v2>}\n </label>\n\n <div class=\"xv-dropdown-control control\" onClick={this.handleOpen}>\n {this.selected.length ? (\n <p class=\"control_value\">{this.selected.join(', ')}</p>\n ) : (\n <p class=\"control_placeholder\">{this.placeholder || ''}</p>\n )}\n\n {this.renderIcon()}\n\n <svg class=\"control_arrow\" focusable=\"false\" preserveAspectRatio=\"xMidYMid meet\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"currentColor\" aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n <path d=\"M8 11L3 6 3.7 5.3 8 9.6 12.3 5.3 13 6z\"></path>\n </svg>\n </div>\n\n {this.open && <div class=\"options\">\n <slot key=\"xv-dropdown-options\" />\n </div>}\n\n {(this.helper || this.error || this.warning) && (\n <p class=\"helper\">{this.error || this.warning || this.helper}</p>\n )}\n </Host>\n );\n }\n\n componentWillLoad() {\n this.setDefaultValues();\n }\n\n componentDidLoad() {\n this.openChangeHandle();\n }\n\n disconnectedCallback() {\n this.removeListeners();\n }\n\n private renderIcon(): undefined | HTMLElement {\n if (this.loading) {\n return <xv-loader-v2 class=\"control_icon error\" size={SIZE_VAR.XS} />\n }\n\n if (this.error) {\n return (\n <svg class=\"control_icon error\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path fill=\"currentColor\"\n d=\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24l0 112c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-112c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\" />\n </svg>\n )\n }\n\n if (!this.error && !!this.warning) {\n return (\n <svg class=\"control_icon warning\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path fill=\"currentColor\" d=\"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\" />\n </svg>\n );\n }\n\n return undefined;\n }\n}\n",":host {\n display: block;\n .checkmark {\n position: absolute;\n right: 12px;\n top: var(--dropdown-padding-y, 10px);\n width: 5px;\n height: 10px;\n border: solid var(--icon-primary, #333);\n border-width: 0 2px 2px 0;\n transform: rotate(45deg);\n transition: opacity 0.2s;\n }\n}\n\n\n","import { Component, Host, h, Event, EventEmitter, Listen, Prop, Element } from '@stencil/core';\nimport { DropdownItemData } from '../_vars';\n\n/**\n * xv-dropdown-item — custom dropdown list item\n * if you want to create new dropdown list item you need to extend current class properties and\n * events\n * should be created and emitted 'itemSelected' event\n */\n@Component({\n tag: 'xv-dropdown-v2-item',\n styleUrl: 'xv-dropdown-item.scss',\n shadow: true,\n})\nexport class XvDropdownItem {\n @Element() el: HTMLElement;\n @Prop() disabled: boolean = false;\n @Prop({ reflect: true, mutable: true }) value: DropdownItemData['value'] = '';\n @Prop({ reflect: true, mutable: true }) selected: DropdownItemData['selected'] = false;\n @Event() itemSelected: EventEmitter<DropdownItemData>;\n\n @Listen('click')\n handleClick() {\n if (this.disabled) return;\n\n this.itemSelected.emit({\n selected: !this.selected,\n value: this.value,\n text: this.el.innerText\n });\n }\n\n\n render() {\n return (\n <Host class=\"xv-dropdown-item\" value={this.value} role=\"option\" tabindex={this.disabled ? -1 : false}>\n <slot></slot>\n\n {this.selected && <span class=\"checkmark\" />}\n </Host>\n );\n }\n\n componentWillLoad() {\n if (!this.value) this.value = this.el.innerText;\n }\n}\n","export enum XvFileUploaderVariants {\n BUTTON = 'button',\n DRAG_DROP = 'drag-drop'\n}\n",":host {\n font-family: inherit;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-05);\n font-size: 14px;\n\n .label {\n font-weight: 600;\n font-size: 1em;\n color: var(--text-primary);\n }\n\n .description {\n font-size: 1em;\n margin: 0;\n color: var(--text-secondary);\n }\n\n .upload-btn {\n padding: 0 1.14em;\n border-radius: 0.285em;\n background-color: var(--background-inverse);\n color: var(--text-inverse);\n border: none;\n cursor: pointer;\n font-size: 1em;\n height: 2.86em;\n transition: 250ms ease-in-out background-color;\n\n &:hover {\n background-color: var(--background-inverse-hover);\n }\n }\n\n .drop-zone {\n border: 1px dashed var(--border-strong-01);\n background-color: transparent;\n padding: 1.14em;\n border-radius: 0.285em;\n transition: border-color 0.2s ease, background-color 0.2s ease;\n font-size: 1em;\n cursor: pointer;\n\n &.active {\n border-color: var(--border-interactive);\n background-color: var(--background-active);\n }\n\n &:hover {\n background-color: var(--background-hover);\n }\n }\n\n .file-list {\n list-style: none;\n padding: 0;\n margin: 0;\n display: flex;\n flex-direction: column;\n gap: 8px;\n\n .file {\n border-radius: 3px;\n background-color: var(--layer-01, #F7F7F7);\n font-size: 1em;\n &_container {\n padding: var(--spacing-04) var(--spacing-05);\n display: flex;\n justify-content: space-between;\n align-items: center;\n &_name {\n flex: 1;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n color: var(--text-primary, #333);\n font-style: normal;\n font-weight: 400;\n line-height: 128.571%;\n letter-spacing: 0.16px;\n padding-right: var(--spacing-04);\n }\n\n &_errorIcon {\n color: var(--text-error);\n margin-right: var(--spacing-03);\n }\n }\n\n &.withError {\n outline: 2px solid var(--support-error);\n }\n }\n }\n\n .error-container {\n padding: var(--spacing-04) var(--spacing-05);\n border-top: 1px solid var(--border-subtle-01);\n font-size: 0.858em;\n font-style: normal;\n font-weight: 400;\n color: var(--text-error);\n &_primary,\n &_secondary {\n margin: 0;\n padding: 0;\n }\n\n &__secondary {\n color: var(--text-secondary, #515151);\n }\n }\n}\n\n:host(.disabled) {\n pointer-events: none;\n opacity: 0.6;\n\n .upload-btn,\n .drop-zone {\n cursor: not-allowed;\n background-color: var(--button-disabled-background, #ccc);\n color: var(--button-disabled-text, #666);\n border-color: var(--border-disabled, #bbb);\n }\n\n .remove-btn {\n display: none;\n }\n}\n\n// Size variants\n:host([size='xs']) {\n font-size: 10px;\n}\n:host([size='sm']) {\n font-size: 12px;\n}\n:host([size='md']) {\n font-size: 14px;\n}\n:host([size='lg']) {\n font-size: 18px;\n}\n:host([size='xl']) {\n font-size: 22px;\n}\n","import { Component, EventEmitter, Event, h, Host, Prop, State, Fragment } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\nimport { XvFileUploaderVariants } from './_vars';\n\n@Component({\n tag: 'xv-file-uploader',\n styleUrl: 'xv-file-uploader.scss',\n shadow: true,\n})\nexport class XvFileUploader {\n @Prop() label?: string;\n @Prop() description?: string;\n @Prop({ attribute: 'add-text' }) addText?: string;\n @Prop() variant: XvFileUploaderVariants = XvFileUploaderVariants.BUTTON;\n @Prop() size: SIZE_VAR = SIZE_VAR.MD;\n @Prop() accept: string[] = [];\n @Prop({ attribute: 'max-file-size-mb' }) maxFileSizeMB: number = 5;\n @Prop({ attribute: 'max-files' }) maxFiles: number = 20;\n @Prop() multiple: boolean = true;\n @Prop({ reflect: true }) disabled?: boolean;\n @Prop({ reflect: true, mutable: true }) files: File[] = [];\n @Prop({ reflect: true, mutable: true, attribute: 'loading-states' }) loadingStates: ('loading' | 'success' | 'uploaded')[] = [];\n @Prop({ reflect: true, mutable: true }) error?: string;\n @Prop({ reflect: true, mutable: true }) errors: string[] | { primary: string; secondary: string; }[] = [];\n\n @State() dragActive = false;\n @State() errorMessages: string[] = [];\n\n @Event() filesChange: EventEmitter<File[]>;\n\n private fileInput: HTMLInputElement;\n\n private onFileSelect = (event: Event) => {\n const input = event.target as HTMLInputElement;\n const selectedFiles = Array.from(input.files || []);\n this.handleFiles(selectedFiles);\n };\n\n private onDrop = (event: DragEvent) => {\n event.preventDefault();\n this.dragActive = false;\n const droppedFiles = Array.from(event.dataTransfer?.files || []);\n this.handleFiles(droppedFiles);\n };\n\n private handleFiles = (files: File[]) => {\n this.files = this.validation(this.multiple ? [...this.files, ...files] : files);\n this.filesChange.emit(this.files);\n };\n\n private validation(files: File[]): File[] {\n const maxSize = this.maxFileSizeMB * 1024 * 1024;\n const seenFileNames = new Set<string>();\n const errorMessages: (string | null)[] = [];\n const uniqueFiles: File[] = [];\n\n for (const file of files) {\n let error: string | undefined = null;\n\n if (!seenFileNames.has(file.name)) {\n seenFileNames.add(file.name);\n uniqueFiles.push(file);\n }\n\n const extension = file.name.split('.').pop()?.toLowerCase();\n const isAccepted =\n this.accept.length === 0 ||\n this.accept.some(type => {\n const normalized = type.toLowerCase().replace(/^\\./, '');\n return normalized === extension;\n });\n\n if (!isAccepted) {\n error = 'Unsupported file type.';\n } else if (file.size > maxSize) {\n error = `File ${file.name} is too large.`;\n }\n\n errorMessages.push(error);\n }\n\n this.error = uniqueFiles.length > this.maxFiles\n ? `Only ${this.maxFiles} file(s) allowed.`\n : null;\n\n this.errorMessages = errorMessages;\n\n return uniqueFiles;\n }\n\n private removeFile(index: number) {\n this.files = this.validation([...this.files.slice(0, index), ...this.files.slice(index + 1)]);\n this.filesChange.emit(this.files);\n if (this.fileInput) {\n this.fileInput.value = '';\n }\n }\n\n private onDragOver = (event: DragEvent) => {\n event.preventDefault();\n this.dragActive = true;\n };\n\n private onDragLeave = () => {\n this.dragActive = false;\n };\n\n render() {\n return (\n <Host class={{ 'upload-wrapper': true, [`uploader-${this.size}`]: true, disabled: !!this.disabled }}>\n {this.label && <label class=\"label\">{this.label}</label>}\n {this.description && <p class=\"description\">{this.description}</p>}\n {this.variant === 'button' ? (\n <button disabled={this.disabled} class=\"upload-btn\" onClick={() => this.fileInput.click()}>\n {this.addText || 'Dateien auswählen'}\n </button>\n ) : (\n <div\n class={{ 'drop-zone': true, active: this.dragActive }}\n onDrop={this.onDrop}\n onDragOver={this.onDragOver}\n onDragLeave={this.onDragLeave}\n onClick={() => this.fileInput.click()}\n >\n {this.addText || 'Dateien hierher ziehen oder darauf klicken, um eine Datei auszuwählen.'}\n {this.accept?.length > 0 && <span> ({this.accept.join(', ')})</span>}\n </div>\n )}\n\n <input\n ref={el => (this.fileInput = el)}\n type=\"file\"\n hidden\n onChange={this.onFileSelect}\n multiple={this.multiple}\n accept={this.accept.map(type => `.${type}`).join(',')}\n />\n\n <ul class=\"file-list\">\n {this.files.map((file, index) => (\n <li class={{ file: true, withError: !!(this.errors?.[index] || this.errorMessages?.[index]) }}>\n <div class=\"file_container\">\n <span class=\"file_container_name\">{file.name}</span>\n {this._renderLoaderState(index)}\n </div>\n {this._renderError(index)}\n </li>\n ))}\n </ul>\n {this.error && (\n <div class=\"error-container\">\n <p class=\"error-container_primary\">{this.error}</p>\n </div>\n )}\n </Host>\n );\n }\n\n private _renderLoaderState(index: number) {\n const state = this.loadingStates?.[index] || null;\n\n const errorIcon = this.errors?.[index] || this.errorMessages?.[index] ? (\n <svg class=\"file_container_errorIcon\" width=\"16\" height=\"16\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path fill=\"currentColor\"\n d=\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24l0 112c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-112c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\" />\n </svg>\n ) : null;\n\n switch (state) {\n case 'loading':\n return (\n <Fragment>\n {errorIcon}\n <xv-loader-v2 size={SIZE_VAR.XS} />\n </Fragment>\n );\n case 'success':\n return (\n <Fragment>\n {errorIcon}\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 18 16\" fill=\"none\">\n <path\n d=\"M9 16C6.125 16 3.5 14.5 2.0625 12C0.625 9.53125 0.625 6.5 2.0625 4C3.5 1.53125 6.125 0 9 0C11.8438 0 14.4688 1.53125 15.9062 4C17.3438 6.5 17.3438 9.53125 15.9062 12C14.4688 14.5 11.8438 16 9 16ZM12.5312 6.53125H12.5C12.8125 6.25 12.8125 5.78125 12.5 5.46875C12.2188 5.1875 11.75 5.1875 11.4688 5.46875L8 8.96875L6.53125 7.5C6.21875 7.1875 5.75 7.1875 5.46875 7.5C5.15625 7.78125 5.15625 8.25 5.46875 8.53125L7.46875 10.5312C7.75 10.8438 8.21875 10.8438 8.53125 10.5312L12.5312 6.53125Z\"\n fill=\"#97BF0D\" />\n </svg>\n </Fragment>\n );\n case 'uploaded':\n default:\n return (\n <Fragment>\n {errorIcon}\n <xv-button-v2 variant=\"ghost\" size={SIZE_VAR.XS} onClick={() => this.removeFile(index)}>\n <span slot=\"icon-left\">×</span>\n </xv-button-v2>\n </Fragment>\n );\n }\n }\n\n private _renderError(index: number) {\n const error = this.errors?.[index] || this.errorMessages?.[index];\n\n if (!error) return;\n\n if (typeof error === 'object') {\n return (\n <div class=\"error-container\">\n <p class=\"error-container_primary\">{error.primary}</p>\n <p class=\"error-container_secondary\">{error.secondary}</p>\n </div>\n );\n }\n\n if (typeof error === 'string') {\n return (\n <div class=\"error-container\">\n <p class=\"error-container_primary\">{error}</p>\n </div>\n );\n }\n\n return null;\n }\n}\n","%svg-common {\n background: url(\"https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.svg\") no-repeat;\n}\n\n.svg-assets--src--project--images--svg-sprite--facebook {\n @extend %svg-common;\n background-position: 0 100%;\n width: 32px;\n height: 32px;\n}\n\n.svg-assets--src--project--images--svg-sprite--instagram {\n @extend %svg-common;\n background-position: 14.545454545454545% 100%;\n width: 32px;\n height: 32px;\n}\n\n.svg-assets--src--project--images--svg-sprite--kauf-auf-rechnung {\n @extend %svg-common;\n background-position: 0 0;\n width: 84px;\n height: 58px;\n}\n\n.svg-assets--src--project--images--svg-sprite--linkedin {\n @extend %svg-common;\n background-position: 29.09090909090909% 100%;\n width: 32px;\n height: 32px;\n}\n\n.svg-assets--src--project--images--svg-sprite--mastercard {\n @extend %svg-common;\n background-position: 50% 0;\n width: 84px;\n height: 58px;\n}\n\n.svg-assets--src--project--images--svg-sprite--paypal {\n @extend %svg-common;\n background-position: 0 64.44444444444444%;\n width: 84px;\n height: 58px;\n}\n\n.svg-assets--src--project--images--svg-sprite--sepa {\n @extend %svg-common;\n background-position: 50% 64.44444444444444%;\n width: 84px;\n height: 58px;\n}\n\n.svg-assets--src--project--images--svg-sprite--visa {\n @extend %svg-common;\n background-position: 100% 0;\n width: 84px;\n height: 58px;\n}\n\n.svg-assets--src--project--images--svg-sprite--vorkasse {\n @extend %svg-common;\n background-position: 100% 64.44444444444444%;\n width: 84px;\n height: 58px;\n}\n\n.svg-assets--src--project--images--svg-sprite--xing {\n @extend %svg-common;\n background-position: 43.63636363636363% 100%;\n width: 32px;\n height: 32px;\n}\n\n.svg-assets--src--project--images--svg-sprite--youtube {\n @extend %svg-common;\n background-position: 58.18181818181818% 100%;\n width: 32px;\n height: 32px;\n}\n\n.sprite-icon-beachten {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: -90px 0px;\n\twidth: 80px;\n\theight: 80px;\n}\n.sprite-icon-buchen {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: 0px -82px;\n\twidth: 80px;\n\theight: 80px;\n}\n.sprite-icon-direct {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: -284px -99px;\n\twidth: 21px;\n\theight: 21px;\n}\n.sprite-icon-downloads {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: -80px -82px;\n\twidth: 80px;\n\theight: 80px;\n}\n.sprite-icon-kino {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: -305px -99px;\n\twidth: 21px;\n\theight: 21px;\n}\n.sprite-icon-kosten {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: -170px 0px;\n\twidth: 80px;\n\theight: 80px;\n}\n.sprite-icon-kreation {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: -170px -80px;\n\twidth: 80px;\n\theight: 80px;\n}\n.sprite-icon-logo-full {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: 0px -242px;\n\twidth: 189px;\n\theight: 32px;\n}\n.sprite-icon-logo-small {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: -250px -99px;\n\twidth: 34px;\n\theight: 34px;\n}\n.sprite-icon-mobile {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: -326px -99px;\n\twidth: 21px;\n\theight: 21px;\n}\n.sprite-icon-online {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: -347px -99px;\n\twidth: 21px;\n\theight: 21px;\n}\n.sprite-icon-partner-agma {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: -250px -66px;\n\twidth: 88px;\n\theight: 33px;\n}\n.sprite-icon-partner-bvdw {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: -338px -66px;\n\twidth: 88px;\n\theight: 33px;\n}\n.sprite-icon-partner-climate {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: -250px 0px;\n\twidth: 186px;\n\theight: 33px;\n}\n.sprite-icon-partner-google {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: 0px 0px;\n\twidth: 90px;\n\theight: 82px;\n}\n.sprite-icon-partner-microsoft {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: -250px -33px;\n\twidth: 186px;\n\theight: 33px;\n}\n.sprite-icon-plakat {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: -368px -99px;\n\twidth: 21px;\n\theight: 21px;\n}\n.sprite-icon-print {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: -389px -99px;\n\twidth: 21px;\n\theight: 21px;\n}\n.sprite-icon-radio {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: -410px -99px;\n\twidth: 21px;\n\theight: 21px;\n}\n.sprite-icon-services {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: -250px -133px;\n\twidth: 21px;\n\theight: 21px;\n}\n.sprite-icon-topangebote {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: -271px -133px;\n\twidth: 21px;\n\theight: 21px;\n}\n.sprite-icon-tv {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: -292px -133px;\n\twidth: 21px;\n\theight: 21px;\n}\n.sprite-icon-werbeformen {\n\tbackground-image: url(https://crossvertise.blob.core.windows.net/assets/images/xv-sprite.png?1739974291120);\n\tbackground-position: 0px -162px;\n\twidth: 80px;\n\theight: 80px;\n}\n","import { Component, h,Element, State } from '@stencil/core';\n\n@Component({\n tag: 'xv-footer',\n styleUrl: 'xv-footer.scss',\n})\nexport class Xvfooter {\n @State() htmlContent: string = '';\n @Element() el: HTMLElement;\n\n async componentWillLoad() {\n try {\n const response = await fetch('https://crossvertise.blob.core.windows.net/nav-sync-qa/footer.html');\n const text = await response.text();\n this.htmlContent = text;\n } catch (error) {\n console.error('Failed to fetch footer HTML:', error);\n }\n }\n\n render() {\n return (\n <footer>\n <div innerHTML={this.htmlContent}></div>\n </footer>\n );\n }\n}\n","@import '../../global.scss';\n.media-nav-dropdown:hover > .dropdown-menu {\n display: block;\n}\n\n.alle-kategorien-menu li:hover > ul{\n display: block;\n}\n\n#nav-container .media-nav #media-menu-item-alle-kategorien li:hover > ul{\n display: block;\n}","import { Component, h,Element, State } from '@stencil/core';\n\n@Component({\n tag: 'xv-header',\n styleUrl: 'xv-header.scss',\n})\nexport class XvHeader {\n @State() htmlContent: string = '';\n @State() showLoginModal = false;\n @Element() el: HTMLElement;\n\n\n private openLoginModal = () => {\n this.showLoginModal = true;\n };\n\n private closeLoginModal = () => {\n this.showLoginModal = false;\n };\n\n async componentWillLoad() {\n try {\n const response = await fetch('https://crossvertise.blob.core.windows.net/nav-sync-qa/nav.html');\n const text = await response.text();\n const parser = new DOMParser();\n const doc = parser.parseFromString(text, 'text/html');\n\n const mixedMenu = doc.querySelector('.alle-kategorien-menu');\n const allCategoriesGenerals = doc.querySelector('.alle-kategorien-allgemines');\n const allCategoriesContainer = doc.querySelector('#media-menu-item-alle-kategorien > .dropdown-menu');\n\n if (mixedMenu && allCategoriesGenerals && allCategoriesContainer) {\n allCategoriesContainer.appendChild(mixedMenu);\n allCategoriesContainer.appendChild(allCategoriesGenerals);\n }\n\n this.htmlContent = doc.body.innerHTML;\n } catch (error) {\n console.error('Failed to fetch header HTML:', error);\n }\n }\n\n render() {\n return (\n <div id=\"nav-container\" class=\"xv-header\">\n <nav class=\"navbar navbar-default navbar-fixed-top backend-force-relative\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-sm-3 col-xs-3 col-xxs-4 no-padding-right\">\n <div class=\"navbar-header\">\n <button class=\"btn btn-default navbar-toggle pull-left navbar-btn\" data-toggle=\"collapse\" data-target=\"#main-menu\">\n <i class=\"fa fa-bars fa-lg\" aria-hidden=\"true\"></i>\n </button>\n <div class=\"visible-xs-inline\">\n <a href=\"https://www.crossvertise.com/\" class=\"navbar-brand\">\n <img src=\"https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo-small.svg\" alt=\"Crossvertise\" />\n </a>\n </div>\n <div class=\"hidden-xs\">\n <a href=\"https://www.crossvertise.com/\" class=\"navbar-brand\">\n <img loading=\"lazy\" src=\"https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo.svg\" alt=\"Crossvertise\" />\n </a>\n </div>\n </div>\n </div>\n <div class=\"col-sm-9 col-xs-9 col-xxs-8 no-padding-left\">\n <ul class=\"nav nav-pills nav-meta pull-right\">\n <li>\n <a class=\"btn btn-link navbar-btn hidden-xs\" href=\"#\">\n <i class=\"fa fa-user\"></i>\n <i class=\"fa fa-exchange-alt\"></i>\n </a>\n </li>\n <li>\n <a class=\"btn btn-link navbar-btn hidden-xs\" href=\"#\">Kontakt</a>\n <a href=\"https://www.crossvertise.com/contact\" class=\"btn btn-link navbar-btn hidden-xs\" style={{ display: 'none' }}>Kontakt</a>\n <a class=\"btn btn-default btn-link navbar-btn visible-xs hidden-xxs\" href=\"#\">\n <i class=\"fa fa-phone\"></i>\n </a>\n </li>\n <li class=\"dropdown\" id=\"my-xv-menu\">\n <a href=\"#\" class=\"dropdown-toggle btn btn-default navbar-btn btn-link\" data-toggle=\"dropdown\">\n <i class=\"fa fa-user fa-lg text-success\" aria-hidden=\"true\"></i>&nbsp;\n <span class=\"hidden-xs\">Mein Bereich</span>\n <span class=\"caret\"></span>\n </a>\n <ul class=\"dropdown-menu-left dropdown-menu navbar-myxv\">\n <li>\n <a href=\"#\"><i class=\"fa fa-tachometer-alt fa-fw\"></i>&nbsp;Cockpitfunktionen&nbsp;<i class=\"fa fa-caret-down\"></i></a>\n </li>\n <li>\n <a href=\"#\"><i class=\"fa fa-cubes\"></i>&nbsp;Entitäten&nbsp;<i class=\"fa fa-caret-down\"></i></a>\n </li>\n <li role=\"separator\" class=\"divider\"></li>\n <li>\n <a href=\"#\"><i class=\"fa fa-user\"></i>&nbsp;Mein Crossvertise&nbsp;<span class=\"badge\">0</span><i class=\"fa fa-caret-down\"></i></a>\n </li>\n <li>\n <a href=\"https://www.crossvertise.com/de-de/mycrossvertise/account/logoff?returnUrl=https%3A%2F%2Fwww.crossvertise.com\">\n <i class=\"fa fa-sign-out-alt fa-fw\" aria-hidden=\"true\"></i>&nbsp;Logout\n </a>\n </li>\n </ul>\n </li>\n <li class=\"visible-sm-block visible-xs-block hidden-xxs\">\n <a class=\"btn btn-default navbar-btn btn-link\" data-toggle=\"collapse\" data-target=\"#search-collapse\">\n <i class=\"fa fa-search\" aria-hidden=\"true\"></i>\n </a>\n </li>\n <li class=\"hidden-xs hidden-sm\">\n <a role=\"button\" onClick={this.openLoginModal} class=\"btn btn-default navbar-btn btn-link\">\n <i class=\"fa fa-user fa-lg\" aria-hidden=\"true\"></i>\n <span>Login</span>\n </a>\n </li>\n <xv-login-modal visible={this.showLoginModal} onClose={this.closeLoginModal}></xv-login-modal>\n <li class=\"hidden-xs\">\n <a class=\"btn btn-default navbar-btn btn-link\" href=\"https://market.crossvertise.com/de-de/mycrossvertise/account/register\">\n <span>Registrieren</span>\n </a>\n </li>\n <li class=\"navbar-divider hidden-xs\"></li>\n <li>\n <a class=\"btn btn-success navbar-btn\" href=\"https://market.crossvertise.com/de-de/mycrossvertise/shoppingcart/activecart\">\n <span class=\"xv-font-icon-warenkorb fa-lg fa-fw\" aria-hidden=\"true\"></span>\n <span class=\"hidden-xs hidden-sm\">&nbsp;Warenkorb&nbsp;</span>\n <span class=\"badge badge-success\">0</span>\n </a>\n </li>\n </ul>\n </div>\n </div>\n </div>\n <div class=\"collapse hidden-md hidden-lg\" id=\"search-collapse\">\n <div class=\"container\">\n <form action=\"https://market.crossvertise.com/de-de/media/search\" class=\"navbar-form\" method=\"get\" role=\"search\">\n <div class=\"input-group\">\n <input class=\"form-control\" name=\"Q\" placeholder=\"Suche\" type=\"text\" autocomplete=\"off\" />\n <span class=\"input-group-btn force-full-width\">\n <button class=\"btn btn-default search-addon\" type=\"submit\">\n <i class=\"fa fa-search\" aria-hidden=\"true\"></i>\n </button>\n </span>\n </div>\n </form>\n </div>\n </div>\n </nav>\n <div innerHTML={this.htmlContent}></div>\n </div>\n );\n }\n}\n",":host {\n font-family: var(--ff-body, inherit);\n}\n\n:host(.xv-link_inline) {\n display: inline-block;\n .xv-link {\n text-decoration-line: underline;\n text-decoration-style: solid;\n text-decoration-skip-ink: none;\n text-decoration-thickness: auto;\n text-underline-offset: auto;\n text-underline-position: from-font;\n }\n}\n\n:host(.xv-link_standalone) {\n display: block;\n .xv-link {\n display: block;\n text-decoration-line: none;\n }\n}\n\n:host(.xv-link_ghost) {\n .xv-link {\n color: inherit;\n text-decoration: none;\n }\n}\n\n.xv-link {\n display: inline-flex;\n gap: 8px;\n align-items: center;\n color: var(--link-primary);\n font-family: var(--ff-body);\n font-style: normal;\n font-weight: 400;\n transition: color 200ms ease-in-out;\n\n &:active {\n color: var(--text-primary);\n }\n\n &:visited {\n color: var(--link-visted);\n }\n\n &:hover {\n color: var(--link-primary-hover);\n cursor: pointer;\n }\n\n &:disabled, &_disabled, &::part(disabled) {\n color: var(--text-disabled);\n pointer-events: none;\n cursor: initial;\n }\n\n &.sm {\n font-size: var(--fz-sm);\n line-height: 137.5%;\n }\n\n &.md {\n font-size: var(--fz-md);\n line-height: 128.571%;\n }\n\n &.lg {\n font-size: var(--fz-lg);\n line-height: 133.333%;\n }\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'xv-link-v2',\n styleUrl: 'xv-link.scss',\n shadow: true,\n})\nexport class XvLink {\n @Prop() href: string;\n @Prop() target: '_self' | '_blank' | '_parent' | '_top';\n @Prop() disabled: boolean = false;\n @Prop() size: 'sm' | 'md' | 'lg' = 'md';\n @Prop() variant: 'standalone' | 'inline' | 'ghost' = 'inline';\n\n preventLinkHandler(e: PointerEvent) {\n if (!this.disabled) return;\n\n e.preventDefault();\n e.stopPropagation();\n }\n\n render() {\n return (\n <Host class={`xv-link_${this.variant}`}>\n <a\n href={this.href}\n onClick={this.preventLinkHandler.bind(this)}\n class={`xv-link ${this.disabled ? 'xv-link_disabled' : ''} ${this.size}`}\n target={this.target}\n >\n <slot name=\"icon-left\"></slot>\n\n <slot></slot>\n\n <slot name=\"icon-right\"></slot>\n </a>\n </Host>\n );\n }\n}\n",":host(.xv-loader) {\n display: inline-flex;\n align-items: center;\n gap: 0.5rem;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n\n .spinner {\n color: var(--text-secondary, #515151);\n font-size: inherit;\n border: calc(max(4px, 0.1em)) solid rgba(0, 0, 0, 0.1);\n border-top-color: var(--highlight-01, #CEDE94);\n border-radius: 50%;\n animation: spin 0.8s linear infinite;\n width: 1em;\n height: 1em;\n min-width: 1em;\n min-height: 1em;\n max-width: 1em;\n max-height: 1em;\n }\n\n ::slotted(*) {\n font-family: var(--ff-heading, \"IBM Plex Sans\");\n color: inherit;\n margin-top: 0;\n margin-bottom: 0;\n font-size: inherit;\n line-height: 133.333%;\n letter-spacing: 0.32px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n\n:host([variant=\"vertical\"]) {\n flex-direction: column;\n}\n\n:host([size=\"xs\"]) {\n font-size: var(--fz-xs, 9px);\n}\n:host([size=\"sm\"]) {\n font-size: var(--fz-sm, 12px);\n}\n:host([size=\"md\"]) {\n font-size: inherit;\n}\n:host([size=\"lg\"]) {\n font-size: var(--spacing-08, 40px);\n}\n:host([size=\"xl\"]) {\n font-size: var(--spacing-12, 96px);\n}\n\n/* Animation */\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\n\n@Component({\n tag: 'xv-loader-v2',\n styleUrl: 'xv-loader.scss',\n shadow: true,\n})\nexport class XvLoader {\n /**\n * Is component displayed\n */\n @Prop() show: boolean = true;\n /**\n * Message direction\n */\n @Prop() variant: 'vertical' | 'horizontal' = 'horizontal';\n /**\n * Size of loader. Default size depends of font size\n */\n @Prop() size: SIZE_VAR = SIZE_VAR.MD;\n\n render() {\n if (!this.show) return null;\n\n return (\n <Host class={{ 'xv-loader': true }} size={this.size}>\n <slot name=\"before\"></slot>\n <div class={{spinner: true }}></div>\n <slot></slot>\n </Host>\n );\n }\n}\n","@import '../../global.scss';\n","import { Component, Event, EventEmitter, h, Prop, State } from '@stencil/core';\n\ntype OAuthProvider = {\n displayName: string;\n providerName: string;\n icon: string;\n buttonClass: string;\n};\n\n@Component({\n tag: 'xv-login-modal',\n styleUrl: 'xv-login-modal.scss',\n shadow: true,\n})\nexport class XvLoginModal {\n @Prop() visible: boolean = false;\n @Event() close: EventEmitter<void>;\n @State() oauthProviders: OAuthProvider[] = [];\n @State() bookNow: boolean = false;\n @State() returnUrl: string = '/';\n @State() passwordLoginEnabled: boolean = true;\n @State() oauthLoginEnabled: boolean = true;\n @State() passwordRegistrationEnabled: boolean = true;\n @State() configurationName: string = 'Xv';\n @State() xvMvcConfigName: string = 'Xv';\n @State() contactUrl: string = 'https://sitefinity-qa.crossvertise.com/ueber-uns/kontakt';\n\n componentWillLoad() {\n this.setReturnUrl();\n this.readMetaNavCookie();\n this.oauthProviders = [\n {\n displayName: 'Google',\n providerName: 'Google',\n icon: 'fa fa-google',\n buttonClass: 'btn btn-block btn-google-primary btn-primary',\n },\n ];\n }\n\n private setReturnUrl() {\n const params = new URLSearchParams(window.location.search);\n let url = params.get('returnUrl') || window.location.href;\n if (url.toLowerCase().includes('resetpassword')) {\n url = '/';\n }\n this.returnUrl = url;\n }\n\n private readMetaNavCookie() {\n const metaNavCookie = document.cookie\n .split('; ')\n .find(row => row.startsWith('metaNav='));\n if (!metaNavCookie) return;\n try {\n const cookieValue = decodeURIComponent(metaNavCookie.split('=')[1]);\n const metaNavObj = JSON.parse(cookieValue);\n this.passwordLoginEnabled = !!metaNavObj.PasswordLoginEnabled;\n this.oauthLoginEnabled = !!metaNavObj.oauthLoginEnabled;\n this.passwordRegistrationEnabled = !!metaNavObj.PasswordRegistrationEnabled;\n this.configurationName = metaNavObj.ConfigurationName;\n this.xvMvcConfigName = metaNavObj.XvMvcConfigName;\n this.contactUrl = metaNavObj.ContactUrl;\n } catch (e) {\n console.warn('Could not parse metaNav cookie:', e);\n }\n }\n\n private handleClose = () => {\n this.close.emit();\n };\n\n private renderPasswordLogin() {\n if (!this.passwordLoginEnabled) return null;\n return (\n <label class=\"pull-right spacer\">\n <a href=\"/de-de/mycrossvertise/account/lostpassword\" target=\"_blank\" rel=\"noopener\">\n Passwort vergessen?\n </a>\n </label>\n );\n }\n\n private renderOAuthProviders() {\n if (!this.oauthLoginEnabled) return null;\n return (\n <div class=\"row\">\n <div class=\"col-xs-12\">\n <div class=\"col-xs-12\">\n <div class=\"row spacer spacer-bottom\">\n <div class=\"col-xs-5\"><hr /></div>\n <div class=\"col-xs-2 text-center placeholder\">oder</div>\n <div class=\"col-xs-5\"><hr /></div>\n <div class=\"col-xs-12\">\n <span>Alternative Anmeldung:</span>\n </div>\n </div>\n </div>\n <div class=\"col-sm-12\">\n <div class=\"col-xs-12 no-padding-right\">\n <form\n method=\"POST\"\n class=\"spacer\"\n action=\"/de-de/mycrossvertise/account/externallogin\"\n >\n <div class=\"row\">\n {this.oauthProviders.map(provider => (\n <div class=\"col-xs-6 col-sm-3 no-padding-left padding-bottom-10 center-cell\">\n <button\n type=\"submit\"\n style={{ maxWidth: '125px' }}\n name=\"provider\"\n class={`cell-content btn btn-primary ${provider.buttonClass} btn-block`}\n value={provider.providerName}\n title={`Mit ${provider.displayName} anmelden`}\n >\n <i class={`${provider.icon} pull-left`}></i>\n <span>{provider.displayName}</span>\n </button>\n </div>\n ))}\n </div>\n <input type=\"hidden\" name=\"BookNow\" value={this.bookNow.toString()} />\n </form>\n </div>\n </div>\n </div>\n </div>\n );\n }\n\n private renderFooter() {\n if (!this.passwordRegistrationEnabled && this.configurationName !== this.xvMvcConfigName) return null;\n return (\n <div class=\"modal-footer\">\n <div class=\"col-sm-12 text-left\">\n {this.passwordRegistrationEnabled && (\n <div>\n Noch kein Kunde?\n <a\n href={`/de-de/mycrossvertise/account/register?returnUrl=${encodeURIComponent(this.returnUrl)}`}\n >\n Jetzt kostenlos registrieren!\n </a>\n </div>\n )}\n {this.configurationName === this.xvMvcConfigName && (\n <div>\n <div class=\"spacer\">Sie sind bereits registriert, können sich aber nicht einloggen?</div>\n <div>\n <a href={this.contactUrl}>Kontaktieren Sie uns</a>, wir kümmern uns darum.\n </div>\n </div>\n )}\n </div>\n </div>\n );\n }\n\n render() {\n if (!this.visible) return null;\n return (\n <div class=\"modal show\" style={{ display: 'block' }} id=\"login-modal\" tabIndex={-1} role=\"dialog\">\n <div class=\"modal-dialog\" role=\"document\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <div class=\"row\">\n <div class=\"col-sm-10\">\n <div class=\"col-xs-12\">\n <h4 class=\"modal-title\">Login</h4>\n </div>\n </div>\n <div class=\"col-xs-1 pull-right\">\n <button onClick={this.handleClose} type=\"button\" class=\"close\">\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n </div>\n </div>\n <div class=\"modal-body\">\n <div class=\"row\">\n <div class=\"col-sm-12\">\n <form\n autoComplete=\"off\"\n id=\"logon-modal-form\"\n action={`/de-de/mycrossvertise/account/logon?returnUrl=${encodeURIComponent(this.returnUrl)}`}\n method=\"post\"\n class=\"spacer\"\n >\n <input type=\"hidden\" name=\"returnUrl\" value={this.returnUrl} />\n <div class=\"form-group spacer-bottom\">\n <div class=\"control-label col-xs-12\">\n <label htmlFor=\"LoginPopup.UserName\">E-Mail</label>\n <strong class=\"text-danger\">*</strong>\n </div>\n <div class=\"col-xs-12\">\n <input class=\"form-control\" id=\"userName\" name=\"UserName\" type=\"text\" tabIndex={1} />\n </div>\n </div>\n <div class=\"form-group spacer\">\n <div class=\"control-label col-xs-6\">\n <label class=\"spacer\" htmlFor=\"LoginPopup.Password\">Passwort</label>\n <strong class=\"text-danger spacer\">*</strong>\n </div>\n <div class=\"col-xs-6\">\n {this.renderPasswordLogin()}\n </div>\n <div class=\"col-xs-12\">\n <input class=\"form-control\" id=\"password\" name=\"Password\" type=\"password\" tabIndex={2} />\n </div>\n </div>\n <div class=\"form-group spacer\">\n <div class=\"col-xs-12\">\n <button class=\"btn btn-primary btn-lg btn-block spacer\" type=\"submit\" tabIndex={3}>\n Anmelden\n </button>\n </div>\n </div>\n <div class=\"form-group\">\n <div class=\"checkbox col-xs-12\">\n <label htmlFor=\"RememberMe\">\n <input id=\"RememberMe\" name=\"RememberMe\" type=\"checkbox\" value=\"true\" />\n Angemeldet bleiben?\n </label>\n </div>\n </div>\n </form>\n </div>\n </div>\n {this.renderOAuthProviders()}\n </div>\n {this.renderFooter()}\n </div>\n </div>\n </div>\n );\n }\n}\n",":host {\n display: inline-flex;\n\n .backdrop {\n position: fixed;\n inset: 0;\n background: rgba(0, 0, 0, 0.4);\n opacity: 0;\n pointer-events: none;\n transition: opacity 0.3s ease;\n z-index: 1000;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n .modal {\n display: flex;\n flex-direction: column;\n max-height: 60vh;\n max-width: 960px;\n position: relative;\n animation: fadeIn 0.25s ease;\n padding-block: var(--gap-md, 16px);\n background: var(--layer-02, #FFF);\n box-shadow: 0 6px 10px 4px rgba(39, 52, 53, 0.15), 0 2px 3px 0 rgba(39, 52, 53, 0.30);\n\n &_header {\n position: relative;\n padding-inline: var(--gap-md, 16px);\n &__title {\n color: var(--text-text-primary, #333);\n font-family: var(--ff-heading, \"Gill Sans\");\n font-size: var(--fz-xl, 21px);\n line-height: 133.333%;\n margin: 0 20px 0 0;\n }\n }\n\n &_content {\n padding: var(--gap-md, 16px);\n overflow: visible;\n &.overflow {\n overflow: auto;\n }\n }\n\n &_footer {\n position: relative;\n padding-inline: var(--gap-md, 16px);\n }\n\n &_close {\n z-index: +1;\n cursor: pointer;\n border: none;\n outline: none;\n font-size: 28px;\n background-color: transparent;\n position: absolute;\n right: 10px;\n top: 10px;\n transition: 350ms ease-in-out opacity;\n &:hover {\n opacity: 0.6;\n }\n &:active {\n opacity: 0.3;\n }\n }\n }\n}\n\n:host([open]) {\n .backdrop {\n opacity: 1;\n pointer-events: all;\n }\n}\n\n:host([size=\"xs\"]) {\n .modal {\n max-width: min(300px, 90vw);\n }\n}\n:host([size=\"sm\"]) {\n .modal {\n max-width: min(480px, 90vw);\n }\n}\n:host([size=\"md\"]) {\n .modal {\n max-width: min(600px, 90vw);\n }\n}\n:host([size=\"lg\"]) {\n .modal {\n max-width: min(960px, 90vw);\n }\n}\n:host([size=\"xl\"]) {\n .modal {\n max-width: min(1200px, 80vw);\n }\n}\n\n@keyframes fadeIn {\n from {\n transform: translateY(-10px);\n opacity: 0;\n }\n to {\n transform: translateY(0);\n opacity: 1;\n }\n}\n","import { Component, Host, h, Prop, Element, Event, EventEmitter, Method } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\n\n@Component({\n tag: 'xv-modal-v2',\n styleUrl: 'xv-modal.scss',\n shadow: true,\n})\nexport class XvModal {\n @Element() el: HTMLElement;\n /**\n * Is modal opened\n */\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\n /**\n * If true then modal not be closed on backdrop click\n */\n @Prop({ reflect: true }) permanent: boolean = false;\n /**\n * Size of modal. But max size is 90% view width\n */\n @Prop({ reflect: true }) size: SIZE_VAR = SIZE_VAR.MD;\n /**\n * When need scroll modal content\n */\n @Prop({ reflect: true }) overflow: boolean = true;\n\n @Event({ eventName: 'openChange' }) openChange!: EventEmitter<boolean>;\n\n private triggerEl: HTMLElement | null = null;\n\n @Method()\n async openModal() {\n this.open = true;\n this.openChange?.emit(this.open);\n return this.open\n };\n\n @Method()\n async closeModal() {\n this.open = false;\n this.openChange?.emit(this.open);\n return this.open\n }\n\n private onBackdropClick = async (e: MouseEvent) => {\n if (this.permanent) return;\n // click on backdrop\n if (e.target === e.currentTarget) {\n await this.closeModal();\n }\n };\n\n private removeTriggerListener = () => {\n this.triggerEl?.removeEventListener('click', this.openModal.bind(this));\n };\n\n private setupTrigger = () => {\n this.removeTriggerListener();\n const slot = this.el.shadowRoot.querySelector('slot[name=\"trigger\"]') as HTMLSlotElement;\n\n if (slot) {\n const assigned = slot.assignedElements();\n if (assigned.length > 0) {\n this.triggerEl = assigned[0] as HTMLElement;\n this.triggerEl.addEventListener('click', this.openModal.bind(this));\n }\n }\n }\n\n render() {\n return (\n <Host role=\"dialog\" size={this.size} id={this.el.id}>\n <slot name=\"trigger\" onSlotchange={this.setupTrigger} />\n\n <div class={{ backdrop: true }} onClick={this.onBackdropClick}>\n <div class=\"modal\">\n <button class=\"modal_close\" onClick={this.closeModal.bind(this)}>&times;</button>\n <div class=\"modal_header\">\n <slot name=\"header\">\n {this.el?.title && <h5 class=\"modal_header__title\">{this.el.title}</h5>}\n </slot>\n </div>\n\n <div class={{ 'modal_content': true, overflow: this.overflow }}>\n <slot />\n </div>\n\n <div class=\"modal_footer\">\n <slot name=\"footer\" />\n </div>\n </div>\n </div>\n </Host>\n );\n }\n\n disconnectedCallback() {\n this.removeTriggerListener();\n }\n}\n","export enum NOTIFICATION_VARIANTS {\n INFO = 'info',\n SUCCESS = 'success',\n WARNING = 'warning',\n ERROR = 'error'\n}\n",":host {\n --notification-icon-size: 20px;\n\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n justify-content: flex-start;\n border-radius: 3px;\n padding: var(--gap-md, 16px);\n column-gap: var(--gap-md, 16px);\n border: 1px solid;\n\n .content {\n flex: 1;\n text-align: left;\n color: var(--text-primary, #333);\n font-family: var(--ff-body, Tahoma);\n font-size: var(--fz-md, 14px);\n line-height: 128%;\n letter-spacing: 0.16px;\n display: flex;\n flex-direction: column;\n row-gap: var(--spacing-06, 24px);\n word-break: break-all;\n\n &_title {\n text-align: left;\n margin: 0;\n padding: 0;\n font-weight: 700;\n line-height: var(--notification-icon-size);\n }\n }\n\n .icon {\n width: var(--notification-icon-size);\n height: var(--notification-icon-size);\n font-size: var(--notification-icon-size);\n fill: currentColor;\n }\n\n .close {\n --notification-close-size: 16px;\n\n background-color: transparent;\n border: none;\n width: var(--notification-close-size);\n height: var(--notification-close-size);\n min-width: var(--notification-close-size);\n min-height: var(--notification-close-size);\n position: relative;\n padding: 0;\n margin: 0;\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n transition: 300ms ease-in-out opacity;\n\n &:after, &:before {\n content: '';\n position: absolute;\n top: calc(50% - (var(--notification-close-size) / 2));\n left: calc(50% - 1px);\n display: inline-block;\n width: 2px;\n height: 90%;\n background-color: var(--button-tertiary, #273435);\n }\n\n &:after {\n transform: rotate(45deg);\n }\n\n &:before {\n transform: rotate(-45deg);\n }\n\n &:hover {\n opacity: 0.7;\n }\n\n &:active {\n opacity: 0.3;\n }\n }\n\n ::slotted([slot=\"footer\"]) {\n margin: 0;\n padding: 0;\n }\n}\n\n:host([type=\"info\"]) {\n border-color: var(--support-info, #1B87B2);\n background-color: var(--support-info-background, #E2F5F8);\n .icon {\n color: var(--support-info, #1B87B2);\n }\n}\n\n:host([type=\"success\"]) {\n border-color: var(--support-success, #97BF0D);\n background-color: var(--support-success-background, #F4F7E5);\n .icon {\n color: var(--support-success, #1B87B2);\n }\n}\n\n:host([type=\"warning\"]) {\n border-color: var(--support-warning, #FF7F04);\n background-color: var(--support-warning-backround, #FFF9C2);\n .icon {\n color: var(--support-warning, #FF7F04);\n }\n}\n\n:host([type=\"error\"]) {\n border-color: var(--support-error, #F1290E);\n background-color: var(--support-error-background, #FEE9E8);\n .icon {\n color: var(--support-error, #F1290E);\n }\n}\n","import { Component, Host, h, Prop, Element, Event, EventEmitter } from '@stencil/core';\nimport { NOTIFICATION_VARIANTS } from './_vars';\n\n@Component({\n tag: 'xv-notification-v2',\n styleUrl: 'xv-notification.scss',\n shadow: true,\n assetsDirs: ['xv-notification/icons']\n})\nexport class XvNotification {\n @Element() el: HTMLElement;\n @Prop({ reflect: true }) variant: NOTIFICATION_VARIANTS = NOTIFICATION_VARIANTS.INFO;\n @Prop({ reflect: true }) dismissible: boolean = false;\n @Event() close: EventEmitter<MouseEvent>;\n\n private closeHandle = (e: MouseEvent) => this.close.emit(e);\n\n render() {\n return (\n <Host class=\"xv-notification\" type={this.variant}>\n {this.renderIcon(this.variant)}\n\n <div class=\"content\">\n <div class=\"content_wrapper\">\n {this.el.title && <h5 class=\"content_title\">{this.el.title}</h5>}\n <slot></slot>\n </div>\n <slot name=\"footer\"></slot>\n </div>\n\n {this.dismissible && <button class=\"close\" onClick={this.closeHandle} />}\n </Host>\n );\n }\n\n private renderIcon = (variant: NOTIFICATION_VARIANTS, cls: string = 'icon') => {\n switch (variant) {\n case NOTIFICATION_VARIANTS.ERROR: {\n return (\n <svg class={cls} xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path\n d=\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\" />\n </svg>\n );\n }\n case NOTIFICATION_VARIANTS.INFO: {\n return (\n <svg class={cls} xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path\n d=\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\" />\n </svg>\n );\n }\n case NOTIFICATION_VARIANTS.SUCCESS: {\n return (\n <svg class={cls} xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path\n d=\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z\" />\n </svg>\n )\n }\n case NOTIFICATION_VARIANTS.WARNING: {\n return (\n <svg class={cls} xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path\n d=\"M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z\" />\n </svg>\n );\n }\n default:\n return null;\n }\n };\n}\n",":host {\n display: inline-block;\n text-align: left;\n .control {\n &_label {\n display: block;\n margin-bottom: var(--spacing-03);\n color: var(--text-secondary, #515151);\n font-family: var(--ff-body, Tahoma);\n font-size: var(--fz-sm, 12px);\n font-style: normal;\n font-weight: 700;\n line-height: var(--fz-md);\n letter-spacing: 0.32px;\n }\n\n &_input {\n display: flex;\n border: 1px solid var(--border-subtle-01);\n outline: 2px solid transparent;\n background-color: transparent;\n border-radius: 3px;\n transition: 250ms ease-in-out border-color, 250ms ease-in-out outline-color;\n &:hover {\n border-color: var(--border-subtle-selected-01);\n }\n\n &:focus-within {\n outline-color: var(--focus);\n }\n\n &.error {\n outline-color: var(--support-error);\n }\n\n &.readonly {\n border-radius: 0;\n border-top-width: 0;\n border-left-width: 0;\n border-right-width: 0;\n outline-color: transparent;\n }\n\n input[type=\"number\"] {\n flex: 1;\n border: none;\n outline: none;\n -moz-appearance: textfield;\n background-color: transparent;\n margin: 0;\n padding-block: 0;\n padding-inline: var(--spacing-05);\n box-sizing: border-box;\n color: var(--text-primary);\n min-width: 20px;\n font-style: normal;\n font-weight: 400;\n letter-spacing: 0.16px;\n &::-webkit-inner-spin-button,\n &::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n }\n\n &__icons {\n display: inline-flex;\n align-items: stretch;\n column-gap: 2px;\n .status-icon {\n display: inline-flex;\n align-items: center;\n align-self: center;\n font-size: 1.35em;\n &.error {\n background-color: var(--support-error);\n color: white;\n width: 16px;\n height: 16px;\n border-radius: 8px;\n font-size: 12px;\n font-weight: bold;\n align-items: center;\n justify-content: center;\n }\n &.warning {\n color: var(--support-warning);\n }\n }\n\n hr {\n border: none;\n outline: none;\n width: 2px;\n height: 60%;\n align-self: center;\n background-color: var(--border-subtle-01);\n display: inline-flex;\n }\n }\n }\n }\n\n .message {\n margin: var(--spacing-02) 0 0;\n color: var(--text-helper, #646464);\n font-size: var(--fz-sm, 12px);\n font-style: normal;\n font-weight: 400;\n line-height: var(--fz-md, 16px);\n letter-spacing: 0.32px;\n &.error {\n color: var(--text-error);\n }\n &.warning {\n color: var(--text-secondary, #515151);\n }\n }\n}\n\n:host(.disabled) {\n cursor: not-allowed;\n\n .control_label,\n .control_input input[type=\"number\"],\n .control_input input[type=\"number\"]::placeholder,\n .message:not(.error) {\n color: var(--text-disabled);\n cursor: not-allowed;\n }\n\n .control_input__icons,\n .message.error {\n opacity: 0.5;\n cursor: not-allowed;\n }\n}\n\n:host([block]) {\n display: block;\n}\n","import { Component, Host, h, Prop, Event, EventEmitter, AttachInternals } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\n\n@Component({\n tag: 'xv-number-input-v2',\n styleUrl: 'xv-number-input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class XvNumberInput {\n @Prop() label: string;\n @Prop({ reflect: true }) placeholder?: string;\n @Prop({ reflect: true }) name: string;\n @Prop({ reflect: true, mutable: true }) value: number;\n @Event({ eventName: 'valueChange' }) valueChange: EventEmitter<number>;\n @Prop() helper?: string;\n @Prop() error?: string | boolean;\n @Prop() warning?: string | boolean;\n @Prop() step: number = 10;\n @Prop() max?: number;\n @Prop() min?: number;\n @Prop() readonly?: boolean;\n @Prop() disabled?: boolean;\n @Prop() loading: boolean = false;\n @Prop() block?: boolean;\n @Prop({ reflect: true }) size: SIZE_VAR = SIZE_VAR.MD;\n\n @AttachInternals() internals: ElementInternals;\n\n private increment = () => {\n const newValue = (this.value || 0) + this.step;\n if (this.max !== undefined && newValue > this.max) return;\n this.setValue(newValue)\n };\n\n private decrement = () => {\n const newValue = (this.value || 0) - this.step;\n if (this.min !== undefined && newValue < this.min) return;\n this.setValue(newValue)\n };\n\n private handleInput = (event: Event) => {\n const input = event.target as HTMLInputElement;\n const num = parseFloat(input.value) || 0;\n\n if (isNaN(num)) return;\n\n this.setValue(num);\n };\n\n private setValue(value: number) {\n this.value = value;\n this.internals.setFormValue(this.value?.toString());\n this.valueChange.emit(this.value);\n }\n\n render() {\n return (\n <Host class={{ disabled: !!this.disabled }}>\n <label class=\"control\">\n {this.label && <span class=\"control_label\">{this.label}</span>}\n\n <div class={{\n 'control_input': true,\n readonly: !!this.readonly,\n error: !!this.error,\n warning: !!this.warning\n }}>\n <input\n type=\"number\"\n placeholder={this.placeholder}\n disabled={this.disabled}\n readonly={this.readonly}\n onInput={this.handleInput}\n name={this.name}\n min={this.min}\n max={this.max}\n step={this.step}\n value={this.value}\n />\n\n <div class=\"control_input__icons\">\n {this.loading ? (\n <xv-loader-v2 size={SIZE_VAR.XS} />\n ) : !!this.error ? (\n <span class=\"status-icon error\" aria-hidden=\"true\">!</span>\n ) : !!this.warning ? (\n <span class=\"status-icon warning\" aria-hidden=\"true\">⚠</span>\n ) : null}\n <xv-button-v2\n size={this.size}\n variant=\"ghost\"\n disabled={this.disabled || this.readonly}\n onClick={this.decrement}\n aria-label=\"Decrease\"\n ><span slot=\"icon-left\" class=\"status-icon\">−</span></xv-button-v2>\n <hr />\n <xv-button-v2\n size={this.size}\n variant=\"ghost\"\n disabled={this.disabled || this.readonly}\n onClick={this.increment}\n aria-label=\"Increase\"\n ><span slot=\"icon-left\" class=\"status-icon\">+</span></xv-button-v2>\n </div>\n </div>\n </label>\n\n\n {this.helper && <p class=\"message\">{this.helper}</p>}\n {typeof this.error === 'string' ? (\n <p class=\"message error\">{this.error}</p>\n ) : typeof this.warning === 'string' ? (\n <p class=\"message warning\">{this.warning}</p>\n ) : null}\n </Host>\n );\n }\n}\n","$tag: xv-overflow-menu-v2;\n\n:host {\n --overflow-menu-size: 40px;\n --overflow-menu-item-padding: 11px 16px;\n\n display: inline-flex;\n flex-direction: column;\n position: relative;\n\n .btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--overflow-menu-size);\n height: var(--overflow-menu-size);\n background-color: transparent;\n border: 1px solid transparent;\n transition: 300ms ease-in-out color, 300ms ease-in-out background-color, 200ms ease box-shadow;\n font-size: calc(var(--overflow-menu-size) / 2);\n color: var(--icon-primary);\n border-radius: 5%;\n margin: 0;\n padding: 0;\n\n &:hover {\n cursor: pointer;\n color: var(--link-primary-hover);\n background-color: var(--background-hover);\n }\n\n &:active {\n background-color: var(--background-active);\n color: var(--icon-disabled);\n }\n\n &:disabled {\n background-color: transparent;\n opacity: 0.5;\n cursor: not-allowed;\n }\n }\n\n .list {\n display: flex;\n flex-direction: column;\n align-items: stretch;\n justify-content: flex-start;\n background-color: var(--layer-01);\n position: absolute;\n top: 100%;\n left: 0;\n max-height: 0;\n overflow: hidden;\n border-radius: 3px;\n transition: 200ms ease-in-out max-height, 100ms ease box-shadow;\n min-width: 128px;\n max-width: 50vw;\n width: max-content;\n &.open {\n overflow: visible;\n }\n\n ::slotted(#{$tag}-item) {\n padding: var(--overflow-menu-item-padding);\n }\n\n &.position-right {\n left: initial;\n right: 0;\n border-top-right-radius: 0;\n }\n\n &.position-left {\n border-top-left-radius: 0;\n }\n }\n}\n\n:host([size=\"xs\"]) {\n --overflow-menu-item-padding: 4px 16px;\n --overflow-menu-size: 24px;\n}\n:host([size=\"sm\"]) {\n --overflow-menu-size: 32px;\n --overflow-menu-item-padding: 7px 16px;\n}\n:host([size=\"md\"]) {\n --overflow-menu-size: 40px;\n --overflow-menu-item-padding: 11px 16px;\n}\n:host([size=\"lg\"]) {\n --overflow-menu-size: 48px;\n --overflow-menu-item-padding: 16px;\n}\n:host([size=\"xl\"]) {\n --overflow-menu-size: 56px;\n --overflow-menu-item-padding: 16px;\n}\n\n:host([open]) {\n .btn {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n background-color: var(--layer-01);\n box-shadow: -2px 2px 2px 0 rgba(0, 0, 0, 0.1);\n z-index: 1;\n }\n\n .list {\n max-height: 500px;\n z-index: 2;\n box-shadow: -2px 2px 2px 0 rgba(0, 0, 0, 0.1);\n }\n}\n","import { Component, Element, h, Host, Listen, Prop, Watch, Event, EventEmitter } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\nimport { OverflowMenuEvent } from './_vars';\n\n@Component({\n tag: 'xv-overflow-menu-v2',\n styleUrl: 'xv-overflow-menu.scss',\n shadow: true,\n})\nexport class XvOverflowMenu {\n @Element() el: HTMLElement;\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\n @Prop({ reflect: true }) disabled: boolean = false;\n @Prop() position: 'left' | 'right' = 'left';\n @Prop() size: SIZE_VAR = SIZE_VAR.MD;\n @Event() selectItem: EventEmitter<OverflowMenuEvent>;\n\n @Listen('keydown')\n handleKeyDown(ev: KeyboardEvent) {\n if (ev.key === 'Escape'){\n ev.stopPropagation();\n ev.preventDefault();\n this.handleClose();\n }\n }\n\n @Watch('open')\n openChangeHandle() {\n if (this.disabled) return;\n\n if (this.open) {\n this.el.addEventListener('itemClick', this.handleSelectItem);\n document.body.addEventListener('click', this.handleClick);\n } else {\n this.removeListeners();\n }\n }\n\n private handleClose = () => {\n if (this.open) this.open = false;\n }\n\n private removeListeners = () => {\n this.el.removeEventListener('itemClick', this.handleSelectItem);\n document.body.removeEventListener('click', this.handleClick);\n }\n\n private handleClick = (ev: MouseEvent) => {\n if (!this.open || this.el.contains(ev.target as Node)) return;\n\n ev.stopPropagation();\n ev.preventDefault();\n this.handleClose()\n }\n\n private onOpenToggle = () => {\n this.open = !this.open;\n };\n\n private handleSelectItem = ({ detail }: CustomEvent<OverflowMenuEvent>) => {\n this.selectItem.emit(detail);\n this.handleClose();\n }\n\n render() {\n return (\n <Host\n class=\"xv-overflow-menu\"\n size={this.size}\n role=\"menu\"\n tabindex={-1}\n >\n <button class={{ btn: true, open: this.open }} onClick={this.onOpenToggle} disabled={this.disabled}>\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 128 512\">\n <path\n d=\"M64 368a48 48 0 1 0 0 96 48 48 0 1 0 0-96zm0-160a48 48 0 1 0 0 96 48 48 0 1 0 0-96zM112 96A48 48 0 1 0 16 96a48 48 0 1 0 96 0z\" />\n </svg>\n </button>\n <div class={{list: true, open: this.open, [`position-${this.position}`]: true }}>\n <slot></slot>\n </div>\n </Host>\n );\n }\n\n componentDidLoad() {\n this.openChangeHandle();\n }\n\n disconnectedCallback() {\n this.removeListeners();\n }\n}\n","export interface OverflowMenuEvent {\n value: string | number | object | undefined;\n event: PointerEvent;\n}\n\nexport enum OverflowMenuVariant {\n DEFAULT = '',\n DANGER = 'danger',\n}\n",":host {\n flex: 1;\n display: inline-block;\n background-color: transparent;\n transition: 200ms ease background-color;\n user-select: none;\n text-align: left;\n color: var(--text-secondary, #515151);\n font-family: var(--ff-body, Tahoma);\n font-size: var(--fz-md, 14px);\n line-height: 128.571%;\n letter-spacing: 0.16px;\n}\n:host(:hover) {\n cursor: pointer;\n background-color: var(--layer-hover-01, #E9E9E9);\n}\n:host(:active) {\n background-color: var(--layer-active-01, #D1D1D1);\n}\n:host(:focus) {\n border: 2px solid var(--focus, #273435);\n}\n\n:host([variant=\"danger\"]) {\n background-color: var(--text-error, #D62512);\n color: var(--text-on-color, #FFF);\n}\n:host([variant=\"danger\"]:hover) {\n background-color: var(--support-error, #F1290E);\n}\n:host([variant=\"danger\"]:active) {\n background-color: var(--text-error, #D62512);\n}\n\n:host([disabled]) {\n background-color: var(--layer-01, #F7F7F7) !important;\n color: var(--text-disabled) !important;\n cursor: not-allowed;\n}\n","import { Component, Host, h, Prop, Listen, Event, EventEmitter } from '@stencil/core';\nimport { OverflowMenuEvent, OverflowMenuVariant } from '../_vars';\n\n@Component({\n tag: 'xv-overflow-menu-v2-item',\n styleUrl: 'xv-overflow-menu-item.scss',\n shadow: true,\n})\nexport class XvOverflowMenuItem {\n @Prop({ reflect: true }) disabled: boolean = false;\n @Prop({ reflect: true }) value: OverflowMenuEvent['value'];\n @Prop() variant: OverflowMenuVariant = OverflowMenuVariant.DEFAULT;\n @Event() itemClick: EventEmitter<OverflowMenuEvent>;\n\n @Listen('click')\n handleClick(event: PointerEvent) {\n if (this.disabled) return;\n\n this.itemClick.emit({ event, value: this.value });\n }\n\n render() {\n return (\n <Host\n class=\"xv-overflow-menu-item\"\n role=\"menuitem\"\n disabled={this.disabled}\n >\n <slot></slot>\n </Host>\n );\n }\n}\n","export enum PROGRESS_VARIANTS {\n DEFAULT = '',\n HORIZONTAL = 'horizontal'\n}\n\nexport enum PROGRESS_ITEM_STATUS {\n DONE = 'done',\n NO_STARTED = 'not_started',\n IN_PROGRESS = 'in_progress',\n}\n","$prefix: xv-progress-indicator-v2;\n\n:host {\n --progress-indicator-icon-size: 22px;\n --progress-indicator-font-size: var(--fz-md, 14px);\n\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n font-family: var(--ff-body, inherit);\n overflow-x: auto;\n}\n\n:host([variant=\"horizontal\"]) {\n ::slotted(#{$prefix}-item) {\n flex-direction: row;\n column-gap: var(--gap-xs, 8px);\n justify-content: flex-start;\n padding-left: 0;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n text-align: left;\n }\n}\n\n:host([size=\"xs\"]) {\n --progress-indicator-icon-size: 14px;\n --progress-indicator-font-size: var(--fz-md, 14px);\n}\n:host([size=\"sm\"]) {\n --progress-indicator-icon-size: 16px;\n --progress-indicator-font-size: var(--fz-md, 14px);\n}\n:host([size=\"md\"]) {\n --progress-indicator-icon-size: 22px;\n --progress-indicator-font-size: var(--fz-md, 14px);\n}\n:host([size=\"lg\"]) {\n --progress-indicator-icon-size: 24px;\n --progress-indicator-font-size: var(--fz-lg, 18px);\n}\n:host([size=\"xl\"]) {\n --progress-indicator-icon-size: 32px;\n --progress-indicator-font-size: var(--fz-xl, 20px);\n}\n","import { Component, Host, h, Prop, Watch, Element } from '@stencil/core';\nimport { PROGRESS_ITEM_STATUS, PROGRESS_VARIANTS } from './_vars';\nimport { SIZE_VAR } from '../../types/enum';\nimport { forEach } from '../../utils/utils';\n\n@Component({\n tag: 'xv-progress-indicator-v2',\n styleUrl: 'xv-progress-indicator.scss',\n shadow: true,\n})\nexport class XvProgressIndicator {\n @Element() el: HTMLElement;\n /**\n * Current progress\n * from 0 to 100\n */\n @Prop({ reflect: true }) progress: number = 0;\n /**\n * Progress variant\n * enum PROGRESS_VARIANTS\n * possible option `horizontal`\n */\n @Prop() variant: PROGRESS_VARIANTS = PROGRESS_VARIANTS.DEFAULT;\n /**\n * Size of progress\n * enum SIZE_VAR\n * possible options `XS | SM | MD | LG | XL`\n */\n @Prop() size: SIZE_VAR = SIZE_VAR.MD;\n\n // Update 'xv-progress-indicator-item' done status\n @Watch('progress')\n updateChildItems() {\n const items = this.el.children;\n const itemsCount = this.el.childElementCount;\n const progressPerItem = 100 / itemsCount;\n\n if (!items.length || !itemsCount) return;\n\n forEach(items, (item, index) => {\n const itemProgressStart = index * progressPerItem;\n let status: PROGRESS_ITEM_STATUS;\n const localProgress = Math.min(\n Math.max((this.progress - itemProgressStart) / progressPerItem, 0), 1\n ) * 100;\n\n if (localProgress >= 100) {\n status = PROGRESS_ITEM_STATUS.DONE;\n } else if (localProgress > 0) {\n status = PROGRESS_ITEM_STATUS.IN_PROGRESS;\n } else {\n status = PROGRESS_ITEM_STATUS.NO_STARTED;\n }\n\n // Set item current status\n (item as HTMLElement).setAttribute('status', status);\n\n // Update progress line\n const line = (item as HTMLElement)?.shadowRoot?.querySelector('.line') as HTMLElement;\n if (line) line.style.width = `${localProgress}%`;\n });\n }\n\n // Load initial done status\n componentDidLoad() {\n this.updateChildItems()\n }\n\n render() {\n return (\n <Host variant={this.variant} size={this.size} class={{ 'xv-progress-indicator': true }}>\n <slot></slot>\n </Host>\n );\n }\n}\n",":host(.xv-progress-indicator-item) {\n display: flex;\n flex: 1;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: relative;\n padding: 10px 16px;\n row-gap: var(--gap-sm, 10px);\n &:before {\n width: 100%;\n }\n\n &:before, .line {\n content: '';\n z-index: 1;\n display: inline-block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n height: 2px;\n color: inherit;\n background-color: var(--border-subtle-01, grey);\n }\n\n .line {\n width: 0;\n color: inherit;\n transition: width 250ms ease;\n background-color: var(--background-brand, currentColor);\n }\n\n .icon {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--progress-indicator-icon-size, 22px);\n height: var(--progress-indicator-icon-size, 22px);\n min-width: var(--progress-indicator-icon-size, 22px);\n min-height: var(--progress-indicator-icon-size, 22px);\n max-width: var(--progress-indicator-icon-size, 22px);\n max-height: var(--progress-indicator-icon-size, 22px);\n border: 2px dashed var(--icon-primary, currentColor);\n border-radius: 50%;\n svg {\n width: calc(var(--progress-indicator-icon-size, 22px) * 0.637);\n height: calc(var(--progress-indicator-icon-size, 22px) * 0.637);\n opacity: 0;\n transition: opacity 500ms ease-in-out;\n }\n }\n\n .label {\n margin: 0;\n color: var(--text-primary);\n font-size: var(--progress-indicator-font-size, 14px);\n line-height: 1.1;\n letter-spacing: 0.16px;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n}\n\n:host([status=\"done\"]),\n:host([status=\"in_progress\"]), {\n .icon {\n border-color: var(--background-brand, currentColor);\n color: var(--background-brand, inherit);\n border-style: solid;\n svg {\n opacity: 1;\n }\n }\n\n .line {\n width: 100%;\n background-color: var(--background-brand, currentColor);\n }\n}\n\n:host([status=\"in_progress\"]) {\n .icon {\n border-color: var(--background-brand, currentColor);\n color: var(--background-brand, inherit);\n border-style: solid;\n position: relative;\n &:after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 50%;\n height: 100%;\n background-color: var(--background-brand, currentColor);\n border-top-left-radius: 50% 100%;\n border-bottom-left-radius: 50% 100%;\n }\n\n svg {\n opacity: 0;\n }\n }\n}\n","import { Component, Host, h, Element, Prop } from '@stencil/core';\nimport { PROGRESS_ITEM_STATUS } from '../_vars';\n\n@Component({\n tag: 'xv-progress-indicator-v2-item',\n styleUrl: 'xv-progress-indicator-item.scss',\n shadow: true,\n})\nexport class XvProgressIndicatorItem {\n @Element() el: HTMLElement;\n @Prop({ reflect: false }) status: PROGRESS_ITEM_STATUS = PROGRESS_ITEM_STATUS.NO_STARTED;\n\n render() {\n return (\n <Host\n status={this.status}\n class={{'xv-progress-indicator-item': true}}\n >\n <span class=\"line\"/>\n <span class=\"icon\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\">\n <path\n fill=\"currentColor\"\n d=\"M438.6 105.4c12.5 12.5 12.5 32.8 0 45.3l-256 256c-12.5 12.5-32.8 12.5-45.3 0l-128-128c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L160 338.7 393.4 105.4c12.5-12.5 32.8-12.5 45.3 0z\"\n />\n </svg>\n </span>\n <p class=\"label\"><slot/></p>\n </Host>\n );\n }\n}\n",":host {\n display: block;\n}\n\n:host([loading]) {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 200px;\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\nimport { SIZE_VAR } from '../../../types/enum';\n\n@Component({\n tag: 'xv-tab-v2',\n styleUrl: 'xv-tab.scss',\n shadow: true,\n})\nexport class XvTab {\n @Prop({ reflect: true }) label: string;\n @Prop({ reflect: true }) disabled: boolean = false;\n @Prop({ reflect: true }) loading: boolean = false;\n @Prop() name?: number | string;\n\n render() {\n return (\n <Host disabled={this.disabled} name={this.name}>\n {this.loading ? <xv-loader-v2 size={SIZE_VAR.LG} /> : <slot />}\n </Host>\n );\n }\n}\n","$tag-name: xv-table-v2;\n\n:host {\n --xv-table-min-height: 51.11px;\n --xv-table-padding-x: 16px;\n --xv-table-padding-y: 15px;\n --xv-table-cols-template: repeat(auto-fit, minmax(0, 1fr));\n\n display: block;\n .batch-actions {\n user-select: none;\n pointer-events: none;\n position: absolute;\n left: 0;\n bottom: 100%;\n width: 0;\n min-height: 48px;\n overflow: hidden;\n border-radius: 3px 3px 0 0;\n background-color: var(--interactive-01, #273435);\n display: flex;\n align-items: center;\n justify-content: space-between;\n column-gap: var(--spacing-04);\n flex-wrap: nowrap;\n box-sizing: border-box;\n transition: 250ms ease-in-out height, 250ms ease-in-out width, 250ms ease-in-out padding-inline;\n\n color: var(--text-on-color, #fff);\n\n &_content {\n display: block;\n overflow: hidden;\n white-space: nowrap;\n }\n\n &_count {\n margin: 0;\n white-space: nowrap;\n font-family: var(--ff-body, Tahoma);\n font-size: var(--fz-md, 14px);\n font-style: normal;\n font-weight: 400;\n line-height: var(--fz-lg, 18px);\n letter-spacing: 0.16px;\n }\n }\n\n .xv-table {\n display: flex;\n flex-direction: column;\n position: relative;\n &_wrapper {\n display: flex;\n flex-direction: column;\n position: relative;\n overflow-x: auto;\n scrollbar-width: thin;\n scrollbar-color: var(--layer-accent-03) transparent;\n ::slotted(*) {\n min-width: 1000px;\n }\n }\n ::slotted([checked]) {\n background-color: var(--layer-selected-01, #E3E3E3);\n }\n ::slotted([checked]:not([header]):hover) {\n background-color: var(--layer-selected-hover-01, #DADADA);\n }\n\n ::slotted(#{$tag-name}-row[disabled]) {\n pointer-events: none;\n opacity: 0.4;\n cursor: not-allowed;\n user-select: none;\n }\n\n ::slotted([slot=\"footer\"]:hover),\n ::slotted([slot=\"footer\"]) {\n background-color: var(--layer-accent-02, #E3E3E3);\n }\n\n &_loading {\n z-index: 10;\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: var(--xv-table-min-height, 51.11px);\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(255, 255, 255, 0.8);\n }\n }\n\n .xv-table-title,\n ::slotted([slot=\"title\"]) {\n color: var(--text-primary, #333)!important;\n font-size: var(--fz-xl, 21px)!important;\n margin-top: var(--spacing-05, 16px)!important;\n margin-bottom: var(--spacing-06, 24px)!important;\n font-family: var(--ff-heading, \"Gill Sans\");\n font-style: normal;\n font-weight: 400;\n line-height: normal;\n }\n}\n\n:host([hover]) {\n .xv-table {\n ::slotted(:hover:not([header])) {\n background-color: var(--layer-hover-01, #E9E9E9);\n }\n }\n}\n\n:host(.batchVisible) {\n .batch-actions {\n pointer-events: initial;\n user-select: initial;\n width: 100%;\n padding-inline: var(--xv-table-padding-x);\n }\n}\n\n:host([expandable]) {\n ::slotted(#{$tag-name}-row) {\n padding-inline-start: calc((max(10px, var(--xv-table-padding-x)) * 2) + 10px);\n }\n}\n\n:host([variant-checkbox]) {\n ::slotted([slot=\"footer\"]:not([variant])) {\n padding-inline-start: calc((max(10px, var(--xv-table-padding-x)) * 2) + 57.97px);\n }\n}\n\n// region Size Vars\n:host([size=\"xs\"]) {\n --xv-table-padding-y: 7px;\n --xv-table-min-height: 35.1px;\n}\n:host([size=\"sm\"]) {\n --xv-table-padding-y: 10px;\n --xv-table-min-height: 41.11px;\n}\n:host([size=\"lg\"]) {\n --xv-table-padding-y: 21px;\n --xv-table-min-height: 63.09px;\n}\n:host([size=\"xl\"]) {\n --xv-table-padding-y: 31px;\n --xv-table-min-height: 78.77px;\n}\n// endregion\n","import { Component, Host, h, Element, Prop, State, Listen, Fragment, Watch } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\nimport { SelectRowDto } from './_vars';\n\n@Component({\n tag: 'xv-table-v2',\n styleUrl: 'xv-table.scss',\n shadow: true,\n})\nexport class XvTable {\n @Element() el: HTMLElement;\n @Prop({ reflect: true }) size?: SIZE_VAR;\n @Prop({ reflect: true }) hover?: boolean;\n @Prop({ reflect: true }) loading?: boolean;\n @Prop({ reflect: true, attribute: 'colsSize' }) colsSize?: (string | null)[];\n @State() selected: Map<string, SelectRowDto> = new Map();\n @State() selectedCount: number = 0;\n\n @Listen('checkedChange')\n handleCheckedChange({ detail }: CustomEvent<SelectRowDto>) {\n if (detail.header || detail.expandable) return;\n if (detail.checked) {\n this.selected.set(detail.name, detail);\n } else {\n this.selected.delete(detail.name);\n }\n\n this.selectedCount = this.selected.size;\n }\n\n @Watch('colsSize')\n private setColsSizeTemplate() {\n if (!this.colsSize || !this.colsSize?.length) return;\n\n this.el.style.setProperty(\n '--xv-table-cols-template',\n this.colsSize\n .map((v) => {\n if (!v) return 'minmax(0, 1fr)';\n if (v === 'auto') return 'minmax(0, auto)';\n return `calc(${v} - ${50 / this.colsSize.length}px)`;\n })\n .join(' ') + ' repeat(auto-fit, minmax(0, 1fr))',\n );\n }\n\n render() {\n return (\n <Host class={{ batchVisible: !!this.selectedCount }}>\n <slot name=\"title\">\n {!!this.el.title && <h2 class=\"xv-table-title\">{this.el.title}</h2>}\n </slot>\n\n <slot name=\"toolbar\" />\n\n <div class=\"xv-table\">\n <div class=\"batch-actions\">\n <Fragment>\n <div class=\"batch-actions_content\">\n <slot name=\"batch\" />\n </div>\n <p class=\"batch-actions_count\">\n {!!this.selectedCount && `${this.selectedCount} ${this.selectedCount === 1 ? 'Position ausgewählt' : 'Positionen ausgewählt'}`}\n </p>\n </Fragment>\n </div>\n\n <div class=\"xv-table_wrapper\">\n <slot />\n\n <slot name=\"footer\" />\n </div>\n\n {!!this.loading && (\n <div class=\"xv-table_loading\">\n <xv-loader-v2 size={SIZE_VAR.LG} />\n </div>\n )}\n </div>\n </Host>\n );\n }\n\n componentWillLoad() {\n this.setColsSizeTemplate();\n }\n}\n","export interface SelectRowDto {\n name: string;\n checked: boolean;\n value?: string | number | object;\n partial?: boolean;\n header?: boolean;\n expandable?: boolean;\n}\n\nexport enum XV_SORT_DIR {\n ASC = 'asc',\n DESC = 'desc',\n NONE = 'none'\n}\n\nexport const XV_EXPANDABLE_KEY = 'expandable';\nexport const XV_TABLE_TAG = 'xv-table-v2';\n\nexport interface XVTableSortDto {\n name?: string;\n value: XV_SORT_DIR;\n}\n",":host {\n white-space: nowrap;\n\n overflow: hidden;\n text-overflow: ellipsis;\n padding: var(--xv-table-padding-y) var(--xv-table-padding-x);\n color: var(--text-primary, #333);\n font-family: var(--ff-body, Tahoma);\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 1.2;\n letter-spacing: 0.16px;\n transition: .25s ease-in-out background-color;\n}\n\n:host([multiline]) {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n white-space: initial;\n padding-bottom: 1px; // overflow some symbols on bottom\n padding-top: 0;\n line-height: 1.2;\n}\n\n// region Cell Align\n:host([align=\"left\"]) {\n text-align: left;\n}\n:host([align=\"right\"]) {\n text-align: right;\n}\n:host([align=\"center\"]) {\n text-align: center;\n}\n// endregion\n\n// region Sorting styles\n:host([sort]) {\n position: relative;\n cursor: pointer;\n user-select: none;\n &:before, &:after {\n font-size: 12px;\n line-height: 10px;\n display: inline-flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n position: absolute;\n right: 8px;\n pointer-events: none;\n transition: 350ms ease-in-out opacity;\n opacity: 0;\n }\n\n &:before {\n content: \"▲\";\n top: 50%;\n transform: translateY(calc(-50% - 5px));\n }\n\n &::after {\n content: \"▼\";\n top: 50%;\n transform: translateY(calc(-50% + 5px));\n }\n}\n:host([sort]:hover) {\n background-color: var(--layer-accent-hover-01, #E3E3E3);\n &::before, &::after {\n opacity: 1;\n }\n}\n:host([sort=\"asc\"]) {\n background-color: var(--layer-accent-active-01, #D1D1D1);\n &::before {\n opacity: 1;\n }\n\n &::after {\n display: none;\n }\n}\n:host([sort=\"desc\"]) {\n background-color: var(--layer-accent-active-01, #D1D1D1);\n &::before {\n display: none;\n }\n\n &::after {\n opacity: 1;\n }\n}\n// endregion\n","import { Component, Host, h, Element, Prop, Event, EventEmitter, Listen } from '@stencil/core';\nimport { XV_SORT_DIR, XVTableSortDto } from '../_vars';\nimport { forEach, uidGenerator } from '../../../utils/utils';\n\n@Component({\n tag: 'xv-table-v2-cell',\n styleUrl: 'xv-table-cell.scss',\n shadow: true,\n})\nexport class XvTableCell {\n @Element() el: HTMLElement;\n @Prop({ reflect: true }) multiline?: boolean;\n @Prop({ reflect: true, mutable: true }) name?: string;\n @Prop({ reflect: true }) align?: 'left' | 'right' | 'center';\n @Prop({ reflect: true, mutable: true }) sort?: XV_SORT_DIR | '';\n @Event({ eventName: 'sortChange' }) sortChange: EventEmitter<XVTableSortDto>;\n\n @Listen('click')\n handleSort() {\n if (this.sort === undefined) return;\n let sort: XV_SORT_DIR | '' = this.sort;\n if (this.sort === '') sort = XV_SORT_DIR.NONE;\n\n this.sort = sort === XV_SORT_DIR.NONE ?\n XV_SORT_DIR.ASC : sort === XV_SORT_DIR.ASC ?\n XV_SORT_DIR.DESC : XV_SORT_DIR.NONE;\n\n forEach(this.el.parentElement.children, (cell) => {\n if (cell !== this.el && cell.hasAttribute('sort')) {\n cell.setAttribute('sort', 'none');\n }\n });\n\n if (!this.name) this.name = uidGenerator();\n this.sortChange.emit({ name: this.name, value: this.sort });\n };\n\n render() {\n return (\n <Host><slot /></Host>\n );\n }\n}\n","$tag-name: xv-table-v2;\n\n:host {\n display: block;\n position: relative;\n transition: .25s ease-in-out background-color;\n\n .expand-btn {\n z-index: 9;\n position: absolute;\n left: max(10px, var(--xv-table-padding-x));\n top: max(2px, calc(var(--xv-table-padding-y) + 2px));\n background-color: transparent;\n cursor: pointer;\n outline: none;\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n display: block;\n width: 8.5px;\n height: 8.5px;\n border-top: none;\n border-left: none;\n border-right: 2px solid var(--icon-primary, #333);\n border-bottom: 2px solid var(--icon-primary, #333);\n transform: rotate(45deg);\n transform-origin: center center;\n transition: .2s ease-in-out transform;\n &:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n &.open {\n transform: rotate(-135deg);\n }\n }\n\n .expandableContent {\n overflow: hidden;\n margin: 0;\n padding: 0;\n max-height: 0;\n transition: 250ms ease max-height;\n &.open {\n max-height: 600px;\n }\n }\n\n ::slotted([slot=\"expandable\"]) {\n display: grid;\n align-items: center;\n }\n\n ::slotted(#{$tag-name}-row),\n ::slotted([slot=\"expandable\"]) {\n padding-inline-start: calc((max(10px, var(--xv-table-padding-x)) * 2) + 10px);\n }\n\n ::slotted([disabled]) {\n pointer-events: none;\n opacity: 0.4;\n cursor: not-allowed;\n user-select: none;\n }\n}\n","import { Component, Host, h, Element, Prop } from '@stencil/core';\nimport { XV_EXPANDABLE_KEY } from '../_vars';\nimport { setAttr } from '../../../utils/utils';\n\n@Component({\n tag: 'xv-table-v2-expand',\n styleUrl: 'xv-table-expand.scss',\n shadow: true,\n})\nexport class XvTableExpand {\n @Element() el: HTMLElement;\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\n @Prop({ reflect: true }) disabled: boolean = false;\n\n private handleExpand = () => {\n this.open = !this.open;\n };\n\n render() {\n return (\n <Host>\n <button\n class={{ 'expand-btn': true, open: this.open }}\n disabled={this.disabled}\n onClick={this.handleExpand}\n />\n <slot name={XV_EXPANDABLE_KEY} />\n\n <div class={{ expandableContent: true, open: this.open }}><slot /></div>\n </Host>\n );\n }\n\n componentDidLoad() {\n setAttr(this.el.parentElement, XV_EXPANDABLE_KEY, true);\n }\n}\n",":host {\n display: grid;\n grid-template-columns: var(--xv-table-cols-template, repeat(auto-fit, minmax(0, 1fr)));\n border-bottom: 1px solid #E3E3E3;\n border-right: 1px solid #E3E3E3;\n border-left: 1px solid #E3E3E3;\n min-height: var(--xv-table-min-height);\n align-items: center;\n align-content: center;\n transition: .25s ease-in-out background-color;\n .cell-control {\n min-height: 20px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n}\n\n:host([variant]) {\n grid-template-columns: minmax(47.97px, min-content) var(--xv-table-cols-template, repeat(auto-fit, minmax(0, 1fr)));\n}\n\n:host([hover]:not([header]):hover) {\n background-color: var(--layer-hover-01, #E9E9E9);\n}\n:host([checked]) {\n background-color: var(--layer-selected-01, #E3E3E3);\n}\n:host([checked]:hover) {\n background-color: var(--layer-selected-hover-01, #DADADA);\n}\n\n:host([header]) {\n background-color: var(--layer-accent-01, #F7F7F7);\n box-shadow: 0 0 0 1px #E3E3E3 inset;\n border-bottom: none;\n}\n","import { Component, Host, h, Element, Prop, Event, EventEmitter, Watch } from '@stencil/core';\nimport { SelectRowDto, XV_EXPANDABLE_KEY, XV_TABLE_TAG } from '../_vars';\nimport { setAttr, uidGenerator } from '../../../utils/utils';\n\n@Component({\n tag: 'xv-table-v2-row',\n styleUrl: 'xv-table-row.scss',\n shadow: true,\n})\nexport class XvTableRow {\n @Element() el: HTMLElement;\n @Prop({ reflect: true, mutable: true }) checked?: SelectRowDto['checked'];\n @Event({ eventName: 'checkedChange' }) checkedChange: EventEmitter<SelectRowDto>;\n @Prop({ reflect: true, mutable: true }) partial?: SelectRowDto['partial'];\n @Prop({ reflect: true, mutable: true }) name?: SelectRowDto['name'];\n @Prop({ reflect: true }) value?: SelectRowDto['value'];\n @Prop({ reflect: true, mutable: true }) hover?: boolean;\n @Prop({ reflect: true }) readonly?: boolean;\n @Prop({ reflect: true }) required?: boolean;\n @Prop({ reflect: true }) disabled?: boolean;\n @Prop({ reflect: true }) header?: boolean;\n @Prop({ reflect: true, mutable: true }) variant?: 'checkbox' | 'radio' | '';\n\n @Event({ eventName: 'selectRow' }) selectRow: EventEmitter<SelectRowDto>;\n\n @Watch('checked')\n checkedChangeHandle() {\n if (!this.name) this.name = uidGenerator();\n this.checkedChange.emit({\n name: this.name,\n value: this.value,\n checked: this.checked,\n partial: this.partial,\n header: this.header,\n expandable: this.el.getAttribute('slot') === XV_EXPANDABLE_KEY,\n });\n }\n\n private checkHandle = ({ detail: checked }: CustomEvent<boolean>) => {\n if (!checked && this.partial) this.partial = checked;\n\n if (!this.name) this.name = uidGenerator();\n this.selectRow.emit({\n name: this.name,\n value: this.value,\n checked: checked,\n partial: this.partial,\n header: this.header,\n expandable: this.el.getAttribute('slot') === XV_EXPANDABLE_KEY,\n });\n };\n\n private setInitialAttrs() {\n if (this.variant || !this.hover) {\n const tableEl = this.el.closest(XV_TABLE_TAG);\n if (!this.hover) {\n this.hover = tableEl.hasAttribute('hover');\n }\n if (this.variant) {\n setAttr(this.el.closest(XV_TABLE_TAG), `variant-${this.variant}`, !!this.variant);\n }\n }\n }\n\n render() {\n return (\n <Host>\n {this.variant !== undefined && (\n <xv-table-v2-cell class=\"cell-control\">\n {this.variant === 'checkbox' && (\n <xv-checkbox-v2\n name={this.name}\n partial={this.partial}\n checked={this.checked || this.partial}\n disabled={this.disabled}\n required={this.required}\n readonly={this.readonly}\n onEventChange={this.checkHandle}\n />\n )}\n {this.variant === 'radio' && (\n <input\n type=\"radio\"\n name={this.name}\n checked={this.checked || this.partial}\n disabled={this.disabled}\n required={this.required}\n readonly={this.readonly}\n />\n )}\n </xv-table-v2-cell>\n )}\n\n <slot />\n </Host>\n );\n }\n\n componentWillLoad() {\n this.setInitialAttrs();\n }\n}\n","export enum TAB_TAGS {\n TABS = 'xv-tabs-v2',\n TAB = 'xv-tab-v2'\n}\n\nexport enum TABS_VATIANT {\n DEFAULT = '',\n // other variants will be here\n}\n","$tab-tag: xv-tab-v2;\n$tab-text-active-color: var(--text-primary, #333);\n$tab-text-color: var(--text-secondary, #515151);\n$tab-border-active-color: var(--interactive-01, #273435);\n$tab-border-color: var(--border-border-subtle-01, #D1D1D1);\n\n:host(.xv-tabs) {\n display: flex;\n flex-direction: column;\n\n .tab-headers {\n position: relative;\n display: flex;\n flex-wrap: nowrap;\n &_container {\n display: flex;\n flex: 1 1 auto;\n white-space: nowrap;\n overflow-x: auto;\n scroll-behavior: smooth;\n &::-webkit-scrollbar {\n display: none;\n }\n }\n\n &_tab {\n background: none;\n padding: 11px var(--gap-md, 16px);\n cursor: pointer;\n font: inherit;\n transition: border-color 0.3s ease, font-weight 0.3s ease, color 0.3s ease;\n position: relative;\n border: 2px solid transparent;\n border-bottom-color: $tab-border-color;\n background-blend-mode: multiply;\n color: $tab-text-color;\n font-family: var(--ff-body, Tahoma);\n font-size: var(--fz-md, 14px);\n line-height: 18px;\n letter-spacing: 0.16px;\n height: 40px;\n white-space: nowrap;\n\n &:after {\n content: '';\n position: absolute;\n transition: background-color 0.3s ease, width 0.3s ease;\n top: 100%;\n left: 0;\n right: 0;\n width: 0;\n height: 2px;\n background-color: $tab-border-active-color;\n }\n\n &:focus {\n outline: none;\n border: 2px solid $tab-border-color;\n }\n\n &:hover {\n border-bottom-color: var(--border-strong-01, #8B8B8B);\n }\n\n &.active {\n color: $tab-text-active-color;\n font-weight: 700;\n &:after {\n width: 100%;\n }\n\n &:focus {\n border-color: $tab-border-active-color;\n }\n }\n\n &:disabled {\n color: var(--text-on-color-disabled, #8B8B8B);\n border-bottom-color: var(--border-disabled, #D1D1D1);\n cursor: not-allowed;\n &:after {\n background-color: var(--border-disabled, #D1D1D1);\n }\n }\n }\n\n &_btn {\n outline: none;\n width: 40px;\n height: 40px;\n background: none;\n border: none;\n cursor: pointer;\n position: relative;\n transition: 0.25s ease-in-out opacity;\n\n &:before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n width: 0;\n height: 0;\n border: solid currentColor;\n border-width: 0 2px 2px 0;\n display: inline-block;\n padding: 5px;\n transform: translate(-50%, -50%) rotate(45deg);\n }\n\n &:active {\n opacity: 0.3;\n }\n\n &.prev:before {\n transform: translate(-50%, -50%) rotate(135deg);\n }\n &.next:before {\n transform: translate(-50%, -50%) rotate(-45deg);\n }\n }\n }\n\n .tab-content-wrapper {\n position: relative;\n overflow: hidden;\n padding: var(--gap-md, 16px) 0;\n }\n\n ::slotted(#{$tab-tag}) {\n position: absolute;\n opacity: 0;\n max-height: 0;\n transition: max-height 0.5s ease;\n width: 100%;\n pointer-events: none;\n }\n\n ::slotted(#{$tab-tag}.active) {\n position: relative;\n opacity: 1;\n overflow-y: auto;\n pointer-events: auto;\n max-height: 1000px;\n }\n\n .xv-tabs_empty {\n display: block;\n text-align: center;\n margin: 20px auto;\n font-size: var(--fz-xl);\n color: var(--text-primary);\n }\n}\n\n:host([loading]) {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 300px;\n}\n","import { Component, Host, h, Element, Prop, Event, EventEmitter, State, Listen } from '@stencil/core';\nimport { TAB_TAGS, TABS_VATIANT } from './_vars';\nimport { SIZE_VAR } from '../../types/enum';\n\n@Component({\n tag: 'xv-tabs-v2',\n styleUrl: 'xv-tabs.scss',\n shadow: true,\n})\nexport class XvTabs {\n @Element() el: HTMLElement;\n /**\n * Index of active tab\n */\n @Prop({ reflect: true, mutable: true }) active: number | string = 0;\n /**\n * Emit event to outside\n */\n @Event() activeChange: EventEmitter<number | string>;\n /**\n * Show loader\n */\n @Prop({ reflect: true }) loading?: boolean;\n /**\n * Variant of tabs from TABS_VATIANT enum\n */\n @Prop() variant: TABS_VATIANT = TABS_VATIANT.DEFAULT;\n /**\n * Message when have no tabs\n */\n @Prop() emptyMessage?: string;\n /**\n * local variable for tab labels collection\n */\n @State() tabElements: HTMLElement[] = [];\n /**\n * Is show arrows for scroll\n */\n @State() showArrows: boolean = false;\n\n @Listen('resize', { target: 'window' })\n updateArrowVisibility() {\n const container = this.el.shadowRoot?.querySelector('.tab-headers_container') as HTMLElement | null;\n if (!container) return;\n\n this.showArrows = container.scrollWidth > container.clientWidth;\n }\n\n private collectTabs = () => {\n if (!this.tabElements.length) {\n this.tabElements = Array.from(this.el.querySelectorAll(TAB_TAGS.TAB));\n this.tabElements.forEach((tab) => {\n if (tab.hasAttribute('name') && !this.active) {\n this.active = tab.getAttribute('name');\n }\n })\n\n setTimeout(() => this.updateArrowVisibility(), 100);\n }\n }\n\n private updateTabClasses() {\n this.tabElements.forEach((tab, i) => {\n tab.classList.toggle(\n 'active',\n (tab.getAttribute('name') || `${i}`) === `${this.active}`\n );\n });\n }\n\n private handleTabClick(active: string | number) {\n if (active === this.active) return;\n\n this.active = active;\n this.activeChange.emit(Number(this.active) || this.active);\n this.scrollToActiveTab();\n }\n\n private scrollToActiveTab() {\n if (!this.showArrows) return;\n\n // wait next JS tik\n setTimeout(() => {\n this.el.shadowRoot\n .querySelector('.tab-headers_tab.active')\n .scrollIntoView({ behavior: 'smooth', inline: 'center', block: 'nearest' });\n });\n }\n\n private setTab(count: number = 1) {\n const currentIdx = this.tabElements.findIndex(\n (tab, i) =>\n (tab.getAttribute('name') || `${i}`) === `${this.active}`\n );\n const nextIdx = currentIdx + count;\n\n if (nextIdx < 0 || nextIdx >= this.tabElements.length) return;\n\n const nextTab = this.tabElements[nextIdx];\n\n if (!nextTab || nextTab.hasAttribute('disabled')) return;\n\n this.handleTabClick(nextTab.getAttribute('name') || nextIdx);\n }\n\n render() {\n if (this.loading) {\n return (\n <Host class=\"xv-tabs\" variant={this.variant}>\n <xv-loader-v2 size={SIZE_VAR.XL} />\n </Host>\n )\n }\n\n return (\n <Host class=\"xv-tabs\" variant={this.variant}>\n <div class=\"tab-headers\" role=\"tablist\">\n <button\n hidden={!this.showArrows || !this.tabElements?.length}\n aria-label=\"Previous\"\n class=\"tab-headers_btn prev\"\n onClick={() => this.setTab(-1)}\n />\n <div class=\"tab-headers_container\">\n {this.tabElements?.length ? this.tabElements.map((tab, index) => (\n <button\n role=\"tab\"\n disabled={!!tab.getAttribute('disabled') || !!(tab as any)?.disabled}\n class={{\n 'tab-headers_tab': true,\n active: (tab.getAttribute('name') || `${index}`) === `${this.active}`,\n }}\n onClick={() => this.handleTabClick(tab.getAttribute('name') || `${index}`)}\n >\n {tab.getAttribute('label') || `Tab ${index + 1}`}\n </button>\n )) : this.emptyMessage && <p class=\"xv-tabs_empty\">{this.emptyMessage}</p>}\n </div>\n <button\n aria-label=\"Next\"\n hidden={!this.showArrows || !this.tabElements?.length}\n class=\"tab-headers_btn next\"\n onClick={() => this.setTab(1)}\n />\n </div>\n\n <div\n class=\"tab-content-wrapper\"\n role=\"tabpanel\"\n tabindex={-1}\n >\n <slot onSlotchange={this.collectTabs} />\n </div>\n </Host>\n );\n }\n\n componentDidRender() {\n this.updateTabClasses();\n }\n}\n",":host {\n display: inline-flex;\n align-items: center;\n justify-content: space-between;\n border-radius: 1000px;\n background-color: var(--background);\n color: var(--text-primary);\n font-family: var(--ff-body, inherit);\n\n .xv-tag_content {\n padding-left: 8px;\n padding-right: 8px;\n color: inherit;\n font-family: var(--ff-body);\n font-style: normal;\n font-weight: 400;\n line-height: 16px;\n letter-spacing: 0.32px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .xv-tag_close {\n box-sizing: border-box;\n text-decoration: none;\n border: none;\n background-color: inherit;\n outline: none;\n border-spacing: 0;\n list-style: none outside none;\n margin: 0;\n padding: 0;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: 62px;\n width: 15px;\n height: 15px;\n text-align: left;\n color: inherit;\n text-indent: 0;\n transition: opacity 300ms ease-in-out, filter 300ms ease-in-out;\n &:hover {\n cursor: pointer;\n filter: brightness(80%);\n }\n\n &:active {\n opacity: 0.7;\n }\n\n &:focus {\n outline: 1px solid currentColor;\n }\n\n &:after {\n overflow: hidden;\n width: inherit;\n height: inherit;\n color: inherit;\n font-size: 16px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n content: \"\\00d7\";\n }\n }\n}\n\n:host(.sm) {\n font-size: var(--fz-sm);\n}\n\n:host(.md) {\n font-size: var(--fz-md);\n .xv-tag_content {\n line-height: 24px;\n }\n\n .xv-tag_close {\n height: 24px;\n width: 24px;\n }\n}\n\n:host(.lg) {\n font-size: var(--fz-lg);\n .xv-tag_content {\n line-height: 26px;\n }\n\n .xv-tag_close {\n height: 26px;\n width: 26px;\n }\n}\n\n:host(.disabled) {\n pointer-events: none;\n background-color: var(--layer-01);\n color: var(--text-disabled);\n}\n","import { Component, Host, h, Prop, Event, EventEmitter } from '@stencil/core';\n\n@Component({\n tag: 'xv-tag-v2',\n styleUrl: 'xv-tag.scss',\n shadow: true,\n})\nexport class XvTag {\n @Prop() size: 'sm' | 'md' | 'lg' = 'md';\n @Prop() color: string = '';\n @Prop() bg: string = '';\n @Prop() disabled: boolean = false;\n @Prop() closeable: boolean = false;\n @Event() closeClick: EventEmitter<PointerEvent>;\n\n closeHandler(e: PointerEvent) {\n if (this.disabled) return;\n\n this.closeClick.emit(e);\n }\n\n render() {\n return (\n <Host\n style={{ color: this.color, background: this.bg }}\n class={`xv-tag ${this.disabled ? 'disabled' : ''} ${this.size}`}\n >\n <div class=\"xv-tag_content\">\n <slot></slot>\n </div>\n {this.closeable && (\n <button onClick={this.closeHandler.bind(this)} class=\"xv-tag_close\"></button>\n )}\n </Host>\n );\n }\n}\n",":host {\n display: inline-block;\n text-align: left;\n .control {\n &_label {\n display: block;\n margin-bottom: var(--spacing-03);\n color: var(--text-secondary, #515151);\n font-family: var(--ff-body, Tahoma);\n font-size: var(--fz-sm, 12px);\n font-style: normal;\n font-weight: 700;\n line-height: var(--fz-md);\n letter-spacing: 0.32px;\n }\n\n &_input {\n display: flex;\n border: 1px solid var(--border-subtle-01);\n outline: 2px solid transparent;\n background-color: transparent;\n border-radius: 3px;\n transition: 250ms ease-in-out border-color, 250ms ease-in-out outline-color;\n &:hover {\n border-color: var(--border-subtle-selected-01);\n }\n\n &:focus-within {\n outline-color: var(--focus);\n }\n\n &.error {\n outline-color: var(--support-error);\n }\n\n &.readonly {\n border-radius: 0;\n border-top-width: 0;\n border-left-width: 0;\n border-right-width: 0;\n outline-color: transparent;\n }\n\n input[type=\"text\"] {\n flex: 1;\n border: none;\n outline: none;\n -moz-appearance: textfield;\n background-color: transparent;\n margin: 0;\n padding-block: 0;\n padding-inline: var(--spacing-05);\n box-sizing: border-box;\n color: var(--text-primary);\n min-width: 20px;\n font-style: normal;\n font-weight: 400;\n letter-spacing: 0.16px;\n &::-webkit-inner-spin-button,\n &::-webkit-outer-spin-button {\n -webkit-appearance: none;\n margin: 0;\n }\n }\n\n &__icons {\n display: inline-flex;\n align-items: stretch;\n column-gap: 2px;\n padding-right: var(--spacing-05);\n .status-icon {\n display: inline-flex;\n align-items: center;\n align-self: center;\n font-size: 1.35em;\n &.error {\n background-color: var(--support-error);\n color: white;\n width: 16px;\n height: 16px;\n border-radius: 8px;\n font-size: 12px;\n font-weight: bold;\n align-items: center;\n justify-content: center;\n }\n &.warning {\n color: var(--support-warning);\n }\n }\n\n hr {\n border: none;\n outline: none;\n width: 2px;\n height: 60%;\n align-self: center;\n background-color: var(--border-subtle-01);\n display: inline-flex;\n }\n }\n\n &.xs {\n height: 16px;\n }\n &.sm {\n height: 32px;\n }\n &.md {\n height: 40px;\n }\n &.lg {\n height: 48px;\n }\n &.xl {\n height: 60px;\n }\n }\n }\n\n .message {\n margin: var(--spacing-02) 0 0;\n color: var(--text-helper, #646464);\n font-size: var(--fz-sm, 12px);\n font-style: normal;\n font-weight: 400;\n line-height: var(--fz-md, 16px);\n letter-spacing: 0.32px;\n &.error {\n color: var(--text-error);\n }\n &.warning {\n color: var(--text-secondary, #515151);\n }\n }\n}\n\n:host(.disabled) {\n cursor: not-allowed;\n\n .control_label,\n .control_input input[type=\"text\"],\n .control_input input[type=\"text\"]::placeholder,\n .message:not(.error) {\n color: var(--text-disabled);\n cursor: not-allowed;\n }\n\n .control_input__icons,\n .message.error {\n opacity: 0.5;\n cursor: not-allowed;\n }\n}\n\n:host([block]) {\n display: block;\n}\n","import { AttachInternals, Component, h, Host, Prop, Event, EventEmitter } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\n\n/**\n * xv-text-input — custom input\n * ti get data you can use default Input event\n * Angular - (input), React - (onInput), Pure - addEventListener('input', e => ...)\n */\n@Component({\n tag: 'xv-text-input-v2',\n styleUrl: 'xv-text-input.scss',\n shadow: true,\n formAssociated: true,\n})\nexport class XvTextInput {\n @Prop() type: 'text' | 'email' | 'password' | 'url' | 'tel' = 'text';\n @Prop() label: string;\n @Prop({ reflect: true }) placeholder?: string;\n @Prop({ reflect: true }) name: string;\n @Prop({ mutable: true }) value: string = '';\n @Event({ eventName: 'valueChange' }) valueChange: EventEmitter<string>;\n @Prop() helper?: string;\n @Prop() error?: string | boolean;\n @Prop() warning?: string | boolean;\n @Prop() readonly?: boolean;\n @Prop() disabled?: boolean;\n @Prop() loading: boolean = false;\n @Prop() block?: boolean;\n @Prop({ reflect: true }) size: SIZE_VAR = SIZE_VAR.MD;\n\n @AttachInternals() internals: ElementInternals;\n\n private handleInput = (e: InputEvent) => {\n const target = e.target as HTMLInputElement;\n this.value = target.value;\n this.valueChange.emit(this.value);\n this.internals.setFormValue(target.value);\n }\n\n render() {\n return (\n <Host class={{ disabled: !!this.disabled }}>\n <label class=\"control\">\n {this.label && <span class=\"control_label\">{this.label}</span>}\n\n <div class={{\n 'control_input': true,\n readonly: !!this.readonly,\n [this.size]: true,\n error: !!this.error,\n warning: !!this.warning,\n }}>\n <input\n type={this.type}\n placeholder={this.placeholder}\n disabled={this.disabled}\n readonly={this.readonly}\n onInput={this.handleInput}\n name={this.name}\n value={this.value}\n />\n\n <div class=\"control_input__icons\">\n {this.loading && <xv-loader-v2 size={SIZE_VAR.XS} />}\n {!!this.error ? (\n <span class=\"status-icon error\" aria-hidden=\"true\">!</span>\n ) : !!this.warning ? (\n <span class=\"status-icon warning\" aria-hidden=\"true\">⚠</span>\n ) : null}\n </div>\n </div>\n </label>\n\n\n {this.helper && <p class=\"message\">{this.helper}</p>}\n {typeof this.error === 'string' ? (\n <p class=\"message error\">{this.error}</p>\n ) : typeof this.warning === 'string' ? (\n <p class=\"message warning\">{this.warning}</p>\n ) : null}\n </Host>\n );\n }\n}\n","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n if (node == null) {\n return window;\n }\n\n if (node.toString() !== '[object Window]') {\n var ownerDocument = node.ownerDocument;\n return ownerDocument ? ownerDocument.defaultView || window : window;\n }\n\n return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n var OwnElement = getWindow(node).Element;\n return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n var OwnElement = getWindow(node).HTMLElement;\n return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n // IE 11 has no ShadowRoot\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n\n var OwnElement = getWindow(node).ShadowRoot;\n return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n var state = _ref.state;\n Object.keys(state.elements).forEach(function (name) {\n var style = state.styles[name] || {};\n var attributes = state.attributes[name] || {};\n var element = state.elements[name]; // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n } // Flow doesn't support to extend this property, but it's the most\n // effective way to apply styles to an HTMLElement\n // $FlowFixMe[cannot-write]\n\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (name) {\n var value = attributes[name];\n\n if (value === false) {\n element.removeAttribute(name);\n } else {\n element.setAttribute(name, value === true ? '' : value);\n }\n });\n });\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state;\n var initialStyles = {\n popper: {\n position: state.options.strategy,\n left: '0',\n top: '0',\n margin: '0'\n },\n arrow: {\n position: 'absolute'\n },\n reference: {}\n };\n Object.assign(state.elements.popper.style, initialStyles.popper);\n state.styles = initialStyles;\n\n if (state.elements.arrow) {\n Object.assign(state.elements.arrow.style, initialStyles.arrow);\n }\n\n return function () {\n Object.keys(state.elements).forEach(function (name) {\n var element = state.elements[name];\n var attributes = state.attributes[name] || {};\n var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n var style = styleProperties.reduce(function (style, property) {\n style[property] = '';\n return style;\n }, {}); // arrow is optional + virtual elements\n\n if (!isHTMLElement(element) || !getNodeName(element)) {\n return;\n }\n\n Object.assign(element.style, style);\n Object.keys(attributes).forEach(function (attribute) {\n element.removeAttribute(attribute);\n });\n });\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'applyStyles',\n enabled: true,\n phase: 'write',\n fn: applyStyles,\n effect: effect,\n requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n var uaData = navigator.userAgentData;\n\n if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n return uaData.brands.map(function (item) {\n return item.brand + \"/\" + item.version;\n }).join(' ');\n }\n\n return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n\n var clientRect = element.getBoundingClientRect();\n var scaleX = 1;\n var scaleY = 1;\n\n if (includeScale && isHTMLElement(element)) {\n scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n }\n\n var _ref = isElement(element) ? getWindow(element) : window,\n visualViewport = _ref.visualViewport;\n\n var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n var width = clientRect.width / scaleX;\n var height = clientRect.height / scaleY;\n return {\n width: width,\n height: height,\n top: y,\n right: x + width,\n bottom: y + height,\n left: x,\n x: x,\n y: y\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n var width = element.offsetWidth;\n var height = element.offsetHeight;\n\n if (Math.abs(clientRect.width - width) <= 1) {\n width = clientRect.width;\n }\n\n if (Math.abs(clientRect.height - height) <= 1) {\n height = clientRect.height;\n }\n\n return {\n x: element.offsetLeft,\n y: element.offsetTop,\n width: width,\n height: height\n };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n if (parent.contains(child)) {\n return true;\n } // then fallback to custom implementation with Shadow DOM support\n else if (rootNode && isShadowRoot(rootNode)) {\n var next = child;\n\n do {\n if (next && parent.isSameNode(next)) {\n return true;\n } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n next = next.parentNode || next.host;\n } while (next);\n } // Give up, the result is false\n\n\n return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n if (getNodeName(element) === 'html') {\n return element;\n }\n\n return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n // $FlowFixMe[incompatible-return]\n // $FlowFixMe[prop-missing]\n element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n element.parentNode || ( // DOM Element detected\n isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n getDocumentElement(element) // fallback\n\n );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n getComputedStyle(element).position === 'fixed') {\n return null;\n }\n\n return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n var isFirefox = /firefox/i.test(getUAString());\n var isIE = /Trident/i.test(getUAString());\n\n if (isIE && isHTMLElement(element)) {\n // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n var elementCss = getComputedStyle(element);\n\n if (elementCss.position === 'fixed') {\n return null;\n }\n }\n\n var currentNode = getParentNode(element);\n\n if (isShadowRoot(currentNode)) {\n currentNode = currentNode.host;\n }\n\n while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n // create a containing block.\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n return currentNode;\n } else {\n currentNode = currentNode.parentNode;\n }\n }\n\n return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n var window = getWindow(element);\n var offsetParent = getTrueOffsetParent(element);\n\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent);\n }\n\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n return window;\n }\n\n return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n var v = within(min, value, max);\n return v > max ? max : v;\n}","export default function getFreshSideObject() {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n return keys.reduce(function (hashMap, key) {\n hashMap[key] = value;\n return hashMap;\n }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n placement: state.placement\n })) : padding;\n return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n var _state$modifiersData$;\n\n var state = _ref.state,\n name = _ref.name,\n options = _ref.options;\n var arrowElement = state.elements.arrow;\n var popperOffsets = state.modifiersData.popperOffsets;\n var basePlacement = getBasePlacement(state.placement);\n var axis = getMainAxisFromPlacement(basePlacement);\n var isVertical = [left, right].indexOf(basePlacement) >= 0;\n var len = isVertical ? 'height' : 'width';\n\n if (!arrowElement || !popperOffsets) {\n return;\n }\n\n var paddingObject = toPaddingObject(options.padding, state);\n var arrowRect = getLayoutRect(arrowElement);\n var minProp = axis === 'y' ? top : left;\n var maxProp = axis === 'y' ? bottom : right;\n var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n var arrowOffsetParent = getOffsetParent(arrowElement);\n var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n // outside of the popper bounds\n\n var min = paddingObject[minProp];\n var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n var axisProp = axis;\n state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n var state = _ref2.state,\n options = _ref2.options;\n var _options$element = options.element,\n arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n if (arrowElement == null) {\n return;\n } // CSS selector\n\n\n if (typeof arrowElement === 'string') {\n arrowElement = state.elements.popper.querySelector(arrowElement);\n\n if (!arrowElement) {\n return;\n }\n }\n\n if (!contains(state.elements.popper, arrowElement)) {\n return;\n }\n\n state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'arrow',\n enabled: true,\n phase: 'main',\n fn: arrow,\n effect: effect,\n requires: ['popperOffsets'],\n requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n top: 'auto',\n right: 'auto',\n bottom: 'auto',\n left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n var x = _ref.x,\n y = _ref.y;\n var dpr = win.devicePixelRatio || 1;\n return {\n x: round(x * dpr) / dpr || 0,\n y: round(y * dpr) / dpr || 0\n };\n}\n\nexport function mapToStyles(_ref2) {\n var _Object$assign2;\n\n var popper = _ref2.popper,\n popperRect = _ref2.popperRect,\n placement = _ref2.placement,\n variation = _ref2.variation,\n offsets = _ref2.offsets,\n position = _ref2.position,\n gpuAcceleration = _ref2.gpuAcceleration,\n adaptive = _ref2.adaptive,\n roundOffsets = _ref2.roundOffsets,\n isFixed = _ref2.isFixed;\n var _offsets$x = offsets.x,\n x = _offsets$x === void 0 ? 0 : _offsets$x,\n _offsets$y = offsets.y,\n y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n x: x,\n y: y\n }) : {\n x: x,\n y: y\n };\n\n x = _ref3.x;\n y = _ref3.y;\n var hasX = offsets.hasOwnProperty('x');\n var hasY = offsets.hasOwnProperty('y');\n var sideX = left;\n var sideY = top;\n var win = window;\n\n if (adaptive) {\n var offsetParent = getOffsetParent(popper);\n var heightProp = 'clientHeight';\n var widthProp = 'clientWidth';\n\n if (offsetParent === getWindow(popper)) {\n offsetParent = getDocumentElement(popper);\n\n if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n heightProp = 'scrollHeight';\n widthProp = 'scrollWidth';\n }\n } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n offsetParent = offsetParent;\n\n if (placement === top || (placement === left || placement === right) && variation === end) {\n sideY = bottom;\n var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n offsetParent[heightProp];\n y -= offsetY - popperRect.height;\n y *= gpuAcceleration ? 1 : -1;\n }\n\n if (placement === left || (placement === top || placement === bottom) && variation === end) {\n sideX = right;\n var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n offsetParent[widthProp];\n x -= offsetX - popperRect.width;\n x *= gpuAcceleration ? 1 : -1;\n }\n }\n\n var commonStyles = Object.assign({\n position: position\n }, adaptive && unsetSides);\n\n var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n x: x,\n y: y\n }, getWindow(popper)) : {\n x: x,\n y: y\n };\n\n x = _ref4.x;\n y = _ref4.y;\n\n if (gpuAcceleration) {\n var _Object$assign;\n\n return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n }\n\n return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n var state = _ref5.state,\n options = _ref5.options;\n var _options$gpuAccelerat = options.gpuAcceleration,\n gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n _options$adaptive = options.adaptive,\n adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n _options$roundOffsets = options.roundOffsets,\n roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n var commonStyles = {\n placement: getBasePlacement(state.placement),\n variation: getVariation(state.placement),\n popper: state.elements.popper,\n popperRect: state.rects.popper,\n gpuAcceleration: gpuAcceleration,\n isFixed: state.options.strategy === 'fixed'\n };\n\n if (state.modifiersData.popperOffsets != null) {\n state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.popperOffsets,\n position: state.options.strategy,\n adaptive: adaptive,\n roundOffsets: roundOffsets\n })));\n }\n\n if (state.modifiersData.arrow != null) {\n state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n offsets: state.modifiersData.arrow,\n position: 'absolute',\n adaptive: false,\n roundOffsets: roundOffsets\n })));\n }\n\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-placement': state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'computeStyles',\n enabled: true,\n phase: 'beforeWrite',\n fn: computeStyles,\n data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n passive: true\n};\n\nfunction effect(_ref) {\n var state = _ref.state,\n instance = _ref.instance,\n options = _ref.options;\n var _options$scroll = options.scroll,\n scroll = _options$scroll === void 0 ? true : _options$scroll,\n _options$resize = options.resize,\n resize = _options$resize === void 0 ? true : _options$resize;\n var window = getWindow(state.elements.popper);\n var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.addEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.addEventListener('resize', instance.update, passive);\n }\n\n return function () {\n if (scroll) {\n scrollParents.forEach(function (scrollParent) {\n scrollParent.removeEventListener('scroll', instance.update, passive);\n });\n }\n\n if (resize) {\n window.removeEventListener('resize', instance.update, passive);\n }\n };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'eventListeners',\n enabled: true,\n phase: 'write',\n fn: function fn() {},\n effect: effect,\n data: {}\n};","var hash = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, function (matched) {\n return hash[matched];\n });\n}","var hash = {\n start: 'end',\n end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n return placement.replace(/start|end/g, function (matched) {\n return hash[matched];\n });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n var win = getWindow(node);\n var scrollLeft = win.pageXOffset;\n var scrollTop = win.pageYOffset;\n return {\n scrollLeft: scrollLeft,\n scrollTop: scrollTop\n };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n // Popper 1 is broken in this case and never had a bug report so let's assume\n // it's not an issue. I don't think anyone ever specifies width on <html>\n // anyway.\n // Browsers where the left scrollbar doesn't cause an issue report `0` for\n // this (e.g. Edge 2019, IE11, Safari)\n return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n var win = getWindow(element);\n var html = getDocumentElement(element);\n var visualViewport = win.visualViewport;\n var width = html.clientWidth;\n var height = html.clientHeight;\n var x = 0;\n var y = 0;\n\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n var layoutViewport = isLayoutViewport();\n\n if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n\n return {\n width: width,\n height: height,\n x: x + getWindowScrollBarX(element),\n y: y\n };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n var _element$ownerDocumen;\n\n var html = getDocumentElement(element);\n var winScroll = getWindowScroll(element);\n var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n var y = -winScroll.scrollTop;\n\n if (getComputedStyle(body || html).direction === 'rtl') {\n x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n }\n\n return {\n width: width,\n height: height,\n x: x,\n y: y\n };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n // Firefox wants us to check `-x` and `-y` variations as well\n var _getComputedStyle = getComputedStyle(element),\n overflow = _getComputedStyle.overflow,\n overflowX = _getComputedStyle.overflowX,\n overflowY = _getComputedStyle.overflowY;\n\n return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n // $FlowFixMe[incompatible-return]: assume body is always available\n return node.ownerDocument.body;\n }\n\n if (isHTMLElement(node) && isScrollParent(node)) {\n return node;\n }\n\n return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n var _element$ownerDocumen;\n\n if (list === void 0) {\n list = [];\n }\n\n var scrollParent = getScrollParent(element);\n var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n var win = getWindow(scrollParent);\n var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n var updatedList = list.concat(target);\n return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n return Object.assign({}, rect, {\n left: rect.x,\n top: rect.y,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n rect.top = rect.top + element.clientTop;\n rect.left = rect.left + element.clientLeft;\n rect.bottom = rect.top + element.clientHeight;\n rect.right = rect.left + element.clientWidth;\n rect.width = element.clientWidth;\n rect.height = element.clientHeight;\n rect.x = rect.left;\n rect.y = rect.top;\n return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n var clippingParents = listScrollParents(getParentNode(element));\n var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n if (!isElement(clipperElement)) {\n return [];\n } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n return clippingParents.filter(function (clippingParent) {\n return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n var firstClippingParent = clippingParents[0];\n var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n var rect = getClientRectFromMixedType(element, clippingParent, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n clippingRect.width = clippingRect.right - clippingRect.left;\n clippingRect.height = clippingRect.bottom - clippingRect.top;\n clippingRect.x = clippingRect.left;\n clippingRect.y = clippingRect.top;\n return clippingRect;\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n var reference = _ref.reference,\n element = _ref.element,\n placement = _ref.placement;\n var basePlacement = placement ? getBasePlacement(placement) : null;\n var variation = placement ? getVariation(placement) : null;\n var commonX = reference.x + reference.width / 2 - element.width / 2;\n var commonY = reference.y + reference.height / 2 - element.height / 2;\n var offsets;\n\n switch (basePlacement) {\n case top:\n offsets = {\n x: commonX,\n y: reference.y - element.height\n };\n break;\n\n case bottom:\n offsets = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n\n case right:\n offsets = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n\n case left:\n offsets = {\n x: reference.x - element.width,\n y: commonY\n };\n break;\n\n default:\n offsets = {\n x: reference.x,\n y: reference.y\n };\n }\n\n var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n if (mainAxis != null) {\n var len = mainAxis === 'y' ? 'height' : 'width';\n\n switch (variation) {\n case start:\n offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n break;\n\n case end:\n offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n break;\n\n default:\n }\n }\n\n return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n _options$placement = _options.placement,\n placement = _options$placement === void 0 ? state.placement : _options$placement,\n _options$strategy = _options.strategy,\n strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n _options$boundary = _options.boundary,\n boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n _options$rootBoundary = _options.rootBoundary,\n rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n _options$elementConte = _options.elementContext,\n elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n _options$altBoundary = _options.altBoundary,\n altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n _options$padding = _options.padding,\n padding = _options$padding === void 0 ? 0 : _options$padding;\n var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n var altContext = elementContext === popper ? reference : popper;\n var popperRect = state.rects.popper;\n var element = state.elements[altBoundary ? altContext : elementContext];\n var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n var referenceClientRect = getBoundingClientRect(state.elements.reference);\n var popperOffsets = computeOffsets({\n reference: referenceClientRect,\n element: popperRect,\n strategy: 'absolute',\n placement: placement\n });\n var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n // 0 or negative = within the clipping rect\n\n var overflowOffsets = {\n top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n };\n var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n if (elementContext === popper && offsetData) {\n var offset = offsetData[placement];\n Object.keys(overflowOffsets).forEach(function (key) {\n var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n overflowOffsets[key] += offset[axis] * multiply;\n });\n }\n\n return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n if (options === void 0) {\n options = {};\n }\n\n var _options = options,\n placement = _options.placement,\n boundary = _options.boundary,\n rootBoundary = _options.rootBoundary,\n padding = _options.padding,\n flipVariations = _options.flipVariations,\n _options$allowedAutoP = _options.allowedAutoPlacements,\n allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n var variation = getVariation(placement);\n var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n return getVariation(placement) === variation;\n }) : basePlacements;\n var allowedPlacements = placements.filter(function (placement) {\n return allowedAutoPlacements.indexOf(placement) >= 0;\n });\n\n if (allowedPlacements.length === 0) {\n allowedPlacements = placements;\n } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n var overflows = allowedPlacements.reduce(function (acc, placement) {\n acc[placement] = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding\n })[getBasePlacement(placement)];\n return acc;\n }, {});\n return Object.keys(overflows).sort(function (a, b) {\n return overflows[a] - overflows[b];\n });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n if (getBasePlacement(placement) === auto) {\n return [];\n }\n\n var oppositePlacement = getOppositePlacement(placement);\n return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n\n if (state.modifiersData[name]._skip) {\n return;\n }\n\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n specifiedFallbackPlacements = options.fallbackPlacements,\n padding = options.padding,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n _options$flipVariatio = options.flipVariations,\n flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n allowedAutoPlacements = options.allowedAutoPlacements;\n var preferredPlacement = state.options.placement;\n var basePlacement = getBasePlacement(preferredPlacement);\n var isBasePlacement = basePlacement === preferredPlacement;\n var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n flipVariations: flipVariations,\n allowedAutoPlacements: allowedAutoPlacements\n }) : placement);\n }, []);\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var checksMap = new Map();\n var makeFallbackChecks = true;\n var firstFittingPlacement = placements[0];\n\n for (var i = 0; i < placements.length; i++) {\n var placement = placements[i];\n\n var _basePlacement = getBasePlacement(placement);\n\n var isStartVariation = getVariation(placement) === start;\n var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n var len = isVertical ? 'width' : 'height';\n var overflow = detectOverflow(state, {\n placement: placement,\n boundary: boundary,\n rootBoundary: rootBoundary,\n altBoundary: altBoundary,\n padding: padding\n });\n var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n if (referenceRect[len] > popperRect[len]) {\n mainVariationSide = getOppositePlacement(mainVariationSide);\n }\n\n var altVariationSide = getOppositePlacement(mainVariationSide);\n var checks = [];\n\n if (checkMainAxis) {\n checks.push(overflow[_basePlacement] <= 0);\n }\n\n if (checkAltAxis) {\n checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n }\n\n if (checks.every(function (check) {\n return check;\n })) {\n firstFittingPlacement = placement;\n makeFallbackChecks = false;\n break;\n }\n\n checksMap.set(placement, checks);\n }\n\n if (makeFallbackChecks) {\n // `2` may be desired in some cases – research later\n var numberOfChecks = flipVariations ? 3 : 1;\n\n var _loop = function _loop(_i) {\n var fittingPlacement = placements.find(function (placement) {\n var checks = checksMap.get(placement);\n\n if (checks) {\n return checks.slice(0, _i).every(function (check) {\n return check;\n });\n }\n });\n\n if (fittingPlacement) {\n firstFittingPlacement = fittingPlacement;\n return \"break\";\n }\n };\n\n for (var _i = numberOfChecks; _i > 0; _i--) {\n var _ret = _loop(_i);\n\n if (_ret === \"break\") break;\n }\n }\n\n if (state.placement !== firstFittingPlacement) {\n state.modifiersData[name]._skip = true;\n state.placement = firstFittingPlacement;\n state.reset = true;\n }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'flip',\n enabled: true,\n phase: 'main',\n fn: flip,\n requiresIfExists: ['offset'],\n data: {\n _skip: false\n }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n if (preventedOffsets === void 0) {\n preventedOffsets = {\n x: 0,\n y: 0\n };\n }\n\n return {\n top: overflow.top - rect.height - preventedOffsets.y,\n right: overflow.right - rect.width + preventedOffsets.x,\n bottom: overflow.bottom - rect.height + preventedOffsets.y,\n left: overflow.left - rect.width - preventedOffsets.x\n };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n return [top, right, bottom, left].some(function (side) {\n return overflow[side] >= 0;\n });\n}\n\nfunction hide(_ref) {\n var state = _ref.state,\n name = _ref.name;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var preventedOffsets = state.modifiersData.preventOverflow;\n var referenceOverflow = detectOverflow(state, {\n elementContext: 'reference'\n });\n var popperAltOverflow = detectOverflow(state, {\n altBoundary: true\n });\n var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n state.modifiersData[name] = {\n referenceClippingOffsets: referenceClippingOffsets,\n popperEscapeOffsets: popperEscapeOffsets,\n isReferenceHidden: isReferenceHidden,\n hasPopperEscaped: hasPopperEscaped\n };\n state.attributes.popper = Object.assign({}, state.attributes.popper, {\n 'data-popper-reference-hidden': isReferenceHidden,\n 'data-popper-escaped': hasPopperEscaped\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'hide',\n enabled: true,\n phase: 'main',\n requiresIfExists: ['preventOverflow'],\n fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n var basePlacement = getBasePlacement(placement);\n var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n placement: placement\n })) : offset,\n skidding = _ref[0],\n distance = _ref[1];\n\n skidding = skidding || 0;\n distance = (distance || 0) * invertDistance;\n return [left, right].indexOf(basePlacement) >= 0 ? {\n x: distance,\n y: skidding\n } : {\n x: skidding,\n y: distance\n };\n}\n\nfunction offset(_ref2) {\n var state = _ref2.state,\n options = _ref2.options,\n name = _ref2.name;\n var _options$offset = options.offset,\n offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n var data = placements.reduce(function (acc, placement) {\n acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n return acc;\n }, {});\n var _data$state$placement = data[state.placement],\n x = _data$state$placement.x,\n y = _data$state$placement.y;\n\n if (state.modifiersData.popperOffsets != null) {\n state.modifiersData.popperOffsets.x += x;\n state.modifiersData.popperOffsets.y += y;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'offset',\n enabled: true,\n phase: 'main',\n requires: ['popperOffsets'],\n fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n var state = _ref.state,\n name = _ref.name;\n // Offsets are the actual position the popper needs to have to be\n // properly positioned near its reference element\n // This is the most basic placement, and will be adjusted by\n // the modifiers in the next step\n state.modifiersData[name] = computeOffsets({\n reference: state.rects.reference,\n element: state.rects.popper,\n strategy: 'absolute',\n placement: state.placement\n });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'popperOffsets',\n enabled: true,\n phase: 'read',\n fn: popperOffsets,\n data: {}\n};","export default function getAltAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n var state = _ref.state,\n options = _ref.options,\n name = _ref.name;\n var _options$mainAxis = options.mainAxis,\n checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n _options$altAxis = options.altAxis,\n checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n boundary = options.boundary,\n rootBoundary = options.rootBoundary,\n altBoundary = options.altBoundary,\n padding = options.padding,\n _options$tether = options.tether,\n tether = _options$tether === void 0 ? true : _options$tether,\n _options$tetherOffset = options.tetherOffset,\n tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n var overflow = detectOverflow(state, {\n boundary: boundary,\n rootBoundary: rootBoundary,\n padding: padding,\n altBoundary: altBoundary\n });\n var basePlacement = getBasePlacement(state.placement);\n var variation = getVariation(state.placement);\n var isBasePlacement = !variation;\n var mainAxis = getMainAxisFromPlacement(basePlacement);\n var altAxis = getAltAxis(mainAxis);\n var popperOffsets = state.modifiersData.popperOffsets;\n var referenceRect = state.rects.reference;\n var popperRect = state.rects.popper;\n var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n placement: state.placement\n })) : tetherOffset;\n var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n mainAxis: tetherOffsetValue,\n altAxis: tetherOffsetValue\n } : Object.assign({\n mainAxis: 0,\n altAxis: 0\n }, tetherOffsetValue);\n var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n var data = {\n x: 0,\n y: 0\n };\n\n if (!popperOffsets) {\n return;\n }\n\n if (checkMainAxis) {\n var _offsetModifierState$;\n\n var mainSide = mainAxis === 'y' ? top : left;\n var altSide = mainAxis === 'y' ? bottom : right;\n var len = mainAxis === 'y' ? 'height' : 'width';\n var offset = popperOffsets[mainAxis];\n var min = offset + overflow[mainSide];\n var max = offset - overflow[altSide];\n var additive = tether ? -popperRect[len] / 2 : 0;\n var minLen = variation === start ? referenceRect[len] : popperRect[len];\n var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n // outside the reference bounds\n\n var arrowElement = state.elements.arrow;\n var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n width: 0,\n height: 0\n };\n var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n var arrowPaddingMin = arrowPaddingObject[mainSide];\n var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n // to include its full size in the calculation. If the reference is small\n // and near the edge of a boundary, the popper can overflow even if the\n // reference is not overflowing as well (e.g. virtual elements with no\n // width or height)\n\n var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n var tetherMax = offset + maxOffset - offsetModifierValue;\n var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n popperOffsets[mainAxis] = preventedOffset;\n data[mainAxis] = preventedOffset - offset;\n }\n\n if (checkAltAxis) {\n var _offsetModifierState$2;\n\n var _mainSide = mainAxis === 'x' ? top : left;\n\n var _altSide = mainAxis === 'x' ? bottom : right;\n\n var _offset = popperOffsets[altAxis];\n\n var _len = altAxis === 'y' ? 'height' : 'width';\n\n var _min = _offset + overflow[_mainSide];\n\n var _max = _offset - overflow[_altSide];\n\n var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n popperOffsets[altAxis] = _preventedOffset;\n data[altAxis] = _preventedOffset - _offset;\n }\n\n state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n name: 'preventOverflow',\n enabled: true,\n phase: 'main',\n fn: preventOverflow,\n requiresIfExists: ['offset']\n};","export default function getHTMLElementScroll(element) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n if (node === getWindow(node) || !isHTMLElement(node)) {\n return getWindowScroll(node);\n } else {\n return getHTMLElementScroll(node);\n }\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n var rect = element.getBoundingClientRect();\n var scaleX = round(rect.width) / element.offsetWidth || 1;\n var scaleY = round(rect.height) / element.offsetHeight || 1;\n return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n\n var isOffsetParentAnElement = isHTMLElement(offsetParent);\n var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n var documentElement = getDocumentElement(offsetParent);\n var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n var scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n var offsets = {\n x: 0,\n y: 0\n };\n\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n isScrollParent(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n\n if (isHTMLElement(offsetParent)) {\n offsets = getBoundingClientRect(offsetParent, true);\n offsets.x += offsetParent.clientLeft;\n offsets.y += offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n var map = new Map();\n var visited = new Set();\n var result = [];\n modifiers.forEach(function (modifier) {\n map.set(modifier.name, modifier);\n }); // On visiting object, check for its dependencies and visit them recursively\n\n function sort(modifier) {\n visited.add(modifier.name);\n var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n requires.forEach(function (dep) {\n if (!visited.has(dep)) {\n var depModifier = map.get(dep);\n\n if (depModifier) {\n sort(depModifier);\n }\n }\n });\n result.push(modifier);\n }\n\n modifiers.forEach(function (modifier) {\n if (!visited.has(modifier.name)) {\n // check for visited object\n sort(modifier);\n }\n });\n return result;\n}\n\nexport default function orderModifiers(modifiers) {\n // order based on dependencies\n var orderedModifiers = order(modifiers); // order based on phase\n\n return modifierPhases.reduce(function (acc, phase) {\n return acc.concat(orderedModifiers.filter(function (modifier) {\n return modifier.phase === phase;\n }));\n }, []);\n}","export default function debounce(fn) {\n var pending;\n return function () {\n if (!pending) {\n pending = new Promise(function (resolve) {\n Promise.resolve().then(function () {\n pending = undefined;\n resolve(fn());\n });\n });\n }\n\n return pending;\n };\n}","export default function mergeByName(modifiers) {\n var merged = modifiers.reduce(function (merged, current) {\n var existing = merged[current.name];\n merged[current.name] = existing ? Object.assign({}, existing, current, {\n options: Object.assign({}, existing.options, current.options),\n data: Object.assign({}, existing.data, current.data)\n }) : current;\n return merged;\n }, {}); // IE11 does not support Object.values\n\n return Object.keys(merged).map(function (key) {\n return merged[key];\n });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n placement: 'bottom',\n modifiers: [],\n strategy: 'absolute'\n};\n\nfunction areValidElements() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return !args.some(function (element) {\n return !(element && typeof element.getBoundingClientRect === 'function');\n });\n}\n\nexport function popperGenerator(generatorOptions) {\n if (generatorOptions === void 0) {\n generatorOptions = {};\n }\n\n var _generatorOptions = generatorOptions,\n _generatorOptions$def = _generatorOptions.defaultModifiers,\n defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n _generatorOptions$def2 = _generatorOptions.defaultOptions,\n defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n return function createPopper(reference, popper, options) {\n if (options === void 0) {\n options = defaultOptions;\n }\n\n var state = {\n placement: 'bottom',\n orderedModifiers: [],\n options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n modifiersData: {},\n elements: {\n reference: reference,\n popper: popper\n },\n attributes: {},\n styles: {}\n };\n var effectCleanupFns = [];\n var isDestroyed = false;\n var instance = {\n state: state,\n setOptions: function setOptions(setOptionsAction) {\n var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n cleanupModifierEffects();\n state.options = Object.assign({}, defaultOptions, state.options, options);\n state.scrollParents = {\n reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n popper: listScrollParents(popper)\n }; // Orders the modifiers based on their dependencies and `phase`\n // properties\n\n var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n state.orderedModifiers = orderedModifiers.filter(function (m) {\n return m.enabled;\n });\n runModifierEffects();\n return instance.update();\n },\n // Sync update – it will always be executed, even if not necessary. This\n // is useful for low frequency updates where sync behavior simplifies the\n // logic.\n // For high frequency updates (e.g. `resize` and `scroll` events), always\n // prefer the async Popper#update method\n forceUpdate: function forceUpdate() {\n if (isDestroyed) {\n return;\n }\n\n var _state$elements = state.elements,\n reference = _state$elements.reference,\n popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n // anymore\n\n if (!areValidElements(reference, popper)) {\n return;\n } // Store the reference and popper rects to be read by modifiers\n\n\n state.rects = {\n reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n popper: getLayoutRect(popper)\n }; // Modifiers have the ability to reset the current update cycle. The\n // most common use case for this is the `flip` modifier changing the\n // placement, which then needs to re-run all the modifiers, because the\n // logic was previously ran for the previous placement and is therefore\n // stale/incorrect\n\n state.reset = false;\n state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n // is filled with the initial data specified by the modifier. This means\n // it doesn't persist and is fresh on each update.\n // To ensure persistent data, use `${name}#persistent`\n\n state.orderedModifiers.forEach(function (modifier) {\n return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n });\n\n for (var index = 0; index < state.orderedModifiers.length; index++) {\n if (state.reset === true) {\n state.reset = false;\n index = -1;\n continue;\n }\n\n var _state$orderedModifie = state.orderedModifiers[index],\n fn = _state$orderedModifie.fn,\n _state$orderedModifie2 = _state$orderedModifie.options,\n _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n name = _state$orderedModifie.name;\n\n if (typeof fn === 'function') {\n state = fn({\n state: state,\n options: _options,\n name: name,\n instance: instance\n }) || state;\n }\n }\n },\n // Async and optimistically optimized update – it will not be executed if\n // not necessary (debounced to run at most once-per-tick)\n update: debounce(function () {\n return new Promise(function (resolve) {\n instance.forceUpdate();\n resolve(state);\n });\n }),\n destroy: function destroy() {\n cleanupModifierEffects();\n isDestroyed = true;\n }\n };\n\n if (!areValidElements(reference, popper)) {\n return instance;\n }\n\n instance.setOptions(options).then(function (state) {\n if (!isDestroyed && options.onFirstUpdate) {\n options.onFirstUpdate(state);\n }\n }); // Modifiers have the ability to execute arbitrary code before the first\n // update cycle runs. They will be executed in the same order as the update\n // cycle. This is useful when a modifier adds some persistent data that\n // other modifiers need to use, but the modifier is run after the dependent\n // one.\n\n function runModifierEffects() {\n state.orderedModifiers.forEach(function (_ref) {\n var name = _ref.name,\n _ref$options = _ref.options,\n options = _ref$options === void 0 ? {} : _ref$options,\n effect = _ref.effect;\n\n if (typeof effect === 'function') {\n var cleanupFn = effect({\n state: state,\n name: name,\n instance: instance,\n options: options\n });\n\n var noopFn = function noopFn() {};\n\n effectCleanupFns.push(cleanupFn || noopFn);\n }\n });\n }\n\n function cleanupModifierEffects() {\n effectCleanupFns.forEach(function (fn) {\n return fn();\n });\n effectCleanupFns = [];\n }\n\n return instance;\n };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";",":host {\n display: inline-block;\n font-family: inherit;\n\n .trigger {\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n transition: 250ms ease-in-out color;\n color: var(--icon-secondary);\n\n &_icon {\n color: inherit;\n }\n\n ::slotted([slot=\"trigger\"]) {\n transition: 250ms ease-in-out color;\n color: var(--icon-secondary);\n }\n\n &:hover,\n &:active,\n ::slotted([slot=\"trigger\"]:hover),\n ::slotted([slot=\"trigger\"]:active) {\n color: var(--icon-primary);\n }\n\n &:focus,\n ::slotted([slot=\"trigger\"]:focus) {\n color: var(--focus);\n }\n }\n\n .popover {\n opacity: 1;\n z-index: 1000;\n position: absolute;\n background-color: var(--background-inverse);\n color: var(--text-inverse);\n border-radius: 4px;\n box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);\n max-width: 288px;\n font-size: 0.875rem;\n line-height: 1.5;\n margin-top: 8px;\n flex-direction: column;\n display: flex;\n\n &[data-popper-placement^='top'] .popover-tip {\n bottom: -4px;\n }\n &[data-popper-placement^='bottom'] .popover-tip {\n top: -4px;\n }\n &[data-popper-placement^='left'] .popover-tip {\n right: -4px;\n }\n &[data-popper-placement^='right'] .popover-tip {\n left: -4px;\n }\n\n .popover-tip {\n width: 10px;\n height: 10px;\n background-color: transparent;\n z-index: -1;\n &:before {\n content: '';\n transform: rotate(45deg);\n background-color: var(--background-inverse);\n width: inherit;\n height: inherit;\n display: inline-block;\n }\n }\n\n .popover-content {\n padding: var(--gap-md);\n display: flex;\n flex-direction: column;\n gap: var(--spacing-04);\n\n ::slotted([slot=\"header\"]) {\n font-size: 0.875rem;\n font-weight: 600;\n color: var(--text-secondary);\n }\n\n ::slotted([slot=\"body\"]) {\n font-size: 0.875rem;\n color: var(--text-inverse);\n }\n\n ::slotted([slot=\"footer\"]) {\n font-size: 0.75rem;\n color: var(--text-inverse);\n opacity: 0.8;\n }\n }\n }\n}\n\n:host(:not([open])) {\n .popover {\n opacity: 0;\n z-index: -1;\n user-select: none;\n pointer-events: none;\n }\n}\n","import { h, Event, Prop, Listen, Watch, Method, Element, Component, Host, EventEmitter } from '@stencil/core';\nimport { createPopper, Instance, Placement } from '@popperjs/core';\n\n@Component({\n tag: 'xv-toggle-tip',\n styleUrl: 'xv-toggle-tip.scss',\n shadow: true,\n})\nexport class XvToggleTip {\n @Element() el: HTMLElement;\n\n @Prop({ reflect: true, mutable: true }) open: boolean = false;\n @Prop() position: Placement = 'auto';\n @Event({ eventName: 'openChange' }) openChange: EventEmitter<boolean>;\n\n private triggerEl!: HTMLElement;\n private popoverEl!: HTMLElement;\n private popperInstance?: Instance;\n\n @Watch('open')\n openChangeHandle() {\n if (this.open) {\n requestAnimationFrame(() => this.createPopper());\n } else {\n this.destroyPopper();\n }\n this.openChange.emit(this.open);\n }\n\n @Listen('click', { target: 'document' })\n handleClickOutside(e: MouseEvent) {\n if (this.open && !this.el.contains(e.target as Node)) {\n this.open = false;\n }\n };\n\n @Listen('keydown')\n handleKeyDown(e: KeyboardEvent) {\n if (e.key === 'Escape' && this.open) {\n this.open = false;\n }\n };\n\n @Method()\n async setPopover(open: boolean) {\n if (open === this.open) return;\n this.open = open;\n\n return this.open;\n };\n\n private createPopper() {\n if (!this.triggerEl || !this.popoverEl) {\n console.warn('XvToggleTip can`t find the trigger or popover container!');\n return;\n }\n\n this.popperInstance = createPopper(this.triggerEl, this.popoverEl, {\n placement: this.position,\n modifiers: [\n {\n name: 'offset',\n options: {\n offset: [0, 8],\n },\n },\n {\n name: 'preventOverflow',\n options: {\n boundary: 'viewport',\n padding: 8,\n },\n },\n ],\n });\n };\n\n private destroyPopper = () => {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = undefined;\n }\n };\n\n render() {\n return (\n <Host class=\"xv-toggle-tip\">\n <div\n class=\"trigger\"\n role=\"button\"\n tabindex=\"0\"\n aria-expanded={this.open ? 'true' : 'false'}\n aria-controls=\"popover\"\n onClick={() => this.setPopover(!this.open)}\n ref={(el) => (this.triggerEl = el)}\n >\n <slot name=\"trigger\">\n <svg class=\"trigger_icon\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\" width={16} height={16}>\n <path\n fill=\"currentColor\"\n d=\"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0 0-88c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 64-24 0zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"\n />\n </svg>\n </slot>\n </div>\n\n <div\n class={{ popover: true }}\n role=\"tooltip\"\n tabindex=\"-1\"\n ref={(el) => (this.popoverEl = el)}\n >\n <div class=\"popover-tip\" part=\"tip\" data-popper-arrow=\"\"></div>\n <div class=\"popover-content\">\n <slot name=\"header\"></slot>\n <slot name=\"body\"></slot>\n <slot name=\"footer\"></slot>\n </div>\n </div>\n </Host>\n );\n }\n\n disconnectedCallback() {\n this.destroyPopper();\n }\n}\n",":host {\n position: relative;\n display: contents;\n}\n\n.xv-tooltip[role=\"tooltip\"] {\n position: absolute;\n background-color: var(--background-inverse);\n color: var(--text-on-color);\n padding: var(--spacing-03) var(--spacing-04);\n border-radius: 3px;\n font-size: var(--fz-md);\n z-index: 999;\n max-width: min(400px, 90vw);\n overflow: visible;\n\n [data-popper-arrow] {\n position: absolute;\n width: 10px;\n height: 10px;\n background-color: transparent;\n z-index: -1;\n &:before {\n content: '';\n transform: rotate(45deg);\n background-color: var(--background-inverse);\n width: inherit;\n height: inherit;\n display: inline-block;\n }\n }\n\n &[data-popper-placement^='top'] [data-popper-arrow]{\n bottom: 1px;\n }\n\n &[data-popper-placement^='bottom'] [data-popper-arrow] {\n top: -10px;\n }\n\n &[data-popper-placement^='left'] [data-popper-arrow] {\n right: -4px;\n }\n\n &[data-popper-placement^='right'] [data-popper-arrow] {\n left: -4px;\n }\n}\n","import { Component, Host, h, Prop, Element, State, Listen } from '@stencil/core';\nimport { createPopper, Placement, Instance } from '@popperjs/core';\n\n@Component({\n tag: 'xv-tooltip-v2',\n styleUrl: 'xv-tooltip.scss',\n shadow: false,\n})\nexport class XvTooltip {\n @Element() el: HTMLElement;\n\n @Prop() message: string;\n @Prop() position: Placement = 'auto';\n\n @State() visible: boolean = false;\n\n private tooltipEl: HTMLElement;\n private popperInstance: Instance;\n\n @Listen('mouseenter')\n onMouseEnter() {\n this.visible = true;\n requestAnimationFrame(() => this.createPopper());\n }\n\n @Listen('mouseleave')\n onMouseLeave() {\n this.visible = false;\n this.destroyPopper();\n }\n\n private createPopper() {\n if (this.tooltipEl) {\n this.popperInstance = createPopper(this.el, this.tooltipEl, {\n placement: this.position,\n modifiers: [{ name: 'offset', options: { offset: [0, 8] } }],\n });\n }\n }\n\n private destroyPopper() {\n this.popperInstance?.destroy();\n this.popperInstance = null;\n }\n\n render() {\n return (\n <Host>\n <slot>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\" width={16} height={16}>\n <path\n fill=\"currentColor\"\n d=\"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-8 0 0-88c0-13.3-10.7-24-24-24l-48 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 64-24 0zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"\n />\n </svg>\n </slot>\n {this.visible && (\n <div\n class=\"xv-tooltip\"\n ref={(el) => (this.tooltipEl = el)}\n role=\"tooltip\"\n >\n {this.message}\n <div class=\"xv-tooltip-arrow\" data-popper-arrow=\"\" />\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}