From 4f0781c0a1590bee47c0b2d31972d25be7440a86 Mon Sep 17 00:00:00 2001 From: Bjarne Fyrstenborg Date: Fri, 29 Sep 2023 10:42:09 +0200 Subject: [PATCH 01/25] Toggle color picker popover clicking preview button --- .../lib/uui-color-picker.element.ts | 49 +++++++++---------- 1 file changed, 24 insertions(+), 25 deletions(-) diff --git a/packages/uui-color-picker/lib/uui-color-picker.element.ts b/packages/uui-color-picker/lib/uui-color-picker.element.ts index 18e51e9c5..629b8157d 100644 --- a/packages/uui-color-picker/lib/uui-color-picker.element.ts +++ b/packages/uui-color-picker/lib/uui-color-picker.element.ts @@ -107,9 +107,6 @@ export class UUIColorPickerElement extends LabelMixin('label', LitElement) { margin-left: 0.75rem; border-radius: 50%; } - color-picker__trigger { - cursor: pointer; - } .color-picker__preview::before, .color-picker__trigger::before { content: ''; @@ -488,7 +485,7 @@ export class UUIColorPickerElement extends LabelMixin('label', LitElement) { event.stopImmediatePropagation(); const target = event.target as HTMLElement; - const popover = target.nextElementSibling as UUIPopoverElement; + const popover = target.parentElement as UUIPopoverElement; popover.open = !popover?.open; @@ -497,7 +494,7 @@ export class UUIColorPickerElement extends LabelMixin('label', LitElement) { closeColorPicker(event: Event) { const target = event.target as UUIPopoverElement; - const trigger = target.previousElementSibling; + const trigger = target.querySelector("button[part=trigger]"); if (trigger) { trigger.setAttribute('aria-expanded', 'false'); @@ -653,27 +650,29 @@ export class UUIColorPickerElement extends LabelMixin('label', LitElement) { } private _renderPreviewButton() { - return html` + return html` +
${this._renderColorPicker()}
`; } From 60f62f169e33c839b1d6c35da7c7581853741a36 Mon Sep 17 00:00:00 2001 From: Bjarne Fyrstenborg Date: Thu, 12 Oct 2023 10:52:09 +0200 Subject: [PATCH 02/25] Add disabled attribute after merge conflict --- packages/uui-color-picker/lib/uui-color-picker.element.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/uui-color-picker/lib/uui-color-picker.element.ts b/packages/uui-color-picker/lib/uui-color-picker.element.ts index 86d124261..3af2fb600 100644 --- a/packages/uui-color-picker/lib/uui-color-picker.element.ts +++ b/packages/uui-color-picker/lib/uui-color-picker.element.ts @@ -680,6 +680,7 @@ export class UUIColorPickerElement extends LabelMixin('label', LitElement) { this.lightness }%, ${this.alpha / 100})`, })} + ?disabled=${this.disabled} @click=${this.openColorPicker} aria-haspopup="true" aria-expanded="false"> From 6763230698effa5dfb9db42e5d233e3d39885640 Mon Sep 17 00:00:00 2001 From: Bjarne Fyrstenborg Date: Thu, 12 Oct 2023 13:01:04 +0200 Subject: [PATCH 03/25] Update packages/uui-color-picker/lib/uui-color-picker.element.ts Co-authored-by: Lone Iversen <108085781+loivsen@users.noreply.github.com> --- packages/uui-color-picker/lib/uui-color-picker.element.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/uui-color-picker/lib/uui-color-picker.element.ts b/packages/uui-color-picker/lib/uui-color-picker.element.ts index 3af2fb600..b07587bda 100644 --- a/packages/uui-color-picker/lib/uui-color-picker.element.ts +++ b/packages/uui-color-picker/lib/uui-color-picker.element.ts @@ -661,7 +661,7 @@ export class UUIColorPickerElement extends LabelMixin('label', LitElement) { } private _renderPreviewButton() { - + return html` + `; + } + static styles = [ UUIBlinkKeyframes, css` @@ -172,63 +229,6 @@ export class UUIButtonInlineCreateElement extends LitElement { } `, ]; - - @state() - private _position = 0; - - /** - * Label to be used for aria-label and eventually as visual label - * @type {string} - * @attr - */ - @property({ type: String }) - public label?: string; - - /** - * Place the button vertically - * @type {Boolean} - * @attr - */ - @property({ type: Boolean, reflect: true }) - vertical = false; - - private _onMouseMove(e: MouseEvent) { - this._position = this.vertical ? e.offsetY : e.offsetX; - } - - private _handleClick(e: MouseEvent) { - e.preventDefault(); - e.stopImmediatePropagation(); - - this.dispatchEvent( - new UUIButtonInlineCreateEvent(UUIButtonInlineCreateEvent.CLICK) - ); - } - - render() { - return html` - - `; - } } declare global { diff --git a/packages/uui-button/lib/uui-button.element.ts b/packages/uui-button/lib/uui-button.element.ts index 850f59788..74bd87743 100644 --- a/packages/uui-button/lib/uui-button.element.ts +++ b/packages/uui-button/lib/uui-button.element.ts @@ -49,6 +49,185 @@ export type UUIButtonType = 'submit' | 'button' | 'reset'; export class UUIButtonElement extends FormControlMixin( LabelMixin('', PopoverTargetMixin(LitElement)) ) { + /** + * Specifies the type of button + * @type { "submit" | "button" | "reset" } + * @attr + * @default "button" + */ + @property({ type: String, reflect: true }) + type: UUIButtonType = 'button'; + + /** + * Disables the button, changes the looks of it and prevents if from emitting the click event + * @type {boolean} + * @attr + * @default false + */ + @property({ type: Boolean, reflect: true }) + disabled = false; + + /** + * Changes the look of the button to one of the predefined, symbolic looks. For example - set this to positive if you want nice, green "confirm" button. + * @type {"default" | "primary" | "secondary" | "outline" | "placeholder"} + * @attr + * @default "default" + */ + @property({ reflect: true }) + look: InterfaceLook = 'default'; + + /** + * Changes the look of the button to one of the predefined, symbolic looks. For example - set this to positive if you want nice, green "confirm" button. + * @type {"default" | "positive" | "warning" | "danger"} + * @attr + * @default "default" + */ + @property({ reflect: true }) + color: InterfaceColor = 'default'; + + /** + * Makes the left and right padding of the button narrower. + * @type {boolean} + * @attr + * @default false + */ + @property({ type: Boolean, reflect: true }) + compact = false; + + /** + * Sets the state of the button. With waiting state a loader will show, the success state and fail states display icons. State is reset do default automatically after 3 seconds. + * @type {undefined |'waiting' | 'success' | 'failed'} + * @attr + * @default undefined + */ + @property({ type: String, reflect: true }) + state: UUIButtonState = undefined; + + /** + * Set an href, this will turns the button into a anchor tag. + * @type {string} + * @attr + * @default undefined + */ + @property({ type: String }) + public href?: string; + + /** + * Set an anchor tag target, only used when using href. + * @type {string} + * @attr + * @default undefined + */ + @property({ type: String }) + public target?: '_blank' | '_parent' | '_self' | '_top'; + + @query('#button') + protected _button!: HTMLInputElement; + + constructor() { + super(); + this.addEventListener('click', this._onHostClick); + } + + protected getFormElement(): HTMLElement { + return this._button; + } + + private _onHostClick(e: MouseEvent) { + if (this.disabled) { + e.preventDefault(); + e.stopImmediatePropagation(); + return; + } + + if (this._internals?.form) { + switch (this.type) { + case 'reset': + this._internals.form.reset(); + break; + case 'button': + break; + default: + if (this._internals.form.requestSubmit) { + this._internals.form.requestSubmit(); + } else { + this._internals.form.dispatchEvent(new SubmitEvent('submit')); + } + break; + } + } + + this._togglePopover(); + } + + private _resetStateTimeout?: number; + + // Reset the state after 2sec if it is 'success' or 'failed'. + updated(changedProperties: Map) { + super.updated(changedProperties); + if (changedProperties.has('state')) { + clearTimeout(this._resetStateTimeout); + if (this.state === 'success' || this.state === 'failed') { + this._resetStateTimeout = setTimeout( + () => (this.state = undefined), + 2000 + ) as any; + } + } + } + + protected renderState(): TemplateResult | typeof nothing { + let element: TemplateResult; + switch (this.state) { + case 'waiting': + demandCustomElement(this, 'uui-loader-circle'); + element = html``; + break; + case 'success': + demandCustomElement(this, 'uui-icon'); + element = html``; + break; + case 'failed': + demandCustomElement(this, 'uui-icon'); + element = html``; + break; + default: + return nothing; + } + + return html`
${element}
`; + } + + render() { + return this.href + ? html` + + ${this.renderState()} ${this.renderLabel()} + + + ` + : html` + + `; + } + static styles = [ UUIHorizontalShakeKeyframes, css` @@ -356,184 +535,6 @@ export class UUIButtonElement extends FormControlMixin( } `, ]; - /** - * Specifies the type of button - * @type { "submit" | "button" | "reset" } - * @attr - * @default "button" - */ - @property({ type: String, reflect: true }) - type: UUIButtonType = 'button'; - - /** - * Disables the button, changes the looks of it and prevents if from emitting the click event - * @type {boolean} - * @attr - * @default false - */ - @property({ type: Boolean, reflect: true }) - disabled = false; - - /** - * Changes the look of the button to one of the predefined, symbolic looks. For example - set this to positive if you want nice, green "confirm" button. - * @type {"default" | "primary" | "secondary" | "outline" | "placeholder"} - * @attr - * @default "default" - */ - @property({ reflect: true }) - look: InterfaceLook = 'default'; - - /** - * Changes the look of the button to one of the predefined, symbolic looks. For example - set this to positive if you want nice, green "confirm" button. - * @type {"default" | "positive" | "warning" | "danger"} - * @attr - * @default "default" - */ - @property({ reflect: true }) - color: InterfaceColor = 'default'; - - /** - * Makes the left and right padding of the button narrower. - * @type {boolean} - * @attr - * @default false - */ - @property({ type: Boolean, reflect: true }) - compact = false; - - /** - * Sets the state of the button. With waiting state a loader will show, the success state and fail states display icons. State is reset do default automatically after 3 seconds. - * @type {undefined |'waiting' | 'success' | 'failed'} - * @attr - * @default undefined - */ - @property({ type: String, reflect: true }) - state: UUIButtonState = undefined; - - /** - * Set an href, this will turns the button into a anchor tag. - * @type {string} - * @attr - * @default undefined - */ - @property({ type: String }) - public href?: string; - - /** - * Set an anchor tag target, only used when using href. - * @type {string} - * @attr - * @default undefined - */ - @property({ type: String }) - public target?: '_blank' | '_parent' | '_self' | '_top'; - - @query('#button') - protected _button!: HTMLInputElement; - - constructor() { - super(); - this.addEventListener('click', this._onHostClick); - } - - protected getFormElement(): HTMLElement { - return this._button; - } - - private _onHostClick(e: MouseEvent) { - if (this.disabled) { - e.preventDefault(); - e.stopImmediatePropagation(); - return; - } - - if (this._internals?.form) { - switch (this.type) { - case 'reset': - this._internals.form.reset(); - break; - case 'button': - break; - default: - if (this._internals.form.requestSubmit) { - this._internals.form.requestSubmit(); - } else { - this._internals.form.dispatchEvent(new SubmitEvent('submit')); - } - break; - } - } - - this._togglePopover(); - } - - private _resetStateTimeout?: number; - - // Reset the state after 2sec if it is 'success' or 'failed'. - updated(changedProperties: Map) { - super.updated(changedProperties); - if (changedProperties.has('state')) { - clearTimeout(this._resetStateTimeout); - if (this.state === 'success' || this.state === 'failed') { - this._resetStateTimeout = setTimeout( - () => (this.state = undefined), - 2000 - ) as any; - } - } - } - - protected renderState(): TemplateResult | typeof nothing { - let element: TemplateResult; - switch (this.state) { - case 'waiting': - demandCustomElement(this, 'uui-loader-circle'); - element = html``; - break; - case 'success': - demandCustomElement(this, 'uui-icon'); - element = html``; - break; - case 'failed': - demandCustomElement(this, 'uui-icon'); - element = html``; - break; - default: - return nothing; - } - - return html`
${element}
`; - } - - render() { - return this.href - ? html` - - ${this.renderState()} ${this.renderLabel()} - - - ` - : html` - - `; - } } declare global { diff --git a/packages/uui-card-content-node/lib/uui-card-content-node.element.ts b/packages/uui-card-content-node/lib/uui-card-content-node.element.ts index 27a1d3ac9..2cc0e2f87 100644 --- a/packages/uui-card-content-node/lib/uui-card-content-node.element.ts +++ b/packages/uui-card-content-node/lib/uui-card-content-node.element.ts @@ -15,6 +15,75 @@ import { ifDefined } from 'lit/directives/if-defined.js'; */ @defineElement('uui-card-content-node') export class UUICardContentNodeElement extends UUICardElement { + /** + * Node name + * @type {string} + * @attr name + * @default '' + */ + @property({ type: String }) + name = ''; + + @state() + private _iconSlotHasContent = false; + + protected fallbackIcon = + ''; + + private _onSlotIconChange(event: Event) { + this._iconSlotHasContent = + (event.target as HTMLSlotElement).assignedNodes({ flatten: true }) + .length > 0; + } + + private _renderFallbackIcon() { + demandCustomElement(this, 'uui-icon'); + return html``; + } + + #renderButton() { + return html`
+ + + ${this._iconSlotHasContent === false ? this._renderFallbackIcon() : ''} + + ${this.name} +
`; + } + + #renderLink() { + return html` + + + ${this._iconSlotHasContent === false ? this._renderFallbackIcon() : ''} + + ${this.name} + `; + } + + public render() { + return html` + ${this.href ? this.#renderLink() : this.#renderButton()} + +
+ + + + + `; + } + static styles = [ ...UUICardElement.styles, css` @@ -87,75 +156,6 @@ export class UUICardContentNodeElement extends UUICardElement { } `, ]; - - /** - * Node name - * @type {string} - * @attr name - * @default '' - */ - @property({ type: String }) - name = ''; - - @state() - private _iconSlotHasContent = false; - - protected fallbackIcon = - ''; - - private _onSlotIconChange(event: Event) { - this._iconSlotHasContent = - (event.target as HTMLSlotElement).assignedNodes({ flatten: true }) - .length > 0; - } - - private _renderFallbackIcon() { - demandCustomElement(this, 'uui-icon'); - return html``; - } - - #renderButton() { - return html`
- - - ${this._iconSlotHasContent === false ? this._renderFallbackIcon() : ''} - - ${this.name} -
`; - } - - #renderLink() { - return html` - - - ${this._iconSlotHasContent === false ? this._renderFallbackIcon() : ''} - - ${this.name} - `; - } - - public render() { - return html` - ${this.href ? this.#renderLink() : this.#renderButton()} - -
- - - - - `; - } } declare global { diff --git a/packages/uui-card-media/lib/uui-card-media.element.ts b/packages/uui-card-media/lib/uui-card-media.element.ts index 31d9c3d0f..b7ea89e68 100644 --- a/packages/uui-card-media/lib/uui-card-media.element.ts +++ b/packages/uui-card-media/lib/uui-card-media.element.ts @@ -17,106 +17,6 @@ import '@umbraco-ui/uui-symbol-file/lib'; */ @defineElement('uui-card-media') export class UUICardMediaElement extends UUICardElement { - static styles = [ - ...UUICardElement.styles, - css` - #file-symbol, - #folder-symbol { - align-self: center; - margin: var(--uui-size-14); - width: 80%; - } - - slot[name='tag'] { - position: absolute; - top: var(--uui-size-4); - right: var(--uui-size-4); - display: flex; - justify-content: right; - } - - slot[name='actions'] { - position: absolute; - top: var(--uui-size-4); - right: var(--uui-size-4); - display: flex; - justify-content: right; - - opacity: 0; - transition: opacity 120ms; - } - :host(:focus) slot[name='actions'], - :host(:focus-within) slot[name='actions'], - :host(:hover) slot[name='actions'] { - opacity: 1; - } - - slot:not([name])::slotted(*) { - align-self: center; - border-radius: var(--uui-border-radius); - object-fit: cover; - width: 100%; - height: 100%; - } - - #open-part { - position: absolute; - bottom: 0; - width: 100%; - background-color: var(--uui-color-surface); - color: var(--uui-color-interactive); - border: none; - cursor: pointer; - border-top: 1px solid var(--uui-color-divider); - border-radius: 0 0 var(--uui-border-radius) var(--uui-border-radius); - display: flex; - justify-content: flex-start; - align-items: center; - font-family: inherit; - font-size: var(--uui-type-small-size); - box-sizing: border-box; - padding: var(--uui-size-2) var(--uui-size-4); - } - - :host([disabled]) #open-part { - pointer-events: none; - background: var(--uui-color-disabled); - color: var(--uui-color-contrast-disabled); - } - - #open-part:hover { - text-decoration: underline; - color: var(--uui-color-interactive-emphasis); - } - - :host([image]:not([image=''])) #open-part { - transition: opacity 0.5s 0.5s; - opacity: 0; - } - - :host( - [image]:not([image='']):hover, - [image]:not([image='']):focus, - [image]:not([image='']):focus-within, - [selected][image]:not([image='']), - [error][image]:not([image='']) - ) - #open-part { - opacity: 1; - transition-duration: 120ms; - transition-delay: 0s; - } - - /* - #info-icon { - margin-right: var(--uui-size-2); - display: flex; - height: var(--uui-size-8); - } - */ - `, - ]; - /** * Media name * @type {string} @@ -217,6 +117,106 @@ export class UUICardMediaElement extends UUICardElement { `; } + + static styles = [ + ...UUICardElement.styles, + css` + #file-symbol, + #folder-symbol { + align-self: center; + margin: var(--uui-size-14); + width: 80%; + } + + slot[name='tag'] { + position: absolute; + top: var(--uui-size-4); + right: var(--uui-size-4); + display: flex; + justify-content: right; + } + + slot[name='actions'] { + position: absolute; + top: var(--uui-size-4); + right: var(--uui-size-4); + display: flex; + justify-content: right; + + opacity: 0; + transition: opacity 120ms; + } + :host(:focus) slot[name='actions'], + :host(:focus-within) slot[name='actions'], + :host(:hover) slot[name='actions'] { + opacity: 1; + } + + slot:not([name])::slotted(*) { + align-self: center; + border-radius: var(--uui-border-radius); + object-fit: cover; + width: 100%; + height: 100%; + } + + #open-part { + position: absolute; + bottom: 0; + width: 100%; + background-color: var(--uui-color-surface); + color: var(--uui-color-interactive); + border: none; + cursor: pointer; + border-top: 1px solid var(--uui-color-divider); + border-radius: 0 0 var(--uui-border-radius) var(--uui-border-radius); + display: flex; + justify-content: flex-start; + align-items: center; + font-family: inherit; + font-size: var(--uui-type-small-size); + box-sizing: border-box; + padding: var(--uui-size-2) var(--uui-size-4); + } + + :host([disabled]) #open-part { + pointer-events: none; + background: var(--uui-color-disabled); + color: var(--uui-color-contrast-disabled); + } + + #open-part:hover { + text-decoration: underline; + color: var(--uui-color-interactive-emphasis); + } + + :host([image]:not([image=''])) #open-part { + transition: opacity 0.5s 0.5s; + opacity: 0; + } + + :host( + [image]:not([image='']):hover, + [image]:not([image='']):focus, + [image]:not([image='']):focus-within, + [selected][image]:not([image='']), + [error][image]:not([image='']) + ) + #open-part { + opacity: 1; + transition-duration: 120ms; + transition-delay: 0s; + } + + /* + #info-icon { + margin-right: var(--uui-size-2); + display: flex; + height: var(--uui-size-8); + } + */ + `, + ]; } declare global { diff --git a/packages/uui-card-user/lib/uui-card-user.element.ts b/packages/uui-card-user/lib/uui-card-user.element.ts index d605ecfb0..d9230350b 100644 --- a/packages/uui-card-user/lib/uui-card-user.element.ts +++ b/packages/uui-card-user/lib/uui-card-user.element.ts @@ -14,6 +14,54 @@ import { ifDefined } from 'lit/directives/if-defined.js'; */ @defineElement('uui-card-user') export class UUICardUserElement extends UUICardElement { + /** + * User name + * @type {string} + * @attr name + * @default '' + */ + @property({ type: String }) + name = ''; + + connectedCallback(): void { + super.connectedCallback(); + + demandCustomElement(this, 'uui-avatar'); + } + + #renderButton() { + return html`
+ ${this.name} +
`; + } + + #renderLink() { + return html` + ${this.name} + `; + } + + public render() { + return html` + + ${this.href ? this.#renderLink() : this.#renderButton()} + + + + `; + } + static styles = [ ...UUICardElement.styles, css` @@ -90,54 +138,6 @@ export class UUICardUserElement extends UUICardElement { } `, ]; - - /** - * User name - * @type {string} - * @attr name - * @default '' - */ - @property({ type: String }) - name = ''; - - connectedCallback(): void { - super.connectedCallback(); - - demandCustomElement(this, 'uui-avatar'); - } - - #renderButton() { - return html`
- ${this.name} -
`; - } - - #renderLink() { - return html` - ${this.name} - `; - } - - public render() { - return html` - - ${this.href ? this.#renderLink() : this.#renderButton()} - - - - `; - } } declare global { diff --git a/packages/uui-card/lib/uui-card.element.ts b/packages/uui-card/lib/uui-card.element.ts index 8bba180f3..7c55ffddc 100644 --- a/packages/uui-card/lib/uui-card.element.ts +++ b/packages/uui-card/lib/uui-card.element.ts @@ -18,6 +18,64 @@ import { UUICardEvent } from './UUICardEvent'; export class UUICardElement extends SelectOnlyMixin( SelectableMixin(LitElement) ) { + /** + * Set to true to prevent opening of this item. + * This does not prevent selection, selection is controlled by property 'selectable' + * @type {boolean} + * @attr disabled + * @default false + */ + @property({ type: Boolean, reflect: true, attribute: 'disabled' }) + disabled = false; + + /** + * Set to true to highlight there is an error with this item. + * @type {boolean} + * @attr error + * @default false + */ + @property({ type: Boolean, reflect: true }) + error = false; + + /** + * Set an href, this will turns the name of the card into an anchor tag. + * @type {string} + * @attr + * @default undefined + */ + @property({ type: String }) + public href?: string; + + /** + * Set an anchor tag target, only used when using href. + * @type {string} + * @attr + * @default undefined + */ + @property({ type: String }) + public target?: '_blank' | '_parent' | '_self' | '_top'; + + // This is deprecated - use href instead + protected handleOpenClick(e: Event) { + if (this.disabled) return; + + e.stopPropagation(); + this.dispatchEvent(new UUICardEvent(UUICardEvent.OPEN)); + } + // This is deprecated - use href instead + protected handleOpenKeydown(e: KeyboardEvent) { + if (this.disabled) return; + if (e.key !== 'Enter') return; + + e.preventDefault(); + e.stopPropagation(); + this.dispatchEvent(new UUICardEvent(UUICardEvent.OPEN)); + } + + protected render() { + return html``; + } + static styles = [ css` :host { @@ -105,64 +163,6 @@ export class UUICardElement extends SelectOnlyMixin( } `, ]; - - /** - * Set to true to prevent opening of this item. - * This does not prevent selection, selection is controlled by property 'selectable' - * @type {boolean} - * @attr disabled - * @default false - */ - @property({ type: Boolean, reflect: true, attribute: 'disabled' }) - disabled = false; - - /** - * Set to true to highlight there is an error with this item. - * @type {boolean} - * @attr error - * @default false - */ - @property({ type: Boolean, reflect: true }) - error = false; - - /** - * Set an href, this will turns the name of the card into an anchor tag. - * @type {string} - * @attr - * @default undefined - */ - @property({ type: String }) - public href?: string; - - /** - * Set an anchor tag target, only used when using href. - * @type {string} - * @attr - * @default undefined - */ - @property({ type: String }) - public target?: '_blank' | '_parent' | '_self' | '_top'; - - // This is deprecated - use href instead - protected handleOpenClick(e: Event) { - if (this.disabled) return; - - e.stopPropagation(); - this.dispatchEvent(new UUICardEvent(UUICardEvent.OPEN)); - } - // This is deprecated - use href instead - protected handleOpenKeydown(e: KeyboardEvent) { - if (this.disabled) return; - if (e.key !== 'Enter') return; - - e.preventDefault(); - e.stopPropagation(); - this.dispatchEvent(new UUICardEvent(UUICardEvent.OPEN)); - } - - protected render() { - return html``; - } } declare global { diff --git a/packages/uui-caret/lib/uui-caret.element.ts b/packages/uui-caret/lib/uui-caret.element.ts index 6355dfc6c..99a456b2f 100644 --- a/packages/uui-caret/lib/uui-caret.element.ts +++ b/packages/uui-caret/lib/uui-caret.element.ts @@ -9,26 +9,6 @@ import { property } from 'lit/decorators.js'; */ @defineElement('uui-caret') export class UUICaretElement extends LitElement { - static styles = [ - css` - :host { - display: inline-block; - width: 12px; - vertical-align: middle; - } - - svg { - fill: currentColor; - transform-origin: 50% 50%; - transition: transform 280ms cubic-bezier(0.17, -0.88, 0.82, 1.84); /* Julia's beloved easing */ - } - - :host([open]) svg { - transform: rotate(180deg); - } - `, - ]; - /** * Turns the arrow around. * @type {boolean} @@ -49,6 +29,26 @@ export class UUICaretElement extends LitElement { `; } + + static styles = [ + css` + :host { + display: inline-block; + width: 12px; + vertical-align: middle; + } + + svg { + fill: currentColor; + transform-origin: 50% 50%; + transition: transform 280ms cubic-bezier(0.17, -0.88, 0.82, 1.84); /* Julia's beloved easing */ + } + + :host([open]) svg { + transform: rotate(180deg); + } + `, + ]; } declare global { diff --git a/packages/uui-checkbox/lib/uui-checkbox.element.ts b/packages/uui-checkbox/lib/uui-checkbox.element.ts index 47c54a7d6..40c828139 100644 --- a/packages/uui-checkbox/lib/uui-checkbox.element.ts +++ b/packages/uui-checkbox/lib/uui-checkbox.element.ts @@ -22,6 +22,14 @@ export class UUICheckboxElement extends UUIBooleanInputElement { */ static readonly formAssociated = true; + renderCheckbox() { + return html` +
+
${iconCheck}
+
+ `; + } + static styles = [ ...UUIBooleanInputElement.styles, UUIHorizontalShakeKeyframes, @@ -168,14 +176,6 @@ export class UUICheckboxElement extends UUIBooleanInputElement { } `, ]; - - renderCheckbox() { - return html` -
-
${iconCheck}
-
- `; - } } declare global { diff --git a/packages/uui-color-area/lib/uui-color-area.element.ts b/packages/uui-color-area/lib/uui-color-area.element.ts index 0bb2c8565..48203c9bf 100644 --- a/packages/uui-color-area/lib/uui-color-area.element.ts +++ b/packages/uui-color-area/lib/uui-color-area.element.ts @@ -17,60 +17,6 @@ import { UUIColorAreaEvent } from './UUIColorAreaEvent'; */ @defineElement('uui-color-area') export class UUIColorAreaElement extends LitElement { - static styles = [ - css` - :host { - display: inline-block; - width: 280px; - height: 200px; - } - - :host([disabled]) { - cursor: not-allowed; - } - - :host([disabled]) .color-area { - user-select: none; - pointer-events: none; - opacity: 0.55; - } - - .color-area { - position: relative; - height: 100%; - width: 100%; - background-image: linear-gradient( - to bottom, - rgba(0, 0, 0, 0) 0%, - rgba(0, 0, 0, 1) 100% - ), - linear-gradient(to right, #fff 0%, rgba(255, 255, 255, 0) 100%); - box-sizing: border-box; - cursor: crosshair; - forced-color-adjust: none; - } - .color-area__handle { - position: absolute; - width: var(--uui-color-area-grid-handle-size, 16px); - height: var(--uui-color-area-grid-handle-size, 16px); - border-radius: 50%; - box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25); - border: solid 2px white; - margin-top: calc(var(--uui-color-area-grid-handle-size, 16px) / -2); - margin-left: calc(var(--uui-color-area-grid-handle-size, 16px) / -2); - transition: 150ms transform; - box-sizing: inherit; - } - .color-area__handle--dragging { - cursor: none; - transform: scale(1.5); - } - .color-area__handle--empty { - display: none; - } - `, - ]; - @state() private isDraggingGridHandle = false; /** @@ -303,6 +249,60 @@ export class UUIColorAreaElement extends LitElement { `; } + + static styles = [ + css` + :host { + display: inline-block; + width: 280px; + height: 200px; + } + + :host([disabled]) { + cursor: not-allowed; + } + + :host([disabled]) .color-area { + user-select: none; + pointer-events: none; + opacity: 0.55; + } + + .color-area { + position: relative; + height: 100%; + width: 100%; + background-image: linear-gradient( + to bottom, + rgba(0, 0, 0, 0) 0%, + rgba(0, 0, 0, 1) 100% + ), + linear-gradient(to right, #fff 0%, rgba(255, 255, 255, 0) 100%); + box-sizing: border-box; + cursor: crosshair; + forced-color-adjust: none; + } + .color-area__handle { + position: absolute; + width: var(--uui-color-area-grid-handle-size, 16px); + height: var(--uui-color-area-grid-handle-size, 16px); + border-radius: 50%; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25); + border: solid 2px white; + margin-top: calc(var(--uui-color-area-grid-handle-size, 16px) / -2); + margin-left: calc(var(--uui-color-area-grid-handle-size, 16px) / -2); + transition: 150ms transform; + box-sizing: inherit; + } + .color-area__handle--dragging { + cursor: none; + transform: scale(1.5); + } + .color-area__handle--empty { + display: none; + } + `, + ]; } declare global { diff --git a/packages/uui-color-picker/lib/uui-color-picker.element.ts b/packages/uui-color-picker/lib/uui-color-picker.element.ts index b07587bda..36c897cf1 100644 --- a/packages/uui-color-picker/lib/uui-color-picker.element.ts +++ b/packages/uui-color-picker/lib/uui-color-picker.element.ts @@ -65,151 +65,6 @@ type UUIColorPickerSize = 'small' | 'medium' | 'large'; */ @defineElement('uui-color-picker') export class UUIColorPickerElement extends LabelMixin('label', LitElement) { - static styles = [ - css` - :host { - --uui-look-outline-border: #ddd; - --uui-look-outline-border-hover: #aaa; - font-size: 0.8rem; - display: block; - width: var(--uui-color-picker-width, 280px); - } - .color-picker { - width: 100%; - background-color: #fff; - user-select: none; - border: solid 1px #e4e4e7; - } - .color-picker__user-input { - display: flex; - padding: 0 0.75rem 0.75rem 0.75rem; - } - .color-picker__user-input uui-button { - border: var(--uui-input-border-width, 1px) solid - var(--uui-input-border-color, var(--uui-color-border)); - border-left: none; - } - .color-picker__preview, - .color-picker__trigger { - flex: 0 0 auto; - display: inline-flex; - align-items: center; - justify-content: center; - position: relative; - width: 2.25rem; - height: 2.25rem; - border: none; - border-radius: 50%; - background: none; - } - .color-picker__preview { - cursor: copy; - margin-left: 0.75rem; - border-radius: 50%; - } - .color-picker__trigger[disabled] { - cursor: not-allowed; - opacity: 0.5; - } - .color-picker__preview::before, - .color-picker__trigger::before { - content: ''; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - border-radius: inherit; - box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2); - /* We use a custom property in lieu of currentColor because of https://bugs.webkit.org/show_bug.cgi?id=216780 */ - background-color: var(--preview-color); - } - - .color-dropdown__trigger--empty::before { - background-color: transparent; - } - - .color-picker__transparent-bg { - background-image: linear-gradient( - 45deg, - var(--uui-palette-grey) 25%, - transparent 25% - ), - linear-gradient(45deg, transparent 75%, var(--uui-palette-grey) 75%), - linear-gradient(45deg, transparent 75%, var(--uui-palette-grey) 75%), - linear-gradient(45deg, var(--uui-palette-grey) 25%, transparent 25%); - background-size: 10px 10px; - background-position: 0 0, 0 0, -5px -5px, 5px 5px; - } - - .color-picker__preview-color--copied { - animation: pulse 0.75s; - } - - @keyframes pulse { - 0% { - box-shadow: 0 0 0 0 var(--uui-palette-space-cadet-light); - } - 70% { - box-shadow: 0 0 0 0.5rem transparent; - } - 100% { - box-shadow: 0 0 0 0 transparent; - } - } - - .color-picker__controls { - padding: 0.75rem; - display: flex; - align-items: center; - } - .color-picker__sliders { - flex: 1 1 auto; - } - - uui-color-slider:not(:last-of-type) { - margin-bottom: 1rem; - } - - .color-picker__toggle-format { - min-width: 45px; - --uui-button-font-size: 0.8rem; - } - .color-picker__toggle-format > span { - text-transform: uppercase; - } - - uui-color-swatches { - border-top: solid 1px #d4d4d8; - padding: 0.75rem; - } - - button[slot='trigger'] { - border-radius: 50%; - cursor: pointer; - width: 36px; - height: 36px; - } - - uui-popover { - display: block; - width: 100%; - margin: 5px 0; - } - - uui-input { - /* lower the font size to avoid overflow with hlsa format */ - font-size: 0.85rem; - box-sizing: content-box; - flex: 1; - } - - uui-color-area { - width: 100%; - } - `, - ]; - @query('[part="input"]') _input!: UUIInputElement; @query('.color-picker__preview') _previewButton!: HTMLButtonElement; @query('#swatches') _swatches!: UUIColorSwatchesElement; @@ -498,7 +353,7 @@ export class UUIColorPickerElement extends LabelMixin('label', LitElement) { closeColorPicker(event: Event) { const target = event.target as UUIPopoverElement; - const trigger = target.querySelector("button[part=trigger]"); + const trigger = target.querySelector('button[part=trigger]'); if (trigger) { trigger.setAttribute('aria-expanded', 'false'); @@ -617,13 +472,13 @@ export class UUIColorPickerElement extends LabelMixin('label', LitElement) { ${!this.noFormatToggle ? html` - ${this.format} - ` + label="Toggle color format" + @click=${this.handleFormatToggle} + class="color-picker__toggle-format" + ?disabled=${this.disabled} + compact> + ${this.format} + ` : ''} ${hasEyeDropper ? html` ${this.swatches.map( swatch => - html` + html` ` )} `; } private _renderPreviewButton() { - return html` - -
${this._renderColorPicker()}
-
`; + return html` + +
${this._renderColorPicker()}
+
`; } render() { @@ -693,6 +548,151 @@ export class UUIColorPickerElement extends LabelMixin('label', LitElement) { ? this._renderColorPicker() : this._renderPreviewButton(); } + + static styles = [ + css` + :host { + --uui-look-outline-border: #ddd; + --uui-look-outline-border-hover: #aaa; + font-size: 0.8rem; + display: block; + width: var(--uui-color-picker-width, 280px); + } + .color-picker { + width: 100%; + background-color: #fff; + user-select: none; + border: solid 1px #e4e4e7; + } + .color-picker__user-input { + display: flex; + padding: 0 0.75rem 0.75rem 0.75rem; + } + .color-picker__user-input uui-button { + border: var(--uui-input-border-width, 1px) solid + var(--uui-input-border-color, var(--uui-color-border)); + border-left: none; + } + .color-picker__preview, + .color-picker__trigger { + flex: 0 0 auto; + display: inline-flex; + align-items: center; + justify-content: center; + position: relative; + width: 2.25rem; + height: 2.25rem; + border: none; + border-radius: 50%; + background: none; + } + .color-picker__preview { + cursor: copy; + margin-left: 0.75rem; + border-radius: 50%; + } + .color-picker__trigger[disabled] { + cursor: not-allowed; + opacity: 0.5; + } + .color-picker__preview::before, + .color-picker__trigger::before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + border-radius: inherit; + box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2); + /* We use a custom property in lieu of currentColor because of https://bugs.webkit.org/show_bug.cgi?id=216780 */ + background-color: var(--preview-color); + } + + .color-dropdown__trigger--empty::before { + background-color: transparent; + } + + .color-picker__transparent-bg { + background-image: linear-gradient( + 45deg, + var(--uui-palette-grey) 25%, + transparent 25% + ), + linear-gradient(45deg, transparent 75%, var(--uui-palette-grey) 75%), + linear-gradient(45deg, transparent 75%, var(--uui-palette-grey) 75%), + linear-gradient(45deg, var(--uui-palette-grey) 25%, transparent 25%); + background-size: 10px 10px; + background-position: 0 0, 0 0, -5px -5px, 5px 5px; + } + + .color-picker__preview-color--copied { + animation: pulse 0.75s; + } + + @keyframes pulse { + 0% { + box-shadow: 0 0 0 0 var(--uui-palette-space-cadet-light); + } + 70% { + box-shadow: 0 0 0 0.5rem transparent; + } + 100% { + box-shadow: 0 0 0 0 transparent; + } + } + + .color-picker__controls { + padding: 0.75rem; + display: flex; + align-items: center; + } + .color-picker__sliders { + flex: 1 1 auto; + } + + uui-color-slider:not(:last-of-type) { + margin-bottom: 1rem; + } + + .color-picker__toggle-format { + min-width: 45px; + --uui-button-font-size: 0.8rem; + } + .color-picker__toggle-format > span { + text-transform: uppercase; + } + + uui-color-swatches { + border-top: solid 1px #d4d4d8; + padding: 0.75rem; + } + + button[slot='trigger'] { + border-radius: 50%; + cursor: pointer; + width: 36px; + height: 36px; + } + + uui-popover { + display: block; + width: 100%; + margin: 5px 0; + } + + uui-input { + /* lower the font size to avoid overflow with hlsa format */ + font-size: 0.85rem; + box-sizing: content-box; + flex: 1; + } + + uui-color-area { + width: 100%; + } + `, + ]; } declare global { diff --git a/packages/uui-color-slider/lib/uui-color-slider.element.ts b/packages/uui-color-slider/lib/uui-color-slider.element.ts index 10f8c47f0..e205f6061 100644 --- a/packages/uui-color-slider/lib/uui-color-slider.element.ts +++ b/packages/uui-color-slider/lib/uui-color-slider.element.ts @@ -28,119 +28,6 @@ export type UUIColorSliderType = 'hue' | 'opacity'; */ @defineElement('uui-color-slider') export class UUIColorSliderElement extends LabelMixin('label', LitElement) { - static styles = [ - css` - :host { - --uui-slider-height: 15px; - --uui-slider-handle-size: 17px; - --uui-slider-background-image: #fff; - --uui-slider-background-size: 100%; - --uui-slider-background-position: top left; - display: block; - } - - :host([type='hue']) { - --uui-slider-background-image: linear-gradient( - to right, - rgb(255, 0, 0) 0%, - rgb(255, 255, 0) 17%, - rgb(0, 255, 0) 33%, - rgb(0, 255, 255) 50%, - rgb(0, 0, 255) 67%, - rgb(255, 0, 255) 83%, - rgb(255, 0, 0) 100% - ); - } - - :host([vertical][type='hue']) { - --uui-slider-background-image: linear-gradient( - to top, - rgb(255, 0, 0) 0%, - rgb(255, 255, 0) 17%, - rgb(0, 255, 0) 33%, - rgb(0, 255, 255) 50%, - rgb(0, 0, 255) 67%, - rgb(255, 0, 255) 83%, - rgb(255, 0, 0) 100% - ); - } - - :host([type='opacity']) { - --uui-slider-background-image: linear-gradient( - 45deg, - var(--uui-palette-grey) 25%, - transparent 25% - ), - linear-gradient(45deg, transparent 75%, var(--uui-palette-grey) 75%), - linear-gradient(45deg, transparent 75%, var(--uui-palette-grey) 75%), - linear-gradient(45deg, var(--uui-palette-grey) 25%, transparent 25%); - - --uui-slider-background-size: 10px 10px; - --uui-slider-background-position: 0 0, 0 0, -5px -5px, 5px 5px; - } - - #color-slider { - position: relative; - background-image: var(--uui-slider-background-image); - background-size: var(--uui-slider-background-size); - background-position: var(--uui-slider-background-position); - border-radius: 3px; - box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2); - width: 100%; - height: var(--uui-slider-height); - } - - :host([vertical]) #color-slider { - width: var(--uui-slider-height); - height: 300px; - } - - :host([disabled]) { - cursor: not-allowed; - } - - :host([disabled]) #color-slider { - user-select: none; - pointer-events: none; - opacity: 0.55; - } - - #color-slider__handle { - position: absolute; - top: calc(50% - var(--uui-slider-handle-size) / 2); - width: var(--uui-slider-handle-size); - height: var(--uui-slider-handle-size); - background-color: white; - border-radius: 50%; - box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25); - margin-left: calc(var(--uui-slider-handle-size) / -2); - left: var(--current-value, 0%); - } - - :host([vertical]) #color-slider__handle { - left: unset; - top: var(--current-value, 100%); - margin-left: -1px; - margin-top: calc(var(--uui-slider-handle-size) / -2); - } - - ::slotted(*:first-child) { - border-radius: 3px; - position: absolute; - top: 0px; - left: 0px; - width: 100%; - height: 100%; - } - - #current-hue { - border-radius: 3px; - position: absolute; - inset: 0 0 0 0; - } - `, - ]; - /** * The type of the slider. * @type {UUIColorSliderType} @@ -375,6 +262,119 @@ export class UUIColorSliderElement extends LabelMixin('label', LitElement) { ${Math.round(this.value)}`; } + + static styles = [ + css` + :host { + --uui-slider-height: 15px; + --uui-slider-handle-size: 17px; + --uui-slider-background-image: #fff; + --uui-slider-background-size: 100%; + --uui-slider-background-position: top left; + display: block; + } + + :host([type='hue']) { + --uui-slider-background-image: linear-gradient( + to right, + rgb(255, 0, 0) 0%, + rgb(255, 255, 0) 17%, + rgb(0, 255, 0) 33%, + rgb(0, 255, 255) 50%, + rgb(0, 0, 255) 67%, + rgb(255, 0, 255) 83%, + rgb(255, 0, 0) 100% + ); + } + + :host([vertical][type='hue']) { + --uui-slider-background-image: linear-gradient( + to top, + rgb(255, 0, 0) 0%, + rgb(255, 255, 0) 17%, + rgb(0, 255, 0) 33%, + rgb(0, 255, 255) 50%, + rgb(0, 0, 255) 67%, + rgb(255, 0, 255) 83%, + rgb(255, 0, 0) 100% + ); + } + + :host([type='opacity']) { + --uui-slider-background-image: linear-gradient( + 45deg, + var(--uui-palette-grey) 25%, + transparent 25% + ), + linear-gradient(45deg, transparent 75%, var(--uui-palette-grey) 75%), + linear-gradient(45deg, transparent 75%, var(--uui-palette-grey) 75%), + linear-gradient(45deg, var(--uui-palette-grey) 25%, transparent 25%); + + --uui-slider-background-size: 10px 10px; + --uui-slider-background-position: 0 0, 0 0, -5px -5px, 5px 5px; + } + + #color-slider { + position: relative; + background-image: var(--uui-slider-background-image); + background-size: var(--uui-slider-background-size); + background-position: var(--uui-slider-background-position); + border-radius: 3px; + box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2); + width: 100%; + height: var(--uui-slider-height); + } + + :host([vertical]) #color-slider { + width: var(--uui-slider-height); + height: 300px; + } + + :host([disabled]) { + cursor: not-allowed; + } + + :host([disabled]) #color-slider { + user-select: none; + pointer-events: none; + opacity: 0.55; + } + + #color-slider__handle { + position: absolute; + top: calc(50% - var(--uui-slider-handle-size) / 2); + width: var(--uui-slider-handle-size); + height: var(--uui-slider-handle-size); + background-color: white; + border-radius: 50%; + box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25); + margin-left: calc(var(--uui-slider-handle-size) / -2); + left: var(--current-value, 0%); + } + + :host([vertical]) #color-slider__handle { + left: unset; + top: var(--current-value, 100%); + margin-left: -1px; + margin-top: calc(var(--uui-slider-handle-size) / -2); + } + + ::slotted(*:first-child) { + border-radius: 3px; + position: absolute; + top: 0px; + left: 0px; + width: 100%; + height: 100%; + } + + #current-hue { + border-radius: 3px; + position: absolute; + inset: 0 0 0 0; + } + `, + ]; } declare global { diff --git a/packages/uui-color-swatch/lib/uui-color-swatch.element.ts b/packages/uui-color-swatch/lib/uui-color-swatch.element.ts index 1b16eb532..d5b728a23 100644 --- a/packages/uui-color-swatch/lib/uui-color-swatch.element.ts +++ b/packages/uui-color-swatch/lib/uui-color-swatch.element.ts @@ -26,6 +26,140 @@ export class UUIColorSwatchElement extends LabelMixin( 'label', SelectableMixin(ActiveMixin(LitElement)) ) { + private _value: string | undefined = ''; + + /** + * Value of the swatch. Should be a valid hex, hexa, rgb, rgba, hsl or hsla string. Should fulfill this [css spec](https://www.w3.org/TR/css-color-4/#color-type). If not provided element will look at its text content. + * + * @attr + */ + @property() + get value(): string { + return this._value ? this._value : this.textContent?.trim() || ''; + } + + set value(newValue: string) { + const oldValue = this._value; + this._value = newValue; + this.requestUpdate('value', oldValue); + } + + /** + * Determines if the options is disabled. If true the option can't be selected + * + * @attr + */ + @property({ type: Boolean, reflect: true }) + disabled = false; + + /** + * When true shows element label below the color checkbox + * + * @attr + * @memberof UUIColorSwatchElement + */ + @property({ type: Boolean, attribute: 'show-label' }) + showLabel = false; + /** + * Colord object instance based on the value provided to the element. If the value is not a valid color, it falls back to black (like Amy Winehouse). For more information about Colord, see [Colord](https://omgovich.github.io/colord/) + * + * @memberof UUIColorSwatchElement + */ + get color(): Colord | null { + return this._color; + } + + set color(_) { + // do nothing, this is just to prevent the color from being set from outside + return; + } + private _color: Colord | null = null; + + /** + * Returns true if the color brightness is >= 0.5 + * + * @readonly + * @memberof UUIColorSwatchElement + */ + get isLight() { + return this.color?.isLight() ?? false; + } + + constructor() { + super(); + this.addEventListener('click', this._setAriaAttributes); + } + + private _initializeColor() { + this._color = new Colord(this.value ?? ''); + if (!this._color.isValid()) { + this.disabled = true; + console.error( + `Invalid color provided to uui-color-swatch: ${this.value}` + ); + } + } + + private _setAriaAttributes() { + if (this.selectable) + this.setAttribute('aria-checked', this.selected.toString()); + } + + firstUpdated() { + this._initializeColor(); + this._setAriaAttributes(); + } + + willUpdate(changedProperties: Map) { + if (changedProperties.has('value')) { + this._initializeColor(); + } + if (changedProperties.has('disabled')) { + if (this.selectable) { + this.selectable = !this.disabled; + this.deselectable = !this.disabled; + } + } + if ( + changedProperties.has('selectable') || + changedProperties.has('selected') + ) { + this._setAriaAttributes(); + } + } + + render() { + return html` + + `; + } + + private _renderWithLabel() { + if (!this.showLabel) return nothing; + return html`
+ ${this.renderLabel()} + ${this.value} +
`; + } + static styles = [ css` :host { @@ -191,140 +325,6 @@ export class UUIColorSwatchElement extends LabelMixin( } `, ]; - - private _value: string | undefined = ''; - - /** - * Value of the swatch. Should be a valid hex, hexa, rgb, rgba, hsl or hsla string. Should fulfill this [css spec](https://www.w3.org/TR/css-color-4/#color-type). If not provided element will look at its text content. - * - * @attr - */ - @property() - get value(): string { - return this._value ? this._value : this.textContent?.trim() || ''; - } - - set value(newValue: string) { - const oldValue = this._value; - this._value = newValue; - this.requestUpdate('value', oldValue); - } - - /** - * Determines if the options is disabled. If true the option can't be selected - * - * @attr - */ - @property({ type: Boolean, reflect: true }) - disabled = false; - - /** - * When true shows element label below the color checkbox - * - * @attr - * @memberof UUIColorSwatchElement - */ - @property({ type: Boolean, attribute: 'show-label' }) - showLabel = false; - /** - * Colord object instance based on the value provided to the element. If the value is not a valid color, it falls back to black (like Amy Winehouse). For more information about Colord, see [Colord](https://omgovich.github.io/colord/) - * - * @memberof UUIColorSwatchElement - */ - get color(): Colord | null { - return this._color; - } - - set color(_) { - // do nothing, this is just to prevent the color from being set from outside - return; - } - private _color: Colord | null = null; - - /** - * Returns true if the color brightness is >= 0.5 - * - * @readonly - * @memberof UUIColorSwatchElement - */ - get isLight() { - return this.color?.isLight() ?? false; - } - - constructor() { - super(); - this.addEventListener('click', this._setAriaAttributes); - } - - private _initializeColor() { - this._color = new Colord(this.value ?? ''); - if (!this._color.isValid()) { - this.disabled = true; - console.error( - `Invalid color provided to uui-color-swatch: ${this.value}` - ); - } - } - - private _setAriaAttributes() { - if (this.selectable) - this.setAttribute('aria-checked', this.selected.toString()); - } - - firstUpdated() { - this._initializeColor(); - this._setAriaAttributes(); - } - - willUpdate(changedProperties: Map) { - if (changedProperties.has('value')) { - this._initializeColor(); - } - if (changedProperties.has('disabled')) { - if (this.selectable) { - this.selectable = !this.disabled; - this.deselectable = !this.disabled; - } - } - if ( - changedProperties.has('selectable') || - changedProperties.has('selected') - ) { - this._setAriaAttributes(); - } - } - - render() { - return html` - - `; - } - - private _renderWithLabel() { - if (!this.showLabel) return nothing; - return html`
- ${this.renderLabel()} - ${this.value} -
`; - } } declare global { diff --git a/packages/uui-color-swatches/lib/uui-color-swatches.element.ts b/packages/uui-color-swatches/lib/uui-color-swatches.element.ts index 856994d5c..50b9ba20e 100644 --- a/packages/uui-color-swatches/lib/uui-color-swatches.element.ts +++ b/packages/uui-color-swatches/lib/uui-color-swatches.element.ts @@ -17,16 +17,6 @@ import { UUIColorSwatchesEvent } from './UUIColorSwatchesEvent'; */ @defineElement('uui-color-swatches') export class UUIColorSwatchesElement extends LabelMixin('label', LitElement) { - static styles = [ - css` - :host { - display: flex; - flex-wrap: wrap; - gap: 0.4rem; - } - `, - ]; - /** * Value of selected option. * @@ -35,13 +25,13 @@ export class UUIColorSwatchesElement extends LabelMixin('label', LitElement) { @property() value = ''; - /** - * Disables the color swatches. - * @type {boolean} - * @attr - * @default false - **/ - @property({ type: Boolean, reflect: true }) disabled = false; + /** + * Disables the color swatches. + * @type {boolean} + * @attr + * @default false + **/ + @property({ type: Boolean, reflect: true }) disabled = false; @queryAssignedElements({ selector: 'uui-color-swatch' }) swatches!: Array; @@ -90,9 +80,8 @@ export class UUIColorSwatchesElement extends LabelMixin('label', LitElement) { swatch.setAttribute('role', 'radio'); if (this.disabled) { - swatch.setAttribute('disabled', '') - } - else { + swatch.setAttribute('disabled', ''); + } else { // For some reason the value it really wants the attribute to be set not the value. If value is set then it is not reflected properly. :cry: swatch.setAttribute('selectable', 'selectable'); } @@ -141,7 +130,7 @@ export class UUIColorSwatchesElement extends LabelMixin('label', LitElement) { ); } }; - + /** * Deselects all swatches. * @@ -161,6 +150,16 @@ export class UUIColorSwatchesElement extends LabelMixin('label', LitElement) { render() { return html``; } + + static styles = [ + css` + :host { + display: flex; + flex-wrap: wrap; + gap: 0.4rem; + } + `, + ]; } declare global { diff --git a/packages/uui-combobox-list/lib/uui-combobox-list-option.element.ts b/packages/uui-combobox-list/lib/uui-combobox-list-option.element.ts index f4a655b99..bd1d4c908 100644 --- a/packages/uui-combobox-list/lib/uui-combobox-list-option.element.ts +++ b/packages/uui-combobox-list/lib/uui-combobox-list-option.element.ts @@ -12,6 +12,74 @@ import { ActiveMixin, SelectableMixin } from '@umbraco-ui/uui-base/lib/mixins'; export class UUIComboboxListOptionElement extends SelectableMixin( ActiveMixin(LitElement) ) { + private _value: string | undefined; + + @state() + private _disabled = false; + + @state() _displayValue = ''; + + /** + * Value of the option. + * @type { string } + * @attr + * @default "" + */ + @property({ type: String }) + public get value(): string { + return this._value ? this._value : this.textContent?.trim() || ''; + } + public set value(newValue: string) { + const oldValue = this._value; + this._value = newValue; + this.requestUpdate('value', oldValue); + } + + /** + * A readable value. + * @type { string } + * @attr + * @default "" + */ + @property({ type: String, attribute: 'display-value' }) + public get displayValue() { + return this._displayValue + ? this._displayValue + : this.textContent?.trim() || ''; + } + public set displayValue(newValue) { + const oldValue = this._displayValue; + this._displayValue = newValue; + this.requestUpdate('displayValue', oldValue); + } + + /** + * Determines if the options is disabled. If true the option can't be selected + * @type { boolean } + * @attr + * @default false + */ + @property({ type: Boolean, reflect: true }) + public get disabled() { + return this._disabled; + } + public set disabled(newValue) { + const oldValue = this._disabled; + this._disabled = newValue; + this.selectable = !this._disabled; + this.requestUpdate('disabled', oldValue); + } + + constructor() { + super(); + this.selectable = true; + this.deselectable = false; + } + + render() { + return html``; + } + static styles = [ css` :host { @@ -84,74 +152,6 @@ export class UUIComboboxListOptionElement extends SelectableMixin( } `, ]; - - private _value: string | undefined; - - @state() - private _disabled = false; - - @state() _displayValue = ''; - - /** - * Value of the option. - * @type { string } - * @attr - * @default "" - */ - @property({ type: String }) - public get value(): string { - return this._value ? this._value : this.textContent?.trim() || ''; - } - public set value(newValue: string) { - const oldValue = this._value; - this._value = newValue; - this.requestUpdate('value', oldValue); - } - - /** - * A readable value. - * @type { string } - * @attr - * @default "" - */ - @property({ type: String, attribute: 'display-value' }) - public get displayValue() { - return this._displayValue - ? this._displayValue - : this.textContent?.trim() || ''; - } - public set displayValue(newValue) { - const oldValue = this._displayValue; - this._displayValue = newValue; - this.requestUpdate('displayValue', oldValue); - } - - /** - * Determines if the options is disabled. If true the option can't be selected - * @type { boolean } - * @attr - * @default false - */ - @property({ type: Boolean, reflect: true }) - public get disabled() { - return this._disabled; - } - public set disabled(newValue) { - const oldValue = this._disabled; - this._disabled = newValue; - this.selectable = !this._disabled; - this.requestUpdate('disabled', oldValue); - } - - constructor() { - super(); - this.selectable = true; - this.deselectable = false; - } - - render() { - return html``; - } } declare global { diff --git a/packages/uui-combobox-list/lib/uui-combobox-list.element.ts b/packages/uui-combobox-list/lib/uui-combobox-list.element.ts index e00bb4f92..b2c0746a7 100644 --- a/packages/uui-combobox-list/lib/uui-combobox-list.element.ts +++ b/packages/uui-combobox-list/lib/uui-combobox-list.element.ts @@ -13,16 +13,6 @@ import { UUIComboboxListEvent } from './UUIComboboxListEvent'; */ @defineElement('uui-combobox-list') export class UUIComboboxListElement extends LitElement { - static styles = [ - css` - :host { - display: flex; - flex-direction: column; - box-sizing: border-box; - } - `, - ]; - /** * Value of selected option. * @type { FormDataEntryValue | FormData } @@ -250,6 +240,16 @@ export class UUIComboboxListElement extends LitElement { render() { return html` `; } + + static styles = [ + css` + :host { + display: flex; + flex-direction: column; + box-sizing: border-box; + } + `, + ]; } declare global { diff --git a/packages/uui-combobox/lib/uui-combobox-async-example.ts b/packages/uui-combobox/lib/uui-combobox-async-example.ts index 33704c829..6bf5334b9 100644 --- a/packages/uui-combobox/lib/uui-combobox-async-example.ts +++ b/packages/uui-combobox/lib/uui-combobox-async-example.ts @@ -28,18 +28,6 @@ const data: Array = [ @customElement('uui-combobox-async-example') export class UUIComboboxAsyncExampleElement extends LitElement { - static styles = [ - css` - #loader { - position: absolute; - } - - .help { - padding: var(--uui-size-4); - } - `, - ]; - @state() _options: any[] = []; @@ -101,4 +89,16 @@ export class UUIComboboxAsyncExampleElement extends LitElement { `; } + + static styles = [ + css` + #loader { + position: absolute; + } + + .help { + padding: var(--uui-size-4); + } + `, + ]; } diff --git a/packages/uui-combobox/lib/uui-combobox.element.ts b/packages/uui-combobox/lib/uui-combobox.element.ts index 91f595c3c..9751c8a42 100644 --- a/packages/uui-combobox/lib/uui-combobox.element.ts +++ b/packages/uui-combobox/lib/uui-combobox.element.ts @@ -27,78 +27,6 @@ import { UUIComboboxEvent } from './UUIComboboxEvent'; */ @defineElement('uui-combobox') export class UUIComboboxElement extends FormControlMixin(LitElement) { - static styles = [ - css` - :host { - display: inline-block; - } - - #combobox-input { - width: 100%; - border-radius: var(--uui-size-1); - } - - #scroll-container { - overflow-y: auto; - width: 100%; - max-height: var(--uui-combobox-popover-max-height, 500px); - } - - #dropdown { - overflow: hidden; - z-index: -1; - background-color: var( - --uui-combobox-popover-background-color, - var(--uui-color-surface) - ); - border: 1px solid var(--uui-color-border); - border-radius: var(--uui-border-radius); - width: 100%; - height: 100%; - box-sizing: border-box; - box-shadow: var(--uui-shadow-depth-3); - } - - #caret { - margin-right: var(--uui-size-3, 9px); - display: flex; - width: 1.15em; - flex-shrink: 0; - margin-top: -1px; - } - - :host([disabled]) #caret { - fill: var(--uui-color-disabled-contrast); - } - - #phone-wrapper { - position: fixed; - inset: 0; - display: flex; - flex-direction: column; - z-index: 1; - font-size: 1.1em; - } - - #phone-wrapper #dropdown { - display: flex; - } - - #phone-wrapper #combobox-input { - height: var(--uui-size-16); - } - - #phone-wrapper > uui-button { - height: var(--uui-size-14); - width: 100%; - } - - #phone-wrapper #scroll-container { - max-height: unset; - } - `, - ]; - @property({ attribute: 'value', reflect: true }) get value() { return this._value; @@ -384,6 +312,78 @@ export class UUIComboboxElement extends FormControlMixin(LitElement) { `; } } + + static styles = [ + css` + :host { + display: inline-block; + } + + #combobox-input { + width: 100%; + border-radius: var(--uui-size-1); + } + + #scroll-container { + overflow-y: auto; + width: 100%; + max-height: var(--uui-combobox-popover-max-height, 500px); + } + + #dropdown { + overflow: hidden; + z-index: -1; + background-color: var( + --uui-combobox-popover-background-color, + var(--uui-color-surface) + ); + border: 1px solid var(--uui-color-border); + border-radius: var(--uui-border-radius); + width: 100%; + height: 100%; + box-sizing: border-box; + box-shadow: var(--uui-shadow-depth-3); + } + + #caret { + margin-right: var(--uui-size-3, 9px); + display: flex; + width: 1.15em; + flex-shrink: 0; + margin-top: -1px; + } + + :host([disabled]) #caret { + fill: var(--uui-color-disabled-contrast); + } + + #phone-wrapper { + position: fixed; + inset: 0; + display: flex; + flex-direction: column; + z-index: 1; + font-size: 1.1em; + } + + #phone-wrapper #dropdown { + display: flex; + } + + #phone-wrapper #combobox-input { + height: var(--uui-size-16); + } + + #phone-wrapper > uui-button { + height: var(--uui-size-14); + width: 100%; + } + + #phone-wrapper #scroll-container { + max-height: unset; + } + `, + ]; } declare global { diff --git a/packages/uui-dialog-layout/lib/uui-dialog-layout.element.ts b/packages/uui-dialog-layout/lib/uui-dialog-layout.element.ts index 30a4c6f65..86ad0dcd9 100644 --- a/packages/uui-dialog-layout/lib/uui-dialog-layout.element.ts +++ b/packages/uui-dialog-layout/lib/uui-dialog-layout.element.ts @@ -11,23 +11,6 @@ import { property, state } from 'lit/decorators.js'; */ @defineElement('uui-dialog-layout') export class UUIDialogLayoutElement extends LitElement { - static styles = [ - css` - :host { - display: block; - padding: var(--uui-size-10) var(--uui-size-14); - color: var(--uui-color-text); - } - - #actions { - margin-top: var(--uui-size-8); - display: flex; - justify-content: end; - gap: var(--uui-size-4); - } - `, - ]; - /** * Headline for this notification, can also be set via the 'headline' slot. * @type string @@ -85,4 +68,21 @@ export class UUIDialogLayoutElement extends LitElement { return html`${this.renderHeadline()} ${this.renderContent()} ${this.renderActions()} `; } + + static styles = [ + css` + :host { + display: block; + padding: var(--uui-size-10) var(--uui-size-14); + color: var(--uui-color-text); + } + + #actions { + margin-top: var(--uui-size-8); + display: flex; + justify-content: end; + gap: var(--uui-size-4); + } + `, + ]; } diff --git a/packages/uui-dialog/lib/uui-dialog.element.ts b/packages/uui-dialog/lib/uui-dialog.element.ts index 06c96dc9d..9fe273502 100644 --- a/packages/uui-dialog/lib/uui-dialog.element.ts +++ b/packages/uui-dialog/lib/uui-dialog.element.ts @@ -8,6 +8,10 @@ import { css, html, LitElement } from 'lit'; */ @defineElement('uui-dialog') export class UUIDialogElement extends LitElement { + render() { + return html``; + } + static styles = [ css` :host { @@ -29,10 +33,6 @@ export class UUIDialogElement extends LitElement { } `, ]; - - render() { - return html``; - } } declare global { diff --git a/packages/uui-file-dropzone/lib/uui-file-dropzone.element.ts b/packages/uui-file-dropzone/lib/uui-file-dropzone.element.ts index 8f53c1c1a..026f4e141 100644 --- a/packages/uui-file-dropzone/lib/uui-file-dropzone.element.ts +++ b/packages/uui-file-dropzone/lib/uui-file-dropzone.element.ts @@ -13,48 +13,6 @@ import { demandCustomElement } from '@umbraco-ui/uui-base/lib/utils'; */ @defineElement('uui-file-dropzone') export class UUIFileDropzoneElement extends LabelMixin('', LitElement) { - static styles = [ - css` - #dropzone { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - position: relative; - box-sizing: border-box; - width: 100%; - height: 100%; - padding: var(--uui-size-4); - border: 3px solid transparent; - margin: -3px; - backdrop-filter: blur(2px); - } - #dropzone.hover { - border-color: var(--uui-color-default); - } - #dropzone.hover::before { - content: ''; - position: absolute; - inset: 0; - opacity: 0.2; - border-color: var(--uui-color-default); - background-color: var(--uui-color-default); - } - #symbol { - color: var(--uui-color-default); - max-width: 100%; - max-height: 100%; - } - #input { - position: absolute; - width: 0px; - height: 0px; - opacity: 0; - display: none; - } - `, - ]; - @query('#input') private _input!: HTMLInputElement; @@ -282,6 +240,48 @@ export class UUIFileDropzoneElement extends LabelMixin('', LitElement) { `; } + + static styles = [ + css` + #dropzone { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + position: relative; + box-sizing: border-box; + width: 100%; + height: 100%; + padding: var(--uui-size-4); + border: 3px solid transparent; + margin: -3px; + backdrop-filter: blur(2px); + } + #dropzone.hover { + border-color: var(--uui-color-default); + } + #dropzone.hover::before { + content: ''; + position: absolute; + inset: 0; + opacity: 0.2; + border-color: var(--uui-color-default); + background-color: var(--uui-color-default); + } + #symbol { + color: var(--uui-color-default); + max-width: 100%; + max-height: 100%; + } + #input { + position: absolute; + width: 0px; + height: 0px; + opacity: 0; + display: none; + } + `, + ]; } declare global { diff --git a/packages/uui-file-preview/lib/uui-file-preview.element.ts b/packages/uui-file-preview/lib/uui-file-preview.element.ts index ad9311799..464932db5 100644 --- a/packages/uui-file-preview/lib/uui-file-preview.element.ts +++ b/packages/uui-file-preview/lib/uui-file-preview.element.ts @@ -12,78 +12,6 @@ import { demandCustomElement } from '@umbraco-ui/uui-base/lib/utils'; */ @defineElement('uui-file-preview') export class UUIFilePreviewElement extends LitElement { - static styles = [ - css` - :host { - position: relative; - display: grid; - /* These have to be changed together */ - grid-template-rows: 100px 50px; - width: 150px; - height: 150px; - /* --------------------------------- */ - box-sizing: border-box; - aspect-ratio: 1; - color: var(--uui-color-text); - } - - :host(:hover) slot[name='actions']::slotted(*) { - opacity: 1; - } - - slot[name='actions']::slotted(*) { - position: absolute; - top: 8px; - right: 8px; - max-width: 100%; - height: 32px; - font-size: 13px; - opacity: 0; - z-index: 1; - transition: opacity 150ms; - } - - #file-symbol { - aspect-ratio: 1 / 1; - margin: auto; - max-width: 100%; - max-height: 100%; - } - - #file-info { - min-width: 0; - display: flex; - text-align: center; - flex-direction: column; - font-size: 1rem; - } - - #file-name { - display: flex; - justify-content: center; - } - - #file-name-start { - overflow: hidden; - white-space: nowrap; - text-overflow: ellipsis; - } - - #file-name-end { - white-space: nowrap; - } - - #file-size { - opacity: 0.6; - } - - .has-source:hover { - text-decoration: underline; - cursor: pointer; - } - `, - ]; - /** * Name of the file. * @type {string} @@ -245,6 +173,78 @@ export class UUIFilePreviewElement extends LitElement { `; } + + static styles = [ + css` + :host { + position: relative; + display: grid; + /* These have to be changed together */ + grid-template-rows: 100px 50px; + width: 150px; + height: 150px; + /* --------------------------------- */ + box-sizing: border-box; + aspect-ratio: 1; + color: var(--uui-color-text); + } + + :host(:hover) slot[name='actions']::slotted(*) { + opacity: 1; + } + + slot[name='actions']::slotted(*) { + position: absolute; + top: 8px; + right: 8px; + max-width: 100%; + height: 32px; + font-size: 13px; + opacity: 0; + z-index: 1; + transition: opacity 150ms; + } + + #file-symbol { + aspect-ratio: 1 / 1; + margin: auto; + max-width: 100%; + max-height: 100%; + } + + #file-info { + min-width: 0; + display: flex; + text-align: center; + flex-direction: column; + font-size: 1rem; + } + + #file-name { + display: flex; + justify-content: center; + } + + #file-name-start { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + + #file-name-end { + white-space: nowrap; + } + + #file-size { + opacity: 0.6; + } + + .has-source:hover { + text-decoration: underline; + cursor: pointer; + } + `, + ]; } declare global { diff --git a/packages/uui-form-layout-item/lib/uui-form-layout-item.element.ts b/packages/uui-form-layout-item/lib/uui-form-layout-item.element.ts index 56849222a..5d5f29a2a 100644 --- a/packages/uui-form-layout-item/lib/uui-form-layout-item.element.ts +++ b/packages/uui-form-layout-item/lib/uui-form-layout-item.element.ts @@ -16,28 +16,6 @@ import { property, state } from 'lit/decorators.js'; @defineElement('uui-form-layout-item') export class UUIFormLayoutItemElement extends LitElement { - static styles = [ - css` - :host { - position: relative; - display: block; - margin-top: var(--uui-size-space-5); - margin-bottom: var(--uui-size-space-5); - } - #label { - margin-top: -5px; - margin-bottom: 5px; - } - #description { - color: var(--uui-color-disabled-contrast); - font-size: var(--uui-type-small-size); - } - #label + #description { - margin-top: -8px; - min-height: 8px; - } - `, - ]; /* @property({type: String}) label: string | null = null; @@ -89,6 +67,29 @@ export class UUIFormLayoutItemElement extends LitElement { `; } + + static styles = [ + css` + :host { + position: relative; + display: block; + margin-top: var(--uui-size-space-5); + margin-bottom: var(--uui-size-space-5); + } + #label { + margin-top: -5px; + margin-bottom: 5px; + } + #description { + color: var(--uui-color-disabled-contrast); + font-size: var(--uui-type-small-size); + } + #label + #description { + margin-top: -8px; + min-height: 8px; + } + `, + ]; } declare global { diff --git a/packages/uui-form-validation-message/lib/uui-form-validation-message.element.ts b/packages/uui-form-validation-message/lib/uui-form-validation-message.element.ts index 76f885e8b..4669b1bd7 100644 --- a/packages/uui-form-validation-message/lib/uui-form-validation-message.element.ts +++ b/packages/uui-form-validation-message/lib/uui-form-validation-message.element.ts @@ -16,14 +16,6 @@ import { repeat } from 'lit/directives/repeat.js'; @defineElement('uui-form-validation-message') export class UUIFormValidationMessageElement extends LitElement { - static styles = [ - css` - #messages { - color: var(--uui-color-danger-standalone); - } - `, - ]; - /** * Set the element containing Form Controls of interest. * @type {string} @@ -103,6 +95,14 @@ export class UUIFormValidationMessageElement extends LitElement { `; } + + static styles = [ + css` + #messages { + color: var(--uui-color-danger-standalone); + } + `, + ]; } declare global { interface HTMLElementTagNameMap { diff --git a/packages/uui-icon/lib/uui-icon.element.ts b/packages/uui-icon/lib/uui-icon.element.ts index 1179cab53..4b20fd52b 100644 --- a/packages/uui-icon/lib/uui-icon.element.ts +++ b/packages/uui-icon/lib/uui-icon.element.ts @@ -13,30 +13,6 @@ import { unsafeHTML } from 'lit/directives/unsafe-html.js'; */ @defineElement('uui-icon') export class UUIIconElement extends LitElement { - static styles = [ - css` - :host { - display: inline-block; - vertical-align: bottom; - width: 1.15em; - height: 1.15em; - } - - :host svg, - ::slotted(svg) { - fill: var(--uui-icon-color, currentColor); - } - - :host-context(div[slot='prepend']) { - margin-left: var(--uui-size-2, 6px); - } - - :host-context(div[slot='append']) { - margin-right: var(--uui-size-2, 6px); - } - `, - ]; - private _name: string | null = null; private _retrievedNameIcon: boolean = false; @@ -137,6 +113,30 @@ export class UUIIconElement extends LitElement { return html``; } + + static styles = [ + css` + :host { + display: inline-block; + vertical-align: bottom; + width: 1.15em; + height: 1.15em; + } + + :host svg, + ::slotted(svg) { + fill: var(--uui-icon-color, currentColor); + } + + :host-context(div[slot='prepend']) { + margin-left: var(--uui-size-2, 6px); + } + + :host-context(div[slot='append']) { + margin-right: var(--uui-size-2, 6px); + } + `, + ]; } declare global { diff --git a/packages/uui-input-file/lib/uui-input-file.element.ts b/packages/uui-input-file/lib/uui-input-file.element.ts index 8a187af0e..5edd225be 100644 --- a/packages/uui-input-file/lib/uui-input-file.element.ts +++ b/packages/uui-input-file/lib/uui-input-file.element.ts @@ -15,59 +15,6 @@ import { repeat } from 'lit/directives/repeat.js'; */ @defineElement('uui-input-file') export class UUIInputFileElement extends FormControlMixin(LitElement) { - static styles = [ - css` - :host { - width: 100%; - height: 100%; - position: relative; - display: flex; - box-sizing: border-box; - border: 1px solid var(--uui-color-border); - } - - #input { - position: absolute; - width: 0px; - height: 0px; - opacity: 0; - display: none; - } - - #files { - display: grid; - box-sizing: border-box; - justify-items: center; - width: 100%; - grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); - grid-auto-rows: min-content; - gap: 16px; - padding: 16px; - overflow: auto; - max-height: 100%; - } - - #dropzone { - display: none; - position: absolute; - inset: 0px; - z-index: 10; - justify-content: center; - align-items: center; - } - - #add-button { - width: 150px; - height: 150px; - display: flex; - padding: 16px; - box-sizing: border-box; - justify-content: center; - align-items: stretch; - } - `, - ]; - @query('#dropzone') private _dropzone!: UUIFileDropzoneElement; @@ -276,6 +223,59 @@ export class UUIInputFileElement extends FormControlMixin(LitElement) { `; } + + static styles = [ + css` + :host { + width: 100%; + height: 100%; + position: relative; + display: flex; + box-sizing: border-box; + border: 1px solid var(--uui-color-border); + } + + #input { + position: absolute; + width: 0px; + height: 0px; + opacity: 0; + display: none; + } + + #files { + display: grid; + box-sizing: border-box; + justify-items: center; + width: 100%; + grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); + grid-auto-rows: min-content; + gap: 16px; + padding: 16px; + overflow: auto; + max-height: 100%; + } + + #dropzone { + display: none; + position: absolute; + inset: 0px; + z-index: 10; + justify-content: center; + align-items: center; + } + + #add-button { + width: 150px; + height: 150px; + display: flex; + padding: 16px; + box-sizing: border-box; + justify-content: center; + align-items: stretch; + } + `, + ]; } declare global { diff --git a/packages/uui-input-lock/lib/uui-input-lock.element.ts b/packages/uui-input-lock/lib/uui-input-lock.element.ts index e55efb1c4..aeb42d019 100644 --- a/packages/uui-input-lock/lib/uui-input-lock.element.ts +++ b/packages/uui-input-lock/lib/uui-input-lock.element.ts @@ -14,24 +14,6 @@ import { property } from 'lit/decorators.js'; */ @defineElement('uui-input-lock') export class UUIInputLockElement extends UUIInputElement { - static styles = [ - ...UUIInputElement.styles, - css` - #lock { - height: 100%; - - --uui-button-padding-left-factor: 0.75; - --uui-button-padding-right-factor: 0.75; - font-size: 12px; - } - - :host([locked]) #input { - cursor: not-allowed; - opacity: 0.55; - } - `, - ]; - /** * Determine the inputs locked state. * @type {boolean} @@ -75,6 +57,24 @@ export class UUIInputLockElement extends UUIInputElement { ${this.renderIcon()}
`; } + + static styles = [ + ...UUIInputElement.styles, + css` + #lock { + height: 100%; + + --uui-button-padding-left-factor: 0.75; + --uui-button-padding-right-factor: 0.75; + font-size: 12px; + } + + :host([locked]) #input { + cursor: not-allowed; + opacity: 0.55; + } + `, + ]; } declare global { diff --git a/packages/uui-input-password/lib/uui-input-password.element.ts b/packages/uui-input-password/lib/uui-input-password.element.ts index 1cd14537f..4d1407b03 100644 --- a/packages/uui-input-password/lib/uui-input-password.element.ts +++ b/packages/uui-input-password/lib/uui-input-password.element.ts @@ -14,20 +14,6 @@ import { property, state } from 'lit/decorators.js'; */ @defineElement('uui-input-password') export class UUIInputPasswordElement extends UUIInputElement { - static styles = [ - ...UUIInputElement.styles, - css` - #eye { - height: 100%; - margin-left: -6px; - } - - #clear:hover { - color: black; - } - `, - ]; - @state() private passwordType: InputType = 'password'; @@ -78,6 +64,20 @@ export class UUIInputPasswordElement extends UUIInputElement { ${this.renderIcon()} `; } + + static styles = [ + ...UUIInputElement.styles, + css` + #eye { + height: 100%; + margin-left: -6px; + } + + #clear:hover { + color: black; + } + `, + ]; } declare global { diff --git a/packages/uui-input/lib/uui-input.element.ts b/packages/uui-input/lib/uui-input.element.ts index c909d53ae..f80871404 100644 --- a/packages/uui-input/lib/uui-input.element.ts +++ b/packages/uui-input/lib/uui-input.element.ts @@ -41,146 +41,6 @@ export class UUIInputElement extends FormControlMixin( */ static readonly formAssociated = true; - static styles = [ - css` - :host { - position: relative; - display: inline-flex; - align-items: stretch; - height: var(--uui-size-11); - text-align: left; - box-sizing: border-box; - background-color: var( - --uui-input-background-color, - var(--uui-color-surface) - ); - border: var(--uui-input-border-width, 1px) solid - var(--uui-input-border-color, var(--uui-color-border)); - - --uui-button-height: 100%; - --auto-width-text-margin-right: 0; - --auto-width-text-margin-left: 0; - } - - #control { - position: relative; - display: flex; - flex-direction: column; - align-items: stretch; - justify-content: center; - } - - #auto { - border: 0 1px solid transparent; - visibility: hidden; - white-space: pre; - z-index: -1; - height: 0px; - padding: 0 var(--uui-size-space-3); - margin: 0 var(--auto-width-text-margin-right) 0 - var(--auto-width-text-margin-left); - } - - :host([auto-width]) #input { - width: 10px; - min-width: 100%; - } - - :host(:hover) { - border-color: var( - --uui-input-border-color-hover, - var(--uui-color-border-standalone) - ); - } - /* TODO: Fix so we dont get double outline when there is focus on things in the slot. */ - :host(:focus-within) { - border-color: var( - --uui-input-border-color-focus, - var(--uui-color-border-emphasis) - ); - outline: calc(2px * var(--uui-show-focus-outline, 1)) solid - var(--uui-color-focus); - } - :host(:focus) { - border-color: var( - --uui-input-border-color-focus, - var(--uui-color-border-emphasis) - ); - } - :host([disabled]) { - background-color: var( - --uui-input-background-color-disabled, - var(--uui-color-disabled) - ); - border-color: var( - --uui-input-border-color-disabled, - var(--uui-color-disabled) - ); - - color: var(--uui-color-disabled-contrast); - } - :host([disabled]) input { - -webkit-text-fill-color: var( - --uui-color-disabled-contrast - ); /* required on Safari and IOS */ - } - :host([readonly]) { - background-color: var( - --uui-input-background-color-readonly, - var(--uui-color-disabled) - ); - border-color: var( - --uui-input-border-color-readonly, - var(--uui-color-disabled-standalone) - ); - } - - :host(:not([pristine]):invalid), - /* polyfill support */ - :host(:not([pristine])[internals-invalid]) { - border-color: var(--uui-color-danger); - } - - input { - font-family: inherit; - padding: var(--uui-size-1) var(--uui-size-space-3); - font-size: inherit; - color: inherit; - border-radius: 0; - box-sizing: border-box; - border: none; - background: none; - width: 100%; - text-align: inherit; - outline: none; - } - - input::placeholder { - transition: opacity 120ms; - } - - input[type='password']::-ms-reveal { - display: none; - } - - :host(:not([readonly])) input:focus::placeholder { - opacity: 0; - } - - /* TODO: make sure color looks good, or remove it as an option as we want to provide color-picker component */ - input[type='color'] { - width: 30px; - padding: 0; - border: none; - } - - ::slotted(uui-input) { - height: 100%; - --uui-input-border-width: 0; - } - `, - ]; - /** * Sets the min value of the input. * Examples: the first date the user may pick in date and datetime-local, or the min numeric value the user can pick in a number input. @@ -453,6 +313,146 @@ export class UUIInputElement extends FormControlMixin( ? this.value : this.placeholder}`; } + + static styles = [ + css` + :host { + position: relative; + display: inline-flex; + align-items: stretch; + height: var(--uui-size-11); + text-align: left; + box-sizing: border-box; + background-color: var( + --uui-input-background-color, + var(--uui-color-surface) + ); + border: var(--uui-input-border-width, 1px) solid + var(--uui-input-border-color, var(--uui-color-border)); + + --uui-button-height: 100%; + --auto-width-text-margin-right: 0; + --auto-width-text-margin-left: 0; + } + + #control { + position: relative; + display: flex; + flex-direction: column; + align-items: stretch; + justify-content: center; + } + + #auto { + border: 0 1px solid transparent; + visibility: hidden; + white-space: pre; + z-index: -1; + height: 0px; + padding: 0 var(--uui-size-space-3); + margin: 0 var(--auto-width-text-margin-right) 0 + var(--auto-width-text-margin-left); + } + + :host([auto-width]) #input { + width: 10px; + min-width: 100%; + } + + :host(:hover) { + border-color: var( + --uui-input-border-color-hover, + var(--uui-color-border-standalone) + ); + } + /* TODO: Fix so we dont get double outline when there is focus on things in the slot. */ + :host(:focus-within) { + border-color: var( + --uui-input-border-color-focus, + var(--uui-color-border-emphasis) + ); + outline: calc(2px * var(--uui-show-focus-outline, 1)) solid + var(--uui-color-focus); + } + :host(:focus) { + border-color: var( + --uui-input-border-color-focus, + var(--uui-color-border-emphasis) + ); + } + :host([disabled]) { + background-color: var( + --uui-input-background-color-disabled, + var(--uui-color-disabled) + ); + border-color: var( + --uui-input-border-color-disabled, + var(--uui-color-disabled) + ); + + color: var(--uui-color-disabled-contrast); + } + :host([disabled]) input { + -webkit-text-fill-color: var( + --uui-color-disabled-contrast + ); /* required on Safari and IOS */ + } + :host([readonly]) { + background-color: var( + --uui-input-background-color-readonly, + var(--uui-color-disabled) + ); + border-color: var( + --uui-input-border-color-readonly, + var(--uui-color-disabled-standalone) + ); + } + + :host(:not([pristine]):invalid), + /* polyfill support */ + :host(:not([pristine])[internals-invalid]) { + border-color: var(--uui-color-danger); + } + + input { + font-family: inherit; + padding: var(--uui-size-1) var(--uui-size-space-3); + font-size: inherit; + color: inherit; + border-radius: 0; + box-sizing: border-box; + border: none; + background: none; + width: 100%; + text-align: inherit; + outline: none; + } + + input::placeholder { + transition: opacity 120ms; + } + + input[type='password']::-ms-reveal { + display: none; + } + + :host(:not([readonly])) input:focus::placeholder { + opacity: 0; + } + + /* TODO: make sure color looks good, or remove it as an option as we want to provide color-picker component */ + input[type='color'] { + width: 30px; + padding: 0; + border: none; + } + + ::slotted(uui-input) { + height: 100%; + --uui-input-border-width: 0; + } + `, + ]; } declare global { diff --git a/packages/uui-keyboard-shortcut/lib/uui-key.element.ts b/packages/uui-keyboard-shortcut/lib/uui-key.element.ts index 47c31bd23..deaab3384 100644 --- a/packages/uui-keyboard-shortcut/lib/uui-key.element.ts +++ b/packages/uui-keyboard-shortcut/lib/uui-key.element.ts @@ -8,6 +8,10 @@ import { css, html, LitElement } from 'lit'; */ @defineElement('uui-key') export class UUIKeyElement extends LitElement { + render() { + return html``; + } + static styles = [ css` :host { @@ -25,10 +29,6 @@ export class UUIKeyElement extends LitElement { } `, ]; - - render() { - return html``; - } } declare global { diff --git a/packages/uui-keyboard-shortcut/lib/uui-keyboard-shortcut.element.ts b/packages/uui-keyboard-shortcut/lib/uui-keyboard-shortcut.element.ts index bcdae7609..e87ed13fe 100644 --- a/packages/uui-keyboard-shortcut/lib/uui-keyboard-shortcut.element.ts +++ b/packages/uui-keyboard-shortcut/lib/uui-keyboard-shortcut.element.ts @@ -8,6 +8,10 @@ import { css, html, LitElement } from 'lit'; */ @defineElement('uui-keyboard-shortcut') export class UUIKeyboardShortcutElement extends LitElement { + render() { + return html``; + } + static styles = [ css` :host { @@ -26,10 +30,6 @@ export class UUIKeyboardShortcutElement extends LitElement { } `, ]; - - render() { - return html``; - } } declare global { diff --git a/packages/uui-label/lib/uui-label.element.ts b/packages/uui-label/lib/uui-label.element.ts index 2d322afc5..6ab279966 100644 --- a/packages/uui-label/lib/uui-label.element.ts +++ b/packages/uui-label/lib/uui-label.element.ts @@ -9,25 +9,6 @@ import { property } from 'lit/decorators.js'; */ @defineElement('uui-label') export class UUILabelElement extends LitElement { - static styles = [ - css` - :host { - font-weight: 700; - } - :host([for]) { - cursor: pointer; - } - :host([disabled]) { - cursor: default; - } - #required { - display: inline; - color: var(--uui-color-danger); - font-weight: 900; - } - `, - ]; - /** * Disables the label. * @type {boolean} @@ -84,6 +65,25 @@ export class UUILabelElement extends LitElement { ${this.required ? html`
*
` : ''} `; } + + static styles = [ + css` + :host { + font-weight: 700; + } + :host([for]) { + cursor: pointer; + } + :host([disabled]) { + cursor: default; + } + #required { + display: inline; + color: var(--uui-color-danger); + font-weight: 900; + } + `, + ]; } declare global { diff --git a/packages/uui-loader-bar/lib/uui-loader-bar.element.ts b/packages/uui-loader-bar/lib/uui-loader-bar.element.ts index 8f169b3ca..405b4af6d 100644 --- a/packages/uui-loader-bar/lib/uui-loader-bar.element.ts +++ b/packages/uui-loader-bar/lib/uui-loader-bar.element.ts @@ -11,6 +11,58 @@ const clamp = (num: number, min: number, max: number) => */ @defineElement('uui-loader-bar') export class UUILoaderBarElement extends LitElement { + private _progress = 0; + + /** + * Set this to a number between 0 and 100 to reflect the progress of some operation. When the value is left at 0 loader will looped animation + * @type {number} + * @attr + * @default 0 + */ + @property({ type: Number }) + get progress() { + return this._progress; + } + + set progress(newVal) { + const oldVal = this._progress; + this._progress = clamp(newVal, 0, 100); + this.requestUpdate('progress', oldVal); + } + + private _animationDuration = 1; + /** + * Set this to a number greater then 0 to define the length of loader animation in seconds. Passing 0 or a negative number as a value will set it to 1 second. This is because negative values are illegal in the `animation-duration` css property, and value of 0 just stops the animation. + * @type {number} + * @attr + * @default 1 + */ + @property({ type: Number }) + get animationDuration() { + return this._animationDuration; + } + + set animationDuration(newVal) { + const oldVal = this._animationDuration; + this._animationDuration = newVal >= 0 ? newVal : 1; + this.requestUpdate('animationDuration', oldVal); + } + + render() { + return html` + ${this.progress + ? html`
` + : ''} +
+
+ `; + } + static styles = [ css` :host { @@ -73,58 +125,6 @@ export class UUILoaderBarElement extends LitElement { } `, ]; - - private _progress = 0; - - /** - * Set this to a number between 0 and 100 to reflect the progress of some operation. When the value is left at 0 loader will looped animation - * @type {number} - * @attr - * @default 0 - */ - @property({ type: Number }) - get progress() { - return this._progress; - } - - set progress(newVal) { - const oldVal = this._progress; - this._progress = clamp(newVal, 0, 100); - this.requestUpdate('progress', oldVal); - } - - private _animationDuration = 1; - /** - * Set this to a number greater then 0 to define the length of loader animation in seconds. Passing 0 or a negative number as a value will set it to 1 second. This is because negative values are illegal in the `animation-duration` css property, and value of 0 just stops the animation. - * @type {number} - * @attr - * @default 1 - */ - @property({ type: Number }) - get animationDuration() { - return this._animationDuration; - } - - set animationDuration(newVal) { - const oldVal = this._animationDuration; - this._animationDuration = newVal >= 0 ? newVal : 1; - this.requestUpdate('animationDuration', oldVal); - } - - render() { - return html` - ${this.progress - ? html`
` - : ''} -
-
- `; - } } declare global { diff --git a/packages/uui-loader-circle/lib/uui-loader-circle.element.ts b/packages/uui-loader-circle/lib/uui-loader-circle.element.ts index d71cfe001..278d9362c 100644 --- a/packages/uui-loader-circle/lib/uui-loader-circle.element.ts +++ b/packages/uui-loader-circle/lib/uui-loader-circle.element.ts @@ -9,6 +9,79 @@ import { styleMap } from 'lit/directives/style-map.js'; */ @defineElement('uui-loader-circle') export class UUILoaderCircleElement extends LitElement { + private _circleStyle() { + if (this.progress) { + return { strokeDasharray: `${this.progress} 100` }; + } else { + return { strokeDasharray: '100 100' }; + } + } + + /** + * Sets the progress that loader shows + * @type {number} + * @attr + * @default 0 + */ + @property({ type: Number }) + progress = 0; + + /** + * If true then element displays progress number at bigger sizes + * @type {boolean} + * @attr show-progress + * @default false + */ + @property({ type: Boolean, reflect: true, attribute: 'show-progress' }) + showProgress = false; + + private _resizeObserver = new ResizeObserver(() => this.onResize()); + private _isLarge = false; + + firstUpdated() { + this._resizeObserver.observe(this); + } + + disconnectedCallback() { + this._resizeObserver.disconnect(); + } + + onResize() { + const newIsLarge = this.clientHeight >= 30; + + if (this._isLarge != newIsLarge) { + this._isLarge = newIsLarge; + this.requestUpdate(); + } + } + + protected renderProgress() { + return this._isLarge && this.progress && this.showProgress + ? html`${this.progress}` + : ''; + } + + render() { + return html` + + + + + + + ${this.renderProgress()} + `; + } + static styles = [ css` :host { @@ -97,79 +170,6 @@ export class UUILoaderCircleElement extends LitElement { } `, ]; - - private _circleStyle() { - if (this.progress) { - return { strokeDasharray: `${this.progress} 100` }; - } else { - return { strokeDasharray: '100 100' }; - } - } - - /** - * Sets the progress that loader shows - * @type {number} - * @attr - * @default 0 - */ - @property({ type: Number }) - progress = 0; - - /** - * If true then element displays progress number at bigger sizes - * @type {boolean} - * @attr show-progress - * @default false - */ - @property({ type: Boolean, reflect: true, attribute: 'show-progress' }) - showProgress = false; - - private _resizeObserver = new ResizeObserver(() => this.onResize()); - private _isLarge = false; - - firstUpdated() { - this._resizeObserver.observe(this); - } - - disconnectedCallback() { - this._resizeObserver.disconnect(); - } - - onResize() { - const newIsLarge = this.clientHeight >= 30; - - if (this._isLarge != newIsLarge) { - this._isLarge = newIsLarge; - this.requestUpdate(); - } - } - - protected renderProgress() { - return this._isLarge && this.progress && this.showProgress - ? html`${this.progress}` - : ''; - } - - render() { - return html` - - - - - - - ${this.renderProgress()} - `; - } } declare global { diff --git a/packages/uui-loader/lib/uui-loader.element.ts b/packages/uui-loader/lib/uui-loader.element.ts index a2e0b6757..e6d20661f 100644 --- a/packages/uui-loader/lib/uui-loader.element.ts +++ b/packages/uui-loader/lib/uui-loader.element.ts @@ -7,6 +7,14 @@ import { defineElement } from '@umbraco-ui/uui-base/lib/registration'; */ @defineElement('uui-loader') export class UUILoaderElement extends LitElement { + render() { + return html` +
+
+
+ `; + } + static styles = [ css` :host { @@ -50,14 +58,6 @@ export class UUILoaderElement extends LitElement { } `, ]; - - render() { - return html` -
-
-
- `; - } } declare global { diff --git a/packages/uui-menu-item/lib/uui-menu-item.element.ts b/packages/uui-menu-item/lib/uui-menu-item.element.ts index 9f99e3c80..4636a6cd4 100644 --- a/packages/uui-menu-item/lib/uui-menu-item.element.ts +++ b/packages/uui-menu-item/lib/uui-menu-item.element.ts @@ -28,6 +28,171 @@ import { UUIMenuItemEvent } from './UUIMenuItemEvent'; export class UUIMenuItemElement extends SelectOnlyMixin( SelectableMixin(ActiveMixin(LabelMixin('label', LitElement))) ) { + /** + * Disables the menu item, changes the looks of it and prevents it from emitting the click event + * @type {boolean} + * @attr + * @default false + */ + @property({ type: Boolean, reflect: true }) + public disabled = false; + + /** + * Controls if nested items should be shown. + * @type {boolean} + * @attr + * @default false + */ + @property({ type: Boolean, reflect: true, attribute: 'show-children' }) + public showChildren = false; + + // TODO: Should this be a getter that just checks on its own if there is any children? + /** + * Shows/hides the caret. + * @type {boolean} + * @attr + * @default false + */ + @property({ type: Boolean, attribute: 'has-children' }) + public hasChildren = false; + + /** + * Shows/hides the loading indicator + * @type {boolean} + * @attr + * @default false + */ + @property({ type: Boolean, attribute: 'loading' }) + public loading = false; + + /** + * Set an href, this will turns the label into a anchor tag. + * @type {string} + * @attr + * @default undefined + */ + @property({ type: String }) + public href?: string; + + /** + * Set an anchor tag target, only used when using href. + * @type {string} + * @attr + * @default undefined + */ + @property({ type: String }) + public target?: '_blank' | '_parent' | '_self' | '_top'; + + /** + * Sets the selection mode. + * @type {string} + * @attr + * @default undefined + */ + @property({ type: String, attribute: 'select-mode', reflect: true }) + public selectMode?: 'highlight' | 'persisting'; + + @state() + private iconSlotHasContent = false; + + connectedCallback() { + super.connectedCallback(); + if (!this.hasAttribute('role')) this.setAttribute('role', 'menu'); + + demandCustomElement(this, 'uui-symbol-expand'); + demandCustomElement(this, 'uui-loader-bar'); + } + + private _labelButtonChanged = (label?: Element | undefined) => { + this.selectableTarget = label || this; + }; + + private _iconSlotChanged = (e: any): void => { + this.iconSlotHasContent = + (e.target as HTMLSlotElement).assignedNodes({ flatten: true }).length > 0; + }; + + private _onCaretClicked = () => { + const eventName = this.showChildren + ? UUIMenuItemEvent.HIDE_CHILDREN + : UUIMenuItemEvent.SHOW_CHILDREN; + const event = new UUIMenuItemEvent(eventName, { cancelable: true }); + this.dispatchEvent(event); + + if (event.defaultPrevented) return; + + this.showChildren = !this.showChildren; + }; + + private _onLabelClicked = () => { + const event = new UUIMenuItemEvent(UUIMenuItemEvent.CLICK_LABEL); + this.dispatchEvent(event); + }; + + private _renderLabelInside() { + return html` + ${this.renderLabel()} + `; + } + + private _renderLabelAsAnchor() { + if (this.disabled) { + return html` + ${this._renderLabelInside()} + `; + } + return html` + ${this._renderLabelInside()} + `; + } + + private _renderLabelAsButton() { + return html` `; + } + + render() { + return html` + + ${this.showChildren ? html`` : ''} + `; + } + static styles = [ css` :host { @@ -342,171 +507,6 @@ export class UUIMenuItemElement extends SelectOnlyMixin( } `, ]; - - /** - * Disables the menu item, changes the looks of it and prevents it from emitting the click event - * @type {boolean} - * @attr - * @default false - */ - @property({ type: Boolean, reflect: true }) - public disabled = false; - - /** - * Controls if nested items should be shown. - * @type {boolean} - * @attr - * @default false - */ - @property({ type: Boolean, reflect: true, attribute: 'show-children' }) - public showChildren = false; - - // TODO: Should this be a getter that just checks on its own if there is any children? - /** - * Shows/hides the caret. - * @type {boolean} - * @attr - * @default false - */ - @property({ type: Boolean, attribute: 'has-children' }) - public hasChildren = false; - - /** - * Shows/hides the loading indicator - * @type {boolean} - * @attr - * @default false - */ - @property({ type: Boolean, attribute: 'loading' }) - public loading = false; - - /** - * Set an href, this will turns the label into a anchor tag. - * @type {string} - * @attr - * @default undefined - */ - @property({ type: String }) - public href?: string; - - /** - * Set an anchor tag target, only used when using href. - * @type {string} - * @attr - * @default undefined - */ - @property({ type: String }) - public target?: '_blank' | '_parent' | '_self' | '_top'; - - /** - * Sets the selection mode. - * @type {string} - * @attr - * @default undefined - */ - @property({ type: String, attribute: 'select-mode', reflect: true }) - public selectMode?: 'highlight' | 'persisting'; - - @state() - private iconSlotHasContent = false; - - connectedCallback() { - super.connectedCallback(); - if (!this.hasAttribute('role')) this.setAttribute('role', 'menu'); - - demandCustomElement(this, 'uui-symbol-expand'); - demandCustomElement(this, 'uui-loader-bar'); - } - - private _labelButtonChanged = (label?: Element | undefined) => { - this.selectableTarget = label || this; - }; - - private _iconSlotChanged = (e: any): void => { - this.iconSlotHasContent = - (e.target as HTMLSlotElement).assignedNodes({ flatten: true }).length > 0; - }; - - private _onCaretClicked = () => { - const eventName = this.showChildren - ? UUIMenuItemEvent.HIDE_CHILDREN - : UUIMenuItemEvent.SHOW_CHILDREN; - const event = new UUIMenuItemEvent(eventName, { cancelable: true }); - this.dispatchEvent(event); - - if (event.defaultPrevented) return; - - this.showChildren = !this.showChildren; - }; - - private _onLabelClicked = () => { - const event = new UUIMenuItemEvent(UUIMenuItemEvent.CLICK_LABEL); - this.dispatchEvent(event); - }; - - private _renderLabelInside() { - return html` - ${this.renderLabel()} - `; - } - - private _renderLabelAsAnchor() { - if (this.disabled) { - return html` - ${this._renderLabelInside()} - `; - } - return html` - ${this._renderLabelInside()} - `; - } - - private _renderLabelAsButton() { - return html` `; - } - - render() { - return html` - - ${this.showChildren ? html`` : ''} - `; - } } declare global { diff --git a/packages/uui-pagination/lib/uui-pagination.element.ts b/packages/uui-pagination/lib/uui-pagination.element.ts index 25b15a18b..132eecc8c 100644 --- a/packages/uui-pagination/lib/uui-pagination.element.ts +++ b/packages/uui-pagination/lib/uui-pagination.element.ts @@ -24,40 +24,6 @@ const arrayOfNumbers = (start: number, stop: number) => { */ @defineElement('uui-pagination') export class UUIPaginationElement extends LitElement { - static styles = [ - css` - uui-button-group { - width: 100%; - } - - uui-button { - --uui-button-border-color: var(--uui-color-border-standalone); - --uui-button-border-color-hover: var(--uui-color-interactive-emphasis); - --uui-button-border-color-disabled: var(--uui-color-border-standalone); - } - - .page { - min-width: 36px; - max-width: 72px; - } - .page.active { - --uui-button-background-color: var(--uui-color-current); - } - - .nav { - min-width: 72px; - } - - .dots { - pointer-events: none; - } - - .active { - pointer-events: none; - } - `, - ]; - private _observer = new ResizeObserver(this._calculateRange.bind(this)); connectedCallback() { @@ -349,6 +315,40 @@ export class UUIPaginationElement extends LitElement {
`; } + + static styles = [ + css` + uui-button-group { + width: 100%; + } + + uui-button { + --uui-button-border-color: var(--uui-color-border-standalone); + --uui-button-border-color-hover: var(--uui-color-interactive-emphasis); + --uui-button-border-color-disabled: var(--uui-color-border-standalone); + } + + .page { + min-width: 36px; + max-width: 72px; + } + .page.active { + --uui-button-background-color: var(--uui-color-current); + } + + .nav { + min-width: 72px; + } + + .dots { + pointer-events: none; + } + + .active { + pointer-events: none; + } + `, + ]; } declare global { diff --git a/packages/uui-popover/lib/uui-popover.element.ts b/packages/uui-popover/lib/uui-popover.element.ts index 65751c582..32d1accfc 100644 --- a/packages/uui-popover/lib/uui-popover.element.ts +++ b/packages/uui-popover/lib/uui-popover.element.ts @@ -39,37 +39,6 @@ function mathClamp(value: number, min: number, max: number) { */ @defineElement('uui-popover') export class UUIPopoverElement extends LitElement { - static styles = [ - css` - :host { - position: relative; - display: inline-block; - width: 100%; - } - #container { - position: absolute; - width: 100%; - z-index: var(--uui-popover-z-index, 1); - } - slot[name='popover'] { - display: block; - } - #trigger { - position: relative; - width: 100%; - } - - slot[name='trigger']::slotted(uui-button) { - --uui-button-border-radius: var( - --uui-popover-toggle-slot-button-border-radius - ); - --uui-button-merge-border-left: var( - --uui-popover-toggle-slot-button-merge-border-left - ); - } - `, - ]; - // Cashed non-state variables ////////////////////////////// private intersectionObserver?: IntersectionObserver; private scrollEventHandler = this._updatePlacement.bind(this); @@ -547,4 +516,35 @@ export class UUIPopoverElement extends LitElement { `; } + + static styles = [ + css` + :host { + position: relative; + display: inline-block; + width: 100%; + } + #container { + position: absolute; + width: 100%; + z-index: var(--uui-popover-z-index, 1); + } + slot[name='popover'] { + display: block; + } + #trigger { + position: relative; + width: 100%; + } + + slot[name='trigger']::slotted(uui-button) { + --uui-button-border-radius: var( + --uui-popover-toggle-slot-button-border-radius + ); + --uui-button-merge-border-left: var( + --uui-popover-toggle-slot-button-merge-border-left + ); + } + `, + ]; } diff --git a/packages/uui-progress-bar/lib/uui-progress-bar.element.ts b/packages/uui-progress-bar/lib/uui-progress-bar.element.ts index edfb56ca7..fcbe519fc 100644 --- a/packages/uui-progress-bar/lib/uui-progress-bar.element.ts +++ b/packages/uui-progress-bar/lib/uui-progress-bar.element.ts @@ -11,27 +11,6 @@ const clamp = (num: number, min: number, max: number) => */ @defineElement('uui-progress-bar') export class UUIProgressBarElement extends LitElement { - static styles = [ - css` - :host { - width: 100%; - height: 4px; - position: relative; - overflow: hidden; - background: var(--uui-color-surface-alt); - border-radius: 100px; - display: inline-block; - } - - #bar { - transition: width 250ms ease; - background: var(--uui-color-positive); - height: 100%; - width: 0%; - } - `, - ]; - private _progress = 0; /** * Set this to a number between 0 and 100 to reflect the progress of some operation. @@ -59,6 +38,27 @@ export class UUIProgressBarElement extends LitElement {
`; } + + static styles = [ + css` + :host { + width: 100%; + height: 4px; + position: relative; + overflow: hidden; + background: var(--uui-color-surface-alt); + border-radius: 100px; + display: inline-block; + } + + #bar { + transition: width 250ms ease; + background: var(--uui-color-positive); + height: 100%; + width: 0%; + } + `, + ]; } declare global { diff --git a/packages/uui-radio/lib/uui-radio-group.element.ts b/packages/uui-radio/lib/uui-radio-group.element.ts index ff142329c..e23a6e5d5 100644 --- a/packages/uui-radio/lib/uui-radio-group.element.ts +++ b/packages/uui-radio/lib/uui-radio-group.element.ts @@ -25,23 +25,6 @@ export class UUIRadioGroupElement extends FormControlMixin(LitElement) { */ static readonly formAssociated = true; - static styles = [ - css` - :host { - display: inline-block; - padding-right: 3px; - border: 1px solid transparent; - border-radius: var(--uui-border-radius); - } - - :host(:not([pristine]):invalid), - /* polyfill support */ - :host(:not([pristine])[internals-invalid]) { - border: 1px solid var(--uui-color-danger-standalone); - } - `, - ]; - /** * Disables the input. * @type {boolean} @@ -295,6 +278,23 @@ export class UUIRadioGroupElement extends FormControlMixin(LitElement) { render() { return html` `; } + + static styles = [ + css` + :host { + display: inline-block; + padding-right: 3px; + border: 1px solid transparent; + border-radius: var(--uui-border-radius); + } + + :host(:not([pristine]):invalid), + /* polyfill support */ + :host(:not([pristine])[internals-invalid]) { + border: 1px solid var(--uui-color-danger-standalone); + } + `, + ]; } declare global { diff --git a/packages/uui-radio/lib/uui-radio.element.ts b/packages/uui-radio/lib/uui-radio.element.ts index f22f89e30..5491e9154 100644 --- a/packages/uui-radio/lib/uui-radio.element.ts +++ b/packages/uui-radio/lib/uui-radio.element.ts @@ -17,128 +17,6 @@ import { UUIRadioEvent } from './UUIRadioEvent'; */ @defineElement('uui-radio') export class UUIRadioElement extends LitElement { - static styles = [ - UUIHorizontalShakeKeyframes, - css` - :host { - display: block; - box-sizing: border-box; - font-family: inherit; - color: currentColor; - --uui-radio-button-size: var(--uui-size-6); - margin: var(--uui-size-2) 0; - } - - label { - display: block; - box-sizing: border-box; - display: flex; - align-items: center; - cursor: pointer; - line-height: 18px; - } - - #input { - width: 0; - height: 0; - opacity: 0; - margin: 0; - } - - .label { - margin-top: 2px; - } - - #button { - box-sizing: border-box; - display: inline-block; - width: var(--uui-radio-button-size, 18px); - height: var(--uui-radio-button-size, 18px); - background-color: var(--uui-color-surface); - border: 1px solid var(--uui-color-border-standalone); - border-radius: 100%; - margin-right: calc(var(--uui-size-2) * 2); - position: relative; - flex: 0 0 var(--uui-radio-button-size); - } - - #button::after { - content: ''; - width: calc(var(--uui-radio-button-size) / 2); - height: calc(var(--uui-radio-button-size) / 2); - background-color: var(--uui-color-selected); - border-radius: 100%; - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%) scale(0); - transition: all 0.15s ease-in-out; - } - - :host(:hover) #button { - border: 1px solid var(--uui-color-border-emphasis); - } - - :host(:focus) { - outline: none; - } - :host(:focus) #button { - outline: calc(2px * var(--uui-show-focus-outline, 1)) solid - var(--uui-color-focus); - } - - input:checked ~ #button::after { - transform: translate(-50%, -50%) scale(1); - } - - input:checked ~ #button { - border: 1px solid var(--uui-color-selected); - } - - input:checked:hover ~ #button { - border: 1px solid var(--uui-color-selected-emphasis); - } - - input:checked:hover ~ #button::after { - background-color: var(--uui-color-selected-emphasis); - } - - :host([disabled]) label { - cursor: default; - opacity: 0.5; - } - :host([disabled]) .label { - color: var(--uui-color-disabled-contrast); - } - - :host([disabled]) input ~ #button { - border: 1px solid var(--uui-color-disabled-contrast); - } - - :host([disabled]) input:checked ~ #button { - border: 1px solid var(--uui-color-disabled-contrast); - } - - :host([disabled]) input:checked ~ #button::after { - background-color: var(--uui-color-disabled-contrast); - } - - :host([disabled]:active) #button { - animation: ${UUIHorizontalShakeAnimationValue}; - } - - @media (prefers-reduced-motion) { - :host([disabled]:active) #button { - animation: none; - } - - #button::after { - transition: none; - } - } - `, - ]; - @query('#input') private inputElement!: HTMLInputElement; @@ -292,6 +170,128 @@ export class UUIRadioElement extends LitElement { `; } + + static styles = [ + UUIHorizontalShakeKeyframes, + css` + :host { + display: block; + box-sizing: border-box; + font-family: inherit; + color: currentColor; + --uui-radio-button-size: var(--uui-size-6); + margin: var(--uui-size-2) 0; + } + + label { + display: block; + box-sizing: border-box; + display: flex; + align-items: center; + cursor: pointer; + line-height: 18px; + } + + #input { + width: 0; + height: 0; + opacity: 0; + margin: 0; + } + + .label { + margin-top: 2px; + } + + #button { + box-sizing: border-box; + display: inline-block; + width: var(--uui-radio-button-size, 18px); + height: var(--uui-radio-button-size, 18px); + background-color: var(--uui-color-surface); + border: 1px solid var(--uui-color-border-standalone); + border-radius: 100%; + margin-right: calc(var(--uui-size-2) * 2); + position: relative; + flex: 0 0 var(--uui-radio-button-size); + } + + #button::after { + content: ''; + width: calc(var(--uui-radio-button-size) / 2); + height: calc(var(--uui-radio-button-size) / 2); + background-color: var(--uui-color-selected); + border-radius: 100%; + position: absolute; + top: 50%; + left: 50%; + transform: translate(-50%, -50%) scale(0); + transition: all 0.15s ease-in-out; + } + + :host(:hover) #button { + border: 1px solid var(--uui-color-border-emphasis); + } + + :host(:focus) { + outline: none; + } + :host(:focus) #button { + outline: calc(2px * var(--uui-show-focus-outline, 1)) solid + var(--uui-color-focus); + } + + input:checked ~ #button::after { + transform: translate(-50%, -50%) scale(1); + } + + input:checked ~ #button { + border: 1px solid var(--uui-color-selected); + } + + input:checked:hover ~ #button { + border: 1px solid var(--uui-color-selected-emphasis); + } + + input:checked:hover ~ #button::after { + background-color: var(--uui-color-selected-emphasis); + } + + :host([disabled]) label { + cursor: default; + opacity: 0.5; + } + :host([disabled]) .label { + color: var(--uui-color-disabled-contrast); + } + + :host([disabled]) input ~ #button { + border: 1px solid var(--uui-color-disabled-contrast); + } + + :host([disabled]) input:checked ~ #button { + border: 1px solid var(--uui-color-disabled-contrast); + } + + :host([disabled]) input:checked ~ #button::after { + background-color: var(--uui-color-disabled-contrast); + } + + :host([disabled]:active) #button { + animation: ${UUIHorizontalShakeAnimationValue}; + } + + @media (prefers-reduced-motion) { + :host([disabled]:active) #button { + animation: none; + } + + #button::after { + transition: none; + } + } + `, + ]; } declare global { diff --git a/packages/uui-range-slider/lib/uui-range-slider.element.ts b/packages/uui-range-slider/lib/uui-range-slider.element.ts index aff184ba7..8f69b27ab 100644 --- a/packages/uui-range-slider/lib/uui-range-slider.element.ts +++ b/packages/uui-range-slider/lib/uui-range-slider.element.ts @@ -17,722 +17,379 @@ const STEP_MIN_WIDTH = 24; */ @defineElement('uui-range-slider') export class UUIRangeSliderElement extends FormControlMixin(LitElement) { - static styles = [ - UUIHorizontalPulseKeyframes, - css` - :host { - display: block; - min-height: 50px; - width: 100%; - place-items: center; - -webkit-user-select: none; /* Safari */ - -moz-user-select: none; /* Firefox */ - -ms-user-select: none; /* IE10+/Edge */ - user-select: none; - cursor: pointer; - } + static readonly formAssociated = true; - :host([disabled]) { - cursor: default; - } + /** + * Disables the input. + * @type {boolean} + * @attr + * @default false + */ + @property({ type: Boolean, reflect: true }) + disabled = false; - /** NATIVE INPUT STYLING */ + /** + * Label to be used for aria-label and eventually as visual label. Adds " low value" and " high value" endings for the two values. + * @type {string} + * @attr + */ + @property({ type: String }) + label!: String; - input { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - position: absolute; - top: 0; - background-color: transparent; - pointer-events: none; - left: 0; - right: 0; - border-radius: 20px; - } + /** + * This reflects the behavior of a native input step attribute. + * @type {number} + * @attr + * @default 1 + */ + @property({ type: Number }) + step = 1; - input::-webkit-slider-thumb { - pointer-events: all; - position: relative; - z-index: 1; - outline: 0; - } + /** + * Hides the numbers representing the value of each steps. Dots will still be visible + * @type {boolean} + * @attr 'hide-step-values' + * @default false + */ + @property({ type: Boolean, attribute: 'hide-step-values' }) + hideStepValues = false; - input::-moz-range-thumb { - pointer-events: all; - position: relative; - z-index: 10; - -moz-appearance: none; - background: linear-gradient(to bottom, #ededed 0%, #dedede 100%); - width: 11px; - } + /** + * Sets the minimum allowed value. + * @type {number} + * @attr min + * @default 0 + */ + @property({ type: Number }) + min = 0; - input::-moz-range-track { - position: relative; - z-index: -1; - background-color: rgba(0, 0, 0, 0.15); - border: 0; - } + /** + * Sets the maximum allowed value. + * @type {number} + * @attr max + * @default 100 + */ + @property({ type: Number }) + max = 100; - input:last-of-type::-moz-range-track { - -moz-appearance: none; - background: none transparent; - border: 0; - } + /** + * Minimum value gap between the the two picked values. Cannot be lower than the step value and cannot be higher than the maximum gap + * @type {number} + * @attr min-gap + * @default undefined + */ + @property({ type: Number, attribute: 'min-gap' }) + minGap?: number; - /** TRACK */ + /** + * Maximum value gap between the the two picked values. Cannot be lower than the minimum gap. + * @type {number} + * @attr max-gap + * @default undefined + */ + @property({ type: Number, attribute: 'max-gap' }) + maxGap?: number; - #inner-track .color-target { - position: absolute; - z-index: 2; - left: 0; - right: 0; - height: 25px; - transform: translateY(-50%); - } + /** + * This is a value property of the uui-range-slider. Split the two values with comma, forexample 10,50 sets the values to 10 and 50. + * @type {string} + * @attr + * @default 0,100 + */ + @property({ type: String }) + get value() { + return this._value; + } + set value(newVal) { + if (newVal instanceof String) { + super.value = newVal; + const values = newVal.split(','); + this.valueLow = parseInt(values[0]); + this.valueHigh = parseInt(values[1]); + } + } - #inner-track .color { - height: 3px; - position: absolute; - transition: background-color 320ms ease-out; - } + private _valueLow = 0; + /** + * The lower picked value. + * @type {number} + * @attr value-low + * @default 0 + */ + @property({ type: Number, attribute: 'value-low' }) + set valueLow(newLow) { + const old = this._valueHigh; + if (newLow <= this.min) { + this._valueLow = this.min; + super.value = `${this.min},${this.valueHigh}`; + this.requestUpdate('valueLow', old); + return; + } + if (newLow >= this.valueHigh - this.step) { + this._valueLow = this.valueHigh - this.step; + super.value = `${this.valueHigh - this.step},${this.valueHigh}`; + this.requestUpdate('valueLow', old); + return; + } + this._valueLow = newLow; + super.value = `${newLow},${this.valueHigh}`; + this.requestUpdate('valueLow', old); + } + get valueLow() { + return this._valueLow; + } - :host(:not([disabled])) - #range-slider - #inner-track - .color:has(.color-target:hover), - :host(:not([disabled])) - #range-slider - #inner-track - .color:has(.color-target:active) { - background-color: var(--uui-color-focus); - } + private _valueHigh = 100; + /** + * The higher picked value. + * @type {number} + * @attr value-high + * @default 100 + */ + @property({ type: Number, attribute: 'value-high' }) + set valueHigh(newHigh) { + const old = this._valueHigh; + if (newHigh >= this.max) { + this._valueHigh = this.max; + super.value = `${this.valueLow},${this.max}`; + this.requestUpdate('valueHigh', old); + return; + } + if (newHigh <= this.valueLow + this.step) { + this._valueHigh = this.valueLow + this.step; + super.value = `${this.valueLow},${this.valueLow + this.step}`; + this.requestUpdate('valueHigh', old); + return; + } + this._valueHigh = newHigh; + super.value = `${this.valueLow},${newHigh}`; + this.requestUpdate('valueHigh', old); + } + get valueHigh() { + return this._valueHigh; + } - :host(:not([disabled])) #range-slider .color { - background-color: var(--uui-color-selected); - } + @state() + private _trackWidth = 0; - :host([disabled]) #range-slider .color { - background-color: #555; - } + @state() + private _currentInputFocus?: HTMLInputElement; - #range-slider { - transform: translateY(50%); - position: relative; - height: 18px; - display: flex; - flex-direction: column; - width: 100%; - } + @state() + private _currentThumbFocus: 'high' | 'low' = 'low'; - #inner-track { - border-radius: 10px; - position: absolute; - height: 3px; - background-color: var(--uui-color-border-standalone); - left: ${TRACK_PADDING}px; /* Match TRACK_MARGIN */ - right: ${TRACK_PADDING}px; /* Match TRACK_MARGIN */ - } + @state() + private _grabbingBoth?: boolean; - #range-slider:hover #inner-track, - #range-slider:active #inner-track { - background-color: #a1a1a1; - } + @state() + private _startPos = 0; - /** STEP VALUES */ - - .track-step { - fill: var(--uui-color-border); - } + @state() + private _startLow = 0; - :host .track-step.filled { - fill: var(--uui-color-selected) !important; - } + @state() + private _startHigh = 0; - :host .track-step.filled-disabled { - fill: var(--uui-palette-mine-grey) !important; - } + @query('#low-input') + private _inputLow!: HTMLInputElement; - #range-slider:hover .track-step, - #range-slider:active .track-step { - fill: #a1a1a1; - } + @query('#high-input') + private _inputHigh!: HTMLInputElement; - #step-values { - margin: 0 ${TRACK_PADDING}px; /* Match TRACK_MARGIN */ - padding-top: ${TRACK_PADDING + 3}px; - display: flex; - align-items: flex-end; - box-sizing: border-box; - } + @query('#range-slider') + private _outerTrack!: HTMLElement; - #step-values > span { - flex-basis: 0; - flex-grow: 1; - color: var(--uui-color-disabled-contrast); - } + @query('#inner-track') + private _innerTrack!: HTMLElement; - #step-values > span > span { - transform: translateX(-50%); - display: inline-block; - text-align: center; - font-size: var(--uui-type-small-size); - } + @query('#low-thumb') + private _thumbLow!: HTMLElement; - #step-values > span:last-child { - width: 0; - flex-grow: 0; - } + @query('#high-thumb') + private _thumbHigh!: HTMLElement; - .svg-wrapper { - margin: 0 ${-1 * TRACK_PADDING}px; - height: 18px; - transform: translateY(-75%); - } + @query('.color') + private _innerColor!: HTMLElement; - .svg-wrapper svg { - margin-top: ${TRACK_PADDING / 2}px; - } + @query('.color-target') + private _bothThumbsTarget!: HTMLElement; - /** FOCUS */ + #setValue(val?: string) { + this._value = val ? val : `${this.valueLow},${this.valueHigh}`; + } - input[type='range'] { - position: absolute; - left: 0; - right: 0; - top: -50%; - } + protected getFormElement(): HTMLInputElement { + return this._currentInputFocus ? this._currentInputFocus : this._inputLow; + } - input[type='range']:focus-visible { - outline: none; - } + public focus() { + this._currentInputFocus + ? this._currentInputFocus.focus() + : this._inputLow.focus(); + } - #low-input:focus-visible ~ #inner-track #low-thumb, - #high-input:focus-visible ~ #inner-track #high-thumb, - #low-input:focus ~ #inner-track #low.thumb, - #high-input:focus ~ #inner-track #high-thumb, - #low-input:active ~ #inner-track #low.thumb, - #high-input:active ~ #inner-track #high-thumb { - outline: calc(2px * var(--uui-show-focus-outline, 1)) solid - var(--uui-color-focus); - } + private _onKeypress(e: KeyboardEvent) { + if (e.key == 'Enter') { + this.submit(); + } + } - input[type='range']:focus + .thumb { - outline: calc(2px * var(--uui-show-focus-outline, 1)) solid - var(--uui-color-focus); - } + /** Thumb position */ - :host(:not([disabled])) - #range-slider - #inner-track - .color:has(.color-target:hover) - ~ #low-thumb, - :host(:not([disabled])) - #range-slider - #inner-track - .color:has(.color-target:active) - ~ #low-thumb, - :host(:not([disabled])) - #range-slider - #inner-track - .color:has(.color-target:hover) - ~ #high-thumb, - :host(:not([disabled])) - #range-slider - #inner-track - .color:has(.color-target:active) - ~ #high-thumb { - outline: calc(2px * var(--uui-show-focus-outline, 1)) solid - var(--uui-color-focus); - } + private _sliderLowThumbPosition() { + const ratio = (this.valueLow - this.min) / (this.max - this.min); + const valueLowPercent = `${Math.floor(ratio * 100000) / 1000}%`; + return valueLowPercent; + } - /** THUMBS */ + private _sliderHighThumbPosition() { + const ratio = (this.valueHigh - this.min) / (this.max - this.min); + const valueHighPercent = `${Math.floor(ratio * 100000) / 1000}%`; + return valueHighPercent; + } - .thumb { - z-index: 3; - transform: translateY(-50%); - position: absolute; - top: 2px; - bottom: 0px; - left: 0px; - height: 17px; - width: 17px; - margin-left: -8px; - margin-right: -8px; - border-radius: 50%; - box-sizing: border-box; - background-color: var(--uui-color-surface, #fff); - border: 2px solid var(--uui-color-selected, #3544b1); - transition: left 120ms ease 0s; - } + /** Coloring of the line between thumbs */ - .thumb:after { - content: ''; - position: absolute; - top: 2px; - left: 2px; - height: 9px; - width: 9px; - border-radius: 50%; - background-color: var(--uui-color-selected); - } + private _fillColor() { + const percentStart = + ((this.valueLow - this.min) / (this.max - this.min)) * 100; + const percentEnd = + ((this.valueHigh - this.min) / (this.max - this.min)) * 100; - :host([disabled]) .thumb { - background-color: var(--uui-color-disabled); - border-color: var(--uui-palette-mine-grey); - } - :host([disabled]) .thumb:after { - background-color: var(--uui-palette-mine-grey); - } + this._innerColor.style.left = `${percentStart}%`; + this._innerColor.style.right = `${100 - percentEnd}%`; + } - .thumb .value { - position: absolute; - box-sizing: border-box; - font-weight: 700; - bottom: 15px; - left: 50%; - width: 40px; - margin-left: -20px; - text-align: center; - opacity: 1; - transition: 120ms opacity; - color: var(--uui-color-selected); - visibility: hidden; - opacity: 0; - } + /** Moving thumb */ - :host([disabled]) .thumb .value { - color: var(--uui-palette-mine-grey); - } + private _moveThumb(pageX: number) { + const value = this._getValue(pageX); + if (value >= this.valueHigh) this._setThumb(this._thumbHigh); + if (value <= this.valueLow) this._setThumb(this._thumbLow); + this._setValueBasedOnCurrentThumb( + this._validateValueBasedOnCurrentThumb(value) + ); + } - #range-slider:active .thumb .value, - #range-slider:focus .thumb .value, - #range-slider:hover .thumb .value { - visibility: visible; - opacity: 1; - } + /** Mouse events */ - /** NATIVE THUMB STYLING */ + private _onMouseDown = (e: MouseEvent) => { + e.preventDefault(); + if (this.disabled) return; + window.addEventListener('mouseup', this._onMouseUp); + window.addEventListener('mousemove', this._onMouseMove); - input[type='range']::-webkit-slider-thumb { - -webkit-appearance: none; - appearance: none; - width: 17px; - height: 17px; - background-color: transparent; - display: block; - border-radius: 100%; - pointer-events: auto; - cursor: pointer; - } - input[type='range']:disabled::-webkit-slider-thumb { - cursor: default; - } + const target = e.composedPath()[0]; + const pageX = e.pageX; - input[type='range']::-moz-range-thumb { - -moz-appearance: none; - appearance: none; - width: 17px; - height: 17px; - background-color: transparent; - display: block; - border-radius: 100%; - pointer-events: auto; - cursor: pointer; - } - input[type='range']:disabled::-moz-range-thumb { - cursor: default; - } + target == this._bothThumbsTarget + ? (this._grabbingBoth = true) + : (this._grabbingBoth = false); - input[type='range']::-ms-thumb { - appearance: none; - width: 17px; - height: 17px; - background-color: transparent; - display: block; - border-radius: 100%; - pointer-events: auto; - cursor: pointer; - } - input[type='range']:disabled::-ms-thumb { - cursor: default; - } - `, - ]; - - static readonly formAssociated = true; + if (this._grabbingBoth) { + this._saveStartPoint(pageX, this.valueLow, this.valueHigh); + return; + } - /** - * Disables the input. - * @type {boolean} - * @attr - * @default false - */ - @property({ type: Boolean, reflect: true }) - disabled = false; + this._moveThumb(pageX); + }; - /** - * Label to be used for aria-label and eventually as visual label. Adds " low value" and " high value" endings for the two values. - * @type {string} - * @attr - */ - @property({ type: String }) - label!: String; + private _onMouseMove = (e: MouseEvent) => { + e.preventDefault(); + const pageX = e.pageX; + const val = this._getValue(pageX); + if (!this._grabbingBoth) + this._setValueBasedOnCurrentThumb( + this._validateValueBasedOnCurrentThumb(val) + ); + else this._moveBoth(pageX); - /** - * This reflects the behavior of a native input step attribute. - * @type {number} - * @attr - * @default 1 - */ - @property({ type: Number }) - step = 1; + this.dispatchEvent(new UUIRangeSliderEvent(UUIRangeSliderEvent.INPUT)); + }; - /** - * Hides the numbers representing the value of each steps. Dots will still be visible - * @type {boolean} - * @attr 'hide-step-values' - * @default false - */ - @property({ type: Boolean, attribute: 'hide-step-values' }) - hideStepValues = false; + private _onMouseUp = () => { + this._stop(); + window.removeEventListener('mouseup', this._onMouseUp); + window.removeEventListener('mousemove', this._onMouseMove); + }; - /** - * Sets the minimum allowed value. - * @type {number} - * @attr min - * @default 0 - */ - @property({ type: Number }) - min = 0; + /** Touch / mobile events */ - /** - * Sets the maximum allowed value. - * @type {number} - * @attr max - * @default 100 - */ - @property({ type: Number }) - max = 100; + private _onTouchStart = (e: TouchEvent) => { + e.preventDefault(); + if (this.disabled) return; - /** - * Minimum value gap between the the two picked values. Cannot be lower than the step value and cannot be higher than the maximum gap - * @type {number} - * @attr min-gap - * @default undefined - */ - @property({ type: Number, attribute: 'min-gap' }) - minGap?: number; + window.addEventListener('touchend', this._onTouchEnd); + window.addEventListener('touchmove', this._onTouchMove); - /** - * Maximum value gap between the the two picked values. Cannot be lower than the minimum gap. - * @type {number} - * @attr max-gap - * @default undefined - */ - @property({ type: Number, attribute: 'max-gap' }) - maxGap?: number; + const target = e.composedPath()[0]; + const pageX = e.touches[0].pageX; - /** - * This is a value property of the uui-range-slider. Split the two values with comma, forexample 10,50 sets the values to 10 and 50. - * @type {string} - * @attr - * @default 0,100 - */ - @property({ type: String }) - get value() { - return this._value; - } - set value(newVal) { - if (newVal instanceof String) { - super.value = newVal; - const values = newVal.split(','); - this.valueLow = parseInt(values[0]); - this.valueHigh = parseInt(values[1]); - } - } + target == this._bothThumbsTarget + ? (this._grabbingBoth = true) + : (this._grabbingBoth = false); - private _valueLow = 0; - /** - * The lower picked value. - * @type {number} - * @attr value-low - * @default 0 - */ - @property({ type: Number, attribute: 'value-low' }) - set valueLow(newLow) { - const old = this._valueHigh; - if (newLow <= this.min) { - this._valueLow = this.min; - super.value = `${this.min},${this.valueHigh}`; - this.requestUpdate('valueLow', old); - return; - } - if (newLow >= this.valueHigh - this.step) { - this._valueLow = this.valueHigh - this.step; - super.value = `${this.valueHigh - this.step},${this.valueHigh}`; - this.requestUpdate('valueLow', old); + if (this._grabbingBoth) { + this._saveStartPoint(pageX, this.valueLow, this.valueHigh); return; } - this._valueLow = newLow; - super.value = `${newLow},${this.valueHigh}`; - this.requestUpdate('valueLow', old); - } - get valueLow() { - return this._valueLow; - } + this._moveThumb(pageX); + }; - private _valueHigh = 100; - /** - * The higher picked value. - * @type {number} - * @attr value-high - * @default 100 - */ - @property({ type: Number, attribute: 'value-high' }) - set valueHigh(newHigh) { - const old = this._valueHigh; - if (newHigh >= this.max) { - this._valueHigh = this.max; - super.value = `${this.valueLow},${this.max}`; - this.requestUpdate('valueHigh', old); - return; - } - if (newHigh <= this.valueLow + this.step) { - this._valueHigh = this.valueLow + this.step; - super.value = `${this.valueLow},${this.valueLow + this.step}`; - this.requestUpdate('valueHigh', old); - return; - } - this._valueHigh = newHigh; - super.value = `${this.valueLow},${newHigh}`; - this.requestUpdate('valueHigh', old); - } - get valueHigh() { - return this._valueHigh; - } + private _onTouchMove = (e: TouchEvent) => { + const pageX = e.touches[0].pageX; + const val = this._getValue(pageX); + if (!this._grabbingBoth) + this._setValueBasedOnCurrentThumb( + this._validateValueBasedOnCurrentThumb(val) + ); + else this._moveBoth(pageX); - @state() - private _trackWidth = 0; + this.dispatchEvent(new UUIRangeSliderEvent(UUIRangeSliderEvent.INPUT)); + }; - @state() - private _currentInputFocus?: HTMLInputElement; + private _onTouchEnd = () => { + this._stop(); + window.removeEventListener('touchend', this._onTouchEnd); + window.removeEventListener('touchmove', this._onTouchMove); + }; - @state() - private _currentThumbFocus: 'high' | 'low' = 'low'; + /** */ - @state() - private _grabbingBoth?: boolean; + private _stop() { + this._grabbingBoth = false; + this.pristine = false; + this.dispatchEvent(new UUIRangeSliderEvent(UUIRangeSliderEvent.CHANGE)); + } - @state() - private _startPos = 0; + /** The latest thumb in use */ - @state() - private _startLow = 0; + private _setThumb(target: EventTarget | HTMLElement) { + this._currentThumbFocus = target === this._thumbLow ? 'low' : 'high'; - @state() - private _startHigh = 0; + this._currentThumbFocus === 'low' + ? (this._currentInputFocus = this._inputLow) + : (this._currentInputFocus = this._inputHigh); - @query('#low-input') - private _inputLow!: HTMLInputElement; + this.focus(); + } - @query('#high-input') - private _inputHigh!: HTMLInputElement; + private _setValueBasedOnCurrentThumb(val: number) { + this._currentThumbFocus === 'low' + ? (this.valueLow = val) + : (this.valueHigh = val); + } - @query('#range-slider') - private _outerTrack!: HTMLElement; + /** Get the value depends on where clicked/touched */ - @query('#inner-track') - private _innerTrack!: HTMLElement; + private _getValue(pageX: number) { + const mouseXPosition = + pageX - this._innerTrack.getBoundingClientRect().left; + const clickPercent = + mouseXPosition / (this._trackWidth - TRACK_PADDING * 2); - @query('#low-thumb') - private _thumbLow!: HTMLElement; - - @query('#high-thumb') - private _thumbHigh!: HTMLElement; - - @query('.color') - private _innerColor!: HTMLElement; - - @query('.color-target') - private _bothThumbsTarget!: HTMLElement; - - #setValue(val?: string) { - this._value = val ? val : `${this.valueLow},${this.valueHigh}`; - } - - protected getFormElement(): HTMLInputElement { - return this._currentInputFocus ? this._currentInputFocus : this._inputLow; - } - - public focus() { - this._currentInputFocus - ? this._currentInputFocus.focus() - : this._inputLow.focus(); - } - - private _onKeypress(e: KeyboardEvent) { - if (e.key == 'Enter') { - this.submit(); - } - } - - /** Thumb position */ - - private _sliderLowThumbPosition() { - const ratio = (this.valueLow - this.min) / (this.max - this.min); - const valueLowPercent = `${Math.floor(ratio * 100000) / 1000}%`; - return valueLowPercent; - } - - private _sliderHighThumbPosition() { - const ratio = (this.valueHigh - this.min) / (this.max - this.min); - const valueHighPercent = `${Math.floor(ratio * 100000) / 1000}%`; - return valueHighPercent; - } - - /** Coloring of the line between thumbs */ - - private _fillColor() { - const percentStart = - ((this.valueLow - this.min) / (this.max - this.min)) * 100; - const percentEnd = - ((this.valueHigh - this.min) / (this.max - this.min)) * 100; - - this._innerColor.style.left = `${percentStart}%`; - this._innerColor.style.right = `${100 - percentEnd}%`; - } - - /** Moving thumb */ - - private _moveThumb(pageX: number) { - const value = this._getValue(pageX); - if (value >= this.valueHigh) this._setThumb(this._thumbHigh); - if (value <= this.valueLow) this._setThumb(this._thumbLow); - this._setValueBasedOnCurrentThumb( - this._validateValueBasedOnCurrentThumb(value) - ); - } - - /** Mouse events */ - - private _onMouseDown = (e: MouseEvent) => { - e.preventDefault(); - if (this.disabled) return; - window.addEventListener('mouseup', this._onMouseUp); - window.addEventListener('mousemove', this._onMouseMove); - - const target = e.composedPath()[0]; - const pageX = e.pageX; - - target == this._bothThumbsTarget - ? (this._grabbingBoth = true) - : (this._grabbingBoth = false); - - if (this._grabbingBoth) { - this._saveStartPoint(pageX, this.valueLow, this.valueHigh); - return; - } - - this._moveThumb(pageX); - }; - - private _onMouseMove = (e: MouseEvent) => { - e.preventDefault(); - const pageX = e.pageX; - const val = this._getValue(pageX); - if (!this._grabbingBoth) - this._setValueBasedOnCurrentThumb( - this._validateValueBasedOnCurrentThumb(val) - ); - else this._moveBoth(pageX); - - this.dispatchEvent(new UUIRangeSliderEvent(UUIRangeSliderEvent.INPUT)); - }; - - private _onMouseUp = () => { - this._stop(); - window.removeEventListener('mouseup', this._onMouseUp); - window.removeEventListener('mousemove', this._onMouseMove); - }; - - /** Touch / mobile events */ - - private _onTouchStart = (e: TouchEvent) => { - e.preventDefault(); - if (this.disabled) return; - - window.addEventListener('touchend', this._onTouchEnd); - window.addEventListener('touchmove', this._onTouchMove); - - const target = e.composedPath()[0]; - const pageX = e.touches[0].pageX; - - target == this._bothThumbsTarget - ? (this._grabbingBoth = true) - : (this._grabbingBoth = false); - - if (this._grabbingBoth) { - this._saveStartPoint(pageX, this.valueLow, this.valueHigh); - return; - } - this._moveThumb(pageX); - }; - - private _onTouchMove = (e: TouchEvent) => { - const pageX = e.touches[0].pageX; - const val = this._getValue(pageX); - if (!this._grabbingBoth) - this._setValueBasedOnCurrentThumb( - this._validateValueBasedOnCurrentThumb(val) - ); - else this._moveBoth(pageX); - - this.dispatchEvent(new UUIRangeSliderEvent(UUIRangeSliderEvent.INPUT)); - }; - - private _onTouchEnd = () => { - this._stop(); - window.removeEventListener('touchend', this._onTouchEnd); - window.removeEventListener('touchmove', this._onTouchMove); - }; - - /** */ - - private _stop() { - this._grabbingBoth = false; - this.pristine = false; - this.dispatchEvent(new UUIRangeSliderEvent(UUIRangeSliderEvent.CHANGE)); - } - - /** The latest thumb in use */ - - private _setThumb(target: EventTarget | HTMLElement) { - this._currentThumbFocus = target === this._thumbLow ? 'low' : 'high'; - - this._currentThumbFocus === 'low' - ? (this._currentInputFocus = this._inputLow) - : (this._currentInputFocus = this._inputHigh); - - this.focus(); - } - - private _setValueBasedOnCurrentThumb(val: number) { - this._currentThumbFocus === 'low' - ? (this.valueLow = val) - : (this.valueHigh = val); - } - - /** Get the value depends on where clicked/touched */ - - private _getValue(pageX: number) { - const mouseXPosition = - pageX - this._innerTrack.getBoundingClientRect().left; - const clickPercent = - mouseXPosition / (this._trackWidth - TRACK_PADDING * 2); - - const clickedValue = clickPercent * (this.max - this.min) + this.min; - const newValue = Math.round(clickedValue / this.step) * this.step; + const clickedValue = clickPercent * (this.max - this.min) + this.min; + const newValue = Math.round(clickedValue / this.step) * this.step; return newValue; } @@ -1026,6 +683,349 @@ export class UUIRangeSliderElement extends FormControlMixin(LitElement) { return nothing; } } + + static styles = [ + UUIHorizontalPulseKeyframes, + css` + :host { + display: block; + min-height: 50px; + width: 100%; + place-items: center; + -webkit-user-select: none; /* Safari */ + -moz-user-select: none; /* Firefox */ + -ms-user-select: none; /* IE10+/Edge */ + user-select: none; + cursor: pointer; + } + + :host([disabled]) { + cursor: default; + } + + /** NATIVE INPUT STYLING */ + + input { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + position: absolute; + top: 0; + background-color: transparent; + pointer-events: none; + left: 0; + right: 0; + border-radius: 20px; + } + + input::-webkit-slider-thumb { + pointer-events: all; + position: relative; + z-index: 1; + outline: 0; + } + + input::-moz-range-thumb { + pointer-events: all; + position: relative; + z-index: 10; + -moz-appearance: none; + background: linear-gradient(to bottom, #ededed 0%, #dedede 100%); + width: 11px; + } + + input::-moz-range-track { + position: relative; + z-index: -1; + background-color: rgba(0, 0, 0, 0.15); + border: 0; + } + + input:last-of-type::-moz-range-track { + -moz-appearance: none; + background: none transparent; + border: 0; + } + + /** TRACK */ + + #inner-track .color-target { + position: absolute; + z-index: 2; + left: 0; + right: 0; + height: 25px; + transform: translateY(-50%); + } + + #inner-track .color { + height: 3px; + position: absolute; + transition: background-color 320ms ease-out; + } + + :host(:not([disabled])) + #range-slider + #inner-track + .color:has(.color-target:hover), + :host(:not([disabled])) + #range-slider + #inner-track + .color:has(.color-target:active) { + background-color: var(--uui-color-focus); + } + + :host(:not([disabled])) #range-slider .color { + background-color: var(--uui-color-selected); + } + + :host([disabled]) #range-slider .color { + background-color: #555; + } + + #range-slider { + transform: translateY(50%); + position: relative; + height: 18px; + display: flex; + flex-direction: column; + width: 100%; + } + + #inner-track { + border-radius: 10px; + position: absolute; + height: 3px; + background-color: var(--uui-color-border-standalone); + left: ${TRACK_PADDING}px; /* Match TRACK_MARGIN */ + right: ${TRACK_PADDING}px; /* Match TRACK_MARGIN */ + } + + #range-slider:hover #inner-track, + #range-slider:active #inner-track { + background-color: #a1a1a1; + } + + /** STEP VALUES */ + + .track-step { + fill: var(--uui-color-border); + } + + :host .track-step.filled { + fill: var(--uui-color-selected) !important; + } + + :host .track-step.filled-disabled { + fill: var(--uui-palette-mine-grey) !important; + } + + #range-slider:hover .track-step, + #range-slider:active .track-step { + fill: #a1a1a1; + } + + #step-values { + margin: 0 ${TRACK_PADDING}px; /* Match TRACK_MARGIN */ + padding-top: ${TRACK_PADDING + 3}px; + display: flex; + align-items: flex-end; + box-sizing: border-box; + } + + #step-values > span { + flex-basis: 0; + flex-grow: 1; + color: var(--uui-color-disabled-contrast); + } + + #step-values > span > span { + transform: translateX(-50%); + display: inline-block; + text-align: center; + font-size: var(--uui-type-small-size); + } + + #step-values > span:last-child { + width: 0; + flex-grow: 0; + } + + .svg-wrapper { + margin: 0 ${-1 * TRACK_PADDING}px; + height: 18px; + transform: translateY(-75%); + } + + .svg-wrapper svg { + margin-top: ${TRACK_PADDING / 2}px; + } + + /** FOCUS */ + + input[type='range'] { + position: absolute; + left: 0; + right: 0; + top: -50%; + } + + input[type='range']:focus-visible { + outline: none; + } + + #low-input:focus-visible ~ #inner-track #low-thumb, + #high-input:focus-visible ~ #inner-track #high-thumb, + #low-input:focus ~ #inner-track #low.thumb, + #high-input:focus ~ #inner-track #high-thumb, + #low-input:active ~ #inner-track #low.thumb, + #high-input:active ~ #inner-track #high-thumb { + outline: calc(2px * var(--uui-show-focus-outline, 1)) solid + var(--uui-color-focus); + } + + input[type='range']:focus + .thumb { + outline: calc(2px * var(--uui-show-focus-outline, 1)) solid + var(--uui-color-focus); + } + + :host(:not([disabled])) + #range-slider + #inner-track + .color:has(.color-target:hover) + ~ #low-thumb, + :host(:not([disabled])) + #range-slider + #inner-track + .color:has(.color-target:active) + ~ #low-thumb, + :host(:not([disabled])) + #range-slider + #inner-track + .color:has(.color-target:hover) + ~ #high-thumb, + :host(:not([disabled])) + #range-slider + #inner-track + .color:has(.color-target:active) + ~ #high-thumb { + outline: calc(2px * var(--uui-show-focus-outline, 1)) solid + var(--uui-color-focus); + } + + /** THUMBS */ + + .thumb { + z-index: 3; + transform: translateY(-50%); + position: absolute; + top: 2px; + bottom: 0px; + left: 0px; + height: 17px; + width: 17px; + margin-left: -8px; + margin-right: -8px; + border-radius: 50%; + box-sizing: border-box; + background-color: var(--uui-color-surface, #fff); + border: 2px solid var(--uui-color-selected, #3544b1); + transition: left 120ms ease 0s; + } + + .thumb:after { + content: ''; + position: absolute; + top: 2px; + left: 2px; + height: 9px; + width: 9px; + border-radius: 50%; + background-color: var(--uui-color-selected); + } + + :host([disabled]) .thumb { + background-color: var(--uui-color-disabled); + border-color: var(--uui-palette-mine-grey); + } + :host([disabled]) .thumb:after { + background-color: var(--uui-palette-mine-grey); + } + + .thumb .value { + position: absolute; + box-sizing: border-box; + font-weight: 700; + bottom: 15px; + left: 50%; + width: 40px; + margin-left: -20px; + text-align: center; + opacity: 1; + transition: 120ms opacity; + color: var(--uui-color-selected); + visibility: hidden; + opacity: 0; + } + + :host([disabled]) .thumb .value { + color: var(--uui-palette-mine-grey); + } + + #range-slider:active .thumb .value, + #range-slider:focus .thumb .value, + #range-slider:hover .thumb .value { + visibility: visible; + opacity: 1; + } + + /** NATIVE THUMB STYLING */ + + input[type='range']::-webkit-slider-thumb { + -webkit-appearance: none; + appearance: none; + width: 17px; + height: 17px; + background-color: transparent; + display: block; + border-radius: 100%; + pointer-events: auto; + cursor: pointer; + } + input[type='range']:disabled::-webkit-slider-thumb { + cursor: default; + } + + input[type='range']::-moz-range-thumb { + -moz-appearance: none; + appearance: none; + width: 17px; + height: 17px; + background-color: transparent; + display: block; + border-radius: 100%; + pointer-events: auto; + cursor: pointer; + } + input[type='range']:disabled::-moz-range-thumb { + cursor: default; + } + + input[type='range']::-ms-thumb { + appearance: none; + width: 17px; + height: 17px; + background-color: transparent; + display: block; + border-radius: 100%; + pointer-events: auto; + cursor: pointer; + } + input[type='range']:disabled::-ms-thumb { + cursor: default; + } + `, + ]; } declare global { diff --git a/packages/uui-ref-list/lib/uui-ref-list.element.ts b/packages/uui-ref-list/lib/uui-ref-list.element.ts index 3db13bf7d..74f66698f 100644 --- a/packages/uui-ref-list/lib/uui-ref-list.element.ts +++ b/packages/uui-ref-list/lib/uui-ref-list.element.ts @@ -6,6 +6,10 @@ import { defineElement } from '@umbraco-ui/uui-base/lib/registration'; */ @defineElement('uui-ref-list') export class UUIRefListElement extends LitElement { + render() { + return html``; + } + static styles = [ css` :host { @@ -25,10 +29,6 @@ export class UUIRefListElement extends LitElement { } `, ]; - - render() { - return html``; - } } declare global { diff --git a/packages/uui-ref-node-data-type/lib/uui-ref-node-data-type.element.ts b/packages/uui-ref-node-data-type/lib/uui-ref-node-data-type.element.ts index 7675dcc74..401d51095 100644 --- a/packages/uui-ref-node-data-type/lib/uui-ref-node-data-type.element.ts +++ b/packages/uui-ref-node-data-type/lib/uui-ref-node-data-type.element.ts @@ -13,8 +13,6 @@ import { property } from 'lit/decorators.js'; @defineElement('uui-ref-node-data-type') export class UUIRefNodeDataTypeElement extends UUIRefNodeElement { - static styles = [...UUIRefNodeElement.styles]; - protected fallbackIcon = ''; @@ -40,6 +38,8 @@ export class UUIRefNodeDataTypeElement extends UUIRefNodeElement { >${details.join(' | ')}`; } + + static styles = [...UUIRefNodeElement.styles]; } declare global { diff --git a/packages/uui-ref-node-document-type/lib/uui-ref-node-document-type.element.ts b/packages/uui-ref-node-document-type/lib/uui-ref-node-document-type.element.ts index 4a3b61a99..064a1f967 100644 --- a/packages/uui-ref-node-document-type/lib/uui-ref-node-document-type.element.ts +++ b/packages/uui-ref-node-document-type/lib/uui-ref-node-document-type.element.ts @@ -13,8 +13,6 @@ import { property } from 'lit/decorators.js'; @defineElement('uui-ref-node-document-type') export class UUIRefNodeDocumentTypeElement extends UUIRefNodeElement { - static styles = [...UUIRefNodeElement.styles]; - protected fallbackIcon = ''; @@ -40,6 +38,8 @@ export class UUIRefNodeDocumentTypeElement extends UUIRefNodeElement { >${details.join(' | ')}`; } + + static styles = [...UUIRefNodeElement.styles]; } declare global { diff --git a/packages/uui-ref-node-form/lib/uui-ref-node-form.element.ts b/packages/uui-ref-node-form/lib/uui-ref-node-form.element.ts index b29ece396..68a359934 100644 --- a/packages/uui-ref-node-form/lib/uui-ref-node-form.element.ts +++ b/packages/uui-ref-node-form/lib/uui-ref-node-form.element.ts @@ -11,10 +11,10 @@ import { defineElement } from '@umbraco-ui/uui-base/lib/registration'; @defineElement('uui-ref-node-form') export class UUIRefNodeFormElement extends UUIRefNodeElement { - static styles = [...UUIRefNodeElement.styles]; - protected fallbackIcon = ''; + + static styles = [...UUIRefNodeElement.styles]; } declare global { diff --git a/packages/uui-ref-node-member/lib/uui-ref-node-member.element.ts b/packages/uui-ref-node-member/lib/uui-ref-node-member.element.ts index 1ea99e0bc..90ab8c727 100644 --- a/packages/uui-ref-node-member/lib/uui-ref-node-member.element.ts +++ b/packages/uui-ref-node-member/lib/uui-ref-node-member.element.ts @@ -13,8 +13,6 @@ import { property } from 'lit/decorators.js'; @defineElement('uui-ref-node-member') export class UUIRefNodeMemberElement extends UUIRefNodeElement { - static styles = [...UUIRefNodeElement.styles]; - protected fallbackIcon = ''; @@ -39,6 +37,8 @@ export class UUIRefNodeMemberElement extends UUIRefNodeElement { >${details.join(' | ')}`; } + + static styles = [...UUIRefNodeElement.styles]; } declare global { diff --git a/packages/uui-ref-node-package/lib/uui-ref-node-package.element.ts b/packages/uui-ref-node-package/lib/uui-ref-node-package.element.ts index cebe459cf..63b97b4ba 100644 --- a/packages/uui-ref-node-package/lib/uui-ref-node-package.element.ts +++ b/packages/uui-ref-node-package/lib/uui-ref-node-package.element.ts @@ -13,8 +13,6 @@ import { property } from 'lit/decorators.js'; @defineElement('uui-ref-node-package') export class UUIRefNodePackageElement extends UUIRefNodeElement { - static styles = [...UUIRefNodeElement.styles]; - protected fallbackIcon = ''; @@ -51,6 +49,8 @@ export class UUIRefNodePackageElement extends UUIRefNodeElement { >${details.join(' | ')}`; } + + static styles = [...UUIRefNodeElement.styles]; } declare global { diff --git a/packages/uui-ref-node-user/lib/uui-ref-node-user.element.ts b/packages/uui-ref-node-user/lib/uui-ref-node-user.element.ts index 4e109e032..668dbacc0 100644 --- a/packages/uui-ref-node-user/lib/uui-ref-node-user.element.ts +++ b/packages/uui-ref-node-user/lib/uui-ref-node-user.element.ts @@ -13,8 +13,6 @@ import { property } from 'lit/decorators.js'; @defineElement('uui-ref-node-user') export class UUIRefNodeUserElement extends UUIRefNodeElement { - static styles = [...UUIRefNodeElement.styles]; - protected fallbackIcon = ''; @@ -39,6 +37,8 @@ export class UUIRefNodeUserElement extends UUIRefNodeElement { >${details.join(' | ')}`; } + + static styles = [...UUIRefNodeElement.styles]; } declare global { diff --git a/packages/uui-ref-node/lib/uui-ref-node.element.ts b/packages/uui-ref-node/lib/uui-ref-node.element.ts index 201420ae3..d3465d581 100644 --- a/packages/uui-ref-node/lib/uui-ref-node.element.ts +++ b/packages/uui-ref-node/lib/uui-ref-node.element.ts @@ -18,70 +18,6 @@ import { property, state } from 'lit/decorators.js'; @defineElement('uui-ref-node') export class UUIRefNodeElement extends UUIRefElement { - static styles = [ - ...UUIRefElement.styles, - css` - :host { - min-width: 250px; - padding: calc(var(--uui-size-2) + 1px); - } - - #open-part { - align-self: stretch; - - display: flex; - position: relative; - align-items: center; - cursor: pointer; - } - - #icon { - font-size: 1.2em; - margin-left: var(--uui-size-2); - margin-right: var(--uui-size-1); - } - - #info { - display: flex; - flex-direction: column; - align-items: start; - justify-content: center; - height: 100%; - padding-left: var(--uui-size-2); - } - - #name { - font-weight: 700; - } - - #detail { - font-size: var(--uui-type-small-size); - } - - :host(:not([disabled])) #open-part:hover #icon { - color: var(--uui-color-interactive-emphasis); - } - :host(:not([disabled])) #open-part:hover #name { - font-weight: 700; - text-decoration: underline; - color: var(--uui-color-interactive-emphasis); - } - :host(:not([disabled])) #open-part:hover #detail { - color: var(--uui-color-interactive-emphasis); - } - - :host([disabled]) #icon { - color: var(--uui-color-disabled-contrast); - } - :host([disabled]) #name { - color: var(--uui-color-disabled-contrast); - } - :host([disabled]) #detail { - color: var(--uui-color-disabled-contrast); - } - `, - ]; - /** * Node name * @type {string} @@ -156,6 +92,70 @@ export class UUIRefNodeElement extends UUIRefElement { `; } + + static styles = [ + ...UUIRefElement.styles, + css` + :host { + min-width: 250px; + padding: calc(var(--uui-size-2) + 1px); + } + + #open-part { + align-self: stretch; + + display: flex; + position: relative; + align-items: center; + cursor: pointer; + } + + #icon { + font-size: 1.2em; + margin-left: var(--uui-size-2); + margin-right: var(--uui-size-1); + } + + #info { + display: flex; + flex-direction: column; + align-items: start; + justify-content: center; + height: 100%; + padding-left: var(--uui-size-2); + } + + #name { + font-weight: 700; + } + + #detail { + font-size: var(--uui-type-small-size); + } + + :host(:not([disabled])) #open-part:hover #icon { + color: var(--uui-color-interactive-emphasis); + } + :host(:not([disabled])) #open-part:hover #name { + font-weight: 700; + text-decoration: underline; + color: var(--uui-color-interactive-emphasis); + } + :host(:not([disabled])) #open-part:hover #detail { + color: var(--uui-color-interactive-emphasis); + } + + :host([disabled]) #icon { + color: var(--uui-color-disabled-contrast); + } + :host([disabled]) #name { + color: var(--uui-color-disabled-contrast); + } + :host([disabled]) #detail { + color: var(--uui-color-disabled-contrast); + } + `, + ]; } declare global { diff --git a/packages/uui-ref/lib/uui-ref.element.ts b/packages/uui-ref/lib/uui-ref.element.ts index 6d3faa943..0f91c644f 100644 --- a/packages/uui-ref/lib/uui-ref.element.ts +++ b/packages/uui-ref/lib/uui-ref.element.ts @@ -19,6 +19,36 @@ import { UUIRefEvent } from './UUIRefEvent'; export class UUIRefElement extends SelectOnlyMixin( SelectableMixin(LitElement) ) { + /** + * Set tot true to disable + * @type {boolean} + * @attr + * @default false + */ + @property({ type: Boolean, reflect: true }) + disabled = false; + + /** + * Set to true to display error state + * @type {boolean} + * @attr + * @default false + */ + @property({ type: Boolean, reflect: true }) + error = false; + + protected handleOpenClick(e: Event) { + e.stopPropagation(); + this.dispatchEvent(new UUIRefEvent(UUIRefEvent.OPEN)); + } + protected handleOpenKeydown(e: KeyboardEvent) { + // TODO: Is it correct to both be able to open by space and enter? We to investigate, i would think that enter was the only option. + if (e.key !== ' ' && e.key !== 'Enter') return; + e.preventDefault(); + e.stopPropagation(); + this.dispatchEvent(new UUIRefEvent(UUIRefEvent.OPEN)); + } + static styles = [ css` :host { @@ -170,36 +200,6 @@ export class UUIRefElement extends SelectOnlyMixin( } `, ]; - - /** - * Set tot true to disable - * @type {boolean} - * @attr - * @default false - */ - @property({ type: Boolean, reflect: true }) - disabled = false; - - /** - * Set to true to display error state - * @type {boolean} - * @attr - * @default false - */ - @property({ type: Boolean, reflect: true }) - error = false; - - protected handleOpenClick(e: Event) { - e.stopPropagation(); - this.dispatchEvent(new UUIRefEvent(UUIRefEvent.OPEN)); - } - protected handleOpenKeydown(e: KeyboardEvent) { - // TODO: Is it correct to both be able to open by space and enter? We to investigate, i would think that enter was the only option. - if (e.key !== ' ' && e.key !== 'Enter') return; - e.preventDefault(); - e.stopPropagation(); - this.dispatchEvent(new UUIRefEvent(UUIRefEvent.OPEN)); - } } declare global { diff --git a/packages/uui-scroll-container/lib/uui-scroll-container.element.ts b/packages/uui-scroll-container/lib/uui-scroll-container.element.ts index 4414419c3..4a953c0ba 100644 --- a/packages/uui-scroll-container/lib/uui-scroll-container.element.ts +++ b/packages/uui-scroll-container/lib/uui-scroll-container.element.ts @@ -11,6 +11,23 @@ import { property } from 'lit/decorators.js'; */ @defineElement('uui-scroll-container') export class UUIScrollContainerElement extends LitElement { + /** + * @type {boolean} + * @attr forces the scrollbar to appear + */ + @property({ type: Boolean, reflect: true, attribute: 'enforce-scroll' }) + enforceScroll = false; + + connectedCallback() { + super.connectedCallback(); + if (!this.hasAttribute('tabindex')) { + this.setAttribute('tabindex', '0'); + } + } + render() { + return html``; + } + static styles = [ css` :host { @@ -40,23 +57,6 @@ export class UUIScrollContainerElement extends LitElement { } `, ]; - - /** - * @type {boolean} - * @attr forces the scrollbar to appear - */ - @property({ type: Boolean, reflect: true, attribute: 'enforce-scroll' }) - enforceScroll = false; - - connectedCallback() { - super.connectedCallback(); - if (!this.hasAttribute('tabindex')) { - this.setAttribute('tabindex', '0'); - } - } - render() { - return html``; - } } declare global { diff --git a/packages/uui-select/lib/uui-select.element.ts b/packages/uui-select/lib/uui-select.element.ts index d806458ac..f14bd9bb6 100644 --- a/packages/uui-select/lib/uui-select.element.ts +++ b/packages/uui-select/lib/uui-select.element.ts @@ -25,81 +25,6 @@ declare global { // TODO: Consider if this should use child items instead of an array. @defineElement('uui-select') export class UUISelectElement extends FormControlMixin(LitElement) { - static styles = [ - css` - :host { - position: relative; - font-family: inherit; - } - - #native { - display: inline-block; - font-family: inherit; - font-size: var(--uui-select-font-size, var(--uui-size-5)); - height: var(--uui-select-height, var(--uui-size-11)); - width: 100%; - padding: var(--uui-select-padding-y, var(--uui-size-1)) - var(--uui-select-padding-x, var(--uui-size-2)); - color: currentColor; - border-radius: 0; - box-sizing: border-box; - background-color: transparent; - border: 1px solid - var(--uui-select-border-color, var(--uui-color-border)); - transition: all 150ms ease; - } - - #native:focus { - outline: calc(2px * var(--uui-show-focus-outline, 1)) solid - var(--uui-color-focus); - } - - #native[disabled] { - cursor: not-allowed; - background-color: var( - --uui-select-disabled-background-color, - var(--uui-color-disabled) - ); - } - - #native:hover { - border: 1px solid - var(--uui-select-border-color-hover, var(--uui-color-border-emphasis)); - } - - option:checked { - background: var( - --uui-select-selected-option-background-color, - var(--uui-color-selected) - ); - color: var( - --uui-select-selected-option-color, - var(--uui-color-selected-contrast) - ); - } - - /* TODO: a proper focus style has to be implemented. it needs it's own variables */ - #native:focus { - outline-color: var(--uui-select-outline-color, var(--uui-color-focus)); - } - - #caret { - position: absolute; - right: 12px; - top: 50%; - transform: translateY(-50%); - } - - :host([error]) #native { - border: 1px solid var(--uui-color-danger-standalone); - } - - :host([error]) #native[disabled] { - border: 1px solid var(--uui-color-danger-standalone); - } - `, - ]; - /** * Text with which component should be labeled * @type {string} @@ -306,6 +231,81 @@ export class UUISelectElement extends FormControlMixin(LitElement) { )} `; } + + static styles = [ + css` + :host { + position: relative; + font-family: inherit; + } + + #native { + display: inline-block; + font-family: inherit; + font-size: var(--uui-select-font-size, var(--uui-size-5)); + height: var(--uui-select-height, var(--uui-size-11)); + width: 100%; + padding: var(--uui-select-padding-y, var(--uui-size-1)) + var(--uui-select-padding-x, var(--uui-size-2)); + color: currentColor; + border-radius: 0; + box-sizing: border-box; + background-color: transparent; + border: 1px solid + var(--uui-select-border-color, var(--uui-color-border)); + transition: all 150ms ease; + } + + #native:focus { + outline: calc(2px * var(--uui-show-focus-outline, 1)) solid + var(--uui-color-focus); + } + + #native[disabled] { + cursor: not-allowed; + background-color: var( + --uui-select-disabled-background-color, + var(--uui-color-disabled) + ); + } + + #native:hover { + border: 1px solid + var(--uui-select-border-color-hover, var(--uui-color-border-emphasis)); + } + + option:checked { + background: var( + --uui-select-selected-option-background-color, + var(--uui-color-selected) + ); + color: var( + --uui-select-selected-option-color, + var(--uui-color-selected-contrast) + ); + } + + /* TODO: a proper focus style has to be implemented. it needs it's own variables */ + #native:focus { + outline-color: var(--uui-select-outline-color, var(--uui-color-focus)); + } + + #caret { + position: absolute; + right: 12px; + top: 50%; + transform: translateY(-50%); + } + + :host([error]) #native { + border: 1px solid var(--uui-color-danger-standalone); + } + + :host([error]) #native[disabled] { + border: 1px solid var(--uui-color-danger-standalone); + } + `, + ]; } declare global { diff --git a/packages/uui-slider/lib/uui-slider.element.ts b/packages/uui-slider/lib/uui-slider.element.ts index 3b00400de..3536d17a7 100644 --- a/packages/uui-slider/lib/uui-slider.element.ts +++ b/packages/uui-slider/lib/uui-slider.element.ts @@ -61,151 +61,6 @@ export class UUISliderElement extends FormControlMixin(LitElement) { */ static readonly formAssociated = true; - static styles = [ - UUIHorizontalPulseKeyframes, - nativeInputStyles, - css` - :host { - display: inline-block; - width: 100%; - position: relative; - min-height: 30px; - user-select: none; - } - - input { - box-sizing: border-box; - height: 18px; - } - - #track { - position: relative; - height: 18px; - width: 100%; - display: flex; - } - - #track svg { - height: 21px; - border-radius: 10px; - background-color: var(--uui-color-surface); - } - #track svg rect { - width: calc(100% - 18px); - fill: var(--uui-color-border-standalone); - } - input:hover ~ #track svg rect { - fill: var(--uui-color-border-emphasis); - } - - input:focus ~ #track svg { - outline: calc(2px * var(--uui-show-focus-outline, 1)) solid - var(--uui-color-focus); - } - - .track-step { - fill: var(--uui-color-border); - } - input:hover ~ #track svg .track-step { - fill: var(--uui-color-border-emphasis); - } - - #track-inner { - position: absolute; - left: ${TRACK_PADDING}px; /* Match TRACK_MARGIN */ - right: ${TRACK_PADDING}px; /* Match TRACK_MARGIN */ - } - - #thumb { - position: absolute; - top: 2px; - bottom: 0; - left: 0; - height: 17px; - width: 17px; - margin-left: -8px; - margin-right: -8px; - border-radius: 50%; - box-sizing: border-box; - - background-color: var(--uui-color-surface); - border: 2px solid var(--uui-color-selected); - - transition: 120ms left ease; - } - :host([disabled]) #thumb { - background-color: var(--uui-color-disabled); - border-color: var(--uui-color-disabled-standalone); - } - - #thumb:after { - content: ''; - position: absolute; - top: 2px; - left: 2px; - height: 9px; - width: 9px; - border-radius: 50%; - background-color: var(--uui-color-selected); - } - :host([disabled]) #thumb:after { - background-color: var(--uui-color-disabled); - } - - #thumb-label { - position: absolute; - box-sizing: border-box; - font-weight: 700; - bottom: 15px; - left: 50%; - width: 40px; - margin-left: -20px; - text-align: center; - opacity: 0; - transition: 120ms opacity; - color: var(--uui-color-selected); - } - - input:focus ~ #track #thumb-label, - input:hover ~ #track #thumb-label { - opacity: 1; - } - - #step-values { - margin: 0 ${TRACK_PADDING}px; /* Match TRACK_MARGIN */ - margin-top: 6px; - display: flex; - align-items: flex-end; - box-sizing: border-box; - } - - #step-values > span { - flex-basis: 0; - flex-grow: 1; - color: var(--uui-color-disabled-contrast); - } - - #step-values > span > span { - transform: translateX(-50%); - display: inline-block; - text-align: center; - font-size: var(--uui-type-small-size); - } - - #step-values > span:last-child { - width: 0; - flex-grow: 0; - } - - :host(:not([pristine]):invalid) #thumb { - border-color: var(--uui-color-danger-standalone); - } - :host(:not([pristine]):invalid) #thumb:after { - background-color: var(--uui-color-danger); - } - `, - ]; - /** * Hides the numbers representing the value of each steps. Dots will still be visible * @type {boolean} @@ -432,6 +287,151 @@ export class UUISliderElement extends FormControlMixin(LitElement) { ${RenderStepValues(this._steps, this._stepWidth, this.hideStepValues)} `; } + + static styles = [ + UUIHorizontalPulseKeyframes, + nativeInputStyles, + css` + :host { + display: inline-block; + width: 100%; + position: relative; + min-height: 30px; + user-select: none; + } + + input { + box-sizing: border-box; + height: 18px; + } + + #track { + position: relative; + height: 18px; + width: 100%; + display: flex; + } + + #track svg { + height: 21px; + border-radius: 10px; + background-color: var(--uui-color-surface); + } + #track svg rect { + width: calc(100% - 18px); + fill: var(--uui-color-border-standalone); + } + input:hover ~ #track svg rect { + fill: var(--uui-color-border-emphasis); + } + + input:focus ~ #track svg { + outline: calc(2px * var(--uui-show-focus-outline, 1)) solid + var(--uui-color-focus); + } + + .track-step { + fill: var(--uui-color-border); + } + input:hover ~ #track svg .track-step { + fill: var(--uui-color-border-emphasis); + } + + #track-inner { + position: absolute; + left: ${TRACK_PADDING}px; /* Match TRACK_MARGIN */ + right: ${TRACK_PADDING}px; /* Match TRACK_MARGIN */ + } + + #thumb { + position: absolute; + top: 2px; + bottom: 0; + left: 0; + height: 17px; + width: 17px; + margin-left: -8px; + margin-right: -8px; + border-radius: 50%; + box-sizing: border-box; + + background-color: var(--uui-color-surface); + border: 2px solid var(--uui-color-selected); + + transition: 120ms left ease; + } + :host([disabled]) #thumb { + background-color: var(--uui-color-disabled); + border-color: var(--uui-color-disabled-standalone); + } + + #thumb:after { + content: ''; + position: absolute; + top: 2px; + left: 2px; + height: 9px; + width: 9px; + border-radius: 50%; + background-color: var(--uui-color-selected); + } + :host([disabled]) #thumb:after { + background-color: var(--uui-color-disabled); + } + + #thumb-label { + position: absolute; + box-sizing: border-box; + font-weight: 700; + bottom: 15px; + left: 50%; + width: 40px; + margin-left: -20px; + text-align: center; + opacity: 0; + transition: 120ms opacity; + color: var(--uui-color-selected); + } + + input:focus ~ #track #thumb-label, + input:hover ~ #track #thumb-label { + opacity: 1; + } + + #step-values { + margin: 0 ${TRACK_PADDING}px; /* Match TRACK_MARGIN */ + margin-top: 6px; + display: flex; + align-items: flex-end; + box-sizing: border-box; + } + + #step-values > span { + flex-basis: 0; + flex-grow: 1; + color: var(--uui-color-disabled-contrast); + } + + #step-values > span > span { + transform: translateX(-50%); + display: inline-block; + text-align: center; + font-size: var(--uui-type-small-size); + } + + #step-values > span:last-child { + width: 0; + flex-grow: 0; + } + + :host(:not([pristine]):invalid) #thumb { + border-color: var(--uui-color-danger-standalone); + } + :host(:not([pristine]):invalid) #thumb:after { + background-color: var(--uui-color-danger); + } + `, + ]; } declare global { diff --git a/packages/uui-symbol-expand/lib/uui-symbol-expand.element.ts b/packages/uui-symbol-expand/lib/uui-symbol-expand.element.ts index 9398bf25f..c4ac934d5 100644 --- a/packages/uui-symbol-expand/lib/uui-symbol-expand.element.ts +++ b/packages/uui-symbol-expand/lib/uui-symbol-expand.element.ts @@ -8,6 +8,21 @@ import { property } from 'lit/decorators.js'; */ @defineElement('uui-symbol-expand') export class UUISymbolExpandElement extends LitElement { + /** + * Set this boolean to true for a open/expanded look. + * @type {boolean} + * @default false + * @attr + */ + @property({ type: Boolean, reflect: true }) + public open = false; + + render() { + return html` + + `; + } + static styles = [ css` :host { @@ -30,21 +45,6 @@ export class UUISymbolExpandElement extends LitElement { } `, ]; - - /** - * Set this boolean to true for a open/expanded look. - * @type {boolean} - * @default false - * @attr - */ - @property({ type: Boolean, reflect: true }) - public open = false; - - render() { - return html` - - `; - } } declare global { diff --git a/packages/uui-symbol-file-dropzone/lib/uui-symbol-file-dropzone.element.ts b/packages/uui-symbol-file-dropzone/lib/uui-symbol-file-dropzone.element.ts index f8d68943e..3f54467f0 100644 --- a/packages/uui-symbol-file-dropzone/lib/uui-symbol-file-dropzone.element.ts +++ b/packages/uui-symbol-file-dropzone/lib/uui-symbol-file-dropzone.element.ts @@ -7,6 +7,27 @@ import { property } from 'lit/decorators.js'; */ @defineElement('uui-symbol-file-dropzone') export class UUISymbolFileDropzoneElement extends LitElement { + /** + * Renders a error symbol instead of the upload symbol + * @type {boolean} + * @attr + * @default false + */ + @property({ type: Boolean, reflect: true }) + error = false; + + render() { + return html` + + `; + } + static styles = [ css` :host { @@ -29,27 +50,6 @@ export class UUISymbolFileDropzoneElement extends LitElement { } `, ]; - - /** - * Renders a error symbol instead of the upload symbol - * @type {boolean} - * @attr - * @default false - */ - @property({ type: Boolean, reflect: true }) - error = false; - - render() { - return html` - - `; - } } declare global { diff --git a/packages/uui-symbol-file-thumbnail/lib/uui-symbol-file-thumbnail.element.ts b/packages/uui-symbol-file-thumbnail/lib/uui-symbol-file-thumbnail.element.ts index 9fac6d54f..8a8fdd501 100644 --- a/packages/uui-symbol-file-thumbnail/lib/uui-symbol-file-thumbnail.element.ts +++ b/packages/uui-symbol-file-thumbnail/lib/uui-symbol-file-thumbnail.element.ts @@ -11,33 +11,6 @@ import { iconPicture } from '@umbraco-ui/uui-icon-registry-essential/lib/svgs'; */ @defineElement('uui-symbol-file-thumbnail') export class UUISymbolFileThumbnailElement extends LitElement { - static styles = [ - css` - :host { - display: block; - width: 100%; - height: 100%; - } - - img { - object-fit: contain; - height: 100%; - width: 100%; - } - - uui-icon { - width: 100%; - height: 100%; - max-width: 100%; - display: flex; - max-height: 100%; - justify-content: center; - color: var(--uui-color-surface); - background: var(--uui-color-surface-alt); - } - `, - ]; - /** * Source of the thumbnail. * @type {string} @@ -68,6 +41,33 @@ export class UUISymbolFileThumbnailElement extends LitElement { name="picture" .fallback=${iconPicture.strings[0]}>`; } + + static styles = [ + css` + :host { + display: block; + width: 100%; + height: 100%; + } + + img { + object-fit: contain; + height: 100%; + width: 100%; + } + + uui-icon { + width: 100%; + height: 100%; + max-width: 100%; + display: flex; + max-height: 100%; + justify-content: center; + color: var(--uui-color-surface); + background: var(--uui-color-surface-alt); + } + `, + ]; } declare global { diff --git a/packages/uui-symbol-file/lib/uui-symbol-file.element.ts b/packages/uui-symbol-file/lib/uui-symbol-file.element.ts index 434ce3e5d..c949b300d 100644 --- a/packages/uui-symbol-file/lib/uui-symbol-file.element.ts +++ b/packages/uui-symbol-file/lib/uui-symbol-file.element.ts @@ -8,6 +8,27 @@ import { property } from 'lit/decorators.js'; @defineElement('uui-symbol-file') export class UUISymbolFileElement extends LitElement { + /** + * The text that will appear on the file icon + * @type {string} + */ + @property({ type: String }) + type = ''; + + render() { + return html` + + + ${this.type + ? html`${this.type.toUpperCase()}` + : ''} `; + } + static styles = [ css` :host { @@ -34,27 +55,6 @@ export class UUISymbolFileElement extends LitElement { } `, ]; - - /** - * The text that will appear on the file icon - * @type {string} - */ - @property({ type: String }) - type = ''; - - render() { - return html` - - - ${this.type - ? html`${this.type.toUpperCase()}` - : ''} `; - } } declare global { diff --git a/packages/uui-symbol-folder/lib/uui-symbol-folder.element.ts b/packages/uui-symbol-folder/lib/uui-symbol-folder.element.ts index cd29d29b6..c6b371b63 100644 --- a/packages/uui-symbol-folder/lib/uui-symbol-folder.element.ts +++ b/packages/uui-symbol-folder/lib/uui-symbol-folder.element.ts @@ -7,6 +7,17 @@ import { defineElement } from '@umbraco-ui/uui-base/lib/registration'; @defineElement('uui-symbol-folder') export class UUISymbolFolderElement extends LitElement { + render() { + return html` + + `; + } + static styles = [ css` :host { @@ -21,17 +32,6 @@ export class UUISymbolFolderElement extends LitElement { } `, ]; - - render() { - return html` - - `; - } } declare global { diff --git a/packages/uui-symbol-lock/lib/uui-symbol-lock.element.ts b/packages/uui-symbol-lock/lib/uui-symbol-lock.element.ts index 1c835271c..32b4fd827 100644 --- a/packages/uui-symbol-lock/lib/uui-symbol-lock.element.ts +++ b/packages/uui-symbol-lock/lib/uui-symbol-lock.element.ts @@ -7,6 +7,19 @@ import { property } from 'lit/decorators.js'; */ @defineElement('uui-symbol-lock') export class UUISymbolLockElement extends LitElement { + @property({ type: Boolean, reflect: true }) + public open = false; + + render() { + return svg` + ${ + this.open === true + ? svg`` + : svg`` + } + `; + } + static styles = [ css` :host { @@ -20,19 +33,6 @@ export class UUISymbolLockElement extends LitElement { } `, ]; - - @property({ type: Boolean, reflect: true }) - public open = false; - - render() { - return svg` - ${ - this.open === true - ? svg`` - : svg`` - } - `; - } } declare global { diff --git a/packages/uui-symbol-more/lib/uui-symbol-more.element.ts b/packages/uui-symbol-more/lib/uui-symbol-more.element.ts index ce3e4a00c..f4c6cbc2a 100644 --- a/packages/uui-symbol-more/lib/uui-symbol-more.element.ts +++ b/packages/uui-symbol-more/lib/uui-symbol-more.element.ts @@ -5,6 +5,10 @@ import { defineElement } from '@umbraco-ui/uui-base/lib/registration'; */ @defineElement('uui-symbol-more') export class UUISymbolMoreElement extends LitElement { + render() { + return html`•••`; + } + static styles = [ css` :host { @@ -17,10 +21,6 @@ export class UUISymbolMoreElement extends LitElement { } `, ]; - - render() { - return html`•••`; - } } declare global { diff --git a/packages/uui-symbol-sort/lib/uui-symbol-sort.element.ts b/packages/uui-symbol-sort/lib/uui-symbol-sort.element.ts index 6b0ba02d4..819b35f71 100644 --- a/packages/uui-symbol-sort/lib/uui-symbol-sort.element.ts +++ b/packages/uui-symbol-sort/lib/uui-symbol-sort.element.ts @@ -10,6 +10,26 @@ import { property } from 'lit/decorators.js'; */ @defineElement('uui-symbol-sort') export class UUISymbolSortElement extends ActiveMixin(LitElement) { + /** + * Turns the arrow around. Set this boolean to true for displaying descending sort is active. + * @type {boolean} + * @default false + */ + @property({ type: Boolean, reflect: true }) + public descending = false; + + render() { + return html` + + + + + `; + } + static styles = [ css` :host { @@ -70,26 +90,6 @@ export class UUISymbolSortElement extends ActiveMixin(LitElement) { } `, ]; - - /** - * Turns the arrow around. Set this boolean to true for displaying descending sort is active. - * @type {boolean} - * @default false - */ - @property({ type: Boolean, reflect: true }) - public descending = false; - - render() { - return html` - - - - - `; - } } declare global { diff --git a/packages/uui-table/lib/uui-table-advanced-example.ts b/packages/uui-table/lib/uui-table-advanced-example.ts index 6c6360a0a..8c1c7aaa7 100644 --- a/packages/uui-table/lib/uui-table-advanced-example.ts +++ b/packages/uui-table/lib/uui-table-advanced-example.ts @@ -27,49 +27,6 @@ interface TableItem { @customElement('uui-table-with-selection-example') export class UUITableWithSelectionExampleElement extends LitElement { - static styles = [ - UUITextStyles, - css` - uui-table-row uui-checkbox { - display: none; - } - - uui-table-row:focus uui-icon, - uui-table-row:focus-within uui-icon, - uui-table-row:hover uui-icon, - uui-table-row[select-only] uui-icon { - display: none; - } - - uui-table-row:focus uui-checkbox, - uui-table-row:focus-within uui-checkbox, - uui-table-row:hover uui-checkbox, - uui-table-row[select-only] uui-checkbox { - display: inline-block; - } - - uui-table-head-cell:focus, - uui-table-head-cell:focus-within, - uui-table-head-cell:hover { - --uui-symbol-sort-hover: 1; - } - - uui-table-head-cell button { - padding: 0; - background-color: transparent; - color: inherit; - border: none; - cursor: pointer; - font-weight: inherit; - font-size: inherit; - display: inline-flex; - align-items: center; - justify-content: space-between; - width: 100%; - } - `, - ]; - @state() private _columns: Array = []; @@ -296,4 +253,47 @@ export class UUITableWithSelectionExampleElement extends LitElement { `; } + + static styles = [ + UUITextStyles, + css` + uui-table-row uui-checkbox { + display: none; + } + + uui-table-row:focus uui-icon, + uui-table-row:focus-within uui-icon, + uui-table-row:hover uui-icon, + uui-table-row[select-only] uui-icon { + display: none; + } + + uui-table-row:focus uui-checkbox, + uui-table-row:focus-within uui-checkbox, + uui-table-row:hover uui-checkbox, + uui-table-row[select-only] uui-checkbox { + display: inline-block; + } + + uui-table-head-cell:focus, + uui-table-head-cell:focus-within, + uui-table-head-cell:hover { + --uui-symbol-sort-hover: 1; + } + + uui-table-head-cell button { + padding: 0; + background-color: transparent; + color: inherit; + border: none; + cursor: pointer; + font-weight: inherit; + font-size: inherit; + display: inline-flex; + align-items: center; + justify-content: space-between; + width: 100%; + } + `, + ]; } diff --git a/packages/uui-table/lib/uui-table-cell.element.ts b/packages/uui-table/lib/uui-table-cell.element.ts index 16d34eeea..ac5e54155 100644 --- a/packages/uui-table/lib/uui-table-cell.element.ts +++ b/packages/uui-table/lib/uui-table-cell.element.ts @@ -11,44 +11,6 @@ import { property } from 'lit/decorators.js'; */ @defineElement('uui-table-cell') export class UUITableCellElement extends LitElement { - static styles = [ - css` - :host { - position: relative; - display: table-cell; - height: var(--uui-table-cell-height, var(--uui-size-12)); - padding: var( - --uui-table-cell-padding, - var(--uui-size-4) var(--uui-size-5) - ); - border-top: 1px solid var(--uui-color-border); - vertical-align: middle; - } - - :host([clip-text]) { - max-width: 0; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - box-sizing: border-box; - } - - :host([disable-child-interaction]) ::slotted(*) { - pointer-events: none; - } - - :host([disable-child-interaction])::after { - content: ''; - position: absolute; - inset: 0; - } - - :host([no-padding]) { - padding: 0; - } - `, - ]; - /** * Used to enforce selection interaction by preventing other interactions, primary set by table-row for select-only mode. * @attr @@ -116,6 +78,44 @@ export class UUITableCellElement extends LitElement { render() { return html` `; } + + static styles = [ + css` + :host { + position: relative; + display: table-cell; + height: var(--uui-table-cell-height, var(--uui-size-12)); + padding: var( + --uui-table-cell-padding, + var(--uui-size-4) var(--uui-size-5) + ); + border-top: 1px solid var(--uui-color-border); + vertical-align: middle; + } + + :host([clip-text]) { + max-width: 0; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + box-sizing: border-box; + } + + :host([disable-child-interaction]) ::slotted(*) { + pointer-events: none; + } + + :host([disable-child-interaction])::after { + content: ''; + position: absolute; + inset: 0; + } + + :host([no-padding]) { + padding: 0; + } + `, + ]; } declare global { diff --git a/packages/uui-table/lib/uui-table-head-cell.element.ts b/packages/uui-table/lib/uui-table-head-cell.element.ts index ed1b514a7..479d55e43 100644 --- a/packages/uui-table/lib/uui-table-head-cell.element.ts +++ b/packages/uui-table/lib/uui-table-head-cell.element.ts @@ -9,6 +9,11 @@ import { UUITableCellElement } from './uui-table-cell.element'; */ @defineElement('uui-table-head-cell') export class UUITableHeadCellElement extends UUITableCellElement { + connectedCallback() { + super.connectedCallback(); + this.setAttribute('role', 'columnheader'); + } + static styles = [ ...UUITableCellElement.styles, css` @@ -17,11 +22,6 @@ export class UUITableHeadCellElement extends UUITableCellElement { } `, ]; - - connectedCallback() { - super.connectedCallback(); - this.setAttribute('role', 'columnheader'); - } } declare global { diff --git a/packages/uui-table/lib/uui-table-head.element.ts b/packages/uui-table/lib/uui-table-head.element.ts index 0ac3535de..feecf4a58 100644 --- a/packages/uui-table/lib/uui-table-head.element.ts +++ b/packages/uui-table/lib/uui-table-head.element.ts @@ -8,15 +8,6 @@ import { css, html, LitElement } from 'lit'; */ @defineElement('uui-table-head') export class UUITableHeadElement extends LitElement { - static styles = [ - css` - :host { - display: table-header-group; - font-weight: bold; - } - `, - ]; - connectedCallback() { super.connectedCallback(); this.setAttribute('role', 'row'); @@ -25,6 +16,15 @@ export class UUITableHeadElement extends LitElement { render() { return html``; } + + static styles = [ + css` + :host { + display: table-header-group; + font-weight: bold; + } + `, + ]; } declare global { diff --git a/packages/uui-table/lib/uui-table-row.element.ts b/packages/uui-table/lib/uui-table-row.element.ts index cd45faa05..08f34b8f3 100644 --- a/packages/uui-table/lib/uui-table-row.element.ts +++ b/packages/uui-table/lib/uui-table-row.element.ts @@ -18,32 +18,6 @@ import { UUITableCellElement } from './uui-table-cell.element'; export class UUITableRowElement extends SelectOnlyMixin( SelectableMixin(LitElement) ) { - static styles = [ - css` - :host { - display: table-row; - position: relative; - outline-offset: -3px; - } - - :host([selectable]) { - cursor: pointer; - } - - :host(:focus) { - outline: calc(2px * var(--uui-show-focus-outline, 1)) solid - var(--uui-color-focus); - } - :host([selected]) { - outline: 2px solid - var(--uui-table-row-color-selected, var(--uui-color-selected)); - } - :host([selected]:focus) { - outline-color: var(--uui-color-focus); - } - `, - ]; - constructor() { super(); @@ -96,6 +70,32 @@ export class UUITableRowElement extends SelectOnlyMixin( render() { return html` `; } + + static styles = [ + css` + :host { + display: table-row; + position: relative; + outline-offset: -3px; + } + + :host([selectable]) { + cursor: pointer; + } + + :host(:focus) { + outline: calc(2px * var(--uui-show-focus-outline, 1)) solid + var(--uui-color-focus); + } + :host([selected]) { + outline: 2px solid + var(--uui-table-row-color-selected, var(--uui-color-selected)); + } + :host([selected]:focus) { + outline-color: var(--uui-color-focus); + } + `, + ]; } declare global { diff --git a/packages/uui-table/lib/uui-table.element.ts b/packages/uui-table/lib/uui-table.element.ts index d747f89d5..539820d2f 100644 --- a/packages/uui-table/lib/uui-table.element.ts +++ b/packages/uui-table/lib/uui-table.element.ts @@ -8,6 +8,17 @@ import { css, html, LitElement } from 'lit'; */ @defineElement('uui-table') export class UUITableElement extends LitElement { + /* consider select-only attribute on this level? */ + + connectedCallback() { + super.connectedCallback(); + this.setAttribute('role', 'table'); + } + + render() { + return html``; + } + static styles = [ css` :host { @@ -19,17 +30,6 @@ export class UUITableElement extends LitElement { } `, ]; - - /* consider select-only attribute on this level? */ - - connectedCallback() { - super.connectedCallback(); - this.setAttribute('role', 'table'); - } - - render() { - return html``; - } } declare global { diff --git a/packages/uui-tabs/lib/uui-tab-group.element.ts b/packages/uui-tabs/lib/uui-tab-group.element.ts index 66e7df8b0..4943e30ee 100644 --- a/packages/uui-tabs/lib/uui-tab-group.element.ts +++ b/packages/uui-tabs/lib/uui-tab-group.element.ts @@ -16,61 +16,6 @@ import { UUITabElement } from './uui-tab.element'; */ @defineElement('uui-tab-group') export class UUITabGroupElement extends LitElement { - static styles = [ - css` - :host { - display: flex; - flex-wrap: wrap; - color: var(--uui-tab-text); - background: var(--uui-tab-background, none); - height: 100%; - min-height: 48px; - } - - ::slotted(*:not(:last-of-type)) { - border-right: 1px solid var(--uui-tab-divider, none); - } - - .hidden-tab { - width: 100%; - } - - #hidden-tabs-container { - width: fit-content; - display: flex; - flex-direction: column; - background: var(--uui-color-surface); - border-radius: var(--uui-border-radius); - box-shadow: var(--uui-shadow-depth-3); - overflow: hidden; - } - :host([dropdown-direction='horizontal']) #hidden-tabs-container { - flex-direction: row; - } - - #more-button { - margin-left: auto; - position: relative; - } - #more-button::before { - content: ''; - position: absolute; - bottom: 0; - width: 100%; - background-color: var(--uui-color-current); - height: 0px; - border-radius: 3px 3px 0 0; - opacity: 0; - transition: opacity ease-in 120ms, height ease-in 120ms; - } - #more-button.active-inside::before { - opacity: 1; - height: 4px; - transition: opacity 120ms, height ease-out 120ms; - } - `, - ]; - @query('#more-button') private _moreButtonElement!: UUIButtonElement; @@ -288,6 +233,61 @@ export class UUITabGroupElement extends LitElement { `; } + + static styles = [ + css` + :host { + display: flex; + flex-wrap: wrap; + color: var(--uui-tab-text); + background: var(--uui-tab-background, none); + height: 100%; + min-height: 48px; + } + + ::slotted(*:not(:last-of-type)) { + border-right: 1px solid var(--uui-tab-divider, none); + } + + .hidden-tab { + width: 100%; + } + + #hidden-tabs-container { + width: fit-content; + display: flex; + flex-direction: column; + background: var(--uui-color-surface); + border-radius: var(--uui-border-radius); + box-shadow: var(--uui-shadow-depth-3); + overflow: hidden; + } + :host([dropdown-direction='horizontal']) #hidden-tabs-container { + flex-direction: row; + } + + #more-button { + margin-left: auto; + position: relative; + } + #more-button::before { + content: ''; + position: absolute; + bottom: 0; + width: 100%; + background-color: var(--uui-color-current); + height: 0px; + border-radius: 3px 3px 0 0; + opacity: 0; + transition: opacity ease-in 120ms, height ease-in 120ms; + } + #more-button.active-inside::before { + opacity: 1; + height: 4px; + transition: opacity 120ms, height ease-out 120ms; + } + `, + ]; } declare global { diff --git a/packages/uui-tabs/lib/uui-tab.element.ts b/packages/uui-tabs/lib/uui-tab.element.ts index f8eedf616..5c8c8270e 100644 --- a/packages/uui-tabs/lib/uui-tab.element.ts +++ b/packages/uui-tabs/lib/uui-tab.element.ts @@ -20,6 +20,83 @@ import { ifDefined } from 'lit/directives/if-defined.js'; */ @defineElement('uui-tab') export class UUITabElement extends ActiveMixin(LabelMixin('', LitElement)) { + /** + * Reflects the disabled state of the element. True if tab is disabled. Change this to switch the state programmatically. + * @type {boolean} + * @attr + * @default false + */ + @property({ type: Boolean, reflect: true }) + public disabled = false; + + /** + * Set an href, this will turns the inner button into a anchor tag. + * @type {string} + * @attr + * @default undefined + */ + @property({ type: String }) + public href?: string; + + /** + * Set an anchor tag target, only used when using href. + * @type {string} + * @attr + * @default undefined + */ + @property({ type: String }) + public target?: '_blank' | '_parent' | '_self' | '_top'; + + /** + * Set the visual orientation of this tab, this changes the look and placement of the active indication. + * @type {string} + * @attr + * @default horizontal + */ + @property({ type: String, reflect: true }) + public orientation?: 'horizontal' | 'vertical' = 'horizontal'; + + constructor() { + super(); + this.addEventListener('click', this.onHostClick); + } + + private onHostClick(e: MouseEvent) { + if (this.disabled) { + e.preventDefault(); + e.stopImmediatePropagation(); + } + } + + render() { + return this.href + ? html` + + + ${this.renderLabel()} + + + ` + : html` + + `; + } + static styles = [ css` :host { @@ -144,83 +221,6 @@ export class UUITabElement extends ActiveMixin(LabelMixin('', LitElement)) { } `, ]; - - /** - * Reflects the disabled state of the element. True if tab is disabled. Change this to switch the state programmatically. - * @type {boolean} - * @attr - * @default false - */ - @property({ type: Boolean, reflect: true }) - public disabled = false; - - /** - * Set an href, this will turns the inner button into a anchor tag. - * @type {string} - * @attr - * @default undefined - */ - @property({ type: String }) - public href?: string; - - /** - * Set an anchor tag target, only used when using href. - * @type {string} - * @attr - * @default undefined - */ - @property({ type: String }) - public target?: '_blank' | '_parent' | '_self' | '_top'; - - /** - * Set the visual orientation of this tab, this changes the look and placement of the active indication. - * @type {string} - * @attr - * @default horizontal - */ - @property({ type: String, reflect: true }) - public orientation?: 'horizontal' | 'vertical' = 'horizontal'; - - constructor() { - super(); - this.addEventListener('click', this.onHostClick); - } - - private onHostClick(e: MouseEvent) { - if (this.disabled) { - e.preventDefault(); - e.stopImmediatePropagation(); - } - } - - render() { - return this.href - ? html` - - - ${this.renderLabel()} - - - ` - : html` - - `; - } } declare global { diff --git a/packages/uui-tag/lib/uui-tag.element.ts b/packages/uui-tag/lib/uui-tag.element.ts index 646e3c41a..c5a9b2363 100644 --- a/packages/uui-tag/lib/uui-tag.element.ts +++ b/packages/uui-tag/lib/uui-tag.element.ts @@ -13,6 +13,28 @@ import { InterfaceColor, InterfaceLook } from '@umbraco-ui/uui-base/lib/types'; @defineElement('uui-tag') export class UUITagElement extends LitElement { + /** + * Changes the look of the button to one of the predefined, symbolic looks. For example - set this to positive if you want nice, green "confirm" button. + * @type {"default" | "positive" | "warning" | "danger"} + * @attr + * @default "default" + */ + @property({ reflect: true }) + color: InterfaceColor = 'default'; + + /** + * Changes the look of the button to one of the predefined, symbolic looks. For example - set this to positive if you want nice, green "confirm" button. + * @type {"default" | "primary" | "secondary" | "outline" | "placeholder"} + * @attr + * @default "default" + */ + @property({ reflect: true }) + look: InterfaceLook = 'primary'; + + render() { + return html``; + } + static styles = [ css` :host { @@ -83,28 +105,6 @@ export class UUITagElement extends LitElement { } `, ]; - - /** - * Changes the look of the button to one of the predefined, symbolic looks. For example - set this to positive if you want nice, green "confirm" button. - * @type {"default" | "positive" | "warning" | "danger"} - * @attr - * @default "default" - */ - @property({ reflect: true }) - color: InterfaceColor = 'default'; - - /** - * Changes the look of the button to one of the predefined, symbolic looks. For example - set this to positive if you want nice, green "confirm" button. - * @type {"default" | "primary" | "secondary" | "outline" | "placeholder"} - * @attr - * @default "default" - */ - @property({ reflect: true }) - look: InterfaceLook = 'primary'; - - render() { - return html``; - } } declare global { diff --git a/packages/uui-textarea/lib/uui-textarea.element.ts b/packages/uui-textarea/lib/uui-textarea.element.ts index 932c5f59a..fa9826b2f 100644 --- a/packages/uui-textarea/lib/uui-textarea.element.ts +++ b/packages/uui-textarea/lib/uui-textarea.element.ts @@ -24,93 +24,6 @@ export class UUITextareaElement extends FormControlMixin(LitElement) { */ static readonly formAssociated = true; - static styles = [ - css` - :host { - position: relative; - } - :host([error]) textarea { - border: 1px solid var(--uui-color-danger) !important; - } - :host([error]) textarea[disabled] { - border: 1px solid var(--uui-color-danger) !important; - } - :host([auto-height]) textarea { - resize: none; - } - .label { - display: inline-block; - margin-bottom: var(--uui-size-1); - font-weight: bold; - } - - textarea[readonly] { - border-color: var( - --uui-textarea-border-color-readonly, - var(--uui-color-disabled-standalone) - ); - background-color: var( - --uui-textarea-background-color-readonly, - var(--uui-color-disabled) - ); - } - textarea[disabled] { - cursor: not-allowed; - background-color: var( - --uui-textarea-background-color-disabled, - var(--uui-color-disabled) - ); - border-color: var( - --uui-textarea-border-color-disabled, - var(--uui-color-disabled) - ); - - color: var(--uui-color-disabled-contrast); - } - - textarea { - font-family: inherit; - box-sizing: border-box; - min-width: 100%; - max-width: 100%; - font-size: inherit; - padding: var(--uui-size-2); - border: 1px solid - var(--uui-textarea-border-color, var(--uui-color-border)); /** Note: Specified border size is needed and hardcoded in autoUpdateHeight() */ - border-radius: 0; - outline: none; - min-height: var(--uui-textarea-min-height); - max-height: var(--uui-textarea-max-height); - background-color: var( - --uui-textarea-background-color, - var(--uui-color-surface) - ); - } - :host(:hover) - textarea:not([readonly]):not([disabled]) - :host(:focus-within) - textarea, - :host(:focus) textarea { - border-color: var( - --uui-textarea-border-color, - var(--uui-color-border-emphasis) - ); - } - - textarea::placeholder { - transition: opacity 120ms; - } - :host(:not([readonly])) textarea:focus::placeholder { - opacity: 0; - } - - textarea:focus { - outline: calc(2px * var(--uui-show-focus-outline, 1)) solid - var(--uui-color-focus); - } - `, - ]; - /** * Defines the textarea placeholder. * @type {string} @@ -344,6 +257,93 @@ export class UUITextareaElement extends FormControlMixin(LitElement) { `; } + + static styles = [ + css` + :host { + position: relative; + } + :host([error]) textarea { + border: 1px solid var(--uui-color-danger) !important; + } + :host([error]) textarea[disabled] { + border: 1px solid var(--uui-color-danger) !important; + } + :host([auto-height]) textarea { + resize: none; + } + .label { + display: inline-block; + margin-bottom: var(--uui-size-1); + font-weight: bold; + } + + textarea[readonly] { + border-color: var( + --uui-textarea-border-color-readonly, + var(--uui-color-disabled-standalone) + ); + background-color: var( + --uui-textarea-background-color-readonly, + var(--uui-color-disabled) + ); + } + textarea[disabled] { + cursor: not-allowed; + background-color: var( + --uui-textarea-background-color-disabled, + var(--uui-color-disabled) + ); + border-color: var( + --uui-textarea-border-color-disabled, + var(--uui-color-disabled) + ); + + color: var(--uui-color-disabled-contrast); + } + + textarea { + font-family: inherit; + box-sizing: border-box; + min-width: 100%; + max-width: 100%; + font-size: inherit; + padding: var(--uui-size-2); + border: 1px solid + var(--uui-textarea-border-color, var(--uui-color-border)); /** Note: Specified border size is needed and hardcoded in autoUpdateHeight() */ + border-radius: 0; + outline: none; + min-height: var(--uui-textarea-min-height); + max-height: var(--uui-textarea-max-height); + background-color: var( + --uui-textarea-background-color, + var(--uui-color-surface) + ); + } + :host(:hover) + textarea:not([readonly]):not([disabled]) + :host(:focus-within) + textarea, + :host(:focus) textarea { + border-color: var( + --uui-textarea-border-color, + var(--uui-color-border-emphasis) + ); + } + + textarea::placeholder { + transition: opacity 120ms; + } + :host(:not([readonly])) textarea:focus::placeholder { + opacity: 0; + } + + textarea:focus { + outline: calc(2px * var(--uui-show-focus-outline, 1)) solid + var(--uui-color-focus); + } + `, + ]; } declare global { diff --git a/packages/uui-toast-notification-container/lib/uui-toast-notification-container.element.ts b/packages/uui-toast-notification-container/lib/uui-toast-notification-container.element.ts index 24217d499..f3a51b035 100644 --- a/packages/uui-toast-notification-container/lib/uui-toast-notification-container.element.ts +++ b/packages/uui-toast-notification-container/lib/uui-toast-notification-container.element.ts @@ -15,38 +15,6 @@ import { property } from 'lit/decorators.js'; */ @defineElement('uui-toast-notification-container') export class UUIToastNotificationContainerElement extends LitElement { - static styles = [ - css` - :host { - position: absolute; - overflow: hidden; - max-width: 100%; - height: 100%; - - pointer-events: none; - box-sizing: border-box; - } - - slot { - display: flex; - flex-direction: column; - align-items: end; - - height: 100%; - box-sizing: border-box; - - padding-top: var(--uui-size-space-1); - padding-bottom: var(--uui-size-space-1); - } - :host([bottom-up]) slot { - justify-content: end; - } - :host([left-align]) slot { - align-items: start; - } - `, - ]; - /** * Set an auto-close timer, the timer will be paused on mouse-hover. * @type number | null @@ -170,6 +138,38 @@ export class UUIToastNotificationContainerElement extends LitElement { render() { return html` `; } + + static styles = [ + css` + :host { + position: absolute; + overflow: hidden; + max-width: 100%; + height: 100%; + + pointer-events: none; + box-sizing: border-box; + } + + slot { + display: flex; + flex-direction: column; + align-items: end; + + height: 100%; + box-sizing: border-box; + + padding-top: var(--uui-size-space-1); + padding-bottom: var(--uui-size-space-1); + } + :host([bottom-up]) slot { + justify-content: end; + } + :host([left-align]) slot { + align-items: start; + } + `, + ]; } declare global { diff --git a/packages/uui-toast-notification-layout/lib/uui-toast-notification-layout.element.ts b/packages/uui-toast-notification-layout/lib/uui-toast-notification-layout.element.ts index 8b4722867..ea0bcdda7 100644 --- a/packages/uui-toast-notification-layout/lib/uui-toast-notification-layout.element.ts +++ b/packages/uui-toast-notification-layout/lib/uui-toast-notification-layout.element.ts @@ -12,32 +12,6 @@ import { property, state } from 'lit/decorators.js'; */ @defineElement('uui-toast-notification-layout') export class UUIToastNotificationLayoutElement extends LitElement { - static styles = [ - UUITextStyles, - css` - #message { - margin-bottom: calc(var(--uui-size-space-1) * -1); - } - #message::after { - content: ''; - display: block; - clear: both; - } - #actions { - /* - display: flex; - width: 100%; - justify-content: flex-end; - */ - display: block; - float: right; - - margin-top: var(--uui-size-space-4); - margin-bottom: calc(var(--uui-size-space-2) * -1); - } - `, - ]; - /** * Headline for this notification, can also be set via the 'headline' slot. * @attr @@ -70,6 +44,32 @@ export class UUIToastNotificationLayoutElement extends LitElement { `; } + + static styles = [ + UUITextStyles, + css` + #message { + margin-bottom: calc(var(--uui-size-space-1) * -1); + } + #message::after { + content: ''; + display: block; + clear: both; + } + #actions { + /* + display: flex; + width: 100%; + justify-content: flex-end; + */ + display: block; + float: right; + + margin-top: var(--uui-size-space-4); + margin-bottom: calc(var(--uui-size-space-2) * -1); + } + `, + ]; } declare global { diff --git a/packages/uui-toast-notification/lib/uui-toast-notification.element.ts b/packages/uui-toast-notification/lib/uui-toast-notification.element.ts index b19ada5eb..f0f8e0d0b 100644 --- a/packages/uui-toast-notification/lib/uui-toast-notification.element.ts +++ b/packages/uui-toast-notification/lib/uui-toast-notification.element.ts @@ -18,107 +18,6 @@ import { UUIToastNotificationEvent } from './UUIToastNotificationEvent'; */ @defineElement('uui-toast-notification') export class UUIToastNotificationElement extends LitElement { - static styles = [ - UUITextStyles, - css` - :host { - --uui-toast-notification-margin: var(--uui-size-space-2); - - position: relative; - display: block; - width: 100%; - max-width: 400px; - margin: 0 var(--uui-toast-notification-margin); - box-sizing: border-box; - - height: 0; - pointer-events: none; - - transition: height - var(--uui-toast-notification-animation-duration, 480ms) ease-in-out; - } - :host([is-open]) { - pointer-events: all; - transition-timing-function: cubic-bezier( - 0.19, - 1, - 0.22, - 1 - ); /* easeOutExpo */ - } - - #toast { - position: relative; - display: block; - padding: calc(var(--uui-toast-notification-margin) * 0.5) 0; - width: 100%; - max-width: 400px; - } - #toast.animate { - position: absolute; - } - - #toast > div { - position: relative; - display: block; - - box-sizing: border-box; - box-shadow: var(--uui-shadow-depth-1); - background-color: var(--uui-color-surface); - padding: var(--uui-size-layout-1); - padding-right: var(--uui-size-layout-1); - padding-left: var(--uui-size-layout-3); - border-radius: calc(var(--uui-border-radius) * 2); - - opacity: 0; - transition: opacity - var(--uui-toast-notification-animation-duration, 480ms); - } - :host([is-open]) #toast > div { - opacity: 1; - } - - #close { - float: right; - margin-top: -6px; - margin-left: var(--uui-size-space-1); - margin-bottom: -4px; - } - - #close > uui-button { - --uui-button-border-radius: 50px 50px 50px 50px; - --uui-button-padding-left-factor: 1.5; - --uui-button-padding-right-factor: 1.5; - } - - :host #toast > div { - background-color: var(--uui-color-surface); - color: var(--uui-color-text); - border-color: var(--uui-color-surface); - } - :host([color='default']) #toast > div { - background-color: var(--uui-color-default); - color: var(--uui-color-default-contrast); - border-color: var(--uui-color-default-standalone); - } - :host([color='positive']) #toast > div { - background-color: var(--uui-color-positive); - color: var(--uui-color-positive-contrast); - border-color: var(--uui-color-positive-standalone); - } - :host([color='warning']) #toast > div { - background-color: var(--uui-color-warning); - color: var(--uui-color-warning-contrast); - border-color: var(--uui-color-warning-standalone); - } - :host([color='danger']) #toast > div { - background-color: var(--uui-color-danger); - color: var(--uui-color-danger-contrast); - border-color: var(--uui-color-danger-standalone); - } - `, - ]; - /** * Changes the color of the notification to one of the predefined, symbolic colors. Example: set this to danger to indicate errors. * @type {'' | 'default' | 'positive' | 'warning' | 'danger'} @@ -353,6 +252,107 @@ export class UUIToastNotificationElement extends LitElement { `; } + + static styles = [ + UUITextStyles, + css` + :host { + --uui-toast-notification-margin: var(--uui-size-space-2); + + position: relative; + display: block; + width: 100%; + max-width: 400px; + margin: 0 var(--uui-toast-notification-margin); + box-sizing: border-box; + + height: 0; + pointer-events: none; + + transition: height + var(--uui-toast-notification-animation-duration, 480ms) ease-in-out; + } + :host([is-open]) { + pointer-events: all; + transition-timing-function: cubic-bezier( + 0.19, + 1, + 0.22, + 1 + ); /* easeOutExpo */ + } + + #toast { + position: relative; + display: block; + padding: calc(var(--uui-toast-notification-margin) * 0.5) 0; + width: 100%; + max-width: 400px; + } + #toast.animate { + position: absolute; + } + + #toast > div { + position: relative; + display: block; + + box-sizing: border-box; + box-shadow: var(--uui-shadow-depth-1); + background-color: var(--uui-color-surface); + padding: var(--uui-size-layout-1); + padding-right: var(--uui-size-layout-1); + padding-left: var(--uui-size-layout-3); + border-radius: calc(var(--uui-border-radius) * 2); + + opacity: 0; + transition: opacity + var(--uui-toast-notification-animation-duration, 480ms); + } + :host([is-open]) #toast > div { + opacity: 1; + } + + #close { + float: right; + margin-top: -6px; + margin-left: var(--uui-size-space-1); + margin-bottom: -4px; + } + + #close > uui-button { + --uui-button-border-radius: 50px 50px 50px 50px; + --uui-button-padding-left-factor: 1.5; + --uui-button-padding-right-factor: 1.5; + } + + :host #toast > div { + background-color: var(--uui-color-surface); + color: var(--uui-color-text); + border-color: var(--uui-color-surface); + } + :host([color='default']) #toast > div { + background-color: var(--uui-color-default); + color: var(--uui-color-default-contrast); + border-color: var(--uui-color-default-standalone); + } + :host([color='positive']) #toast > div { + background-color: var(--uui-color-positive); + color: var(--uui-color-positive-contrast); + border-color: var(--uui-color-positive-standalone); + } + :host([color='warning']) #toast > div { + background-color: var(--uui-color-warning); + color: var(--uui-color-warning-contrast); + border-color: var(--uui-color-warning-standalone); + } + :host([color='danger']) #toast > div { + background-color: var(--uui-color-danger); + color: var(--uui-color-danger-contrast); + border-color: var(--uui-color-danger-standalone); + } + `, + ]; } declare global { diff --git a/packages/uui-toggle/lib/uui-toggle.element.ts b/packages/uui-toggle/lib/uui-toggle.element.ts index 7416c34c5..4e554449d 100644 --- a/packages/uui-toggle/lib/uui-toggle.element.ts +++ b/packages/uui-toggle/lib/uui-toggle.element.ts @@ -32,6 +32,19 @@ export class UUIToggleElement extends UUIBooleanInputElement { */ static readonly formAssociated = true; + constructor() { + super('switch'); + } + + renderCheckbox() { + return html` +
+
${iconCheck}
+
${iconWrong}
+
+ `; + } + static styles = [ ...UUIBooleanInputElement.styles, UUIHorizontalShakeKeyframes, @@ -170,19 +183,6 @@ export class UUIToggleElement extends UUIBooleanInputElement { } `, ]; - - constructor() { - super('switch'); - } - - renderCheckbox() { - return html` -
-
${iconCheck}
-
${iconWrong}
-
- `; - } } declare global { From ba5760ed844b6c8830485e90eb451cd54976dc49 Mon Sep 17 00:00:00 2001 From: Owain Jones Date: Tue, 17 Oct 2023 12:10:52 +0100 Subject: [PATCH 05/25] docs: Update CONTRIBUTING.md (#611) Updated the required Node and NPM versions in the "How to get started" section --- docs/CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 5abc9c724..eb9b53e89 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -50,7 +50,7 @@ Using Typescript is mandatory when contributing to this repository, although it ### How to get started 1. Make sure you have the recommended version of node.js and npm installed - 1. Currently we use node.js v16 and npm v8 + 1. Currently we use node.js v18.16.0 and npm v9.5.0 2. Run `npm install` 3. Run `npm run storybook` to start the storybook server, which we also use for development From b440860dd653171eb5d3562982ea5e7eea0ebf7d Mon Sep 17 00:00:00 2001 From: Warren Buckley Date: Tue, 17 Oct 2023 12:13:14 +0100 Subject: [PATCH 06/25] build: Add support for GitHub Codespaces (#609) --- .devcontainer/devcontainer.json | 36 +++++++++++++++++++++++++++++++++ .vscode/settings.json | 3 ++- .vscode/tasks.json | 16 +++++++++++++++ 3 files changed, 54 insertions(+), 1 deletion(-) create mode 100644 .devcontainer/devcontainer.json create mode 100644 .vscode/tasks.json diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000..167695276 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,36 @@ +// For format details, see https://aka.ms/devcontainer.json. For config options, see the +// README at: https://github.com/devcontainers/templates/tree/main/src/typescript-node +{ + "name": "Node.js & TypeScript", + // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile + "image": "mcr.microsoft.com/devcontainers/typescript-node:1-20-bullseye", + + // Features to add to the dev container. More info: https://containers.dev/features. + "features": {}, + + // Use 'forwardPorts' to make a list of ports inside the container available locally. + // "forwardPorts": [], + + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "npm install", + "customizations": { + "vscode": { + "extensions": [ + "esbenp.prettier-vscode", + "streetsidesoftware.code-spell-checker" + ] + } + }, + "portsAttributes": { + "6006": { + "label": "Storybook", + "onAutoForward": "notify" + } + } + + // Configure tool-specific properties. + // "customizations": {}, + + // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root. + // "remoteUser": "root" +} diff --git a/.vscode/settings.json b/.vscode/settings.json index dcaaedc1b..7d5502898 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +1,4 @@ { - "cSpell.words": ["combobox", "cssprop", "noopener", "noreferrer", "Umbraco"] + "cSpell.words": ["combobox", "cssprop", "noopener", "noreferrer", "Umbraco"], + "npm.enableRunFromFolder": true } diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 000000000..214b0b08d --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,16 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "type": "npm", + "script": "build", + "group": { + "kind": "build", + "isDefault": true + }, + "problemMatcher": [], + "label": "npm: build", + "detail": "Builds each package" + } + ] +} From ac118190aead6ccb586cc9de7de62bcb9d56201a Mon Sep 17 00:00:00 2001 From: Bjarne Fyrstenborg Date: Tue, 17 Oct 2023 13:14:50 +0200 Subject: [PATCH 07/25] feat(uui-icon): Set aria-hidden if no label has been set (#612) --- packages/uui-icon/lib/uui-icon.element.ts | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/packages/uui-icon/lib/uui-icon.element.ts b/packages/uui-icon/lib/uui-icon.element.ts index 4b20fd52b..22795d8d6 100644 --- a/packages/uui-icon/lib/uui-icon.element.ts +++ b/packages/uui-icon/lib/uui-icon.element.ts @@ -19,6 +19,15 @@ export class UUIIconElement extends LitElement { @state() private _nameSvg: string | null = null; + /** + * An alternate description to use for assistive devices. + * If omitted, the icon will be considered presentational and ignored by assistive devices. + * @type {string} + * @attr + * @default + */ + @property() label = ''; + /** * Icon name is used to retrieve the icon from a parent Icon Registry. * If no Icon Registry responds to the given name, the fallback svg will be used. @@ -36,6 +45,7 @@ export class UUIIconElement extends LitElement { this.requestIcon(); } } + private requestIcon() { if (this._name !== '' && this._name !== null) { const event = new UUIIconRequestEvent(UUIIconRequestEvent.ICON_REQUEST, { @@ -92,6 +102,19 @@ export class UUIIconElement extends LitElement { if (this._retrievedNameIcon === false) { this.requestIcon(); } + + const hasLabel = typeof this.label === 'string' && this.label.length > 0; + + if (hasLabel) { + this.setAttribute('role', 'img'); + this.setAttribute('aria-label', this.label); + this.removeAttribute('aria-hidden'); + } else { + this.removeAttribute('role'); + this.removeAttribute('aria-label'); + this.setAttribute('aria-hidden', 'true'); + } + } render() { From 4bfb6a1d866830b67139ed5f3ed8be09d60d28ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niels=20Lyngs=C3=B8?= Date: Tue, 17 Oct 2023 13:15:54 +0200 Subject: [PATCH 08/25] fix: fixing imports + story for hrefs (#614) --- packages/uui-tabs/lib/uui-tabs.story.ts | 34 +++++++++++++++++++++++++ packages/uui-tabs/tsconfig.json | 9 +++++++ 2 files changed, 43 insertions(+) diff --git a/packages/uui-tabs/lib/uui-tabs.story.ts b/packages/uui-tabs/lib/uui-tabs.story.ts index 76ac2d431..ee8b8260e 100644 --- a/packages/uui-tabs/lib/uui-tabs.story.ts +++ b/packages/uui-tabs/lib/uui-tabs.story.ts @@ -98,6 +98,40 @@ export const Navbar: Story = () => html` `; +export const UsingHref: Story = () => html` +

Href links

+
+ + + Content + + + Packages + + + Media + + + Settings + + + Translations + + + Users + + +
+`; + export const WithIcons: Story = props => html`

Tabs with Icons

diff --git a/packages/uui-tabs/tsconfig.json b/packages/uui-tabs/tsconfig.json index 40d176776..76350c605 100644 --- a/packages/uui-tabs/tsconfig.json +++ b/packages/uui-tabs/tsconfig.json @@ -12,6 +12,15 @@ "references": [ { "path": "../uui-base" + }, + { + "path": "../uui-button" + }, + { + "path": "../uui-popover-container" + }, + { + "path": "../uui-symbol-more" } ] } From 61c62e43f03ff0b660d78035f369d3723386c841 Mon Sep 17 00:00:00 2001 From: Bjarne Fyrstenborg Date: Tue, 17 Oct 2023 13:17:27 +0200 Subject: [PATCH 09/25] feat: Add HSV as accepted color format (#610) * Add HSV as accepted color format * Update HSV format and support lettercase correct * Fix formatting of color string * Update color format --- .../lib/uui-color-picker.element.ts | 40 +++++++++++-------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/packages/uui-color-picker/lib/uui-color-picker.element.ts b/packages/uui-color-picker/lib/uui-color-picker.element.ts index 36c897cf1..03f8cbe9f 100644 --- a/packages/uui-color-picker/lib/uui-color-picker.element.ts +++ b/packages/uui-color-picker/lib/uui-color-picker.element.ts @@ -46,12 +46,13 @@ interface EyeDropperInterface { open: () => Promise<{ sRGBHex: string }>; } -export type UUIColorPickerFormat = 'hex' | 'rgb' | 'hsl'; +export type UUIColorPickerFormat = 'hex' | 'rgb' | 'hsl' | 'hsv'; export type UUIColorPickerFormatWithAlpha = | UUIColorPickerFormat | 'hexa' | 'rgba' - | 'hsla'; + | 'hsla' + | 'hsva'; declare const EyeDropper: EyeDropperConstructor; @@ -85,7 +86,7 @@ export class UUIColorPickerElement extends LabelMixin('label', LitElement) { @property() value = ''; /** - * The format to use for the display value. If opacity is enabled, these will translate to HEXA, RGBA, and HSLA + * The format to use for the display value. If opacity is enabled, these will translate to HEXA, RGBA, HSLA, and HSVA * respectively. The color picker will always accept user input in any format (including CSS color names) and convert * it to the desired format. * @attr @@ -153,7 +154,7 @@ export class UUIColorPickerElement extends LabelMixin('label', LitElement) { /** * An array of predefined color swatches to display. Can include any format the color picker can parse, including - * HEX(A), RGB(A), HSL(A), and CSS color names. + * HEX(A), RGB(A), HSL(A), HSV(A), and CSS color names. */ @property({ attribute: false }) swatches: string[] = [ '#d0021b', @@ -198,26 +199,31 @@ export class UUIColorPickerElement extends LabelMixin('label', LitElement) { /** Returns the current value as a string in the specified format. */ getFormattedValue(format: UUIColorPickerFormat) { const formatToUse = this.opacity ? `${format}a` : format; - const { h, l, s } = this._colord.toHsl(); + const hexa = this._colord.toHex(); + const hex = hexa.length > 7 ? hexa.substring(0, hexa.length - 2) : hexa; + const { r, g, b } = this._colord.toRgb(); - const hexa = this.setLetterCase(this._colord.toHex()); - const hex = this.setLetterCase( - hexa.length > 7 ? hexa.substring(0, hexa.length - 2) : hexa - ); + const { h, s, l } = this._colord.toHsl(); + const { v } = this._colord.toHsv(); + const a = this._colord.alpha(); switch (formatToUse) { case 'hex': - return hex; + return this.setLetterCase(hex); case 'hexa': - return hexa; + return this.setLetterCase(hexa); case 'rgb': - return `rgb(${r} ${g} ${b})`; + return this.setLetterCase(`rgb(${r}, ${g}, ${b})`); case 'rgba': - return this._colord.toRgbString(); + return this.setLetterCase(this._colord.toRgbString()); case 'hsl': - return `hsl(${h} ${s} ${l})`; + return this.setLetterCase(`hsl(${h}, ${s}%, ${l}%)`); case 'hsla': - return this._colord.toHslString(); + return this.setLetterCase(this._colord.toHslString()); + case 'hsv': + return this.setLetterCase(`hsv(${h}, ${s}%, ${l}%)`); + case 'hsva': + return this.setLetterCase(`hsva(${h}, ${s}%, ${v}%, ${a})`); //this._colord.toHsvString(); default: return ''; } @@ -236,9 +242,9 @@ export class UUIColorPickerElement extends LabelMixin('label', LitElement) { } handleFormatToggle() { - const formats = ['hex', 'rgb', 'hsl']; + const formats = ['hex', 'rgb', 'hsl', 'hsv']; const nextIndex = (formats.indexOf(this.format) + 1) % formats.length; - this.format = formats[nextIndex] as 'hex' | 'rgb' | 'hsl'; + this.format = formats[nextIndex] as 'hex' | 'rgb' | 'hsl' | 'hsv'; this._syncValues(); } From 875d46ed4c2b3224affb98cfd3a7d270e63349e8 Mon Sep 17 00:00:00 2001 From: Bjarne Fyrstenborg Date: Tue, 17 Oct 2023 13:19:00 +0200 Subject: [PATCH 10/25] feat: Visually hidden component (#593) * Add visually hidden package * Adjust visually hidden component * Format code * Simplify export of module * Run format prettier * Add description * Update readme --- package-lock.json | 11 +++++ packages/uui-visually-hidden/README.md | 39 ++++++++++++++++ packages/uui-visually-hidden/lib/index.ts | 1 + .../lib/uui-visually-hidden.element.ts | 34 ++++++++++++++ .../lib/uui-visually-hidden.story.ts | 37 ++++++++++++++++ .../lib/uui-visually-hidden.test.ts | 20 +++++++++ packages/uui-visually-hidden/package.json | 44 +++++++++++++++++++ packages/uui-visually-hidden/rollup.config.js | 5 +++ packages/uui-visually-hidden/tsconfig.json | 17 +++++++ packages/uui/lib/index.ts | 1 + 10 files changed, 209 insertions(+) create mode 100644 packages/uui-visually-hidden/README.md create mode 100644 packages/uui-visually-hidden/lib/index.ts create mode 100644 packages/uui-visually-hidden/lib/uui-visually-hidden.element.ts create mode 100644 packages/uui-visually-hidden/lib/uui-visually-hidden.story.ts create mode 100644 packages/uui-visually-hidden/lib/uui-visually-hidden.test.ts create mode 100644 packages/uui-visually-hidden/package.json create mode 100644 packages/uui-visually-hidden/rollup.config.js create mode 100644 packages/uui-visually-hidden/tsconfig.json diff --git a/package-lock.json b/package-lock.json index 1fcba39ea..455ceb253 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11019,6 +11019,10 @@ "resolved": "packages/uui-toggle", "link": true }, + "node_modules/@umbraco-ui/uui-visually-hidden": { + "resolved": "packages/uui-visually-hidden", + "link": true + }, "node_modules/@web/browser-logs": { "version": "0.3.3", "dev": true, @@ -32937,6 +32941,13 @@ "@umbraco-ui/uui-base": "1.5.0-rc.0", "@umbraco-ui/uui-boolean-input": "1.5.0-rc.0" } + }, + "packages/uui-visually-hidden": { + "version": "0.0.0", + "license": "MIT", + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0-rc.0" + } } } } diff --git a/packages/uui-visually-hidden/README.md b/packages/uui-visually-hidden/README.md new file mode 100644 index 000000000..5f420e4a3 --- /dev/null +++ b/packages/uui-visually-hidden/README.md @@ -0,0 +1,39 @@ +# uui-visually-hidden + +![npm](https://img.shields.io/npm/v/@umbraco-ui/uui-visually-hidden?logoColor=%231B264F) + +Umbraco style visually-hidden component. + +The visually hidden utility makes content accessible to assistive devices without displaying it on the screen. + +According to [The A11Y Project](https://www.a11yproject.com/posts/how-to-hide-content/): + +> There are real world situations where visually hiding content may be appropriate, while the content should remain available to assistive technologies, such as screen readers. For instance, hiding a search field's label as a common magnifying glass icon is used in its stead. + +Since visually hidden content can receive focus when tabbing, the element will become visible when something inside receives focus. This behavior is intentional, as sighted keyboard user won’t be able to determine where the focus indicator is without it. + +## Installation + +### ES imports + +```zsh +npm i @umbraco-ui/uui-visually-hidden +``` + +Import the registration of `` via: + +```javascript +import '@umbraco-ui/uui-visually-hidden'; +``` + +When looking to leverage the `UUIVisuallyHiddenElement` base class as a type and/or for extension purposes, do so via: + +```javascript +import { UUIVisuallyHiddenElement } from '@umbraco-ui/uui-visually-hidden'; +``` + +## Usage + +```html + +``` diff --git a/packages/uui-visually-hidden/lib/index.ts b/packages/uui-visually-hidden/lib/index.ts new file mode 100644 index 000000000..68234c3ad --- /dev/null +++ b/packages/uui-visually-hidden/lib/index.ts @@ -0,0 +1 @@ +export * from './uui-visually-hidden.element'; diff --git a/packages/uui-visually-hidden/lib/uui-visually-hidden.element.ts b/packages/uui-visually-hidden/lib/uui-visually-hidden.element.ts new file mode 100644 index 000000000..8e9a36e61 --- /dev/null +++ b/packages/uui-visually-hidden/lib/uui-visually-hidden.element.ts @@ -0,0 +1,34 @@ +import { defineElement } from '@umbraco-ui/uui-base/lib/registration'; +import { css, html, LitElement } from 'lit'; + +/** + * @element uui-visually-hidden + */ +@defineElement('uui-visually-hidden') +export class UUIVisuallyHiddenElement extends LitElement { + static styles = [ + css` + :host(:not(:focus-within)) { + position: absolute !important; + width: 1px !important; + height: 1px !important; + clip: rect(0 0 0 0) !important; + clip-path: inset(50%) !important; + border: none !important; + overflow: hidden !important; + white-space: nowrap !important; + padding: 0 !important; + } + `, + ]; + + render() { + return html``; + } +} + +declare global { + interface HTMLElementTagNameMap { + 'uui-visually-hidden': UUIVisuallyHiddenElement; + } +} diff --git a/packages/uui-visually-hidden/lib/uui-visually-hidden.story.ts b/packages/uui-visually-hidden/lib/uui-visually-hidden.story.ts new file mode 100644 index 000000000..670093b06 --- /dev/null +++ b/packages/uui-visually-hidden/lib/uui-visually-hidden.story.ts @@ -0,0 +1,37 @@ +import type { Meta, StoryObj } from '@storybook/web-components'; + +import './uui-visually-hidden.element'; +import type { UUIVisuallyHiddenElement } from './uui-visually-hidden.element'; +import readme from '../README.md?raw'; + +const meta: Meta = { + id: 'uui-visually-hidden', + title: 'Visually Hidden', + component: 'uui-visually-hidden', + parameters: { + readme: { markdown: readme }, + docs: { + source: { + code: ``, + }, + }, + }, +}; + +export default meta; +type Story = StoryObj; + +export const Overview: Story = {}; + +export const SkipNavigation: Story = { + args: {}, + parameters: { + docs: { + source: { + code: ` + Skip to main content +`, + }, + }, + }, +}; diff --git a/packages/uui-visually-hidden/lib/uui-visually-hidden.test.ts b/packages/uui-visually-hidden/lib/uui-visually-hidden.test.ts new file mode 100644 index 000000000..cc3aad168 --- /dev/null +++ b/packages/uui-visually-hidden/lib/uui-visually-hidden.test.ts @@ -0,0 +1,20 @@ +import { html, fixture, expect } from '@open-wc/testing'; +import { UUIVisuallyHiddenElement } from './uui-visually-hidden.element'; + +describe('UUIVisuallyHiddenElement', () => { + let element: UUIVisuallyHiddenElement; + + beforeEach(async () => { + element = await fixture( + html` ` + ); + }); + + it('is defined with its own instance', () => { + expect(element).to.be.instanceOf(UUIVisuallyHiddenElement); + }); + + it('passes the a11y audit', async () => { + await expect(element).shadowDom.to.be.accessible(); + }); +}); diff --git a/packages/uui-visually-hidden/package.json b/packages/uui-visually-hidden/package.json new file mode 100644 index 000000000..70c496b19 --- /dev/null +++ b/packages/uui-visually-hidden/package.json @@ -0,0 +1,44 @@ +{ + "name": "@umbraco-ui/uui-visually-hidden", + "version": "0.0.0", + "license": "MIT", + "keywords": [ + "Umbraco", + "Custom elements", + "Web components", + "UI", + "Lit", + "Visually Hidden" + ], + "description": "Umbraco UI visually-hidden component", + "repository": { + "type": "git", + "url": "https://github.com/umbraco/Umbraco.UI.git", + "directory": "packages/uui-visually-hidden" + }, + "bugs": { + "url": "https://github.com/umbraco/Umbraco.UI/issues" + }, + "main": "./lib/index.js", + "module": "./lib/index.js", + "types": "./lib/index.d.ts", + "type": "module", + "customElements": "custom-elements.json", + "files": [ + "lib/**/*.d.ts", + "lib/**/*.js", + "custom-elements.json" + ], + "dependencies": { + "@umbraco-ui/uui-base": "1.5.0-rc.0" + }, + "scripts": { + "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", + "clean": "tsc --build --clean && rimraf -g dist lib/*.js lib/**/*.js *.tgz lib/**/*.d.ts custom-elements.json", + "analyze": "web-component-analyzer **/*.element.ts --outFile custom-elements.json" + }, + "publishConfig": { + "access": "public" + }, + "homepage": "https://uui.umbraco.com/?path=/story/uui-visually-hidden" +} diff --git a/packages/uui-visually-hidden/rollup.config.js b/packages/uui-visually-hidden/rollup.config.js new file mode 100644 index 000000000..34524a90d --- /dev/null +++ b/packages/uui-visually-hidden/rollup.config.js @@ -0,0 +1,5 @@ +import { UUIProdConfig } from '../rollup-package.config.mjs'; + +export default UUIProdConfig({ + entryPoints: ['index'], +}); diff --git a/packages/uui-visually-hidden/tsconfig.json b/packages/uui-visually-hidden/tsconfig.json new file mode 100644 index 000000000..40d176776 --- /dev/null +++ b/packages/uui-visually-hidden/tsconfig.json @@ -0,0 +1,17 @@ +// Don't edit this file directly. It is generated by /scripts/generate-ts-config.js + +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "./lib", + "rootDir": "./lib", + "composite": true + }, + "include": ["./**/*.ts"], + "exclude": ["./**/*.test.ts", "./**/*.story.ts"], + "references": [ + { + "path": "../uui-base" + } + ] +} diff --git a/packages/uui/lib/index.ts b/packages/uui/lib/index.ts index c4a779bda..b9c8043f8 100644 --- a/packages/uui/lib/index.ts +++ b/packages/uui/lib/index.ts @@ -78,3 +78,4 @@ export * from '@umbraco-ui/uui-toast-notification-container/lib'; export * from '@umbraco-ui/uui-toast-notification-layout/lib'; export * from '@umbraco-ui/uui-toast-notification/lib'; export * from '@umbraco-ui/uui-toggle/lib'; +export * from '@umbraco-ui/uui-visually-hidden/lib'; From dffd0633e435d2f6a2f3a31be3b76ee2079658c0 Mon Sep 17 00:00:00 2001 From: Bjarne Fyrstenborg Date: Tue, 17 Oct 2023 13:20:18 +0200 Subject: [PATCH 11/25] docs: Specific control types in storybook controls (#537) * Specific control types in storybook controls * Set initial value on opacity story to 50% opacity * Run formatting * Update support for HSV --------- Co-authored-by: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> --- .../lib/uui-color-picker.story.ts | 26 +++++++++++++------ .../lib/uui-color-slider.story.ts | 8 ++++++ 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/packages/uui-color-picker/lib/uui-color-picker.story.ts b/packages/uui-color-picker/lib/uui-color-picker.story.ts index d7ea801b9..8564db10d 100644 --- a/packages/uui-color-picker/lib/uui-color-picker.story.ts +++ b/packages/uui-color-picker/lib/uui-color-picker.story.ts @@ -34,6 +34,9 @@ const defaultSwatches = [ '#fff', ]; +const formats = ['hex', 'rgb', 'hsl', 'hsv']; +const sizes = ['small', 'medium', 'large']; + const meta: Meta = { id: 'uui-color-picker', title: 'Inputs/Color/Color Picker', @@ -42,6 +45,20 @@ const meta: Meta = { inline: false, swatches: defaultSwatches, format: 'hex', + size: 'medium', + }, + argTypes: { + format: { + options: formats, + control: { type: 'select' }, + }, + size: { + options: sizes, + control: { type: 'select' }, + }, + value: { + control: { type: 'color' }, + }, }, parameters: { readme: { @@ -91,6 +108,7 @@ export const Disabled: Story = { export const WithOpacity: Story = { args: { opacity: true, + value: 'rgba(0, 0, 0, 0.5)', }, parameters: { docs: { @@ -101,8 +119,6 @@ export const WithOpacity: Story = { }, }; -const formats = ['hex', 'rgb', 'hsl']; - export const Formats: Story = { args: { format: 'hex', @@ -115,12 +131,6 @@ export const Formats: Story = { ${story()} `, ], - argTypes: { - format: { - options: formats, - control: { type: 'select' }, - }, - }, parameters: { docs: { source: { diff --git a/packages/uui-color-slider/lib/uui-color-slider.story.ts b/packages/uui-color-slider/lib/uui-color-slider.story.ts index 6c3d0be79..3e8f2f9ba 100644 --- a/packages/uui-color-slider/lib/uui-color-slider.story.ts +++ b/packages/uui-color-slider/lib/uui-color-slider.story.ts @@ -4,6 +4,8 @@ import readme from '../README.md?raw'; import './uui-color-slider.element'; +const types = ['hue', 'opacity']; + const meta: Meta = { id: 'uui-color-slider', title: 'Inputs/Color/Color Slider', @@ -19,6 +21,12 @@ const meta: Meta = { type: 'hue', color: '', }, + argTypes: { + type: { + options: types, + control: { type: 'select' }, + }, + }, parameters: { readme: { markdown: readme, From 1353ee48aae7a2e25e0b1f466e4a91ea90b7543c Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 17 Oct 2023 13:24:03 +0200 Subject: [PATCH 12/25] update lockfile --- package-lock.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 455ceb253..8ce8c5f05 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16593,7 +16593,8 @@ "node_modules/eslint-plugin-local-rules": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/eslint-plugin-local-rules/-/eslint-plugin-local-rules-2.0.0.tgz", - "integrity": "sha512-sWueme0kUcP0JC1+6OBDQ9edBDVFJR92WJHSRbhiRExlenMEuUisdaVBPR+ItFBFXo2Pdw6FD2UfGZWkz8e93g==" + "integrity": "sha512-sWueme0kUcP0JC1+6OBDQ9edBDVFJR92WJHSRbhiRExlenMEuUisdaVBPR+ItFBFXo2Pdw6FD2UfGZWkz8e93g==", + "dev": true }, "node_modules/eslint-plugin-storybook": { "version": "0.6.14", @@ -32943,6 +32944,7 @@ } }, "packages/uui-visually-hidden": { + "name": "@umbraco-ui/uui-visually-hidden", "version": "0.0.0", "license": "MIT", "dependencies": { From 10dbf5d803fe2d8545a55b52122eb8faa5064fcb Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 17 Oct 2023 13:24:43 +0200 Subject: [PATCH 13/25] chore: format files --- packages/uui-icon/lib/uui-icon.element.ts | 1 - .../lib/uui-visually-hidden.element.ts | 8 ++++---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/uui-icon/lib/uui-icon.element.ts b/packages/uui-icon/lib/uui-icon.element.ts index 22795d8d6..48f483470 100644 --- a/packages/uui-icon/lib/uui-icon.element.ts +++ b/packages/uui-icon/lib/uui-icon.element.ts @@ -114,7 +114,6 @@ export class UUIIconElement extends LitElement { this.removeAttribute('aria-label'); this.setAttribute('aria-hidden', 'true'); } - } render() { diff --git a/packages/uui-visually-hidden/lib/uui-visually-hidden.element.ts b/packages/uui-visually-hidden/lib/uui-visually-hidden.element.ts index 8e9a36e61..81d690741 100644 --- a/packages/uui-visually-hidden/lib/uui-visually-hidden.element.ts +++ b/packages/uui-visually-hidden/lib/uui-visually-hidden.element.ts @@ -6,6 +6,10 @@ import { css, html, LitElement } from 'lit'; */ @defineElement('uui-visually-hidden') export class UUIVisuallyHiddenElement extends LitElement { + render() { + return html``; + } + static styles = [ css` :host(:not(:focus-within)) { @@ -21,10 +25,6 @@ export class UUIVisuallyHiddenElement extends LitElement { } `, ]; - - render() { - return html``; - } } declare global { From 05c7155cb36c2a304c51715056fa45731845ef19 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 17 Oct 2023 15:07:36 +0200 Subject: [PATCH 14/25] docs: add badges to README --- README.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e877a931b..f174ea23b 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ # [Umbraco UI Library](https://uui.umbraco.com/) -[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](../LICENSE.md) [![Twitter](https://img.shields.io/twitter/follow/umbraco.svg?style=social&label=Follow)](https://twitter.com/intent/follow?screen_name=umbraco) +[![Build](https://github.com/umbraco/Umbraco.UI/actions/workflows/tests.yml/badge.svg)](https://github.com/umbraco/Umbraco.UI/actions/workflows/tests.yml) [![Storybook](https://github.com/umbraco/Umbraco.UI/actions/workflows/azure-static-web-apps-delightful-beach-055ecb503.yml/badge.svg)](https://github.com/umbraco/Umbraco.UI/actions/workflows/azure-static-web-apps-delightful-beach-055ecb503.yml) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](../LICENSE.md) [![Twitter](https://img.shields.io/twitter/follow/umbraco.svg?style=social&label=Follow)](https://twitter.com/intent/follow?screen_name=umbraco) This is a UI-library for [Umbraco CMS](https://umbraco.com/) and friends. It is a collection of user interface components that can be used to build Umbraco style interfaces. @@ -141,3 +141,6 @@ See the rest of [the scripts here](docs/SCRIPTS.md). - 📥 Pull requests and 🌟 Stars are always welcome. - Read our [contributing guide](docs/CONTRIBUTING.md) to get started. +- Please report bugs and feature requests in the [issue tracker]( +- The main branch is the latest development branch. Please make your pull requests against this branch: `v1/contrib` + - You can see the latest features in the Storybook attached to this branch: [v1/contrib](https://delightful-beach-055ecb503-v1contrib.westeurope.azurestaticapps.net/) From 3d101897043754f78bafbefe4e4ae7d1bd8dc1d0 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 17 Oct 2023 15:27:47 +0200 Subject: [PATCH 15/25] build(deps-dev): bump storybook from 7.4.5 to 7.4.6 --- package-lock.json | 814 +++++++++++++++++++++++----------------------- package.json | 18 +- 2 files changed, 414 insertions(+), 418 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8ce8c5f05..87f62dfc4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,13 +24,13 @@ "@lerna-lite/version": "2.5.1", "@open-wc/testing": "3.2.0", "@rollup/plugin-node-resolve": "15.1.0", - "@storybook/addon-a11y": "7.4.5", - "@storybook/addon-actions": "7.4.5", - "@storybook/addon-essentials": "7.4.5", - "@storybook/addon-links": "7.4.5", - "@storybook/blocks": "7.4.5", - "@storybook/web-components": "7.4.5", - "@storybook/web-components-vite": "7.4.5", + "@storybook/addon-a11y": "7.4.6", + "@storybook/addon-actions": "7.4.6", + "@storybook/addon-essentials": "7.4.6", + "@storybook/addon-links": "7.4.6", + "@storybook/blocks": "7.4.6", + "@storybook/web-components": "7.4.6", + "@storybook/web-components-vite": "7.4.6", "@types/chai": "4.3.5", "@typescript-eslint/eslint-plugin": "6.6.0", "@typescript-eslint/parser": "6.0.0", @@ -50,7 +50,7 @@ "eslint-plugin-lit": "1.8.3", "eslint-plugin-lit-a11y": "4.1.0", "eslint-plugin-local-rules": "^2.0.0", - "eslint-plugin-storybook": "0.6.14", + "eslint-plugin-storybook": "0.6.15", "eslint-plugin-wc": "1.5.0", "github-markdown-css": "5.2.0", "glob": "8.1.0", @@ -81,7 +81,7 @@ "rollup-plugin-import-css": "3.3.1", "rollup-plugin-minify-html-literals": "1.2.6", "rollup-plugin-postcss": "4.0.2", - "storybook": "7.4.5", + "storybook": "7.4.6", "tsc-files": "1.1.4", "turbo": "^1.10.12", "typescript": "5.2.2", @@ -159,9 +159,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.20.tgz", - "integrity": "sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.2.tgz", + "integrity": "sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==", "dev": true, "engines": { "node": ">=6.9.0" @@ -298,9 +298,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.2.tgz", - "integrity": "sha512-k0qnnOqHn5dK9pZpfD5XXZ9SojAITdCKRn2Lp6rnDGzIbaP0rHyMPk/4wsSxVBVz4RfN0q6VpXWP2pDGIoQ7hw==", + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.3.tgz", + "integrity": "sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", @@ -947,14 +947,14 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.15.tgz", - "integrity": "sha512-jBm1Es25Y+tVoTi5rfd5t1KLmL8ogLKpXszboWOTTtGFGz2RKnQe2yn7HbZ+kb/B8N0FVSGQo874NSlOU1T4+w==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.2.tgz", + "integrity": "sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.9", + "@babel/helper-remap-async-to-generator": "^7.22.20", "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { @@ -1738,12 +1738,12 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.20.tgz", - "integrity": "sha512-11MY04gGC4kSzlPHRfvVkNAZhUxOvm7DCJ37hPDnUENwe06npjIRAfInEMTGSb4LZK5ZgDFkv5hw0lGebHeTyg==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.2.tgz", + "integrity": "sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.22.20", + "@babel/compat-data": "^7.23.2", "@babel/helper-compilation-targets": "^7.22.15", "@babel/helper-plugin-utils": "^7.22.5", "@babel/helper-validator-option": "^7.22.15", @@ -1769,15 +1769,15 @@ "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", "@babel/plugin-transform-arrow-functions": "^7.22.5", - "@babel/plugin-transform-async-generator-functions": "^7.22.15", + "@babel/plugin-transform-async-generator-functions": "^7.23.2", "@babel/plugin-transform-async-to-generator": "^7.22.5", "@babel/plugin-transform-block-scoped-functions": "^7.22.5", - "@babel/plugin-transform-block-scoping": "^7.22.15", + "@babel/plugin-transform-block-scoping": "^7.23.0", "@babel/plugin-transform-class-properties": "^7.22.5", "@babel/plugin-transform-class-static-block": "^7.22.11", "@babel/plugin-transform-classes": "^7.22.15", "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.15", + "@babel/plugin-transform-destructuring": "^7.23.0", "@babel/plugin-transform-dotall-regex": "^7.22.5", "@babel/plugin-transform-duplicate-keys": "^7.22.5", "@babel/plugin-transform-dynamic-import": "^7.22.11", @@ -1789,9 +1789,9 @@ "@babel/plugin-transform-literals": "^7.22.5", "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.15", - "@babel/plugin-transform-modules-systemjs": "^7.22.11", + "@babel/plugin-transform-modules-amd": "^7.23.0", + "@babel/plugin-transform-modules-commonjs": "^7.23.0", + "@babel/plugin-transform-modules-systemjs": "^7.23.0", "@babel/plugin-transform-modules-umd": "^7.22.5", "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", "@babel/plugin-transform-new-target": "^7.22.5", @@ -1800,7 +1800,7 @@ "@babel/plugin-transform-object-rest-spread": "^7.22.15", "@babel/plugin-transform-object-super": "^7.22.5", "@babel/plugin-transform-optional-catch-binding": "^7.22.11", - "@babel/plugin-transform-optional-chaining": "^7.22.15", + "@babel/plugin-transform-optional-chaining": "^7.23.0", "@babel/plugin-transform-parameters": "^7.22.15", "@babel/plugin-transform-private-methods": "^7.22.5", "@babel/plugin-transform-private-property-in-object": "^7.22.11", @@ -1817,10 +1817,10 @@ "@babel/plugin-transform-unicode-regex": "^7.22.5", "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", "@babel/preset-modules": "0.1.6-no-external-plugins", - "@babel/types": "^7.22.19", - "babel-plugin-polyfill-corejs2": "^0.4.5", - "babel-plugin-polyfill-corejs3": "^0.8.3", - "babel-plugin-polyfill-regenerator": "^0.5.2", + "@babel/types": "^7.23.0", + "babel-plugin-polyfill-corejs2": "^0.4.6", + "babel-plugin-polyfill-corejs3": "^0.8.5", + "babel-plugin-polyfill-regenerator": "^0.5.3", "core-js-compat": "^3.31.0", "semver": "^6.3.1" }, @@ -1863,9 +1863,9 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.0.tgz", - "integrity": "sha512-6P6VVa/NM/VlAYj5s2Aq/gdVg8FSENCg3wlZ6Qau9AcPaoF5LbN1nyGlR9DTRIw9PpxI94e+ReydsJHcjwAweg==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.2.tgz", + "integrity": "sha512-u4UJc1XsS1GhIGteM8rnGiIvf9rJpiVgMEeCnwlLA7WJPC+jcXWJAGxYmeqs5hOZD8BbAfnV5ezBOxQbb4OUxA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.22.5", @@ -6840,21 +6840,21 @@ } }, "node_modules/@storybook/addon-a11y": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-7.4.5.tgz", - "integrity": "sha512-7W8fjCdmwX4zlDM4jpzVKNgelWSqbYr3cH834pqOFAkyiyNVIsNRPQBgSwkkljgz0uAsz8nFCRFK3Oo1btl6Yg==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-7.4.6.tgz", + "integrity": "sha512-RE8sXk9KEqgmjsFmG31eObgPMTOvvWnoNZIaZEHs88X30tNHtFwjc0jzvCR/xriKsBtQdYQTUSsB7pSjaJHNzQ==", "dev": true, "dependencies": { - "@storybook/addon-highlight": "7.4.5", - "@storybook/channels": "7.4.5", - "@storybook/client-logger": "7.4.5", - "@storybook/components": "7.4.5", - "@storybook/core-events": "7.4.5", + "@storybook/addon-highlight": "7.4.6", + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/components": "7.4.6", + "@storybook/core-events": "7.4.6", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.5", - "@storybook/preview-api": "7.4.5", - "@storybook/theming": "7.4.5", - "@storybook/types": "7.4.5", + "@storybook/manager-api": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", "axe-core": "^4.2.0", "lodash": "^4.17.21", "react-resize-detector": "^7.1.2" @@ -6877,19 +6877,19 @@ } }, "node_modules/@storybook/addon-actions": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.4.5.tgz", - "integrity": "sha512-FkjJWmPN/+duLSkRwfa2bwlwjKfY6yCXYn7CRzn3rb64B8f50NB79zAgVLHjkJh9l6T3DIlWtol6vqPHj1aRpw==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.4.6.tgz", + "integrity": "sha512-SsqZr3js5NinKPnC8AeNI7Ij+Q6fIl9tRdRmSulEgjksjOg7E5S1/Wsn5Bb2CCgj7MaX6VxGyC7s3XskQtDiIQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.5", - "@storybook/components": "7.4.5", - "@storybook/core-events": "7.4.5", + "@storybook/client-logger": "7.4.6", + "@storybook/components": "7.4.6", + "@storybook/core-events": "7.4.6", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.5", - "@storybook/preview-api": "7.4.5", - "@storybook/theming": "7.4.5", - "@storybook/types": "7.4.5", + "@storybook/manager-api": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", "dequal": "^2.0.2", "lodash": "^4.17.21", "polished": "^4.2.2", @@ -6917,19 +6917,19 @@ } }, "node_modules/@storybook/addon-backgrounds": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.4.5.tgz", - "integrity": "sha512-fTq9E1WrYH/9hwDemFVLVcaI2iSSuwWnvY/8tqGrY9xhQF5dIpeHf+z8+HWXpau7e6Z0/WiYR+1vwAcIKt95LQ==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.4.6.tgz", + "integrity": "sha512-+LHTZB/ZYMAzkyD5ZxSriBsqmsrvIaW/Nnd/BeuXGbkrVKKqM0qAKiFZAfjc2WchA1piVNy0/1Rsf+kuYCEiJw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.5", - "@storybook/components": "7.4.5", - "@storybook/core-events": "7.4.5", + "@storybook/client-logger": "7.4.6", + "@storybook/components": "7.4.6", + "@storybook/core-events": "7.4.6", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.5", - "@storybook/preview-api": "7.4.5", - "@storybook/theming": "7.4.5", - "@storybook/types": "7.4.5", + "@storybook/manager-api": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", "memoizerific": "^1.11.3", "ts-dedent": "^2.0.0" }, @@ -6951,21 +6951,21 @@ } }, "node_modules/@storybook/addon-controls": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.4.5.tgz", - "integrity": "sha512-Mxs56jt44HIbZ4gJa0AII1U8GqEGFsvcM5Iob0ETNpxCW5Kj5iHly/4Ws0RFWPH/krrQKaLpWXaUxKmbtEzhJA==", - "dev": true, - "dependencies": { - "@storybook/blocks": "7.4.5", - "@storybook/client-logger": "7.4.5", - "@storybook/components": "7.4.5", - "@storybook/core-common": "7.4.5", - "@storybook/core-events": "7.4.5", - "@storybook/manager-api": "7.4.5", - "@storybook/node-logger": "7.4.5", - "@storybook/preview-api": "7.4.5", - "@storybook/theming": "7.4.5", - "@storybook/types": "7.4.5", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.4.6.tgz", + "integrity": "sha512-4lq3sycEUIsK8SUWDYc60QgF4vV9FZZ3lDr6M7j2W9bOnvGw49d2fbdlnq+bX1ZprZZ9VgglQpBAorQB3BXZRw==", + "dev": true, + "dependencies": { + "@storybook/blocks": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/components": "7.4.6", + "@storybook/core-common": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/manager-api": "7.4.6", + "@storybook/node-logger": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", "lodash": "^4.17.21", "ts-dedent": "^2.0.0" }, @@ -6987,26 +6987,26 @@ } }, "node_modules/@storybook/addon-docs": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.4.5.tgz", - "integrity": "sha512-KjFVeq8oL7ZC1gsk8iY3Nn0RrHHUpczmOTCd8FeVNmKD4vq+dkPb/8bJLy+jArmIZ8vRhknpTh6kp1BqB7qHGQ==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.4.6.tgz", + "integrity": "sha512-dLaub+XWFq4hChw+xfuF9yYg0Txp77FUawKoAigccfjWXx+OOhRV3XTuAcknpXkYq94GWynHgUFXosXT9kbDNA==", "dev": true, "dependencies": { "@jest/transform": "^29.3.1", "@mdx-js/react": "^2.1.5", - "@storybook/blocks": "7.4.5", - "@storybook/client-logger": "7.4.5", - "@storybook/components": "7.4.5", - "@storybook/csf-plugin": "7.4.5", - "@storybook/csf-tools": "7.4.5", + "@storybook/blocks": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/components": "7.4.6", + "@storybook/csf-plugin": "7.4.6", + "@storybook/csf-tools": "7.4.6", "@storybook/global": "^5.0.0", "@storybook/mdx2-csf": "^1.0.0", - "@storybook/node-logger": "7.4.5", - "@storybook/postinstall": "7.4.5", - "@storybook/preview-api": "7.4.5", - "@storybook/react-dom-shim": "7.4.5", - "@storybook/theming": "7.4.5", - "@storybook/types": "7.4.5", + "@storybook/node-logger": "7.4.6", + "@storybook/postinstall": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/react-dom-shim": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", "fs-extra": "^11.1.0", "remark-external-links": "^8.0.0", "remark-slug": "^6.0.0", @@ -7022,24 +7022,24 @@ } }, "node_modules/@storybook/addon-essentials": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.4.5.tgz", - "integrity": "sha512-H7zZWJXZP0UU2kXfo9zlQfjIKHuuqYBK7PZ2/SL5y08mTrbtt1BfqYScz3xRvHocaFcsBWCXdy8jJULT4KFUpw==", - "dev": true, - "dependencies": { - "@storybook/addon-actions": "7.4.5", - "@storybook/addon-backgrounds": "7.4.5", - "@storybook/addon-controls": "7.4.5", - "@storybook/addon-docs": "7.4.5", - "@storybook/addon-highlight": "7.4.5", - "@storybook/addon-measure": "7.4.5", - "@storybook/addon-outline": "7.4.5", - "@storybook/addon-toolbars": "7.4.5", - "@storybook/addon-viewport": "7.4.5", - "@storybook/core-common": "7.4.5", - "@storybook/manager-api": "7.4.5", - "@storybook/node-logger": "7.4.5", - "@storybook/preview-api": "7.4.5", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.4.6.tgz", + "integrity": "sha512-dWodufrt71TK7ELkeIvVae/x4PzECUlbOm57Iqqt4yQCyR291CgvI4PjeB8un2HbpcXCGZ+N/Oj3YkytvzBi4A==", + "dev": true, + "dependencies": { + "@storybook/addon-actions": "7.4.6", + "@storybook/addon-backgrounds": "7.4.6", + "@storybook/addon-controls": "7.4.6", + "@storybook/addon-docs": "7.4.6", + "@storybook/addon-highlight": "7.4.6", + "@storybook/addon-measure": "7.4.6", + "@storybook/addon-outline": "7.4.6", + "@storybook/addon-toolbars": "7.4.6", + "@storybook/addon-viewport": "7.4.6", + "@storybook/core-common": "7.4.6", + "@storybook/manager-api": "7.4.6", + "@storybook/node-logger": "7.4.6", + "@storybook/preview-api": "7.4.6", "ts-dedent": "^2.0.0" }, "funding": { @@ -7052,14 +7052,14 @@ } }, "node_modules/@storybook/addon-highlight": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.4.5.tgz", - "integrity": "sha512-6Ru411+Iis4m2weKb8kB1eEssLvCHwFqAf4fjcOC//O5Vaf5+beHYZJUm/rzD0k/oUHfLCBwDBSBY5TLRegkdA==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.4.6.tgz", + "integrity": "sha512-zCufxxD2KS5VwczxfkcBxe1oR/juTTn2H1Qm8kYvWCJQx3UxzX0+G9cwafbpV7eivqaufLweEwROkH+0KjAtkQ==", "dev": true, "dependencies": { - "@storybook/core-events": "7.4.5", + "@storybook/core-events": "7.4.6", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.4.5" + "@storybook/preview-api": "7.4.6" }, "funding": { "type": "opencollective", @@ -7067,19 +7067,19 @@ } }, "node_modules/@storybook/addon-links": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.4.5.tgz", - "integrity": "sha512-eKczq3U5KfPLaxMUzzVQQrGVtzDshUmrSEEuWKf9ZbK3mh5yVuagIBb88edgUX58vZ3TJMvqQzq1+BtUoPHQ6Q==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.4.6.tgz", + "integrity": "sha512-BPygElZKX+CPI9Se6GJNk1dYc5oxuhA+vHigO1tBqhiM6VkHyFP3cvezJNQvpNYhkUnu3cxnZXb3UJnlRbPY3g==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.5", - "@storybook/core-events": "7.4.5", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.5", - "@storybook/preview-api": "7.4.5", - "@storybook/router": "7.4.5", - "@storybook/types": "7.4.5", + "@storybook/manager-api": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/router": "7.4.6", + "@storybook/types": "7.4.6", "prop-types": "^15.7.2", "ts-dedent": "^2.0.0" }, @@ -7101,18 +7101,18 @@ } }, "node_modules/@storybook/addon-measure": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.4.5.tgz", - "integrity": "sha512-FQGZniTH67nC1YPR4ep0p+isgxwLaNAmIAyCZWXPRTkZssIrnXVwNgi0A2QkHdxZvxj8yXGFTOVXLWEPT9YvFQ==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.4.6.tgz", + "integrity": "sha512-nCymMLaHnxv8TE3yEM1A9Tulb1NuRXRNmtsdHTkjv7P1aWCxZo8A/GZaottKe/GLT8jSRjZ+dnpYWrbAhw6wTQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.5", - "@storybook/components": "7.4.5", - "@storybook/core-events": "7.4.5", + "@storybook/client-logger": "7.4.6", + "@storybook/components": "7.4.6", + "@storybook/core-events": "7.4.6", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.5", - "@storybook/preview-api": "7.4.5", - "@storybook/types": "7.4.5", + "@storybook/manager-api": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/types": "7.4.6", "tiny-invariant": "^1.3.1" }, "funding": { @@ -7133,18 +7133,18 @@ } }, "node_modules/@storybook/addon-outline": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.4.5.tgz", - "integrity": "sha512-eOH9BZzpehUz5FXD98OLnWgzmBFMvEB2kFfw5JiO7IRx7Fan80fx/WDQuMSNDOgLBCTTvsZ4TBMMXZHpw91WAw==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.4.6.tgz", + "integrity": "sha512-errNUblRVDLpuEaHQPr/nsrnsUkD2ARmXawkRvizgDWLIDMDJYjTON3MUCaVx3x+hlZ3I6X//G5TVcma8tCc8A==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.5", - "@storybook/components": "7.4.5", - "@storybook/core-events": "7.4.5", + "@storybook/client-logger": "7.4.6", + "@storybook/components": "7.4.6", + "@storybook/core-events": "7.4.6", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.5", - "@storybook/preview-api": "7.4.5", - "@storybook/types": "7.4.5", + "@storybook/manager-api": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/types": "7.4.6", "ts-dedent": "^2.0.0" }, "funding": { @@ -7165,16 +7165,16 @@ } }, "node_modules/@storybook/addon-toolbars": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.4.5.tgz", - "integrity": "sha512-PZlwUTIdQ18de3zNb+627VSF4UrCGIXDdikyO9O5j2Cd0xfr5uhS6tgQ+3AT0DfUj0UIkKxilwcAt+agpNyicA==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.4.6.tgz", + "integrity": "sha512-L9m2FBcKeteGq7qIYsMJr0LEfiH7Wdrv5IDcldZTn68eZUJTh1p4GdJZcOmzX1P5IFRr76hpu03iWsNlWQjpbQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.5", - "@storybook/components": "7.4.5", - "@storybook/manager-api": "7.4.5", - "@storybook/preview-api": "7.4.5", - "@storybook/theming": "7.4.5" + "@storybook/client-logger": "7.4.6", + "@storybook/components": "7.4.6", + "@storybook/manager-api": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/theming": "7.4.6" }, "funding": { "type": "opencollective", @@ -7194,18 +7194,18 @@ } }, "node_modules/@storybook/addon-viewport": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.4.5.tgz", - "integrity": "sha512-SBLnUMIztVrqJ0fRCsVg9KZ29APLIxqAvTsYHF3twy5KB2naeCFuX3K9LxSH7vbROI6zHEfnPduz/Ykyvu9yUg==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.4.6.tgz", + "integrity": "sha512-INDtk54j7bi7NgxMfd2ATmbA0J7nAd6X8itMkLIyPuPJtx8bYHPDORyemDOd0AojgmAdTOAyUtDYdI/PFeo4Cw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.5", - "@storybook/components": "7.4.5", - "@storybook/core-events": "7.4.5", + "@storybook/client-logger": "7.4.6", + "@storybook/components": "7.4.6", + "@storybook/core-events": "7.4.6", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.5", - "@storybook/preview-api": "7.4.5", - "@storybook/theming": "7.4.5", + "@storybook/manager-api": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/theming": "7.4.6", "memoizerific": "^1.11.3", "prop-types": "^15.7.2" }, @@ -7227,22 +7227,22 @@ } }, "node_modules/@storybook/blocks": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.4.5.tgz", - "integrity": "sha512-FhAIkCT2HrzJcKsC3mL5+uG3GrbS23mYAT1h3iyPjCliZzxfCCI9UCMUXqYx4Z/FmAGJgpsQQXiBFZuoTHO9aQ==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.4.6.tgz", + "integrity": "sha512-HxBSAeOiTZW2jbHQlo1upRWFgoMsaAyKijUFf5MwwMNIesXCuuTGZDJ3xTABwAVLK2qC9Ektfbo0CZCiPVuDRQ==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.5", - "@storybook/client-logger": "7.4.5", - "@storybook/components": "7.4.5", - "@storybook/core-events": "7.4.5", + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/components": "7.4.6", + "@storybook/core-events": "7.4.6", "@storybook/csf": "^0.1.0", - "@storybook/docs-tools": "7.4.5", + "@storybook/docs-tools": "7.4.6", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.5", - "@storybook/preview-api": "7.4.5", - "@storybook/theming": "7.4.5", - "@storybook/types": "7.4.5", + "@storybook/manager-api": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", "@types/lodash": "^4.14.167", "color-convert": "^2.0.1", "dequal": "^2.0.2", @@ -7266,15 +7266,15 @@ } }, "node_modules/@storybook/builder-manager": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.4.5.tgz", - "integrity": "sha512-Jhql8iZgK9cxDmG9NSTejsj5FptHni2TBa5Sea2Uz1NIBQ0OpzNdUfYVX6TN/PEq3QrWXTrAEKPqsL2qGjOrxw==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.4.6.tgz", + "integrity": "sha512-zylZCD2rmyLOOFBFmUgtJg6UNUKmRNgXiig1XApzS2TkIbTZP827DsVEUl0ey/lskCe0uArkrEBR6ICba8p/Rw==", "dev": true, "dependencies": { "@fal-works/esbuild-plugin-global-externals": "^2.1.2", - "@storybook/core-common": "7.4.5", - "@storybook/manager": "7.4.5", - "@storybook/node-logger": "7.4.5", + "@storybook/core-common": "7.4.6", + "@storybook/manager": "7.4.6", + "@storybook/node-logger": "7.4.6", "@types/ejs": "^3.1.1", "@types/find-cache-dir": "^3.2.1", "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10", @@ -7683,20 +7683,20 @@ } }, "node_modules/@storybook/builder-vite": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-7.4.5.tgz", - "integrity": "sha512-0aIMvBIx2U/DhDjdjWCW/KIG3HAJpus8NIUIvkVAUCaA7Vn8XvnSsdaRSTTxaaJReFZcIxDf7MebHSCJ0UEKqQ==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-7.4.6.tgz", + "integrity": "sha512-xV9STYK+TkqWWTf2ydm6jx+7P70fjD2UPd1XTUw08uKszIjhuuxk+bG/OF5R1E25mPunAKXm6kBFh351AKejBg==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.5", - "@storybook/client-logger": "7.4.5", - "@storybook/core-common": "7.4.5", - "@storybook/csf-plugin": "7.4.5", + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-common": "7.4.6", + "@storybook/csf-plugin": "7.4.6", "@storybook/mdx2-csf": "^1.0.0", - "@storybook/node-logger": "7.4.5", - "@storybook/preview": "7.4.5", - "@storybook/preview-api": "7.4.5", - "@storybook/types": "7.4.5", + "@storybook/node-logger": "7.4.6", + "@storybook/preview": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/types": "7.4.6", "@types/find-cache-dir": "^3.2.1", "browser-assert": "^1.2.1", "es-module-lexer": "^0.9.3", @@ -7731,13 +7731,13 @@ } }, "node_modules/@storybook/channels": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.5.tgz", - "integrity": "sha512-zWPZn4CxPFXsrrSRQ9JD8GmTeWeFYgr3sTBpe23hnhYookCXVNJ6AcaXogrT9b2ALfbB6MiFDbZIHHTgIgbWpg==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.4.6.tgz", + "integrity": "sha512-yPv/sfo2c18fM3fvG0i1xse63vG8l33Al/OU0k/dtovltPu001/HVa1QgBgsb/QrEfZtvGjGhmtdVeYb39fv3A==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.5", - "@storybook/core-events": "7.4.5", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", "@storybook/global": "^5.0.0", "qs": "^6.10.0", "telejson": "^7.2.0", @@ -7749,23 +7749,23 @@ } }, "node_modules/@storybook/cli": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.4.5.tgz", - "integrity": "sha512-PlTkcHdKCugg3pD1zkBP/oFazcZsr7F3wdEmTvygfH0Cx/sQWg5wXBZCYKmf0ONRK4RKL3LVM8DRpeYiQVEFWg==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.4.6.tgz", + "integrity": "sha512-rRwaH8pOL+FHz/pJMEkNpMH2xvZvWsrl7obBYw26NQiHmiVSAkfHJicndSN1mwc+p5w+9iXthrgzbLtSAOSvkA==", "dev": true, "dependencies": { "@babel/core": "^7.22.9", "@babel/preset-env": "^7.22.9", "@babel/types": "^7.22.5", "@ndelangen/get-tarball": "^3.0.7", - "@storybook/codemod": "7.4.5", - "@storybook/core-common": "7.4.5", - "@storybook/core-events": "7.4.5", - "@storybook/core-server": "7.4.5", - "@storybook/csf-tools": "7.4.5", - "@storybook/node-logger": "7.4.5", - "@storybook/telemetry": "7.4.5", - "@storybook/types": "7.4.5", + "@storybook/codemod": "7.4.6", + "@storybook/core-common": "7.4.6", + "@storybook/core-events": "7.4.6", + "@storybook/core-server": "7.4.6", + "@storybook/csf-tools": "7.4.6", + "@storybook/node-logger": "7.4.6", + "@storybook/telemetry": "7.4.6", + "@storybook/types": "7.4.6", "@types/semver": "^7.3.4", "@yarnpkg/fslib": "2.10.3", "@yarnpkg/libzip": "2.3.0", @@ -8232,9 +8232,9 @@ "dev": true }, "node_modules/@storybook/client-logger": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.5.tgz", - "integrity": "sha512-Bn6eTAjhPDUfLpvuxhKkpDpOtkadfkSmkBNBZRu3r0Dzk2J1nNyKV5K6D8dOU4PFVof4z/gXYj5bktT29jKsmw==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.4.6.tgz", + "integrity": "sha512-XDw31ZziU//86PKuMRnmc+L/G0VopaGKENQOGEpvAXCU9IZASwGKlKAtcyosjrpi+ZiUXlMgUXCpXM7x3b1Ehw==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -8245,18 +8245,18 @@ } }, "node_modules/@storybook/codemod": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.4.5.tgz", - "integrity": "sha512-gyI2xliSv4vvnfNQN+0e3tRmT7beiq8q8iGjcBtpOhA2xrStyCR7PjbOfLXtRx2I/b50MDZMRTcckzeM3BLoWQ==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.4.6.tgz", + "integrity": "sha512-lxmwEpwksCaAq96APN2YlooSDfKjJ1vKzN5Ni2EqQzf2TEXl7XQjLacHd7OOaII1kfsy+D5gNG4N5wBo7Ub30g==", "dev": true, "dependencies": { "@babel/core": "^7.22.9", "@babel/preset-env": "^7.22.9", "@babel/types": "^7.22.5", "@storybook/csf": "^0.1.0", - "@storybook/csf-tools": "7.4.5", - "@storybook/node-logger": "7.4.5", - "@storybook/types": "7.4.5", + "@storybook/csf-tools": "7.4.6", + "@storybook/node-logger": "7.4.6", + "@storybook/types": "7.4.6", "@types/cross-spawn": "^6.0.2", "cross-spawn": "^7.0.3", "globby": "^11.0.2", @@ -8309,18 +8309,18 @@ } }, "node_modules/@storybook/components": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.4.5.tgz", - "integrity": "sha512-boskkfvMBB8CFYY9+1ofFNyKrdWXTY/ghzt7oK80dz6f2Eseo/WXK3OsCdCq5vWbLRCdbgJ8zXG8pAFi4yBsxA==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.4.6.tgz", + "integrity": "sha512-nIRBhewAgrJJVafyCzuaLx1l+YOfvvD5dOZ0JxZsxJsefOdw1jFpUqUZ5fIpQ2moyvrR0mAUFw378rBfMdHz5Q==", "dev": true, "dependencies": { "@radix-ui/react-select": "^1.2.2", "@radix-ui/react-toolbar": "^1.0.4", - "@storybook/client-logger": "7.4.5", + "@storybook/client-logger": "7.4.6", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/theming": "7.4.5", - "@storybook/types": "7.4.5", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", "memoizerific": "^1.11.3", "use-resize-observer": "^9.1.0", "util-deprecate": "^1.0.2" @@ -8335,13 +8335,13 @@ } }, "node_modules/@storybook/core-client": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.4.5.tgz", - "integrity": "sha512-d/qiCUZeOKY0HX/YmomxlccxJ2NKC3ttRrAsAXzJGypClKabv20X+qbeO/E7Kp5UQxIEJx1wuwJPcnlCvjgPDA==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.4.6.tgz", + "integrity": "sha512-tfgxAHeCvMcs6DsVgtb4hQSDaCHeAPJOsoyhb47eDQfk4OmxzriM0qWucJV5DePSMi+KutX/rN2u0JxfOuN68g==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.5", - "@storybook/preview-api": "7.4.5" + "@storybook/client-logger": "7.4.6", + "@storybook/preview-api": "7.4.6" }, "funding": { "type": "opencollective", @@ -8349,14 +8349,14 @@ } }, "node_modules/@storybook/core-common": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.4.5.tgz", - "integrity": "sha512-c4pBuILMD4YhSpJ+QpKtsUZpK+/rfolwOvzXfJwlN5EpYzMz6FjVR/LyX0cCT2YLI3X5YWRoCdvMxy5Aeryb8g==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.4.6.tgz", + "integrity": "sha512-05MJFmOM86qvTLtgDskokIFz9txe0Lbhq4L3by1FtF0GwgH+p+W6I94KI7c6ANER+kVZkXQZhiRzwBFnVTW+Cg==", "dev": true, "dependencies": { - "@storybook/core-events": "7.4.5", - "@storybook/node-logger": "7.4.5", - "@storybook/types": "7.4.5", + "@storybook/core-events": "7.4.6", + "@storybook/node-logger": "7.4.6", + "@storybook/types": "7.4.6", "@types/find-cache-dir": "^3.2.1", "@types/node": "^16.0.0", "@types/node-fetch": "^2.6.4", @@ -8736,9 +8736,9 @@ } }, "node_modules/@storybook/core-common/node_modules/@types/node": { - "version": "16.18.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.55.tgz", - "integrity": "sha512-Y1zz/LIuJek01+hlPNzzXQhmq/Z2BCP96j18MSXC0S0jSu/IG4FFxmBs7W4/lI2vPJ7foVfEB0hUVtnOjnCiTg==", + "version": "16.18.58", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.58.tgz", + "integrity": "sha512-YGncyA25/MaVtQkjWW9r0EFBukZ+JulsLcVZBlGUfIb96OBMjkoRWwQo5IEWJ8Fj06Go3GHw+bjYDitv6BaGsA==", "dev": true }, "node_modules/@storybook/core-common/node_modules/ansi-styles": { @@ -8895,9 +8895,9 @@ } }, "node_modules/@storybook/core-events": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.5.tgz", - "integrity": "sha512-Jzy/adSC95saYCZlgXE5j7jmiMLAXYpnBFBxEtBdXwSWEBb0zt21n1nyWBEAv9s/k2gqDXlPHKHeL5Mn6y40zA==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.4.6.tgz", + "integrity": "sha512-r5vrE+32lwrJh1NGFr1a0mWjvxo7q8FXYShylcwRWpacmL5NTtLkrXOoJSeGvJ4yKNYkvxQFtOPId4lzDxa32w==", "dev": true, "dependencies": { "ts-dedent": "^2.0.0" @@ -8908,26 +8908,26 @@ } }, "node_modules/@storybook/core-server": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.4.5.tgz", - "integrity": "sha512-cW+Qx9Ls823577bd/s9Kv4M1MdKS8mkk6/+nYbwtAwH3hkdlb077rlk/ue0X4O9NZmCrtaJ84KNrBkeDUdFyLQ==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.4.6.tgz", + "integrity": "sha512-jqmRTGCJ1W0WReImivkisPVaLFT5sjtLnFoAk0feHp6QS5j7EYOPN7CYzliyQmARWTLUEXOVaFf3VD6nJZQhJQ==", "dev": true, "dependencies": { "@aw-web-design/x-default-browser": "1.4.126", "@discoveryjs/json-ext": "^0.5.3", - "@storybook/builder-manager": "7.4.5", - "@storybook/channels": "7.4.5", - "@storybook/core-common": "7.4.5", - "@storybook/core-events": "7.4.5", + "@storybook/builder-manager": "7.4.6", + "@storybook/channels": "7.4.6", + "@storybook/core-common": "7.4.6", + "@storybook/core-events": "7.4.6", "@storybook/csf": "^0.1.0", - "@storybook/csf-tools": "7.4.5", + "@storybook/csf-tools": "7.4.6", "@storybook/docs-mdx": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/manager": "7.4.5", - "@storybook/node-logger": "7.4.5", - "@storybook/preview-api": "7.4.5", - "@storybook/telemetry": "7.4.5", - "@storybook/types": "7.4.5", + "@storybook/manager": "7.4.6", + "@storybook/node-logger": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/telemetry": "7.4.6", + "@storybook/types": "7.4.6", "@types/detect-port": "^1.3.0", "@types/node": "^16.0.0", "@types/pretty-hrtime": "^1.0.0", @@ -8947,7 +8947,6 @@ "prompts": "^2.4.0", "read-pkg-up": "^7.0.1", "semver": "^7.3.7", - "serve-favicon": "^2.5.0", "telejson": "^7.2.0", "tiny-invariant": "^1.3.1", "ts-dedent": "^2.0.0", @@ -8962,9 +8961,9 @@ } }, "node_modules/@storybook/core-server/node_modules/@types/node": { - "version": "16.18.55", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.55.tgz", - "integrity": "sha512-Y1zz/LIuJek01+hlPNzzXQhmq/Z2BCP96j18MSXC0S0jSu/IG4FFxmBs7W4/lI2vPJ7foVfEB0hUVtnOjnCiTg==", + "version": "16.18.58", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.58.tgz", + "integrity": "sha512-YGncyA25/MaVtQkjWW9r0EFBukZ+JulsLcVZBlGUfIb96OBMjkoRWwQo5IEWJ8Fj06Go3GHw+bjYDitv6BaGsA==", "dev": true }, "node_modules/@storybook/core-server/node_modules/ansi-styles": { @@ -9099,12 +9098,12 @@ } }, "node_modules/@storybook/csf-plugin": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.4.5.tgz", - "integrity": "sha512-8p3AnwIm3xXtQhiF7OQ0rBiP/Pn5OCMHRiT4FytRnNimGaw7gxRZ2xzM608QZHQ4A8rHfmgoM2FTwgxdC15ulA==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.4.6.tgz", + "integrity": "sha512-yi7Qa4NSqKOyiJTWCxlB0ih2ijXq6oY5qZKW6MuMMBP14xJNRGLbH5KabpfXgN2T7YECcOWG1uWaGj2veJb1KA==", "dev": true, "dependencies": { - "@storybook/csf-tools": "7.4.5", + "@storybook/csf-tools": "7.4.6", "unplugin": "^1.3.1" }, "funding": { @@ -9113,9 +9112,9 @@ } }, "node_modules/@storybook/csf-tools": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.4.5.tgz", - "integrity": "sha512-xbm5HGYvlwF0Efivx37v9rO7Exel1/Tdb/Yv/vXn4D/hQeljNVLNz4Bomfy4EQ207rRsrGDSOHEhLUbHDimnxg==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.4.6.tgz", + "integrity": "sha512-ocKpcIUtTBy6hlLY34RUFQyX403cWpB2gGfqvkHbpGe2BQj7EyV0zpWnjsfVxvw+M9OWlCdxHWDOPUgXM33ELw==", "dev": true, "dependencies": { "@babel/generator": "^7.22.9", @@ -9123,7 +9122,7 @@ "@babel/traverse": "^7.22.8", "@babel/types": "^7.22.5", "@storybook/csf": "^0.1.0", - "@storybook/types": "7.4.5", + "@storybook/types": "7.4.6", "fs-extra": "^11.1.0", "recast": "^0.23.1", "ts-dedent": "^2.0.0" @@ -9140,14 +9139,14 @@ "dev": true }, "node_modules/@storybook/docs-tools": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.4.5.tgz", - "integrity": "sha512-ctK+yGb2nvWISSvCCzj3ZhDaAb7I2BLjbxuBGTyNPvl4V9UQ9LBYzdJwR50q+DfscxdwSHMSOE/0OnzmJdaSJA==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.4.6.tgz", + "integrity": "sha512-nZj1L/8WwKWWJ41FW4MaKGajZUtrhnr9UwflRCkQJaWhAKmDfOb5M5TqI93uCOULpFPOm5wpoMBz2IHInQ2Lrg==", "dev": true, "dependencies": { - "@storybook/core-common": "7.4.5", - "@storybook/preview-api": "7.4.5", - "@storybook/types": "7.4.5", + "@storybook/core-common": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/types": "7.4.6", "@types/doctrine": "^0.0.3", "doctrine": "^3.0.0", "lodash": "^4.17.21" @@ -9163,9 +9162,9 @@ "license": "MIT" }, "node_modules/@storybook/manager": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.4.5.tgz", - "integrity": "sha512-yoqVktWzzC0f8cXsxErOEUfT+VFfWV/W7soytIPQuJFqNaq+BqR5A7WCeoY7BIv3mdpRjo4GKwerCsgoHYeHhg==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.4.6.tgz", + "integrity": "sha512-kA1hUDxpn1i2SO9OinvLvVXDeL4xgJkModp+pbE8IXv4NJWReNq1ecMeQCzPLS3Sil2gnrullQ9uYXsnZ9bxxA==", "dev": true, "funding": { "type": "opencollective", @@ -9173,19 +9172,19 @@ } }, "node_modules/@storybook/manager-api": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.5.tgz", - "integrity": "sha512-8Hdh5Tutet8xRy2fAknczfvpshz09eVnLd8m34vcFceUOYvEnvDbWerufhlEzovsF4v7U32uqbDHKdKTamWEQQ==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.4.6.tgz", + "integrity": "sha512-inrm3DIbCp8wjXSN/wK6e6i2ysQ/IEmtC7IN0OJ7vdrp+USCooPT448SQTUmVctUGCFmOU3fxXByq8g77oIi7w==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.5", - "@storybook/client-logger": "7.4.5", - "@storybook/core-events": "7.4.5", + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/router": "7.4.5", - "@storybook/theming": "7.4.5", - "@storybook/types": "7.4.5", + "@storybook/router": "7.4.6", + "@storybook/theming": "7.4.6", + "@storybook/types": "7.4.6", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -9243,9 +9242,9 @@ "dev": true }, "node_modules/@storybook/node-logger": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.4.5.tgz", - "integrity": "sha512-fJSykphbryuEYj1qihbaTH5oOzD4NkptRxyf2uyBrpgkr5tCTq9d7GHheqaBuIdi513dsjlcIR7z5iHxW7ZD+Q==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.4.6.tgz", + "integrity": "sha512-djZb310Q27GviDug1XBv0jOEDLCiwr4hhDE0aifCEKZpfNCi/EaP31nbWimFzZwxu4hE/YAPWExzScruR1zw9Q==", "dev": true, "funding": { "type": "opencollective", @@ -9253,9 +9252,9 @@ } }, "node_modules/@storybook/postinstall": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.4.5.tgz", - "integrity": "sha512-MWRjnKkUpEe2VkHNNpv3zkuMvxM2Zu9DMxFENQaEmhqUHkIFh5klfFwzhSBRexVLzIh7DA1p7mntIpY5A6lh+Q==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.4.6.tgz", + "integrity": "sha512-TqI5BucPAGRWrkh55BYiG2/gHLFtC0In4cuu0GsUzB/1jc4i51npLRorCwhmT7r7YliGl5F7JaP0Bni/qHN3Lg==", "dev": true, "funding": { "type": "opencollective", @@ -9263,9 +9262,9 @@ } }, "node_modules/@storybook/preview": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.4.5.tgz", - "integrity": "sha512-hCVFoPJP0d7vFCJKaWEsDMa6LcRFcEikQ8Cy6Vo+trS8xXwvwE+vIBqyuPozl4O/MYD9iOlzjgZFNwaUUgX0Jg==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.4.6.tgz", + "integrity": "sha512-2RPXusJ4CTDrIipIKKvbotD7fP0+8VzoFjImunflIrzN9rni+2rq5eMjqlXAaB+77w064zIR4uDUzI9fxsMDeQ==", "dev": true, "funding": { "type": "opencollective", @@ -9273,17 +9272,17 @@ } }, "node_modules/@storybook/preview-api": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.5.tgz", - "integrity": "sha512-6xXQZPyilkGVddfZBI7tMbMMgOyIoZTYgTnwSPTMsXxO0f0TvtNDmGdwhn0I1nREHKfiQGpcQe6gwddEMnGtSg==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.4.6.tgz", + "integrity": "sha512-byUS/Opt3ytWD4cWz3sNEKw5Yks8MkQgRN+GDSyIomaEAQkLAM0rchPC0MYjwCeUSecV7IIQweNX5RbV4a34BA==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.5", - "@storybook/client-logger": "7.4.5", - "@storybook/core-events": "7.4.5", + "@storybook/channels": "7.4.6", + "@storybook/client-logger": "7.4.6", + "@storybook/core-events": "7.4.6", "@storybook/csf": "^0.1.0", "@storybook/global": "^5.0.0", - "@storybook/types": "7.4.5", + "@storybook/types": "7.4.6", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", @@ -9299,9 +9298,9 @@ } }, "node_modules/@storybook/react-dom-shim": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.4.5.tgz", - "integrity": "sha512-/hGe8yuiWbT7L3ZsllmJPgxT9MEQE3k23FhliyKx6IGHsWoYaEsPYPZ9tygqtKY8RpqqMUKWz8+kbO79zUxaoQ==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.4.6.tgz", + "integrity": "sha512-DSq8l9FDocUF1ooVI+TF83pddj1LynE/Hv0/y8XZhc3IgJ/HkuOQuUmfz29ezgfAi9gFYUR8raTIBi3/xdoRmw==", "dev": true, "funding": { "type": "opencollective", @@ -9313,12 +9312,12 @@ } }, "node_modules/@storybook/router": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.5.tgz", - "integrity": "sha512-IM4IhiPiXsx3FAUeUOAB47uiuUS8Yd37VQcNlXLBO28GgHoTSYOrjS+VTGLIV5cAGKr8+H5pFB+q35BnlFUpkQ==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.4.6.tgz", + "integrity": "sha512-Vl1esrHkcHxDKqc+HY7+6JQpBPW3zYvGk0cQ2rxVMhWdLZTAz1hss9DqzN9tFnPyfn0a1Q77EpMySkUrvWKKNQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.5", + "@storybook/client-logger": "7.4.6", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -9332,14 +9331,14 @@ } }, "node_modules/@storybook/telemetry": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.4.5.tgz", - "integrity": "sha512-JbhQXZF5sqS2c7Cf+vAtuKTdTSBDco+liUP2UGQFjqdacTRLVzxyj+YY2UH4aAQn7wpmnQ67iHnqFp0+fdYmAA==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.4.6.tgz", + "integrity": "sha512-c8p/C1NIH8EMBviZkBCx8MMDk6rrITJ+b29DEp5MaWSRlklIVyhGiC4RPIRv6sxJwlD41PnqWVFtfu2j2eXLdQ==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.5", - "@storybook/core-common": "7.4.5", - "@storybook/csf-tools": "7.4.5", + "@storybook/client-logger": "7.4.6", + "@storybook/core-common": "7.4.6", + "@storybook/csf-tools": "7.4.6", "chalk": "^4.1.0", "detect-package-manager": "^2.0.1", "fetch-retry": "^5.0.2", @@ -9404,13 +9403,13 @@ } }, "node_modules/@storybook/theming": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.5.tgz", - "integrity": "sha512-QSIJDIMzOegzlhubIBaYIovf4mlf+AVL0SmQOskPS8GZ6s9t77yUUI6gZTEjO+S4eB3djXRsfTTijQ8+z4XmRA==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.4.6.tgz", + "integrity": "sha512-HW77iJ9ptCMqhoBOYFjRQw7VBap+38fkJGHP5KylEJCyYCgIAm2dEcQmtWpMVYFssSGcb6djfbtAMhYU4TL4Iw==", "dev": true, "dependencies": { "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.4.5", + "@storybook/client-logger": "7.4.6", "@storybook/global": "^5.0.0", "memoizerific": "^1.11.3" }, @@ -9424,12 +9423,12 @@ } }, "node_modules/@storybook/types": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.5.tgz", - "integrity": "sha512-DTWFNjfRTpncjufDoUs0QnNkgHG2qThGKWL1D6sO18cYI02zWPyHWD8/cbqlvtT7XIGe3s1iUEfCTdU5GcwWBA==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.4.6.tgz", + "integrity": "sha512-6QLXtMVsFZFpzPkdGWsu/iuc8na9dnS67AMOBKm5qCLPwtUJOYkwhMdFRSSeJthLRpzV7JLAL8Kwvl7MFP3QSw==", "dev": true, "dependencies": { - "@storybook/channels": "7.4.5", + "@storybook/channels": "7.4.6", "@types/babel__core": "^7.0.0", "@types/express": "^4.7.0", "file-system-cache": "2.3.0" @@ -9440,18 +9439,18 @@ } }, "node_modules/@storybook/web-components": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/web-components/-/web-components-7.4.5.tgz", - "integrity": "sha512-bLmrxnM4LKm8DfawUd89/EgUpPLIu0iRnxGKSzuUO6Rc1NW0WsCb/OLDAMzC6Eu1Ga7qLKMdzDgBoHZxRv8MrA==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/web-components/-/web-components-7.4.6.tgz", + "integrity": "sha512-HWqkZtdkmNimkzMmE0mGRys2ee9qgEeDVCruiffySVquBRMQ6n1xgvHZYaO6OLlMeH0YHPg083ZqUasS5GsYVg==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.4.5", - "@storybook/core-client": "7.4.5", - "@storybook/docs-tools": "7.4.5", + "@storybook/client-logger": "7.4.6", + "@storybook/core-client": "7.4.6", + "@storybook/docs-tools": "7.4.6", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.4.5", - "@storybook/preview-api": "7.4.5", - "@storybook/types": "7.4.5", + "@storybook/manager-api": "7.4.6", + "@storybook/preview-api": "7.4.6", + "@storybook/types": "7.4.6", "tiny-invariant": "^1.3.1", "ts-dedent": "^2.0.0" }, @@ -9467,15 +9466,15 @@ } }, "node_modules/@storybook/web-components-vite": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/@storybook/web-components-vite/-/web-components-vite-7.4.5.tgz", - "integrity": "sha512-J90WA/CKNUvDu962W1SnzsXmttIS8im0i9Op8zjMPAHq+nVzfXB0Qb/LUR3RbQHFU01V7BFaWgrA0CdINeN04g==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/@storybook/web-components-vite/-/web-components-vite-7.4.6.tgz", + "integrity": "sha512-L/y6MTLbqfHaM0faK9Yl8n5PIyW4daZrtk7NfaOT6UjgNFjOx3o4CctYew6oj90cNk5HdZQX2OZny043GxDLZw==", "dev": true, "dependencies": { - "@storybook/builder-vite": "7.4.5", - "@storybook/core-server": "7.4.5", - "@storybook/node-logger": "7.4.5", - "@storybook/web-components": "7.4.5", + "@storybook/builder-vite": "7.4.6", + "@storybook/core-server": "7.4.6", + "@storybook/node-logger": "7.4.6", + "@storybook/web-components": "7.4.6", "magic-string": "^0.30.0" }, "engines": { @@ -9981,9 +9980,9 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "18.2.24", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.24.tgz", - "integrity": "sha512-Ee0Jt4sbJxMu1iDcetZEIKQr99J1Zfb6D4F3qfUWoR1JpInkY1Wdg4WwCyBjL257D0+jGqSl1twBjV8iCaC0Aw==", + "version": "18.2.28", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.28.tgz", + "integrity": "sha512-ad4aa/RaaJS3hyGz0BGegdnSRXQBkd1CCYDCdNjBPg90UUpLgo+WlJqb9fMYUxtehmzF3PJaTWqRZjko6BRzBg==", "dev": true, "dependencies": { "@types/prop-types": "*", @@ -10095,9 +10094,9 @@ } }, "node_modules/@types/yargs": { - "version": "17.0.26", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.26.tgz", - "integrity": "sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw==", + "version": "17.0.28", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.28.tgz", + "integrity": "sha512-N3e3fkS86hNhtk6BEnc0rj3zcehaxx8QWhCROJkqpl5Zaoi7nAic3jH8q94jVD3zu5LGk+PUB6KAiDmimYOEQw==", "dev": true, "dependencies": { "@types/yargs-parser": "*" @@ -12660,13 +12659,13 @@ } }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.5.tgz", - "integrity": "sha512-19hwUH5FKl49JEsvyTcoHakh6BE0wgXLLptIyKZ3PijHc/Ci521wygORCUCCred+E/twuqRyAkE02BAWPmsHOg==", + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.6.tgz", + "integrity": "sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==", "dev": true, "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.2", + "@babel/helper-define-polyfill-provider": "^0.4.3", "semver": "^6.3.1" }, "peerDependencies": { @@ -12674,12 +12673,12 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.4.tgz", - "integrity": "sha512-9l//BZZsPR+5XjyJMPtZSK4jv0BsTO1zDac2GC6ygx9WLGlcsnRd1Co0B2zT5fF5Ic6BZy+9m3HNZ3QcOeDKfg==", + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.5.tgz", + "integrity": "sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.2", + "@babel/helper-define-polyfill-provider": "^0.4.3", "core-js-compat": "^3.32.2" }, "peerDependencies": { @@ -12687,12 +12686,12 @@ } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.2.tgz", - "integrity": "sha512-tAlOptU0Xj34V1Y2PNTL4Y0FOJMDB6bZmoW39FeCQIhigGLkqu3Fj6uiXpxIf6Ij274ENdYx64y6Au+ZKlb1IA==", + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.3.tgz", + "integrity": "sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.2" + "@babel/helper-define-polyfill-provider": "^0.4.3" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -16597,9 +16596,9 @@ "dev": true }, "node_modules/eslint-plugin-storybook": { - "version": "0.6.14", - "resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-0.6.14.tgz", - "integrity": "sha512-IeYigPur/MvESNDo43Z+Z5UvlcEVnt0dDZmnw1odi9X2Th1R3bpGyOZsHXb9bp1pFecOpRUuoMG5xdID2TwwOg==", + "version": "0.6.15", + "resolved": "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-0.6.15.tgz", + "integrity": "sha512-lAGqVAJGob47Griu29KXYowI4G7KwMoJDOkEip8ujikuDLxU+oWJ1l0WL6F2oDO4QiyUFXvtDkEkISMOPzo+7w==", "dev": true, "dependencies": { "@storybook/csf": "^0.0.1", @@ -17727,9 +17726,9 @@ "license": "ISC" }, "node_modules/flow-parser": { - "version": "0.217.2", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.217.2.tgz", - "integrity": "sha512-O+nt/FLXa1hTwtW0O9h36iZjbL84G8e1uByx5dDXMC97AJEbZXwJ4ohfaE8BNWrYFyYX0NGfz1o8AtLQvaaD/Q==", + "version": "0.218.1", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.218.1.tgz", + "integrity": "sha512-46xpXyI4Bh3K2ej+NF3V5+pAsDlB5P0DWpgIIy/0/R7ujK0syfI/xfKDCOlq2sxtfUyPrr4rxfS2Da7yWdTdwg==", "dev": true, "engines": { "node": ">=0.4.0" @@ -18267,23 +18266,48 @@ } }, "node_modules/giget": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.2.tgz", - "integrity": "sha512-HsLoS07HiQ5oqvObOI+Qb2tyZH4Gj5nYGfF9qQcZNrPw+uEFhdXtgJr01aO2pWadGHucajYDLxxbtQkm97ON2A==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.1.3.tgz", + "integrity": "sha512-zHuCeqtfgqgDwvXlR84UNgnJDuUHQcNI5OqWqFxxuk2BshuKbYhJWdxBsEo4PvKqoGh23lUAIvBNpChMLv7/9Q==", "dev": true, "dependencies": { - "colorette": "^2.0.19", + "colorette": "^2.0.20", "defu": "^6.1.2", - "https-proxy-agent": "^5.0.1", + "https-proxy-agent": "^7.0.2", "mri": "^1.2.0", - "node-fetch-native": "^1.0.2", - "pathe": "^1.1.0", - "tar": "^6.1.13" + "node-fetch-native": "^1.4.0", + "pathe": "^1.1.1", + "tar": "^6.2.0" }, "bin": { "giget": "dist/cli.mjs" } }, + "node_modules/giget/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/giget/node_modules/https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "dev": true, + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/git-raw-commits": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-3.0.0.tgz", @@ -21983,9 +22007,9 @@ } }, "node_modules/magic-string": { - "version": "0.30.4", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.4.tgz", - "integrity": "sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==", + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", "dev": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" @@ -28700,34 +28724,6 @@ "upper-case-first": "^2.0.2" } }, - "node_modules/serve-favicon": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.5.0.tgz", - "integrity": "sha512-FMW2RvqNr03x+C0WxTyu6sOv21oOjkq5j8tjquWccwa6ScNyGFOGJVpuS1NmTVGBAHS07xnSKotgf2ehQmf9iA==", - "dev": true, - "dependencies": { - "etag": "~1.8.1", - "fresh": "0.5.2", - "ms": "2.1.1", - "parseurl": "~1.3.2", - "safe-buffer": "5.1.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-favicon/node_modules/ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - }, - "node_modules/serve-favicon/node_modules/safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "dev": true - }, "node_modules/serve-static": { "version": "1.15.0", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", @@ -29180,12 +29176,12 @@ "dev": true }, "node_modules/storybook": { - "version": "7.4.5", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.4.5.tgz", - "integrity": "sha512-J7fidphTJ6SJHlR8f/USQE30K6ipbynLVLsTOz0bNYW/0Ua2t9u6dAYGbbq6bLikl3zxzQbdm9lXMUzmaYAdIA==", + "version": "7.4.6", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.4.6.tgz", + "integrity": "sha512-YkFSpnR47j5zz7yElA+2axLjXN7K7TxDGJRHHlqXmG5iQ0PXzmjrj2RxMDKFz4Ybp/QjEUoJ4rx//ESEY0Nb5A==", "dev": true, "dependencies": { - "@storybook/cli": "7.4.5" + "@storybook/cli": "7.4.6" }, "bin": { "sb": "index.js", @@ -29965,9 +29961,9 @@ } }, "node_modules/tocbot": { - "version": "4.21.1", - "resolved": "https://registry.npmjs.org/tocbot/-/tocbot-4.21.1.tgz", - "integrity": "sha512-IfajhBTeg0HlMXu1f+VMbPef05QpDTsZ9X2Yn1+8npdaXsXg/+wrm9Ze1WG5OS1UDC3qJ5EQN/XOZ3gfXjPFCw==", + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/tocbot/-/tocbot-4.21.2.tgz", + "integrity": "sha512-R5Muhi/TUu4i4snWVrMgNoXyJm2f8sJfdgIkQvqb+cuIXQEIMAiWGWgCgYXHqX4+XiS/Bnm7IYZ9Zy6NVe6lhw==", "dev": true }, "node_modules/toidentifier": { diff --git a/package.json b/package.json index 3b902ad70..b0bca7a86 100644 --- a/package.json +++ b/package.json @@ -67,13 +67,13 @@ "@lerna-lite/version": "2.5.1", "@open-wc/testing": "3.2.0", "@rollup/plugin-node-resolve": "15.1.0", - "@storybook/addon-a11y": "7.4.5", - "@storybook/addon-actions": "7.4.5", - "@storybook/addon-essentials": "7.4.5", - "@storybook/addon-links": "7.4.5", - "@storybook/blocks": "7.4.5", - "@storybook/web-components": "7.4.5", - "@storybook/web-components-vite": "7.4.5", + "@storybook/addon-a11y": "7.4.6", + "@storybook/addon-actions": "7.4.6", + "@storybook/addon-essentials": "7.4.6", + "@storybook/addon-links": "7.4.6", + "@storybook/blocks": "7.4.6", + "@storybook/web-components": "7.4.6", + "@storybook/web-components-vite": "7.4.6", "@types/chai": "4.3.5", "@typescript-eslint/eslint-plugin": "6.6.0", "@typescript-eslint/parser": "6.0.0", @@ -93,7 +93,7 @@ "eslint-plugin-lit": "1.8.3", "eslint-plugin-lit-a11y": "4.1.0", "eslint-plugin-local-rules": "^2.0.0", - "eslint-plugin-storybook": "0.6.14", + "eslint-plugin-storybook": "0.6.15", "eslint-plugin-wc": "1.5.0", "github-markdown-css": "5.2.0", "glob": "8.1.0", @@ -124,7 +124,7 @@ "rollup-plugin-import-css": "3.3.1", "rollup-plugin-minify-html-literals": "1.2.6", "rollup-plugin-postcss": "4.0.2", - "storybook": "7.4.5", + "storybook": "7.4.6", "tsc-files": "1.1.4", "turbo": "^1.10.12", "typescript": "5.2.2", From f48948703e3f014acc691d6bf2e0d03f981abd35 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 10 Oct 2023 07:57:04 +0000 Subject: [PATCH 16/25] build(deps-dev): bump eslint-import-resolver-typescript Bumps [eslint-import-resolver-typescript](https://github.com/import-js/eslint-import-resolver-typescript) from 3.5.5 to 3.6.1. - [Release notes](https://github.com/import-js/eslint-import-resolver-typescript/releases) - [Changelog](https://github.com/import-js/eslint-import-resolver-typescript/blob/master/CHANGELOG.md) - [Commits](https://github.com/import-js/eslint-import-resolver-typescript/compare/v3.5.5...v3.6.1) --- updated-dependencies: - dependency-name: eslint-import-resolver-typescript dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 254 ++-------------------------------------------- package.json | 2 +- 2 files changed, 7 insertions(+), 249 deletions(-) diff --git a/package-lock.json b/package-lock.json index 87f62dfc4..446ba8434 100644 --- a/package-lock.json +++ b/package-lock.json @@ -44,7 +44,7 @@ "esbuild": "0.17.18", "eslint": "8.45.0", "eslint-config-prettier": "9.0.0", - "eslint-import-resolver-typescript": "3.5.5", + "eslint-import-resolver-typescript": "3.6.1", "eslint-plugin-html": "7.1.0", "eslint-plugin-import": "2.27.5", "eslint-plugin-lit": "1.8.3", @@ -5933,53 +5933,6 @@ "node": ">=14" } }, - "node_modules/@pkgr/utils": { - "version": "2.4.2", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "fast-glob": "^3.3.0", - "is-glob": "^4.0.3", - "open": "^9.1.0", - "picocolors": "^1.0.0", - "tslib": "^2.6.0" - }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/@pkgr/utils/node_modules/define-lazy-prop": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@pkgr/utils/node_modules/open": { - "version": "9.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "default-browser": "^4.0.0", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/@pnpm/config.env-replace": { "version": "1.1.0", "dev": true, @@ -13175,20 +13128,6 @@ "dev": true, "license": "ISC" }, - "node_modules/bundle-name": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "run-applescript": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/byte-size": { "version": "8.1.1", "dev": true, @@ -15337,23 +15276,6 @@ "node": ">=16.0.0" } }, - "node_modules/default-browser": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "bundle-name": "^3.0.0", - "default-browser-id": "^3.0.0", - "execa": "^7.1.1", - "titleize": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/default-browser-id": { "version": "3.0.0", "dev": true, @@ -16418,18 +16340,18 @@ } }, "node_modules/eslint-import-resolver-typescript": { - "version": "3.5.5", + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", + "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", "dev": true, - "license": "ISC", "dependencies": { "debug": "^4.3.4", "enhanced-resolve": "^5.12.0", "eslint-module-utils": "^2.7.4", + "fast-glob": "^3.3.1", "get-tsconfig": "^4.5.0", - "globby": "^13.1.3", "is-core-module": "^2.11.0", - "is-glob": "^4.0.3", - "synckit": "^0.8.5" + "is-glob": "^4.0.3" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -19766,37 +19688,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-inside-container/node_modules/is-docker": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-installed-globally": { "version": "0.4.0", "dev": true, @@ -28352,113 +28243,6 @@ "dev": true, "license": "MIT" }, - "node_modules/run-applescript": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-applescript/node_modules/execa": { - "version": "5.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/run-applescript/node_modules/get-stream": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-applescript/node_modules/human-signals": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/run-applescript/node_modules/is-stream": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-applescript/node_modules/mimic-fn": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/run-applescript/node_modules/npm-run-path": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/run-applescript/node_modules/onetime": { - "version": "5.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-applescript/node_modules/strip-final-newline": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, "node_modules/run-async": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", @@ -29516,21 +29300,6 @@ "integrity": "sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==", "dev": true }, - "node_modules/synckit": { - "version": "0.8.5", - "dev": true, - "license": "MIT", - "dependencies": { - "@pkgr/utils": "^2.3.1", - "tslib": "^2.5.0" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, "node_modules/table-layout": { "version": "3.0.2", "dev": true, @@ -29913,17 +29682,6 @@ "tslib": "^2.0.3" } }, - "node_modules/titleize": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/tmp": { "version": "0.0.33", "dev": true, diff --git a/package.json b/package.json index b0bca7a86..a606f0779 100644 --- a/package.json +++ b/package.json @@ -87,7 +87,7 @@ "esbuild": "0.17.18", "eslint": "8.45.0", "eslint-config-prettier": "9.0.0", - "eslint-import-resolver-typescript": "3.5.5", + "eslint-import-resolver-typescript": "3.6.1", "eslint-plugin-html": "7.1.0", "eslint-plugin-import": "2.27.5", "eslint-plugin-lit": "1.8.3", From 5a7b2e86516f4c75c61f9295985963d098200f01 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 13:28:51 +0000 Subject: [PATCH 17/25] build(deps-dev): bump eslint-plugin-lit from 1.8.3 to 1.9.1 Bumps [eslint-plugin-lit](https://github.com/43081j/eslint-plugin-lit) from 1.8.3 to 1.9.1. - [Commits](https://github.com/43081j/eslint-plugin-lit/compare/v1.8.3...v1.9.1) --- updated-dependencies: - dependency-name: eslint-plugin-lit dependency-type: direct:development update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- package-lock.json | 7 ++++--- package.json | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 446ba8434..88e6cb95b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -47,7 +47,7 @@ "eslint-import-resolver-typescript": "3.6.1", "eslint-plugin-html": "7.1.0", "eslint-plugin-import": "2.27.5", - "eslint-plugin-lit": "1.8.3", + "eslint-plugin-lit": "1.9.1", "eslint-plugin-lit-a11y": "4.1.0", "eslint-plugin-local-rules": "^2.0.0", "eslint-plugin-storybook": "0.6.15", @@ -16464,9 +16464,10 @@ } }, "node_modules/eslint-plugin-lit": { - "version": "1.8.3", + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-lit/-/eslint-plugin-lit-1.9.1.tgz", + "integrity": "sha512-XFFVufVxYJwqRB9sLkDXB7SvV1xi9hrC4HRFEdX1h9+iZ3dm4x9uS7EuT9uaXs6zR3DEgcojia1F7pmvWbc4Gg==", "dev": true, - "license": "MIT", "dependencies": { "parse5": "^6.0.1", "parse5-htmlparser2-tree-adapter": "^6.0.1", diff --git a/package.json b/package.json index a606f0779..cecf1bfc4 100644 --- a/package.json +++ b/package.json @@ -90,7 +90,7 @@ "eslint-import-resolver-typescript": "3.6.1", "eslint-plugin-html": "7.1.0", "eslint-plugin-import": "2.27.5", - "eslint-plugin-lit": "1.8.3", + "eslint-plugin-lit": "1.9.1", "eslint-plugin-lit-a11y": "4.1.0", "eslint-plugin-local-rules": "^2.0.0", "eslint-plugin-storybook": "0.6.15", From 7be2293164e49c73e241b589150e3cd713bb11b2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Oct 2023 13:29:37 +0000 Subject: [PATCH 18/25] build(deps-dev): bump @babel/traverse from 7.23.0 to 7.23.2 Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.23.0 to 7.23.2. - [Release notes](https://github.com/babel/babel/releases) - [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md) - [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse) --- updated-dependencies: - dependency-name: "@babel/traverse" dependency-type: indirect ... Signed-off-by: dependabot[bot] --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index 88e6cb95b..38eaeaf31 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2049,9 +2049,9 @@ } }, "node_modules/@babel/traverse": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.0.tgz", - "integrity": "sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", "dev": true, "dependencies": { "@babel/code-frame": "^7.22.13", From 830d6f5cad7908c1d79f1dde787d89f2cccfc571 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 17 Oct 2023 15:33:52 +0200 Subject: [PATCH 19/25] build(deps-dev): bump lerna-lite from 2.5.1 to 2.6.0 --- package-lock.json | 276 +++++++++++++++++++++++----------------------- package.json | 10 +- 2 files changed, 145 insertions(+), 141 deletions(-) diff --git a/package-lock.json b/package-lock.json index 38eaeaf31..74526784c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,11 +17,11 @@ }, "devDependencies": { "@babel/core": "7.23.0", - "@lerna-lite/cli": "2.5.1", - "@lerna-lite/exec": "2.5.1", - "@lerna-lite/publish": "2.5.1", - "@lerna-lite/run": "2.5.1", - "@lerna-lite/version": "2.5.1", + "@lerna-lite/cli": "2.6.0", + "@lerna-lite/exec": "2.6.0", + "@lerna-lite/publish": "2.6.0", + "@lerna-lite/run": "2.6.0", + "@lerna-lite/version": "2.6.0", "@open-wc/testing": "3.2.0", "@rollup/plugin-node-resolve": "15.1.0", "@storybook/addon-a11y": "7.4.6", @@ -3173,13 +3173,13 @@ "dev": true }, "node_modules/@lerna-lite/cli": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@lerna-lite/cli/-/cli-2.5.1.tgz", - "integrity": "sha512-6Bs/w4rB/SVbiwbHfahm2W9wfUcvKcA34VBkVE8UrYOmwxOqODNdBUOUiZj76OTl5n5yByBf6MHWZN2MREPECw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@lerna-lite/cli/-/cli-2.6.0.tgz", + "integrity": "sha512-sxJmgGt/zQ4rYfdl5OSp5/TToLB16RVxsoVsUsg/qTl5F5C+P35evYBuXRuFNWr50+MdfHqLisbf0qEJgGAk9g==", "dev": true, "dependencies": { - "@lerna-lite/core": "2.5.1", - "@lerna-lite/init": "2.5.1", + "@lerna-lite/core": "2.6.0", + "@lerna-lite/init": "2.6.0", "dedent": "^1.5.1", "dotenv": "^16.3.1", "import-local": "^3.1.0", @@ -3216,22 +3216,22 @@ } }, "node_modules/@lerna-lite/core": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@lerna-lite/core/-/core-2.5.1.tgz", - "integrity": "sha512-Bqx5e7/QiK1NzX8qfQyW3WP63Cw5mByCS0ZvrMUioQFJKw7BgXytOmg1OrcB2A7+hYwkZOiz25GWIUzHMvxVAA==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@lerna-lite/core/-/core-2.6.0.tgz", + "integrity": "sha512-WFyDgjuHHj5dC8WYA4w1hoMyUL8pnb7eFNMVYgPYzXi1L8yoQPpvJr02wOWl464XJbhhfr8Q8tMdMHI7YUSbMQ==", "dev": true, "dependencies": { "@npmcli/run-script": "^7.0.1", "chalk": "^5.3.0", "clone-deep": "^4.0.1", "config-chain": "^1.1.13", - "cosmiconfig": "^8.3.5", + "cosmiconfig": "^8.3.6", "dedent": "^1.5.1", "execa": "^8.0.1", "fs-extra": "^11.1.1", "glob-parent": "^6.0.2", "globby": "^13.2.2", - "inquirer": "^9.2.10", + "inquirer": "^9.2.11", "is-ci": "^3.0.1", "json5": "^2.2.3", "load-json-file": "^7.0.1", @@ -3435,15 +3435,15 @@ "dev": true }, "node_modules/@lerna-lite/exec": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@lerna-lite/exec/-/exec-2.5.1.tgz", - "integrity": "sha512-fOIXy2E9m4m3N+ylvQmLW4sNMQYmiRy4PjOrDG4eIkiidIenqtDKi7LUGbECmatFgK5yqr2jo7WsQXcQP12xog==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@lerna-lite/exec/-/exec-2.6.0.tgz", + "integrity": "sha512-4uqwAzfltAKfVPxgT78cS4Pb79ORT0TJtIbshXxbxwjHwd06JsuVQYRnkHxzwizNe24uZJbpRxsnNn4zEsRN7w==", "dev": true, "dependencies": { - "@lerna-lite/cli": "2.5.1", - "@lerna-lite/core": "2.5.1", - "@lerna-lite/filter-packages": "2.5.1", - "@lerna-lite/profiler": "2.5.1", + "@lerna-lite/cli": "2.6.0", + "@lerna-lite/core": "2.6.0", + "@lerna-lite/filter-packages": "2.6.0", + "@lerna-lite/profiler": "2.6.0", "chalk": "^5.3.0", "dotenv": "^16.3.1", "npmlog": "^7.0.1", @@ -3466,12 +3466,12 @@ } }, "node_modules/@lerna-lite/filter-packages": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@lerna-lite/filter-packages/-/filter-packages-2.5.1.tgz", - "integrity": "sha512-fFxRCm5Oo6KJJ/Er1OCUp0y2AmFK52egi37GyiQt4iLuqNfE/V+trOIof1OWMmR4sggk92QYcj98D1JXrBbomA==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@lerna-lite/filter-packages/-/filter-packages-2.6.0.tgz", + "integrity": "sha512-K+KQ3yzzbGJ5Hhr7ij5SiFnWjs7Ns+dpaRjPlVbEnJZnkR2CTOG18fboQs241O5yPMO2EZYBVRL8EA2a9AUi8g==", "dev": true, "dependencies": { - "@lerna-lite/core": "2.5.1", + "@lerna-lite/core": "2.6.0", "multimatch": "^6.0.0", "npmlog": "^7.0.1" }, @@ -3481,12 +3481,12 @@ } }, "node_modules/@lerna-lite/init": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@lerna-lite/init/-/init-2.5.1.tgz", - "integrity": "sha512-6deyLNCt2w3xS4oAho/B24LXeUBH6h3PE+D0BmX/vxvfq1UXDTXyBs+Ch2/H+oi6CMlWIQvYP/+oH7VZ9daVyQ==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@lerna-lite/init/-/init-2.6.0.tgz", + "integrity": "sha512-K8lxcQXgGrTfl3YyvKSl+uiAT287vd1awouvme7m+3j32H6DTI31u35t7mR6mBY7GhkDLX/iJzjaHpv2qBb3NQ==", "dev": true, "dependencies": { - "@lerna-lite/core": "2.5.1", + "@lerna-lite/core": "2.6.0", "fs-extra": "^11.1.1", "p-map": "^6.0.0", "write-json-file": "^5.0.0" @@ -3497,12 +3497,12 @@ } }, "node_modules/@lerna-lite/profiler": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@lerna-lite/profiler/-/profiler-2.5.1.tgz", - "integrity": "sha512-fdQGZdLXJKZmpERn6ApKKdQfemK8eVOxzFJvM18QQ14cW2CGGHOSQ9e9uKMpW7M8DH4pGrbGI7m+XfcU1P/ONQ==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@lerna-lite/profiler/-/profiler-2.6.0.tgz", + "integrity": "sha512-9uHJ6NefsFMlGwWQyXAuepz/1vkCeGPO/xTs5H3gtCwOR9NLNwlPwy827WjX4wNRMNdjZNzxW2ogPky5z/evkQ==", "dev": true, "dependencies": { - "@lerna-lite/core": "2.5.1", + "@lerna-lite/core": "2.6.0", "fs-extra": "^11.1.1", "npmlog": "^7.0.1", "upath": "^2.0.1" @@ -3513,27 +3513,27 @@ } }, "node_modules/@lerna-lite/publish": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@lerna-lite/publish/-/publish-2.5.1.tgz", - "integrity": "sha512-bxvaaFUcQ1wiOLc1xWtekmsyobd7kqUoehzZ8HIStDIASMo+DZGVNyM+OZirI1F3Fz3PM/JbyRz+yo7Qp6kEVA==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@lerna-lite/publish/-/publish-2.6.0.tgz", + "integrity": "sha512-Xa7MT1nZ8Q6vY0vwLMZgdoX8Lz2PHZ6tEMWx54qgWiK0HYOfZjW+NNXGV9hKu6PpaRBq+N5PIKOptJSjQCjEew==", "dev": true, "dependencies": { - "@lerna-lite/cli": "2.5.1", - "@lerna-lite/core": "2.5.1", - "@lerna-lite/version": "2.5.1", - "@npmcli/arborist": "^7.1.0", + "@lerna-lite/cli": "2.6.0", + "@lerna-lite/core": "2.6.0", + "@lerna-lite/version": "2.6.0", + "@npmcli/arborist": "^7.2.0", "byte-size": "^8.1.1", "chalk": "^5.3.0", "columnify": "^1.6.0", "fs-extra": "^11.1.1", - "glob": "^10.3.4", + "glob": "^10.3.10", "has-unicode": "^2.0.1", - "libnpmaccess": "^8.0.0", - "libnpmpublish": "^9.0.0", + "libnpmaccess": "^8.0.1", + "libnpmpublish": "^9.0.1", "normalize-path": "^3.0.0", "npm-package-arg": "^11.0.1", "npm-packlist": "^8.0.0", - "npm-registry-fetch": "^16.0.0", + "npm-registry-fetch": "^16.1.0", "npmlog": "^7.0.1", "p-map": "^6.0.0", "p-pipe": "^4.0.0", @@ -3726,18 +3726,19 @@ } }, "node_modules/@lerna-lite/publish/node_modules/glob": { - "version": "10.3.4", + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dev": true, - "license": "ISC", "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", + "jackspeak": "^2.3.5", "minimatch": "^9.0.1", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", "path-scurry": "^1.10.1" }, "bin": { - "glob": "dist/cjs/src/bin.js" + "glob": "dist/esm/bin.mjs" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -3867,9 +3868,9 @@ } }, "node_modules/@lerna-lite/publish/node_modules/npm-registry-fetch": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.0.0.tgz", - "integrity": "sha512-JFCpAPUpvpwfSydv99u85yhP68rNIxSFmDpNbNnRWKSe3gpjHnWL8v320gATwRzjtgmZ9Jfe37+ZPOLZPwz6BQ==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.1.0.tgz", + "integrity": "sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==", "dev": true, "dependencies": { "make-fetch-happen": "^13.0.0", @@ -3995,15 +3996,15 @@ "license": "ISC" }, "node_modules/@lerna-lite/run": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@lerna-lite/run/-/run-2.5.1.tgz", - "integrity": "sha512-GiYuXxrdjckPGOaLul+HWsFQkzTNVfZvwGiaYlEIBXEBErdjkTZ26SSs4SqGmLp4n2p9jF8rG+OdKc7/hdTz7Q==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@lerna-lite/run/-/run-2.6.0.tgz", + "integrity": "sha512-480KjBhInw14qVsINuQO6Qg5woei1vPAcOWMITKoPoYHAiWfEHtLQK9oCCltyGFlyGQalLhoJs7a+m0GchO1XQ==", "dev": true, "dependencies": { - "@lerna-lite/cli": "2.5.1", - "@lerna-lite/core": "2.5.1", - "@lerna-lite/filter-packages": "2.5.1", - "@lerna-lite/profiler": "2.5.1", + "@lerna-lite/cli": "2.6.0", + "@lerna-lite/core": "2.6.0", + "@lerna-lite/filter-packages": "2.6.0", + "@lerna-lite/profiler": "2.6.0", "chalk": "^5.3.0", "fs-extra": "^11.1.1", "npmlog": "^7.0.1", @@ -4026,13 +4027,13 @@ } }, "node_modules/@lerna-lite/version": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@lerna-lite/version/-/version-2.5.1.tgz", - "integrity": "sha512-d7b2ZiCwTGbxE5LPkt43kRNSCBCgAEMYKVGMhpabm6YXOs9J5Si7gmcSQ9eTYctUjwY+QBUimRr/KFT4PvBfEw==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@lerna-lite/version/-/version-2.6.0.tgz", + "integrity": "sha512-OEdSV6SwYqspXls2Nthd6itw7XJaWGAr65rDVrgcQajQ0dAngateYtsq/zmRMaJnSYNX6u5gUV5y+6WISQaGMA==", "dev": true, "dependencies": { - "@lerna-lite/cli": "2.5.1", - "@lerna-lite/core": "2.5.1", + "@lerna-lite/cli": "2.6.0", + "@lerna-lite/core": "2.6.0", "@octokit/plugin-enterprise-rest": "^6.0.1", "@octokit/rest": "^19.0.13", "chalk": "^5.3.0", @@ -4061,7 +4062,7 @@ "semver": "^7.5.4", "slash": "^5.1.0", "temp-dir": "^3.0.0", - "uuid": "^9.0.0", + "uuid": "^9.0.1", "write-json-file": "^5.0.0" }, "engines": { @@ -4162,10 +4163,13 @@ } }, "node_modules/@ljharb/through": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.9.tgz", - "integrity": "sha512-yN599ZBuMPPK4tdoToLlvgJB4CLK8fGl7ntfy0Wn7U6ttNvHYurd81bfUiK/6sMkiIwm65R6ck4L6+Y3DfVbNQ==", + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.11.tgz", + "integrity": "sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w==", "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, "engines": { "node": ">= 0.4" } @@ -4346,9 +4350,9 @@ } }, "node_modules/@npmcli/arborist": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-7.1.0.tgz", - "integrity": "sha512-QwVVXZ1kt9VREBuZ6Q9y6jyrT/GRME+/xl3X6/xFUSdd7SGGG+fEbIdWBc25tqqUEuPZfuCEPxJIUngEpXMogw==", + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-7.2.0.tgz", + "integrity": "sha512-J6XCan+5nV6F94E0+9z//OnZADcqHw6HGDO0ynX+Ayd6GEopK0odq99V+UQjb8P1zexTmCWGvxp4jU5OM6NTtg==", "dev": true, "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", @@ -4359,18 +4363,18 @@ "@npmcli/name-from-folder": "^2.0.0", "@npmcli/node-gyp": "^3.0.0", "@npmcli/package-json": "^5.0.0", - "@npmcli/query": "^3.0.0", + "@npmcli/query": "^3.0.1", "@npmcli/run-script": "^7.0.1", "bin-links": "^4.0.1", "cacache": "^18.0.0", "common-ancestor-path": "^1.0.1", - "hosted-git-info": "^7.0.0", + "hosted-git-info": "^7.0.1", "json-parse-even-better-errors": "^3.0.0", "json-stringify-nice": "^1.1.4", "minimatch": "^9.0.0", "nopt": "^7.0.0", "npm-install-checks": "^6.2.0", - "npm-package-arg": "^11.0.0", + "npm-package-arg": "^11.0.1", "npm-pick-manifest": "^9.0.0", "npm-registry-fetch": "^16.0.0", "npmlog": "^7.0.1", @@ -4524,19 +4528,19 @@ } }, "node_modules/@npmcli/arborist/node_modules/glob": { - "version": "10.3.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.5.tgz", - "integrity": "sha512-bYUpUD7XDEHI4Q2O5a7PXGvyw4deKR70kHiDxzQbe925wbZknhOzUt2xBgTkYL6RBcVeXYuD9iNYeqoWbBZQnA==", + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", + "jackspeak": "^2.3.5", "minimatch": "^9.0.1", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", "path-scurry": "^1.10.1" }, "bin": { - "glob": "dist/cjs/src/bin.js" + "glob": "dist/esm/bin.mjs" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -4655,9 +4659,9 @@ } }, "node_modules/@npmcli/arborist/node_modules/npm-registry-fetch": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.0.0.tgz", - "integrity": "sha512-JFCpAPUpvpwfSydv99u85yhP68rNIxSFmDpNbNnRWKSe3gpjHnWL8v320gATwRzjtgmZ9Jfe37+ZPOLZPwz6BQ==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.1.0.tgz", + "integrity": "sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==", "dev": true, "dependencies": { "make-fetch-happen": "^13.0.0", @@ -4939,19 +4943,19 @@ } }, "node_modules/@npmcli/map-workspaces/node_modules/glob": { - "version": "10.3.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.5.tgz", - "integrity": "sha512-bYUpUD7XDEHI4Q2O5a7PXGvyw4deKR70kHiDxzQbe925wbZknhOzUt2xBgTkYL6RBcVeXYuD9iNYeqoWbBZQnA==", + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", + "jackspeak": "^2.3.5", "minimatch": "^9.0.1", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", "path-scurry": "^1.10.1" }, "bin": { - "glob": "dist/cjs/src/bin.js" + "glob": "dist/esm/bin.mjs" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -5107,19 +5111,19 @@ } }, "node_modules/@npmcli/metavuln-calculator/node_modules/glob": { - "version": "10.3.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.5.tgz", - "integrity": "sha512-bYUpUD7XDEHI4Q2O5a7PXGvyw4deKR70kHiDxzQbe925wbZknhOzUt2xBgTkYL6RBcVeXYuD9iNYeqoWbBZQnA==", + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", + "jackspeak": "^2.3.5", "minimatch": "^9.0.1", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", "path-scurry": "^1.10.1" }, "bin": { - "glob": "dist/cjs/src/bin.js" + "glob": "dist/esm/bin.mjs" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -5238,9 +5242,9 @@ } }, "node_modules/@npmcli/metavuln-calculator/node_modules/npm-registry-fetch": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.0.0.tgz", - "integrity": "sha512-JFCpAPUpvpwfSydv99u85yhP68rNIxSFmDpNbNnRWKSe3gpjHnWL8v320gATwRzjtgmZ9Jfe37+ZPOLZPwz6BQ==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.1.0.tgz", + "integrity": "sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==", "dev": true, "dependencies": { "make-fetch-happen": "^13.0.0", @@ -5461,19 +5465,19 @@ } }, "node_modules/@npmcli/package-json/node_modules/glob": { - "version": "10.3.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.5.tgz", - "integrity": "sha512-bYUpUD7XDEHI4Q2O5a7PXGvyw4deKR70kHiDxzQbe925wbZknhOzUt2xBgTkYL6RBcVeXYuD9iNYeqoWbBZQnA==", + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", + "jackspeak": "^2.3.5", "minimatch": "^9.0.1", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", "path-scurry": "^1.10.1" }, "bin": { - "glob": "dist/cjs/src/bin.js" + "glob": "dist/esm/bin.mjs" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -5699,9 +5703,9 @@ } }, "node_modules/@octokit/openapi-types": { - "version": "18.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.0.0.tgz", - "integrity": "sha512-V8GImKs3TeQRxRtXFpG2wl19V7444NIOTDF24AWuIbmNaNYOQMWRbjcGDXV5B+0n887fgDcuMNOmlul+k+oJtw==", + "version": "18.1.1", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-18.1.1.tgz", + "integrity": "sha512-VRaeH8nCDtF5aXWnjPuEMIYf1itK/s3JYyJcWFJT8X9pSNnBtriDf7wlEWsGuhPLl4QIH4xM8fqTXDwJ3Mu6sw==", "dev": true }, "node_modules/@octokit/plugin-enterprise-rest": { @@ -9871,9 +9875,9 @@ "dev": true }, "node_modules/@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.3.tgz", + "integrity": "sha512-ZYFzrvyWUNhaPomn80dsMNgMeXxNWZBdkuG/hWlUvXvbdUH8ZERNBGXnU87McuGcWDsyzX2aChCv/SVN348k3A==", "dev": true }, "node_modules/@types/mocha": { @@ -12726,9 +12730,9 @@ } }, "node_modules/bin-links": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-4.0.2.tgz", - "integrity": "sha512-jxJ0PbXR8eQyPlExCvCs3JFnikvs1Yp4gUJt6nmgathdOwvur+q22KWC3h20gvWl4T/14DXKj2IlkJwwZkZPOw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-4.0.3.tgz", + "integrity": "sha512-obsRaULtJurnfox/MDwgq6Yo9kzbv1CPTk/1/s7Z/61Lezc8IKkFCOXNeVLXz0456WRzBQmSsDWlai2tIhBsfA==", "dev": true, "dependencies": { "cmd-shim": "^6.0.0", @@ -20926,12 +20930,12 @@ } }, "node_modules/libnpmaccess": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-8.0.0.tgz", - "integrity": "sha512-aqKf4L5haaLkFm05RQ0p+7E+f7BplkR+na2gC/e59/OAH1vsNoy/L3NxHXX8OuEwxSlj9M1nd0XXtuFkZpV3gw==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/libnpmaccess/-/libnpmaccess-8.0.1.tgz", + "integrity": "sha512-MWbnWIfxLKol+BgC1NR1as1JwM5ufZASd6CaENJjNe4JpJ0gx71xhpYY5SvNMZnVBahocYZWP6+SPQdyD0abEQ==", "dev": true, "dependencies": { - "npm-package-arg": "^11.0.0", + "npm-package-arg": "^11.0.1", "npm-registry-fetch": "^16.0.0" }, "engines": { @@ -20962,19 +20966,19 @@ } }, "node_modules/libnpmaccess/node_modules/glob": { - "version": "10.3.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.5.tgz", - "integrity": "sha512-bYUpUD7XDEHI4Q2O5a7PXGvyw4deKR70kHiDxzQbe925wbZknhOzUt2xBgTkYL6RBcVeXYuD9iNYeqoWbBZQnA==", + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", + "jackspeak": "^2.3.5", "minimatch": "^9.0.1", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", "path-scurry": "^1.10.1" }, "bin": { - "glob": "dist/cjs/src/bin.js" + "glob": "dist/esm/bin.mjs" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -21042,9 +21046,9 @@ } }, "node_modules/libnpmaccess/node_modules/npm-registry-fetch": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.0.0.tgz", - "integrity": "sha512-JFCpAPUpvpwfSydv99u85yhP68rNIxSFmDpNbNnRWKSe3gpjHnWL8v320gATwRzjtgmZ9Jfe37+ZPOLZPwz6BQ==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.1.0.tgz", + "integrity": "sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==", "dev": true, "dependencies": { "make-fetch-happen": "^13.0.0", @@ -21108,14 +21112,14 @@ "dev": true }, "node_modules/libnpmpublish": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-9.0.0.tgz", - "integrity": "sha512-4bKe8I5qkYeHms/4tlXuAlOAssjEyUcTci5YrmAaQqMm5yHC3836Uazj1YFQzRlMJQZBc2e21XF5XSnnvVsOiA==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/libnpmpublish/-/libnpmpublish-9.0.1.tgz", + "integrity": "sha512-w5Ev46SnPaEpjfa0a5+p2vYSB19nONF/mRX8RcIRp2gpPxMWldFVZy/fXei/uflMLQq33mjKMqiVoNcz6ZJCYg==", "dev": true, "dependencies": { "ci-info": "^3.6.1", "normalize-package-data": "^6.0.0", - "npm-package-arg": "^11.0.0", + "npm-package-arg": "^11.0.1", "npm-registry-fetch": "^16.0.0", "proc-log": "^3.0.0", "semver": "^7.3.7", @@ -21211,19 +21215,19 @@ } }, "node_modules/libnpmpublish/node_modules/glob": { - "version": "10.3.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.5.tgz", - "integrity": "sha512-bYUpUD7XDEHI4Q2O5a7PXGvyw4deKR70kHiDxzQbe925wbZknhOzUt2xBgTkYL6RBcVeXYuD9iNYeqoWbBZQnA==", + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", + "jackspeak": "^2.3.5", "minimatch": "^9.0.1", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", "path-scurry": "^1.10.1" }, "bin": { - "glob": "dist/cjs/src/bin.js" + "glob": "dist/esm/bin.mjs" }, "engines": { "node": ">=16 || 14 >=14.17" @@ -21306,9 +21310,9 @@ } }, "node_modules/libnpmpublish/node_modules/npm-registry-fetch": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.0.0.tgz", - "integrity": "sha512-JFCpAPUpvpwfSydv99u85yhP68rNIxSFmDpNbNnRWKSe3gpjHnWL8v320gATwRzjtgmZ9Jfe37+ZPOLZPwz6BQ==", + "version": "16.1.0", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.1.0.tgz", + "integrity": "sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==", "dev": true, "dependencies": { "make-fetch-happen": "^13.0.0", @@ -31713,9 +31717,9 @@ } }, "node_modules/write-pkg/node_modules/read-pkg/node_modules/type-fest": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.3.1.tgz", - "integrity": "sha512-pphNW/msgOUSkJbH58x8sqpq8uQj6b0ZKGxEsLKMUnGorRcDjrUaLS+39+/ub41JNTwrrMyJcUB8+YZs3mbwqw==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.4.0.tgz", + "integrity": "sha512-HT3RRs7sTfY22KuPQJkD/XjbTbxgP2Je5HPt6H6JEGvcjHd5Lqru75EbrP3tb4FYjNJ+DjLp+MNQTFQU0mhXNw==", "dev": true, "engines": { "node": ">=16" diff --git a/package.json b/package.json index cecf1bfc4..f8708fed1 100644 --- a/package.json +++ b/package.json @@ -60,11 +60,11 @@ }, "devDependencies": { "@babel/core": "7.23.0", - "@lerna-lite/cli": "2.5.1", - "@lerna-lite/exec": "2.5.1", - "@lerna-lite/publish": "2.5.1", - "@lerna-lite/run": "2.5.1", - "@lerna-lite/version": "2.5.1", + "@lerna-lite/cli": "2.6.0", + "@lerna-lite/exec": "2.6.0", + "@lerna-lite/publish": "2.6.0", + "@lerna-lite/run": "2.6.0", + "@lerna-lite/version": "2.6.0", "@open-wc/testing": "3.2.0", "@rollup/plugin-node-resolve": "15.1.0", "@storybook/addon-a11y": "7.4.6", From 3f906769fa1161059097d0fa59e49837f71f987f Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 17 Oct 2023 15:47:23 +0200 Subject: [PATCH 20/25] build(deps-dev): bump turbo from 1.10.12 to 1.10.15 --- package-lock.json | 91 ++++++++++++++++++++++++++++++++++++++++------- package.json | 2 +- 2 files changed, 80 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index 74526784c..b69a70c22 100644 --- a/package-lock.json +++ b/package-lock.json @@ -83,7 +83,7 @@ "rollup-plugin-postcss": "4.0.2", "storybook": "7.4.6", "tsc-files": "1.1.4", - "turbo": "^1.10.12", + "turbo": "1.10.15", "typescript": "5.2.2", "vite": "4.4.9", "vite-tsconfig-paths": "4.2.0", @@ -29906,33 +29906,100 @@ } }, "node_modules/turbo": { - "version": "1.10.13", + "version": "1.10.15", + "resolved": "https://registry.npmjs.org/turbo/-/turbo-1.10.15.tgz", + "integrity": "sha512-mKKkqsuDAQy1wCCIjCdG+jOCwUflhckDMSRoeBPcIL/CnCl7c5yRDFe7SyaXloUUkt4tUR0rvNIhVCcT7YeQpg==", "dev": true, - "license": "MPL-2.0", "bin": { "turbo": "bin/turbo" }, "optionalDependencies": { - "turbo-darwin-64": "1.10.13", - "turbo-darwin-arm64": "1.10.13", - "turbo-linux-64": "1.10.13", - "turbo-linux-arm64": "1.10.13", - "turbo-windows-64": "1.10.13", - "turbo-windows-arm64": "1.10.13" - } + "turbo-darwin-64": "1.10.15", + "turbo-darwin-arm64": "1.10.15", + "turbo-linux-64": "1.10.15", + "turbo-linux-arm64": "1.10.15", + "turbo-windows-64": "1.10.15", + "turbo-windows-arm64": "1.10.15" + } + }, + "node_modules/turbo-darwin-64": { + "version": "1.10.15", + "resolved": "https://registry.npmjs.org/turbo-darwin-64/-/turbo-darwin-64-1.10.15.tgz", + "integrity": "sha512-Sik5uogjkRTe1XVP9TC2GryEMOJCaKE2pM/O9uLn4koQDnWKGcLQv+mDU+H+9DXvKLnJnKCD18OVRkwK5tdpoA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] }, "node_modules/turbo-darwin-arm64": { - "version": "1.10.13", + "version": "1.10.15", + "resolved": "https://registry.npmjs.org/turbo-darwin-arm64/-/turbo-darwin-arm64-1.10.15.tgz", + "integrity": "sha512-xwqyFDYUcl2xwXyGPmHkmgnNm4Cy0oNzMpMOBGRr5x64SErS7QQLR4VHb0ubiR+VAb8M+ECPklU6vD1Gm+wekg==", "cpu": [ "arm64" ], "dev": true, - "license": "MPL-2.0", "optional": true, "os": [ "darwin" ] }, + "node_modules/turbo-linux-64": { + "version": "1.10.15", + "resolved": "https://registry.npmjs.org/turbo-linux-64/-/turbo-linux-64-1.10.15.tgz", + "integrity": "sha512-dM07SiO3RMAJ09Z+uB2LNUSkPp3I1IMF8goH5eLj+d8Kkwoxd/+qbUZOj9RvInyxU/IhlnO9w3PGd3Hp14m/nA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/turbo-linux-arm64": { + "version": "1.10.15", + "resolved": "https://registry.npmjs.org/turbo-linux-arm64/-/turbo-linux-arm64-1.10.15.tgz", + "integrity": "sha512-MkzKLkKYKyrz4lwfjNXH8aTny5+Hmiu4SFBZbx+5C0vOlyp6fV5jZANDBvLXWiDDL4DSEAuCEK/2cmN6FVH1ow==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/turbo-windows-64": { + "version": "1.10.15", + "resolved": "https://registry.npmjs.org/turbo-windows-64/-/turbo-windows-64-1.10.15.tgz", + "integrity": "sha512-3TdVU+WEH9ThvQGwV3ieX/XHebtYNHv9HARHauPwmVj3kakoALkpGxLclkHFBLdLKkqDvmHmXtcsfs6cXXRHJg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/turbo-windows-arm64": { + "version": "1.10.15", + "resolved": "https://registry.npmjs.org/turbo-windows-arm64/-/turbo-windows-arm64-1.10.15.tgz", + "integrity": "sha512-l+7UOBCbfadvPMYsX08hyLD+UIoAkg6ojfH+E8aud3gcA1padpjCJTh9gMpm3QdMbKwZteT5uUM+wyi6Rbbyww==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/type-check": { "version": "0.4.0", "dev": true, diff --git a/package.json b/package.json index f8708fed1..fd58c056b 100644 --- a/package.json +++ b/package.json @@ -126,7 +126,7 @@ "rollup-plugin-postcss": "4.0.2", "storybook": "7.4.6", "tsc-files": "1.1.4", - "turbo": "^1.10.12", + "turbo": "1.10.15", "typescript": "5.2.2", "vite": "4.4.9", "vite-tsconfig-paths": "4.2.0", From 6b8156bd780248500971799a6480df294e695974 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 17 Oct 2023 15:48:00 +0200 Subject: [PATCH 21/25] build(deps-dev): pin eslint-plugin-local-rules --- package-lock.json | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index b69a70c22..534f4260c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49,7 +49,7 @@ "eslint-plugin-import": "2.27.5", "eslint-plugin-lit": "1.9.1", "eslint-plugin-lit-a11y": "4.1.0", - "eslint-plugin-local-rules": "^2.0.0", + "eslint-plugin-local-rules": "2.0.0", "eslint-plugin-storybook": "0.6.15", "eslint-plugin-wc": "1.5.0", "github-markdown-css": "5.2.0", diff --git a/package.json b/package.json index fd58c056b..a359eb40f 100644 --- a/package.json +++ b/package.json @@ -92,7 +92,7 @@ "eslint-plugin-import": "2.27.5", "eslint-plugin-lit": "1.9.1", "eslint-plugin-lit-a11y": "4.1.0", - "eslint-plugin-local-rules": "^2.0.0", + "eslint-plugin-local-rules": "2.0.0", "eslint-plugin-storybook": "0.6.15", "eslint-plugin-wc": "1.5.0", "github-markdown-css": "5.2.0", From 2ff35a098ed8a3feb8ebed1bf43b4fbb75950d65 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Tue, 17 Oct 2023 15:48:28 +0200 Subject: [PATCH 22/25] v1.5.0-rc.1 --- CHANGELOG.md | 15 + lerna.json | 2 +- package-lock.json | 592 +++++++++--------- packages/uui-action-bar/CHANGELOG.md | 4 + packages/uui-action-bar/package.json | 6 +- packages/uui-avatar-group/CHANGELOG.md | 4 + packages/uui-avatar-group/package.json | 6 +- packages/uui-avatar/CHANGELOG.md | 4 + packages/uui-avatar/package.json | 4 +- packages/uui-badge/CHANGELOG.md | 4 + packages/uui-badge/package.json | 4 +- packages/uui-base/CHANGELOG.md | 4 + packages/uui-base/package.json | 2 +- packages/uui-boolean-input/CHANGELOG.md | 4 + packages/uui-boolean-input/package.json | 4 +- packages/uui-box/CHANGELOG.md | 4 + packages/uui-box/package.json | 4 +- packages/uui-breadcrumbs/CHANGELOG.md | 4 + packages/uui-breadcrumbs/package.json | 4 +- packages/uui-button-group/CHANGELOG.md | 4 + packages/uui-button-group/package.json | 4 +- .../uui-button-inline-create/CHANGELOG.md | 4 + .../uui-button-inline-create/package.json | 4 +- packages/uui-button/CHANGELOG.md | 4 + packages/uui-button/package.json | 6 +- packages/uui-card-content-node/CHANGELOG.md | 4 + packages/uui-card-content-node/package.json | 8 +- packages/uui-card-media/CHANGELOG.md | 4 + packages/uui-card-media/package.json | 10 +- packages/uui-card-user/CHANGELOG.md | 4 + packages/uui-card-user/package.json | 8 +- packages/uui-card/CHANGELOG.md | 4 + packages/uui-card/package.json | 4 +- packages/uui-caret/CHANGELOG.md | 4 + packages/uui-caret/package.json | 4 +- packages/uui-checkbox/CHANGELOG.md | 4 + packages/uui-checkbox/package.json | 8 +- packages/uui-color-area/CHANGELOG.md | 4 + packages/uui-color-area/package.json | 4 +- packages/uui-color-picker/CHANGELOG.md | 6 + packages/uui-color-picker/package.json | 4 +- packages/uui-color-slider/CHANGELOG.md | 4 + packages/uui-color-slider/package.json | 4 +- packages/uui-color-swatch/CHANGELOG.md | 4 + packages/uui-color-swatch/package.json | 6 +- packages/uui-color-swatches/CHANGELOG.md | 4 + packages/uui-color-swatches/package.json | 6 +- packages/uui-combobox-list/CHANGELOG.md | 4 + packages/uui-combobox-list/package.json | 4 +- packages/uui-combobox/CHANGELOG.md | 4 + packages/uui-combobox/package.json | 12 +- packages/uui-dialog-layout/CHANGELOG.md | 4 + packages/uui-dialog-layout/package.json | 4 +- packages/uui-dialog/CHANGELOG.md | 4 + packages/uui-dialog/package.json | 4 +- packages/uui-file-dropzone/CHANGELOG.md | 4 + packages/uui-file-dropzone/package.json | 6 +- packages/uui-file-preview/CHANGELOG.md | 4 + packages/uui-file-preview/package.json | 10 +- packages/uui-form-layout-item/CHANGELOG.md | 4 + packages/uui-form-layout-item/package.json | 6 +- .../uui-form-validation-message/CHANGELOG.md | 4 + .../uui-form-validation-message/package.json | 4 +- packages/uui-form/CHANGELOG.md | 4 + packages/uui-form/package.json | 4 +- .../uui-icon-registry-essential/CHANGELOG.md | 4 + .../uui-icon-registry-essential/package.json | 6 +- packages/uui-icon-registry/CHANGELOG.md | 4 + packages/uui-icon-registry/package.json | 6 +- packages/uui-icon/CHANGELOG.md | 6 + packages/uui-icon/package.json | 4 +- packages/uui-input-file/CHANGELOG.md | 4 + packages/uui-input-file/package.json | 14 +- packages/uui-input-lock/CHANGELOG.md | 4 + packages/uui-input-lock/package.json | 10 +- packages/uui-input-password/CHANGELOG.md | 4 + packages/uui-input-password/package.json | 8 +- packages/uui-input/CHANGELOG.md | 6 + packages/uui-input/package.json | 4 +- packages/uui-keyboard-shortcut/CHANGELOG.md | 4 + packages/uui-keyboard-shortcut/package.json | 4 +- packages/uui-label/CHANGELOG.md | 4 + packages/uui-label/package.json | 4 +- packages/uui-loader-bar/CHANGELOG.md | 4 + packages/uui-loader-bar/package.json | 4 +- packages/uui-loader-circle/CHANGELOG.md | 4 + packages/uui-loader-circle/package.json | 4 +- packages/uui-loader/CHANGELOG.md | 4 + packages/uui-loader/package.json | 4 +- packages/uui-menu-item/CHANGELOG.md | 4 + packages/uui-menu-item/package.json | 8 +- packages/uui-modal/CHANGELOG.md | 6 + packages/uui-modal/package.json | 4 +- packages/uui-pagination/CHANGELOG.md | 4 + packages/uui-pagination/package.json | 8 +- packages/uui-popover-container/CHANGELOG.md | 4 + packages/uui-popover-container/package.json | 4 +- packages/uui-popover/CHANGELOG.md | 4 + packages/uui-popover/package.json | 4 +- packages/uui-progress-bar/CHANGELOG.md | 4 + packages/uui-progress-bar/package.json | 4 +- packages/uui-radio/CHANGELOG.md | 4 + packages/uui-radio/package.json | 4 +- packages/uui-range-slider/CHANGELOG.md | 4 + packages/uui-range-slider/package.json | 4 +- packages/uui-ref-list/CHANGELOG.md | 4 + packages/uui-ref-list/package.json | 4 +- packages/uui-ref-node-data-type/CHANGELOG.md | 4 + packages/uui-ref-node-data-type/package.json | 6 +- .../uui-ref-node-document-type/CHANGELOG.md | 4 + .../uui-ref-node-document-type/package.json | 6 +- packages/uui-ref-node-form/CHANGELOG.md | 4 + packages/uui-ref-node-form/package.json | 6 +- packages/uui-ref-node-member/CHANGELOG.md | 4 + packages/uui-ref-node-member/package.json | 6 +- packages/uui-ref-node-package/CHANGELOG.md | 4 + packages/uui-ref-node-package/package.json | 6 +- packages/uui-ref-node-user/CHANGELOG.md | 4 + packages/uui-ref-node-user/package.json | 6 +- packages/uui-ref-node/CHANGELOG.md | 4 + packages/uui-ref-node/package.json | 8 +- packages/uui-ref/CHANGELOG.md | 4 + packages/uui-ref/package.json | 4 +- packages/uui-scroll-container/CHANGELOG.md | 4 + packages/uui-scroll-container/package.json | 4 +- packages/uui-select/CHANGELOG.md | 4 + packages/uui-select/package.json | 4 +- packages/uui-slider/CHANGELOG.md | 4 + packages/uui-slider/package.json | 4 +- packages/uui-symbol-expand/CHANGELOG.md | 4 + packages/uui-symbol-expand/package.json | 4 +- .../uui-symbol-file-dropzone/CHANGELOG.md | 4 + .../uui-symbol-file-dropzone/package.json | 4 +- .../uui-symbol-file-thumbnail/CHANGELOG.md | 4 + .../uui-symbol-file-thumbnail/package.json | 4 +- packages/uui-symbol-file/CHANGELOG.md | 4 + packages/uui-symbol-file/package.json | 4 +- packages/uui-symbol-folder/CHANGELOG.md | 4 + packages/uui-symbol-folder/package.json | 4 +- packages/uui-symbol-lock/CHANGELOG.md | 4 + packages/uui-symbol-lock/package.json | 4 +- packages/uui-symbol-more/CHANGELOG.md | 4 + packages/uui-symbol-more/package.json | 4 +- packages/uui-symbol-sort/CHANGELOG.md | 4 + packages/uui-symbol-sort/package.json | 4 +- packages/uui-table/CHANGELOG.md | 4 + packages/uui-table/package.json | 4 +- packages/uui-tabs/CHANGELOG.md | 10 + packages/uui-tabs/package.json | 10 +- packages/uui-tag/CHANGELOG.md | 4 + packages/uui-tag/package.json | 4 +- packages/uui-textarea/CHANGELOG.md | 4 + packages/uui-textarea/package.json | 4 +- .../CHANGELOG.md | 4 + .../package.json | 6 +- .../CHANGELOG.md | 4 + .../package.json | 4 +- packages/uui-toast-notification/CHANGELOG.md | 4 + packages/uui-toast-notification/package.json | 10 +- packages/uui-toggle/CHANGELOG.md | 4 + packages/uui-toggle/package.json | 6 +- packages/uui-visually-hidden/CHANGELOG.md | 10 + packages/uui-visually-hidden/package.json | 4 +- packages/uui/CHANGELOG.md | 6 + packages/uui/package.json | 160 ++--- 165 files changed, 952 insertions(+), 591 deletions(-) create mode 100644 packages/uui-visually-hidden/CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md index a95a338da..e32b20794 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,21 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +### Bug Fixes + +- fixing imports + story for hrefs ([#614](https://github.com/umbraco/Umbraco.UI/issues/614)) ([4bfb6a1](https://github.com/umbraco/Umbraco.UI/commit/4bfb6a1d866830b67139ed5f3ed8be09d60d28ac)) +- Modal close-end event, no more bubbling modal events ([#598](https://github.com/umbraco/Umbraco.UI/issues/598)) ([825d722](https://github.com/umbraco/Umbraco.UI/commit/825d722fd30d210a9363ed14c47cccd96811575f)) +- small bugfix for auto width not rendering ([#578](https://github.com/umbraco/Umbraco.UI/issues/578)) ([af8b738](https://github.com/umbraco/Umbraco.UI/commit/af8b738d7fdb4e819b6bc13fd31a881515b45cf8)) + +### Features + +- Add HSV as accepted color format ([#610](https://github.com/umbraco/Umbraco.UI/issues/610)) ([61c62e4](https://github.com/umbraco/Umbraco.UI/commit/61c62e43f03ff0b660d78035f369d3723386c841)) +- horizontal padding for uui-tab ([#579](https://github.com/umbraco/Umbraco.UI/issues/579)) ([8459fdb](https://github.com/umbraco/Umbraco.UI/commit/8459fdb5dca949680be3097fdf510966caaf78ce)) +- **uui-icon:** Set aria-hidden if no label has been set ([#612](https://github.com/umbraco/Umbraco.UI/issues/612)) ([ac11819](https://github.com/umbraco/Umbraco.UI/commit/ac118190aead6ccb586cc9de7de62bcb9d56201a)) +- Visually hidden component ([#593](https://github.com/umbraco/Umbraco.UI/issues/593)) ([875d46e](https://github.com/umbraco/Umbraco.UI/commit/875d46ed4c2b3224affb98cfd3a7d270e63349e8)) + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) ### Bug Fixes diff --git a/lerna.json b/lerna.json index 86c98367b..fd0e64051 100644 --- a/lerna.json +++ b/lerna.json @@ -1,6 +1,6 @@ { "packages": ["packages/*"], - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "npmClient": "npm", "useWorkspaces": true, "command": { diff --git a/package-lock.json b/package-lock.json index 534f4260c..88a7f263a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31982,128 +31982,128 @@ }, "packages/uui": { "name": "@umbraco-ui/uui", - "version": "1.5.0-rc.0", - "license": "MIT", - "dependencies": { - "@umbraco-ui/uui-action-bar": "1.5.0-rc.0", - "@umbraco-ui/uui-avatar": "1.5.0-rc.0", - "@umbraco-ui/uui-avatar-group": "1.5.0-rc.0", - "@umbraco-ui/uui-badge": "1.5.0-rc.0", - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-boolean-input": "1.5.0-rc.0", - "@umbraco-ui/uui-box": "1.5.0-rc.0", - "@umbraco-ui/uui-breadcrumbs": "1.5.0-rc.0", - "@umbraco-ui/uui-button": "1.5.0-rc.0", - "@umbraco-ui/uui-button-group": "1.5.0-rc.0", - "@umbraco-ui/uui-button-inline-create": "1.5.0-rc.0", - "@umbraco-ui/uui-card": "1.5.0-rc.0", - "@umbraco-ui/uui-card-content-node": "1.5.0-rc.0", - "@umbraco-ui/uui-card-media": "1.5.0-rc.0", - "@umbraco-ui/uui-card-user": "1.5.0-rc.0", - "@umbraco-ui/uui-caret": "1.5.0-rc.0", - "@umbraco-ui/uui-checkbox": "1.5.0-rc.0", - "@umbraco-ui/uui-color-area": "1.5.0-rc.0", - "@umbraco-ui/uui-color-picker": "1.5.0-rc.0", - "@umbraco-ui/uui-color-slider": "1.5.0-rc.0", - "@umbraco-ui/uui-color-swatch": "1.5.0-rc.0", - "@umbraco-ui/uui-color-swatches": "1.5.0-rc.0", - "@umbraco-ui/uui-combobox": "1.5.0-rc.0", - "@umbraco-ui/uui-combobox-list": "1.5.0-rc.0", + "version": "1.5.0-rc.1", + "license": "MIT", + "dependencies": { + "@umbraco-ui/uui-action-bar": "1.5.0-rc.1", + "@umbraco-ui/uui-avatar": "1.5.0-rc.1", + "@umbraco-ui/uui-avatar-group": "1.5.0-rc.1", + "@umbraco-ui/uui-badge": "1.5.0-rc.1", + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-boolean-input": "1.5.0-rc.1", + "@umbraco-ui/uui-box": "1.5.0-rc.1", + "@umbraco-ui/uui-breadcrumbs": "1.5.0-rc.1", + "@umbraco-ui/uui-button": "1.5.0-rc.1", + "@umbraco-ui/uui-button-group": "1.5.0-rc.1", + "@umbraco-ui/uui-button-inline-create": "1.5.0-rc.1", + "@umbraco-ui/uui-card": "1.5.0-rc.1", + "@umbraco-ui/uui-card-content-node": "1.5.0-rc.1", + "@umbraco-ui/uui-card-media": "1.5.0-rc.1", + "@umbraco-ui/uui-card-user": "1.5.0-rc.1", + "@umbraco-ui/uui-caret": "1.5.0-rc.1", + "@umbraco-ui/uui-checkbox": "1.5.0-rc.1", + "@umbraco-ui/uui-color-area": "1.5.0-rc.1", + "@umbraco-ui/uui-color-picker": "1.5.0-rc.1", + "@umbraco-ui/uui-color-slider": "1.5.0-rc.1", + "@umbraco-ui/uui-color-swatch": "1.5.0-rc.1", + "@umbraco-ui/uui-color-swatches": "1.5.0-rc.1", + "@umbraco-ui/uui-combobox": "1.5.0-rc.1", + "@umbraco-ui/uui-combobox-list": "1.5.0-rc.1", "@umbraco-ui/uui-css": "1.4.0", - "@umbraco-ui/uui-dialog": "1.5.0-rc.0", - "@umbraco-ui/uui-dialog-layout": "1.5.0-rc.0", - "@umbraco-ui/uui-file-dropzone": "1.5.0-rc.0", - "@umbraco-ui/uui-file-preview": "1.5.0-rc.0", - "@umbraco-ui/uui-form": "1.5.0-rc.0", - "@umbraco-ui/uui-form-layout-item": "1.5.0-rc.0", - "@umbraco-ui/uui-form-validation-message": "1.5.0-rc.0", - "@umbraco-ui/uui-icon": "1.5.0-rc.0", - "@umbraco-ui/uui-icon-registry": "1.5.0-rc.0", - "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.0", - "@umbraco-ui/uui-input": "1.5.0-rc.0", - "@umbraco-ui/uui-input-file": "1.5.0-rc.0", - "@umbraco-ui/uui-input-lock": "1.5.0-rc.0", - "@umbraco-ui/uui-input-password": "1.5.0-rc.0", - "@umbraco-ui/uui-keyboard-shortcut": "1.5.0-rc.0", - "@umbraco-ui/uui-label": "1.5.0-rc.0", - "@umbraco-ui/uui-loader": "1.5.0-rc.0", - "@umbraco-ui/uui-loader-bar": "1.5.0-rc.0", - "@umbraco-ui/uui-loader-circle": "1.5.0-rc.0", - "@umbraco-ui/uui-menu-item": "1.5.0-rc.0", - "@umbraco-ui/uui-modal": "1.5.0-rc.0", - "@umbraco-ui/uui-pagination": "1.5.0-rc.0", - "@umbraco-ui/uui-popover": "1.5.0-rc.0", - "@umbraco-ui/uui-popover-container": "1.5.0-rc.0", - "@umbraco-ui/uui-progress-bar": "1.5.0-rc.0", - "@umbraco-ui/uui-radio": "1.5.0-rc.0", - "@umbraco-ui/uui-range-slider": "1.5.0-rc.0", - "@umbraco-ui/uui-ref": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-list": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node-data-type": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node-document-type": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node-form": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node-member": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node-package": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node-user": "1.5.0-rc.0", - "@umbraco-ui/uui-scroll-container": "1.5.0-rc.0", - "@umbraco-ui/uui-select": "1.5.0-rc.0", - "@umbraco-ui/uui-slider": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-expand": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-file": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-file-dropzone": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-file-thumbnail": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-folder": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-lock": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-more": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-sort": "1.5.0-rc.0", - "@umbraco-ui/uui-table": "1.5.0-rc.0", - "@umbraco-ui/uui-tabs": "1.5.0-rc.0", - "@umbraco-ui/uui-tag": "1.5.0-rc.0", - "@umbraco-ui/uui-textarea": "1.5.0-rc.0", - "@umbraco-ui/uui-toast-notification": "1.5.0-rc.0", - "@umbraco-ui/uui-toast-notification-container": "1.5.0-rc.0", - "@umbraco-ui/uui-toast-notification-layout": "1.5.0-rc.0", - "@umbraco-ui/uui-toggle": "1.5.0-rc.0" + "@umbraco-ui/uui-dialog": "1.5.0-rc.1", + "@umbraco-ui/uui-dialog-layout": "1.5.0-rc.1", + "@umbraco-ui/uui-file-dropzone": "1.5.0-rc.1", + "@umbraco-ui/uui-file-preview": "1.5.0-rc.1", + "@umbraco-ui/uui-form": "1.5.0-rc.1", + "@umbraco-ui/uui-form-layout-item": "1.5.0-rc.1", + "@umbraco-ui/uui-form-validation-message": "1.5.0-rc.1", + "@umbraco-ui/uui-icon": "1.5.0-rc.1", + "@umbraco-ui/uui-icon-registry": "1.5.0-rc.1", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.1", + "@umbraco-ui/uui-input": "1.5.0-rc.1", + "@umbraco-ui/uui-input-file": "1.5.0-rc.1", + "@umbraco-ui/uui-input-lock": "1.5.0-rc.1", + "@umbraco-ui/uui-input-password": "1.5.0-rc.1", + "@umbraco-ui/uui-keyboard-shortcut": "1.5.0-rc.1", + "@umbraco-ui/uui-label": "1.5.0-rc.1", + "@umbraco-ui/uui-loader": "1.5.0-rc.1", + "@umbraco-ui/uui-loader-bar": "1.5.0-rc.1", + "@umbraco-ui/uui-loader-circle": "1.5.0-rc.1", + "@umbraco-ui/uui-menu-item": "1.5.0-rc.1", + "@umbraco-ui/uui-modal": "1.5.0-rc.1", + "@umbraco-ui/uui-pagination": "1.5.0-rc.1", + "@umbraco-ui/uui-popover": "1.5.0-rc.1", + "@umbraco-ui/uui-popover-container": "1.5.0-rc.1", + "@umbraco-ui/uui-progress-bar": "1.5.0-rc.1", + "@umbraco-ui/uui-radio": "1.5.0-rc.1", + "@umbraco-ui/uui-range-slider": "1.5.0-rc.1", + "@umbraco-ui/uui-ref": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-list": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node-data-type": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node-document-type": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node-form": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node-member": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node-package": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node-user": "1.5.0-rc.1", + "@umbraco-ui/uui-scroll-container": "1.5.0-rc.1", + "@umbraco-ui/uui-select": "1.5.0-rc.1", + "@umbraco-ui/uui-slider": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-expand": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-file": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-file-dropzone": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-file-thumbnail": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-folder": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-lock": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-more": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-sort": "1.5.0-rc.1", + "@umbraco-ui/uui-table": "1.5.0-rc.1", + "@umbraco-ui/uui-tabs": "1.5.0-rc.1", + "@umbraco-ui/uui-tag": "1.5.0-rc.1", + "@umbraco-ui/uui-textarea": "1.5.0-rc.1", + "@umbraco-ui/uui-toast-notification": "1.5.0-rc.1", + "@umbraco-ui/uui-toast-notification-container": "1.5.0-rc.1", + "@umbraco-ui/uui-toast-notification-layout": "1.5.0-rc.1", + "@umbraco-ui/uui-toggle": "1.5.0-rc.1" } }, "packages/uui-action-bar": { "name": "@umbraco-ui/uui-action-bar", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-button-group": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-button-group": "1.5.0-rc.1" } }, "packages/uui-avatar": { "name": "@umbraco-ui/uui-avatar", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-avatar-group": { "name": "@umbraco-ui/uui-avatar-group", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-avatar": "1.5.0-rc.0", - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-avatar": "1.5.0-rc.1", + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-badge": { "name": "@umbraco-ui/uui-badge", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-base": { "name": "@umbraco-ui/uui-base", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { "lit": "^2.3.1" @@ -32111,174 +32111,174 @@ }, "packages/uui-boolean-input": { "name": "@umbraco-ui/uui-boolean-input", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-box": { "name": "@umbraco-ui/uui-box", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", + "@umbraco-ui/uui-base": "1.5.0-rc.1", "@umbraco-ui/uui-css": "1.4.0" } }, "packages/uui-breadcrumbs": { "name": "@umbraco-ui/uui-breadcrumbs", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-button": { "name": "@umbraco-ui/uui-button", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.1" } }, "packages/uui-button-group": { "name": "@umbraco-ui/uui-button-group", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-button-inline-create": { "name": "@umbraco-ui/uui-button-inline-create", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-card": { "name": "@umbraco-ui/uui-card", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-card-content-node": { "name": "@umbraco-ui/uui-card-content-node", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-card": "1.5.0-rc.0", - "@umbraco-ui/uui-icon": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-card": "1.5.0-rc.1", + "@umbraco-ui/uui-icon": "1.5.0-rc.1" } }, "packages/uui-card-media": { "name": "@umbraco-ui/uui-card-media", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-card": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-file": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-folder": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-card": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-file": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-folder": "1.5.0-rc.1" } }, "packages/uui-card-user": { "name": "@umbraco-ui/uui-card-user", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-avatar": "1.5.0-rc.0", - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-card": "1.5.0-rc.0" + "@umbraco-ui/uui-avatar": "1.5.0-rc.1", + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-card": "1.5.0-rc.1" } }, "packages/uui-caret": { "name": "@umbraco-ui/uui-caret", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-checkbox": { "name": "@umbraco-ui/uui-checkbox", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-boolean-input": "1.5.0-rc.0", - "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-boolean-input": "1.5.0-rc.1", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.1" } }, "packages/uui-color-area": { "name": "@umbraco-ui/uui-color-area", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", + "@umbraco-ui/uui-base": "1.5.0-rc.1", "colord": "^2.9.3" } }, "packages/uui-color-picker": { "name": "@umbraco-ui/uui-color-picker", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", + "@umbraco-ui/uui-base": "1.5.0-rc.1", "colord": "^2.9.3" } }, "packages/uui-color-slider": { "name": "@umbraco-ui/uui-color-slider", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-color-swatch": { "name": "@umbraco-ui/uui-color-swatch", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.0", + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.1", "colord": "^2.9.3" } }, "packages/uui-color-swatches": { "name": "@umbraco-ui/uui-color-swatches", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-color-swatch": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-color-swatch": "1.5.0-rc.1" } }, "packages/uui-combobox": { "name": "@umbraco-ui/uui-combobox", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-button": "1.5.0-rc.0", - "@umbraco-ui/uui-combobox-list": "1.5.0-rc.0", - "@umbraco-ui/uui-icon": "1.5.0-rc.0", - "@umbraco-ui/uui-scroll-container": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-button": "1.5.0-rc.1", + "@umbraco-ui/uui-combobox-list": "1.5.0-rc.1", + "@umbraco-ui/uui-icon": "1.5.0-rc.1", + "@umbraco-ui/uui-scroll-container": "1.5.0-rc.1" } }, "packages/uui-combobox-list": { "name": "@umbraco-ui/uui-combobox-list", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-css": { @@ -32291,490 +32291,490 @@ }, "packages/uui-dialog": { "name": "@umbraco-ui/uui-dialog", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", + "@umbraco-ui/uui-base": "1.5.0-rc.1", "@umbraco-ui/uui-css": "1.4.0" } }, "packages/uui-dialog-layout": { "name": "@umbraco-ui/uui-dialog-layout", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-file-dropzone": { "name": "@umbraco-ui/uui-file-dropzone", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-file-dropzone": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-file-dropzone": "1.5.0-rc.1" } }, "packages/uui-file-preview": { "name": "@umbraco-ui/uui-file-preview", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-file": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-file-thumbnail": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-folder": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-file": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-file-thumbnail": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-folder": "1.5.0-rc.1" } }, "packages/uui-form": { "name": "@umbraco-ui/uui-form", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-form-layout-item": { "name": "@umbraco-ui/uui-form-layout-item", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-form-validation-message": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-form-validation-message": "1.5.0-rc.1" } }, "packages/uui-form-validation-message": { "name": "@umbraco-ui/uui-form-validation-message", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-icon": { "name": "@umbraco-ui/uui-icon", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-icon-registry": { "name": "@umbraco-ui/uui-icon-registry", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-icon": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-icon": "1.5.0-rc.1" } }, "packages/uui-icon-registry-essential": { "name": "@umbraco-ui/uui-icon-registry-essential", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-icon-registry": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-icon-registry": "1.5.0-rc.1" } }, "packages/uui-input": { "name": "@umbraco-ui/uui-input", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-input-file": { "name": "@umbraco-ui/uui-input-file", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-action-bar": "1.5.0-rc.0", - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-button": "1.5.0-rc.0", - "@umbraco-ui/uui-file-dropzone": "1.5.0-rc.0", - "@umbraco-ui/uui-icon": "1.5.0-rc.0", - "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.0" + "@umbraco-ui/uui-action-bar": "1.5.0-rc.1", + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-button": "1.5.0-rc.1", + "@umbraco-ui/uui-file-dropzone": "1.5.0-rc.1", + "@umbraco-ui/uui-icon": "1.5.0-rc.1", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.1" } }, "packages/uui-input-lock": { "name": "@umbraco-ui/uui-input-lock", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-button": "1.5.0-rc.0", - "@umbraco-ui/uui-icon": "1.5.0-rc.0", - "@umbraco-ui/uui-input": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-button": "1.5.0-rc.1", + "@umbraco-ui/uui-icon": "1.5.0-rc.1", + "@umbraco-ui/uui-input": "1.5.0-rc.1" } }, "packages/uui-input-password": { "name": "@umbraco-ui/uui-input-password", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.0", - "@umbraco-ui/uui-input": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.1", + "@umbraco-ui/uui-input": "1.5.0-rc.1" } }, "packages/uui-keyboard-shortcut": { "name": "@umbraco-ui/uui-keyboard-shortcut", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-label": { "name": "@umbraco-ui/uui-label", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-loader": { "name": "@umbraco-ui/uui-loader", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-loader-bar": { "name": "@umbraco-ui/uui-loader-bar", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-loader-circle": { "name": "@umbraco-ui/uui-loader-circle", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-menu-item": { "name": "@umbraco-ui/uui-menu-item", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-loader-bar": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-expand": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-loader-bar": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-expand": "1.5.0-rc.1" } }, "packages/uui-modal": { "name": "@umbraco-ui/uui-modal", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-pagination": { "name": "@umbraco-ui/uui-pagination", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-button": "1.5.0-rc.0", - "@umbraco-ui/uui-button-group": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-button": "1.5.0-rc.1", + "@umbraco-ui/uui-button-group": "1.5.0-rc.1" } }, "packages/uui-popover": { "name": "@umbraco-ui/uui-popover", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-popover-container": { "name": "@umbraco-ui/uui-popover-container", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-progress-bar": { "name": "@umbraco-ui/uui-progress-bar", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-radio": { "name": "@umbraco-ui/uui-radio", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-range-slider": { "name": "@umbraco-ui/uui-range-slider", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-ref": { "name": "@umbraco-ui/uui-ref", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-ref-list": { "name": "@umbraco-ui/uui-ref-list", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-ref-node": { "name": "@umbraco-ui/uui-ref-node", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-icon": "1.5.0-rc.0", - "@umbraco-ui/uui-ref": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-icon": "1.5.0-rc.1", + "@umbraco-ui/uui-ref": "1.5.0-rc.1" } }, "packages/uui-ref-node-data-type": { "name": "@umbraco-ui/uui-ref-node-data-type", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node": "1.5.0-rc.1" } }, "packages/uui-ref-node-document-type": { "name": "@umbraco-ui/uui-ref-node-document-type", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node": "1.5.0-rc.1" } }, "packages/uui-ref-node-form": { "name": "@umbraco-ui/uui-ref-node-form", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node": "1.5.0-rc.1" } }, "packages/uui-ref-node-member": { "name": "@umbraco-ui/uui-ref-node-member", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node": "1.5.0-rc.1" } }, "packages/uui-ref-node-package": { "name": "@umbraco-ui/uui-ref-node-package", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node": "1.5.0-rc.1" } }, "packages/uui-ref-node-user": { "name": "@umbraco-ui/uui-ref-node-user", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node": "1.5.0-rc.1" } }, "packages/uui-scroll-container": { "name": "@umbraco-ui/uui-scroll-container", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-select": { "name": "@umbraco-ui/uui-select", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-slider": { "name": "@umbraco-ui/uui-slider", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-symbol-expand": { "name": "@umbraco-ui/uui-symbol-expand", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-symbol-file": { "name": "@umbraco-ui/uui-symbol-file", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-symbol-file-dropzone": { "name": "@umbraco-ui/uui-symbol-file-dropzone", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-symbol-file-thumbnail": { "name": "@umbraco-ui/uui-symbol-file-thumbnail", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-symbol-folder": { "name": "@umbraco-ui/uui-symbol-folder", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-symbol-lock": { "name": "@umbraco-ui/uui-symbol-lock", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-symbol-more": { "name": "@umbraco-ui/uui-symbol-more", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-symbol-sort": { "name": "@umbraco-ui/uui-symbol-sort", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-table": { "name": "@umbraco-ui/uui-table", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-tabs": { "name": "@umbraco-ui/uui-tabs", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-button": "1.5.0-rc.0", - "@umbraco-ui/uui-popover-container": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-more": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-button": "1.5.0-rc.1", + "@umbraco-ui/uui-popover-container": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-more": "1.5.0-rc.1" } }, "packages/uui-tag": { "name": "@umbraco-ui/uui-tag", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-textarea": { "name": "@umbraco-ui/uui-textarea", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } }, "packages/uui-toast-notification": { "name": "@umbraco-ui/uui-toast-notification", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-button": "1.5.0-rc.0", + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-button": "1.5.0-rc.1", "@umbraco-ui/uui-css": "1.4.0", - "@umbraco-ui/uui-icon": "1.5.0-rc.0", - "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.0" + "@umbraco-ui/uui-icon": "1.5.0-rc.1", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.1" } }, "packages/uui-toast-notification-container": { "name": "@umbraco-ui/uui-toast-notification-container", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-toast-notification": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-toast-notification": "1.5.0-rc.1" } }, "packages/uui-toast-notification-layout": { "name": "@umbraco-ui/uui-toast-notification-layout", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", + "@umbraco-ui/uui-base": "1.5.0-rc.1", "@umbraco-ui/uui-css": "1.4.0" } }, "packages/uui-toggle": { "name": "@umbraco-ui/uui-toggle", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-boolean-input": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-boolean-input": "1.5.0-rc.1" } }, "packages/uui-visually-hidden": { "name": "@umbraco-ui/uui-visually-hidden", - "version": "0.0.0", + "version": "1.5.0-rc.1", "license": "MIT", "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" } } } diff --git a/packages/uui-action-bar/CHANGELOG.md b/packages/uui-action-bar/CHANGELOG.md index c91cd2445..2bf9bf9c8 100644 --- a/packages/uui-action-bar/CHANGELOG.md +++ b/packages/uui-action-bar/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-action-bar + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-action-bar diff --git a/packages/uui-action-bar/package.json b/packages/uui-action-bar/package.json index fd731b94d..c15297195 100644 --- a/packages/uui-action-bar/package.json +++ b/packages/uui-action-bar/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-action-bar", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,8 +30,8 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-button-group": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-button-group": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-avatar-group/CHANGELOG.md b/packages/uui-avatar-group/CHANGELOG.md index 1d8ed6d68..806603539 100644 --- a/packages/uui-avatar-group/CHANGELOG.md +++ b/packages/uui-avatar-group/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-avatar-group + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-avatar-group diff --git a/packages/uui-avatar-group/package.json b/packages/uui-avatar-group/package.json index 89c8ea7fc..533993c73 100644 --- a/packages/uui-avatar-group/package.json +++ b/packages/uui-avatar-group/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-avatar-group", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,8 +30,8 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-avatar": "1.5.0-rc.0", - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-avatar": "1.5.0-rc.1", + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-avatar/CHANGELOG.md b/packages/uui-avatar/CHANGELOG.md index 959ea109d..c741ee3c7 100644 --- a/packages/uui-avatar/CHANGELOG.md +++ b/packages/uui-avatar/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-avatar + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-avatar diff --git a/packages/uui-avatar/package.json b/packages/uui-avatar/package.json index baf558bd3..2fd8e51ee 100644 --- a/packages/uui-avatar/package.json +++ b/packages/uui-avatar/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-avatar", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "description": "An avatar web component for displaying user avatars.", "keywords": [ @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-badge/CHANGELOG.md b/packages/uui-badge/CHANGELOG.md index 0551b1ddd..be00c5a07 100644 --- a/packages/uui-badge/CHANGELOG.md +++ b/packages/uui-badge/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-badge + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-badge diff --git a/packages/uui-badge/package.json b/packages/uui-badge/package.json index 365cd0cd4..8ba3a3304 100644 --- a/packages/uui-badge/package.json +++ b/packages/uui-badge/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-badge", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "description": "A badge to notify that there is something that requires attention of the user.", "keywords": [ @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-base/CHANGELOG.md b/packages/uui-base/CHANGELOG.md index 493252738..10863cb9f 100644 --- a/packages/uui-base/CHANGELOG.md +++ b/packages/uui-base/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-base + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) ### Bug Fixes diff --git a/packages/uui-base/package.json b/packages/uui-base/package.json index 6217f2169..6e4c9bd66 100644 --- a/packages/uui-base/package.json +++ b/packages/uui-base/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-base", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", diff --git a/packages/uui-boolean-input/CHANGELOG.md b/packages/uui-boolean-input/CHANGELOG.md index 46bd872ed..e14c190b6 100644 --- a/packages/uui-boolean-input/CHANGELOG.md +++ b/packages/uui-boolean-input/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-boolean-input + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-boolean-input diff --git a/packages/uui-boolean-input/package.json b/packages/uui-boolean-input/package.json index 3645afa44..21216eeb0 100644 --- a/packages/uui-boolean-input/package.json +++ b/packages/uui-boolean-input/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-boolean-input", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-box/CHANGELOG.md b/packages/uui-box/CHANGELOG.md index cb3479a9d..6f58b89a3 100644 --- a/packages/uui-box/CHANGELOG.md +++ b/packages/uui-box/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-box + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) ### Features diff --git a/packages/uui-box/package.json b/packages/uui-box/package.json index f62fa26dd..cb6fc443e 100644 --- a/packages/uui-box/package.json +++ b/packages/uui-box/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-box", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "description": "A box web component for grouping elements", "keywords": [ @@ -29,7 +29,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", + "@umbraco-ui/uui-base": "1.5.0-rc.1", "@umbraco-ui/uui-css": "1.4.0" }, "scripts": { diff --git a/packages/uui-breadcrumbs/CHANGELOG.md b/packages/uui-breadcrumbs/CHANGELOG.md index 4e574a67e..7f38697d3 100644 --- a/packages/uui-breadcrumbs/CHANGELOG.md +++ b/packages/uui-breadcrumbs/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-breadcrumbs + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-breadcrumbs diff --git a/packages/uui-breadcrumbs/package.json b/packages/uui-breadcrumbs/package.json index 540487a4f..7d94e6584 100644 --- a/packages/uui-breadcrumbs/package.json +++ b/packages/uui-breadcrumbs/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-breadcrumbs", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -32,7 +32,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-button-group/CHANGELOG.md b/packages/uui-button-group/CHANGELOG.md index e420feb54..98182026c 100644 --- a/packages/uui-button-group/CHANGELOG.md +++ b/packages/uui-button-group/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-button-group + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-button-group diff --git a/packages/uui-button-group/package.json b/packages/uui-button-group/package.json index 0bcc37067..76cdffea6 100644 --- a/packages/uui-button-group/package.json +++ b/packages/uui-button-group/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-button-group", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "description": "An element to group buttons.", "keywords": [ @@ -31,7 +31,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-button-inline-create/CHANGELOG.md b/packages/uui-button-inline-create/CHANGELOG.md index 3ad5f9d55..ebd2b2f30 100644 --- a/packages/uui-button-inline-create/CHANGELOG.md +++ b/packages/uui-button-inline-create/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-button-inline-create + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-button-inline-create diff --git a/packages/uui-button-inline-create/package.json b/packages/uui-button-inline-create/package.json index 9c8e18de1..d7d7b5601 100644 --- a/packages/uui-button-inline-create/package.json +++ b/packages/uui-button-inline-create/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-button-inline-create", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-button/CHANGELOG.md b/packages/uui-button/CHANGELOG.md index 825aa015f..01829da58 100644 --- a/packages/uui-button/CHANGELOG.md +++ b/packages/uui-button/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-button + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) ### Bug Fixes diff --git a/packages/uui-button/package.json b/packages/uui-button/package.json index d40381a4d..d48d8bf5a 100644 --- a/packages/uui-button/package.json +++ b/packages/uui-button/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-button", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "description": "All-round button, Umbraco backoffice style.", "keywords": [ @@ -30,8 +30,8 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-card-content-node/CHANGELOG.md b/packages/uui-card-content-node/CHANGELOG.md index 747dd6e7b..56b76bbfe 100644 --- a/packages/uui-card-content-node/CHANGELOG.md +++ b/packages/uui-card-content-node/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-card-content-node + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-card-content-node diff --git a/packages/uui-card-content-node/package.json b/packages/uui-card-content-node/package.json index 9d6e91804..28fea05fc 100644 --- a/packages/uui-card-content-node/package.json +++ b/packages/uui-card-content-node/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-card-content-node", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,9 +30,9 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-card": "1.5.0-rc.0", - "@umbraco-ui/uui-icon": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-card": "1.5.0-rc.1", + "@umbraco-ui/uui-icon": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-card-media/CHANGELOG.md b/packages/uui-card-media/CHANGELOG.md index e9558f5ba..22941c393 100644 --- a/packages/uui-card-media/CHANGELOG.md +++ b/packages/uui-card-media/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-card-media + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-card-media diff --git a/packages/uui-card-media/package.json b/packages/uui-card-media/package.json index 7bd47cadd..02bab1b14 100644 --- a/packages/uui-card-media/package.json +++ b/packages/uui-card-media/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-card-media", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,10 +30,10 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-card": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-file": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-folder": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-card": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-file": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-folder": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-card-user/CHANGELOG.md b/packages/uui-card-user/CHANGELOG.md index 0a737cade..f313e3ef4 100644 --- a/packages/uui-card-user/CHANGELOG.md +++ b/packages/uui-card-user/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-card-user + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-card-user diff --git a/packages/uui-card-user/package.json b/packages/uui-card-user/package.json index cb10c0fce..e7f9fb850 100644 --- a/packages/uui-card-user/package.json +++ b/packages/uui-card-user/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-card-user", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -31,9 +31,9 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-avatar": "1.5.0-rc.0", - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-card": "1.5.0-rc.0" + "@umbraco-ui/uui-avatar": "1.5.0-rc.1", + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-card": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-card/CHANGELOG.md b/packages/uui-card/CHANGELOG.md index a57a50335..02d96c2ed 100644 --- a/packages/uui-card/CHANGELOG.md +++ b/packages/uui-card/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-card + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) ### Bug Fixes diff --git a/packages/uui-card/package.json b/packages/uui-card/package.json index 8c50bdbf0..30dd3834a 100644 --- a/packages/uui-card/package.json +++ b/packages/uui-card/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-card", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-caret/CHANGELOG.md b/packages/uui-caret/CHANGELOG.md index fcf184177..e51d3d433 100644 --- a/packages/uui-caret/CHANGELOG.md +++ b/packages/uui-caret/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-caret + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-caret diff --git a/packages/uui-caret/package.json b/packages/uui-caret/package.json index 16a359315..e849b0545 100644 --- a/packages/uui-caret/package.json +++ b/packages/uui-caret/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-caret", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-checkbox/CHANGELOG.md b/packages/uui-checkbox/CHANGELOG.md index 5b736f772..ed8c4ccbc 100644 --- a/packages/uui-checkbox/CHANGELOG.md +++ b/packages/uui-checkbox/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-checkbox + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-checkbox diff --git a/packages/uui-checkbox/package.json b/packages/uui-checkbox/package.json index c6f06ef99..f4aff7cd5 100644 --- a/packages/uui-checkbox/package.json +++ b/packages/uui-checkbox/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-checkbox", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -33,9 +33,9 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-boolean-input": "1.5.0-rc.0", - "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-boolean-input": "1.5.0-rc.1", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-color-area/CHANGELOG.md b/packages/uui-color-area/CHANGELOG.md index 89d896b19..67aac8836 100644 --- a/packages/uui-color-area/CHANGELOG.md +++ b/packages/uui-color-area/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-color-area + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) ### Bug Fixes diff --git a/packages/uui-color-area/package.json b/packages/uui-color-area/package.json index 0cd9cb721..31f64c809 100644 --- a/packages/uui-color-area/package.json +++ b/packages/uui-color-area/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-color-area", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", + "@umbraco-ui/uui-base": "1.5.0-rc.1", "colord": "^2.9.3" }, "scripts": { diff --git a/packages/uui-color-picker/CHANGELOG.md b/packages/uui-color-picker/CHANGELOG.md index d0d75a219..dd2994ce6 100644 --- a/packages/uui-color-picker/CHANGELOG.md +++ b/packages/uui-color-picker/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +### Features + +- Add HSV as accepted color format ([#610](https://github.com/umbraco/Umbraco.UI/issues/610)) ([61c62e4](https://github.com/umbraco/Umbraco.UI/commit/61c62e43f03ff0b660d78035f369d3723386c841)) + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-color-picker diff --git a/packages/uui-color-picker/package.json b/packages/uui-color-picker/package.json index d3c3adac5..10bc6951e 100644 --- a/packages/uui-color-picker/package.json +++ b/packages/uui-color-picker/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-color-picker", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", + "@umbraco-ui/uui-base": "1.5.0-rc.1", "colord": "^2.9.3" }, "scripts": { diff --git a/packages/uui-color-slider/CHANGELOG.md b/packages/uui-color-slider/CHANGELOG.md index 880167711..3716960cb 100644 --- a/packages/uui-color-slider/CHANGELOG.md +++ b/packages/uui-color-slider/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-color-slider + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-color-slider diff --git a/packages/uui-color-slider/package.json b/packages/uui-color-slider/package.json index 01c856dc5..196cbba79 100644 --- a/packages/uui-color-slider/package.json +++ b/packages/uui-color-slider/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-color-slider", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-color-swatch/CHANGELOG.md b/packages/uui-color-swatch/CHANGELOG.md index b53fb7c41..77ab59d0a 100644 --- a/packages/uui-color-swatch/CHANGELOG.md +++ b/packages/uui-color-swatch/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-color-swatch + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-color-swatch diff --git a/packages/uui-color-swatch/package.json b/packages/uui-color-swatch/package.json index 5e85aad5f..a0144877c 100644 --- a/packages/uui-color-swatch/package.json +++ b/packages/uui-color-swatch/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-color-swatch", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,8 +30,8 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.0", + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.1", "colord": "^2.9.3" }, "scripts": { diff --git a/packages/uui-color-swatches/CHANGELOG.md b/packages/uui-color-swatches/CHANGELOG.md index 021860427..d72d791d0 100644 --- a/packages/uui-color-swatches/CHANGELOG.md +++ b/packages/uui-color-swatches/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-color-swatches + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-color-swatches diff --git a/packages/uui-color-swatches/package.json b/packages/uui-color-swatches/package.json index 01ca4c430..26a351f6d 100644 --- a/packages/uui-color-swatches/package.json +++ b/packages/uui-color-swatches/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-color-swatches", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,8 +30,8 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-color-swatch": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-color-swatch": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-combobox-list/CHANGELOG.md b/packages/uui-combobox-list/CHANGELOG.md index 9ee85dd80..d32df3a0d 100644 --- a/packages/uui-combobox-list/CHANGELOG.md +++ b/packages/uui-combobox-list/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-combobox-list + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-combobox-list diff --git a/packages/uui-combobox-list/package.json b/packages/uui-combobox-list/package.json index bbd4a824b..9b9c9b534 100644 --- a/packages/uui-combobox-list/package.json +++ b/packages/uui-combobox-list/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-combobox-list", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-combobox/CHANGELOG.md b/packages/uui-combobox/CHANGELOG.md index 8836fd4df..944eb1ccc 100644 --- a/packages/uui-combobox/CHANGELOG.md +++ b/packages/uui-combobox/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-combobox + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-combobox diff --git a/packages/uui-combobox/package.json b/packages/uui-combobox/package.json index 25fb11d08..efc6fc0e9 100644 --- a/packages/uui-combobox/package.json +++ b/packages/uui-combobox/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-combobox", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,11 +30,11 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-button": "1.5.0-rc.0", - "@umbraco-ui/uui-combobox-list": "1.5.0-rc.0", - "@umbraco-ui/uui-icon": "1.5.0-rc.0", - "@umbraco-ui/uui-scroll-container": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-button": "1.5.0-rc.1", + "@umbraco-ui/uui-combobox-list": "1.5.0-rc.1", + "@umbraco-ui/uui-icon": "1.5.0-rc.1", + "@umbraco-ui/uui-scroll-container": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-dialog-layout/CHANGELOG.md b/packages/uui-dialog-layout/CHANGELOG.md index 05b1193cf..a57eaecfe 100644 --- a/packages/uui-dialog-layout/CHANGELOG.md +++ b/packages/uui-dialog-layout/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-dialog-layout + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-dialog-layout diff --git a/packages/uui-dialog-layout/package.json b/packages/uui-dialog-layout/package.json index f249cf763..e135ee644 100644 --- a/packages/uui-dialog-layout/package.json +++ b/packages/uui-dialog-layout/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-dialog-layout", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-dialog/CHANGELOG.md b/packages/uui-dialog/CHANGELOG.md index 2d27586fb..ee2522ece 100644 --- a/packages/uui-dialog/CHANGELOG.md +++ b/packages/uui-dialog/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-dialog + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-dialog diff --git a/packages/uui-dialog/package.json b/packages/uui-dialog/package.json index 5b3e3e859..01c3ada8d 100644 --- a/packages/uui-dialog/package.json +++ b/packages/uui-dialog/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-dialog", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", + "@umbraco-ui/uui-base": "1.5.0-rc.1", "@umbraco-ui/uui-css": "1.4.0" }, "scripts": { diff --git a/packages/uui-file-dropzone/CHANGELOG.md b/packages/uui-file-dropzone/CHANGELOG.md index 766079608..d7318e5b9 100644 --- a/packages/uui-file-dropzone/CHANGELOG.md +++ b/packages/uui-file-dropzone/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-file-dropzone + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) ### Bug Fixes diff --git a/packages/uui-file-dropzone/package.json b/packages/uui-file-dropzone/package.json index 6beed309e..fd0f87c74 100644 --- a/packages/uui-file-dropzone/package.json +++ b/packages/uui-file-dropzone/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-file-dropzone", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,8 +30,8 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-file-dropzone": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-file-dropzone": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-file-preview/CHANGELOG.md b/packages/uui-file-preview/CHANGELOG.md index 6bd3ce659..4f4e709a1 100644 --- a/packages/uui-file-preview/CHANGELOG.md +++ b/packages/uui-file-preview/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-file-preview + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-file-preview diff --git a/packages/uui-file-preview/package.json b/packages/uui-file-preview/package.json index 4e43ec03e..2374687ed 100644 --- a/packages/uui-file-preview/package.json +++ b/packages/uui-file-preview/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-file-preview", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,10 +30,10 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-file": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-file-thumbnail": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-folder": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-file": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-file-thumbnail": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-folder": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-form-layout-item/CHANGELOG.md b/packages/uui-form-layout-item/CHANGELOG.md index e034b412a..dbc11bfcb 100644 --- a/packages/uui-form-layout-item/CHANGELOG.md +++ b/packages/uui-form-layout-item/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-form-layout-item + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-form-layout-item diff --git a/packages/uui-form-layout-item/package.json b/packages/uui-form-layout-item/package.json index 94486be54..c8f31aa40 100644 --- a/packages/uui-form-layout-item/package.json +++ b/packages/uui-form-layout-item/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-form-layout-item", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,8 +30,8 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-form-validation-message": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-form-validation-message": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-form-validation-message/CHANGELOG.md b/packages/uui-form-validation-message/CHANGELOG.md index 007cb4943..e681b72e3 100644 --- a/packages/uui-form-validation-message/CHANGELOG.md +++ b/packages/uui-form-validation-message/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-form-validation-message + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-form-validation-message diff --git a/packages/uui-form-validation-message/package.json b/packages/uui-form-validation-message/package.json index 7e5e008d9..2dcbcdc17 100644 --- a/packages/uui-form-validation-message/package.json +++ b/packages/uui-form-validation-message/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-form-validation-message", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-form/CHANGELOG.md b/packages/uui-form/CHANGELOG.md index a7d80d870..308f1e264 100644 --- a/packages/uui-form/CHANGELOG.md +++ b/packages/uui-form/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-form + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-form diff --git a/packages/uui-form/package.json b/packages/uui-form/package.json index b4ce61b93..9a3afc593 100644 --- a/packages/uui-form/package.json +++ b/packages/uui-form/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-form", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-icon-registry-essential/CHANGELOG.md b/packages/uui-icon-registry-essential/CHANGELOG.md index 8d403668e..ff5cefa4b 100644 --- a/packages/uui-icon-registry-essential/CHANGELOG.md +++ b/packages/uui-icon-registry-essential/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-icon-registry-essential + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-icon-registry-essential diff --git a/packages/uui-icon-registry-essential/package.json b/packages/uui-icon-registry-essential/package.json index 8c3e67b15..ef4edd12c 100644 --- a/packages/uui-icon-registry-essential/package.json +++ b/packages/uui-icon-registry-essential/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-icon-registry-essential", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,8 +30,8 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-icon-registry": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-icon-registry": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-icon-registry/CHANGELOG.md b/packages/uui-icon-registry/CHANGELOG.md index 00626f5d2..d071083c0 100644 --- a/packages/uui-icon-registry/CHANGELOG.md +++ b/packages/uui-icon-registry/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-icon-registry + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-icon-registry diff --git a/packages/uui-icon-registry/package.json b/packages/uui-icon-registry/package.json index 67a39d8ed..de1ea4e3a 100644 --- a/packages/uui-icon-registry/package.json +++ b/packages/uui-icon-registry/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-icon-registry", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,8 +30,8 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-icon": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-icon": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-icon/CHANGELOG.md b/packages/uui-icon/CHANGELOG.md index 9583264f9..389117af9 100644 --- a/packages/uui-icon/CHANGELOG.md +++ b/packages/uui-icon/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +### Features + +- **uui-icon:** Set aria-hidden if no label has been set ([#612](https://github.com/umbraco/Umbraco.UI/issues/612)) ([ac11819](https://github.com/umbraco/Umbraco.UI/commit/ac118190aead6ccb586cc9de7de62bcb9d56201a)) + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-icon diff --git a/packages/uui-icon/package.json b/packages/uui-icon/package.json index df066d1d8..abb1f9b2f 100644 --- a/packages/uui-icon/package.json +++ b/packages/uui-icon/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-icon", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-input-file/CHANGELOG.md b/packages/uui-input-file/CHANGELOG.md index ca709a46c..6332a6cff 100644 --- a/packages/uui-input-file/CHANGELOG.md +++ b/packages/uui-input-file/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-input-file + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-input-file diff --git a/packages/uui-input-file/package.json b/packages/uui-input-file/package.json index bf6a06511..65db9e68d 100644 --- a/packages/uui-input-file/package.json +++ b/packages/uui-input-file/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-input-file", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,12 +30,12 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-action-bar": "1.5.0-rc.0", - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-button": "1.5.0-rc.0", - "@umbraco-ui/uui-file-dropzone": "1.5.0-rc.0", - "@umbraco-ui/uui-icon": "1.5.0-rc.0", - "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.0" + "@umbraco-ui/uui-action-bar": "1.5.0-rc.1", + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-button": "1.5.0-rc.1", + "@umbraco-ui/uui-file-dropzone": "1.5.0-rc.1", + "@umbraco-ui/uui-icon": "1.5.0-rc.1", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-input-lock/CHANGELOG.md b/packages/uui-input-lock/CHANGELOG.md index 02a9b2d77..3a3b7d864 100644 --- a/packages/uui-input-lock/CHANGELOG.md +++ b/packages/uui-input-lock/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-input-lock + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-input-lock diff --git a/packages/uui-input-lock/package.json b/packages/uui-input-lock/package.json index 4105c1750..d938ef134 100644 --- a/packages/uui-input-lock/package.json +++ b/packages/uui-input-lock/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-input-lock", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,10 +30,10 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-button": "1.5.0-rc.0", - "@umbraco-ui/uui-icon": "1.5.0-rc.0", - "@umbraco-ui/uui-input": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-button": "1.5.0-rc.1", + "@umbraco-ui/uui-icon": "1.5.0-rc.1", + "@umbraco-ui/uui-input": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-input-password/CHANGELOG.md b/packages/uui-input-password/CHANGELOG.md index 04e756904..4fd496dbd 100644 --- a/packages/uui-input-password/CHANGELOG.md +++ b/packages/uui-input-password/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-input-password + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-input-password diff --git a/packages/uui-input-password/package.json b/packages/uui-input-password/package.json index a7f3d53b3..6078df844 100644 --- a/packages/uui-input-password/package.json +++ b/packages/uui-input-password/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-input-password", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,9 +30,9 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.0", - "@umbraco-ui/uui-input": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.1", + "@umbraco-ui/uui-input": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-input/CHANGELOG.md b/packages/uui-input/CHANGELOG.md index 7037bf84c..f59ebff67 100644 --- a/packages/uui-input/CHANGELOG.md +++ b/packages/uui-input/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +### Bug Fixes + +- small bugfix for auto width not rendering ([#578](https://github.com/umbraco/Umbraco.UI/issues/578)) ([af8b738](https://github.com/umbraco/Umbraco.UI/commit/af8b738d7fdb4e819b6bc13fd31a881515b45cf8)) + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) ### Bug Fixes diff --git a/packages/uui-input/package.json b/packages/uui-input/package.json index afee94808..3d6215136 100644 --- a/packages/uui-input/package.json +++ b/packages/uui-input/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-input", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -31,7 +31,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-keyboard-shortcut/CHANGELOG.md b/packages/uui-keyboard-shortcut/CHANGELOG.md index 381510aad..f2dee0fbd 100644 --- a/packages/uui-keyboard-shortcut/CHANGELOG.md +++ b/packages/uui-keyboard-shortcut/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-keyboard-shortcut + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-keyboard-shortcut diff --git a/packages/uui-keyboard-shortcut/package.json b/packages/uui-keyboard-shortcut/package.json index 80a1ecca9..5ec3a5281 100644 --- a/packages/uui-keyboard-shortcut/package.json +++ b/packages/uui-keyboard-shortcut/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-keyboard-shortcut", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-label/CHANGELOG.md b/packages/uui-label/CHANGELOG.md index 831251a07..91e0b2091 100644 --- a/packages/uui-label/CHANGELOG.md +++ b/packages/uui-label/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-label + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-label diff --git a/packages/uui-label/package.json b/packages/uui-label/package.json index c0fdc0af7..d946c7c8d 100644 --- a/packages/uui-label/package.json +++ b/packages/uui-label/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-label", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-loader-bar/CHANGELOG.md b/packages/uui-loader-bar/CHANGELOG.md index 5363b06c6..3368b307b 100644 --- a/packages/uui-loader-bar/CHANGELOG.md +++ b/packages/uui-loader-bar/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-loader-bar + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-loader-bar diff --git a/packages/uui-loader-bar/package.json b/packages/uui-loader-bar/package.json index 416389a3e..d790b05d3 100644 --- a/packages/uui-loader-bar/package.json +++ b/packages/uui-loader-bar/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-loader-bar", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-loader-circle/CHANGELOG.md b/packages/uui-loader-circle/CHANGELOG.md index b417f0aaa..3ee77c693 100644 --- a/packages/uui-loader-circle/CHANGELOG.md +++ b/packages/uui-loader-circle/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-loader-circle + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-loader-circle diff --git a/packages/uui-loader-circle/package.json b/packages/uui-loader-circle/package.json index 0ba2a8552..8ccb201d2 100644 --- a/packages/uui-loader-circle/package.json +++ b/packages/uui-loader-circle/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-loader-circle", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-loader/CHANGELOG.md b/packages/uui-loader/CHANGELOG.md index 06fcb9dc5..3bc3812f6 100644 --- a/packages/uui-loader/CHANGELOG.md +++ b/packages/uui-loader/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-loader + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-loader diff --git a/packages/uui-loader/package.json b/packages/uui-loader/package.json index e0f4052be..b3b50c030 100644 --- a/packages/uui-loader/package.json +++ b/packages/uui-loader/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-loader", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-menu-item/CHANGELOG.md b/packages/uui-menu-item/CHANGELOG.md index 7a0ce02b6..248cb4130 100644 --- a/packages/uui-menu-item/CHANGELOG.md +++ b/packages/uui-menu-item/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-menu-item + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-menu-item diff --git a/packages/uui-menu-item/package.json b/packages/uui-menu-item/package.json index 61d084122..e3ceb848a 100644 --- a/packages/uui-menu-item/package.json +++ b/packages/uui-menu-item/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-menu-item", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,9 +30,9 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-loader-bar": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-expand": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-loader-bar": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-expand": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-modal/CHANGELOG.md b/packages/uui-modal/CHANGELOG.md index 3d0d32bc3..bb8e0741a 100644 --- a/packages/uui-modal/CHANGELOG.md +++ b/packages/uui-modal/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +### Bug Fixes + +- Modal close-end event, no more bubbling modal events ([#598](https://github.com/umbraco/Umbraco.UI/issues/598)) ([825d722](https://github.com/umbraco/Umbraco.UI/commit/825d722fd30d210a9363ed14c47cccd96811575f)) + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-modal diff --git a/packages/uui-modal/package.json b/packages/uui-modal/package.json index 583a1c360..2c19d042c 100644 --- a/packages/uui-modal/package.json +++ b/packages/uui-modal/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-modal", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-pagination/CHANGELOG.md b/packages/uui-pagination/CHANGELOG.md index da5959f08..24d1ab6b1 100644 --- a/packages/uui-pagination/CHANGELOG.md +++ b/packages/uui-pagination/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-pagination + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-pagination diff --git a/packages/uui-pagination/package.json b/packages/uui-pagination/package.json index 4dca8a4a1..b3ed05343 100644 --- a/packages/uui-pagination/package.json +++ b/packages/uui-pagination/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-pagination", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,9 +30,9 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-button": "1.5.0-rc.0", - "@umbraco-ui/uui-button-group": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-button": "1.5.0-rc.1", + "@umbraco-ui/uui-button-group": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-popover-container/CHANGELOG.md b/packages/uui-popover-container/CHANGELOG.md index 22b0fa158..7e9e12b4e 100644 --- a/packages/uui-popover-container/CHANGELOG.md +++ b/packages/uui-popover-container/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-popover-container + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-popover-container diff --git a/packages/uui-popover-container/package.json b/packages/uui-popover-container/package.json index 5e88a484d..fd638db47 100644 --- a/packages/uui-popover-container/package.json +++ b/packages/uui-popover-container/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-popover-container", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-popover/CHANGELOG.md b/packages/uui-popover/CHANGELOG.md index 057584d3a..8a50a4b5b 100644 --- a/packages/uui-popover/CHANGELOG.md +++ b/packages/uui-popover/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-popover + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-popover diff --git a/packages/uui-popover/package.json b/packages/uui-popover/package.json index 8a1c32279..4f9f14569 100644 --- a/packages/uui-popover/package.json +++ b/packages/uui-popover/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-popover", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-progress-bar/CHANGELOG.md b/packages/uui-progress-bar/CHANGELOG.md index 5e21c5e1f..e3c09452e 100644 --- a/packages/uui-progress-bar/CHANGELOG.md +++ b/packages/uui-progress-bar/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-progress-bar + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-progress-bar diff --git a/packages/uui-progress-bar/package.json b/packages/uui-progress-bar/package.json index 157e04211..bee00eaed 100644 --- a/packages/uui-progress-bar/package.json +++ b/packages/uui-progress-bar/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-progress-bar", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-radio/CHANGELOG.md b/packages/uui-radio/CHANGELOG.md index b1ef0eff7..897672af5 100644 --- a/packages/uui-radio/CHANGELOG.md +++ b/packages/uui-radio/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-radio + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-radio diff --git a/packages/uui-radio/package.json b/packages/uui-radio/package.json index f120291af..0f8af5f4f 100644 --- a/packages/uui-radio/package.json +++ b/packages/uui-radio/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-radio", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -33,7 +33,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-range-slider/CHANGELOG.md b/packages/uui-range-slider/CHANGELOG.md index 87d1d1458..6a8bd3ceb 100644 --- a/packages/uui-range-slider/CHANGELOG.md +++ b/packages/uui-range-slider/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-range-slider + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-range-slider diff --git a/packages/uui-range-slider/package.json b/packages/uui-range-slider/package.json index a5459f032..9cefbdda3 100644 --- a/packages/uui-range-slider/package.json +++ b/packages/uui-range-slider/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-range-slider", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-ref-list/CHANGELOG.md b/packages/uui-ref-list/CHANGELOG.md index c52468d61..6ef776782 100644 --- a/packages/uui-ref-list/CHANGELOG.md +++ b/packages/uui-ref-list/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-ref-list + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-ref-list diff --git a/packages/uui-ref-list/package.json b/packages/uui-ref-list/package.json index 0f703ec45..c896518b7 100644 --- a/packages/uui-ref-list/package.json +++ b/packages/uui-ref-list/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-ref-list", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-ref-node-data-type/CHANGELOG.md b/packages/uui-ref-node-data-type/CHANGELOG.md index c57f3ebff..83edc9fc8 100644 --- a/packages/uui-ref-node-data-type/CHANGELOG.md +++ b/packages/uui-ref-node-data-type/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-ref-node-data-type + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-ref-node-data-type diff --git a/packages/uui-ref-node-data-type/package.json b/packages/uui-ref-node-data-type/package.json index fcb9c723e..8a47cc9d6 100644 --- a/packages/uui-ref-node-data-type/package.json +++ b/packages/uui-ref-node-data-type/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-ref-node-data-type", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,8 +30,8 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-ref-node-document-type/CHANGELOG.md b/packages/uui-ref-node-document-type/CHANGELOG.md index 32a515226..b1b397962 100644 --- a/packages/uui-ref-node-document-type/CHANGELOG.md +++ b/packages/uui-ref-node-document-type/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-ref-node-document-type + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-ref-node-document-type diff --git a/packages/uui-ref-node-document-type/package.json b/packages/uui-ref-node-document-type/package.json index 2b359e020..54ca49dcb 100644 --- a/packages/uui-ref-node-document-type/package.json +++ b/packages/uui-ref-node-document-type/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-ref-node-document-type", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,8 +30,8 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-ref-node-form/CHANGELOG.md b/packages/uui-ref-node-form/CHANGELOG.md index 88dabf6cb..1a0215c7e 100644 --- a/packages/uui-ref-node-form/CHANGELOG.md +++ b/packages/uui-ref-node-form/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-ref-node-form + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-ref-node-form diff --git a/packages/uui-ref-node-form/package.json b/packages/uui-ref-node-form/package.json index 2ff0ccc7e..d323e9b3a 100644 --- a/packages/uui-ref-node-form/package.json +++ b/packages/uui-ref-node-form/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-ref-node-form", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,8 +30,8 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-ref-node-member/CHANGELOG.md b/packages/uui-ref-node-member/CHANGELOG.md index 229d48ca6..cad39619f 100644 --- a/packages/uui-ref-node-member/CHANGELOG.md +++ b/packages/uui-ref-node-member/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-ref-node-member + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-ref-node-member diff --git a/packages/uui-ref-node-member/package.json b/packages/uui-ref-node-member/package.json index bb03ac4cc..ef1613018 100644 --- a/packages/uui-ref-node-member/package.json +++ b/packages/uui-ref-node-member/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-ref-node-member", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,8 +30,8 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-ref-node-package/CHANGELOG.md b/packages/uui-ref-node-package/CHANGELOG.md index ef3f9f277..6648623ba 100644 --- a/packages/uui-ref-node-package/CHANGELOG.md +++ b/packages/uui-ref-node-package/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-ref-node-package + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-ref-node-package diff --git a/packages/uui-ref-node-package/package.json b/packages/uui-ref-node-package/package.json index 38bd09c7f..eca45b80d 100644 --- a/packages/uui-ref-node-package/package.json +++ b/packages/uui-ref-node-package/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-ref-node-package", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,8 +30,8 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-ref-node-user/CHANGELOG.md b/packages/uui-ref-node-user/CHANGELOG.md index 548d7a725..eb98ef3cf 100644 --- a/packages/uui-ref-node-user/CHANGELOG.md +++ b/packages/uui-ref-node-user/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-ref-node-user + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-ref-node-user diff --git a/packages/uui-ref-node-user/package.json b/packages/uui-ref-node-user/package.json index 9c6fef839..c0d5fbd51 100644 --- a/packages/uui-ref-node-user/package.json +++ b/packages/uui-ref-node-user/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-ref-node-user", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,8 +30,8 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-ref-node/CHANGELOG.md b/packages/uui-ref-node/CHANGELOG.md index ec3830c96..8de64099d 100644 --- a/packages/uui-ref-node/CHANGELOG.md +++ b/packages/uui-ref-node/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-ref-node + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-ref-node diff --git a/packages/uui-ref-node/package.json b/packages/uui-ref-node/package.json index a7fa849aa..6f624fc2a 100644 --- a/packages/uui-ref-node/package.json +++ b/packages/uui-ref-node/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-ref-node", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,9 +30,9 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-icon": "1.5.0-rc.0", - "@umbraco-ui/uui-ref": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-icon": "1.5.0-rc.1", + "@umbraco-ui/uui-ref": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-ref/CHANGELOG.md b/packages/uui-ref/CHANGELOG.md index fd737f82e..bd59b36bd 100644 --- a/packages/uui-ref/CHANGELOG.md +++ b/packages/uui-ref/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-ref + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-ref diff --git a/packages/uui-ref/package.json b/packages/uui-ref/package.json index 8fe5c67fb..fea517808 100644 --- a/packages/uui-ref/package.json +++ b/packages/uui-ref/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-ref", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-scroll-container/CHANGELOG.md b/packages/uui-scroll-container/CHANGELOG.md index bb23b61f3..eeeb1174b 100644 --- a/packages/uui-scroll-container/CHANGELOG.md +++ b/packages/uui-scroll-container/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-scroll-container + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-scroll-container diff --git a/packages/uui-scroll-container/package.json b/packages/uui-scroll-container/package.json index 6f80bec8c..270e04ea7 100644 --- a/packages/uui-scroll-container/package.json +++ b/packages/uui-scroll-container/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-scroll-container", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-select/CHANGELOG.md b/packages/uui-select/CHANGELOG.md index c570d7858..424b70f2f 100644 --- a/packages/uui-select/CHANGELOG.md +++ b/packages/uui-select/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-select + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-select diff --git a/packages/uui-select/package.json b/packages/uui-select/package.json index 557231870..45c507074 100644 --- a/packages/uui-select/package.json +++ b/packages/uui-select/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-select", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-slider/CHANGELOG.md b/packages/uui-slider/CHANGELOG.md index 8836209c8..5022fcae5 100644 --- a/packages/uui-slider/CHANGELOG.md +++ b/packages/uui-slider/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-slider + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-slider diff --git a/packages/uui-slider/package.json b/packages/uui-slider/package.json index 55d88b19c..ae6166cab 100644 --- a/packages/uui-slider/package.json +++ b/packages/uui-slider/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-slider", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -31,7 +31,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-symbol-expand/CHANGELOG.md b/packages/uui-symbol-expand/CHANGELOG.md index 3e4aa6d60..909d48096 100644 --- a/packages/uui-symbol-expand/CHANGELOG.md +++ b/packages/uui-symbol-expand/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-symbol-expand + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-symbol-expand diff --git a/packages/uui-symbol-expand/package.json b/packages/uui-symbol-expand/package.json index 9495a5d86..bb2d133f5 100644 --- a/packages/uui-symbol-expand/package.json +++ b/packages/uui-symbol-expand/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-symbol-expand", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-symbol-file-dropzone/CHANGELOG.md b/packages/uui-symbol-file-dropzone/CHANGELOG.md index d6928fc3a..b4823cc06 100644 --- a/packages/uui-symbol-file-dropzone/CHANGELOG.md +++ b/packages/uui-symbol-file-dropzone/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-symbol-file-dropzone + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-symbol-file-dropzone diff --git a/packages/uui-symbol-file-dropzone/package.json b/packages/uui-symbol-file-dropzone/package.json index b60c4a6bf..2d3602942 100644 --- a/packages/uui-symbol-file-dropzone/package.json +++ b/packages/uui-symbol-file-dropzone/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-symbol-file-dropzone", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-symbol-file-thumbnail/CHANGELOG.md b/packages/uui-symbol-file-thumbnail/CHANGELOG.md index 496329c1c..e42cfc156 100644 --- a/packages/uui-symbol-file-thumbnail/CHANGELOG.md +++ b/packages/uui-symbol-file-thumbnail/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-symbol-file-thumbnail + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-symbol-file-thumbnail diff --git a/packages/uui-symbol-file-thumbnail/package.json b/packages/uui-symbol-file-thumbnail/package.json index 0c0dc7183..555e862a7 100644 --- a/packages/uui-symbol-file-thumbnail/package.json +++ b/packages/uui-symbol-file-thumbnail/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-symbol-file-thumbnail", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-symbol-file/CHANGELOG.md b/packages/uui-symbol-file/CHANGELOG.md index 2ec5c0916..9ca4dac4d 100644 --- a/packages/uui-symbol-file/CHANGELOG.md +++ b/packages/uui-symbol-file/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-symbol-file + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-symbol-file diff --git a/packages/uui-symbol-file/package.json b/packages/uui-symbol-file/package.json index 075353745..282cf817a 100644 --- a/packages/uui-symbol-file/package.json +++ b/packages/uui-symbol-file/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-symbol-file", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -33,7 +33,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-symbol-folder/CHANGELOG.md b/packages/uui-symbol-folder/CHANGELOG.md index 77b3def01..162b545e7 100644 --- a/packages/uui-symbol-folder/CHANGELOG.md +++ b/packages/uui-symbol-folder/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-symbol-folder + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-symbol-folder diff --git a/packages/uui-symbol-folder/package.json b/packages/uui-symbol-folder/package.json index b3d5697dd..d9a4ede94 100644 --- a/packages/uui-symbol-folder/package.json +++ b/packages/uui-symbol-folder/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-symbol-folder", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -33,7 +33,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-symbol-lock/CHANGELOG.md b/packages/uui-symbol-lock/CHANGELOG.md index bb4db24d3..a5e3707ee 100644 --- a/packages/uui-symbol-lock/CHANGELOG.md +++ b/packages/uui-symbol-lock/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-symbol-lock + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-symbol-lock diff --git a/packages/uui-symbol-lock/package.json b/packages/uui-symbol-lock/package.json index 4cf086e1f..9892d53ac 100644 --- a/packages/uui-symbol-lock/package.json +++ b/packages/uui-symbol-lock/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-symbol-lock", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-symbol-more/CHANGELOG.md b/packages/uui-symbol-more/CHANGELOG.md index fb9dc04f5..d0f98f236 100644 --- a/packages/uui-symbol-more/CHANGELOG.md +++ b/packages/uui-symbol-more/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-symbol-more + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-symbol-more diff --git a/packages/uui-symbol-more/package.json b/packages/uui-symbol-more/package.json index 459def9c6..d9c097c62 100644 --- a/packages/uui-symbol-more/package.json +++ b/packages/uui-symbol-more/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-symbol-more", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-symbol-sort/CHANGELOG.md b/packages/uui-symbol-sort/CHANGELOG.md index 0f8a4d72f..9fed5fc73 100644 --- a/packages/uui-symbol-sort/CHANGELOG.md +++ b/packages/uui-symbol-sort/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-symbol-sort + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-symbol-sort diff --git a/packages/uui-symbol-sort/package.json b/packages/uui-symbol-sort/package.json index 09c86a794..5ffd86897 100644 --- a/packages/uui-symbol-sort/package.json +++ b/packages/uui-symbol-sort/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-symbol-sort", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-table/CHANGELOG.md b/packages/uui-table/CHANGELOG.md index 8edefbf05..bd542c0ba 100644 --- a/packages/uui-table/CHANGELOG.md +++ b/packages/uui-table/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-table + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-table diff --git a/packages/uui-table/package.json b/packages/uui-table/package.json index 3f7ef0b3e..7474393ba 100644 --- a/packages/uui-table/package.json +++ b/packages/uui-table/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-table", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-tabs/CHANGELOG.md b/packages/uui-tabs/CHANGELOG.md index 4d8f8f1f7..3c648942d 100644 --- a/packages/uui-tabs/CHANGELOG.md +++ b/packages/uui-tabs/CHANGELOG.md @@ -3,6 +3,16 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +### Bug Fixes + +- fixing imports + story for hrefs ([#614](https://github.com/umbraco/Umbraco.UI/issues/614)) ([4bfb6a1](https://github.com/umbraco/Umbraco.UI/commit/4bfb6a1d866830b67139ed5f3ed8be09d60d28ac)) + +### Features + +- horizontal padding for uui-tab ([#579](https://github.com/umbraco/Umbraco.UI/issues/579)) ([8459fdb](https://github.com/umbraco/Umbraco.UI/commit/8459fdb5dca949680be3097fdf510966caaf78ce)) + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) ### Features diff --git a/packages/uui-tabs/package.json b/packages/uui-tabs/package.json index dbe84a8c1..9fa42769f 100644 --- a/packages/uui-tabs/package.json +++ b/packages/uui-tabs/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-tabs", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,10 +30,10 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-button": "1.5.0-rc.0", - "@umbraco-ui/uui-popover-container": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-more": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-button": "1.5.0-rc.1", + "@umbraco-ui/uui-popover-container": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-more": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-tag/CHANGELOG.md b/packages/uui-tag/CHANGELOG.md index 92170cfeb..5b184e1e5 100644 --- a/packages/uui-tag/CHANGELOG.md +++ b/packages/uui-tag/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-tag + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-tag diff --git a/packages/uui-tag/package.json b/packages/uui-tag/package.json index 2329bf988..6fabc7f0e 100644 --- a/packages/uui-tag/package.json +++ b/packages/uui-tag/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-tag", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -31,7 +31,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-textarea/CHANGELOG.md b/packages/uui-textarea/CHANGELOG.md index 8de59e687..bbb39c3e4 100644 --- a/packages/uui-textarea/CHANGELOG.md +++ b/packages/uui-textarea/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-textarea + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-textarea diff --git a/packages/uui-textarea/package.json b/packages/uui-textarea/package.json index a5f75cda6..d0eb9b689 100644 --- a/packages/uui-textarea/package.json +++ b/packages/uui-textarea/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-textarea", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -31,7 +31,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-toast-notification-container/CHANGELOG.md b/packages/uui-toast-notification-container/CHANGELOG.md index f8c2362d9..37fe28c71 100644 --- a/packages/uui-toast-notification-container/CHANGELOG.md +++ b/packages/uui-toast-notification-container/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-toast-notification-container + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-toast-notification-container diff --git a/packages/uui-toast-notification-container/package.json b/packages/uui-toast-notification-container/package.json index 4347bd575..ec415a5ef 100644 --- a/packages/uui-toast-notification-container/package.json +++ b/packages/uui-toast-notification-container/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-toast-notification-container", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,8 +30,8 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-toast-notification": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-toast-notification": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-toast-notification-layout/CHANGELOG.md b/packages/uui-toast-notification-layout/CHANGELOG.md index 18a481858..9ba52fcfa 100644 --- a/packages/uui-toast-notification-layout/CHANGELOG.md +++ b/packages/uui-toast-notification-layout/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-toast-notification-layout + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-toast-notification-layout diff --git a/packages/uui-toast-notification-layout/package.json b/packages/uui-toast-notification-layout/package.json index 63505672e..370a31b62 100644 --- a/packages/uui-toast-notification-layout/package.json +++ b/packages/uui-toast-notification-layout/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-toast-notification-layout", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", + "@umbraco-ui/uui-base": "1.5.0-rc.1", "@umbraco-ui/uui-css": "1.4.0" }, "scripts": { diff --git a/packages/uui-toast-notification/CHANGELOG.md b/packages/uui-toast-notification/CHANGELOG.md index 1ba48de86..63dd34c45 100644 --- a/packages/uui-toast-notification/CHANGELOG.md +++ b/packages/uui-toast-notification/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-toast-notification + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-toast-notification diff --git a/packages/uui-toast-notification/package.json b/packages/uui-toast-notification/package.json index 5b34f9a24..af4e94a24 100644 --- a/packages/uui-toast-notification/package.json +++ b/packages/uui-toast-notification/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-toast-notification", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,11 +30,11 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-button": "1.5.0-rc.0", + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-button": "1.5.0-rc.1", "@umbraco-ui/uui-css": "1.4.0", - "@umbraco-ui/uui-icon": "1.5.0-rc.0", - "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.0" + "@umbraco-ui/uui-icon": "1.5.0-rc.1", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-toggle/CHANGELOG.md b/packages/uui-toggle/CHANGELOG.md index da6d694c9..92092555e 100644 --- a/packages/uui-toggle/CHANGELOG.md +++ b/packages/uui-toggle/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +**Note:** Version bump only for package @umbraco-ui/uui-toggle + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui-toggle diff --git a/packages/uui-toggle/package.json b/packages/uui-toggle/package.json index 3324979f2..ebc2e39af 100644 --- a/packages/uui-toggle/package.json +++ b/packages/uui-toggle/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-toggle", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,8 +30,8 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-boolean-input": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-boolean-input": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui-visually-hidden/CHANGELOG.md b/packages/uui-visually-hidden/CHANGELOG.md new file mode 100644 index 000000000..b022a2426 --- /dev/null +++ b/packages/uui-visually-hidden/CHANGELOG.md @@ -0,0 +1,10 @@ +# Change Log + +All notable changes to this project will be documented in this file. +See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. + +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +### Features + +- Visually hidden component ([#593](https://github.com/umbraco/Umbraco.UI/issues/593)) ([875d46e](https://github.com/umbraco/Umbraco.UI/commit/875d46ed4c2b3224affb98cfd3a7d270e63349e8)) diff --git a/packages/uui-visually-hidden/package.json b/packages/uui-visually-hidden/package.json index 70c496b19..b9c120b32 100644 --- a/packages/uui-visually-hidden/package.json +++ b/packages/uui-visually-hidden/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui-visually-hidden", - "version": "0.0.0", + "version": "1.5.0-rc.1", "license": "MIT", "keywords": [ "Umbraco", @@ -30,7 +30,7 @@ "custom-elements.json" ], "dependencies": { - "@umbraco-ui/uui-base": "1.5.0-rc.0" + "@umbraco-ui/uui-base": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build --force && rollup -c rollup.config.js", diff --git a/packages/uui/CHANGELOG.md b/packages/uui/CHANGELOG.md index 357f454a8..c110acef3 100644 --- a/packages/uui/CHANGELOG.md +++ b/packages/uui/CHANGELOG.md @@ -3,6 +3,12 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.5.0-rc.1](https://github.com/umbraco/Umbraco.UI/compare/v1.5.0-rc.0...v1.5.0-rc.1) (2023-10-17) + +### Features + +- Visually hidden component ([#593](https://github.com/umbraco/Umbraco.UI/issues/593)) ([875d46e](https://github.com/umbraco/Umbraco.UI/commit/875d46ed4c2b3224affb98cfd3a7d270e63349e8)) + # [1.5.0-rc.0](https://github.com/umbraco/Umbraco.UI/compare/v1.4.0-rc.2...v1.5.0-rc.0) (2023-09-21) **Note:** Version bump only for package @umbraco-ui/uui diff --git a/packages/uui/package.json b/packages/uui/package.json index 3f8effddf..51083ab07 100644 --- a/packages/uui/package.json +++ b/packages/uui/package.json @@ -1,6 +1,6 @@ { "name": "@umbraco-ui/uui", - "version": "1.5.0-rc.0", + "version": "1.5.0-rc.1", "license": "MIT", "description": "The full Umbraco UI Library. The package includes and registers all UUI Web Components.", "keywords": [ @@ -37,86 +37,86 @@ "vscode-html-custom-data.json" ], "dependencies": { - "@umbraco-ui/uui-action-bar": "1.5.0-rc.0", - "@umbraco-ui/uui-avatar": "1.5.0-rc.0", - "@umbraco-ui/uui-avatar-group": "1.5.0-rc.0", - "@umbraco-ui/uui-badge": "1.5.0-rc.0", - "@umbraco-ui/uui-base": "1.5.0-rc.0", - "@umbraco-ui/uui-boolean-input": "1.5.0-rc.0", - "@umbraco-ui/uui-box": "1.5.0-rc.0", - "@umbraco-ui/uui-breadcrumbs": "1.5.0-rc.0", - "@umbraco-ui/uui-button": "1.5.0-rc.0", - "@umbraco-ui/uui-button-group": "1.5.0-rc.0", - "@umbraco-ui/uui-button-inline-create": "1.5.0-rc.0", - "@umbraco-ui/uui-card": "1.5.0-rc.0", - "@umbraco-ui/uui-card-content-node": "1.5.0-rc.0", - "@umbraco-ui/uui-card-media": "1.5.0-rc.0", - "@umbraco-ui/uui-card-user": "1.5.0-rc.0", - "@umbraco-ui/uui-caret": "1.5.0-rc.0", - "@umbraco-ui/uui-checkbox": "1.5.0-rc.0", - "@umbraco-ui/uui-color-area": "1.5.0-rc.0", - "@umbraco-ui/uui-color-picker": "1.5.0-rc.0", - "@umbraco-ui/uui-color-slider": "1.5.0-rc.0", - "@umbraco-ui/uui-color-swatch": "1.5.0-rc.0", - "@umbraco-ui/uui-color-swatches": "1.5.0-rc.0", - "@umbraco-ui/uui-combobox": "1.5.0-rc.0", - "@umbraco-ui/uui-combobox-list": "1.5.0-rc.0", + "@umbraco-ui/uui-action-bar": "1.5.0-rc.1", + "@umbraco-ui/uui-avatar": "1.5.0-rc.1", + "@umbraco-ui/uui-avatar-group": "1.5.0-rc.1", + "@umbraco-ui/uui-badge": "1.5.0-rc.1", + "@umbraco-ui/uui-base": "1.5.0-rc.1", + "@umbraco-ui/uui-boolean-input": "1.5.0-rc.1", + "@umbraco-ui/uui-box": "1.5.0-rc.1", + "@umbraco-ui/uui-breadcrumbs": "1.5.0-rc.1", + "@umbraco-ui/uui-button": "1.5.0-rc.1", + "@umbraco-ui/uui-button-group": "1.5.0-rc.1", + "@umbraco-ui/uui-button-inline-create": "1.5.0-rc.1", + "@umbraco-ui/uui-card": "1.5.0-rc.1", + "@umbraco-ui/uui-card-content-node": "1.5.0-rc.1", + "@umbraco-ui/uui-card-media": "1.5.0-rc.1", + "@umbraco-ui/uui-card-user": "1.5.0-rc.1", + "@umbraco-ui/uui-caret": "1.5.0-rc.1", + "@umbraco-ui/uui-checkbox": "1.5.0-rc.1", + "@umbraco-ui/uui-color-area": "1.5.0-rc.1", + "@umbraco-ui/uui-color-picker": "1.5.0-rc.1", + "@umbraco-ui/uui-color-slider": "1.5.0-rc.1", + "@umbraco-ui/uui-color-swatch": "1.5.0-rc.1", + "@umbraco-ui/uui-color-swatches": "1.5.0-rc.1", + "@umbraco-ui/uui-combobox": "1.5.0-rc.1", + "@umbraco-ui/uui-combobox-list": "1.5.0-rc.1", "@umbraco-ui/uui-css": "1.4.0", - "@umbraco-ui/uui-dialog": "1.5.0-rc.0", - "@umbraco-ui/uui-dialog-layout": "1.5.0-rc.0", - "@umbraco-ui/uui-file-dropzone": "1.5.0-rc.0", - "@umbraco-ui/uui-file-preview": "1.5.0-rc.0", - "@umbraco-ui/uui-form": "1.5.0-rc.0", - "@umbraco-ui/uui-form-layout-item": "1.5.0-rc.0", - "@umbraco-ui/uui-form-validation-message": "1.5.0-rc.0", - "@umbraco-ui/uui-icon": "1.5.0-rc.0", - "@umbraco-ui/uui-icon-registry": "1.5.0-rc.0", - "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.0", - "@umbraco-ui/uui-input": "1.5.0-rc.0", - "@umbraco-ui/uui-input-file": "1.5.0-rc.0", - "@umbraco-ui/uui-input-lock": "1.5.0-rc.0", - "@umbraco-ui/uui-input-password": "1.5.0-rc.0", - "@umbraco-ui/uui-keyboard-shortcut": "1.5.0-rc.0", - "@umbraco-ui/uui-label": "1.5.0-rc.0", - "@umbraco-ui/uui-loader": "1.5.0-rc.0", - "@umbraco-ui/uui-loader-bar": "1.5.0-rc.0", - "@umbraco-ui/uui-loader-circle": "1.5.0-rc.0", - "@umbraco-ui/uui-menu-item": "1.5.0-rc.0", - "@umbraco-ui/uui-modal": "1.5.0-rc.0", - "@umbraco-ui/uui-pagination": "1.5.0-rc.0", - "@umbraco-ui/uui-popover": "1.5.0-rc.0", - "@umbraco-ui/uui-popover-container": "1.5.0-rc.0", - "@umbraco-ui/uui-progress-bar": "1.5.0-rc.0", - "@umbraco-ui/uui-radio": "1.5.0-rc.0", - "@umbraco-ui/uui-range-slider": "1.5.0-rc.0", - "@umbraco-ui/uui-ref": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-list": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node-data-type": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node-document-type": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node-form": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node-member": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node-package": "1.5.0-rc.0", - "@umbraco-ui/uui-ref-node-user": "1.5.0-rc.0", - "@umbraco-ui/uui-scroll-container": "1.5.0-rc.0", - "@umbraco-ui/uui-select": "1.5.0-rc.0", - "@umbraco-ui/uui-slider": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-expand": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-file": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-file-dropzone": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-file-thumbnail": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-folder": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-lock": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-more": "1.5.0-rc.0", - "@umbraco-ui/uui-symbol-sort": "1.5.0-rc.0", - "@umbraco-ui/uui-table": "1.5.0-rc.0", - "@umbraco-ui/uui-tabs": "1.5.0-rc.0", - "@umbraco-ui/uui-tag": "1.5.0-rc.0", - "@umbraco-ui/uui-textarea": "1.5.0-rc.0", - "@umbraco-ui/uui-toast-notification": "1.5.0-rc.0", - "@umbraco-ui/uui-toast-notification-container": "1.5.0-rc.0", - "@umbraco-ui/uui-toast-notification-layout": "1.5.0-rc.0", - "@umbraco-ui/uui-toggle": "1.5.0-rc.0" + "@umbraco-ui/uui-dialog": "1.5.0-rc.1", + "@umbraco-ui/uui-dialog-layout": "1.5.0-rc.1", + "@umbraco-ui/uui-file-dropzone": "1.5.0-rc.1", + "@umbraco-ui/uui-file-preview": "1.5.0-rc.1", + "@umbraco-ui/uui-form": "1.5.0-rc.1", + "@umbraco-ui/uui-form-layout-item": "1.5.0-rc.1", + "@umbraco-ui/uui-form-validation-message": "1.5.0-rc.1", + "@umbraco-ui/uui-icon": "1.5.0-rc.1", + "@umbraco-ui/uui-icon-registry": "1.5.0-rc.1", + "@umbraco-ui/uui-icon-registry-essential": "1.5.0-rc.1", + "@umbraco-ui/uui-input": "1.5.0-rc.1", + "@umbraco-ui/uui-input-file": "1.5.0-rc.1", + "@umbraco-ui/uui-input-lock": "1.5.0-rc.1", + "@umbraco-ui/uui-input-password": "1.5.0-rc.1", + "@umbraco-ui/uui-keyboard-shortcut": "1.5.0-rc.1", + "@umbraco-ui/uui-label": "1.5.0-rc.1", + "@umbraco-ui/uui-loader": "1.5.0-rc.1", + "@umbraco-ui/uui-loader-bar": "1.5.0-rc.1", + "@umbraco-ui/uui-loader-circle": "1.5.0-rc.1", + "@umbraco-ui/uui-menu-item": "1.5.0-rc.1", + "@umbraco-ui/uui-modal": "1.5.0-rc.1", + "@umbraco-ui/uui-pagination": "1.5.0-rc.1", + "@umbraco-ui/uui-popover": "1.5.0-rc.1", + "@umbraco-ui/uui-popover-container": "1.5.0-rc.1", + "@umbraco-ui/uui-progress-bar": "1.5.0-rc.1", + "@umbraco-ui/uui-radio": "1.5.0-rc.1", + "@umbraco-ui/uui-range-slider": "1.5.0-rc.1", + "@umbraco-ui/uui-ref": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-list": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node-data-type": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node-document-type": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node-form": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node-member": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node-package": "1.5.0-rc.1", + "@umbraco-ui/uui-ref-node-user": "1.5.0-rc.1", + "@umbraco-ui/uui-scroll-container": "1.5.0-rc.1", + "@umbraco-ui/uui-select": "1.5.0-rc.1", + "@umbraco-ui/uui-slider": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-expand": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-file": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-file-dropzone": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-file-thumbnail": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-folder": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-lock": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-more": "1.5.0-rc.1", + "@umbraco-ui/uui-symbol-sort": "1.5.0-rc.1", + "@umbraco-ui/uui-table": "1.5.0-rc.1", + "@umbraco-ui/uui-tabs": "1.5.0-rc.1", + "@umbraco-ui/uui-tag": "1.5.0-rc.1", + "@umbraco-ui/uui-textarea": "1.5.0-rc.1", + "@umbraco-ui/uui-toast-notification": "1.5.0-rc.1", + "@umbraco-ui/uui-toast-notification-container": "1.5.0-rc.1", + "@umbraco-ui/uui-toast-notification-layout": "1.5.0-rc.1", + "@umbraco-ui/uui-toggle": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build && rollup -c rollup.config.js", From 0dcf0a26ac3df3c515707b27178e739c6ad4874c Mon Sep 17 00:00:00 2001 From: Lone Iversen <108085781+loivsen@users.noreply.github.com> Date: Tue, 17 Oct 2023 17:04:58 +0200 Subject: [PATCH 23/25] Fix: Range slider corrections (#569) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Niels Lyngsø --- .../lib/uui-range-slider.element.ts | 1407 ++++++++--------- .../lib/uui-range-slider.story.ts | 18 +- .../lib/uui-range-slider.test.ts | 56 +- 3 files changed, 707 insertions(+), 774 deletions(-) diff --git a/packages/uui-range-slider/lib/uui-range-slider.element.ts b/packages/uui-range-slider/lib/uui-range-slider.element.ts index 8f69b27ab..aa6da61ab 100644 --- a/packages/uui-range-slider/lib/uui-range-slider.element.ts +++ b/packages/uui-range-slider/lib/uui-range-slider.element.ts @@ -1,14 +1,23 @@ -import { UUIHorizontalPulseKeyframes } from '@umbraco-ui/uui-base/lib/animations'; - -import { FormControlMixin } from '@umbraco-ui/uui-base/lib/mixins'; import { defineElement } from '@umbraco-ui/uui-base/lib/registration'; -import { css, html, LitElement, nothing, svg } from 'lit'; +import { css, html, LitElement, svg } from 'lit'; +import { FormControlMixin } from '@umbraco-ui/uui-base/lib/mixins'; import { property, query, state } from 'lit/decorators.js'; import { UUIRangeSliderEvent } from './UUIRangeSliderEvent'; +import { clamp } from '@umbraco-ui/uui-base/lib/utils'; + +const Z_INDEX = { + TOP: 3, + CENTER: 2, + BACK: 1, +}; +const THUMB_SIZE = 18; const TRACK_PADDING = 12; const STEP_MIN_WIDTH = 24; +// TODO: ability to focus on the range, to enable keyboard interaction to move the range. +// TODO: Ability to click outside a range, to move the range if the maxGap has been reached. +// TODO: . /** * @element uui-range-slider * @description - Range slider with two handles. Use uui-slider for a single handle. @@ -19,6 +28,14 @@ const STEP_MIN_WIDTH = 24; export class UUIRangeSliderElement extends FormControlMixin(LitElement) { static readonly formAssociated = true; + /** + * Label to be used for aria-label and eventually as visual label. Adds "low-end value" and "high-end value" endings for the two values. + * @type {string} + * @attr + */ + @property({ type: String }) + label!: String; + /** * Disables the input. * @type {boolean} @@ -29,21 +46,36 @@ export class UUIRangeSliderElement extends FormControlMixin(LitElement) { disabled = false; /** - * Label to be used for aria-label and eventually as visual label. Adds " low value" and " high value" endings for the two values. - * @type {string} - * @attr + * Sets the minimum allowed value. + * @type {number} + * @attr min + * @default 0 */ - @property({ type: String }) - label!: String; + @property({ type: Number }) + get min() { + return this._min; + } + set min(newVal) { + this._min = newVal; + this.#transferValueToInternalValues(); + } + _min = 0; /** - * This reflects the behavior of a native input step attribute. + * Sets the maximum allowed value. * @type {number} - * @attr - * @default 1 + * @attr max + * @default 100 */ @property({ type: Number }) - step = 1; + get max() { + return this._max; + } + set max(newVal) { + this._max = newVal; + this.#transferValueToInternalValues(); + } + _max = 0; /** * Hides the numbers representing the value of each steps. Dots will still be visible @@ -55,22 +87,20 @@ export class UUIRangeSliderElement extends FormControlMixin(LitElement) { hideStepValues = false; /** - * Sets the minimum allowed value. - * @type {number} - * @attr min - * @default 0 - */ - @property({ type: Number }) - min = 0; - - /** - * Sets the maximum allowed value. + * This reflects the behavior of a native input step attribute. * @type {number} - * @attr max - * @default 100 + * @attr + * @default 1 */ @property({ type: Number }) - max = 100; + get step() { + return this._step; + } + set step(newVal) { + this._step = newVal; + this.#transferValueToInternalValues(); + } + _step = 1; /** * Minimum value gap between the the two picked values. Cannot be lower than the step value and cannot be higher than the maximum gap @@ -79,7 +109,14 @@ export class UUIRangeSliderElement extends FormControlMixin(LitElement) { * @default undefined */ @property({ type: Number, attribute: 'min-gap' }) - minGap?: number; + get minGap() { + return this._minGap; + } + set minGap(newVal) { + this._minGap = newVal; + this.#transferValueToInternalValues(); + } + _minGap?: number; /** * Maximum value gap between the the two picked values. Cannot be lower than the minimum gap. @@ -88,941 +125,843 @@ export class UUIRangeSliderElement extends FormControlMixin(LitElement) { * @default undefined */ @property({ type: Number, attribute: 'max-gap' }) - maxGap?: number; + get maxGap() { + return this._maxGap; + } + set maxGap(newVal) { + this._maxGap = newVal; + this.#transferValueToInternalValues(); + } + _maxGap?: number; /** - * This is a value property of the uui-range-slider. Split the two values with comma, forexample 10,50 sets the values to 10 and 50. + * This is a value property of the uui-range-slider. Split the two values with comma, for example 10,50 sets the values to 10 and 50. * @type {string} * @attr - * @default 0,100 + * @default 0,0 */ @property({ type: String }) get value() { return this._value; } set value(newVal) { - if (newVal instanceof String) { - super.value = newVal; - const values = newVal.split(','); - this.valueLow = parseInt(values[0]); - this.valueHigh = parseInt(values[1]); - } + super.value = newVal; + this.#transferValueToInternalValues(); } - private _valueLow = 0; - /** - * The lower picked value. - * @type {number} - * @attr value-low - * @default 0 - */ - @property({ type: Number, attribute: 'value-low' }) - set valueLow(newLow) { - const old = this._valueHigh; - if (newLow <= this.min) { - this._valueLow = this.min; - super.value = `${this.min},${this.valueHigh}`; - this.requestUpdate('valueLow', old); - return; - } - if (newLow >= this.valueHigh - this.step) { - this._valueLow = this.valueHigh - this.step; - super.value = `${this.valueHigh - this.step},${this.valueHigh}`; - this.requestUpdate('valueLow', old); - return; - } - this._valueLow = newLow; - super.value = `${newLow},${this.valueHigh}`; - this.requestUpdate('valueLow', old); - } - get valueLow() { - return this._valueLow; - } - - private _valueHigh = 100; - /** - * The higher picked value. - * @type {number} - * @attr value-high - * @default 100 - */ - @property({ type: Number, attribute: 'value-high' }) - set valueHigh(newHigh) { - const old = this._valueHigh; - if (newHigh >= this.max) { - this._valueHigh = this.max; - super.value = `${this.valueLow},${this.max}`; - this.requestUpdate('valueHigh', old); - return; - } - if (newHigh <= this.valueLow + this.step) { - this._valueHigh = this.valueLow + this.step; - super.value = `${this.valueLow},${this.valueLow + this.step}`; - this.requestUpdate('valueHigh', old); - return; - } - this._valueHigh = newHigh; - super.value = `${this.valueLow},${newHigh}`; - this.requestUpdate('valueHigh', old); - } - get valueHigh() { - return this._valueHigh; - } + private _currentFocus?: HTMLInputElement; @state() - private _trackWidth = 0; + private _movement = false; - @state() - private _currentInputFocus?: HTMLInputElement; + private startPoint = { + mouse: 0, + low: 0, + high: 0, + }; @state() - private _currentThumbFocus: 'high' | 'low' = 'low'; + private _lowInputValue = 0; @state() - private _grabbingBoth?: boolean; + private _highInputValue = 0; @state() - private _startPos = 0; + private _trackWidth = 0; @state() - private _startLow = 0; - + _lowValuePercentStart = 0; @state() - private _startHigh = 0; + _highValuePercentEnd = 100; + + protected setValueLow(low: number) { + // Clamp value to ensure it fits within its restrictions + low = clamp( + low, + this.maxGap + ? this._highInputValue - this.maxGap > this.min + ? this._highInputValue - this.maxGap + : this.min + : this.min, + this.minGap + ? this._highInputValue - this.minGap + : this._highInputValue - this.step + ); + this.setValue(low, this._highInputValue); + } + + protected setValueHigh(high: number) { + // Clamp value to ensure it fits within its restrictions + high = clamp( + high, + this.minGap + ? this._lowInputValue + this.minGap + : this._lowInputValue + this.step, + this.maxGap + ? this.maxGap + this._lowInputValue < this.max + ? this.maxGap + this._lowInputValue + : this.max + : this.max + ); + this.setValue(this._lowInputValue, high); + } - @query('#low-input') - private _inputLow!: HTMLInputElement; + protected setValue(low: number, high: number, lockValueRange?: boolean) { + if (lockValueRange) { + // Get the length of the range + const length = this.startPoint.high - this.startPoint.low; - @query('#high-input') - private _inputHigh!: HTMLInputElement; + // Clamp values to make sure it keeps its length: + low = clamp(low, this.min, this.max - length); + high = clamp(high, this.min + length, this.max); + } - @query('#range-slider') - private _outerTrack!: HTMLElement; + // Overwrite input value, to enforce the calculated value and avoid the native slider moving to a invalid position: + this._inputLow.value = low.toString(); + this._inputHigh.value = high.toString(); - @query('#inner-track') - private _innerTrack!: HTMLElement; + this.value = `${low},${high}`; + } - @query('#low-thumb') - private _thumbLow!: HTMLElement; + #transferValueToInternalValues() { + const valueSplit = (this.value as string).split(','); + let low = Number(valueSplit[0]) || 0; + let high = Number(valueSplit[1]) || 0; - @query('#high-thumb') - private _thumbHigh!: HTMLElement; + // First secure that the high value are within range (low does not need as its being handled below) + high = clamp(high, this._min, this._max); - @query('.color') - private _innerColor!: HTMLElement; + // Make sure it matches the steps: + low = this._min + Math.round((low - this._min) / this._step) * this._step; + high = this._min + Math.round((high - this._min) / this._step) * this._step; - @query('.color-target') - private _bothThumbsTarget!: HTMLElement; + // Fit with gaps: + this._lowInputValue = clamp( + low, + this._min, + this._minGap ? high - this._minGap : high - this._step + ); + this._highInputValue = clamp( + high, + this._minGap + ? this._lowInputValue + this._minGap + : this._lowInputValue + this._step, + Math.min(this._maxGap ? low + this._maxGap : this._max, this._max) + ); - #setValue(val?: string) { - this._value = val ? val : `${this.valueLow},${this.valueHigh}`; + this._updateInnerColor(); + this.requestUpdate(); } protected getFormElement(): HTMLInputElement { - return this._currentInputFocus ? this._currentInputFocus : this._inputLow; + return this._currentFocus ? this._currentFocus : this._inputLow; } - public focus() { - this._currentInputFocus - ? this._currentInputFocus.focus() - : this._inputLow.focus(); - } + /** Elements */ - private _onKeypress(e: KeyboardEvent) { - if (e.key == 'Enter') { - this.submit(); - } - } - - /** Thumb position */ + @query('#range-slider') + private _outerTrack!: HTMLElement; - private _sliderLowThumbPosition() { - const ratio = (this.valueLow - this.min) / (this.max - this.min); - const valueLowPercent = `${Math.floor(ratio * 100000) / 1000}%`; - return valueLowPercent; - } + @query('#inputLow') + private _inputLow!: HTMLInputElement; - private _sliderHighThumbPosition() { - const ratio = (this.valueHigh - this.min) / (this.max - this.min); - const valueHighPercent = `${Math.floor(ratio * 100000) / 1000}%`; - return valueHighPercent; - } + @query('#inputHigh') + private _inputHigh!: HTMLInputElement; - /** Coloring of the line between thumbs */ + @query('.color') + private _innerColor!: HTMLElement; - private _fillColor() { - const percentStart = - ((this.valueLow - this.min) / (this.max - this.min)) * 100; - const percentEnd = - ((this.valueHigh - this.min) / (this.max - this.min)) * 100; + @query('#inner-color-thumb') + private _innerColorThumb!: HTMLElement; - this._innerColor.style.left = `${percentStart}%`; - this._innerColor.style.right = `${100 - percentEnd}%`; - } + /** Constructor and Validator */ - /** Moving thumb */ + constructor() { + super(); + // Keyboard + this.addEventListener('keypress', this._onKeypress); + // Mouse + this.addEventListener('mousedown', this._onMouseDown); + // Touch + this.addEventListener('touchstart', this._onTouchStart); - private _moveThumb(pageX: number) { - const value = this._getValue(pageX); - if (value >= this.valueHigh) this._setThumb(this._thumbHigh); - if (value <= this.valueLow) this._setThumb(this._thumbLow); - this._setValueBasedOnCurrentThumb( - this._validateValueBasedOnCurrentThumb(value) - ); + window.addEventListener('resize', () => { + this._trackWidth = this._outerTrack?.offsetWidth; + }); } - /** Mouse events */ + connectedCallback(): void { + super.connectedCallback(); + if (!this.value) { + // Lack value. Defaulting to the min and max attributes + this.value = `${this._min},${this._max}`; + } + } - private _onMouseDown = (e: MouseEvent) => { - e.preventDefault(); - if (this.disabled) return; - window.addEventListener('mouseup', this._onMouseUp); - window.addEventListener('mousemove', this._onMouseMove); + firstUpdated(changedProperties: Map) { + super.updated(changedProperties); + this._trackWidth = this._outerTrack.offsetWidth; + this._runPropertiesChecks(); + } - const target = e.composedPath()[0]; - const pageX = e.pageX; + private _runPropertiesChecks() { + // Note: We are checking if the attributes set makes any sense. - target == this._bothThumbsTarget - ? (this._grabbingBoth = true) - : (this._grabbingBoth = false); + const regex = new RegExp(/^-?\d+(\.\d+)?,-?\d+(\.\d+)?$/); // regex: Number Comma Number (optional: decimals and negatives) + if (!regex.test(this.value as string)) + console.error(`Range slider (Value error occurred): Bad input`); - if (this._grabbingBoth) { - this._saveStartPoint(pageX, this.valueLow, this.valueHigh); - return; + if (this._highInputValue === this._lowInputValue) { + console.error( + `Range slider (Value error occurred): Low-end and high-end value should never be equal. Use instead.` + ); } - this._moveThumb(pageX); - }; - - private _onMouseMove = (e: MouseEvent) => { - e.preventDefault(); - const pageX = e.pageX; - const val = this._getValue(pageX); - if (!this._grabbingBoth) - this._setValueBasedOnCurrentThumb( - this._validateValueBasedOnCurrentThumb(val) + if (this._lowInputValue > this._highInputValue) { + console.error( + `Range slider (Value error occurred): Low-end value should never be higher than high-end value.` ); - else this._moveBoth(pageX); - - this.dispatchEvent(new UUIRangeSliderEvent(UUIRangeSliderEvent.INPUT)); - }; - - private _onMouseUp = () => { - this._stop(); - window.removeEventListener('mouseup', this._onMouseUp); - window.removeEventListener('mousemove', this._onMouseMove); - }; - - /** Touch / mobile events */ - - private _onTouchStart = (e: TouchEvent) => { - e.preventDefault(); - if (this.disabled) return; + } - window.addEventListener('touchend', this._onTouchEnd); - window.addEventListener('touchmove', this._onTouchMove); + if (this._highInputValue > this._max || this._highInputValue < this._min) { + this.setValueHigh(this._max); + console.warn( + `Conflict with the high-end value and max value. High-end value has been converted to the max value (${this._max})` + ); + } - const target = e.composedPath()[0]; - const pageX = e.touches[0].pageX; + if (this._lowInputValue < this._min || this._lowInputValue > this._max) { + this.setValueLow(this._min); + console.warn( + `Conflict with the low-end value and min value. Low-end value has been converted to the min value (${this._min})` + ); + } - target == this._bothThumbsTarget - ? (this._grabbingBoth = true) - : (this._grabbingBoth = false); + // Step vs value logic + if (this._step <= 0) { + this._step = 1; + console.warn( + `Property step needs a value higher than 0. Converted the step value to 1 (default)` + ); + } - if (this._grabbingBoth) { - this._saveStartPoint(pageX, this.valueLow, this.valueHigh); - return; + if (((this._max - this._min) / this._step) % 1 !== 0) { + console.error( + `Conflict with step value and the min and max values. May experience bad side effects` + ); } - this._moveThumb(pageX); - }; - private _onTouchMove = (e: TouchEvent) => { - const pageX = e.touches[0].pageX; - const val = this._getValue(pageX); - if (!this._grabbingBoth) - this._setValueBasedOnCurrentThumb( - this._validateValueBasedOnCurrentThumb(val) + if (this._minGap && this._minGap < this._step) { + this._minGap = undefined; + console.warn( + `Conflict with min-gap and step value. The min-gap needs to be higher than the step value. Removed the min-gap property.` ); - else this._moveBoth(pageX); + } - this.dispatchEvent(new UUIRangeSliderEvent(UUIRangeSliderEvent.INPUT)); - }; + // Gaps + if (this._minGap && this._maxGap && this._minGap > this._maxGap) { + this._minGap = undefined; + this._maxGap = undefined; + console.warn( + `Conflict with min-gap and max-gap. Removed the min-gap and max-gap properties.` + ); + } - private _onTouchEnd = () => { - this._stop(); - window.removeEventListener('touchend', this._onTouchEnd); - window.removeEventListener('touchmove', this._onTouchMove); - }; + if (this._minGap && this._max - this._min < this._minGap) { + this._minGap = undefined; + console.warn( + `Conflict with the min-gap and the total range. Removed the min-gap.` + ); + } - /** */ + if ( + this._maxGap && + this._highInputValue - this._lowInputValue > this._maxGap + ) { + this.setValueHigh(this._lowInputValue + this._maxGap); + console.warn( + `Conflict with value and max-gap. High-end value has been converted to the highest possible value based on the low-end value and the max gap value (${this._highInputValue})` + ); + } - private _stop() { - this._grabbingBoth = false; - this.pristine = false; - this.dispatchEvent(new UUIRangeSliderEvent(UUIRangeSliderEvent.CHANGE)); + if ( + this._minGap && + this._highInputValue - this._lowInputValue < this._minGap + ) { + const minGap = this._minGap; + if (this._highInputValue - minGap < this._min) { + this.setValueHigh(this._lowInputValue + minGap); + console.warn( + `Conflict with value and min gap. High-end value has been converted to the lowest possible value based on the low-end value and the min gap value (${this._highInputValue}).` + ); + } else { + this.setValueLow(this._highInputValue - minGap); + console.warn( + `Conflict with value and min gap. Low-end value has been converted to the highest possible value based on the high-end value and the min gap value (${this._lowInputValue}).` + ); + } + } } - /** The latest thumb in use */ + private _updateInnerColor() { + const scopeLength = this._max - this._min; + const scopedLow = this._lowInputValue - this._min; + const scopedHigh = this._highInputValue - this._min; - private _setThumb(target: EventTarget | HTMLElement) { - this._currentThumbFocus = target === this._thumbLow ? 'low' : 'high'; + const leftPercent = (scopedLow / scopeLength) * 100; + const rightPercent = 100 - (scopedHigh / scopeLength) * 100; - this._currentThumbFocus === 'low' - ? (this._currentInputFocus = this._inputLow) - : (this._currentInputFocus = this._inputHigh); - - this.focus(); + this._lowValuePercentStart = clamp(leftPercent, 0, 100); + this._highValuePercentEnd = clamp(rightPercent, 0, 100); } - private _setValueBasedOnCurrentThumb(val: number) { - this._currentThumbFocus === 'low' - ? (this.valueLow = val) - : (this.valueHigh = val); - } - - /** Get the value depends on where clicked/touched */ - - private _getValue(pageX: number) { - const mouseXPosition = - pageX - this._innerTrack.getBoundingClientRect().left; + private _getClickedValue(pageX: number) { + const outerTrackMargin = this._outerTrack.getBoundingClientRect().left; + const mouseXPosition = pageX - outerTrackMargin - TRACK_PADDING; const clickPercent = mouseXPosition / (this._trackWidth - TRACK_PADDING * 2); - const clickedValue = clickPercent * (this.max - this.min) + this.min; - const newValue = Math.round(clickedValue / this.step) * this.step; - - return newValue; + const clickedValue = clickPercent * (this._max - this._min) + this._min; + return Math.round(clickedValue / this._step) * this._step; } - private _validateLowByMinGap(value: number) { - if (!this.minGap || this.minGap <= this.step) return value; - return value + this.minGap >= this.valueHigh - ? this.valueHigh - this.minGap - : value; - } + /** Events */ - private _validateLowByMaxGap(value: number) { - if (!this.maxGap) return value; - return this.valueHigh - value >= this.maxGap - ? this.valueHigh - this.maxGap - : value; - } + private _onKeypress = (e: KeyboardEvent) => { + if (e.key == 'Enter') { + this.submit(); + } + }; - private _validateHighByMinGap(value: number) { - if (!this.minGap || this.minGap <= this.step) return value; - return value <= this.valueLow + this.minGap - ? this.valueLow + this.minGap - : value; - } + /** Touch Event */ + private _onTouchStart = (e: TouchEvent) => { + if (this.disabled) return; - private _validateHighByMaxGap(value: number) { - if (!this.maxGap) return value; - return value >= this.valueLow + this.maxGap - ? this.valueLow + this.maxGap - : value; - } + const target = e.composedPath()[0]; + if (target === this._outerTrack) return; + //Clicked on the inner track. - private _validateValueBasedOnCurrentThumb(newValue: number): number { - if (this._currentThumbFocus == 'low') { - let newLow: number; - newLow = - newValue < this.valueHigh - this.step - ? newValue - : this.valueHigh - this.step; - newLow = newLow >= this.min ? newLow : this.min; + if (target === this._innerColor || target === this._innerColorThumb) { + // If we clicked in the colored area - newLow = this.minGap ? this._validateLowByMinGap(newLow) : newLow; - newLow = this.maxGap ? this._validateLowByMaxGap(newLow) : newLow; + window.addEventListener('touchend', this._onTouchEnd); + window.addEventListener('touchcancel', this._onTouchEnd); + window.addEventListener('touchmove', this._onTouchMove); - return newLow; + this._movement = true; + this._saveStartPoints(e.touches[0].pageX); + } else { + // Else move just 1 thumb + const value = this._getClickedValue(e.touches[0].pageX); + const diffLow = Math.abs(this._lowInputValue - value); + const diffHigh = Math.abs(this._highInputValue - value); + if (diffLow < diffHigh) { + this.setValueLow(value); + } else { + this.setValueHigh(value); + } } + }; - let newHigh: number; - newHigh = - newValue > this.valueLow + this.step - ? newValue - : this.valueLow + this.step; - newHigh = newHigh <= this.max ? newHigh : this.max; - - newHigh = this.minGap ? this._validateHighByMinGap(newHigh) : newHigh; - newHigh = this.maxGap ? this._validateHighByMaxGap(newHigh) : newHigh; + private _onTouchMove = (e: TouchEvent) => { + this._dragBothValuesByMousePos(e.touches[0].pageX); + }; - return newHigh; - } + private _onTouchEnd = () => { + this._movement = false; + this.onChanged(); + window.removeEventListener('touchend', this._onTouchEnd); + window.removeEventListener('touchcancel', this._onTouchEnd); + window.removeEventListener('touchmove', this._onTouchMove); + }; - /** Methods when moving both thumbs */ + /** Mouse Event */ + private _onMouseDown = (e: MouseEvent) => { + if (this.disabled) return; - private _saveStartPoint(pageX: number, lowVal: number, highVal: number) { - this._startPos = pageX; - this._startLow = lowVal; - this._startHigh = highVal; - } + const target = e.composedPath()[0]; + if (target === this._outerTrack) return; + //Clicked on the inner track. - private _moveBoth(pageX: number) { - const drag = pageX - this._startPos; - const trackDiff = this.max - this.min; + if (target === this._innerColor || target === this._innerColorThumb) { + // If we clicked in the colored area + window.addEventListener('mouseup', this._onMouseUp); + window.addEventListener('mousemove', this._onMouseMove); - const dragPercent = drag / (this._trackWidth + TRACK_PADDING * 2); - const dragValue = - Math.round((dragPercent * trackDiff) / this.step) * this.step; + this._movement = true; + this._saveStartPoints(e.pageX); + } else { + // Else move just 1 thumb + const value = this._getClickedValue(e.pageX); + const diffLow = Math.abs(this._lowInputValue - value); + const diffHigh = Math.abs(this._highInputValue - value); + if (diffLow < diffHigh) { + this.setValueLow(value); + } else { + this.setValueHigh(value); + } + } + }; - const newValueLow = this._startLow + dragValue; - const newValueHigh = this._startHigh + dragValue; + private _onMouseMove = (e: MouseEvent) => { + e.preventDefault(); + this._dragBothValuesByMousePos(e.pageX); + }; - const value = this._getValidatedValues(newValueLow, newValueHigh); + private _onMouseUp = () => { + this._movement = false; + this.onChanged(); + window.removeEventListener('mouseup', this._onMouseUp); + window.removeEventListener('mousemove', this._onMouseMove); + }; - if (newValueLow === value.low && newValueHigh === value.high) { - this.valueLow = newValueLow; - this.valueHigh = newValueHigh; - this.dispatchEvent(new UUIRangeSliderEvent(UUIRangeSliderEvent.INPUT)); - } + /** Drag both thumbs logics */ + private _saveStartPoints(pageX: number) { + this.startPoint = { + mouse: pageX, + low: this._lowInputValue, + high: this._highInputValue, + }; } - private _getValidatedValues(low: number, high: number) { - const validatedLow = low > this.min ? low : this.min; - const validatedHigh = high < this.max ? high : this.max; - return { low: validatedLow, high: validatedHigh }; - } + private _dragBothValuesByMousePos(pageX: number) { + const trackWidth = this._outerTrack.offsetWidth; - /** CHANGE AND INPUT EVENT LISTENERS */ + const drag = pageX - this.startPoint.mouse; + const trackDiff = this._max - this._min; - private _onChange(e: Event) { - e.stopPropagation(); - this.pristine = false; - this.dispatchEvent(new UUIRangeSliderEvent(UUIRangeSliderEvent.CHANGE)); - } + const dragPercent = drag / (trackWidth + TRACK_PADDING * 2); + const dragValue = + Math.round((dragPercent * trackDiff) / this._step) * this._step; - private _onLowInput(e: Event) { - e.stopPropagation(); - let value = parseInt(this._inputLow.value); + const newValueLow = this.startPoint.low + dragValue; + const newValueHigh = this.startPoint.high + dragValue; - value = this._validateLowByMinGap(value); - value = this._validateLowByMaxGap(value); + this.setValue(newValueLow, newValueHigh, true); + this.dispatchEvent(new UUIRangeSliderEvent(UUIRangeSliderEvent.INPUT)); + } - this._inputLow.value = String(value); - this.valueLow = value; + /** Input Events */ + private _onLowInput(e: Event) { + if (this.disabled) e.preventDefault(); + this._currentFocus = this._inputLow; + const newValue = Number((e.target as HTMLInputElement).value); + this.setValueLow(newValue); this.dispatchEvent(new UUIRangeSliderEvent(UUIRangeSliderEvent.INPUT)); } private _onHighInput(e: Event) { - e.stopPropagation(); - let value = parseInt(this._inputHigh.value); - - value = this._validateHighByMinGap(value); - value = this._validateHighByMaxGap(value); - - this._inputHigh.value = String(value); - this.valueHigh = value; + if (this.disabled) e.preventDefault(); + this._currentFocus = this._inputHigh; + const newValue = Number((e.target as HTMLInputElement).value); + this.setValueHigh(newValue); this.dispatchEvent(new UUIRangeSliderEvent(UUIRangeSliderEvent.INPUT)); } - /** Constructor */ - - constructor() { - super(); - // Keyboard - this.addEventListener('keypress', this._onKeypress); - // Mouse - this.addEventListener('mousedown', this._onMouseDown); - // Touch - this.addEventListener('touchstart', this._onTouchStart); - - this.addValidator( - 'stepMismatch', - () => `Step property needs to be higher than 0`, - () => this.step <= 0 - ); - - this.addValidator( - 'stepMismatch', - () => `Maxmimum gap needs to be higher than minimum gap`, - () => !!this.maxGap && !!this.minGap && this.maxGap <= this.minGap - ); - - this.addValidator( - 'rangeUnderflow', - () => - `The lower end value (${this.valueLow}) cannot be below the the minimum value setting (${this.min})`, - () => this.valueLow < this.min - ); - this.addValidator( - 'rangeOverflow', - () => - `The higher end value (${this.valueHigh}) cannot be above the the maximum value setting (${this.max})`, - () => this.valueHigh > this.max - ); + /** Change Events */ + private _onLowChange() { + this.setValueLow(Number(this._inputLow.value)); + this.onChanged(); } - connectedCallback(): void { - super.connectedCallback(); - this.#setValue(); - window.addEventListener('resize', () => { - this._trackWidth = this._outerTrack.offsetWidth; - }); + private _onHighChange() { + this.setValueHigh(Number(this._inputHigh.value)); + this.onChanged(); } - updated(changedProperties: Map) { - super.updated(changedProperties); - this._trackWidth = this._outerTrack.offsetWidth; - this._fillColor(); + protected onChanged() { + this.pristine = false; + this.dispatchEvent(new UUIRangeSliderEvent(UUIRangeSliderEvent.CHANGE)); } - /** RENDER */ + /** Render */ render() { return html`
- ${this.renderNativeInputs()} + ${this._renderNativeInputs()}
- - ${this.renderStepsOutput()} ${this.renderThumbs()} +
+ ${this._renderThumbValues()} +
+
+ ${this._renderSteps()}
-
${this.renderStepValues()}
`; } - renderNativeInputs() { - return html` - `; + private _renderThumbValues() { + return html`
+ ${this._lowInputValue} + ${this._highInputValue} +
`; } - renderThumbs() { - return html`
-
${this.valueLow}
-
-
-
${this.valueHigh}
-
`; - } + private _renderSteps() { + const stepAmount = (this._max - this._min) / this._step; + const stepWidth = (this._trackWidth - TRACK_PADDING * 2) / stepAmount; - /** RENDER STEPS & STEP VALUES */ - renderStepsOutput() { - return html`
+ if (stepWidth < STEP_MIN_WIDTH) return; + if (stepAmount % 1 !== 0) return; + + let index = 0; + const stepPositions = new Array(stepAmount + 1) + .fill(stepWidth) + .map(stepWidth => stepWidth * index++); + + return html`
- ${this.renderSteps()} + ${this._renderStepCircles(stepPositions)} + ${this._renderStepValues(stepAmount)}
`; } - renderSteps() { - const stepAmount = (this.max - this.min) / this.step; - const stepWidth = (this._trackWidth - TRACK_PADDING * 2) / stepAmount; - const trackValue = this._trackWidth / (this.max - this.min); + private _renderStepValues(stepAmount: number) { + if (this.hideStepValues || stepAmount > 20) return; - if (stepWidth >= STEP_MIN_WIDTH) { - let i = 0; - const steps = []; - for (i; i <= stepAmount; i++) { - steps.push(i * stepWidth); - } - const colorClass = this.disabled == false ? `filled` : `filled-disabled`; - return svg` - ${steps.map(position => { - const x = position + TRACK_PADDING; - if ( - x / trackValue > this.valueLow - this.min && - x / trackValue < this.valueHigh - this.min - ) { - return svg``; - } else { - return svg``; - } - })}`; - } else { - return svg``; - } + let index = 0; + const stepValues = new Array(stepAmount + 1) + .fill(this._step) + .map(step => this._min + step * index++); + + return html`
+ ${stepValues.map(value => html`${value}`)} +
`; } - renderStepValues() { - if (this.hideStepValues) return nothing; - const stepAmount = (this.max - this.min) / this.step; - const stepWidth = (this._trackWidth - TRACK_PADDING * 2) / stepAmount; + private _renderStepCircles(stepPositionArray: Array) { + const trackValue = this._trackWidth / (this._max - this._min); - if (stepWidth >= STEP_MIN_WIDTH && stepAmount <= 20) { - let i = 0; - const stepValues = []; - for (i; i <= stepAmount; i++) { - stepValues.push(i * this.step + this.min); + return svg`${stepPositionArray.map(position => { + const cx = position + TRACK_PADDING; + const colorStart = this._lowInputValue - this._min; + const colorEnd = this._highInputValue - this._min; + + if (cx / trackValue >= colorStart && cx / trackValue <= colorEnd) { + return svg``; + } else { + return svg``; } - return html` ${stepValues.map(stepValue => { - return html`${stepValue}`; - })}`; - } else { - return nothing; - } + })}`; + } + + private _renderNativeInputs() { + return html`
+ + +
`; } + /** Style */ static styles = [ - UUIHorizontalPulseKeyframes, css` :host { - display: block; - min-height: 50px; - width: 100%; - place-items: center; - -webkit-user-select: none; /* Safari */ - -moz-user-select: none; /* Firefox */ - -ms-user-select: none; /* IE10+/Edge */ - user-select: none; - cursor: pointer; + --color-interactive: var(--uui-color-selected); + --color-hover: var(--uui-color-selected-emphasis); + --color-focus: var(--uui-color-focus); + min-height: 30px; } - :host([disabled]) { - cursor: default; + :host([error]) { + --color-interactive: var(--uui-color-danger-standalone); + --color-hover: var(--uui-color-danger); } - /** NATIVE INPUT STYLING */ - - input { - -webkit-appearance: none; - -moz-appearance: none; - appearance: none; - position: absolute; - top: 0; - background-color: transparent; - pointer-events: none; - left: 0; - right: 0; - border-radius: 20px; - } - - input::-webkit-slider-thumb { - pointer-events: all; + #range-slider { + min-height: 30px; + box-sizing: border-box; position: relative; - z-index: 1; - outline: 0; + display: flex; + align-items: center; } - input::-moz-range-thumb { - pointer-events: all; - position: relative; - z-index: 10; - -moz-appearance: none; - background: linear-gradient(to bottom, #ededed 0%, #dedede 100%); - width: 11px; - } + /** Track */ - input::-moz-range-track { - position: relative; - z-index: -1; - background-color: rgba(0, 0, 0, 0.15); - border: 0; + #inner-track { + user-select: none; + background-color: var(--uui-color-border-standalone); + position: absolute; + height: 3px; + left: ${TRACK_PADDING}px; /* Match TRACK_MARGIN */ + right: ${TRACK_PADDING}px; /* Match TRACK_MARGIN */ } - input:last-of-type::-moz-range-track { - -moz-appearance: none; - background: none transparent; - border: 0; + :host(:not([disabled]):hover) #inner-track, + :host(:not([disabled]):active) #inner-track { + background-color: var(--uui-color-border-emphasis); } - /** TRACK */ - - #inner-track .color-target { + #inner-color-thumb { + margin: -9px 0 0; position: absolute; - z-index: 2; - left: 0; - right: 0; - height: 25px; - transform: translateY(-50%); + display: flex; + flex-direction: column; + justify-content: center; + height: ${THUMB_SIZE}px; + cursor: grab; + user-select: none; + z-index: ${Z_INDEX.CENTER}; } - #inner-track .color { - height: 3px; - position: absolute; - transition: background-color 320ms ease-out; + :host([disabled]) #inner-color-thumb { + cursor: default; } - :host(:not([disabled])) - #range-slider - #inner-track - .color:has(.color-target:hover), - :host(:not([disabled])) - #range-slider - #inner-track - .color:has(.color-target:active) { - background-color: var(--uui-color-focus); - } + /** Colored part of track */ - :host(:not([disabled])) #range-slider .color { - background-color: var(--uui-color-selected); + :host([disabled]) #range-slider #inner-color-thumb .color { + background-color: var(--uui-palette-mine-grey) !important; } - :host([disabled]) #range-slider .color { - background-color: #555; + #inner-color-thumb:focus .color { + background-color: var(--color-focus); } - - #range-slider { - transform: translateY(50%); - position: relative; - height: 18px; - display: flex; - flex-direction: column; - width: 100%; + #inner-color-thumb:hover .color, + #inner-color-thumb .color.active { + background-color: var(--color-hover); + } + #inner-color-thumb:hover .color { + height: 5px; + background-color: var(--color-hover); } - #inner-track { - border-radius: 10px; + .color { + user-select: none; position: absolute; + inset-inline: 0; height: 3px; - background-color: var(--uui-color-border-standalone); - left: ${TRACK_PADDING}px; /* Match TRACK_MARGIN */ - right: ${TRACK_PADDING}px; /* Match TRACK_MARGIN */ + transform: translateY(2px); + background-color: var(--color-interactive); + transition: height 60ms; } - #range-slider:hover #inner-track, - #range-slider:active #inner-track { - background-color: #a1a1a1; + :host([error]) .color { + background-color: var(--uui-color-danger-standalone); + } + :host([error]) #inner-color-thumb:hover ~ .color, + :host([error]) #inner-color-thumb:focus ~ .color { + background-color: var(--uui-color-danger-emphasis); } - /** STEP VALUES */ + /** Steps */ + .step-wrapper { + margin: 0 ${-1 * TRACK_PADDING}px; + height: 11px; + position: absolute; + left: 0; + right: 0; + top: -10px; + } + /** Step circles */ .track-step { fill: var(--uui-color-border); } + :host(:not([disabled]):hover) #inner-track .track-step.regular, + :host(:not([disabled]):active) #inner-track .track-step.regular { + fill: var(--uui-color-border-emphasis); + } + :host .track-step.filled { - fill: var(--uui-color-selected) !important; + fill: var(--color-interactive); } - :host .track-step.filled-disabled { - fill: var(--uui-palette-mine-grey) !important; + :host([error]) .track-step.filled { + fill: var(--uui-color-danger-emphasis); } - #range-slider:hover .track-step, - #range-slider:active .track-step { - fill: #a1a1a1; + :host #inner-color-thumb.active ~ .step-wrapper .track-step.filled, + :host #inner-color-thumb:hover ~ .step-wrapper .track-step.filled { + fill: var(--color-hover); } - #step-values { + :host([disabled]) #range-slider .track-step.filled { + fill: var(--uui-palette-mine-grey) !important; + } + + /** Step values */ + + .step-values { + box-sizing: border-box; margin: 0 ${TRACK_PADDING}px; /* Match TRACK_MARGIN */ - padding-top: ${TRACK_PADDING + 3}px; display: flex; - align-items: flex-end; - box-sizing: border-box; + justify-content: space-between; + font-size: var(--uui-type-small-size); } - #step-values > span { - flex-basis: 0; - flex-grow: 1; + .step-values > span { + position: relative; color: var(--uui-color-disabled-contrast); } - #step-values > span > span { + .step-values > span > span { + position: absolute; transform: translateX(-50%); - display: inline-block; - text-align: center; - font-size: var(--uui-type-small-size); - } - - #step-values > span:last-child { - width: 0; - flex-grow: 0; } - .svg-wrapper { - margin: 0 ${-1 * TRACK_PADDING}px; - height: 18px; - transform: translateY(-75%); - } + /** Input */ - .svg-wrapper svg { - margin-top: ${TRACK_PADDING / 2}px; + .native-wrapper { + position: relative; + width: 100%; + inset-inline: 0px; + margin: -22px 5px 0 1px; } - /** FOCUS */ - - input[type='range'] { + input { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; + pointer-events: none; position: absolute; - left: 0; - right: 0; - top: -50%; + cursor: pointer; + background-color: transparent; + inset-inline: 0; + width: 100%; + border-radius: 20px; } - input[type='range']:focus-visible { + input:focus-within { outline: none; } - #low-input:focus-visible ~ #inner-track #low-thumb, - #high-input:focus-visible ~ #inner-track #high-thumb, - #low-input:focus ~ #inner-track #low.thumb, - #high-input:focus ~ #inner-track #high-thumb, - #low-input:active ~ #inner-track #low.thumb, - #high-input:active ~ #inner-track #high-thumb { - outline: calc(2px * var(--uui-show-focus-outline, 1)) solid - var(--uui-color-focus); - } - - input[type='range']:focus + .thumb { - outline: calc(2px * var(--uui-show-focus-outline, 1)) solid - var(--uui-color-focus); + /** Thumb values */ + .thumb-values { + box-sizing: border-box; + display: flex; + justify-content: space-between; + color: var(--color-interactive); + font-weight: bold; + transition: 120ms opacity; + opacity: 0; } - :host(:not([disabled])) - #range-slider - #inner-track - .color:has(.color-target:hover) - ~ #low-thumb, - :host(:not([disabled])) - #range-slider - #inner-track - .color:has(.color-target:active) - ~ #low-thumb, - :host(:not([disabled])) - #range-slider - #inner-track - .color:has(.color-target:hover) - ~ #high-thumb, - :host(:not([disabled])) - #range-slider - #inner-track - .color:has(.color-target:active) - ~ #high-thumb { - outline: calc(2px * var(--uui-show-focus-outline, 1)) solid - var(--uui-color-focus); + .thumb-values > span { + width: 0; } - /** THUMBS */ - - .thumb { - z-index: 3; - transform: translateY(-50%); + .thumb-values > span > span { + bottom: 15px; position: absolute; - top: 2px; - bottom: 0px; - left: 0px; - height: 17px; - width: 17px; - margin-left: -8px; - margin-right: -8px; - border-radius: 50%; - box-sizing: border-box; - background-color: var(--uui-color-surface, #fff); - border: 2px solid var(--uui-color-selected, #3544b1); - transition: left 120ms ease 0s; + transform: translateX(-50%); } - .thumb:after { - content: ''; - position: absolute; - top: 2px; - left: 2px; - height: 9px; - width: 9px; - border-radius: 50%; - background-color: var(--uui-color-selected); + :host([disabled]) .thumb-values { + color: var(--uui-palette-mine-grey); } - :host([disabled]) .thumb { - background-color: var(--uui-color-disabled); - border-color: var(--uui-palette-mine-grey); - } - :host([disabled]) .thumb:after { - background-color: var(--uui-palette-mine-grey); + #range-slider:hover .thumb-values { + opacity: 1; } - .thumb .value { - position: absolute; - box-sizing: border-box; - font-weight: 700; - bottom: 15px; - left: 50%; - width: 40px; - margin-left: -20px; - text-align: center; - opacity: 1; - transition: 120ms opacity; - color: var(--uui-color-selected); - visibility: hidden; - opacity: 0; + /** Native thumbs */ + /** Chrome */ + input::-webkit-slider-thumb { + -webkit-appearance: none; + pointer-events: all; + cursor: grab; + position: relative; + z-index: ${Z_INDEX.TOP}; + width: ${THUMB_SIZE}px; + height: ${THUMB_SIZE}px; + border-radius: 24px; + border: none; + background-color: var(--color-interactive); + overflow: visible; + box-shadow: inset 0 0 0 2px var(--color-interactive), + inset 0 0 0 4px var(--uui-color-surface); + } + :host([disabled]) input::-webkit-slider-thumb { + cursor: default; } - :host([disabled]) .thumb .value { - color: var(--uui-palette-mine-grey); + input:focus-within::-webkit-slider-thumb, + input.focus::-webkit-slider-thumb { + background-color: var(--color-focus); + box-shadow: inset 0 0 0 2px var(--color-focus), + inset 0 0 0 4px var(--uui-color-surface), 0 0 0 2px var(--color-focus); + } + input::-webkit-slider-thumb:hover { + background-color: var(--color-hover); + box-shadow: inset 0 0 0 2px var(--color-hover), + inset 0 0 0 4px var(--uui-color-surface); } - #range-slider:active .thumb .value, - #range-slider:focus .thumb .value, - #range-slider:hover .thumb .value { - visibility: visible; - opacity: 1; + :host([disabled]) #range-slider input::-webkit-slider-thumb { + background-color: var(--uui-palette-mine-grey); + box-shadow: inset 0 0 0 2px var(--uui-palette-mine-grey), + inset 0 0 0 4px var(--uui-color-surface); } - /** NATIVE THUMB STYLING */ + /** Mozilla */ - input[type='range']::-webkit-slider-thumb { - -webkit-appearance: none; - appearance: none; - width: 17px; - height: 17px; - background-color: transparent; - display: block; - border-radius: 100%; - pointer-events: auto; - cursor: pointer; - } - input[type='range']:disabled::-webkit-slider-thumb { + input::-moz-range-thumb { + -moz-appearance: none; + pointer-events: all; + cursor: grab; + position: relative; + z-index: ${Z_INDEX.TOP}; + width: ${THUMB_SIZE}px; + height: ${THUMB_SIZE}px; + border-radius: 24px; + border: none; + background-color: var(--color-interactive); + overflow: visible; + box-shadow: inset 0 0 0 2px var(--color-interactive), + inset 0 0 0 4px var(--uui-color-surface); + } + :host([disabled]) input::-moz-range-thumb { cursor: default; } - input[type='range']::-moz-range-thumb { - -moz-appearance: none; - appearance: none; - width: 17px; - height: 17px; - background-color: transparent; - display: block; - border-radius: 100%; - pointer-events: auto; - cursor: pointer; + input:focus-within::-moz-range-thumb, + input.focus::-moz-range-thumb { + background-color: var(--color-focus); + box-shadow: inset 0 0 0 2px var(--color-focus), + inset 0 0 0 4px var(--uui-color-surface), 0 0 0 2px var(--color-focus); } - input[type='range']:disabled::-moz-range-thumb { - cursor: default; + input::-moz-range-thumb:hover { + background-color: var(--color-hover); + box-shadow: inset 0 0 0 2px var(--color-hover), + inset 0 0 0 4px var(--uui-color-surface); } - input[type='range']::-ms-thumb { - appearance: none; - width: 17px; - height: 17px; - background-color: transparent; - display: block; - border-radius: 100%; - pointer-events: auto; - cursor: pointer; - } - input[type='range']:disabled::-ms-thumb { - cursor: default; + :host([disabled]) #range-slider input::-moz-range-thumb { + background-color: var(--uui-palette-mine-grey); + box-shadow: inset 0 0 0 2px var(--uui-palette-mine-grey), + inset 0 0 0 4px var(--uui-color-surface); } `, ]; diff --git a/packages/uui-range-slider/lib/uui-range-slider.story.ts b/packages/uui-range-slider/lib/uui-range-slider.story.ts index 395255aec..fc4b9f3aa 100644 --- a/packages/uui-range-slider/lib/uui-range-slider.story.ts +++ b/packages/uui-range-slider/lib/uui-range-slider.story.ts @@ -11,11 +11,13 @@ export default { component: 'uui-range-slider', args: { step: 10, - minGap: 10, - maxGap: 0, - valueLow: 0, - valueHigh: 70, + min: 0, + max: 100, + minGap: undefined, + maxGap: undefined, + value: '0,20', disabled: false, + error: false, hideStepValues: false, label: 'range', }, @@ -33,13 +35,13 @@ const Template: Story = props => html` diff --git a/packages/uui-range-slider/lib/uui-range-slider.test.ts b/packages/uui-range-slider/lib/uui-range-slider.test.ts index 0b8ff2d48..ed938e3fc 100644 --- a/packages/uui-range-slider/lib/uui-range-slider.test.ts +++ b/packages/uui-range-slider/lib/uui-range-slider.test.ts @@ -19,12 +19,14 @@ describe('UUIRangeSliderElement', () => { let inputHigh: HTMLInputElement; beforeEach(async () => { - element = await fixture(html` `); + element = await fixture( + html`` + ); inputLow = element.shadowRoot?.querySelector( - '#low-input' + '#inputLow' ) as HTMLInputElement; inputHigh = element.shadowRoot?.querySelector( - '#high-input' + '#inputHigh' ) as HTMLInputElement; }); @@ -46,14 +48,12 @@ describe('UUIRangeSliderElement', () => { expect(inputLow.disabled).to.be.true; expect(inputHigh.disabled).to.be.true; }); + it('has a label property', () => { expect(element).to.have.property('label'); }); - it('has a valueLow property', () => { - expect(element).to.have.property('valueLow'); - }); - it('has a valueHigh property', () => { - expect(element).to.have.property('valueHigh'); + it('has a value property', () => { + expect(element).to.have.property('value'); }); it('has a min property', () => { expect(element).to.have.property('min'); @@ -111,15 +111,18 @@ describe('UUIRangeSliderElement', () => { expect(event.type).to.equal(UUIRangeSliderEvent.INPUT); expect(event!.target).to.equal(element); }); - it('changes the valueLow to the input value when input event is emitted on inputLow', async () => { - inputLow.value = '10'; + + it('changes the value when the low-end value changes', async () => { + const LowEnd = '30'; + inputLow.value = LowEnd; inputLow.dispatchEvent(new Event('input')); - expect(element.valueLow).to.equal(10); + expect(element.value).to.equal(`${LowEnd},${inputHigh.value}`); }); - it('changes the valueHigh to the input value when input event is emitted on inputHigh', async () => { - inputHigh.value = '50'; + it('changes the value when the high-end value changes', async () => { + const HighEnd = '80'; + inputHigh.value = HighEnd; inputHigh.dispatchEvent(new Event('input')); - expect(element.valueHigh).to.equal(50); + expect(element.value).to.equal(`${inputLow.value},${HighEnd}`); }); }); }); @@ -132,42 +135,31 @@ describe('UUIRangeSlider in a form', () => { formElement = await fixture( html`
` ); element = formElement.querySelector('uui-range-slider') as any; }); - it('valueLow is correct', async () => { - await expect(element.valueLow).to.be.equal(20); - }); - it('valueHigh is correct', async () => { - await expect(element.valueHigh).to.be.equal(50); + it('Value is correct', async () => { + await expect(element.value).to.be.equal('10,90'); }); it('form output', async () => { - const formData = new FormData(formElement); - await expect(formData.get('slider')).to.be.equal('20,50'); - }); - - it('change low and high values and check output', async () => { - element.valueLow = 10; - element.valueHigh = 90; const formData = new FormData(formElement); await expect(formData.get('slider')).to.be.equal('10,90'); }); - it('change component value and check output', async () => { - formElement.value = '20,50'; + it('change low and high values and check output', async () => { + element.value = '50,60'; const formData = new FormData(formElement); - await expect(formData.get('slider')).to.be.equal('20,50'); + await expect(formData.get('slider')).to.be.equal('50,60'); }); describe('submit', () => { From 2c07336ab84a43d113b5c314cd48e75b8582d12f Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Wed, 18 Oct 2023 08:55:42 +0200 Subject: [PATCH 24/25] docs: add new component to readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f174ea23b..208d9c85d 100644 --- a/README.md +++ b/README.md @@ -99,6 +99,7 @@ If you want to develop a component or contribute to the repository go to ["Get s | [``](packages/uui-toast-notification-container) | [![npm](https://img.shields.io/npm/v/@umbraco-ui/uui-toast-notification-container?logoColor=%231B264F)](https://www.npmjs.com/package/@umbraco-ui/uui-toast-notification-container) | | [``](packages/uui-toast-notification-layout) | [![npm](https://img.shields.io/npm/v/@umbraco-ui/uui-toast-notification-layout?logoColor=%231B264F)](https://www.npmjs.com/package/@umbraco-ui/uui-toast-notification-layout) | | [``](packages/uui-toggle) | [![npm](https://img.shields.io/npm/v/@umbraco-ui/uui-toggle?logoColor=%231B264F)](https://www.npmjs.com/package/@umbraco-ui/uui-toggle) | +| [``](packages/uui-visually-hidden) | [![npm](https://img.shields.io/npm/v/@umbraco-ui/uui-visually-hidden?logoColor=%231B264F)](https://www.npmjs.com/package/@umbraco-ui/uui-visually-hidden) | ## Get started From 01643d28392fe45232b1e508cad78ba65efa0443 Mon Sep 17 00:00:00 2001 From: Jacob Overgaard <752371+iOvergaard@users.noreply.github.com> Date: Wed, 18 Oct 2023 08:57:30 +0200 Subject: [PATCH 25/25] build: add reference to new uui-visually-hidden component --- package-lock.json | 3 ++- packages/uui/package.json | 3 ++- packages/uui/tsconfig.json | 3 +++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index 88a7f263a..a98f635f5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32064,7 +32064,8 @@ "@umbraco-ui/uui-toast-notification": "1.5.0-rc.1", "@umbraco-ui/uui-toast-notification-container": "1.5.0-rc.1", "@umbraco-ui/uui-toast-notification-layout": "1.5.0-rc.1", - "@umbraco-ui/uui-toggle": "1.5.0-rc.1" + "@umbraco-ui/uui-toggle": "1.5.0-rc.1", + "@umbraco-ui/uui-visually-hidden": "1.5.0-rc.1" } }, "packages/uui-action-bar": { diff --git a/packages/uui/package.json b/packages/uui/package.json index 51083ab07..efef020a3 100644 --- a/packages/uui/package.json +++ b/packages/uui/package.json @@ -116,7 +116,8 @@ "@umbraco-ui/uui-toast-notification": "1.5.0-rc.1", "@umbraco-ui/uui-toast-notification-container": "1.5.0-rc.1", "@umbraco-ui/uui-toast-notification-layout": "1.5.0-rc.1", - "@umbraco-ui/uui-toggle": "1.5.0-rc.1" + "@umbraco-ui/uui-toggle": "1.5.0-rc.1", + "@umbraco-ui/uui-visually-hidden": "1.5.0-rc.1" }, "scripts": { "build": "npm run analyze && tsc --build && rollup -c rollup.config.js", diff --git a/packages/uui/tsconfig.json b/packages/uui/tsconfig.json index 3894f3c62..bd6671d83 100644 --- a/packages/uui/tsconfig.json +++ b/packages/uui/tsconfig.json @@ -249,6 +249,9 @@ }, { "path": "../uui-toggle" + }, + { + "path": "../uui-visually-hidden" } ] }