diff --git a/types/pxr-oneline/index.d.ts b/types/pxr-oneline/index.d.ts index b7f611dc24e276..97166768998f43 100644 --- a/types/pxr-oneline/index.d.ts +++ b/types/pxr-oneline/index.d.ts @@ -31,6 +31,11 @@ declare namespace OneLine { */ requestSpecificAdUnits(adUnitIds: string[]): void; setBettingCookie(betting: boolean): void; + getBaseAdvertisingConfig(): jwplayer.AdvertisingConfig | undefined; + hasVisibleVideoAdUi(container: HTMLElement): boolean; + isJwPlayerAdBreakActive(container: HTMLElement): boolean; + suspendJwPlayerContent(container: HTMLElement): void; + resumeJwPlayerContent(container: HTMLElement): void; } interface VideoCustomParameters { [key: string]: number | string | undefined; @@ -102,5 +107,20 @@ declare namespace OneLine { type NoParamFunction = () => void; type ParamFunction = (arg: any) => void; } +declare namespace jwplayer { + interface AdvertisingConfig { + client: "vast" | "googima"; + endstate?: string; + outstream?: boolean; + rules?: { + deferAds?: Record; + frequency?: number; + startOn?: number; + startOnSeek?: string; + timeBetweenAds?: number; + }; + vpaidcontrols?: boolean; + } +} declare const OneLine: OneLine.OneLine; export = OneLine; diff --git a/types/pxr-oneline/oneline-tests.ts b/types/pxr-oneline/oneline-tests.ts index 54ac502c331a15..2e75316e71ac2a 100644 --- a/types/pxr-oneline/oneline-tests.ts +++ b/types/pxr-oneline/oneline-tests.ts @@ -13,6 +13,19 @@ interface BidderConfig { type NoParamFunction = () => void; type ParamFunction = (arg: any) => void; +interface AdvertisingConfig { + client: "vast" | "googima"; + endstate?: string; + outstream?: boolean; + rules?: { + deferAds?: Record; + frequency?: number; + startOn?: number; + startOnSeek?: string; + timeBetweenAds?: number; + }; + vpaidcontrols?: boolean; +} interface SocialConsents { vendors: { @@ -130,6 +143,18 @@ const ndOne: OneLine.OneLine = { // Mock implementation for setBettingCookie this.setBettingCookie(betting); }, + getBaseAdvertisingConfig: () => { + const config: AdvertisingConfig = { client: "vast" }; + return config; + }, + hasVisibleVideoAdUi: (container: HTMLElement) => { + return container.childElementCount > 0; + }, + isJwPlayerAdBreakActive: (container: HTMLElement) => { + return container.classList.contains("jw-flag-ads"); + }, + suspendJwPlayerContent: (_container: HTMLElement) => {}, + resumeJwPlayerContent: (_container: HTMLElement) => {}, }; // Test cases @@ -141,3 +166,12 @@ ndOne.requestVideoPlayerAds(() => { console.log("Video player ads bidding complete"); }); ndOne.setBettingCookie(true); +const advertisingConfig = ndOne.getBaseAdvertisingConfig(); +if (advertisingConfig) { + advertisingConfig.client; +} +const playerContainer = document.createElement("div"); +ndOne.hasVisibleVideoAdUi(playerContainer); +ndOne.isJwPlayerAdBreakActive(playerContainer); +ndOne.suspendJwPlayerContent(playerContainer); +ndOne.resumeJwPlayerContent(playerContainer); diff --git a/types/pxr-oneline/package.json b/types/pxr-oneline/package.json index dcd3efa87cd57e..221cd21761abb1 100644 --- a/types/pxr-oneline/package.json +++ b/types/pxr-oneline/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@types/pxr-oneline", - "version": "1.14.9999", + "version": "1.15.9999", "nonNpm": true, "nonNpmDescription": "The OneLine handles all the logic needed for a publisher to serve ads.", "projects": [ diff --git a/types/woosmap.map/index.d.ts b/types/woosmap.map/index.d.ts index b8c08742461893..5c39acefac35b3 100644 --- a/types/woosmap.map/index.d.ts +++ b/types/woosmap.map/index.d.ts @@ -1593,6 +1593,13 @@ declare namespace woosmap.map { * The initial tilt to start from. */ tilt?: number; + /** + * Opt into the upcoming visual refresh styles. When true, the resolved style + * is upgraded to its refreshed counterpart (e.g. `streets` -> `streets_next`). + * If unset, falls back to `woosmap.map.config.getVisualRefresh()` (default false). + * Experimental — will be removed once the refreshed styles become the default. + */ + visualRefresh?: boolean; /** * The initial map zoom level to start from. */ diff --git a/types/woosmap.map/woosmap.map-tests.ts b/types/woosmap.map/woosmap.map-tests.ts index b08d4b36fdc0dd..71bc68c13babbc 100644 --- a/types/woosmap.map/woosmap.map-tests.ts +++ b/types/woosmap.map/woosmap.map-tests.ts @@ -22,6 +22,7 @@ const mapOptions = expectType({ ], enableMarkerAccessibleNavigation: true, mapTypeId: woosmap.map.MapTypeId.ROADMAP, + visualRefresh: true, }) as woosmap.map.MapOptions; const map = new woosmap.map.Map(document.getElementById("mapContainer") as HTMLElement, mapOptions);