From cfb17a95ca5746729abd3de4d0c6f6bc1af199f0 Mon Sep 17 00:00:00 2001 From: Raphael Mattos Date: Thu, 12 Oct 2023 00:50:06 -0300 Subject: [PATCH] feat(cxl-ui): re-implement navigation bar --- .../scss/themes/vaadin-context-menu-item.scss | 43 +- .../themes/vaadin-context-menu-list-box.scss | 17 +- .../scss/themes/vaadin-menu-bar.scss | 35 ++ .../scss/themes/vaadin-overlay.scss | 25 ++ packages/cxl-lumo-styles/src/themes.js | 5 + packages/cxl-ui/package.json | 1 + packages/cxl-ui/scss/cxl-navigation.scss | 75 ++++ .../cxl-ui/src/components/cxl-navigation.js | 243 ++++++++++ packages/cxl-ui/src/index-core.js | 4 +- ...es.js => [theme=course-lesson].stories.js} | 0 .../course-card-slider.stories.js | 2 +- ...ourse-dashboard-varying-heights.stories.js | 2 +- .../course-dashboard.stories.js | 2 +- .../cxl-ui/cxl-marketing-nav.data.json | 141 +++--- .../cxl.navigation.stories.js | 70 +++ yarn.lock | 423 +++++++++--------- 16 files changed, 810 insertions(+), 278 deletions(-) create mode 100644 packages/cxl-lumo-styles/scss/themes/vaadin-menu-bar.scss create mode 100644 packages/cxl-ui/scss/cxl-navigation.scss create mode 100644 packages/cxl-ui/src/components/cxl-navigation.js rename packages/storybook/cxl-ui/cxl-course-card/{[theme=course|lesson].stories.js => [theme=course-lesson].stories.js} (100%) create mode 100644 packages/storybook/cxl-ui/cxl-marketing-nav/cxl.navigation.stories.js diff --git a/packages/cxl-lumo-styles/scss/themes/vaadin-context-menu-item.scss b/packages/cxl-lumo-styles/scss/themes/vaadin-context-menu-item.scss index 20354cf64..e3940933f 100644 --- a/packages/cxl-lumo-styles/scss/themes/vaadin-context-menu-item.scss +++ b/packages/cxl-lumo-styles/scss/themes/vaadin-context-menu-item.scss @@ -1,4 +1,6 @@ -:host([theme~="cxl-marketing-nav"].section-header) { +@use "../mq"; + +:host([theme~="cxl-navigation"].section-header) { font-weight: 600; color: var(--lumo-body-text-color); text-transform: uppercase; @@ -8,14 +10,14 @@ } } -:host([theme~="cxl-marketing-nav"].has-description) { +:host([theme~="cxl-navigation"].has-description) { [part="content"] ::slotted(.vaadin-context-menu-item--description) { font-weight: 400; } } -:host([theme~="cxl-marketing-nav"]:not(.section-header):hover), -:host([theme~="cxl-marketing-nav"]:not(.section-header)[expanded]) { +:host([theme~="cxl-navigation"]:not(.section-header):hover), +:host([theme~="cxl-navigation"]:not(.section-header)[expanded]) { color: var(--lumo-primary-color); &::after { @@ -33,12 +35,12 @@ } @media screen and (min-width: 768px) and (min-height: 768px) { - :host([theme~="cxl-marketing-nav"].vaadin-menu-item.back-button-menu-item) { + :host([theme~="cxl-navigation"].vaadin-menu-item.back-button-menu-item) { display: none; } } -:host([theme~="cxl-marketing-nav"]) [part="checkmark"][aria-hidden="true"] { +:host([theme~="cxl-maerketing-nav"]) [part="checkmark"][aria-hidden="true"] { display: none; } @@ -53,3 +55,32 @@ ::slotted(a:hover) { color: var(--lumo-primary-color) !important; /* stylelint-disable-line declaration-no-important */ } + +/* stylelint-disable-next-line selector-no-qualifying-type */ +::slotted(h5.cxl-navigation-item) { + margin-top: 0 !important; /* stylelint-disable-line declaration-no-important */ +} + +:host { + ::slotted(.vaadin-context-menu-item--description) { + margin-top: var(--lumo-space-s); + font-family: var(--lumo-font-family); + font-size: var(--lumo-font-size-s); + font-weight: 400; + color: var(--lumo-secondary-text-color); + } + + ::slotted(.vaadin-context-menu-item--label) { + margin-top: 0 !important; /* stylelint-disable-line declaration-no-important */ + } + + ::slotted(.vaadin-context-menu-item--icon) { + visibility: hidden; + } + + @media (min-width: 568px) and (min-height: 568px) { + ::slotted(.vaadin-context-menu-item--icon) { + visibility: visible; + } + } +} diff --git a/packages/cxl-lumo-styles/scss/themes/vaadin-context-menu-list-box.scss b/packages/cxl-lumo-styles/scss/themes/vaadin-context-menu-list-box.scss index 3960d98c1..4032ce515 100644 --- a/packages/cxl-lumo-styles/scss/themes/vaadin-context-menu-list-box.scss +++ b/packages/cxl-lumo-styles/scss/themes/vaadin-context-menu-list-box.scss @@ -13,31 +13,26 @@ } } -:host([theme~="cxl-marketing-nav"].vaadin-menu-list-box) { - [part="items"] ::slotted(.vaadin-menu-item) { - padding-right: var(--lumo-space-m); - padding-left: var(--lumo-space-m); - } - - [part="items"] ::slotted(.section-header.vaadin-menu-item:not(.section-header):hover:not([disabled])) { +:host([theme~="cxl-navigation"].vaadin-menu-list-box) { + [part="items"] + ::slotted(.section-header.vaadin-menu-item:not(.section-header):hover:not([disabled])) { /* revert default vaadin-context-menu-list-box hovering style, without losing other styles styles applied */ background-color: revert-layer; } - [part='items'] ::slotted(.vaadin-menu-item.section-header:hover) { + [part="items"] ::slotted(.vaadin-menu-item.section-header:hover) { background-color: unset; } - } @media screen and (min-width: 768px) and (min-height: 768px) { - :host([theme~="cxl-marketing-nav"]) { + :host([theme~="cxl-markting-nav"]) { display: block; width: var(--cxl-vaadin-context-menu-item-max-width); padding: 0 var(--lumo-space-s); } } -:host([theme~="cxl-marketing-nav"]) [part="items"] ::slotted(.vaadin-menu-item) { +:host([theme~="cxl-navigation"]) [part="items"] ::slotted(.vaadin-menu-item) { border-radius: 0; } diff --git a/packages/cxl-lumo-styles/scss/themes/vaadin-menu-bar.scss b/packages/cxl-lumo-styles/scss/themes/vaadin-menu-bar.scss new file mode 100644 index 000000000..bff466f38 --- /dev/null +++ b/packages/cxl-lumo-styles/scss/themes/vaadin-menu-bar.scss @@ -0,0 +1,35 @@ +[part="container"] { + + .menu-item-split-nav { + /* stylelint-disable-next-line declaration-no-important */ + margin-left: auto !important; + } + + [part="overflow-button"] { + ::before { + content: none; + } + + vaadin-icon { + height: var(--lumo-icon-size-s); + + svg { + fill: var(--lumo-shade); + } + + &.close-icon { + display: none; + } + } + + &[expanded] { + vaadin-icon.close-icon { + display: block; + } + + vaadin-icon.menu-icon { + display: none; + } + } + } +} diff --git a/packages/cxl-lumo-styles/scss/themes/vaadin-overlay.scss b/packages/cxl-lumo-styles/scss/themes/vaadin-overlay.scss index 7e8e8a854..5e8bf9553 100644 --- a/packages/cxl-lumo-styles/scss/themes/vaadin-overlay.scss +++ b/packages/cxl-lumo-styles/scss/themes/vaadin-overlay.scss @@ -79,3 +79,28 @@ display: none; } } + +:host([theme~="cxl-navigation"]) { + &::part(overlay), + &::part(content) { + height: calc(100vh - 40px); + max-height: calc(100vh - 40px); + } + + &::part(backdrop) { + display: none; + } + + @media (min-width: 568px) and (min-height: 568px) { + &::part(overlay), + &::part(content) { + height: initial; + max-height: initial; + } + } + + &::part(overlay) { + box-shadow: 0 0 0 1px var(--lumo-shade-5pct), 0 2px 6px -1px var(--lumo-shade-5pct), + 0 8px 24px -4px var(--lumo-shade-5pct); + } +} diff --git a/packages/cxl-lumo-styles/src/themes.js b/packages/cxl-lumo-styles/src/themes.js index 461c3fb22..bc1bb9899 100644 --- a/packages/cxl-lumo-styles/src/themes.js +++ b/packages/cxl-lumo-styles/src/themes.js @@ -1,3 +1,4 @@ +// eslint-disable-next-line import/no-extraneous-dependencies import { registerStyles } from '@vaadin/vaadin-themable-mixin/register-styles.js'; import cxlAccordionCardStyles from './styles/themes/cxl-accordion-card-css.js'; import cxlCheckoutDetailsStyles from './styles/themes/cxl-checkout-details-css.js'; @@ -6,6 +7,7 @@ import cxlVaadinAccordionStyles from './styles/themes/vaadin-accordion-css.js'; import cxlVaadinAccordionPanelStyles from './styles/themes/vaadin-accordion-panel-css.js'; import cxlVaadinContextMenuItemStyles from './styles/themes/vaadin-context-menu-item-css.js'; import cxlVaadinContextMenuListBoxStyles from './styles/themes/vaadin-context-menu-list-box-css.js'; +import cxlVaadinMenuBarStyles from './styles/themes/vaadin-menu-bar-css.js'; import cxlVaadinDetailsStyles from './styles/themes/vaadin-details-css.js'; import cxlVaadinIconStyles from './styles/themes/vaadin-icon-css.js'; import cxlVaadinHorizontalLayoutStyles from './styles/themes/vaadin-horizontal-layout-css.js'; @@ -37,6 +39,9 @@ registerStyles('vaadin-context-menu-item', cxlVaadinContextMenuItemStyles, { registerStyles('vaadin-context-menu-list-box', cxlVaadinContextMenuListBoxStyles, { moduleId: 'cxl-vaadin-context-menu-list-box-styles', }); +registerStyles('vaadin-menu-bar', cxlVaadinMenuBarStyles, { + moduleId: 'cxl-vaadin-menu-bar-styles', +}); registerStyles('vaadin-details', cxlVaadinDetailsStyles, { moduleId: 'cxl-vaadin-details-styles', }); diff --git a/packages/cxl-ui/package.json b/packages/cxl-ui/package.json index 25cd737f8..f5a255ea1 100644 --- a/packages/cxl-ui/package.json +++ b/packages/cxl-ui/package.json @@ -26,6 +26,7 @@ "@vaadin/icon": "^23.3.7", "@vaadin/notification": "^23.3.7", "@vaadin/progress-bar": "^23.3.7", + "@vaadin/menu-bar": "^23.3.7", "@vaadin/tabs": "^23.3.7", "@vaadin/text-field": "^23.3.7", "@vaadin/tooltip": "^23.3.7", diff --git a/packages/cxl-ui/scss/cxl-navigation.scss b/packages/cxl-ui/scss/cxl-navigation.scss new file mode 100644 index 000000000..3b9614835 --- /dev/null +++ b/packages/cxl-ui/scss/cxl-navigation.scss @@ -0,0 +1,75 @@ +@use "~@conversionxl/cxl-lumo-styles/scss/mq"; + +:host { + --lumo-clickable-cursor: pointer; + + ::part(menu-bar-button) { + color: var(--lumo-shade); + margin-inline: var(--lumo-space-s); + } + + ::part(overflow-button) { + margin-left: auto; + } + + nav { + box-sizing: border-box; + display: flex; + align-items: center; + justify-content: center; + width: 100%; + max-width: 100vw; + padding: 0 var(--lumo-space-m); + + &[minimal] { + vaadin-menu-bar { + max-width: 64px; + } + + .container { + justify-content: space-between; + + .search-button { + width: 140px; + color: var(--lumo-shade); + } + } + } + + .container { + display: flex; + align-items: center; + justify-content: center; + width: 100%; + max-width: var(--cxl-content-max-width-wide, none); + } + + vaadin-menu-bar { + width: 100%; + } + + ::part(menu-bar-button), + ::slotted(.menu-item), + .menu-item { + min-width: min-content; + white-space: nowrap; + } + + /* stylelint-disable-next-line selector-no-qualifying-type */ + &#menu-global-items { + background-color: var(--lumo-shade); + + /* stylelint-disable-next-line selector-no-qualifying-type */ + ::part(menu-bar-button), + ::slotted(.menu-item) { + color: var(--lumo-tint); + } + } + + /* stylelint-disable-next-line selector-no-qualifying-type */ + &#menu-primary-items { + background-color: var(--lumo-base-color); + border-bottom: 1px solid var(--lumo-shade-10pct); + } + } +} diff --git a/packages/cxl-ui/src/components/cxl-navigation.js b/packages/cxl-ui/src/components/cxl-navigation.js new file mode 100644 index 000000000..321312c4c --- /dev/null +++ b/packages/cxl-ui/src/components/cxl-navigation.js @@ -0,0 +1,243 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import { LitElement, html } from 'lit'; +import { customElement, property, state, queryAll } from 'lit/decorators.js'; +import { MediaQueryController } from '@vaadin/component-base/src/media-query-controller.js'; +import '@conversionxl/cxl-lumo-styles'; +import { registerGlobalStyles } from '@conversionxl/cxl-lumo-styles/src/utils'; +import cxlNavigationStyles from '../styles/cxl-navigation-css.js'; +import cxlMarketingNavGlobalStyles from '../styles/global/cxl-marketing-nav-css.js'; +import '@vaadin/icon'; +import '@vaadin/menu-bar'; + +@customElement('cxl-navigation') +export class CXLNavigationElement extends LitElement { + static get styles() { + return [cxlNavigationStyles]; + } + + _contextMenuItems = { global: [], primary: [] }; + + _phoneMediaQuery = '(max-width: 568px), (max-height: 568px)'; + + @queryAll('vaadin-menu-bar') + menuBars + + @state({ reflect: true, attribute: 'is-mobile' }) _isMobile = false; + + @state() + groups = []; + + @property({ type: Boolean, attribute: 'show-search' }) showSearch = false; + + @property({ type: Object }) + get contextMenuItems() { + return this._contextMenuItems; + } + + set contextMenuItems(data) { + this._contextMenuItems = { ...data }; + const parseItem = (item) => { + const newItem = { + component: this.createItem(item), + }; + if (item.children?.length) { + newItem.children = [{ component: 'back' }, ...item.children].map(parseItem); + } + return newItem; + }; + const groups = []; + Object.keys(data).forEach((group) => { + const items = data[group]; + groups.push({ + name: group, + items: [...items?.map(parseItem)], + }); + }); + this.groups = groups; + this.requestUpdate('groups'); + } + + connectedCallback() { + super.connectedCallback(); + this.addController( + new MediaQueryController(this._phoneMediaQuery, (matches) => { + this._isMobile = matches; + this.mobileGroups = [ + { name: 'primary', items: this.groups.map((group) => group.items).flat(1) }, + ]; + }) + ); + } + + // eslint-disable-next-line class-methods-use-this + firstUpdated() { + /** + * Global styles. + */ + registerGlobalStyles(cxlMarketingNavGlobalStyles, { + moduleId: 'cxl-marketing-nav-global', + }); + + this._replaceMenuIcon(); + } + + updated(changes) { + if (changes.has('groups') || changes.has('_isMobile')) { + this._updateContextMenuItems(); + } + } + + render() { + const groups = this._isMobile + ? this.mobileGroups + : this.groups; + return html` + ${groups.map((group) => { + const { name, items } = group; + return html` + + `; + })} + `; + } + + // eslint-disable-next-line class-methods-use-this + _renderSearch () { + return html` + + + Search + + + + + + ` + } + + // eslint-disable-next-line class-methods-use-this + _onBackBtnClick(e) { + e.stopImmediatePropagation(); + [...document.body.querySelectorAll('vaadin-context-menu-overlay')].at(-1).close(); + } + + createItem({ text, description, sectionheader, component, icon, href, children, depth, split }) { + const item = document.createElement('vaadin-context-menu-item'); + if (sectionheader) { + item.classList.add('section-header'); + } + + if (split) { + item.classList.add('menu-item-split-nav'); + } + + if (component === 'hr') { + return document.createElement('hr'); + } + + if (icon) { + const vaadinIcon = document.createElement('vaadin-icon'); + vaadinIcon.setAttribute('icon', `lumo:${icon}`); + item.appendChild(vaadinIcon); + } + + if (href && !children && !sectionheader) { + const link = document.createElement('a'); + link.href = href; + link.innerText = text; + item.appendChild(link); + } else if (text) { + const labelElement = sectionheader + ? document.createElement('h6') + : document.createElement('span'); + labelElement.classList.add('vaadin-context-menu-item--label'); + labelElement.appendChild(document.createTextNode(text)); + item.appendChild(labelElement); + } + + if (description) { + const descriptiondiv = document.createElement('div'); + descriptiondiv.classList.add('vaadin-context-menu-item--description'); + descriptiondiv.appendChild(document.createTextNode(description)); + item.appendChild(descriptiondiv); + } + + if (children?.length && depth === 0) { + const vaadinIcon = document.createElement('vaadin-icon'); + vaadinIcon.setAttribute('icon', 'lumo:dropdown'); + vaadinIcon.classList.add('vaadin-context-menu-item--icon'); + item.appendChild(vaadinIcon); + } + + if (component === 'back') { + const backBtn = document.createElement('vaadin-button'); + + backBtn.classList.add('context-menu-item-back-button'); + backBtn.innerHTML = ' Back'; + + item.classList.add('back-button-menu-item'); + item.appendChild(backBtn); + + item.addEventListener('click', this._onBackBtnClick.bind(this)); + } + + return item; + } + + _updateContextMenuItems () { + if (!this.menuBars) return; + + [...this.menuBars].forEach(menu => { + const splitItems = menu.shadowRoot.querySelectorAll('vaadin-context-menu-item.menu-item-split-nav'); + [...splitItems].forEach(item => { + if (!item.parentElement.classList.contains('menu-item-split-nav')) { + item.parentElement.classList.add('menu-item-split-nav'); + } + }) + }) + } + + _replaceMenuIcon () { + if (!this.menuBars) return; + + [...this.menuBars].forEach(menu => { + const overflowMenuButton = menu.shadowRoot.querySelector('vaadin-menu-bar-button[part="overflow-button"]'); + if (overflowMenuButton && !overflowMenuButton.iconFixed) { + const dots = overflowMenuButton.querySelector('.dots'); + if (dots) { + dots.remove(); + } + const menuIcon = document.createElement('vaadin-icon'); + const closeIcon = document.createElement('vaadin-icon'); + menuIcon.setAttribute('icon', 'lumo:menu'); + closeIcon.setAttribute('icon', 'lumo:cross'); + menuIcon.classList.add('menu-icon'); + closeIcon.classList.add('close-icon'); + overflowMenuButton.appendChild(closeIcon); + overflowMenuButton.appendChild(menuIcon); + overflowMenuButton.iconFixed = true; + } + }) + } +} diff --git a/packages/cxl-ui/src/index-core.js b/packages/cxl-ui/src/index-core.js index 06639c252..0e910d078 100644 --- a/packages/cxl-ui/src/index-core.js +++ b/packages/cxl-ui/src/index-core.js @@ -1,3 +1,4 @@ +/* eslint-disable import/no-extraneous-dependencies */ // Theme style modules must be imported before elements. import '@conversionxl/cxl-lumo-styles'; import 'qrcode'; @@ -16,7 +17,7 @@ import * as Headroom from 'headroom.js'; export { CXLAppLayoutElement } from './components/cxl-app-layout.js'; export { CXLBaseCardElement } from './components/cxl-base-card.js'; export { CXLCardElement } from './components/cxl-card.js'; -export { CXLCredentialElement } from './components/cxl-credential.js' +export { CXLCredentialElement } from './components/cxl-credential.js'; export { CXLCourseCardElement } from './components/cxl-course-card.js'; export { CXLCourseDialogElement } from './components/cxl-course-dialog.js'; export { CXLCheckoutDetailsElement } from './components/cxl-checkout-details.js'; @@ -30,6 +31,7 @@ export { CXLNotificationCardElement } from './components/cxl-notification-card.j export { CXLSectionElement } from './components/cxl-section.js'; export { CXLStatsElement } from './components/cxl-stats.js'; export { CXLTabsSliderElement } from './components/cxl-tabs-slider.js'; +export { CXLNavigationElement } from './components/cxl-navigation.js'; /** * Order matters. diff --git a/packages/storybook/cxl-ui/cxl-course-card/[theme=course|lesson].stories.js b/packages/storybook/cxl-ui/cxl-course-card/[theme=course-lesson].stories.js similarity index 100% rename from packages/storybook/cxl-ui/cxl-course-card/[theme=course|lesson].stories.js rename to packages/storybook/cxl-ui/cxl-course-card/[theme=course-lesson].stories.js diff --git a/packages/storybook/cxl-ui/cxl-course-card/course-card-slider.stories.js b/packages/storybook/cxl-ui/cxl-course-card/course-card-slider.stories.js index e9b22d145..c70495c4b 100644 --- a/packages/storybook/cxl-ui/cxl-course-card/course-card-slider.stories.js +++ b/packages/storybook/cxl-ui/cxl-course-card/course-card-slider.stories.js @@ -2,7 +2,7 @@ import { html } from 'lit'; import '@conversionxl/cxl-ui/src/components/cxl-light-card.js'; import '@conversionxl/cxl-ui/src/components/cxl-tabs-slider.js'; import '@conversionxl/cxl-lumo-styles'; -import { CXLCourseCard } from './[theme=course|lesson].stories.js'; +import { CXLCourseCard } from './[theme=course-lesson].stories.js'; export default { title: 'CXL UI/cxl-course-card', diff --git a/packages/storybook/cxl-ui/cxl-course-card/course-dashboard-varying-heights.stories.js b/packages/storybook/cxl-ui/cxl-course-card/course-dashboard-varying-heights.stories.js index 6e9512214..086b493e6 100644 --- a/packages/storybook/cxl-ui/cxl-course-card/course-dashboard-varying-heights.stories.js +++ b/packages/storybook/cxl-ui/cxl-course-card/course-dashboard-varying-heights.stories.js @@ -1,7 +1,7 @@ import { html } from 'lit'; import '@conversionxl/cxl-ui/src/components/cxl-course-card.js'; import '@conversionxl/cxl-lumo-styles'; -import { CXLCourseCard } from './[theme=course|lesson].stories.js'; +import { CXLCourseCard } from './[theme=course-lesson].stories.js'; import { CXLCourseCardVideo } from './[theme=video].stories.js'; import { CXLCourseCardPlaybook } from './[theme=playbook].stories.js'; import { CXLCourseCardTraining } from './[theme=training].stories.js'; diff --git a/packages/storybook/cxl-ui/cxl-course-card/course-dashboard.stories.js b/packages/storybook/cxl-ui/cxl-course-card/course-dashboard.stories.js index 34d5c0927..eaf3024c4 100644 --- a/packages/storybook/cxl-ui/cxl-course-card/course-dashboard.stories.js +++ b/packages/storybook/cxl-ui/cxl-course-card/course-dashboard.stories.js @@ -1,7 +1,7 @@ import { html } from 'lit'; import '@conversionxl/cxl-ui/src/components/cxl-course-card.js'; import '@conversionxl/cxl-lumo-styles'; -import { CXLCourseCard } from './[theme=course|lesson].stories.js'; +import { CXLCourseCard } from './[theme=course-lesson].stories.js'; import { CXLCourseCardVideo } from './[theme=video].stories.js'; import { CXLCourseCardPlaybook } from './[theme=playbook].stories.js'; import { CXLCourseCardTraining } from './[theme=training].stories.js'; diff --git a/packages/storybook/cxl-ui/cxl-marketing-nav.data.json b/packages/storybook/cxl-ui/cxl-marketing-nav.data.json index b7258aeb7..f130dee53 100644 --- a/packages/storybook/cxl-ui/cxl-marketing-nav.data.json +++ b/packages/storybook/cxl-ui/cxl-marketing-nav.data.json @@ -4,7 +4,7 @@ "depth": 0, "text": "Conversion optimization services", "component": "a", - "href": "https:\/\/conversionxl.com\/agency\/", + "href": "https://conversionxl.com/agency/", "id": 95, "parent": 0, "children": [ @@ -12,7 +12,7 @@ "depth": 1, "text": "See Agency services", "component": "a", - "href": "https:\/\/conversionxl.com\/agency\/", + "href": "https://conversionxl.com/agency/", "id": 101, "parent": 95 }, @@ -25,28 +25,52 @@ "parent": 95 } ] + }, + { + "depth": 0, + "text": "Experimentation Agency", + "component": "a", + "href": "https://speero.com", + "id": 96, + "parent": 0 + }, + { + "depth": 0, + "text": "Message Testing", + "component": "a", + "href": "https://wynter.com/", + "id": 96, + "parent": 0 + }, + { + "depth": 0, + "text": "CXL Live 2023", + "component": "a", + "href": "https://cxl.com/live", + "id": 96, + "parent": 0 } ], "primary": [ { "depth": 0, - "text": "My dashboard <\/vaadin-icon>", + "text": "My dashboard ", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/dashboard\/", + "href": "https://conversionxl.com/institute/dashboard/", "id": 35, "children": [ { "depth": 1, "text": "See my roadmap", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/dashboard\/roadmap\/", + "href": "https://conversionxl.com/institute/dashboard/roadmap/", "id": 351 }, { "depth": 1, "text": "Edit my roadmap", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/roadmap\/individual\/", + "href": "https://conversionxl.com/institute/roadmap/individual/", "id": 352, "parent": 35 }, @@ -54,7 +78,7 @@ "depth": 1, "text": "Edit team roadmap", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/roadmap\/team\/", + "href": "https://conversionxl.com/institute/roadmap/team/", "id": 353, "parent": 35 }, @@ -62,7 +86,7 @@ "depth": 1, "text": "See team progress", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/dashboard\/team\/", + "href": "https://conversionxl.com/institute/dashboard/team/", "id": 354, "parent": 35 } @@ -70,7 +94,7 @@ }, { "depth": 0, - "text": "Training <\/vaadin-icon>", + "text": "Training ", "component": "a", "href": "#", "id": 36, @@ -239,9 +263,9 @@ }, { "depth": 0, - "text": "Online courses <\/vaadin-icon>", + "text": "Online courses", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/online-courses\/", + "href": "https://conversionxl.com/institute/online-courses/", "id": 37, "parent": 0, "children": [ @@ -254,9 +278,9 @@ { "description": "This is a sample description", "depth": 2, - "text": "A\/B testing", + "text": "A/B testing", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/ab-testing-mastery\/", + "href": "https://conversionxl.com/institute/certificate/ab-testing-mastery/", "id": 54, "parent": 51 }, @@ -264,7 +288,7 @@ "depth": 2, "text": "Conversion optimization audits", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/conversion-optimization-audits\/", + "href": "https://conversionxl.com/institute/certificate/conversion-optimization-audits/", "id": 55, "parent": 51 }, @@ -272,7 +296,7 @@ "depth": 2, "text": "CRO agency masterclass", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/cro-agency\/", + "href": "https://conversionxl.com/institute/certificate/cro-agency/", "id": 56, "parent": 51 }, @@ -280,7 +304,7 @@ "depth": 2, "text": "Experimentation analysis", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/advanced-experimentation-analysis\/", + "href": "https://conversionxl.com/institute/certificate/advanced-experimentation-analysis/", "id": 57, "parent": 51 }, @@ -288,7 +312,7 @@ "depth": 2, "text": "Landing page optimization", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/landing-page-optimization\/", + "href": "https://conversionxl.com/institute/certificate/landing-page-optimization/", "id": 58, "parent": 51 }, @@ -296,7 +320,7 @@ "depth": 2, "text": "Neuromarketing", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/applied-neuromarketing\/", + "href": "https://conversionxl.com/institute/certificate/applied-neuromarketing/", "id": 59, "parent": 51 }, @@ -304,15 +328,15 @@ "depth": 2, "text": "Sales copywriting & product messaging", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/product-messaging\/", + "href": "https://conversionxl.com/institute/certificate/product-messaging/", "id": 60, "parent": 51 }, { "depth": 2, - "text": "Statistics for A\/B testing", + "text": "Statistics for A/B testing", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/statistics-for-ab-testing\/", + "href": "https://conversionxl.com/institute/certificate/statistics-for-ab-testing/", "id": 61, "parent": 51 } @@ -328,7 +352,7 @@ "depth": 2, "text": "Adobe Analytics \u2013 beginner", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/adobe-analytics\/", + "href": "https://conversionxl.com/institute/certificate/adobe-analytics/", "id": 62, "parent": 52 }, @@ -336,7 +360,7 @@ "depth": 2, "text": "Google Analytics \u2013 beginner", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/google-analytics-beginners\/", + "href": "https://conversionxl.com/institute/certificate/google-analytics-beginners/", "id": 63, "parent": 52 }, @@ -344,7 +368,7 @@ "depth": 2, "text": "Google Analytics \u2013 intermediate", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/intermediate-google-analytics\/", + "href": "https://conversionxl.com/institute/certificate/intermediate-google-analytics/", "id": 64, "parent": 52 }, @@ -352,7 +376,7 @@ "depth": 2, "text": "Google Tag Manager \u2013 beginner", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/fundamentals-of-google-tag-manager\/", + "href": "https://conversionxl.com/institute/certificate/fundamentals-of-google-tag-manager/", "id": 65, "parent": 52 }, @@ -360,7 +384,7 @@ "depth": 2, "text": "Google Tag Manager \u2013 intermediate", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/intermediate-google-tag-manager\/", + "href": "https://conversionxl.com/institute/certificate/intermediate-google-tag-manager/", "id": 66, "parent": 52 }, @@ -368,7 +392,7 @@ "depth": 2, "text": "Google Tag Manager \u2013 advanced", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/advanced-google-tag-manager\/", + "href": "https://conversionxl.com/institute/certificate/advanced-google-tag-manager/", "id": 67, "parent": 52 }, @@ -376,7 +400,7 @@ "depth": 2, "text": "Product analytics", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/product-analytics\/", + "href": "https://conversionxl.com/institute/certificate/product-analytics/", "id": 68, "parent": 52 } @@ -392,7 +416,7 @@ "depth": 2, "text": "Account based marketing", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/account-based-marketing\/", + "href": "https://conversionxl.com/institute/certificate/account-based-marketing/", "id": 69, "parent": 53 }, @@ -400,7 +424,7 @@ "depth": 2, "text": "Advanced AI for marketers", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/advanced-ai-marketing\/", + "href": "https://conversionxl.com/institute/certificate/advanced-ai-marketing/", "id": 70, "parent": 53 }, @@ -408,7 +432,7 @@ "depth": 2, "text": "Content strategy \u2013 B2B", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/content-strategy-seo-lead-generation\/", + "href": "https://conversionxl.com/institute/certificate/content-strategy-seo-lead-generation/", "id": 71, "parent": 53 }, @@ -416,7 +440,7 @@ "depth": 2, "text": "Data-driven influencer marketing", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/influencer-marketing\/", + "href": "https://conversionxl.com/institute/certificate/influencer-marketing/", "id": 72, "parent": 53 }, @@ -424,7 +448,7 @@ "depth": 2, "text": "Facebook ads", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/facebook-ads\/", + "href": "https://conversionxl.com/institute/certificate/facebook-ads/", "id": 73, "parent": 53 }, @@ -432,7 +456,7 @@ "depth": 2, "text": "Google Ads \u2013 intermediate", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/google-ads\/", + "href": "https://conversionxl.com/institute/certificate/google-ads/", "id": 74, "parent": 53 }, @@ -440,7 +464,7 @@ "depth": 2, "text": "Google Ads \u2013 maximizing audiences", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/maximizing-audiences-ppc\/", + "href": "https://conversionxl.com/institute/certificate/maximizing-audiences-ppc/", "id": 75, "parent": 53 }, @@ -448,7 +472,7 @@ "depth": 2, "text": "LinkedIn advertising", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/linkedin-advertising\/", + "href": "https://conversionxl.com/institute/certificate/linkedin-advertising/", "id": 76, "parent": 53 }, @@ -456,7 +480,7 @@ "depth": 2, "text": "Marketing management", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/marketing-management\/", + "href": "https://conversionxl.com/institute/certificate/marketing-management/", "id": 77, "parent": 53 }, @@ -464,7 +488,7 @@ "depth": 2, "text": "Marketing tech stack", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/optimizing-your-marketing-tech-stack\/", + "href": "https://conversionxl.com/institute/certificate/optimizing-your-marketing-tech-stack/", "id": 78, "parent": 53 }, @@ -472,7 +496,7 @@ "depth": 2, "text": "Product marketing", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/product-marketing-for-technology-companies\/", + "href": "https://conversionxl.com/institute/certificate/product-marketing-for-technology-companies/", "id": 79, "parent": 53 }, @@ -480,7 +504,7 @@ "depth": 2, "text": "Project management for marketers", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/project-management-for-marketers\/", + "href": "https://conversionxl.com/institute/certificate/project-management-for-marketers/", "id": 80, "parent": 53 }, @@ -488,7 +512,7 @@ "depth": 2, "text": "Retention for subscription products", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/retention\/", + "href": "https://conversionxl.com/institute/certificate/retention/", "id": 81, "parent": 53 }, @@ -496,7 +520,7 @@ "depth": 2, "text": "SEO \u2013 editorial calendar", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/editorial-calendar\/", + "href": "https://conversionxl.com/institute/certificate/editorial-calendar/", "id": 82, "parent": 53 }, @@ -504,7 +528,7 @@ "depth": 2, "text": "Technical SEO", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/technical-seo\/", + "href": "https://conversionxl.com/institute/certificate/technical-seo/", "id": 83, "parent": 53 }, @@ -512,7 +536,7 @@ "depth": 2, "text": "User-centric marketing", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/user-centric-marketing\/", + "href": "https://conversionxl.com/institute/certificate/user-centric-marketing/", "id": 84, "parent": 53 }, @@ -520,7 +544,7 @@ "depth": 2, "text": "YouTube ads", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/certificate\/youtube-ads\/", + "href": "https://conversionxl.com/institute/certificate/youtube-ads/", "id": 85, "parent": 53 } @@ -655,7 +679,7 @@ "depth": 0, "text": "Upcoming courses", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/upcoming-courses\/", + "href": "https://conversionxl.com/institute/upcoming-courses/", "id": 38, "parent": 0 }, @@ -663,23 +687,26 @@ "depth": 0, "text": "Event videos", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/media\/", + "href": "https://conversionxl.com/institute/media/", "id": 39, "parent": 0 }, { "depth": 0, - "text": "<\/vaadin-icon> Invite team", + "text": "Invite team", + "icon": "plus", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/my-account\/teams\/", + "split": true, + "href": "https://conversionxl.com/institute/my-account/teams/", "id": 40, "parent": 0 }, { "depth": 0, - "text": "<\/vaadin-icon> My account <\/vaadin-icon>", + "text": "My account ", + "icon": "user", "component": "a", - "href": "https:\/\/conversionxl.com\/institute\/my-account\/", + "href": "https://conversionxl.com/institute/my-account/", "id": 41, "parent": 0, "children": [ @@ -687,7 +714,7 @@ "depth": 1, "text": "Go to My Account", "component": "a", - "href": "http:\/\/localhost:8080\/my-account\/", + "href": "http://localhost:8080/my-account/", "id": 87, "parent": 41 }, @@ -698,7 +725,7 @@ "depth": 1, "text": "Subscriptions", "component": "a", - "href": "http:\/\/localhost:8080\/my-account\/subscriptions\/", + "href": "http://localhost:8080/my-account/subscriptions/", "id": 88, "parent": 41 }, @@ -706,7 +733,7 @@ "depth": 1, "text": "Orders", "component": "a", - "href": "http:\/\/localhost:8080\/my-account\/orders\/", + "href": "http://localhost:8080/my-account/orders/", "id": 89, "parent": 41 }, @@ -714,7 +741,7 @@ "depth": 1, "text": "Account details", "component": "a", - "href": "http:\/\/localhost:8080\/my-account\/edit-account\/", + "href": "http://localhost:8080/my-account/edit-account/", "id": 90, "parent": 41 }, @@ -726,7 +753,7 @@ "text": "Skip Trial Period", "description": "Gain unlimited instant access to all CXL features.", "component": "a", - "href": "http:\/\/localhost:8080\/my-account\/skip-trial-period\/", + "href": "http://localhost:8080/my-account/skip-trial-period/", "id": 90, "parent": 41 }, @@ -737,7 +764,7 @@ "depth": 1, "text": "Logout", "component": "a", - "href": "http:\/\/localhost:8080\/my-account\/logout\/", + "href": "http://localhost:8080/my-account/logout/", "id": 91, "parent": 41 } diff --git a/packages/storybook/cxl-ui/cxl-marketing-nav/cxl.navigation.stories.js b/packages/storybook/cxl-ui/cxl-marketing-nav/cxl.navigation.stories.js new file mode 100644 index 000000000..f40cf196a --- /dev/null +++ b/packages/storybook/cxl-ui/cxl-marketing-nav/cxl.navigation.stories.js @@ -0,0 +1,70 @@ +import { useEffect } from '@storybook/client-api'; +import { html } from 'lit'; +import '@conversionxl/cxl-ui/src/components/cxl-navigation.js'; +import contextMenuItems from '../cxl-marketing-nav.data.json'; + +export default { + title: 'CXL UI/cxl-marketing-nav', +}; + +export const CXLNavigation = (args) => { + useEffect(() => { + const htmlEl = document.querySelector('html'); + if (args?.loggedIn) { + htmlEl.classList.add('loggedIn'); + } else { + htmlEl.classList.remove('loggedIn'); + } + }, [args?.loggedIn]); + + return html` + + + + +
+ wp-admin bar: test nav menu placement +
+ ` +} + +CXLNavigation.args = { + loggedIn: true +} diff --git a/yarn.lock b/yarn.lock index c93f37fe1..e60dae09f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2365,20 +2365,13 @@ resolved "https://registry.yarnpkg.com/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz#64df34e2f12e68e78ac57e571d25ec07fa460ca9" integrity sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ== -"@lit/reactive-element@^1.1.0": +"@lit/reactive-element@^1.1.0", "@lit/reactive-element@^1.3.0", "@lit/reactive-element@^1.6.0": version "1.6.3" resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.6.3.tgz#25b4eece2592132845d303e091bad9b04cdcfe03" integrity sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ== dependencies: "@lit-labs/ssr-dom-shim" "^1.0.0" -"@lit/reactive-element@^1.3.0", "@lit/reactive-element@^1.6.0": - version "1.6.2" - resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.6.2.tgz#c256690f82f2d7d0ffb0b1cdf68dcb1ec86cea28" - integrity sha512-rDfl+QnCYjuIGf5xI2sVJWdYIi56CTCwWa+nidKYX6oIuBYwUbT/vX4qbUDlHiZKJ/3FRNQ/tWJui44p6/stSA== - dependencies: - "@lit-labs/ssr-dom-shim" "^1.0.0" - "@mdx-js/mdx@^1.6.22": version "1.6.22" resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-1.6.22.tgz#8a723157bf90e78f17dc0f27995398e6c731f1ba" @@ -3977,9 +3970,9 @@ integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== "@types/trusted-types@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.3.tgz#a136f83b0758698df454e328759dbd3d44555311" - integrity sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g== + version "2.0.4" + resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.4.tgz#2b38784cd16957d3782e8e2b31c03bc1d13b4d65" + integrity sha512-IDaobHimLQhjwsQ/NMwRVfa/yL7L/wriQPMhw1ZJall0KX6E1oxk29XMDeilW5qTIg5aoiqf5Udy8U/51aNoQQ== "@types/uglify-js@*": version "3.17.1" @@ -4044,45 +4037,45 @@ "@types/yargs-parser" "*" "@vaadin/accordion@^23.3.7": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/accordion/-/accordion-23.3.18.tgz#0de003d9def0ef0fd87f6c59700a5f3cf8de2d49" - integrity sha512-u74sg3D/Cc2ofIJn3nATtIDLk7V/EHE4fM0Wwg+CWrkNr5p3sxedNprxCqeuagiK2OTzmUEPbMZx5ysdUtfhiQ== + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/accordion/-/accordion-23.3.25.tgz#d9325b49552a469e483081f6950fad1f30983889" + integrity sha512-o43PFcWb5vSS6sFwl6rQZ5vpDa41A8eZVg6VTT67yHwUwC6p5dMQiaeWCZilY669FlZ72iwLAtnfHuEZzs6dXA== dependencies: "@polymer/polymer" "^3.0.0" - "@vaadin/component-base" "~23.3.18" - "@vaadin/details" "~23.3.18" - "@vaadin/vaadin-lumo-styles" "~23.3.18" - "@vaadin/vaadin-material-styles" "~23.3.18" - "@vaadin/vaadin-themable-mixin" "~23.3.18" + "@vaadin/component-base" "~23.3.25" + "@vaadin/details" "~23.3.25" + "@vaadin/vaadin-lumo-styles" "~23.3.25" + "@vaadin/vaadin-material-styles" "~23.3.25" + "@vaadin/vaadin-themable-mixin" "~23.3.25" -"@vaadin/button@^23.3.7": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/button/-/button-23.3.18.tgz#78d019b32ef5729abe5b8126d155be87c0b71038" - integrity sha512-HLOxKXhHu9rIhNkUhsNLMpQsn4XqP/RHYrLKKC4nLe4D5n0kKh/dK6xpJK8DoJHSvVhOhodOJ/U6D+Lrf33sKQ== +"@vaadin/button@^23.3.7", "@vaadin/button@~23.3.7": + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/button/-/button-23.3.25.tgz#6822ddb2ccb57629b21812c15d11a0bbf85792f2" + integrity sha512-9DyAwuaaa2Rnp91DkMIcBV/IqC/TQvk3kRU3Ec4swvDFYQDi71l2Q6JOkPZ/Ofj86tfpEDonLM6luzpisOfQ9A== dependencies: "@open-wc/dedupe-mixin" "^1.3.0" "@polymer/polymer" "^3.0.0" - "@vaadin/component-base" "~23.3.18" - "@vaadin/vaadin-lumo-styles" "~23.3.18" - "@vaadin/vaadin-material-styles" "~23.3.18" - "@vaadin/vaadin-themable-mixin" "~23.3.18" + "@vaadin/component-base" "~23.3.25" + "@vaadin/vaadin-lumo-styles" "~23.3.25" + "@vaadin/vaadin-material-styles" "~23.3.25" + "@vaadin/vaadin-themable-mixin" "~23.3.25" "@vaadin/checkbox@^23.3.7": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/checkbox/-/checkbox-23.3.18.tgz#167c072b6f1fd9a33c3b754404110ff76c45a8a6" - integrity sha512-ilfH7DuoZYYiS1erCiQlryg+0xVaZOhS1eYI4NOeropHG68xEzKfCOjin6OVuZ1wFzS+IZW7sqY2l3FalMYHOA== + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/checkbox/-/checkbox-23.3.25.tgz#77032b0a3895825767330fca2a8aacac28641ae3" + integrity sha512-qXtyfNV2o7sMGuLLNFju8DAn7SfR5GzwaC5dqoq+fFBd1Qo2vnFgMiqR3Nl1yb7Elx0nOMS6PvKkPGZhd4fKSg== dependencies: "@polymer/polymer" "^3.0.0" - "@vaadin/component-base" "~23.3.18" - "@vaadin/field-base" "~23.3.18" - "@vaadin/vaadin-lumo-styles" "~23.3.18" - "@vaadin/vaadin-material-styles" "~23.3.18" - "@vaadin/vaadin-themable-mixin" "~23.3.18" + "@vaadin/component-base" "~23.3.25" + "@vaadin/field-base" "~23.3.25" + "@vaadin/vaadin-lumo-styles" "~23.3.25" + "@vaadin/vaadin-material-styles" "~23.3.25" + "@vaadin/vaadin-themable-mixin" "~23.3.25" -"@vaadin/component-base@^23.3.7", "@vaadin/component-base@~23.3.18": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/component-base/-/component-base-23.3.18.tgz#4925ccbdc5673c3baa0d51216cbb620693ccca0d" - integrity sha512-/i5v4Gs1DhBeAQCjin2pvv88JU0KyqqYOhDLPu4KKvzO/JH2qgcQNAifkBz56Y8ks/0Dr1a/gKR8eZQVVtxdBQ== +"@vaadin/component-base@^23.3.7", "@vaadin/component-base@~23.3.25", "@vaadin/component-base@~23.3.7": + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/component-base/-/component-base-23.3.25.tgz#4aa842df0943a288d8c0c6748b8619caea15dcd6" + integrity sha512-7AbZkZvyl2ZQlG/Tgl5Dc0DV6d0w83ghQ5kG2KzcspOIqlYNlqfVf0lTD3NTgEpkkiz5bVF8YdUWRsZpESORGA== dependencies: "@open-wc/dedupe-mixin" "^1.3.0" "@polymer/polymer" "^3.0.0" @@ -4090,244 +4083,258 @@ "@vaadin/vaadin-usage-statistics" "^2.1.0" lit "^2.0.0" -"@vaadin/context-menu@^23.3.7": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/context-menu/-/context-menu-23.3.18.tgz#013ad8d2fbf39827d7da7b1acee8905b024c891e" - integrity sha512-40EIXLQoli9ueS6BmPedEKkwb/5xY3GyyS2nNz2wsl/1AFTK4HbprY+HvTzqRJ0Dc92I86qayE1+g0GKa1COIQ== +"@vaadin/context-menu@^23.3.7", "@vaadin/context-menu@~23.3.7": + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/context-menu/-/context-menu-23.3.25.tgz#e8ce098c8d78e3b2a000cea342f6bafb2d7168c8" + integrity sha512-zHAKvbChax1LTanPBwO2rEf/gE5LqYh28UZk69Kj6NHGfuWeQR1lY+gEDxV+WoIEFzrYJLVswakxPUxok8CPlw== dependencies: "@open-wc/dedupe-mixin" "^1.3.0" "@polymer/polymer" "^3.0.0" - "@vaadin/component-base" "~23.3.18" - "@vaadin/item" "~23.3.18" - "@vaadin/list-box" "~23.3.18" - "@vaadin/lit-renderer" "~23.3.18" - "@vaadin/overlay" "~23.3.18" - "@vaadin/vaadin-lumo-styles" "~23.3.18" - "@vaadin/vaadin-material-styles" "~23.3.18" - "@vaadin/vaadin-themable-mixin" "~23.3.18" - -"@vaadin/details@^23.3.7", "@vaadin/details@~23.3.18": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/details/-/details-23.3.18.tgz#51e679a528c8a295b61b794bfe402d25005cb85b" - integrity sha512-+MVD1kmNv2iW06kSYv4jEf9a/kaXGAWUjsDtpC7VfTFNlLr6j03E5SfQzujFihb2/dDr0fWqttLKuweQisANnQ== + "@vaadin/component-base" "~23.3.25" + "@vaadin/item" "~23.3.25" + "@vaadin/list-box" "~23.3.25" + "@vaadin/lit-renderer" "~23.3.25" + "@vaadin/overlay" "~23.3.25" + "@vaadin/vaadin-lumo-styles" "~23.3.25" + "@vaadin/vaadin-material-styles" "~23.3.25" + "@vaadin/vaadin-themable-mixin" "~23.3.25" + +"@vaadin/details@^23.3.7", "@vaadin/details@~23.3.25": + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/details/-/details-23.3.25.tgz#b4730ce68c65dbf87e2128ba761f92adce662728" + integrity sha512-NgaICBJlaj6wJVe+jUgJkYH9S+acO8D1YjjlI/CadAuRkS/+Uxmj4CsEpbwLsVFB990TOP5HmxUdKMY0+8Z4Zg== dependencies: "@polymer/polymer" "^3.0.0" - "@vaadin/component-base" "~23.3.18" - "@vaadin/field-base" "~23.3.18" - "@vaadin/vaadin-lumo-styles" "~23.3.18" - "@vaadin/vaadin-material-styles" "~23.3.18" - "@vaadin/vaadin-themable-mixin" "~23.3.18" + "@vaadin/component-base" "~23.3.25" + "@vaadin/field-base" "~23.3.25" + "@vaadin/vaadin-lumo-styles" "~23.3.25" + "@vaadin/vaadin-material-styles" "~23.3.25" + "@vaadin/vaadin-themable-mixin" "~23.3.25" "@vaadin/dialog@^23.3.7": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/dialog/-/dialog-23.3.18.tgz#e65a5be52ac34adae5004515802988a838868dd9" - integrity sha512-1wNvCoHc2lD9nl4kIdP5yrE1qpeMRng3+7DRHT+zdbfsfvnhbRqQShV0+8NS85T2VEZGViVncKsSovabGUmW2g== + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/dialog/-/dialog-23.3.25.tgz#c05d451463b6c7a78f1290ce2cec03fb7d260507" + integrity sha512-xypkGOOUrcE+5ErCTmITNgkSiDDNiwfJoN7xr8oy5FelcHgZ4ff7rXJpKYKTf7BEo18r3i2eU3Uc3ImwEgFWFg== dependencies: "@open-wc/dedupe-mixin" "^1.3.0" "@polymer/polymer" "^3.0.0" - "@vaadin/component-base" "~23.3.18" - "@vaadin/lit-renderer" "~23.3.18" - "@vaadin/overlay" "~23.3.18" - "@vaadin/vaadin-lumo-styles" "~23.3.18" - "@vaadin/vaadin-material-styles" "~23.3.18" - "@vaadin/vaadin-themable-mixin" "~23.3.18" - -"@vaadin/field-base@~23.3.18": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/field-base/-/field-base-23.3.18.tgz#111dbcd56ae0220db7df2a95e098cd6cbab9ef69" - integrity sha512-DKwOv/zVuN3j4Zdk2LREDoMQaBOxAz234g0F6oodvwySW9ItaLRjS3adHNh+5p+2hXKRMiCx56KMML0iK9/NBg== + "@vaadin/component-base" "~23.3.25" + "@vaadin/lit-renderer" "~23.3.25" + "@vaadin/overlay" "~23.3.25" + "@vaadin/vaadin-lumo-styles" "~23.3.25" + "@vaadin/vaadin-material-styles" "~23.3.25" + "@vaadin/vaadin-themable-mixin" "~23.3.25" + +"@vaadin/field-base@~23.3.25": + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/field-base/-/field-base-23.3.25.tgz#85c1a4ed4fbb0f10c5332b6d81e7033d1ce3a28b" + integrity sha512-CP8Xbdb4SgKRV/mBgZyPb0d8d9q51XFHXq8jqdtH24bfdFxRjtsvAZjQwt51D4AmgSNwwSPhnf0lbV7Gj86B9A== dependencies: "@open-wc/dedupe-mixin" "^1.3.0" "@polymer/polymer" "^3.0.0" - "@vaadin/component-base" "~23.3.18" + "@vaadin/component-base" "~23.3.25" lit "^2.0.0" "@vaadin/horizontal-layout@^23.3.7": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/horizontal-layout/-/horizontal-layout-23.3.18.tgz#58ff108c5b536f7dc909dc8856420ae595fd95ce" - integrity sha512-U7InMhjZZuiFXOa3AmmVd3iutMPhKP9dGKr+Bzz6tyW84H1jGIl0ivH6IiAV5s6llg16/4TlReckHr4Phqr4dg== + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/horizontal-layout/-/horizontal-layout-23.3.25.tgz#d717ad50170a7d403cb05c2d51d997b840ebbf75" + integrity sha512-4VAaDlMOxBWj/iIvOpvQV2w0EG0KSxmjcBO/jOhotwGa0LACIpkZNlR7rc861SWx7XYr7vz57hFshRQuEIZ03A== dependencies: "@polymer/polymer" "^3.0.0" - "@vaadin/component-base" "~23.3.18" - "@vaadin/vaadin-lumo-styles" "~23.3.18" - "@vaadin/vaadin-material-styles" "~23.3.18" - "@vaadin/vaadin-themable-mixin" "~23.3.18" + "@vaadin/component-base" "~23.3.25" + "@vaadin/vaadin-lumo-styles" "~23.3.25" + "@vaadin/vaadin-material-styles" "~23.3.25" + "@vaadin/vaadin-themable-mixin" "~23.3.25" -"@vaadin/icon@^23.3.7", "@vaadin/icon@~23.3.18": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/icon/-/icon-23.3.18.tgz#e44509c827e112b6b7d3aef000191e72938701c8" - integrity sha512-J1qadzTA+hpUkFrOI2ktGXpG/aVPXM3VwAfluTOYH/V9x8qrop6ETwUpkRhRPMl9896rng+148gvRAzUVvF5JA== +"@vaadin/icon@^23.3.7", "@vaadin/icon@~23.3.25": + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/icon/-/icon-23.3.25.tgz#3996d1f6d286ac85582fad690382b32ea4754482" + integrity sha512-XMTyaUXLSvETaDV5cj77g2h9iCOZb/2oo8lwKIvrvt1T2xWa/hLx0dL9CC+IU1GhsJ5SwI91X20B5egSvSi3gQ== dependencies: "@polymer/polymer" "^3.0.0" - "@vaadin/component-base" "~23.3.18" - "@vaadin/vaadin-lumo-styles" "~23.3.18" - "@vaadin/vaadin-themable-mixin" "~23.3.18" + "@vaadin/component-base" "~23.3.25" + "@vaadin/vaadin-lumo-styles" "~23.3.25" + "@vaadin/vaadin-themable-mixin" "~23.3.25" lit "^2.0.0" -"@vaadin/input-container@~23.3.18": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/input-container/-/input-container-23.3.18.tgz#ec78887508b0becb6f3e43b385ab83baac2c66c2" - integrity sha512-brpI3oq8bvbCfAKdPnhrCPt7LMWYbP7rx7zNT9Lyga1LLG+NdNC5WufzxmAAUc7Y6vrzxNWET+RDPrZadfdooA== +"@vaadin/input-container@~23.3.25": + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/input-container/-/input-container-23.3.25.tgz#58e491bc79ee9baf54ffed34a1f8d26217e8e773" + integrity sha512-OaSgFB523UvMcm0Jys1yGf2zr2KiKox7TOGefwMnF2jd4v0g87BsslaIAgNFlEO8tOQhzNuE9ZDvZJIBq7LpDw== dependencies: "@polymer/polymer" "^3.0.0" - "@vaadin/component-base" "~23.3.18" - "@vaadin/vaadin-lumo-styles" "~23.3.18" - "@vaadin/vaadin-material-styles" "~23.3.18" - "@vaadin/vaadin-themable-mixin" "~23.3.18" + "@vaadin/component-base" "~23.3.25" + "@vaadin/vaadin-lumo-styles" "~23.3.25" + "@vaadin/vaadin-material-styles" "~23.3.25" + "@vaadin/vaadin-themable-mixin" "~23.3.25" -"@vaadin/item@~23.3.18": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/item/-/item-23.3.18.tgz#a3caf61d2e9575b984d9f98af5d4a41c8fecc504" - integrity sha512-8Kt/lHuSUxLD0VkGJ2341Gi7cO9I5s90crCAp+jXzH4P53wV8yaGERWm2BLVgAkt5WjBExJh2tcrr4GjEvKDZw== +"@vaadin/item@~23.3.25": + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/item/-/item-23.3.25.tgz#4ae81dbbce5d873d70ccd40fa82c0ae72fdb41c8" + integrity sha512-c1TkuMeLJo9x/j+JF1xR4jDaUED48zatWcl7TboFx+pAo/2lmbjk4haKK3eIsRfGW4ozDd4sotvzCAMlLH0amw== dependencies: "@open-wc/dedupe-mixin" "^1.3.0" "@polymer/polymer" "^3.0.0" - "@vaadin/component-base" "~23.3.18" - "@vaadin/vaadin-lumo-styles" "~23.3.18" - "@vaadin/vaadin-material-styles" "~23.3.18" - "@vaadin/vaadin-themable-mixin" "~23.3.18" + "@vaadin/component-base" "~23.3.25" + "@vaadin/vaadin-lumo-styles" "~23.3.25" + "@vaadin/vaadin-material-styles" "~23.3.25" + "@vaadin/vaadin-themable-mixin" "~23.3.25" -"@vaadin/list-box@~23.3.18": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/list-box/-/list-box-23.3.18.tgz#c1f2426d93294035009f2387c58968965d49b812" - integrity sha512-JjNuyNESZzplUFTmZHeX/MeLgtmKn4Zr93sZtQRr1YpRSBzRGahSDgX0CSQedN/0FU4hK+JDt9vdlwp1NU+LUg== +"@vaadin/list-box@~23.3.25": + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/list-box/-/list-box-23.3.25.tgz#e634e7b45f15c729da0a7dc4dc213af18050f7b6" + integrity sha512-7lXiKG/pjVZIItAJtPLAtmDs5KICjxFiuCnp70t2+o+O7nOObwXfhPKOYfvVg0kZitml1K0DdT/GtHiUK2jMdg== dependencies: "@polymer/polymer" "^3.0.0" - "@vaadin/component-base" "~23.3.18" - "@vaadin/item" "~23.3.18" - "@vaadin/vaadin-list-mixin" "~23.3.18" - "@vaadin/vaadin-lumo-styles" "~23.3.18" - "@vaadin/vaadin-material-styles" "~23.3.18" - "@vaadin/vaadin-themable-mixin" "~23.3.18" - -"@vaadin/lit-renderer@~23.3.18": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/lit-renderer/-/lit-renderer-23.3.18.tgz#54de470766a84c266988790ff99cced147f2e83f" - integrity sha512-DsU0H7dp746TJ1lwjfZfXWtvOIQKuuwjJfGZ+ZMyvGQA4BEhCZ4NgWLNHBkbO2p9gvbB46sO5cf1uuwA+mIIsQ== + "@vaadin/component-base" "~23.3.25" + "@vaadin/item" "~23.3.25" + "@vaadin/vaadin-list-mixin" "~23.3.25" + "@vaadin/vaadin-lumo-styles" "~23.3.25" + "@vaadin/vaadin-material-styles" "~23.3.25" + "@vaadin/vaadin-themable-mixin" "~23.3.25" + +"@vaadin/lit-renderer@~23.3.25": + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/lit-renderer/-/lit-renderer-23.3.25.tgz#340ddc7df09f19253ec776f3d1be70540c9db9bc" + integrity sha512-LF9EfeGVTmftiKGirTZRBqVj2vimiy+NdlMEDybgK0ey21EibFhYBl9nLcstgYVTNixHox3lJHlFWH53OMnz/Q== dependencies: lit "^2.0.0" +"@vaadin/menu-bar@^3.3.7": + version "23.3.7" + resolved "https://registry.yarnpkg.com/@vaadin/menu-bar/-/menu-bar-23.3.7.tgz#467f64dd2c3ffa59659902672630f89ca56e8394" + integrity sha512-i96zo1/W+bHAovbG3mwireApyPEhY1VvAyNDwI+OH9QOGi0yhkaiX60KWHn7smh98x2UFGbchlOBI/PrJwXXQQ== + dependencies: + "@open-wc/dedupe-mixin" "^1.3.0" + "@polymer/polymer" "^3.0.0" + "@vaadin/button" "~23.3.7" + "@vaadin/component-base" "~23.3.7" + "@vaadin/context-menu" "~23.3.7" + "@vaadin/vaadin-lumo-styles" "~23.3.7" + "@vaadin/vaadin-material-styles" "~23.3.7" + "@vaadin/vaadin-themable-mixin" "~23.3.7" + "@vaadin/notification@^23.3.7": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/notification/-/notification-23.3.18.tgz#1967b36f9c419e96ba67fbd471ae73df18f31e77" - integrity sha512-y0fM5h7xKJUEJuBU+6C5lAgBzn4znOWUJrnQWRLsHePcsy3YAi50BC6X2Ehs+Zm6fKBQpCxHoU1JT4HUJaBlKw== + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/notification/-/notification-23.3.25.tgz#e9dcf8e9c97b4534c865dc35c87d75b595c1f2ee" + integrity sha512-GsJAV19ShuN/a3QC5kzBCemUhd0gK7f6h4ItsvY9/bINul7ctt0libi5WAbEBfCrzgSyGem4Y89veI9K53qtTQ== dependencies: "@polymer/polymer" "^3.0.0" - "@vaadin/component-base" "~23.3.18" - "@vaadin/lit-renderer" "~23.3.18" - "@vaadin/vaadin-lumo-styles" "~23.3.18" - "@vaadin/vaadin-material-styles" "~23.3.18" - "@vaadin/vaadin-themable-mixin" "~23.3.18" + "@vaadin/component-base" "~23.3.25" + "@vaadin/lit-renderer" "~23.3.25" + "@vaadin/vaadin-lumo-styles" "~23.3.25" + "@vaadin/vaadin-material-styles" "~23.3.25" + "@vaadin/vaadin-themable-mixin" "~23.3.25" lit "^2.0.0" -"@vaadin/overlay@~23.3.18": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/overlay/-/overlay-23.3.18.tgz#488aad00ed4552be140b274abced214a91e1f6f3" - integrity sha512-vuCOqLidC6EUZGGs4j8omez7jMc+tbtPBSxSZkcvjdm/qd/VLTi+4FRQ265z/hTZTF/lIVUArxdNXIm6bm9Vzw== +"@vaadin/overlay@~23.3.25": + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/overlay/-/overlay-23.3.25.tgz#403ab2862ea7947912713e7ae3039be2fcc970c7" + integrity sha512-ZKt1RiuEEMBt2rT0kxp4Ghz78EbXiyLXH9L3NHfU0CoVbJsyOQMK31sZNoC/ixE8onbr6gkuCmhYVuC28Hf2mg== dependencies: "@open-wc/dedupe-mixin" "^1.3.0" "@polymer/polymer" "^3.0.0" - "@vaadin/component-base" "~23.3.18" - "@vaadin/vaadin-lumo-styles" "~23.3.18" - "@vaadin/vaadin-material-styles" "~23.3.18" - "@vaadin/vaadin-themable-mixin" "~23.3.18" + "@vaadin/component-base" "~23.3.25" + "@vaadin/vaadin-lumo-styles" "~23.3.25" + "@vaadin/vaadin-material-styles" "~23.3.25" + "@vaadin/vaadin-themable-mixin" "~23.3.25" "@vaadin/polymer-legacy-adapter@^23.3.7": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/polymer-legacy-adapter/-/polymer-legacy-adapter-23.3.18.tgz#b12c35da3e0660e4fe86939f6d6ded6697c58069" - integrity sha512-pH2DpEffSjDio+91naiT5CrmxMHbdisMOmCBgalCLLx/WCoiMSsr2i/zr6M0ygtDARFX1fSLWzhJ6gYIQhOl4Q== + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/polymer-legacy-adapter/-/polymer-legacy-adapter-23.3.25.tgz#fed245593e06cc5f90e87ace496c9145bcb1728b" + integrity sha512-NqyQt0+VaxMwhr5qTsk4q1tDP0LEUub9BHYFqpgy2YZ4YwehEMiD+e5y3S5IltqggRJJIeveVnDvPWEDnCJ93w== dependencies: "@polymer/polymer" "^3.0.0" - "@vaadin/vaadin-themable-mixin" "~23.3.18" + "@vaadin/vaadin-themable-mixin" "~23.3.25" lit "^2.0.0" "@vaadin/progress-bar@^23.3.7": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/progress-bar/-/progress-bar-23.3.18.tgz#4f228580fc32ed98995b41671a124f09c49b9eb9" - integrity sha512-iTarA81ja2ADhmSkPcoAg8zR+qDGxTOJfAoNi51w0w6k/pkCDTNOiGomrM4pWv9GIliQsh8e69EG/kERYgb8UQ== + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/progress-bar/-/progress-bar-23.3.25.tgz#dc96b3f8d3c59f0d1b2fcfacddc7a15ed9ee8b97" + integrity sha512-GXoWETNrc2/53kRdTqEelR5rR8zQ07MP7ykhWkWjklji9nJCtDAU2wZs2VrXlF49qKS9lzR7zRk1YQh8ZcqAkg== dependencies: "@open-wc/dedupe-mixin" "^1.3.0" "@polymer/polymer" "^3.0.0" - "@vaadin/component-base" "~23.3.18" - "@vaadin/vaadin-lumo-styles" "~23.3.18" - "@vaadin/vaadin-material-styles" "~23.3.18" - "@vaadin/vaadin-themable-mixin" "~23.3.18" + "@vaadin/component-base" "~23.3.25" + "@vaadin/vaadin-lumo-styles" "~23.3.25" + "@vaadin/vaadin-material-styles" "~23.3.25" + "@vaadin/vaadin-themable-mixin" "~23.3.25" "@vaadin/tabs@^23.3.7": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/tabs/-/tabs-23.3.18.tgz#3b07a7dd36d7da17bc21938d992ab48f85103d4d" - integrity sha512-auI7pRp3B220tYsJXRIy32nOlQEhsTnPdrRzPcMbljKOop7gFuQHQxIg+6bWfkaIV+pUMht9Yov0jplMoGXdxw== + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/tabs/-/tabs-23.3.25.tgz#bc750771d0655b2f4385cb8352cc1abf608eda79" + integrity sha512-OV46kWUv+MgycVvdNmXB/EB4uTVD/7qjltEkOnmtvKivIqfQ/XcBUPE7Tg4nge7tX/QqzZIUe3dplZDNjgAdSw== dependencies: "@polymer/polymer" "^3.0.0" - "@vaadin/component-base" "~23.3.18" - "@vaadin/item" "~23.3.18" - "@vaadin/vaadin-list-mixin" "~23.3.18" - "@vaadin/vaadin-lumo-styles" "~23.3.18" - "@vaadin/vaadin-material-styles" "~23.3.18" - "@vaadin/vaadin-themable-mixin" "~23.3.18" + "@vaadin/component-base" "~23.3.25" + "@vaadin/item" "~23.3.25" + "@vaadin/vaadin-list-mixin" "~23.3.25" + "@vaadin/vaadin-lumo-styles" "~23.3.25" + "@vaadin/vaadin-material-styles" "~23.3.25" + "@vaadin/vaadin-themable-mixin" "~23.3.25" "@vaadin/text-field@^23.3.7": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/text-field/-/text-field-23.3.18.tgz#afb3d4ca3d2f7cceaefbcea32133c5dccf4c9a5b" - integrity sha512-/foxXBt1/SoZXbHjs7DBQd+sPVOEpl2PedEEYVaZmPaQsOfOIgFPoNl7pJExPQGrMl5O2hiztYSKUo2hjtuddQ== + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/text-field/-/text-field-23.3.25.tgz#4b7ca5046ffb7f528e90bf2dbd097430324334f8" + integrity sha512-cuEhPIwhqdjo0AZINz19iEOCsZVks8mJIV5zo8zBz/Wl2Gtp8mxn+viyhWNgGd/m/c1B1BMZsEaqLBQnhakrqQ== dependencies: "@polymer/polymer" "^3.0.0" - "@vaadin/component-base" "~23.3.18" - "@vaadin/field-base" "~23.3.18" - "@vaadin/input-container" "~23.3.18" - "@vaadin/vaadin-lumo-styles" "~23.3.18" - "@vaadin/vaadin-material-styles" "~23.3.18" - "@vaadin/vaadin-themable-mixin" "~23.3.18" + "@vaadin/component-base" "~23.3.25" + "@vaadin/field-base" "~23.3.25" + "@vaadin/input-container" "~23.3.25" + "@vaadin/vaadin-lumo-styles" "~23.3.25" + "@vaadin/vaadin-material-styles" "~23.3.25" + "@vaadin/vaadin-themable-mixin" "~23.3.25" "@vaadin/tooltip@^23.3.7": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/tooltip/-/tooltip-23.3.18.tgz#c9a51569e023925feed8d63e699c3aef6151d6a1" - integrity sha512-V3gIjKfEChTN1O8r0grnRKrZHPc5Y3mhJ53PxXiv86sprV/DH37VvnvVS04KYKPOm55c9csJpEm+WVixaMGMhg== + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/tooltip/-/tooltip-23.3.25.tgz#75d5757fe5e9939f5831d85336510a67fc5d54af" + integrity sha512-5f9uWCVwt7w1A4GCVNUcIOuFyEc2npkE0OtcoL3F0Wml/xzVMEDyP7Ei5D2e2UTAhHMzcWDii1pA1uUkg6paRQ== dependencies: "@polymer/polymer" "^3.0.0" - "@vaadin/component-base" "~23.3.18" - "@vaadin/overlay" "~23.3.18" - "@vaadin/vaadin-lumo-styles" "~23.3.18" - "@vaadin/vaadin-material-styles" "~23.3.18" - "@vaadin/vaadin-themable-mixin" "~23.3.18" + "@vaadin/component-base" "~23.3.25" + "@vaadin/overlay" "~23.3.25" + "@vaadin/vaadin-lumo-styles" "~23.3.25" + "@vaadin/vaadin-material-styles" "~23.3.25" + "@vaadin/vaadin-themable-mixin" "~23.3.25" "@vaadin/vaadin-development-mode-detector@^2.0.0": version "2.0.6" resolved "https://registry.yarnpkg.com/@vaadin/vaadin-development-mode-detector/-/vaadin-development-mode-detector-2.0.6.tgz#2acb568975c18b7965e56ed765638dcf183d8dd1" integrity sha512-N6a5nLT/ytEUlpPo+nvdCKIGoyNjPsj3rzPGvGYK8x9Ceg76OTe1xI/GtN71mRW9e2HUScR0kCNOkl1Z63YDjw== -"@vaadin/vaadin-list-mixin@~23.3.18": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/vaadin-list-mixin/-/vaadin-list-mixin-23.3.18.tgz#e5e321a9438db7f4f01770c26be431d3d2dea658" - integrity sha512-EGir/URS6MIfWK//qQ5rs9s7FKf3Ur5jQ21iMP4U+ZNMjn7F63mTgVs4CTplnLTamxbA9rs88Oy1AxGtwja9Ug== +"@vaadin/vaadin-list-mixin@~23.3.25": + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/vaadin-list-mixin/-/vaadin-list-mixin-23.3.25.tgz#e46d77f4803c0a4ddfc49ee0c6b1d5ca31eb57ad" + integrity sha512-LjWgCOYP/HTxVvpbyzi9FJTq1LzqCWOZ8klb6MklNPZcRT2XD0aoOEim4oEaf/dovbUtDD5xxeXmuovhHF6Cww== dependencies: "@open-wc/dedupe-mixin" "^1.3.0" "@polymer/polymer" "^3.0.0" - "@vaadin/component-base" "~23.3.18" + "@vaadin/component-base" "~23.3.25" -"@vaadin/vaadin-lumo-styles@^23.3.7", "@vaadin/vaadin-lumo-styles@~23.3.18": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/vaadin-lumo-styles/-/vaadin-lumo-styles-23.3.18.tgz#df50d93e9f98e14eeb7219bbcfbeec4b998f7ae0" - integrity sha512-6BKByK+uRe/sNqle8gZzOFuIqGn162wmTm4jvhxcwgxBkcuyB17ply3L6rDQIqs7fs+xFMh3FJPorOizOYWiwA== +"@vaadin/vaadin-lumo-styles@^23.3.7", "@vaadin/vaadin-lumo-styles@~23.3.25", "@vaadin/vaadin-lumo-styles@~23.3.7": + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/vaadin-lumo-styles/-/vaadin-lumo-styles-23.3.25.tgz#77418f15914e5ec857f10a9a6178794f779618bc" + integrity sha512-XNQijt5DZ6omSiapsNbiDwtQQ/I+QLcHNpcweY71r7m7mjsip+ZfPBswhKdF72qYAZV+5i+F6C5pS8AL0QdFng== dependencies: "@polymer/iron-icon" "^3.0.0" "@polymer/iron-iconset-svg" "^3.0.0" "@polymer/polymer" "^3.0.0" - "@vaadin/icon" "~23.3.18" - "@vaadin/vaadin-themable-mixin" "~23.3.18" + "@vaadin/icon" "~23.3.25" + "@vaadin/vaadin-themable-mixin" "~23.3.25" -"@vaadin/vaadin-material-styles@~23.3.18": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/vaadin-material-styles/-/vaadin-material-styles-23.3.18.tgz#eaa6c056ba8e1e4fb0ee0b1059f275a0690faaa3" - integrity sha512-S1RPA0i1DTreLWn7RoMPkpmUTN0zSxk70Q6ZENIVLoTJaikMX9GLpL905yzE+TmQV3B7hfor1CqS8fRsjbvTrw== +"@vaadin/vaadin-material-styles@~23.3.25", "@vaadin/vaadin-material-styles@~23.3.7": + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/vaadin-material-styles/-/vaadin-material-styles-23.3.25.tgz#4d5b4f57e67a8e66011bb84f5aaaa0e9ef6adb60" + integrity sha512-GJZ7DAiOppIuonGISSSwNuRDoQEP8BNkvQH59izLwsCIHXUwsjqBWtTwtKE8H519d9208z5L7jo0Xsx258NfFA== dependencies: "@polymer/polymer" "^3.0.0" - "@vaadin/vaadin-themable-mixin" "~23.3.18" + "@vaadin/vaadin-themable-mixin" "~23.3.25" -"@vaadin/vaadin-themable-mixin@^23.3.7", "@vaadin/vaadin-themable-mixin@~23.3.18": - version "23.3.18" - resolved "https://registry.yarnpkg.com/@vaadin/vaadin-themable-mixin/-/vaadin-themable-mixin-23.3.18.tgz#9f12924513fe5e47e855465bd2f008392ffa06b9" - integrity sha512-/kq/guAqfL62+aSwH84Jmuwit/SCWWFOcFtYLF2EfTFMnGchlM1EE9ZyteY/uLcxPIkOtVKzJRLjUVwrgLkKGA== +"@vaadin/vaadin-themable-mixin@^23.3.7", "@vaadin/vaadin-themable-mixin@~23.3.25", "@vaadin/vaadin-themable-mixin@~23.3.7": + version "23.3.25" + resolved "https://registry.yarnpkg.com/@vaadin/vaadin-themable-mixin/-/vaadin-themable-mixin-23.3.25.tgz#ddeb6612b197e93db87006cbfdf36f0555069a4a" + integrity sha512-MwVFo5i1eEFf7jOr6yew2uvaT5X4dHsr7vwyhLhUdegUnu/MjWk1hH8lkHGoAj0X9pQVAt12966iTxuuMueSdg== dependencies: "@open-wc/dedupe-mixin" "^1.3.0" lit "^2.0.0" @@ -11698,27 +11705,43 @@ lit-element@^2.0.1: lit-html "^1.1.1" lit-element@^3.3.0: - version "3.3.2" - resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-3.3.2.tgz#9913bf220b85065f0e5f1bb8878cc44f36b50cfa" - integrity sha512-xXAeVWKGr4/njq0rGC9dethMnYCq5hpKYrgQZYTzawt9YQhMiXfD+T1RgrdY3NamOxwq2aXlb0vOI6e29CKgVQ== + version "3.3.3" + resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-3.3.3.tgz#10bc19702b96ef5416cf7a70177255bfb17b3209" + integrity sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA== dependencies: "@lit-labs/ssr-dom-shim" "^1.1.0" "@lit/reactive-element" "^1.3.0" - lit-html "^2.7.0" + lit-html "^2.8.0" lit-html@^1.1.1: version "1.4.1" resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-1.4.1.tgz#0c6f3ee4ad4eb610a49831787f0478ad8e9ae5e0" integrity sha512-B9btcSgPYb1q4oSOb/PrOT6Z/H+r6xuNzfH4lFli/AWhYwdtrgQkQWBbIc6mdnf6E2IL3gDXdkkqNktpU0OZQA== -lit-html@^2.0.0-rc.3, lit-html@^2.7.0: +lit-html@^2.0.0-rc.3: version "2.7.5" resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.7.5.tgz#0c1b9d381abe20c01475ae53ea4b07bf4c923eb8" integrity sha512-YqUzpisJodwKIlbMFCtyrp58oLloKGnnPLMJ1t23cbfIJjg/H9pvLWK4XS69YeubK5HUs1UE4ys9w5dP1zg6IA== dependencies: "@types/trusted-types" "^2.0.2" -lit@^2.0.0, lit@^2.2.5: +lit-html@^2.7.0, lit-html@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.8.0.tgz#96456a4bb4ee717b9a7d2f94562a16509d39bffa" + integrity sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q== + dependencies: + "@types/trusted-types" "^2.0.2" + +lit@^2.0.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/lit/-/lit-2.8.0.tgz#4d838ae03059bf9cafa06e5c61d8acc0081e974e" + integrity sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA== + dependencies: + "@lit/reactive-element" "^1.6.0" + lit-element "^3.3.0" + lit-html "^2.8.0" + +lit@^2.2.5: version "2.7.6" resolved "https://registry.yarnpkg.com/lit/-/lit-2.7.6.tgz#810007b876ed43e0c70124de91831921598b1665" integrity sha512-1amFHA7t4VaaDe+vdQejSVBklwtH9svGoG6/dZi9JhxtJBBlqY5D1RV7iLUYY0trCqQc4NfhYYZilZiVHt7Hxg==