diff --git a/packages/webawesome/docs/docs/resources/changelog.md b/packages/webawesome/docs/docs/resources/changelog.md index e8588a568..012763d8d 100644 --- a/packages/webawesome/docs/docs/resources/changelog.md +++ b/packages/webawesome/docs/docs/resources/changelog.md @@ -11,6 +11,10 @@ Web Awesome follows [Semantic Versioning](https://semver.org/). Breaking changes Components with the Experimental badge should not be used in production. They are made available as release candidates for development and testing purposes. As such, changes to experimental components will not be subject to semantic versioning. +## Next + +- Fixed a bug in `` that prevented the listbox from opening when options were preselected [issue:1883] + ## 3.1.0 - Added `` as an experimental pro component [issue:1074] @@ -516,4 +520,4 @@ Many of these changes and improvements were the direct result of feedback from u -Did we miss something? [Let us know!](https://github.com/shoelace-style/webawesome/discussions) \ No newline at end of file +Did we miss something? [Let us know!](https://github.com/shoelace-style/webawesome/discussions) diff --git a/packages/webawesome/src/events/events.ts b/packages/webawesome/src/events/events.ts index c0c8681f8..0571baf7d 100644 --- a/packages/webawesome/src/events/events.ts +++ b/packages/webawesome/src/events/events.ts @@ -28,3 +28,4 @@ export type { WaSlideChangeEvent } from './slide-change.js'; export type { WaStartEvent } from './start.js'; export type { WaTabHideEvent } from './tab-hide.js'; export type { WaTabShowEvent } from './tab-show.js'; +export type { WaVideoChangeEvent } from './video-change.js'; diff --git a/packages/webawesome/src/events/video-change.ts b/packages/webawesome/src/events/video-change.ts new file mode 100644 index 000000000..b292d4b1a --- /dev/null +++ b/packages/webawesome/src/events/video-change.ts @@ -0,0 +1,26 @@ +export class WaVideoChangeEvent extends Event { + readonly detail: WaVideoChangeEventDetail; + + constructor(detail: WaVideoChangeEventDetail) { + super('wa-video-change', { bubbles: true, cancelable: false, composed: true }); + this.detail = detail; + } +} + +export interface WaVideoChangeEventDetail { + previousIndex: number; + currentIndex: number; + video: { + title?: string; + poster?: string; + duration?: string; + sources: { src: string; type: string }[]; + tracks: { src: string; kind: string; srclang: string; label: string }[]; + }; +} + +declare global { + interface GlobalEventHandlersEventMap { + 'wa-video-change': WaVideoChangeEvent; + } +}