xv-webcomponents 1.19.2 → 1.20.1-staging.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{_vars-A07oKwJ_.js → _vars-DMytunQw.js} +9 -6
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{xv-accordion-v2_47.cjs.entry.js → xv-accordion-v2_48.cjs.entry.js} +448 -90
- package/dist/cjs/xv-header-next.cjs.entry.js +2 -2
- package/dist/cjs/xv-mega-menu-next.cjs.entry.js +2 -2
- package/dist/cjs/xv-webcomponents.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/xv-button/xv-button-v2.css +8 -8
- package/dist/collection/components/xv-button/xv-button.js +25 -2
- package/dist/collection/components/xv-button-group/xv-button-group.css +173 -0
- package/dist/collection/components/xv-button-group/xv-button-group.js +206 -0
- package/dist/collection/components/xv-card/xv-card.js +1 -1
- package/dist/collection/components/xv-checkbox/xv-checkbox.js +2 -2
- package/dist/collection/components/xv-content-switcher/xv-content-switcher-item/xv-content-switcher-item.js +1 -1
- package/dist/collection/components/xv-content-switcher/xv-content-switcher.js +2 -2
- package/dist/collection/components/xv-data-table/xv-data-table-cell/xv-data-table-cell.js +1 -1
- package/dist/collection/components/xv-data-table/xv-data-table-collapse/xv-data-table-collapse.js +1 -1
- package/dist/collection/components/xv-data-table/xv-data-table-row/xv-data-table-row.js +2 -2
- package/dist/collection/components/xv-data-table/xv-data-table.js +1 -1
- package/dist/collection/components/xv-datepicker/xv-datepicker.js +2 -2
- package/dist/collection/components/xv-dropdown/xv-dropdown-item/xv-dropdown-item.js +1 -1
- package/dist/collection/components/xv-dropdown/xv-dropdown.js +1 -1
- package/dist/collection/components/xv-file-uploader/xv-file-uploader.js +1 -1
- package/dist/collection/components/xv-footer/xv-footer.js +1 -1
- package/dist/collection/components/xv-header/xv-header.css +4 -71
- package/dist/collection/components/xv-header/xv-header.js +10 -4
- package/dist/collection/components/xv-header-next/xv-header-next.js +1 -1
- package/dist/collection/components/xv-image-viewer/xv-image-viewer.js +1 -1
- package/dist/collection/components/xv-link/xv-link.js +1 -1
- package/dist/collection/components/xv-mega-menu/xv-mega-menu.js +2 -2
- package/dist/collection/components/xv-mega-menu-next/xv-mega-menu-next.js +2 -2
- package/dist/collection/components/xv-modal/xv-modal.js +1 -1
- package/dist/collection/components/xv-notification/xv-notification.js +1 -1
- package/dist/collection/components/xv-number-input/xv-number-input.js +2 -2
- package/dist/collection/components/xv-overflow-menu/_vars.js +7 -6
- package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.css +48 -8
- package/dist/collection/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.js +84 -2
- package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.css +28 -2
- package/dist/collection/components/xv-overflow-menu/xv-overflow-menu.js +373 -22
- package/dist/collection/components/xv-pagination/xv-pagination.js +1 -1
- package/dist/collection/components/xv-progress-indicator/xv-progress-indicator-item/xv-progress-indicator-item.js +1 -1
- package/dist/collection/components/xv-progress-indicator/xv-progress-indicator.js +1 -1
- package/dist/collection/components/xv-radio/xv-radio.js +2 -2
- package/dist/collection/components/xv-slider/xv-slider.js +1 -1
- package/dist/collection/components/xv-table/xv-table-cell/xv-table-cell.js +1 -1
- package/dist/collection/components/xv-table/xv-table-expand/xv-table-expand.js +1 -1
- package/dist/collection/components/xv-table/xv-table-row/xv-table-row.js +1 -1
- package/dist/collection/components/xv-table/xv-table.js +1 -1
- package/dist/collection/components/xv-tabs/xv-tab/xv-tab.js +1 -1
- package/dist/collection/components/xv-tag/xv-tag.js +1 -1
- package/dist/collection/components/xv-tag-combobox/xv-tag-combobox.css +7 -0
- package/dist/collection/components/xv-tag-combobox/xv-tag-combobox.js +37 -9
- package/dist/collection/components/xv-text-input/xv-text-input.js +2 -2
- package/dist/collection/components/xv-textarea/xv-textarea.js +2 -2
- package/dist/collection/components/xv-tile/xv-tile.js +2 -2
- package/dist/collection/components/xv-toggle/xv-toggle.js +1 -1
- package/dist/collection/components/xv-toggle-tip/xv-toggle-tip.js +1 -1
- package/dist/collection/components/xv-tooltip/xv-tooltip.js +2 -2
- package/dist/esm/{_vars-C6jsOjam.js → _vars-CDEU4jkD.js} +7 -7
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{xv-accordion-v2_47.entry.js → xv-accordion-v2_48.entry.js} +448 -91
- package/dist/esm/xv-header-next.entry.js +2 -2
- package/dist/esm/xv-mega-menu-next.entry.js +2 -2
- package/dist/esm/xv-webcomponents.js +1 -1
- package/dist/types/components/xv-button/xv-button.d.ts +2 -0
- package/dist/types/components/xv-button-group/xv-button-group.d.ts +54 -0
- package/dist/types/components/xv-overflow-menu/_vars.d.ts +14 -5
- package/dist/types/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.d.ts +10 -0
- package/dist/types/components/xv-overflow-menu/xv-overflow-menu.d.ts +43 -3
- package/dist/types/components/xv-tag-combobox/xv-tag-combobox.d.ts +1 -0
- package/dist/types/components.d.ts +177 -0
- package/dist/xv-webcomponents/{p-9284f4be.entry.js → p-0b0ce8e2.entry.js} +1 -1
- package/dist/xv-webcomponents/p-9edaba20.entry.js +8 -0
- package/dist/xv-webcomponents/p-CDEU4jkD.js +1 -0
- package/dist/xv-webcomponents/{p-3a20074c.entry.js → p-fa1779f0.entry.js} +1 -1
- package/dist/xv-webcomponents/xv-webcomponents.esm.js +1 -1
- package/package.json +1 -1
- package/dist/xv-webcomponents/p-6bb184f5.entry.js +0 -8
- package/dist/xv-webcomponents/p-C6jsOjam.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, F as Fragment, a as getElement } from './index-Cv2gugMt.js';
|
|
2
|
-
import { S as SIZE_VAR, O as OverflowMenuVariant } from './_vars-
|
|
2
|
+
import { S as SIZE_VAR, O as OverflowMenuVariant } from './_vars-CDEU4jkD.js';
|
|
3
3
|
import { a as api, g as getMetaNav, b as getBaseUrl, d as debounce } from './index-OqHMuwQF.js';
|
|
4
4
|
|
|
5
5
|
const userMagnifyingGlassRegularFullSvg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2NDAgNjQwIj48IS0tIUZvbnQgQXdlc29tZSBQcm8gNy4xLjAgYnkgQGZvbnRhd2Vzb21lIC0gaHR0cHM6Ly9mb250YXdlc29tZS5jb20gTGljZW5zZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tL2xpY2Vuc2UgKENvbW1lcmNpYWwgTGljZW5zZSkgQ29weXJpZ2h0IDIwMjUgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZD0iTTE3Ni41IDE5MkMxNzYuNSAxNDcuOCAyMTIuMyAxMTIgMjU2LjUgMTEyQzMwMC43IDExMiAzMzYuNSAxNDcuOCAzMzYuNSAxOTJDMzM2LjUgMjM2LjIgMzAwLjcgMjcyIDI1Ni41IDI3MkMyMTIuMyAyNzIgMTc2LjUgMjM2LjIgMTc2LjUgMTkyek0zODQuNSAxOTJDMzg0LjUgMTIxLjMgMzI3LjIgNjQgMjU2LjUgNjRDMTg1LjggNjQgMTI4LjUgMTIxLjMgMTI4LjUgMTkyQzEyOC41IDI2Mi43IDE4NS44IDMyMCAyNTYuNSAzMjBDMzI3LjIgMzIwIDM4NC41IDI2Mi43IDM4NC41IDE5MnpNODAuNSA1NDRDODAuNSA0NzMuMyAxMzcuOCA0MTYgMjA4LjUgNDE2TDI4OC43IDQxNkMyODkuNSAzOTkuMiAyOTIuNyAzODMuMSAyOTguMSAzNjhMMjA4LjUgMzY4QzExMS4zIDM2OCAzMi41IDQ0Ni44IDMyLjUgNTQ0TDMyLjUgNTUyQzMyLjUgNTY1LjMgNDMuMiA1NzYgNTYuNSA1NzZDNjkuOCA1NzYgODAuNSA1NjUuMyA4MC41IDU1Mkw4MC41IDU0NHpNNDU2LjUgMzUyQzQ5Ni4zIDM1MiA1MjguNSAzODQuMiA1MjguNSA0MjRDNTI4LjUgNDYzLjggNDk2LjMgNDk2IDQ1Ni41IDQ5NkM0MTYuNyA0OTYgMzg0LjUgNDYzLjggMzg0LjUgNDI0QzM4NC41IDM4NC4yIDQxNi43IDM1MiA0NTYuNSAzNTJ6TTQ1Ni41IDU0NEM0ODAuOSA1NDQgNTAzLjYgNTM2LjcgNTIyLjYgNTI0LjJMNTgzLjUgNTg1LjFDNTkyLjkgNTk0LjUgNjA4LjEgNTk0LjUgNjE3LjQgNTg1LjFDNjI2LjcgNTc1LjcgNjI2LjggNTYwLjUgNjE3LjQgNTUxLjJMNTU2LjUgNDkwLjNDNTY5LjEgNDcxLjMgNTc2LjQgNDQ4LjUgNTc2LjQgNDI0QzU3Ni40IDM1Ny43IDUyMi43IDMwNCA0NTYuNCAzMDRDMzkwLjEgMzA0IDMzNi40IDM1Ny43IDMzNi40IDQyNEMzMzYuNCA0OTAuMyAzOTAuMSA1NDQgNDU2LjQgNTQ0eiIvPjwvc3ZnPg==';
|
|
@@ -197,7 +197,7 @@ const XvHeaderNext = class {
|
|
|
197
197
|
render() {
|
|
198
198
|
var _a, _b, _c, _d, _e;
|
|
199
199
|
const isXvBrand = (((_a = this.metaNav) === null || _a === void 0 ? void 0 : _a['WhitelabelName']) || 'Xv') === 'Xv';
|
|
200
|
-
return (h("header", { key: '
|
|
200
|
+
return (h("header", { key: 'c0012b5ecac3c6471b4ec7b1bfd2eccc3f86dd5f', class: "header" }, h("div", { key: 'cfb8213dac2c3fc8ceef915067a51aa0d7a9555f', class: "header-wrapper" }, h("div", { key: 'd3d2ccf65f3cefe5c67546e43fed176917877ead', class: "xv-container" }, h("div", { key: 'a8fe5efaba57b5687516513d374f9cfba0c705b2', class: "header-top" }, h("div", { key: '4b2119408ec66776a86af787383b79ebee41106d', class: "header-top--left" }, h("xv-button-v2", { key: 'f097db3d55ace0242e871961e6108436e0131aad', class: "menu-btn", variant: "ghost", onClick: this.toggleMobMenu }, h("i", { key: '0986f3d44c8898a3e2f0bd298f2819f3e9a5a34b', slot: "icon-left", class: { 'fa': true, 'fa-times': this.mobMenuOpen, 'fa-bars': !this.mobMenuOpen } })), this.metaNav && (h("a", { key: 'bf800f74bd14a7c425fcb6eb61aa8225dfcc3ee3', href: `${window.location.origin}/` }, h("picture", { key: '5c976747d8ff1cfdd6393340873ed45358cb181d' }, h("source", { key: 'a7b14ff940f436afe7f7efd6c04db248b0a06729', srcSet: ((_b = this.metaNav) === null || _b === void 0 ? void 0 : _b.LogoUrl) || 'https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo.svg', media: "(min-width: 990px)" }), h("img", { key: 'd3a1889224b26633def31994483a8bcdfb56e774', src: ((_c = this.metaNav) === null || _c === void 0 ? void 0 : _c.LogoSmallUrl) || 'https://www.crossvertise.com/ResourcePackages/Bootstrap/assets/dist/images/logo-small.svg', onError: this.logoFallback, loading: "lazy", alt: "Crossvertise" })))), this.orgUnit && (h("xv-link-v2", { key: 'b1aba193ddf6c193f4ea05e3bf3856b50261ef67', class: "header-top--orgUnit", variant: "standalone", href: "/de-de/mycrossvertise" }, this.orgUnit))), h("ul", { key: '1c91ec33597c7c8ac8f92f3f7c5e759ef50e1dda', class: "header-top--right" }, this._renderLocaleSwitcher(), this._renderSearch(), this._renderImpersonationInfo(), !((_d = this.metaNav) === null || _d === void 0 ? void 0 : _d.IsManager) && isXvBrand && (h("li", { key: '1dc84281285f1b66a3942f8b51055be5d05dd846' }, h("xv-link-v2", { key: 'de90e6054b9f0cd9bf1fee2b8cbb3f6aedbf9767', variant: "ghost", href: "https://www.crossvertise.com/ueber-uns/kontakt" }, h("xv-button-v2", { key: '4fd63e27baad255ef62e36b5e4b6ced436fdf01e', variant: "ghost", size: SIZE_VAR.MD }, h("i", { key: '1c2569b332c7caa5518e0884b646020a11b5ae43', class: "header-icon far fa-envelope" }), h("span", { key: 'f890b2fbbdcd750cd1f19fd3d0b8731db1163013', class: "header-label xv-body-02" }, "Kontakt"))))), this._renderNotifications(), this._renderAccount(), !((_e = this.metaNav) === null || _e === void 0 ? void 0 : _e.IsManager) && isXvBrand && (h("li", { key: 'd5a450877b90b5cf8671e7cf315f0af03c392a03' }, h("xv-link-v2", { key: '9ab83170245eb9cc36e47969f381b7fb2229b010', variant: "ghost", href: "https://help.crossvertise.com" }, h("xv-button-v2", { key: 'ca823e73d6088c2be70335658187eb8aedd5142e', variant: "ghost", size: SIZE_VAR.MD }, h("i", { key: '0b72b8d4c39c1a986590275ba486249f94fc915a', class: "header-icon far fa-question-circle" }), h("span", { key: '41ae816f63d86995f5ae92fb383fd7f42374bedb', class: "header-label xv-body-02" }, "Hilfe"))))), this._renderShoppingCart()))), h("div", { key: 'c591fc53113a711ae4f716ca58246b076931ab3a', class: "header-wrapper--bg" }, h("div", { key: '2be8a3100c70b41cf60ca423fa7bedc9fd220d6d', class: "xv-container" }, h("xv-mega-menu-next", { key: 'd0f07991030a2067a8250ccc1f5efef36dbe74b3', open: this.mobMenuOpen, onOpenChange: this.closeMobMenu, menuData: this.menuData })))), h("xv-login-modal", { key: 'dd27d33edef87ad2915151573005dbf0e0291005', visible: this.showLoginModal, onClose: () => this.showLoginModal = false })));
|
|
201
201
|
}
|
|
202
202
|
get el() { return getElement(this); }
|
|
203
203
|
};
|
|
@@ -88,7 +88,7 @@ const XvMegaMenuNext = class {
|
|
|
88
88
|
void this.fetchMenuData();
|
|
89
89
|
}
|
|
90
90
|
render() {
|
|
91
|
-
return (h(Host, { key: '
|
|
91
|
+
return (h(Host, { key: 'f72d11053417cb7e999a24257f38ff00ba1a7097' }, h("nav", { key: '721da64fcb2d4a0268f1d26592225da518284457', class: { 'xv-menu': true, open: this.open } }, this.menuLoading && (h("div", { key: 'fbe58f4d8b44bffd9dc868d21d44c0f70361a1a1', class: { 'xv-menu-loader': true, open: this.open } }, h("xv-loader-v2", { key: 'd6b9dfb3bfd9026db6f4be158e558bdb993c9f08' }))), h("ul", { key: '208ad56e913ba59ed28f6781eed51e48d0843ab9', class: { menu: true, open: this.open } }, this.menuItems.map((menuItem) => {
|
|
92
92
|
var _a, _b;
|
|
93
93
|
return (h("li", { class: { 'menu-item': true, active: menuItem.id === ((_a = this.activeItem) === null || _a === void 0 ? void 0 : _a.id) } }, menuItem.route ? (h("xv-link-v2", { variant: "ghost", href: menuItem.route.route }, h("p", { class: "menu-item-label" }, (_b = menuItem.route) === null || _b === void 0 ? void 0 : _b.label))) : (h(Fragment, null, h("p", { class: "menu-item-label", onClick: () => this.setActiveItem(menuItem) }, menuItem === null || menuItem === void 0 ? void 0 : menuItem.label), h("ul", { class: "menu-item-groups" }, menuItem.groups.map((group) => {
|
|
94
94
|
var _a;
|
|
@@ -98,7 +98,7 @@ const XvMegaMenuNext = class {
|
|
|
98
98
|
} }, h("div", { class: "group-menus" }, h("ul", { class: { 'group-menus-categories': true, inline: group.layout === 'inline' } }, group.categories.map((category) => (h("li", { class: "category" }, h("p", { class: "category-label" }, category.label), h("ul", { class: "category-routes" }, category.routes.map((route) => (h("li", { class: "route" }, h("xv-link-v2", { size: "lg", variant: "ghost", href: route.route || '#' }, route.label), route.tag && (h("xv-tag-v2", { class: "route-tag", size: "sm", color: "#161616", bg: "#E0E0E0" }, route.tag)))))))))), h("ul", { class: "group-menus-actions" }, group.actions.map((action) => (h("li", { class: "action" }, action.type === 'link' && (h("xv-link-v2", { variant: "standalone", href: action === null || action === void 0 ? void 0 : action.url }, action.label, h("span", { class: "link-chevron", slot: "icon-right" }, "\u2192"))), action.type === 'button' &&
|
|
99
99
|
h("xv-button-v2", { onClick: () => this.navActionClick(action), block: true, variant: "tertiary" }, action.label)))))), (group === null || group === void 0 ? void 0 : group.card) && (h("div", { class: "group-card" }, h("xv-card-v2", { media: this.applicationContext !== 'Komsa' ? group.card.image : undefined, variant: this.isMobile ? 'horizontal' : 'vertical' }, h("h5", { slot: "header", class: "group-card-title" }, group.card.title), h("p", { slot: "body", class: "group-card-desc" }, group.card.description), group.card.linkLabel && (h("xv-link-v2", { slot: "footer", variant: "standalone", href: group.card.linkUrl || '#' }, group.card.linkLabel, h("span", { class: "link-chevron", slot: "icon-right" }, "\u2192"))))))))));
|
|
100
100
|
}))))));
|
|
101
|
-
}), h("li", { key: '
|
|
101
|
+
}), h("li", { key: '773b59d60bf0410b1fc60c59c24e6772e856492b', class: "menu--right" }, h("slot", { key: '89c6b08cdc47fc264308cf2f962c89266c6d5073', name: "menu-right" })), this.open && (h("li", { key: '5e3e1d1e38a97c72dbcb8ee3f521f16d4aba3cbd', class: "menu--backdrop", onClick: () => this.handleClose() }))))));
|
|
102
102
|
}
|
|
103
103
|
get el() { return getElement(this); }
|
|
104
104
|
static get watchers() { return {
|
|
@@ -16,5 +16,5 @@ var patchBrowser = () => {
|
|
|
16
16
|
|
|
17
17
|
patchBrowser().then(async (options) => {
|
|
18
18
|
await globalScripts();
|
|
19
|
-
return bootstrapLazy([["xv-accordion-
|
|
19
|
+
return bootstrapLazy([["xv-accordion-v2_48",[[0,"xv-header",{"metaNav":[32],"orgUnit":[32],"baseUrl":[32],"loading":[32],"mobMenuOpen":[32],"suggestions":[32],"suggestionsLoading":[32],"notifications":[32],"showLoginModal":[32]},[[8,"xv:orgUnitChange","handleOrgUnitChange"],[8,"xv:metaNav-update","metaNavUpdate"]]],[257,"xv-dropdown-v2",{"search":[516],"disabled":[516],"multiple":[516],"required":[516],"loading":[516],"readonly":[516],"open":[1540],"error":[520],"label":[513],"helper":[513],"warning":[513],"placeholder":[513],"info":[1],"searchPlaceholder":[1,"search-placeholder"],"size":[1],"defaultValue":[8,"default-value"],"value":[1032],"variant":[1],"position":[1],"selected":[32],"selectedMap":[32],"resolvedPosition":[32]},[[0,"itemSelected","handleItemSelected"],[0,"keydown","handleKeyDown"]],{"open":[{"openChangeHandle":0}],"multiple":[{"multipleChangeHandle":0}],"value":[{"valueChange":1}]}],[257,"xv-data-table-row",{"variant":[1],"name":[1025],"collapse":[1],"collapsable":[516],"checked":[1028],"partial":[1028],"hover":[1028],"group":[4],"header":[4],"footer":[4],"disabled":[4],"readonly":[4],"required":[4],"value":[8],"collapsed":[32],"reorderable":[32],"reorderHandleMode":[32],"close":[64]}],[65,"xv-datepicker",{"value":[1040],"variant":[1],"label":[1],"helper":[1],"error":[8],"warning":[8],"readonly":[4],"disabled":[4],"loading":[4],"block":[4],"size":[513],"min":[1],"max":[1],"month":[32],"days":[32],"open":[32],"localError":[32]},[[4,"click","handleClickOutside"]],{"open":[{"openChange":0}],"month":[{"getCalendarGrid":0}],"value":[{"handleValueChange":0}]}],[1,"xv-file-uploader",{"label":[1],"description":[1],"addText":[1,"add-text"],"variant":[1],"size":[1],"accept":[16],"buttonVariant":[1,"button-variant"],"maxFileSizeMB":[2,"max-file-size-mb"],"maxFiles":[2,"max-files"],"multiple":[4],"disabled":[516],"files":[1040],"loadingStates":[1040],"error":[1537],"errors":[1040],"dragActive":[32],"errorMessages":[32],"clearFiles":[64]}],[65,"xv-number-input-v2",{"label":[1],"placeholder":[513],"name":[513],"value":[1538],"helper":[1],"error":[8],"warning":[8],"step":[2],"max":[2],"min":[2],"readonly":[4],"disabled":[4],"loading":[4],"block":[516],"size":[513]}],[1,"xv-pagination",{"total":[2],"page":[1026],"size":[1],"block":[4],"variant":[1],"responsiveVariant":[16],"totalItems":[2,"total-items"],"itemsPerPage":[32],"currentVariant":[32]}],[257,"xv-table-v2-row",{"checked":[1540],"partial":[1540],"name":[1537],"value":[520],"hover":[1540],"readonly":[516],"required":[516],"disabled":[516],"header":[516],"variant":[1537]},null,{"checked":[{"checkedChangeHandle":0}]}],[1,"xv-tag-combobox",{"options":[16],"label":[1],"size":[1],"placeholder":[1],"allowCreate":[4,"allow-create"],"maxSuggestions":[2,"max-suggestions"],"disabled":[4],"loading":[4],"readonly":[4],"error":[8],"warning":[8],"value":[16],"normalizedOptions":[32],"selected":[32],"inputValue":[32],"open":[32],"filtered":[32],"highlighted":[32],"focusInput":[64],"clear":[64]},null,{"options":[{"watchOptions":0}],"value":[{"watchValue":0}]}],[65,"xv-textarea",{"value":[1025],"name":[1],"label":[1],"placeholder":[1],"helper":[1],"info":[1],"error":[8],"warning":[8],"disabled":[4],"readonly":[4],"block":[4],"counterHide":[4,"counter-hide"],"noResize":[4,"no-resize"],"loading":[4],"max":[2],"rows":[2],"size":[513]}],[257,"xv-data-table",{"size":[1],"block":[520],"loading":[4],"columnWidths":[16],"multiple":[516],"hover":[4],"reorderable":[516],"reorderHandle":[513,"reorder-handle"]},null,{"reorderable":[{"reorderableChanged":0}],"reorderHandle":[{"reorderHandleChanged":0}]}],[257,"xv-dropdown-v2-item",{"disabled":[4],"value":[1544],"selected":[1540],"multiple":[516],"size":[513]},[[0,"click","handleClick"]]],[257,"xv-image-viewer",{"src":[1],"fullscreenSrc":[1,"fullscreen-src"],"alt":[1],"placeholder":[1],"lazy":[4],"isFullscreen":[32],"loaded":[32],"fullscreenLoaded":[32],"errored":[32]}],[257,"xv-tab-v2",{"label":[513],"disabled":[516],"loading":[516],"name":[8]}],[257,"xv-table-v2",{"size":[513],"hover":[516],"loading":[516],"colsSize":[16],"selected":[32],"selectedCount":[32]},[[0,"checkedChange","handleCheckedChange"]],{"colsSize":[{"setColsSizeTemplate":0}]}],[257,"xv-tabs-v2",{"active":[1544],"loading":[516],"variant":[1],"emptyMessage":[1,"empty-message"],"hideSingleTab":[4,"hide-single-tab"],"tabElements":[32],"showArrows":[32]},[[9,"resize","updateArrowVisibility"]]],[257,"xv-accordion-v2",{"multiple":[4],"xvId":[1,"xv-id"],"value":[1025],"opened":[32],"toggleItem":[64]}],[257,"xv-accordion-v2-item",{"disabled":[4],"label":[1],"value":[1],"isOpen":[32]},[[16,"accordionChange","handleAccordionChange"]]],[260,"xv-breadcrumbs-v2"],[257,"xv-button-group-v2",{"variant":[513],"multiple":[516],"value":[1025]},[[0,"click","handleClick"]],{"value":[{"onSelectionInputChange":0}],"multiple":[{"onSelectionInputChange":0}]}],[257,"xv-content-switcher-item-v2",{"value":[520],"label":[513],"icon":[513],"disabled":[516]}],[257,"xv-content-switcher-v2",{"selected":[1544],"size":[513],"iconOnly":[516,"icon-only"],"disabled":[516],"block":[516],"controlled":[516],"items":[32]}],[257,"xv-data-table-collapse",{"collapsed":[1540],"setCollapsed":[64]}],[0,"xv-footer",{"data":[32]},[[8,"xv:metaNav-update","handleLoadData"]]],[257,"xv-progress-indicator-v2",{"progress":[514],"variant":[1],"size":[1]},null,{"progress":[{"updateChildItems":0}]}],[257,"xv-progress-indicator-v2-item",{"status":[1]}],[324,"xv-radio-v2",{"name":[1],"value":[1],"label":[1],"checked":[1028],"indeterminate":[4],"block":[4],"disabled":[4],"required":[4],"reverse":[4],"readonly":[4],"error":[8],"warning":[520],"size":[1]},null,{"checked":[{"onCheckedChange":0}]}],[65,"xv-slider-v2",{"label":[1],"name":[1],"min":[2],"max":[2],"value":[1026],"step":[2],"disabled":[4],"readonly":[4],"notEditable":[4,"not-editable"]}],[257,"xv-table-v2-expand",{"open":[1540],"disabled":[516]}],[260,"xv-tile",{"variant":[513],"label":[1],"error":[4],"multiple":[4],"disabled":[4],"block":[4],"name":[1],"message":[513],"value":[1025],"checked":[1028],"readonly":[1028]},[[4,"tileChange","tileChangeHandle"],[0,"click","handleClick"]]],[321,"xv-toggle",{"label":[1],"value":[1],"name":[1],"checked":[1540],"disabled":[4],"readonly":[4],"size":[513],"block":[4]}],[257,"xv-mega-menu",{"open":[1540],"activeItem":[32],"activeGroup":[32],"menuItems":[32],"applicationContext":[32],"menuLoading":[32]},[[4,"click","handleClickOutside"]]],[257,"xv-data-table-cell",{"name":[1025],"sort":[1537],"multiline":[520],"width":[1],"align":[1],"tooltip":[1]},[[0,"click","handleSort"]]],[257,"xv-table-v2-cell",{"multiline":[516],"name":[1537],"align":[513],"sort":[1537]},[[0,"click","handleSort"]]],[2,"xv-login-modal",{"visible":[4],"urls":[32],"loading":[32],"errorMessage":[32]}],[257,"xv-overflow-menu-v2",{"open":[1540],"disabled":[516],"position":[1],"alignment":[1],"size":[1],"tooltip":[1],"anchor":[1],"activeId":[32],"openMenu":[64],"closeMenu":[64],"toggleMenu":[64]},[[0,"keydown","handleKeyDown"]],{"open":[{"openChangeHandle":0}],"anchor":[{"anchorChangeHandle":0}]}],[257,"xv-overflow-menu-v2-item",{"disabled":[516],"value":[520],"variant":[513],"clickable":[4],"href":[1],"target":[1],"divider":[516],"hasIcon":[32],"hasIconEnd":[32]},[[0,"click","handleClick"]]],[257,"xv-toggle-tip",{"open":[1540],"autoSize":[516,"auto-size"],"block":[4],"position":[1],"setPopover":[64]},[[4,"click","handleClickOutside"],[0,"keydown","handleKeyDown"]],{"open":[{"openChangeHandle":0}]}],[257,"xv-modal-v2",{"open":[1540],"permanent":[516],"size":[513],"overflow":[516],"loading":[4],"openModal":[64],"closeModal":[64]}],[257,"xv-notification-v2",{"variant":[513],"dismissible":[516]}],[65,"xv-text-input-v2",{"type":[1],"label":[1],"placeholder":[513],"name":[513],"value":[1025],"autocomplete":[1],"helper":[1],"error":[8],"warning":[8],"readonly":[4],"disabled":[4],"loading":[4],"block":[516],"size":[513],"isPasswordVisible":[32]}],[257,"xv-card-v2",{"variant":[1],"media":[1],"header":[1],"body":[1],"footer":[1]}],[257,"xv-link-v2",{"href":[1],"target":[1],"disabled":[4],"size":[1],"variant":[1]}],[321,"xv-checkbox-v2",{"checked":[1540],"indeterminate":[516],"disabled":[516],"name":[513],"value":[513],"readonly":[516],"required":[516],"partial":[516],"label":[1],"size":[513],"error":[520],"align":[513],"hasFocus":[32]},null,{"checked":[{"onCheckedChange":0}]}],[257,"xv-tag-v2",{"size":[1],"color":[1],"bg":[1],"disabled":[4],"closeable":[4]}],[260,"xv-tooltip-v2",{"message":[1],"position":[1],"block":[4],"dashed":[4]},[[1,"mouseenter","onMouseEnter"],[1,"mouseleave","onMouseLeave"]]],[321,"xv-button-v2",{"value":[1],"name":[1],"label":[513],"variant":[513],"size":[513],"disabled":[516],"loading":[516],"block":[516],"type":[513],"active":[516],"hasLeftIcon":[32],"hasRightIcon":[32],"hasContent":[32]}],[257,"xv-loader-v2",{"show":[4],"variant":[1],"size":[1]}]]],["xv-mega-menu-next",[[257,"xv-mega-menu-next",{"open":[1540],"menuData":[1,"menu-data"],"activeItem":[32],"activeGroup":[32],"menuItems":[32],"applicationContext":[32],"menuLoading":[32]},[[4,"click","handleClickOutside"]],{"menuData":[{"onMenuDataChange":0}]}]]],["xv-header-next",[[0,"xv-header-next",{"menuData":[1,"menu-data"],"currentLocale":[1,"current-locale"],"locales":[1],"metaNav":[32],"orgUnit":[32],"baseUrl":[32],"loading":[32],"mobMenuOpen":[32],"suggestions":[32],"suggestionsLoading":[32],"notifications":[32],"showLoginModal":[32]},[[8,"xv:orgUnitChange","handleOrgUnitChange"],[8,"xv:metaNav-update","metaNavUpdate"]]]]]], options);
|
|
20
20
|
});
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
/**
|
|
3
|
+
* xv-button-group-v2
|
|
4
|
+
*
|
|
5
|
+
* Groups a set of `xv-button-v2` buttons into a single horizontal or vertical
|
|
6
|
+
* unit. Use `secondary` or `tertiary` buttons inside it.
|
|
7
|
+
*
|
|
8
|
+
* The group owns only three things: the layout direction, the rounded corners
|
|
9
|
+
* (applied to the outer edges of the group via each button's
|
|
10
|
+
* `--xv-button-border-radius` variable) and the **active** selection. Everything
|
|
11
|
+
* else — `variant`, `size`, `disabled`, icons, labels — stays on each child
|
|
12
|
+
* `xv-button-v2`.
|
|
13
|
+
*
|
|
14
|
+
* Selection is single by default (radio-like: re-clicking the active button is a
|
|
15
|
+
* no-op). Set `multiple` to let each button toggle independently. The active
|
|
16
|
+
* button shows the existing `--button-{type}-active` colour.
|
|
17
|
+
*
|
|
18
|
+
* @slot - One or more `xv-button-v2` elements, each with its own `value`.
|
|
19
|
+
*/
|
|
20
|
+
export declare class XvButtonGroup {
|
|
21
|
+
el: HTMLElement;
|
|
22
|
+
/** Layout direction of the group. */
|
|
23
|
+
variant: 'horizontal' | 'vertical';
|
|
24
|
+
/** Allow several buttons to be active at the same time (independent toggles). */
|
|
25
|
+
multiple: boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Active selection — a single value (single mode) or an array of values
|
|
28
|
+
* (`multiple` mode). Matched against each button's `value`, falling back to
|
|
29
|
+
* its zero-based index when it has none. Via an attribute in `multiple` mode,
|
|
30
|
+
* a comma-separated string is also accepted.
|
|
31
|
+
*/
|
|
32
|
+
value?: string | string[];
|
|
33
|
+
/**
|
|
34
|
+
* Emitted whenever the active selection changes. Carries a `string` in single
|
|
35
|
+
* mode and a `string[]` in `multiple` mode. Does not bubble or cross shadow
|
|
36
|
+
* boundaries, so it never collides with an enclosing component's events.
|
|
37
|
+
*/
|
|
38
|
+
activeChange: EventEmitter<string | string[]>;
|
|
39
|
+
onSelectionInputChange(): void;
|
|
40
|
+
componentDidLoad(): void;
|
|
41
|
+
handleClick(event: MouseEvent): void;
|
|
42
|
+
/** Live list of child buttons, in DOM order. */
|
|
43
|
+
private get items();
|
|
44
|
+
private getItemKey;
|
|
45
|
+
private selectedKeys;
|
|
46
|
+
private toggle;
|
|
47
|
+
/**
|
|
48
|
+
* Mirror the selection onto the children by flipping each button's `active`
|
|
49
|
+
* attribute. The button renders `aria-pressed` on its own inner `<button>`
|
|
50
|
+
* from that state (the host element has no role, so ARIA must live there).
|
|
51
|
+
*/
|
|
52
|
+
private syncActive;
|
|
53
|
+
render(): any;
|
|
54
|
+
}
|
|
@@ -2,8 +2,17 @@ export interface OverflowMenuEvent {
|
|
|
2
2
|
value: string | number | object | undefined;
|
|
3
3
|
event: PointerEvent;
|
|
4
4
|
}
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
/**
|
|
6
|
+
* Item variant.
|
|
7
|
+
* As a type it is a plain string union, so templates can pass a raw string
|
|
8
|
+
* (`variant="danger"` / `[variant]="'danger'"`) without importing anything.
|
|
9
|
+
* As a value it also works like an enum in TypeScript (`OverflowMenuVariant.DANGER`).
|
|
10
|
+
*/
|
|
11
|
+
export type OverflowMenuVariant = '' | 'danger' | 'ghost';
|
|
12
|
+
export declare const OverflowMenuVariant: {
|
|
13
|
+
DEFAULT: "";
|
|
14
|
+
DANGER: "danger";
|
|
15
|
+
GHOST: "ghost";
|
|
16
|
+
};
|
|
17
|
+
/** Tag used to discover menu items (roving keyboard navigation, size mirroring). */
|
|
18
|
+
export declare const OverflowMenuItemSelector = "xv-overflow-menu-v2-item";
|
package/dist/types/components/xv-overflow-menu/xv-overflow-menu-item/xv-overflow-menu-item.d.ts
CHANGED
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
import { EventEmitter } from '../../../stencil-public-runtime';
|
|
2
2
|
import { OverflowMenuEvent, OverflowMenuVariant } from '../_vars';
|
|
3
3
|
export declare class XvOverflowMenuItem {
|
|
4
|
+
el: HTMLElement;
|
|
4
5
|
disabled: boolean;
|
|
5
6
|
value: OverflowMenuEvent['value'];
|
|
6
7
|
variant: OverflowMenuVariant;
|
|
7
8
|
clickable: boolean;
|
|
9
|
+
/** Optional link: renders the item as an anchor so native navigation (middle-click, new tab) works. */
|
|
10
|
+
href?: string;
|
|
11
|
+
/** Anchor target, only used together with `href`. */
|
|
12
|
+
target?: string;
|
|
13
|
+
/** Draws a separator line above the item (e.g. before a "Logout" action). */
|
|
14
|
+
divider: boolean;
|
|
8
15
|
itemClick: EventEmitter<OverflowMenuEvent>;
|
|
16
|
+
private hasIcon;
|
|
17
|
+
private hasIconEnd;
|
|
18
|
+
componentWillLoad(): void;
|
|
9
19
|
handleClick(event: PointerEvent): void;
|
|
10
20
|
render(): any;
|
|
11
21
|
}
|
|
@@ -6,16 +6,56 @@ export declare class XvOverflowMenu {
|
|
|
6
6
|
open: boolean;
|
|
7
7
|
disabled: boolean;
|
|
8
8
|
position: 'left' | 'right' | 'center';
|
|
9
|
+
/** Alias for `position` following the design-system wording. `start` → left, `end` → right. */
|
|
10
|
+
alignment?: 'start' | 'end';
|
|
9
11
|
size: SIZE_VAR_STR;
|
|
10
12
|
tooltip?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Open the menu from an arbitrary element instead of the built-in trigger button.
|
|
15
|
+
* Accepts an element or a CSS selector; a click on it toggles the menu, which is then
|
|
16
|
+
* positioned against that element.
|
|
17
|
+
*/
|
|
18
|
+
anchor?: string | HTMLElement;
|
|
11
19
|
selectItem: EventEmitter<OverflowMenuEvent>;
|
|
12
|
-
|
|
20
|
+
openChange: EventEmitter<boolean>;
|
|
21
|
+
private activeId?;
|
|
22
|
+
private listEl?;
|
|
23
|
+
private triggerButtonEl?;
|
|
24
|
+
private anchorEl;
|
|
25
|
+
private popperInstance?;
|
|
26
|
+
private readonly menuId;
|
|
27
|
+
private activeItem;
|
|
28
|
+
private optIdSeq;
|
|
29
|
+
/** Whether the current open was triggered by the keyboard — only then do we pre-highlight an item. */
|
|
30
|
+
private openViaKeyboard;
|
|
31
|
+
private openEdge;
|
|
32
|
+
private get isAnchorMode();
|
|
33
|
+
private get effectivePosition();
|
|
13
34
|
openChangeHandle(): void;
|
|
14
|
-
|
|
35
|
+
anchorChangeHandle(): void;
|
|
36
|
+
openMenu(): Promise<void>;
|
|
37
|
+
closeMenu(): Promise<void>;
|
|
38
|
+
toggleMenu(): Promise<void>;
|
|
39
|
+
private syncOpenState;
|
|
15
40
|
private removeListeners;
|
|
16
|
-
private
|
|
41
|
+
private handleClickOutside;
|
|
17
42
|
private onOpenToggle;
|
|
18
43
|
private handleSelectItem;
|
|
44
|
+
private resolveAnchor;
|
|
45
|
+
private anchorClickHandler;
|
|
46
|
+
private setupAnchor;
|
|
47
|
+
private teardownAnchor;
|
|
48
|
+
private popperPlacement;
|
|
49
|
+
private createPopper;
|
|
50
|
+
private destroyPopper;
|
|
51
|
+
handleKeyDown(ev: KeyboardEvent): void;
|
|
52
|
+
private getNavigableItems;
|
|
53
|
+
private moveActive;
|
|
54
|
+
private setActiveByEdge;
|
|
55
|
+
private setActiveItem;
|
|
56
|
+
/** Runs once per open, after the panel is in the DOM: highlight the first item and place focus. */
|
|
57
|
+
private initOpenState;
|
|
58
|
+
private restoreFocus;
|
|
19
59
|
render(): any;
|
|
20
60
|
componentDidLoad(): void;
|
|
21
61
|
disconnectedCallback(): void;
|
|
@@ -54,7 +54,41 @@ export namespace Components {
|
|
|
54
54
|
}
|
|
55
55
|
interface XvBreadcrumbsV2 {
|
|
56
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* xv-button-group-v2
|
|
59
|
+
* Groups a set of `xv-button-v2` buttons into a single horizontal or vertical
|
|
60
|
+
* unit. Use `secondary` or `tertiary` buttons inside it.
|
|
61
|
+
* The group owns only three things: the layout direction, the rounded corners
|
|
62
|
+
* (applied to the outer edges of the group via each button's
|
|
63
|
+
* `--xv-button-border-radius` variable) and the **active** selection. Everything
|
|
64
|
+
* else — `variant`, `size`, `disabled`, icons, labels — stays on each child
|
|
65
|
+
* `xv-button-v2`.
|
|
66
|
+
* Selection is single by default (radio-like: re-clicking the active button is a
|
|
67
|
+
* no-op). Set `multiple` to let each button toggle independently. The active
|
|
68
|
+
* button shows the existing `--button-{type}-active` colour.
|
|
69
|
+
*/
|
|
70
|
+
interface XvButtonGroupV2 {
|
|
71
|
+
/**
|
|
72
|
+
* Allow several buttons to be active at the same time (independent toggles).
|
|
73
|
+
* @default false
|
|
74
|
+
*/
|
|
75
|
+
"multiple": boolean;
|
|
76
|
+
/**
|
|
77
|
+
* Active selection — a single value (single mode) or an array of values (`multiple` mode). Matched against each button's `value`, falling back to its zero-based index when it has none. Via an attribute in `multiple` mode, a comma-separated string is also accepted.
|
|
78
|
+
*/
|
|
79
|
+
"value"?: string | string[];
|
|
80
|
+
/**
|
|
81
|
+
* Layout direction of the group.
|
|
82
|
+
* @default 'horizontal'
|
|
83
|
+
*/
|
|
84
|
+
"variant": 'horizontal' | 'vertical';
|
|
85
|
+
}
|
|
57
86
|
interface XvButtonV2 {
|
|
87
|
+
/**
|
|
88
|
+
* Set button to active styles
|
|
89
|
+
* @default false
|
|
90
|
+
*/
|
|
91
|
+
"active": boolean;
|
|
58
92
|
/**
|
|
59
93
|
* Button for full width
|
|
60
94
|
* @default false
|
|
@@ -647,6 +681,15 @@ export namespace Components {
|
|
|
647
681
|
"warning"?: string | boolean;
|
|
648
682
|
}
|
|
649
683
|
interface XvOverflowMenuV2 {
|
|
684
|
+
/**
|
|
685
|
+
* Alias for `position` following the design-system wording. `start` → left, `end` → right.
|
|
686
|
+
*/
|
|
687
|
+
"alignment"?: 'start' | 'end';
|
|
688
|
+
/**
|
|
689
|
+
* Open the menu from an arbitrary element instead of the built-in trigger button. Accepts an element or a CSS selector; a click on it toggles the menu, which is then positioned against that element.
|
|
690
|
+
*/
|
|
691
|
+
"anchor"?: string | HTMLElement;
|
|
692
|
+
"closeMenu": () => Promise<void>;
|
|
650
693
|
/**
|
|
651
694
|
* @default false
|
|
652
695
|
*/
|
|
@@ -655,6 +698,7 @@ export namespace Components {
|
|
|
655
698
|
* @default false
|
|
656
699
|
*/
|
|
657
700
|
"open": boolean;
|
|
701
|
+
"openMenu": () => Promise<void>;
|
|
658
702
|
/**
|
|
659
703
|
* @default 'left'
|
|
660
704
|
*/
|
|
@@ -663,6 +707,7 @@ export namespace Components {
|
|
|
663
707
|
* @default SIZE_VAR.MD
|
|
664
708
|
*/
|
|
665
709
|
"size": SIZE_VAR_STR;
|
|
710
|
+
"toggleMenu": () => Promise<void>;
|
|
666
711
|
"tooltip"?: string;
|
|
667
712
|
}
|
|
668
713
|
interface XvOverflowMenuV2Item {
|
|
@@ -674,6 +719,19 @@ export namespace Components {
|
|
|
674
719
|
* @default false
|
|
675
720
|
*/
|
|
676
721
|
"disabled": boolean;
|
|
722
|
+
/**
|
|
723
|
+
* Draws a separator line above the item (e.g. before a "Logout" action).
|
|
724
|
+
* @default false
|
|
725
|
+
*/
|
|
726
|
+
"divider": boolean;
|
|
727
|
+
/**
|
|
728
|
+
* Optional link: renders the item as an anchor so native navigation (middle-click, new tab) works.
|
|
729
|
+
*/
|
|
730
|
+
"href"?: string;
|
|
731
|
+
/**
|
|
732
|
+
* Anchor target, only used together with `href`.
|
|
733
|
+
*/
|
|
734
|
+
"target"?: string;
|
|
677
735
|
"value": OverflowMenuEvent['value'];
|
|
678
736
|
/**
|
|
679
737
|
* @default OverflowMenuVariant.DEFAULT
|
|
@@ -900,6 +958,10 @@ export namespace Components {
|
|
|
900
958
|
* @default ''
|
|
901
959
|
*/
|
|
902
960
|
"label": string;
|
|
961
|
+
/**
|
|
962
|
+
* @default false
|
|
963
|
+
*/
|
|
964
|
+
"loading": boolean;
|
|
903
965
|
/**
|
|
904
966
|
* @default 200
|
|
905
967
|
*/
|
|
@@ -1096,6 +1158,10 @@ export interface XvAccordionV2ItemCustomEvent<T> extends CustomEvent<T> {
|
|
|
1096
1158
|
detail: T;
|
|
1097
1159
|
target: HTMLXvAccordionV2ItemElement;
|
|
1098
1160
|
}
|
|
1161
|
+
export interface XvButtonGroupV2CustomEvent<T> extends CustomEvent<T> {
|
|
1162
|
+
detail: T;
|
|
1163
|
+
target: HTMLXvButtonGroupV2Element;
|
|
1164
|
+
}
|
|
1099
1165
|
export interface XvCheckboxV2CustomEvent<T> extends CustomEvent<T> {
|
|
1100
1166
|
detail: T;
|
|
1101
1167
|
target: HTMLXvCheckboxV2Element;
|
|
@@ -1269,6 +1335,36 @@ declare global {
|
|
|
1269
1335
|
prototype: HTMLXvBreadcrumbsV2Element;
|
|
1270
1336
|
new (): HTMLXvBreadcrumbsV2Element;
|
|
1271
1337
|
};
|
|
1338
|
+
interface HTMLXvButtonGroupV2ElementEventMap {
|
|
1339
|
+
"activeChange": string | string[];
|
|
1340
|
+
}
|
|
1341
|
+
/**
|
|
1342
|
+
* xv-button-group-v2
|
|
1343
|
+
* Groups a set of `xv-button-v2` buttons into a single horizontal or vertical
|
|
1344
|
+
* unit. Use `secondary` or `tertiary` buttons inside it.
|
|
1345
|
+
* The group owns only three things: the layout direction, the rounded corners
|
|
1346
|
+
* (applied to the outer edges of the group via each button's
|
|
1347
|
+
* `--xv-button-border-radius` variable) and the **active** selection. Everything
|
|
1348
|
+
* else — `variant`, `size`, `disabled`, icons, labels — stays on each child
|
|
1349
|
+
* `xv-button-v2`.
|
|
1350
|
+
* Selection is single by default (radio-like: re-clicking the active button is a
|
|
1351
|
+
* no-op). Set `multiple` to let each button toggle independently. The active
|
|
1352
|
+
* button shows the existing `--button-{type}-active` colour.
|
|
1353
|
+
*/
|
|
1354
|
+
interface HTMLXvButtonGroupV2Element extends Components.XvButtonGroupV2, HTMLStencilElement {
|
|
1355
|
+
addEventListener<K extends keyof HTMLXvButtonGroupV2ElementEventMap>(type: K, listener: (this: HTMLXvButtonGroupV2Element, ev: XvButtonGroupV2CustomEvent<HTMLXvButtonGroupV2ElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1356
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1357
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1358
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
1359
|
+
removeEventListener<K extends keyof HTMLXvButtonGroupV2ElementEventMap>(type: K, listener: (this: HTMLXvButtonGroupV2Element, ev: XvButtonGroupV2CustomEvent<HTMLXvButtonGroupV2ElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
1360
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1361
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1362
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
1363
|
+
}
|
|
1364
|
+
var HTMLXvButtonGroupV2Element: {
|
|
1365
|
+
prototype: HTMLXvButtonGroupV2Element;
|
|
1366
|
+
new (): HTMLXvButtonGroupV2Element;
|
|
1367
|
+
};
|
|
1272
1368
|
interface HTMLXvButtonV2Element extends Components.XvButtonV2, HTMLStencilElement {
|
|
1273
1369
|
}
|
|
1274
1370
|
var HTMLXvButtonV2Element: {
|
|
@@ -1688,6 +1784,7 @@ declare global {
|
|
|
1688
1784
|
};
|
|
1689
1785
|
interface HTMLXvOverflowMenuV2ElementEventMap {
|
|
1690
1786
|
"selectItem": OverflowMenuEvent;
|
|
1787
|
+
"openChange": boolean;
|
|
1691
1788
|
}
|
|
1692
1789
|
interface HTMLXvOverflowMenuV2Element extends Components.XvOverflowMenuV2, HTMLStencilElement {
|
|
1693
1790
|
addEventListener<K extends keyof HTMLXvOverflowMenuV2ElementEventMap>(type: K, listener: (this: HTMLXvOverflowMenuV2Element, ev: XvOverflowMenuV2CustomEvent<HTMLXvOverflowMenuV2ElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
@@ -1977,6 +2074,7 @@ declare global {
|
|
|
1977
2074
|
"xv-accordion-v2": HTMLXvAccordionV2Element;
|
|
1978
2075
|
"xv-accordion-v2-item": HTMLXvAccordionV2ItemElement;
|
|
1979
2076
|
"xv-breadcrumbs-v2": HTMLXvBreadcrumbsV2Element;
|
|
2077
|
+
"xv-button-group-v2": HTMLXvButtonGroupV2Element;
|
|
1980
2078
|
"xv-button-v2": HTMLXvButtonV2Element;
|
|
1981
2079
|
"xv-card-v2": HTMLXvCardV2Element;
|
|
1982
2080
|
"xv-checkbox-v2": HTMLXvCheckboxV2Element;
|
|
@@ -2049,7 +2147,45 @@ declare namespace LocalJSX {
|
|
|
2049
2147
|
}
|
|
2050
2148
|
interface XvBreadcrumbsV2 {
|
|
2051
2149
|
}
|
|
2150
|
+
/**
|
|
2151
|
+
* xv-button-group-v2
|
|
2152
|
+
* Groups a set of `xv-button-v2` buttons into a single horizontal or vertical
|
|
2153
|
+
* unit. Use `secondary` or `tertiary` buttons inside it.
|
|
2154
|
+
* The group owns only three things: the layout direction, the rounded corners
|
|
2155
|
+
* (applied to the outer edges of the group via each button's
|
|
2156
|
+
* `--xv-button-border-radius` variable) and the **active** selection. Everything
|
|
2157
|
+
* else — `variant`, `size`, `disabled`, icons, labels — stays on each child
|
|
2158
|
+
* `xv-button-v2`.
|
|
2159
|
+
* Selection is single by default (radio-like: re-clicking the active button is a
|
|
2160
|
+
* no-op). Set `multiple` to let each button toggle independently. The active
|
|
2161
|
+
* button shows the existing `--button-{type}-active` colour.
|
|
2162
|
+
*/
|
|
2163
|
+
interface XvButtonGroupV2 {
|
|
2164
|
+
/**
|
|
2165
|
+
* Allow several buttons to be active at the same time (independent toggles).
|
|
2166
|
+
* @default false
|
|
2167
|
+
*/
|
|
2168
|
+
"multiple"?: boolean;
|
|
2169
|
+
/**
|
|
2170
|
+
* Emitted whenever the active selection changes. Carries a `string` in single mode and a `string[]` in `multiple` mode. Does not bubble or cross shadow boundaries, so it never collides with an enclosing component's events.
|
|
2171
|
+
*/
|
|
2172
|
+
"onActiveChange"?: (event: XvButtonGroupV2CustomEvent<string | string[]>) => void;
|
|
2173
|
+
/**
|
|
2174
|
+
* Active selection — a single value (single mode) or an array of values (`multiple` mode). Matched against each button's `value`, falling back to its zero-based index when it has none. Via an attribute in `multiple` mode, a comma-separated string is also accepted.
|
|
2175
|
+
*/
|
|
2176
|
+
"value"?: string | string[];
|
|
2177
|
+
/**
|
|
2178
|
+
* Layout direction of the group.
|
|
2179
|
+
* @default 'horizontal'
|
|
2180
|
+
*/
|
|
2181
|
+
"variant"?: 'horizontal' | 'vertical';
|
|
2182
|
+
}
|
|
2052
2183
|
interface XvButtonV2 {
|
|
2184
|
+
/**
|
|
2185
|
+
* Set button to active styles
|
|
2186
|
+
* @default false
|
|
2187
|
+
*/
|
|
2188
|
+
"active"?: boolean;
|
|
2053
2189
|
/**
|
|
2054
2190
|
* Button for full width
|
|
2055
2191
|
* @default false
|
|
@@ -2680,10 +2816,19 @@ declare namespace LocalJSX {
|
|
|
2680
2816
|
"warning"?: string | boolean;
|
|
2681
2817
|
}
|
|
2682
2818
|
interface XvOverflowMenuV2 {
|
|
2819
|
+
/**
|
|
2820
|
+
* Alias for `position` following the design-system wording. `start` → left, `end` → right.
|
|
2821
|
+
*/
|
|
2822
|
+
"alignment"?: 'start' | 'end';
|
|
2823
|
+
/**
|
|
2824
|
+
* Open the menu from an arbitrary element instead of the built-in trigger button. Accepts an element or a CSS selector; a click on it toggles the menu, which is then positioned against that element.
|
|
2825
|
+
*/
|
|
2826
|
+
"anchor"?: string | HTMLElement;
|
|
2683
2827
|
/**
|
|
2684
2828
|
* @default false
|
|
2685
2829
|
*/
|
|
2686
2830
|
"disabled"?: boolean;
|
|
2831
|
+
"onOpenChange"?: (event: XvOverflowMenuV2CustomEvent<boolean>) => void;
|
|
2687
2832
|
"onSelectItem"?: (event: XvOverflowMenuV2CustomEvent<OverflowMenuEvent>) => void;
|
|
2688
2833
|
/**
|
|
2689
2834
|
* @default false
|
|
@@ -2708,7 +2853,20 @@ declare namespace LocalJSX {
|
|
|
2708
2853
|
* @default false
|
|
2709
2854
|
*/
|
|
2710
2855
|
"disabled"?: boolean;
|
|
2856
|
+
/**
|
|
2857
|
+
* Draws a separator line above the item (e.g. before a "Logout" action).
|
|
2858
|
+
* @default false
|
|
2859
|
+
*/
|
|
2860
|
+
"divider"?: boolean;
|
|
2861
|
+
/**
|
|
2862
|
+
* Optional link: renders the item as an anchor so native navigation (middle-click, new tab) works.
|
|
2863
|
+
*/
|
|
2864
|
+
"href"?: string;
|
|
2711
2865
|
"onItemClick"?: (event: XvOverflowMenuV2ItemCustomEvent<OverflowMenuEvent>) => void;
|
|
2866
|
+
/**
|
|
2867
|
+
* Anchor target, only used together with `href`.
|
|
2868
|
+
*/
|
|
2869
|
+
"target"?: string;
|
|
2712
2870
|
"value"?: OverflowMenuEvent['value'];
|
|
2713
2871
|
/**
|
|
2714
2872
|
* @default OverflowMenuVariant.DEFAULT
|
|
@@ -2942,6 +3100,10 @@ declare namespace LocalJSX {
|
|
|
2942
3100
|
* @default ''
|
|
2943
3101
|
*/
|
|
2944
3102
|
"label"?: string;
|
|
3103
|
+
/**
|
|
3104
|
+
* @default false
|
|
3105
|
+
*/
|
|
3106
|
+
"loading"?: boolean;
|
|
2945
3107
|
/**
|
|
2946
3108
|
* @default 200
|
|
2947
3109
|
*/
|
|
@@ -3140,6 +3302,7 @@ declare namespace LocalJSX {
|
|
|
3140
3302
|
"xv-accordion-v2": XvAccordionV2;
|
|
3141
3303
|
"xv-accordion-v2-item": XvAccordionV2Item;
|
|
3142
3304
|
"xv-breadcrumbs-v2": XvBreadcrumbsV2;
|
|
3305
|
+
"xv-button-group-v2": XvButtonGroupV2;
|
|
3143
3306
|
"xv-button-v2": XvButtonV2;
|
|
3144
3307
|
"xv-card-v2": XvCardV2;
|
|
3145
3308
|
"xv-checkbox-v2": XvCheckboxV2;
|
|
@@ -3195,6 +3358,20 @@ declare module "@stencil/core" {
|
|
|
3195
3358
|
"xv-accordion-v2": LocalJSX.XvAccordionV2 & JSXBase.HTMLAttributes<HTMLXvAccordionV2Element>;
|
|
3196
3359
|
"xv-accordion-v2-item": LocalJSX.XvAccordionV2Item & JSXBase.HTMLAttributes<HTMLXvAccordionV2ItemElement>;
|
|
3197
3360
|
"xv-breadcrumbs-v2": LocalJSX.XvBreadcrumbsV2 & JSXBase.HTMLAttributes<HTMLXvBreadcrumbsV2Element>;
|
|
3361
|
+
/**
|
|
3362
|
+
* xv-button-group-v2
|
|
3363
|
+
* Groups a set of `xv-button-v2` buttons into a single horizontal or vertical
|
|
3364
|
+
* unit. Use `secondary` or `tertiary` buttons inside it.
|
|
3365
|
+
* The group owns only three things: the layout direction, the rounded corners
|
|
3366
|
+
* (applied to the outer edges of the group via each button's
|
|
3367
|
+
* `--xv-button-border-radius` variable) and the **active** selection. Everything
|
|
3368
|
+
* else — `variant`, `size`, `disabled`, icons, labels — stays on each child
|
|
3369
|
+
* `xv-button-v2`.
|
|
3370
|
+
* Selection is single by default (radio-like: re-clicking the active button is a
|
|
3371
|
+
* no-op). Set `multiple` to let each button toggle independently. The active
|
|
3372
|
+
* button shows the existing `--button-{type}-active` colour.
|
|
3373
|
+
*/
|
|
3374
|
+
"xv-button-group-v2": LocalJSX.XvButtonGroupV2 & JSXBase.HTMLAttributes<HTMLXvButtonGroupV2Element>;
|
|
3198
3375
|
"xv-button-v2": LocalJSX.XvButtonV2 & JSXBase.HTMLAttributes<HTMLXvButtonV2Element>;
|
|
3199
3376
|
"xv-card-v2": LocalJSX.XvCardV2 & JSXBase.HTMLAttributes<HTMLXvCardV2Element>;
|
|
3200
3377
|
"xv-checkbox-v2": LocalJSX.XvCheckboxV2 & JSXBase.HTMLAttributes<HTMLXvCheckboxV2Element>;
|