xv-webcomponents 0.1.29 → 0.1.31

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 (110) hide show
  1. package/dist/cjs/{index-782b9733.js → index-5ee1b884.js} +43 -2
  2. package/dist/cjs/index-5ee1b884.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +1 -1
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/{utils-aa46f72a.js → utils-22c0eda0.js} +1 -16
  6. package/dist/cjs/utils-22c0eda0.js.map +1 -0
  7. package/dist/cjs/{xv-accordion-v2_28.cjs.entry.js → xv-accordion-v2_26.cjs.entry.js} +124 -429
  8. package/dist/cjs/xv-accordion-v2_26.cjs.entry.js.map +1 -0
  9. package/dist/cjs/xv-breadcrumbs-v2.cjs.entry.js +1 -1
  10. package/dist/cjs/xv-webcomponents.cjs.js +2 -2
  11. package/dist/collection/collection-manifest.json +1 -3
  12. package/dist/collection/components/xv-checkbox/xv-checkbox.css +4 -1
  13. package/dist/collection/components/xv-checkbox/xv-checkbox.js +1 -1
  14. package/dist/collection/components/xv-checkbox/xv-checkbox.js.map +1 -1
  15. package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.js +1 -1
  16. package/dist/collection/components/xv-dropdown/xv-dropdown.css +1 -1
  17. package/dist/collection/components/xv-dropdown/xv-dropdown.js +1 -2
  18. package/dist/collection/components/xv-dropdown/xv-dropdown.js.map +1 -1
  19. package/dist/collection/components/xv-footer/xv-footer.js +1 -1
  20. package/dist/collection/components/xv-header/xv-header.js +1 -1
  21. package/dist/collection/components/xv-link/xv-link.js +1 -1
  22. package/dist/collection/components/xv-modal/xv-modal.css +5 -4
  23. package/dist/collection/components/xv-modal/xv-modal.js +1 -1
  24. package/dist/collection/components/xv-modal/xv-modal.js.map +1 -1
  25. package/dist/collection/components/xv-notification/xv-notification.js +1 -1
  26. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.js +1 -1
  27. package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.js +1 -1
  28. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.js +1 -1
  29. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js +2 -2
  30. package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js.map +1 -1
  31. package/dist/collection/components/xv-table/_vars.js +9 -0
  32. package/dist/collection/components/xv-table/_vars.js.map +1 -0
  33. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.css +86 -0
  34. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js +160 -0
  35. package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js.map +1 -0
  36. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.css +55 -114
  37. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js +28 -151
  38. package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js.map +1 -1
  39. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.css +22 -36
  40. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js +146 -118
  41. package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js.map +1 -1
  42. package/dist/collection/components/xv-table/xv-table.css +83 -141
  43. package/dist/collection/components/xv-table/xv-table.js +56 -208
  44. package/dist/collection/components/xv-table/xv-table.js.map +1 -1
  45. package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js +3 -3
  46. package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js.map +1 -1
  47. package/dist/collection/components/xv-tabs/xv-tabs.css +5 -3
  48. package/dist/collection/components/xv-tabs/xv-tabs.js +8 -36
  49. package/dist/collection/components/xv-tabs/xv-tabs.js.map +1 -1
  50. package/dist/collection/components/xv-tag/xv-tag.js +1 -1
  51. package/dist/collection/components/xv-text-input/xv-text-input.js +10 -10
  52. package/dist/collection/components/xv-text-input/xv-text-input.js.map +1 -1
  53. package/dist/collection/components/xv-tooltip/xv-tooltip.js +1 -1
  54. package/dist/esm/{index-83ab73b7.js → index-590eb7d2.js} +43 -3
  55. package/dist/esm/index-590eb7d2.js.map +1 -0
  56. package/dist/esm/index.js +1 -1
  57. package/dist/esm/loader.js +3 -3
  58. package/dist/esm/{utils-0d1c18d5.js → utils-a9c71376.js} +2 -16
  59. package/dist/esm/utils-a9c71376.js.map +1 -0
  60. package/dist/esm/{xv-accordion-v2_28.entry.js → xv-accordion-v2_26.entry.js} +124 -427
  61. package/dist/esm/xv-accordion-v2_26.entry.js.map +1 -0
  62. package/dist/esm/xv-breadcrumbs-v2.entry.js +1 -1
  63. package/dist/esm/xv-webcomponents.js +3 -3
  64. package/dist/types/components/xv-table/_vars.d.ts +15 -0
  65. package/dist/types/components/xv-table/xv-table-cell/xv-table-cell.d.ts +15 -0
  66. package/dist/types/components/xv-table/xv-table-expand/xv-table-expand.d.ts +4 -20
  67. package/dist/types/components/xv-table/xv-table-row/xv-table-row.d.ts +15 -46
  68. package/dist/types/components/xv-table/xv-table.d.ts +9 -32
  69. package/dist/types/components/xv-tabs/xv-tabs.d.ts +1 -10
  70. package/dist/types/components.d.ts +57 -273
  71. package/dist/xv-webcomponents/index.esm.js +1 -1
  72. package/dist/xv-webcomponents/p-612356e6.js +3 -0
  73. package/dist/xv-webcomponents/p-612356e6.js.map +1 -0
  74. package/dist/xv-webcomponents/p-c09a0bfe.entry.js +2 -0
  75. package/dist/xv-webcomponents/p-e750290d.entry.js +2 -0
  76. package/dist/xv-webcomponents/p-e750290d.entry.js.map +1 -0
  77. package/dist/xv-webcomponents/p-f98a1845.js +2 -0
  78. package/dist/xv-webcomponents/p-f98a1845.js.map +1 -0
  79. package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -1
  80. package/dist/xv-webcomponents/xv-webcomponents.esm.js.map +1 -1
  81. package/package.json +1 -1
  82. package/dist/cjs/index-782b9733.js.map +0 -1
  83. package/dist/cjs/utils-aa46f72a.js.map +0 -1
  84. package/dist/cjs/xv-accordion-v2_28.cjs.entry.js.map +0 -1
  85. package/dist/collection/components/xv-table/defs.js +0 -28
  86. package/dist/collection/components/xv-table/defs.js.map +0 -1
  87. package/dist/collection/components/xv-table/xv-table-col/xv-table-col.css +0 -13
  88. package/dist/collection/components/xv-table/xv-table-col/xv-table-col.js +0 -111
  89. package/dist/collection/components/xv-table/xv-table-col/xv-table-col.js.map +0 -1
  90. package/dist/collection/components/xv-table/xv-table-header-row/xv-table-header-row.css +0 -80
  91. package/dist/collection/components/xv-table/xv-table-header-row/xv-table-header-row.js +0 -172
  92. package/dist/collection/components/xv-table/xv-table-header-row/xv-table-header-row.js.map +0 -1
  93. package/dist/collection/components/xv-table/xv-table-toolbar/xv-table-toolbar.css +0 -47
  94. package/dist/collection/components/xv-table/xv-table-toolbar/xv-table-toolbar.js +0 -78
  95. package/dist/collection/components/xv-table/xv-table-toolbar/xv-table-toolbar.js.map +0 -1
  96. package/dist/esm/index-83ab73b7.js.map +0 -1
  97. package/dist/esm/utils-0d1c18d5.js.map +0 -1
  98. package/dist/esm/xv-accordion-v2_28.entry.js.map +0 -1
  99. package/dist/types/components/xv-table/defs.d.ts +0 -38
  100. package/dist/types/components/xv-table/xv-table-col/xv-table-col.d.ts +0 -9
  101. package/dist/types/components/xv-table/xv-table-header-row/xv-table-header-row.d.ts +0 -28
  102. package/dist/types/components/xv-table/xv-table-toolbar/xv-table-toolbar.d.ts +0 -6
  103. package/dist/xv-webcomponents/p-39bf1511.js +0 -2
  104. package/dist/xv-webcomponents/p-39bf1511.js.map +0 -1
  105. package/dist/xv-webcomponents/p-5f18d718.entry.js +0 -2
  106. package/dist/xv-webcomponents/p-840929c5.js +0 -3
  107. package/dist/xv-webcomponents/p-840929c5.js.map +0 -1
  108. package/dist/xv-webcomponents/p-cc83f7ea.entry.js +0 -2
  109. package/dist/xv-webcomponents/p-cc83f7ea.entry.js.map +0 -1
  110. /package/dist/xv-webcomponents/{p-5f18d718.entry.js.map → p-c09a0bfe.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"file":"xv-accordion-v2.xv-accordion-v2-item.xv-button-v2.xv-card-v2.xv-checkbox-v2.xv-dropdown-v2.xv-dropdown-v2-item.xv-footer.xv-header.xv-link-v2.xv-loader-v2.xv-modal-v2.xv-notification-v2.xv-overflow-menu-v2.xv-overflow-menu-v2-item.xv-progress-indicator-v2.xv-progress-indicator-v2-item.xv-tab-v2.xv-table-v2.xv-table-v2-col.xv-table-v2-expand.xv-table-v2-header-row.xv-table-v2-row.xv-table-v2-toolbar.xv-tabs-v2.xv-tag-v2.xv-text-input-v2.xv-tooltip-v2.entry.js","mappings":"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","names":[],"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/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/types/enum.ts","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-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-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-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/defs.ts","src/components/xv-table/xv-table.scss?tag=xv-table-v2&encapsulation=shadow","src/components/xv-table/xv-table.tsx","src/components/xv-table/xv-table-col/xv-table-col.scss?tag=xv-table-v2-col&encapsulation=shadow","src/components/xv-table/xv-table-col/xv-table-col.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-header-row/xv-table-header-row.scss?tag=xv-table-v2-header-row&encapsulation=shadow","src/components/xv-table/xv-table-header-row/xv-table-header-row.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-table/xv-table-toolbar/xv-table-toolbar.scss?tag=xv-table-v2-toolbar&encapsulation=shadow","src/components/xv-table/xv-table-toolbar/xv-table-toolbar.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/_vars.ts","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","src/components/xv-tooltip/xv-tooltip.scss?tag=xv-tooltip-v2&encapsulation=shadow","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",":host {\n --button-font-size: 14px;\n --focus-border-width: 2px;\n --focus-border-style: solid;\n --button-ghost: tarnsparent;\n --text-disabled-opacity: 0.25;\n --button-border-radius: 3px;\n --button-border-width: 1px;\n --button-border-style: solid;\n --button-border-color-accent: #97BF0D;\n --button-border-color-primary: #273435;\n --button-border-color-secondary: #D1D1D1;\n --button-border-color-ghost: tarnsparent;\n --button-ghost-hover: tarnsparent;\n --button-ghost-active: rgba(139, 139, 139, 0.5);\n --button-accent-disabled: #D1D1D1;\n --button-primary-disabled: #D1D1D1;\n --button-secondary-disabled: #D1D1D1;\n --button-tertiary-disabled: tarnsparent;\n --button-ghost-disabled: tarnsparent;\n\n button {\n font-family: inherit;\n font-size: var(--button-font-size, 14px);\n font-weight: 700;\n padding: 0 20px;\n min-height: 40px;\n line-height: 40px;\n cursor: pointer;\n box-sizing: border-box;\n transition:\n background-color 0.2s ease-in-out,\n filter 0.2s ease-in-out,\n transform 0.1s ease-in-out,\n border-color 0.2s ease-in-out,\n border-width 0.2s ease-in-out,\n box-shadow 0.2s ease-in-out;\n\n &.xv-button-block {\n width: 100%;\n }\n }\n}\n\n.xv-button {\n /* ✅ Accent Button */\n &.accent {\n background-color: var(--button-accent);\n color: var(--text-on-color);\n border: var(--button-border-width) var(--button-border-style) var(--button-border-color-accent);\n border-radius: var(--button-border-radius);\n &:hover {\n background-color: var(--button-accent-hover);\n }\n &:active {\n background-color: var(--button-accent-active);\n color: var(--text-on-color);\n }\n &:focus {\n outline: none;\n border: var(--focus-border-width) var(--focus-border-style) var(--focus);\n transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;\n }\n &:disabled {\n background-color: var(--button-accent-disabled);\n color: var(--text-on-color-disabled);\n border: var(--button-border-width) var(--button-border-style) var(--button-accent-disabled);\n }\n\n }\n\n /* ✅ Primary Button */\n &.primary {\n background-color: var(--button-primary);\n color: var(--text-on-color);\n border: var(--button-border-width) var(--button-border-style) var(--button-border-color-primary);\n border-radius: var(--button-border-radius);\n &:hover {\n background-color: var(--button-primary-hover)\n }\n &:active {\n background-color: var(--button-primary-active)\n }\n &:focus {\n outline: none;\n border: var(--focus-border-width) var(--focus-border-style) var(--focus);\n transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;\n }\n &:disabled {\n background-color: var(--button-primary-disabled);\n color: var(--text-on-color-disabled);\n border: var(--button-border-width) var(--button-border-style) var(--button-primary-disabled);\n }\n }\n\n /* ✅ Secondary Button */\n &.secondary {\n background-color: var(--button-secondary);\n color: var(--text-primary);\n border: var(--button-border-width) var(--button-border-style) var(--button-border-color-secondary);\n border-radius: var(--button-border-radius);\n &:hover {\n background-color: var(--button-secondary-hover);\n }\n &:active {\n background-color: var(--button-secondary-active);\n }\n &:focus {\n outline: none;\n border: var(--focus-border-width) var(--focus-border-style) var(--focus);\n transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;\n }\n &:disabled {\n background-color: var(--button-secondary-disabled);\n color: var(--text-on-color-disabled);\n }\n }\n\n /* ✅ Tertiary Button */\n &.tertiary {\n background-color: var(--button-ghost);\n color: var(--text-primary);\n border: var(--button-border-width) var(--button-border-style) var(--button-tertiary);\n border-radius: var(--button-border-radius);\n &:hover {\n background-color: var(--button-tertiary-hover);\n }\n &:active {\n background-color: var(--button-tertiary-active);\n }\n &:focus {\n outline: none;\n border: var(--focus-border-width) var(--focus-border-style) var(--focus);\n transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;\n }\n &:disabled {\n background-color: var(--button-tertiary-disabled);\n color: var(--text-disabled);\n opacity: var(--text-disabled-opacity);\n }\n }\n\n /* ✅ Ghost Button */\n &.ghost {\n background-color: var(--button-ghost);\n color: var(--text-primary);\n border: var(--button-border-width) var(--button-border-style) var(--button-border-color-ghost);\n border-radius: var(--button-border-radius);\n &:hover {\n background-color: var(--button-ghost-hover);\n }\n &:active {\n background-color: var(--button-ghost-active);\n }\n &:focus {\n outline: none;\n border: var(--focus-border-width) var(--focus-border-style) var(--focus);\n transition: border-color 0.2s ease-in-out;\n }\n &:disabled {\n background-color: var(--button-ghost-disabled);\n color: var(--text-disabled);\n opacity: var(--text-disabled-opacity);\n }\n }\n}\n","import { Component, Prop, Event, EventEmitter, h } from '@stencil/core';\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})\r\nexport class XvButton {\r\n /** Button label */\r\n @Prop() label: string = '';\r\n\r\n /** Container width Button */\r\n @Prop() block: boolean = false;\r\n\r\n /** Button type */\r\n @Prop() type: 'button' | 'reset' | 'submit' = 'button';\r\n\r\n /** Variant */\r\n @Prop() variant: 'accent' | 'primary' | 'secondary' | 'tertiary' | 'ghost' = 'primary';\r\n\r\n /** Disabled state */\r\n @Prop() disabled: boolean = false;\r\n\r\n /** Emits when the button is clicked */\r\n @Event() buttonClick!: EventEmitter<MouseEvent>;\r\n\r\n /** Handle click only if not disabled */\r\n private handleClick = (e: MouseEvent) => {\r\n if (this.disabled) return;\r\n this.buttonClick.emit(e);\r\n };\r\n\r\n render() {\r\n return (\r\n <button\r\n type={this.type}\r\n part=\"button\"\r\n class={`xv-button ${this.variant} ${this.block ? 'xv-button-block' : ''}`}\r\n disabled={this.disabled}\r\n onClick={this.handleClick}\r\n >\r\n <slot name=\"icon-left\"></slot>\r\n\r\n <slot>\r\n {this.label}\r\n </slot>\r\n\r\n <slot name=\"icon-right\"></slot>\r\n </button>\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}\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 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 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 margin-left: 8px;\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 }\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}</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","export enum SIZE_VAR {\n XS = 'xs',\n SM = 'sm',\n MD = 'md',\n LG = 'lg',\n XL = 'xl',\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 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 ::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\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: 4px 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: 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() disabled?: boolean;\n @Prop() multiple?: boolean;\n @Prop() required?: boolean;\n @Prop({ reflect: true, mutable: true }) open?: boolean;\n @Prop() error?: string;\n @Prop() label?: string;\n @Prop() helper?: string;\n @Prop() warning?: string;\n @Prop() placeholder?: 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) 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 console.log('dropdownItemData', dropdownItemData);\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 size={this.size} class=\"xv-dropdown\" role=\"combobox\" tabindex={this.disabled ? -1 : false}>\n <label class=\"label\">\n <slot name=\"label\">{this.label}</slot>\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.error && (\n <svg class=\"control_icon error\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\">\n <path fill=\"currentColor\" d=\"M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24l0 112c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-112c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\" />\n </svg>\n )}\n {(!this.error && !!this.warning) && (\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 <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",":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","%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 @Element() el: HTMLElement;\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-md hidden-lg\">\n <a class=\"btn btn-default navbar-btn btn-link\" href=\"https://market.crossvertise.com/de-de/mycrossvertise/account/logon?returnUrl=https%3A%2F%2Fwww.crossvertise.com%2F\">\n <i class=\"fa fa-user fa-lg\" aria-hidden=\"true\"></i>\n <span class=\"hidden-xs\">Login</span>\n </a>\n </li>\n <li class=\"hidden-xs hidden-sm\">\n <a role=\"button\" class=\"btn btn-default navbar-btn btn-link\" data-toggle=\"modal\" data-target=\"#login-modal\">\n <i class=\"fa fa-user fa-lg\" aria-hidden=\"true\"></i>\n <span>Login</span>\n </a>\n </li>\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.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' = '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",":host {\n display: inline-block;\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: 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 &__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 margin-top: var(--gap-md, 16px);\n margin-bottom: var(--gap-md, 16px);\n overflow: auto;\n }\n\n &_footer {\n position: relative;\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() permanent: boolean = false;\n /**\n * Size of modal. But max size is 90% view width\n */\n @Prop() size: SIZE_VAR = SIZE_VAR.MD;\n\n @Event() changeOpen: EventEmitter<boolean>;\n\n private triggerEl: HTMLElement | null = null;\n\n @Method()\n async openModal() {\n this.open = true;\n this.changeOpen?.emit(this.open);\n return this.open\n };\n\n @Method()\n async closeModal() {\n this.open = false;\n this.changeOpen?.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\">\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\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() variant: NOTIFICATION_VARIANTS = NOTIFICATION_VARIANTS.INFO;\n @Prop() 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","$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\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() 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","import { Component, Host, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'xv-tab-v2',\n styleUrl: 'xv-tab.scss',\n shadow: true,\n})\nexport class XvTab {\n @Prop() label: string;\n @Prop() disabled: boolean = false;\n\n render() {\n return <Host disabled={this.disabled}><slot /></Host>;\n }\n}\n","export enum TABLE_COLOR_SCHEMA {\n DEF = '',\n ZEBRA = 'zebra',\n}\n\nexport enum TABLE_SIZE {\n EXTRA_SMALL = 'xs',\n SMALL = 'sm',\n MEDIUM = 'md',\n LARGE = 'lg',\n EXTRA_LARGE = 'xl',\n}\n\nexport enum TABLE_TAG {\n TABLE = 'XV-TABLE-V2',\n EXPAND = 'XV-TABLE-V2-EXPAND',\n ROW = 'XV-TABLE-V2-ROW',\n HEADER = 'XV-TABLE-V2-HEADER-ROW',\n TOOLBAR = 'XV-TABLE-V2-TOOLBAR'\n}\n\nexport enum SORT_DIR {\n ASC = 'asc',\n DESC = 'desc',\n NONE = 'none'\n}\n\nexport type TableSelectionEventData = {\n name: string;\n checked: boolean;\n value?: string;\n group?: {\n isMainRow?: boolean;\n id: string;\n data?: TableSelectionEventData[];\n };\n};\n\nexport type TableSelectionEvent = CustomEvent<TableSelectionEventData>;\n\nexport interface TableSortData {\n dir: SORT_DIR;\n name: string;\n}\n","@import \"vars\";\n\n:host {\n position: relative;\n\n @include init-column-vars();\n\n --xv-table-row-bg-color: var(--layer-02, #FFF);\n --xv-table-first-col-size: 0px;\n --xv-table-padding: #{$space-md};\n\n .caption {\n padding: $space-md $space-md $space-lg;\n &_title,\n &_description {\n color: $color;\n margin: 0;\n }\n\n &_title {\n font-family: var(--ff-heading, \"Gill Sans\");\n font-size: 21px;\n }\n\n &_description {\n font-family: var(--ff-body, Tahoma);\n font-size: $font-size-content;\n line-height: 128.571%;\n letter-spacing: 0.16px;\n }\n }\n}\n\n:host([expandable]) {\n --xv-table-first-col-size: 48px;\n}\n:host([selectable]) {\n --xv-table-first-col-size: 50px;\n}\n:host([expandable][selectable]) {\n --xv-table-first-col-size: 98px;\n}\n\n:host([size=\"xs\"]) {\n --xv-table-padding: #{$space-xs};\n}\n:host([size=\"sm\"]) {\n --xv-table-padding: #{$space-sm};\n}\n:host([size=\"md\"]) {\n --xv-table-padding: #{$space-md};\n}\n:host([size=\"lg\"]) {\n --xv-table-padding: #{$space-lg};\n}\n:host([size=\"xl\"]) {\n --xv-table-padding: #{$space-xl};\n}\n\n:host([hoverable]) {\n ::slotted(#{$tag-name}-row:hover),\n ::slotted(#{$tag-name}-expand:hover) {\n --xv-table-row-bg-color: var(--layer-hover-01, #E3E3E3);\n }\n}\n\n:host(#{$tag-name}) {\n ::slotted(#{$tag-name}-row[odd]),\n ::slotted(#{$tag-name}-expand[odd]) {\n --xv-table-row-bg-color: var(--layer-selected-01, #E3E3E3);\n }\n}\n","import { Component, Host, h, Element, Prop, Watch, Event, EventEmitter, State } from '@stencil/core';\nimport { TABLE_COLOR_SCHEMA, TABLE_SIZE, TABLE_TAG, TableSelectionEvent, TableSelectionEventData } from './defs';\nimport { XvTableToolbar } from './xv-table-toolbar/xv-table-toolbar';\nimport { debounce, forEach, setAttr } from '../../utils/utils';\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 /**\n * Table caption description\n */\n @Prop() description: string;\n /**\n * Set current color schema type of enum TABLE_COLOR_SCHEMA\n * Possible options 'zebra'\n */\n @Prop({ attribute: 'color-schema' }) colorSchema: TABLE_COLOR_SCHEMA = TABLE_COLOR_SCHEMA.DEF;\n /**\n * If table is expandable fields\n */\n @Prop({ reflect: true }) expandable: boolean = false;\n /**\n * Table size\n * enum TABLE_SIZE\n */\n @Prop() size: TABLE_SIZE = TABLE_SIZE.MEDIUM;\n /**\n * Add checkbox selection to the table\n */\n @Prop() selectable: boolean = false;\n\n @State() selectedRows = new Map<string, TableSelectionEventData>();\n\n @Event() changeSelection: EventEmitter<TableSelectionEventData[]>;\n\n @Watch('colorSchema')\n handleSetColorSchema() {\n this.setRowProps();\n }\n\n @Watch('selectable')\n listenSelectableHandle() {\n if (this.selectable) {\n this.el.addEventListener('checkedChange', this.handleCheckedChange);\n } else {\n this.el.removeEventListener('checkedChange', this.handleCheckedChange);\n }\n\n const rows = Array\n .from(this.el.querySelectorAll(`${TABLE_TAG.ROW}, ${TABLE_TAG.HEADER}`))\n .filter((node) =>\n node.nodeType === Node.ELEMENT_NODE && (\n (node as any)?.tagName === `${this.el.tagName}-ROW` ||\n (node as any)?.tagName === `${this.el.tagName}-HEADER-ROW`\n )\n );\n\n rows.forEach((row, i) => {\n const isExists = row.hasAttribute('selection-name');\n\n if (this.selectable && row.tagName === TABLE_TAG.HEADER && !isExists) {\n return row.setAttribute('selection-name', 'header');\n }\n\n if (!this.selectable && isExists) {\n return row.removeAttribute('selection-name');\n }\n\n if(this.selectable && !isExists) {\n row.setAttribute('selection-name', row.getAttribute('name') || `${i}`);\n }\n })\n }\n\n private debouncedChangeSelection = debounce(async () => {\n const results = Array.from(this.selectedRows.values());\n const toolbar = this.el.querySelector(TABLE_TAG.TOOLBAR) as unknown as XvTableToolbar;\n await toolbar?.setSelectedItems?.(this.selectedRows);\n const header = this.el.querySelector(TABLE_TAG.HEADER);\n let partial = false;\n\n forEach(this.el.querySelectorAll(TABLE_TAG.ROW), (row) => {\n if (!row.hasAttribute('checked')) partial = true;\n })\n\n setAttr(header, 'checked', !!this.selectedRows.size);\n setAttr(header, 'partial', partial);\n\n this.changeSelection.emit(results);\n }, 150);\n\n private handleCheckedChange = async (e: TableSelectionEvent) => {\n const { name, checked } = e.detail;\n\n if (checked) {\n this.selectedRows.set(name, e.detail);\n } else {\n this.selectedRows.delete(name);\n }\n\n this.debouncedChangeSelection();\n };\n\n private setRowProps = () => {\n const rows = Array\n .from(this.el.childNodes)\n .filter((node) =>\n node.nodeType === Node.ELEMENT_NODE && (\n (node as any)?.tagName === `${this.el.tagName}-ROW` ||\n (node as any)?.tagName === `${this.el.tagName}-HEADER-ROW` ||\n (node as any)?.tagName === `${this.el.tagName}-EXPAND`\n )\n );\n let visualIndex = 0;\n\n rows.forEach((node, i) => {\n const row = (node as HTMLElement);\n const isHeaderRow = (node as any)?.tagName === `${this.el.tagName}-HEADER-ROW`;\n\n if (isHeaderRow) return;\n\n switch (this.colorSchema) {\n case TABLE_COLOR_SCHEMA.ZEBRA:\n const stripe = visualIndex % 2 === 0 ? 'even' : 'odd';\n if (row.hasAttribute('expandable') && rows[i + 1]) {\n row.setAttribute(stripe, '');\n } else {\n visualIndex++;\n row.setAttribute(stripe, '');\n }\n break;\n default:\n row.removeAttribute('odd');\n row.removeAttribute('even');\n }\n });\n }\n\n render() {\n return (\n <Host role=\"table\" size={this.size} selectable={this.selectable}>\n {(this.el.title || this.description) && (\n <div class=\"caption\">\n {this.el.title && <h5 class=\"caption_title\">{this.el.title}</h5>}\n {this.description && <p class=\"caption_description\">{this.description}</p>}\n </div>\n )}\n <slot name=\"header\" />\n <slot></slot>\n </Host>\n );\n }\n\n componentWillLoad() {\n this.setRowProps();\n this.listenSelectableHandle();\n }\n\n disconnectedCallback() {\n this.el.removeEventListener('checkedChange', this.handleCheckedChange);\n }\n}\n","@import \"../vars\";\n\n:host {\n color: $color;\n font-family: var(--ff-body, Tahoma);\n font-size: $font-size-content;\n padding-left: var(--xv-table-padding, $space-md);\n padding-right: var(--xv-table-padding, $space-md);\n letter-spacing: 0.16px;\n text-overflow: ellipsis;\n align-content: center;\n max-height: 32px;\n height: 32px;\n overflow: hidden;\n}\n","import { Component, Host, h, Prop, Listen, Event, EventEmitter } from '@stencil/core';\nimport { SORT_DIR, TableSortData } from '../defs';\n\n@Component({\n tag: 'xv-table-v2-col',\n styleUrl: 'xv-table-col.scss',\n shadow: true,\n})\nexport class XvTableCol {\n @Prop({ reflect: true, mutable: true }) sort?: SORT_DIR | '';\n @Prop({ attribute: 'sort-name' }) sortName?: string;\n\n @Event() sortColChange: EventEmitter<TableSortData>;\n\n @Listen('click')\n handleClick() {\n if (this.sort === undefined) return;\n if (this.sort === '') this.sort = SORT_DIR.NONE;\n\n this.sort = this.sort === SORT_DIR.NONE ?\n SORT_DIR.ASC : this.sort === SORT_DIR.ASC ?\n SORT_DIR.DESC : SORT_DIR.NONE;\n this.sortColChange.emit({ dir: this.sort, name: this.sortName });\n }\n\n render() {\n return (\n <Host role=\"cell\" class=\"xv-table-col\" sort={this.sort}>\n <slot />\n </Host>\n );\n }\n}\n","@import \"../vars\";\n\n:host {\n @include init-column-vars;\n}\n\n:host(#{$tag-name}-expand) {\n ::slotted(#{$tag-name}-row) {\n block-size: auto;\n overflow: hidden;\n\n @include row-cols-schema;\n }\n}\n\n:host(#{$tag-name}-expand:not([expanded])) {\n ::slotted(#{$tag-name}-row:not(:first-of-type)) {\n padding-top: 0;\n padding-bottom: 0;\n block-size: 0;\n }\n}\n\n:host(#{$tag-name}-expand[expanded]) {\n ::slotted(#{$tag-name}-row:not(:first-of-type)) {\n block-size: auto;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, Prop, State } from '@stencil/core';\nimport { TABLE_TAG, TableSelectionEvent, TableSelectionEventData } from '../defs';\nimport { debounce, forEach, uidGenerator } 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\n @Prop({ reflect: true, mutable: true }) expanded: boolean = false;\n\n @State() cols: number = 1;\n @State() hovered: boolean = false;\n @State() checkedGroup: Map<string, any> = new Map();\n @State() selectedRows = new Set<TableSelectionEventData>();\n @State() mainRowData: TableSelectionEventData;\n\n @Event() checkedChange: EventEmitter<TableSelectionEventData>;\n\n // Expand group ID\n private groupId: string = uidGenerator();\n\n @Method()\n async toggleExpand(expanded: boolean) {\n this.expanded = !!expanded;\n }\n\n private setAttr(node: Element, name: string, value: string | boolean) {\n if (typeof value === 'string') {\n !node.hasAttribute(name) && node.setAttribute(name, value);\n return;\n }\n\n if (value) {\n !node.hasAttribute(name) && node.setAttribute(name, '');\n } else {\n node.hasAttribute(name) && node.removeAttribute(name);\n }\n }\n\n private setExpandAttrs = (expanded: boolean) => {\n forEach(this.el.children, (row, i) => {\n // set group id\n this.setAttr(row, 'group-id', this.groupId);\n\n // If it's Main selection row\n if (!i) {\n this.setAttr(row, 'expandable', true);\n this.setAttr(row, 'expanded', expanded);\n return;\n }\n });\n }\n\n private onSlotChange = () => {\n this.cols = this.el.firstElementChild.childElementCount;\n this.setExpandAttrs(this.expanded);\n }\n\n private setInitialExpandStatus() {\n const table = this.el.parentElement;\n\n if (table.tagName === TABLE_TAG.TABLE) this.setAttr(table, 'expandable', true);\n }\n\n private emitChangeSelectionEvent = debounce(() => this.checkedChange.emit({\n name: this.mainRowData?.name || this.el.firstElementChild.getAttribute('selection-name'),\n ...(this.mainRowData || {}),\n checked: !!this.selectedRows.size,\n group: {\n id: this.groupId,\n ...(this.mainRowData?.group || {}),\n data: Array.from(this.selectedRows.values()),\n }\n }), 100);\n\n private handleCheckedChange = (e: TableSelectionEvent) => {\n const { group, checked, name } = e.detail;\n\n if (group?.id !== this.groupId) return;\n\n if (group?.isMainRow) {\n this.mainRowData = e.detail;\n // clear group selection\n if (!checked) this.selectedRows.clear();\n // Change all group except first row\n forEach(this.el.children, (row, i) => {\n if (!i || row.hasAttribute('disabled')) return;\n this.setAttr(row, 'checked', checked);\n })\n } else {\n if (checked) {\n this.selectedRows.add(e.detail);\n } else {\n this.selectedRows\n .forEach(item => item.name === name && this.selectedRows.delete(item));\n }\n }\n\n const isNoSelected = !this.selectedRows.size;\n const isAllSelected = this.selectedRows.size == this.el.childElementCount - 1;\n const isPartialSelected = !isNoSelected && (this.selectedRows.size < this.el.childElementCount - 1);\n\n if (isAllSelected) {\n this.setAttr(this.el.firstElementChild, 'checked', true);\n } else if (isNoSelected) {\n this.setAttr(this.el.firstElementChild, 'checked', false);\n }\n\n this.setAttr(this.el.firstElementChild, 'partial', isPartialSelected);\n\n this.emitChangeSelectionEvent();\n };\n\n render() {\n return (\n <Host\n role=\"rowgroup\"\n cols={this.cols}\n expanded={this.expanded}\n hovered={this.hovered}\n >\n <slot onSlotchange={this.onSlotChange} />\n </Host>\n );\n }\n\n componentWillLoad() {\n this.setInitialExpandStatus();\n }\n\n connectedCallback() {\n this.el.childNodes.forEach(row => row.addEventListener('checkedGroupChange', this.handleCheckedChange));\n }\n\n disconnectedCallback() {\n this.el.childNodes.forEach(row => row.removeEventListener('checkedGroupChange', this.handleCheckedChange));\n }\n}\n","@import \"../vars\";\n\n\n:host {\n display: grid;\n align-items: center;\n background-color: var(--layer-accent-01, #F7F7F7);\n transition: height .15s cubic-bezier(.2,0,.38,.9), padding .15s ease-in-out, background-color 0.2ms ease-in-out;\n color: $color;\n font-family: var(--ff-body, Tahoma);\n font-size: $font-size-header;\n font-weight: 700;\n line-height: 128.571%;\n letter-spacing: 0.16px;\n\n @include row-cols-schema;\n\n .left-container {\n @include left-container-styles;\n }\n\n ::slotted(#{$tag-name}-col) {\n padding: var(--xv-table-padding, $space-md);\n box-sizing: content-box !important;\n }\n}\n\n:host([sortable]) {\n ::slotted(#{$tag-name}-col[sort]) {\n cursor: pointer;\n position: relative;\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\n ::slotted(#{$tag-name}-col[sort]:hover),\n ::slotted(#{$tag-name}-col[sort]:focus-within),\n ::slotted(#{$tag-name}-col[sort=\"asc\"]),\n ::slotted(#{$tag-name}-col[sort=\"desc\"]) {\n background-color: var(--layer-accent-hover-01, #E3E3E3);\n }\n\n ::slotted(#{$tag-name}-col[sort]:hover),\n ::slotted(#{$tag-name}-col[sort]:focus-within) {\n &::before {\n opacity: 1;\n }\n\n &::after {\n opacity: 1;\n }\n }\n\n ::slotted(#{$tag-name}-col[sort=\"asc\"]) {\n &::before {\n opacity: 1;\n }\n\n &::after {\n display: none;\n }\n }\n\n ::slotted(#{$tag-name}-col[sort=\"desc\"]) {\n &::before {\n display: none;\n }\n\n &::after {\n opacity: 1;\n }\n }\n}\n","import { Component, Host, h, Element, Prop, State, Event, EventEmitter } from '@stencil/core';\nimport { TABLE_TAG, TableSortData } from '../defs';\nimport { forEach, setAttr } from '../../../utils/utils';\n\n@Component({\n tag: 'xv-table-v2-header-row',\n styleUrl: 'xv-table-header-row.scss',\n shadow: true,\n})\nexport class XvTableHeaderRow {\n @Element() el: HTMLElement;\n /**\n * Is sort enabled\n */\n @Prop({ reflect: true }) sortable?: boolean;\n /**\n * Checkbox row name\n */\n @Prop({ reflect: true, attribute: 'selection-name' }) selectionName?: string;\n /**\n * Checkbox row selected partially\n */\n @Prop({ reflect: true, mutable: true }) partial: boolean = false;\n /**\n * Checkbox row checked\n */\n @Prop({ reflect: true, mutable: true }) checked: boolean = false;\n\n @State() cols: number = 1;\n\n @Event() sortChange: EventEmitter<TableSortData>;\n\n private sortChangeHandle = ({ detail, target }: CustomEvent<TableSortData>) => {\n // Reset prev selected sort\n forEach(this.el.children, (col) => {\n if (col !== target && col.hasAttribute('sort')) {\n col.setAttribute('sort', 'none');\n }\n });\n this.sortChange.emit(detail);\n };\n\n private slotChangeHandle = () => {\n this.cols = this.el.childElementCount;\n if (this.sortable) {\n this.el.removeEventListener('sortColChange', this.sortChangeHandle.bind(this));\n this.el.addEventListener('sortColChange', this.sortChangeHandle.bind(this));\n }\n }\n\n private checkboxChange = (e: CustomEvent<boolean>) => {\n this.checked = e.detail;\n this.partial = false;\n\n forEach(\n this.el.parentElement.querySelectorAll(TABLE_TAG.ROW),\n (row) => {\n if (!row.hasAttribute('disabled')) {\n setAttr(row, 'checked', this.checked);\n }\n },\n );\n }\n\n render() {\n return (\n <Host role=\"row\" cols={this.cols}>\n <div class=\"left-container\">\n {this.selectionName !== undefined && (\n <xv-checkbox-v2\n partial={this.partial}\n name={this.selectionName}\n checked={this.checked}\n onEventChange={this.checkboxChange}\n />\n )}\n </div>\n <slot onSlotchange={this.slotChangeHandle}></slot>\n </Host>\n );\n }\n\n disconnectedCallback() {\n this.el.removeEventListener('sortColChange', this.sortChangeHandle.bind(this));\n }\n}\n","@import \"../vars\";\n\n:host(#{$tag-name}-row) {\n display: grid;\n align-items: center;\n transition: height .15s cubic-bezier(.2,0,.38,.9), padding .15s ease-in-out, background-color 0.2ms ease-in-out;\n background-color: var(--xv-table-row-bg-color);\n box-shadow: 0 0 0 1px #E3E3E3 inset;\n padding-top: var(--xv-table-padding, $space-md);\n padding-bottom: var(--xv-table-padding, $space-md);\n\n @include row-cols-schema;\n\n .left-container {\n @include left-container-styles;\n }\n\n .expand-btn {\n @include expand-btn-styles;\n }\n}\n\n:host([disabled]) {\n opacity: 0.4;\n pointer-events: none;\n cursor: not-allowed;\n\n ::slotted(#{$tag-name}-col) {\n cursor: not-allowed;\n }\n}\n","import { Component, Host, h, Element, Prop, State, Event, EventEmitter, Watch } from '@stencil/core';\nimport { XvTableExpand } from '../xv-table-expand/xv-table-expand';\nimport { TABLE_TAG, TableSelectionEventData } from '../defs';\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 /**\n * Is row will be expandable\n * If it's true then the next row will be collapsed\n */\n @Prop({ reflect: true }) expandable: boolean = false;\n /**\n * Default state of expandable\n */\n @Prop({ reflect: true, mutable: true }) expanded: boolean = false;\n /**\n * Disabled status\n */\n @Prop({ reflect: true }) disabled: boolean = false;\n /**\n * Checkbox row name\n */\n @Prop({ reflect: true, attribute: 'selection-name' }) selectionName?: string;\n /**\n * Checkbox row value\n */\n @Prop({ reflect: true }) value?: string;\n /**\n * Checkbox row status\n */\n @Prop({ reflect: true, mutable: true }) checked?: boolean;\n /**\n * Checkbox row with minus icon\n */\n @Prop({ reflect: true }) partial?: boolean;\n @Prop({ reflect: true, attribute: 'group-id' }) groupId?: string;\n\n @State() id?: string;\n @State() cols: number = 1;\n @State() hovered: boolean = false;\n\n @Event() checkedChange: EventEmitter<{ name: string, value?: string; checked: boolean }>;\n @Event() checkedGroupChange: EventEmitter<{ name: string, value?: string; checked: boolean }>;\n\n @Watch('checked')\n checkedChangeHandle() {\n const changeData: TableSelectionEventData = {\n name: this.selectionName,\n value: this.value,\n checked: this.checked,\n };\n\n if (this.expandable || this.groupId) {\n changeData.group = { id: this.groupId, isMainRow: !!this.expandable };\n }\n\n if (changeData.group) {\n this.checkedGroupChange.emit(changeData);\n } else {\n this.checkedChange.emit(changeData);\n }\n }\n\n private checkboxChange = (e: CustomEvent<boolean>) => {\n this.checked = e.detail;\n }\n\n private onExpandHandle = async () => {\n this.expanded = !this.expanded;\n const parent = this.el.parentElement;\n\n if (parent.tagName === TABLE_TAG.EXPAND) {\n await (parent as unknown as XvTableExpand)?.toggleExpand(this.expanded);\n }\n };\n\n async componentWillLoad(){\n this.id = this.el.id;\n this.cols = this.el.childElementCount;\n // TODO: with initial checked values\n this.checked && this.checkedChangeHandle();\n }\n\n render() {\n return (\n <Host\n role=\"row\"\n cols={this.cols}\n >\n <div class=\"left-container\">\n {this.expandable && (\n <button\n onClick={this.onExpandHandle}\n class={`expand-btn ${this.expanded ? 'expanded' : ''}`}\n />\n )}\n {this.selectionName && (\n <xv-checkbox-v2\n disabled={this.disabled}\n name={this.selectionName}\n value={this.value}\n checked={!!(this.checked || this.partial)}\n partial={this.partial}\n onEventChange={this.checkboxChange}\n />\n )}\n </div>\n <slot />\n </Host>\n );\n }\n}\n","$transition: max-height 0.2s ease;\n$max-height: 96px;\n\n:host {\n display: block;\n font-family: var(--ff-body, Tahoma);\n font-size: var(--fz-md, 14px);\n font-style: normal;\n font-weight: 700;\n line-height: 128.571%;\n letter-spacing: 0.16px;\n\n .toolbar {\n transition: $transition;\n overflow: hidden;\n max-height: $max-height;\n margin-bottom: 8px;\n }\n\n .butch-editing {\n display: flex;\n align-items: center;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n border-radius: 3px;\n column-gap: var(--gap-md, 16px);\n background-color: var(--interactive-01, #273435);\n color: var(--text-on-color, var(--Text-text-on-color, #FFF));\n transition: $transition;\n overflow: hidden;\n max-height: 0;\n\n &_content {\n flex: 1;\n padding: var(--gap-md, 16px) 0 var(--gap-md, 16px) var(--gap-md, 16px);\n }\n\n &_selected {\n padding: var(--gap-md, 16px) var(--gap-md, 16px) var(--gap-md, 16px) 0;\n align-self: center;\n text-align: right;\n min-width: 117px;\n }\n }\n}\n\n:host(.active) {\n .toolbar {\n max-height: 0;\n margin-bottom: 0;\n }\n\n .butch-editing {\n max-height: $max-height;\n }\n}\n","import { Component, Host, h, State, Method } from '@stencil/core';\nimport { TableSelectionEventData } from '../defs';\n\n@Component({\n tag: 'xv-table-v2-toolbar',\n styleUrl: 'xv-table-toolbar.scss',\n shadow: true,\n})\nexport class XvTableToolbar {\n @State() selected: number = 0;\n\n @Method()\n async setSelectedItems(selected: Map<string, TableSelectionEventData>) {\n let count = 0;\n\n selected.forEach(row => {\n // not count header\n if (row.name === 'header') return;\n\n // count row if it's not group\n if (!row.group?.isMainRow) {\n count++;\n return;\n }\n\n // count selected group rows\n count += (row.group?.data?.length || 0);\n });\n\n this.selected = count;\n }\n\n render() {\n return (\n <Host class={{ active: !!this.selected }}>\n <div class=\"toolbar\"><slot /></div>\n\n <div class=\"butch-editing\">\n <div class=\"butch-editing_content\"><slot name=\"actions\" /></div>\n <div class=\"butch-editing_selected\">\n {this.selected} {this.selected === 1 ? 'Position ausgewählt' : 'Positionen ausgewählt'}\n </div>\n </div>\n </Host>\n );\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 display: flex;\n button {\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\n .tab-content-wrapper {\n position: relative;\n overflow: hidden;\n transition: height 0.3s ease;\n padding: var(--gap-md, 16px);\n }\n\n ::slotted(#{$tab-tag}) {\n position: absolute;\n opacity: 0;\n transition: opacity 0.3s ease;\n width: 100%;\n pointer-events: none;\n }\n\n ::slotted(#{$tab-tag}.active) {\n position: relative;\n opacity: 1;\n pointer-events: auto;\n }\n}\n\n","import { Component, Host, h, Element, State, Watch, Prop, Event, EventEmitter } from '@stencil/core';\nimport { TAB_TAGS, TABS_VATIANT } from './_vars';\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 = 0;\n /**\n * Variant of tabs from TABS_VATIANT enum\n */\n @Prop() variant: TABS_VATIANT = TABS_VATIANT.DEFAULT;\n /**\n * for animate the tab content\n */\n @State() height: number = 0;\n /**\n * Emit event to outside\n */\n @Event() tabSelect: EventEmitter<number>;\n /**\n * local variable for tab labels collection\n */\n private tabElements: HTMLElement[] = [];\n /**\n * Watch active tab changes to animate content height\n */\n @Watch('active')\n onActiveTabChanged() {\n this.setHeight();\n }\n\n private collectTabs() {\n if (!this.tabElements.length) {\n this.tabElements = Array.from(this.el.querySelectorAll(TAB_TAGS.TAB));\n }\n }\n\n private updateTabClasses() {\n this.tabElements.forEach((tab, i) => {\n tab.classList.toggle('active', i === this.active);\n });\n }\n\n private setHeight() {\n requestAnimationFrame(() => {\n const tab = this.tabElements[this.active];\n if (tab) {\n const content = tab.shadowRoot?.host;\n this.height = content?.scrollHeight || 0;\n }\n });\n }\n\n private handleTabClick(index: number) {\n if (index === this.active) return;\n\n this.active = index;\n this.setHeight();\n this.tabSelect.emit(this.active);\n }\n\n render() {\n return (\n <Host class=\"xv-tabs\" variant={this.variant}>\n <div class=\"tab-headers\" role=\"tablist\">\n {this.tabElements.map((tab, index) => (\n <button\n role=\"tab\"\n disabled={!!tab.getAttribute('disabled') || !!(tab as any)?.disabled}\n class={{ active: index === this.active }}\n onClick={() => this.handleTabClick(index)}\n >\n {tab.getAttribute('label') || `Tab ${index + 1}`}\n </button>\n ))}\n </div>\n\n <div\n class=\"tab-content-wrapper\"\n style={{ height: `${this.height}px` }}\n role=\"tabpanel\"\n tabindex={-1}\n >\n <slot />\n </div>\n </Host>\n );\n }\n\n componentWillLoad() {\n this.collectTabs();\n this.setHeight();\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","export enum TextInputStatus {\n ERROR = 'error',\n WARNING = 'warning',\n DEF = ''\n}\n",":host {\n --text-input-padding-x: 16px;\n --text-input-padding-y: 11px;\n\n display: inline-flex;\n flex-direction: column;\n row-gap: calc(var(--text-input-padding-y) / 2);\n text-align: left;\n font-family: var(--ff-body, Tahoma);\n\n .label {\n margin: 0;\n color: var(--text-secondary, #515151);\n font-size: var(--fz-sm, 12px);\n font-weight: 700;\n line-height: 133.333%;\n letter-spacing: 0.32px;\n }\n\n .control {\n margin: 0;\n position: relative;\n box-sizing: border-box;\n display: flex;\n column-gap: 5px;\n align-items: center;\n flex-direction: row;\n input {\n background-color: var(--field-02, #FFF);\n border: 1px solid var(--border-strong-01, #E3E3E3);\n border-radius: 3px;\n padding-block: var(--text-input-padding-y);\n padding-inline-start: var(--text-input-padding-x);\n padding-inline-end: var(--text-input-padding-x);\n flex: 1;\n outline: 2px solid transparent;\n color: var(--text-primary, #333);\n font-size: var(--fz-md, 14px);\n font-style: normal;\n font-weight: 400;\n line-height: 128.571%;\n letter-spacing: 0.16px;\n transition: 0.2s ease-in-out border-color, 0.2s ease-in-out outline-color;\n\n &.withIcon {\n padding-inline-end: calc(var(--text-input-padding-x) + 22px);\n }\n\n &::placeholder {\n color: var(--text-placeholder, #ACACAC);\n }\n\n &:focus {\n outline: 2px solid var(--focus, #273435);\n }\n }\n\n &_icon {\n position: absolute;\n top: calc(50% - 9px);\n right: var(--text-input-padding-y);\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 &:hover {\n\n }\n }\n\n .helper {\n margin: 0;\n color: var(--text-helper, #646464);\n font-size: var(--fz-sm, 12px);\n line-height: 133.333%;\n letter-spacing: 0.32px;\n }\n}\n\n:host([status=\"error\"]) {\n .control input {\n border-color: var(--support-error, #F1290E);\n &:focus {\n outline-color: var(--support-error, #F1290E);\n }\n }\n\n .helper {\n color: var(--text-error, #D62512);\n }\n}\n\n:host([readonly]) {\n .control input {\n border-top-color: transparent;\n border-right-color: transparent;\n border-left-color: transparent;\n cursor: default;\n background-color: transparent;\n\n &:focus {\n outline-color: transparent;\n }\n }\n}\n\n:host([disabled]) {\n opacity: 0.4;\n .control input {\n cursor: not-allowed;\n }\n}\n\n:host([size=\"xs\"]) {\n --text-input-padding-y: 4px;\n --text-input-padding-x: 6px;\n}\n:host([size=\"sm\"]) {\n --text-input-padding-y: 7px;\n}\n:host([size=\"md\"]) {\n --text-input-padding-y: 11px;\n}\n:host([size=\"lg\"]) {\n --text-input-padding-y: 15px;\n}\n:host([size=\"xl\"]) {\n --text-input-padding-y: 16px;\n --text-input-padding-x: 18px;\n}\n","import { AttachInternals, Component, h, Host, Element, Prop } from '@stencil/core';\nimport { SIZE_VAR } from '../../types/enum';\nimport { TextInputStatus } from './_vars';\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 @Element() el: HTMLElement;\n @Prop() label?: string;\n @Prop() placeholder?: string;\n @Prop() helper: string = '';\n @Prop() name?: string;\n @Prop() size: SIZE_VAR = SIZE_VAR.MD;\n @Prop() status: TextInputStatus = TextInputStatus.DEF;\n @Prop({ mutable: true }) value: string = '';\n @Prop() disabled: boolean = false;\n @Prop() readonly: boolean = false;\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.internals.setFormValue(target.value);\n }\n\n render() {\n return (\n <Host name={this.name} class=\"xv-text-input\" role=\"textbox\" tabindex={this.disabled ? -1 : false}>\n {this.label && <label class=\"label\">{this.label}</label>}\n\n <div class=\"control\">\n <input\n type=\"text\"\n class={{ withIcon: this.status !== TextInputStatus.DEF }}\n readonly={this.readonly}\n value={this.value}\n disabled={this.disabled}\n onInput={this.handleInput}\n placeholder={this.placeholder}\n />\n\n {this.getControlIcon(this.status)}\n </div>\n\n {this.helper && <p class=\"helper\">{this.helper}</p>}\n </Host>\n );\n }\n\n componentWillLoad() {\n this.internals.setFormValue(this.value);\n }\n\n private getControlIcon = (status: TextInputStatus) => {\n switch (status) {\n case TextInputStatus.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 case TextInputStatus.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\"\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 default: return null;\n }\n };\n}\n",":host {\n position: relative;\n display: inline-block;\n cursor: pointer;\n line-height: 0.5;\n}\n\n/* General styles for tooltip */\n:host::before,\n:host::after {\n position: absolute;\n opacity: 0;\n visibility: hidden;\n transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;\n z-index: 10;\n}\n\n/* Tooltip */\n:host::before {\n content: attr(tooltip);\n background: var(--background-inverse, #333);\n color: var(--icon-inverse, #fff);\n padding: var(--gap-sm, 5px) var(--gap-md, 16px);\n border-radius: 2px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: max(70vw);\n font-family: var(--fz-body, Tahoma);\n font-size: var(fz-md, 14px);\n font-weight: 400;\n line-height: 18px;\n letter-spacing: 0.16px;\n}\n\n/* Arrow */\n:host::after {\n content: \"\";\n border: 6px solid transparent;\n}\n\n/* Show Tooltip and arrow */\n:host(:hover)::before,\n:host(:hover)::after,\n:host(:focus)::before,\n:host(:focus)::after {\n opacity: 1;\n visibility: visible;\n}\n\n/* Tooltip positions */\n:host(.xv-tooltip_top)::before {\n bottom: 100%;\n left: 50%;\n transform: translateX(-50%) translateY(-5px);\n}\n:host(.xv-tooltip_top)::after {\n bottom: 100%;\n left: 50%;\n border-top-color: var(--background-inverse, #333);\n transform: translateX(-50%) translateY(5px);\n}\n\n:host(.xv-tooltip_top-left)::before {\n bottom: 100%;\n left: 0;\n transform: translateY(-5px);\n}\n:host(.xv-tooltip_top-left)::after {\n bottom: 100%;\n left: 10px;\n border-top-color: black;\n transform: translateY(5px);\n}\n\n:host(.xv-tooltip_top-right)::before {\n bottom: 100%;\n right: 0;\n transform: translateY(-5px);\n}\n:host(.xv-tooltip_top-right)::after {\n bottom: 100%;\n right: 10px;\n border-top-color: var(--background-inverse, #333);\n transform: translateY(5px);\n}\n\n:host(.xv-tooltip_bottom)::before {\n top: 100%;\n left: 50%;\n transform: translateX(-50%) translateY(5px);\n}\n:host(.xv-tooltip_bottom)::after {\n top: 100%;\n left: 50%;\n border-bottom-color: black;\n transform: translateX(-50%) translateY(-5px);\n}\n\n:host(.xv-tooltip_bottom-left)::before {\n top: 100%;\n left: 0;\n transform: translateY(5px);\n}\n:host(.xv-tooltip_bottom-left)::after {\n top: 100%;\n left: 10px;\n border-bottom-color: var(--background-inverse, #333);\n transform: translateY(-5px);\n}\n\n:host(.xv-tooltip_bottom-right)::before {\n top: 100%;\n right: 0;\n transform: translateY(5px);\n}\n:host(.xv-tooltip_bottom-right)::after {\n top: 100%;\n right: 10px;\n border-bottom-color: var(--background-inverse, #333);\n transform: translateY(-5px);\n}\n\n:host(.xv-tooltip_left)::before {\n right: 100%;\n top: 50%;\n transform: translateY(-50%) translateX(-5px);\n}\n:host(.xv-tooltip_left)::after {\n right: 100%;\n top: 50%;\n border-left-color: var(--background-inverse, #333);\n transform: translateY(-50%) translateX(5px);\n}\n\n:host(.xv-tooltip_right)::before {\n left: 100%;\n top: 50%;\n transform: translateY(-50%) translateX(5px);\n}\n:host(.xv-tooltip_right)::after {\n left: 100%;\n top: 50%;\n border-right-color: var(--background-inverse, #333);\n transform: translateY(-50%) translateX(-5px);\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\n\n@Component({\n tag: 'xv-tooltip-v2',\n styleUrl: 'xv-tooltip.scss',\n shadow: true,\n})\nexport class XvTooltip {\n /** Message what will be shown for tooltip **/\n @Prop() message: string;\n /**\n * Tooltip and arrow position related to element\n * possible options: 'top' | 'top-left' | 'top-right' | 'bottom' | 'bottom-left' | 'bottom-right' | 'left' | 'right'.\n * By default, \"top\"\n */\n @Prop() position: 'top' | 'top-left' | 'top-right' | 'bottom' | 'bottom-left' | 'bottom-right' | 'left' | 'right' = 'top';\n\n render() {\n return (\n <Host tooltip={this.message} class={`xv-tooltip_${this.position}`}>\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 </Host>\n );\n }\n}\n"],"version":3}
@@ -1,38 +0,0 @@
1
- export declare enum TABLE_COLOR_SCHEMA {
2
- DEF = "",
3
- ZEBRA = "zebra"
4
- }
5
- export declare enum TABLE_SIZE {
6
- EXTRA_SMALL = "xs",
7
- SMALL = "sm",
8
- MEDIUM = "md",
9
- LARGE = "lg",
10
- EXTRA_LARGE = "xl"
11
- }
12
- export declare enum TABLE_TAG {
13
- TABLE = "XV-TABLE-V2",
14
- EXPAND = "XV-TABLE-V2-EXPAND",
15
- ROW = "XV-TABLE-V2-ROW",
16
- HEADER = "XV-TABLE-V2-HEADER-ROW",
17
- TOOLBAR = "XV-TABLE-V2-TOOLBAR"
18
- }
19
- export declare enum SORT_DIR {
20
- ASC = "asc",
21
- DESC = "desc",
22
- NONE = "none"
23
- }
24
- export type TableSelectionEventData = {
25
- name: string;
26
- checked: boolean;
27
- value?: string;
28
- group?: {
29
- isMainRow?: boolean;
30
- id: string;
31
- data?: TableSelectionEventData[];
32
- };
33
- };
34
- export type TableSelectionEvent = CustomEvent<TableSelectionEventData>;
35
- export interface TableSortData {
36
- dir: SORT_DIR;
37
- name: string;
38
- }
@@ -1,9 +0,0 @@
1
- import { EventEmitter } from '../../../stencil-public-runtime';
2
- import { SORT_DIR, TableSortData } from '../defs';
3
- export declare class XvTableCol {
4
- sort?: SORT_DIR | '';
5
- sortName?: string;
6
- sortColChange: EventEmitter<TableSortData>;
7
- handleClick(): void;
8
- render(): any;
9
- }
@@ -1,28 +0,0 @@
1
- import { EventEmitter } from '../../../stencil-public-runtime';
2
- import { TableSortData } from '../defs';
3
- export declare class XvTableHeaderRow {
4
- el: HTMLElement;
5
- /**
6
- * Is sort enabled
7
- */
8
- sortable?: boolean;
9
- /**
10
- * Checkbox row name
11
- */
12
- selectionName?: string;
13
- /**
14
- * Checkbox row selected partially
15
- */
16
- partial: boolean;
17
- /**
18
- * Checkbox row checked
19
- */
20
- checked: boolean;
21
- cols: number;
22
- sortChange: EventEmitter<TableSortData>;
23
- private sortChangeHandle;
24
- private slotChangeHandle;
25
- private checkboxChange;
26
- render(): any;
27
- disconnectedCallback(): void;
28
- }
@@ -1,6 +0,0 @@
1
- import { TableSelectionEventData } from '../defs';
2
- export declare class XvTableToolbar {
3
- selected: number;
4
- setSelectedItems(selected: Map<string, TableSelectionEventData>): Promise<void>;
5
- render(): any;
6
- }
@@ -1,2 +0,0 @@
1
- function t(t,r,n){return(t||"")+(r?` ${r}`:"")+(n?` ${n}`:"")}function r(){return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(t=>(+t^crypto.getRandomValues(new Uint8Array(1))[0]&15>>+t/4).toString(16)))}const n=(t,r,n)=>Array.prototype.forEach.call(t,r,n);const e=(t,r=500)=>{let n;return function(...e){clearTimeout(n);n=setTimeout((()=>{t.apply(this,e)}),r)}};const s=(t,r,n)=>{if(typeof n==="string"){!t.hasAttribute(r)&&t.setAttribute(r,n);return t}if(n){!t.hasAttribute(r)&&t.setAttribute(r,"")}else{t.hasAttribute(r)&&t.removeAttribute(r)}return t};export{n as a,e as d,t as f,s,r as u};
2
- //# sourceMappingURL=p-39bf1511.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["format","first","middle","last","uidGenerator","replace","c","crypto","getRandomValues","Uint8Array","toString","forEach","a","predicate","thisObject","Array","prototype","call","debounce","func","delay","timeoutId","args","clearTimeout","setTimeout","apply","this","setAttr","node","name","value","hasAttribute","setAttribute","removeAttribute"],"sources":["src/utils/utils.ts"],"sourcesContent":["export function format(first?: string, middle?: string, last?: string): string {\n return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');\n}\n\nexport function uidGenerator() {\n return \"10000000-1000-4000-8000-100000000000\".replace(/[018]/g, c =>\n (+c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> +c / 4).toString(16)\n );\n}\n\n/**\n * Walks through the given DOM collection and runs the given callback.\n * @param a A DOM collection.\n * @param predicate The callback function.\n * @param [thisObject] The context object for the given callback function.\n */\nexport const forEach = (\n a: NodeListOf<Node> | HTMLCollectionOf<Element>,\n predicate: (search: Element, index?: number) => void,\n thisObject?: any\n) => Array.prototype.forEach.call(a, predicate, thisObject);\n\n/**\n * Debounce the current function for some delay.\n * @param func The delayed function.\n * @param [delay = 500] The time to function delay call.\n */\nexport const debounce = (func: Function, delay: number = 500) => {\n let timeoutId: ReturnType<typeof setTimeout>;\n return function (...args: any[]) {\n clearTimeout(timeoutId);\n timeoutId = setTimeout(() => {\n func.apply(this, args);\n }, delay);\n };\n};\n\nexport const checkTag = <T extends Element, G = T>(element: T, tag: string) => {\n if (element?.tagName !== tag) return undefined;\n return element as unknown as G;\n};\n\nexport const setAttr = (node: Element, name: string, value: string | boolean) => {\n if (typeof value === 'string') {\n !node.hasAttribute(name) && node.setAttribute(name, value);\n return node;\n }\n\n if (value) {\n !node.hasAttribute(name) && node.setAttribute(name, '');\n } else {\n node.hasAttribute(name) && node.removeAttribute(name);\n }\n\n return node;\n};\n"],"mappings":"SAAgBA,EAAOC,EAAgBC,EAAiBC,GACtD,OAAQF,GAAS,KAAOC,EAAS,IAAIA,IAAW,KAAOC,EAAO,IAAIA,IAAS,GAC7E,C,SAEgBC,IACd,MAAO,uCAAuCC,QAAQ,UAAUC,KAC5DA,EAAIC,OAAOC,gBAAgB,IAAIC,WAAW,IAAI,GAAK,KAAOH,EAAI,GAAGI,SAAS,KAEhF,C,MAQaC,EAAU,CACrBC,EACAC,EACAC,IACGC,MAAMC,UAAUL,QAAQM,KAAKL,EAAGC,EAAWC,G,MAOnCI,EAAW,CAACC,EAAgBC,EAAgB,OACvD,IAAIC,EACJ,OAAO,YAAaC,GAClBC,aAAaF,GACbA,EAAYG,YAAW,KACrBL,EAAKM,MAAMC,KAAMJ,EAAK,GACrBF,E,CACJ,E,MAQUO,EAAU,CAACC,EAAeC,EAAcC,KACnD,UAAWA,IAAU,SAAU,EAC5BF,EAAKG,aAAaF,IAASD,EAAKI,aAAaH,EAAMC,GACpD,OAAOF,C,CAGT,GAAIE,EAAO,EACRF,EAAKG,aAAaF,IAASD,EAAKI,aAAaH,EAAM,G,KAC/C,CACLD,EAAKG,aAAaF,IAASD,EAAKK,gBAAgBJ,E,CAGlD,OAAOD,CAAI,S","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as c,h as e,H as s}from"./p-840929c5.js";const a=":host{display:block}";const r=a;const d=class{constructor(e){c(this,e)}render(){return e(s,{key:"5af11f456cfed9e3a853fa3ccdcf12d2d5d5e49f"},e("slot",{key:"ecef5ef84a97ceefda5cbcb54e23056e2adbdf99"}))}};d.style=r;export{d as xv_breadcrumbs_v2};
2
- //# sourceMappingURL=p-5f18d718.entry.js.map
@@ -1,3 +0,0 @@
1
- const e="xv-webcomponents";const t={allRenderFn:true,appendChildSlotFix:false,asyncLoading:true,asyncQueue:false,attachStyles:true,cloneNodeFix:false,constructableCSS:true,cssAnnotations:true,devTools:false,element:false,event:true,experimentalScopedSlotChanges:false,experimentalSlotFixes:false,formAssociated:true,hasRenderFn:true,hostListener:true,hostListenerTarget:true,hostListenerTargetBody:true,hostListenerTargetDocument:false,hostListenerTargetParent:false,hostListenerTargetWindow:false,hotModuleReplacement:false,hydrateClientSide:false,hydrateServerSide:false,hydratedAttribute:false,hydratedClass:true,hydratedSelectorName:"hydrated",initializeNextTick:false,invisiblePrehydration:true,isDebug:false,isDev:false,isTesting:false,lazyLoad:true,lifecycle:true,lifecycleDOMEvents:false,member:true,method:true,mode:false,modernPropertyDecls:false,observeAttribute:true,profile:false,prop:true,propBoolean:true,propMutable:true,propNumber:true,propString:true,reflect:true,scoped:false,scopedSlotTextContentFix:false,scriptDataOpts:false,shadowDelegatesFocus:false,shadowDom:true,slot:true,slotChildNodesFix:false,slotRelocation:false,state:true,style:true,svg:true,taskQueue:true,transformTagName:false,updatable:true,vdomAttribute:true,vdomClass:true,vdomFunctional:false,vdomKey:true,vdomListener:true,vdomPropOrAttr:true,vdomRef:true,vdomRender:true,vdomStyle:true,vdomText:true,vdomXlink:false,watchCallback:true};var n=Object.defineProperty;var r=(e,t)=>{for(var r in t)n(e,r,{get:t[r],enumerable:true})};var s="http://www.w3.org/2000/svg";var l="http://www.w3.org/1999/xhtml";var o=e=>{if(e.__stencil__getHostRef){return e.__stencil__getHostRef()}return void 0};var i=(e,t)=>{e.__stencil__getHostRef=()=>t;t.t=e};var a=(e,t)=>{const n={l:0,$hostElement$:e,o:t,i:new Map};{n.u=new Promise((e=>n.v=e))}{n.h=new Promise((e=>n.p=e));e["s-p"]=[];e["s-rc"]=[]}const r=n;e.__stencil__getHostRef=()=>r;return r};var f=(e,t)=>t in e;var c=(e,t)=>(0,console.error)(e,t);var u=new Map;var v=(e,t,n)=>{const r=e.m.replace(/-/g,"_");const s=e.S;if(!s){return void 0}const l=u.get(s);if(l){return l[r]}
2
- /*!__STENCIL_STATIC_IMPORT_SWITCH__*/return import(`./${s}.entry.js${""}`).then((e=>{{u.set(s,e)}return e[r]}),(e=>{c(e,t.$hostElement$)}))};var d=new Map;var h="sty-id";var p="{visibility:hidden}.hydrated{visibility:inherit}";var m="slot-fb{display:contents}slot-fb[hidden]{display:none}";var y=["formAssociatedCallback","formResetCallback","formDisabledCallback","formStateRestoreCallback"];var b=typeof window!=="undefined"?window:{};var w={l:0,$:"",jmp:e=>e(),raf:e=>requestAnimationFrame(e),ael:(e,t,n,r)=>e.addEventListener(t,n,r),rel:(e,t,n,r)=>e.removeEventListener(t,n,r),ce:(e,t)=>new CustomEvent(e,t)};var g=(()=>{var e;let t=false;try{(e=b.document)==null?void 0:e.addEventListener("e",null,Object.defineProperty({},"passive",{get(){t=true}}))}catch(e){}return t})();var S=e=>Promise.resolve(e);var $=(()=>{try{new CSSStyleSheet;return typeof(new CSSStyleSheet).replaceSync==="function"}catch(e){}return false})();var j=false;var C=[];var k=[];var O=(e,t)=>n=>{e.push(n);if(!j){j=true;if(t&&w.l&4){E(D)}else{w.raf(D)}}};var x=e=>{for(let t=0;t<e.length;t++){try{e[t](performance.now())}catch(e){c(e)}}e.length=0};var D=()=>{x(C);{x(k);if(j=C.length>0){w.raf(D)}}};var E=e=>S().then(e);var T=O(k,true);var M=e=>{e=typeof e;return e==="object"||e==="function"};function R(e){var t,n,r;return(r=(n=(t=e.head)==null?void 0:t.querySelector('meta[name="csp-nonce"]'))==null?void 0:n.getAttribute("content"))!=null?r:void 0}var L={};r(L,{err:()=>A,map:()=>F,ok:()=>P,unwrap:()=>N,unwrapErr:()=>U});var P=e=>({isOk:true,isErr:false,value:e});var A=e=>({isOk:false,isErr:true,value:e});function F(e,t){if(e.isOk){const n=t(e.value);if(n instanceof Promise){return n.then((e=>P(e)))}else{return P(n)}}if(e.isErr){const t=e.value;return A(t)}throw"should never get here"}var N=e=>{if(e.isOk){return e.value}else{throw e.value}};var U=e=>{if(e.isErr){return e.value}else{throw e.value}};var W=(e,t="")=>{{return()=>{}}};var z=(e,t)=>{{return()=>{}}};var H=(e,t,...n)=>{let r=null;let s=null;let l=false;let o=false;const i=[];const a=t=>{for(let n=0;n<t.length;n++){r=t[n];if(Array.isArray(r)){a(r)}else if(r!=null&&typeof r!=="boolean"){if(l=typeof e!=="function"&&!M(r)){r=String(r)}if(l&&o){i[i.length-1].j+=r}else{i.push(l?B(null,r):r)}o=l}}};a(n);if(t){if(t.key){s=t.key}{const e=t.className||t.class;if(e){t.class=typeof e!=="object"?e:Object.keys(e).filter((t=>e[t])).join(" ")}}}const f=B(e,null);f.C=t;if(i.length>0){f.k=i}{f.O=s}return f};var B=(e,t)=>{const n={l:0,D:e,j:t,T:null,k:null};{n.C=null}{n.O=null}return n};var I={};var Q=e=>e&&e.D===I;var V=(e,t)=>{if(e!=null&&!M(e)){if(t&4){return e==="false"?false:e===""||!!e}if(t&2){return parseFloat(e)}if(t&1){return String(e)}return e}return e};var q=e=>o(e).$hostElement$;var G=(e,t,n)=>{const r=q(e);return{emit:e=>K(r,t,{bubbles:!!(n&4),composed:!!(n&2),cancelable:!!(n&1),detail:e})}};var K=(e,t,n)=>{const r=w.ce(t,n);e.dispatchEvent(r);return r};var X=new WeakMap;var Y=(e,t,n)=>{let r=d.get(e);if($&&n){r=r||new CSSStyleSheet;if(typeof r==="string"){r=t}else{r.replaceSync(t)}}else{r=t}d.set(e,r)};var _=(e,t,n)=>{var r;const s=Z(t);const l=d.get(s);if(!b.document){return s}e=e.nodeType===11?e:b.document;if(l){if(typeof l==="string"){e=e.head||e;let n=X.get(e);let o;if(!n){X.set(e,n=new Set)}if(!n.has(s)){{o=document.querySelector(`[${h}="${s}"]`)||b.document.createElement("style");o.innerHTML=l;const n=(r=w.M)!=null?r:R(b.document);if(n!=null){o.setAttribute("nonce",n)}if(!(t.l&1)){if(e.nodeName==="HEAD"){const t=e.querySelectorAll("link[rel=preconnect]");const n=t.length>0?t[t.length-1].nextSibling:e.querySelector("style");e.insertBefore(o,(n==null?void 0:n.parentNode)===e?n:null)}else if("host"in e){if($){const t=new CSSStyleSheet;t.replaceSync(l);e.adoptedStyleSheets=[t,...e.adoptedStyleSheets]}else{const t=e.querySelector("style");if(t){t.innerHTML=l+t.innerHTML}else{e.prepend(o)}}}else{e.append(o)}}if(t.l&1){e.insertBefore(o,null)}}if(t.l&4){o.innerHTML+=m}if(n){n.add(s)}}}else if(!e.adoptedStyleSheets.includes(l)){e.adoptedStyleSheets=[...e.adoptedStyleSheets,l]}}return s};var J=e=>{const t=e.o;const n=e.$hostElement$;const r=t.l;const s=W("attachStyles",t.m);const l=_(n.shadowRoot?n.shadowRoot:n.getRootNode(),t);if(r&10&&r&2||r&128){n["s-sc"]=l;n.classList.add(l+"-h")}s()};var Z=(e,t)=>"sc-"+e.m;var ee=(e,t,n,r,s,l,o)=>{if(n===r){return}let i=f(e,t);let a=t.toLowerCase();if(t==="class"){const t=e.classList;const s=ne(n);let l=ne(r);{t.remove(...s.filter((e=>e&&!l.includes(e))));t.add(...l.filter((e=>e&&!s.includes(e))))}}else if(t==="style"){{for(const t in n){if(!r||r[t]==null){if(t.includes("-")){e.style.removeProperty(t)}else{e.style[t]=""}}}}for(const t in r){if(!n||r[t]!==n[t]){if(t.includes("-")){e.style.setProperty(t,r[t])}else{e.style[t]=r[t]}}}}else if(t==="key");else if(t==="ref"){if(r){r(e)}}else if(!i&&t[0]==="o"&&t[1]==="n"){if(t[2]==="-"){t=t.slice(3)}else if(f(b,a)){t=a.slice(2)}else{t=a[2]+t.slice(3)}if(n||r){const s=t.endsWith(re);t=t.replace(se,"");if(n){w.rel(e,t,n,s)}if(r){w.ael(e,t,r,s)}}}else{const o=M(r);if((i||o&&r!==null)&&!s){try{if(!e.tagName.includes("-")){const s=r==null?"":r;if(t==="list"){i=false}else if(n==null||e[t]!=s){if(typeof e.__lookupSetter__(t)==="function"){e[t]=s}else{e.setAttribute(t,s)}}}else if(e[t]!==r){e[t]=r}}catch(e){}}if(r==null||r===false){if(r!==false||e.getAttribute(t)===""){{e.removeAttribute(t)}}}else if((!i||l&4||s)&&!o&&e.nodeType===1){r=r===true?"":r;{e.setAttribute(t,r)}}}};var te=/\s/;var ne=e=>{if(typeof e==="object"&&e&&"baseVal"in e){e=e.baseVal}if(!e||typeof e!=="string"){return[]}return e.split(te)};var re="Capture";var se=new RegExp(re+"$");var le=(e,t,n,r)=>{const s=t.T.nodeType===11&&t.T.host?t.T.host:t.T;const l=e&&e.C||{};const o=t.C||{};{for(const e of oe(Object.keys(l))){if(!(e in o)){ee(s,e,l[e],void 0,n,t.l)}}}for(const e of oe(Object.keys(o))){ee(s,e,l[e],o[e],n,t.l)}};function oe(e){return e.includes("ref")?[...e.filter((e=>e!=="ref")),"ref"]:e}var ie;var ae=false;var fe=false;var ce=(e,n,r)=>{const o=n.k[r];let i=0;let a;let f;if(o.j!==null){a=o.T=b.document.createTextNode(o.j)}else{if(!fe){fe=o.D==="svg"}if(!b.document){throw new Error("You are trying to render a Stencil component in an environment that doesn't support the DOM. Make sure to populate the [`window`](https://developer.mozilla.org/en-US/docs/Web/API/Window/window) object before rendering a component.")}a=o.T=b.document.createElementNS(fe?s:l,!ae&&t.slotRelocation&&o.l&2?"slot-fb":o.D);if(fe&&o.D==="foreignObject"){fe=false}{le(null,o,fe)}if(o.k){for(i=0;i<o.k.length;++i){f=ce(e,o,i);if(f){a.appendChild(f)}}}{if(o.D==="svg"){fe=false}else if(a.tagName==="foreignObject"){fe=true}}}a["s-hn"]=ie;return a};var ue=(e,t,n,r,s,l)=>{let o=e;let i;if(o.shadowRoot&&o.tagName===ie){o=o.shadowRoot}for(;s<=l;++s){if(r[s]){i=ce(null,n,s);if(i){r[s].T=i;ye(o,i,t)}}}};var ve=(e,t,n)=>{for(let r=t;r<=n;++r){const t=e[r];if(t){const e=t.T;me(t);if(e){e.remove()}}}};var de=(e,t,n,r,s=false)=>{let l=0;let o=0;let i=0;let a=0;let f=t.length-1;let c=t[0];let u=t[f];let v=r.length-1;let d=r[0];let h=r[v];let p;let m;while(l<=f&&o<=v){if(c==null){c=t[++l]}else if(u==null){u=t[--f]}else if(d==null){d=r[++o]}else if(h==null){h=r[--v]}else if(he(c,d,s)){pe(c,d,s);c=t[++l];d=r[++o]}else if(he(u,h,s)){pe(u,h,s);u=t[--f];h=r[--v]}else if(he(c,h,s)){pe(c,h,s);ye(e,c.T,u.T.nextSibling);c=t[++l];h=r[--v]}else if(he(u,d,s)){pe(u,d,s);ye(e,u.T,c.T);u=t[--f];d=r[++o]}else{i=-1;{for(a=l;a<=f;++a){if(t[a]&&t[a].O!==null&&t[a].O===d.O){i=a;break}}}if(i>=0){m=t[i];if(m.D!==d.D){p=ce(t&&t[o],n,i)}else{pe(m,d,s);t[i]=void 0;p=m.T}d=r[++o]}else{p=ce(t&&t[o],n,o);d=r[++o]}if(p){{ye(c.T.parentNode,p,c.T)}}}}if(l>f){ue(e,r[v+1]==null?null:r[v+1].T,n,r,o,v)}else if(o>v){ve(t,l,f)}};var he=(e,t,n=false)=>{if(e.D===t.D){if(!n){return e.O===t.O}if(n&&!e.O&&t.O){e.O=t.O}return true}return false};var pe=(e,n,r=false)=>{const s=n.T=e.T;const l=e.k;const o=n.k;const i=n.D;const a=n.j;if(a===null){{fe=i==="svg"?true:i==="foreignObject"?false:fe}{le(e,n,fe)}if(l!==null&&o!==null){de(s,l,n,o,r)}else if(o!==null){if(e.j!==null){s.textContent=""}ue(s,null,n,o,0,o.length-1)}else if(!r&&t.updatable&&l!==null){ve(l,0,l.length-1)}if(fe&&i==="svg"){fe=false}}else if(e.j!==a){s.data=a}};var me=e=>{{e.C&&e.C.ref&&e.C.ref(null);e.k&&e.k.map(me)}};var ye=(e,t,n)=>{{return e==null?void 0:e.insertBefore(t,n)}};var be=(e,t,n=false)=>{const r=e.$hostElement$;const s=e.o;const l=e.R||B(null,null);const o=Q(t)?t:H(null,null,t);ie=r.tagName;if(s.L){o.C=o.C||{};s.L.map((([e,t])=>o.C[t]=r[e]))}if(n&&o.C){for(const e of Object.keys(o.C)){if(r.hasAttribute(e)&&!["key","ref","style","class"].includes(e)){o.C[e]=r[e]}}}o.D=null;o.l|=4;e.R=o;o.T=l.T=r.shadowRoot||r;ae=!!(s.l&1)&&!(s.l&128);pe(l,o,n)};var we=(e,t)=>{if(t&&!e.P&&t["s-p"]){const n=t["s-p"].push(new Promise((r=>e.P=()=>{t["s-p"].splice(n-1,1);r()})))}};var ge=(e,t)=>{{e.l|=16}if(e.l&4){e.l|=512;return}we(e,e.A);const n=()=>Se(e,t);return T(n)};var Se=(e,t)=>{const n=e.$hostElement$;const r=W("scheduleUpdate",e.o.m);const s=e.t;if(!s){throw new Error(`Can't render component <${n.tagName.toLowerCase()} /> with invalid Stencil runtime! Make sure this imported component is compiled with a \`externalRuntime: true\` flag. For more information, please refer to https://stenciljs.com/docs/custom-elements#externalruntime`)}let l;if(t){{e.l|=256;if(e.F){e.F.map((([e,t])=>De(s,e,t,n)));e.F=void 0}}l=De(s,"componentWillLoad",void 0,n)}else{l=De(s,"componentWillUpdate",void 0,n)}l=$e(l,(()=>De(s,"componentWillRender",void 0,n)));r();return $e(l,(()=>Ce(e,s,t)))};var $e=(e,t)=>je(e)?e.then(t).catch((e=>{console.error(e);t()})):t();var je=e=>e instanceof Promise||e&&e.then&&typeof e.then==="function";var Ce=async(e,t,n)=>{var r;const s=e.$hostElement$;const l=W("update",e.o.m);const o=s["s-rc"];if(n){J(e)}const i=W("render",e.o.m);{ke(e,t,s,n)}if(o){o.map((e=>e()));s["s-rc"]=void 0}i();l();{const t=(r=s["s-p"])!=null?r:[];const n=()=>Oe(e);if(t.length===0){n()}else{Promise.all(t).then(n);e.l|=4;t.length=0}}};var ke=(e,t,n,r)=>{try{t=t.render();{e.l&=~16}{e.l|=2}{{{be(e,t,r)}}}}catch(t){c(t,e.$hostElement$)}return null};var Oe=e=>{const t=e.o.m;const n=e.$hostElement$;const r=W("postUpdate",t);const s=e.t;const l=e.A;De(s,"componentDidRender",void 0,n);if(!(e.l&64)){e.l|=64;{Ee(n)}De(s,"componentDidLoad",void 0,n);r();{e.p(n);if(!l){xe()}}}else{De(s,"componentDidUpdate",void 0,n);r()}{e.v(n)}{if(e.P){e.P();e.P=void 0}if(e.l&512){E((()=>ge(e,false)))}e.l&=~(4|512)}};var xe=t=>{E((()=>K(b,"appload",{detail:{namespace:e}})))};var De=(e,t,n,r)=>{if(e&&e[t]){try{return e[t](n)}catch(e){c(e,r)}}return void 0};var Ee=e=>{var n;return e.classList.add((n=t.hydratedSelectorName)!=null?n:"hydrated")};var Te=(e,t)=>o(e).i.get(t);var Me=(e,t,n,r)=>{const s=o(e);if(!s){throw new Error(`Couldn't find host element for "${r.m}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/ionic-team/stencil/issues/5457).`)}const l=s.$hostElement$;const i=s.i.get(t);const a=s.l;const f=s.t;n=V(n,r.N[t][0]);const u=Number.isNaN(i)&&Number.isNaN(n);const v=n!==i&&!u;if((!(a&8)||i===void 0)&&v){s.i.set(t,n);if(f){if(r.U&&a&128){const e=r.U[t];if(e){e.map((e=>{try{f[e](n,i,t)}catch(e){c(e,l)}}))}}if((a&(2|16))===2){if(f.componentShouldUpdate){if(f.componentShouldUpdate(n,i,t)===false){return}}ge(s,false)}}}};var Re=(e,n,r)=>{var s,l;const i=e.prototype;if(n.l&64&&r&1){y.forEach((e=>{Object.defineProperty(i,e,{value(...t){const n=o(this);const r=n.t;if(!r){n.h.then((n=>{const r=n[e];typeof r==="function"&&r.call(n,...t)}))}else{const n=r[e];typeof n==="function"&&n.call(r,...t)}}})}))}if(n.N||(n.U||e.watchers)){if(e.watchers&&!n.U){n.U=e.watchers}const a=Object.entries((s=n.N)!=null?s:{});a.map((([e,[t]])=>{if(t&31||r&2&&t&32){const{get:s,set:l}=Object.getOwnPropertyDescriptor(i,e)||{};if(s)n.N[e][0]|=2048;if(l)n.N[e][0]|=4096;if(r&1||!s){Object.defineProperty(i,e,{get(){{if((n.N[e][0]&2048)===0){return Te(this,e)}const t=o(this);const r=t?t.t:i;if(!r)return;return r[e]}},configurable:true,enumerable:true})}Object.defineProperty(i,e,{set(s){const i=o(this);if(l){const r=t&32?this[e]:i.$hostElement$[e];if(typeof r==="undefined"&&i.i.get(e)){s=i.i.get(e)}else if(!i.i.get(e)&&r){i.i.set(e,r)}l.apply(this,[V(s,t)]);s=t&32?this[e]:i.$hostElement$[e];Me(this,e,s,n);return}{if((r&1)===0||(n.N[e][0]&4096)===0){Me(this,e,s,n);if(r&1&&!i.t){i.h.then((()=>{if(n.N[e][0]&4096&&i.t[e]!==i.i.get(e)){i.t[e]=s}}))}return}const l=()=>{const r=i.t[e];if(!i.i.get(e)&&r){i.i.set(e,r)}i.t[e]=V(s,t);Me(this,e,i.t[e],n)};if(i.t){l()}else{i.h.then((()=>l()))}}}})}else if(r&1&&t&64){Object.defineProperty(i,e,{value(...t){var n;const r=o(this);return(n=r==null?void 0:r.u)==null?void 0:n.then((()=>{var n;return(n=r.t)==null?void 0:n[e](...t)}))}})}}));if(r&1){const r=new Map;i.attributeChangedCallback=function(e,s,l){w.jmp((()=>{var a;const f=r.get(e);if(this.hasOwnProperty(f)&&t.lazyLoad){l=this[f];delete this[f]}else if(i.hasOwnProperty(f)&&typeof this[f]==="number"&&this[f]==l){return}else if(f==null){const t=o(this);const r=t==null?void 0:t.l;if(r&&!(r&8)&&r&128&&l!==s){const r=t.t;const o=(a=n.U)==null?void 0:a[e];o==null?void 0:o.forEach((t=>{if(r[t]!=null){r[t].call(r,l,s,e)}}))}return}const c=Object.getOwnPropertyDescriptor(i,f);l=l===null&&typeof this[f]==="boolean"?false:l;if(l!==this[f]&&(!c.get||!!c.set)){this[f]=l}}))};e.observedAttributes=Array.from(new Set([...Object.keys((l=n.U)!=null?l:{}),...a.filter((([e,t])=>t[0]&15)).map((([e,t])=>{var s;const l=t[1]||e;r.set(l,e);if(t[0]&512){(s=n.L)==null?void 0:s.push([e,l])}return l}))]))}}return e};var Le=async(e,t,n,r)=>{let s;if((t.l&32)===0){t.l|=32;const r=n.S;if(r){const r=v(n,t);if(r&&"then"in r){const e=z();s=await r;e()}else{s=r}if(!s){throw new Error(`Constructor for "${n.m}#${t.W}" was not found`)}if(!s.isProxied){{n.U=s.watchers}Re(s,n,2);s.isProxied=true}const l=W("createInstance",n.m);{t.l|=8}try{new s(t)}catch(t){c(t,e)}{t.l&=~8}{t.l|=128}l();Pe(t.t,e)}else{s=e.constructor;const n=e.localName;customElements.whenDefined(n).then((()=>t.l|=128))}if(s&&s.style){let e;if(typeof s.style==="string"){e=s.style}const t=Z(n);if(!d.has(t)){const r=W("registerStyles",n.m);Y(t,e,!!(n.l&1));r()}}}const l=t.A;const o=()=>ge(t,true);if(l&&l["s-rc"]){l["s-rc"].push(o)}else{o()}};var Pe=(e,t)=>{{De(e,"connectedCallback",void 0,t)}};var Ae=e=>{if((w.l&1)===0){const t=o(e);const n=t.o;const r=W("connectedCallback",n.m);if(!(t.l&1)){t.l|=1;{let n=e;while(n=n.parentNode||n.host){if(n["s-p"]){we(t,t.A=n);break}}}if(n.N){Object.entries(n.N).map((([t,[n]])=>{if(n&31&&e.hasOwnProperty(t)){const n=e[t];delete e[t];e[t]=n}}))}{Le(e,t,n)}}else{We(e,t,n.H);if(t==null?void 0:t.t){Pe(t.t,e)}else if(t==null?void 0:t.h){t.h.then((()=>Pe(t.t,e)))}}r()}};var Fe=(e,t)=>{{De(e,"disconnectedCallback",void 0,t||e)}};var Ne=async e=>{if((w.l&1)===0){const t=o(e);{if(t.B){t.B.map((e=>e()));t.B=void 0}}if(t==null?void 0:t.t){Fe(t.t,e)}else if(t==null?void 0:t.h){t.h.then((()=>Fe(t.t,e)))}}if(X.has(e)){X.delete(e)}if(e.shadowRoot&&X.has(e.shadowRoot)){X.delete(e.shadowRoot)}};var Ue=(e,t={})=>{var n;if(!b.document){console.warn("Stencil: No document found. Skipping bootstrapping lazy components.");return}const r=W();const s=[];const l=t.exclude||[];const i=b.customElements;const f=b.document.head;const c=f.querySelector("meta[charset]");const u=b.document.createElement("style");const v=[];let d;let h=true;Object.assign(w,t);w.$=new URL(t.resourcesUrl||"./",b.document.baseURI).href;let y=false;e.map((e=>{e[1].map((t=>{var n;const r={l:t[0],m:t[1],N:t[2],H:t[3]};if(r.l&4){y=true}{r.N=t[2]}{r.H=t[3]}{r.L=[]}{r.U=(n=t[4])!=null?n:{}}const f=r.m;const c=class extends HTMLElement{constructor(e){super(e);this.hasRegisteredEventListeners=false;e=this;a(e,r);if(r.l&1){{if(!e.shadowRoot){{e.attachShadow({mode:"open"})}}else{if(e.shadowRoot.mode!=="open"){throw new Error(`Unable to re-use existing shadow root for ${r.m}! Mode is set to ${e.shadowRoot.mode} but Stencil only supports open shadow roots.`)}}}}}connectedCallback(){const e=o(this);if(!this.hasRegisteredEventListeners){this.hasRegisteredEventListeners=true;We(this,e,r.H)}if(d){clearTimeout(d);d=null}if(h){v.push(this)}else{w.jmp((()=>Ae(this)))}}disconnectedCallback(){w.jmp((()=>Ne(this)));w.raf((()=>{var e;const t=o(this);const n=v.findIndex((e=>e===this));if(n>-1){v.splice(n,1)}if(((e=t==null?void 0:t.R)==null?void 0:e.T)instanceof Node&&!t.R.T.isConnected){delete t.R.T}}))}componentOnReady(){return o(this).h}};if(r.l&64){c.formAssociated=true}r.S=e[0];if(!l.includes(f)&&!i.get(f)){s.push(f);i.define(f,Re(c,r,1))}}))}));if(s.length>0){if(y){u.textContent+=m}{u.textContent+=s.sort()+p}if(u.innerHTML.length){u.setAttribute("data-styles","");const e=(n=w.M)!=null?n:R(b.document);if(e!=null){u.setAttribute("nonce",e)}f.insertBefore(u,c?c.nextSibling:f.firstChild)}}h=false;if(v.length){v.map((e=>e.connectedCallback()))}else{{w.jmp((()=>d=setTimeout(xe,30)))}}r()};var We=(e,t,n,r)=>{if(n&&b.document){n.map((([n,r,s])=>{const l=He(b.document,e,n);const o=ze(t,s);const i=Be(n);w.ael(l,r,o,i);(t.B=t.B||[]).push((()=>w.rel(l,r,o,i)))}))}};var ze=(e,t)=>n=>{var r;try{{if(e.l&256){(r=e.t)==null?void 0:r[t](n)}else{(e.F=e.F||[]).push([t,n])}}}catch(t){c(t,e.$hostElement$)}};var He=(e,t,n)=>{if(n&16){return e.body}return t};var Be=e=>g?{passive:(e&1)!==0,capture:(e&2)!==0}:(e&2)!==0;var Ie=e=>w.M=e;export{I as H,Ue as b,G as c,q as g,H as h,S as p,i as r,Ie as s};
3
- //# sourceMappingURL=p-840929c5.js.map