From 09bbc9ef2c9d17b8160b352272a68abb407b770a Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Tue, 4 Aug 2026 12:57:46 -0700 Subject: [PATCH 1/3] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#75352=20[three?= =?UTF-8?q?]=20Consolidate=20TSL=20arithmetic=20overloads=20by=20@RyanCava?= =?UTF-8?q?naugh?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Copilot-Session: acd7943b-2e1e-446f-bb2b-f5be4234d11a --- types/three/src/nodes/math/OperatorNode.d.ts | 41 +++++++++---------- .../test/unit/src/nodes/math/OperatorNode.ts | 11 +++++ types/three/tsconfig.json | 1 + 3 files changed, 31 insertions(+), 22 deletions(-) create mode 100644 types/three/test/unit/src/nodes/math/OperatorNode.ts diff --git a/types/three/src/nodes/math/OperatorNode.d.ts b/types/three/src/nodes/math/OperatorNode.d.ts index b15b69d536e916..e2603058791fe5 100644 --- a/types/three/src/nodes/math/OperatorNode.d.ts +++ b/types/three/src/nodes/math/OperatorNode.d.ts @@ -329,21 +329,37 @@ interface Mul interface MulNumExtension extends AddSubMulDivNumberVecNumExtensions, MulMatNumNumExtensions { + (b: TNum extends "float" ? Node<"color"> : never): Node<"vec3">; +} + +interface AddVec2Extensions extends AddSubMulDivNumberVecVec2Extensions { + (b: TNum extends "float" ? Node<"color"> : never): Node<"vec3">; +} + +interface AddVec3Extensions extends AddSubMulDivNumberVecVec3Extensions { + (b: TNum extends "float" ? Node<"color"> : never): Node<"vec3">; +} + +interface AddVec4Extensions extends AddSubMulDivNumberVecVec4Extensions { + (b: TNum extends "float" ? Node<"color"> : never): Node<"vec4">; } interface MulVec2Extensions extends AddSubMulDivNumberVecVec2Extensions, MulVecMatVecExtensions { + (b: TNum extends "float" ? Node<"color"> : never): Node<"vec3">; } interface MulVec3Extensions extends AddSubMulDivNumberVecVec3Extensions, MulVecMatVecExtensions { + (b: TNum extends "float" ? Node<"color"> : never): Node<"vec3">; } interface MulVec4Extensions extends AddSubMulDivNumberVecVec4Extensions, MulVecMatVecExtensions { + (b: TNum extends "float" ? Node<"color"> : never): Node<"vec4">; } interface MulMat2Extensions extends AddSubMulMat2Extensions, MulMatNumMat2Extensions, MulVecMatMat2Extensions { @@ -371,10 +387,6 @@ interface Div extends AddSubMulDivNumberVec<"float">, AddSubMulDivNumberVec<"int export const div: Div; declare module "../core/Node.js" { - interface FloatExtensions { - mul: (b: Node<"color">) => Node<"vec3">; - } - interface NumExtensions { add: AddSubMulDivNumberVecNumExtensions; sub: AddSubMulDivNumberVecNumExtensions; @@ -387,21 +399,6 @@ declare module "../core/Node.js" { divAssign: AddSubMulDivNumberVecNumberAssignExtensions; } - interface Vec2Extensions { - add: (b: Node<"color">) => Node<"vec3">; - mul: (b: Node<"color">) => Node<"vec3">; - } - - interface Vec3Extensions { - add: (b: Node<"color">) => Node<"vec3">; - mul: (b: Node<"color">) => Node<"vec3">; - } - - interface Vec4Extensions { - add: (b: Node<"color">) => Node<"vec4">; - mul: (b: Node<"color">) => Node<"vec4">; - } - interface ColorExtensions { add: (b: Number<"float">) => Node<"vec3">; sub: (b: Number<"float">) => Node<"vec3">; @@ -410,7 +407,7 @@ declare module "../core/Node.js" { } interface NumVec2Extensions { - add: AddSubMulDivNumberVecVec2Extensions; + add: AddVec2Extensions; sub: AddSubMulDivNumberVecVec2Extensions; mul: MulVec2Extensions; div: AddSubMulDivNumberVecVec2Extensions; @@ -422,7 +419,7 @@ declare module "../core/Node.js" { } interface NumVec3Extensions { - add: AddSubMulDivNumberVecVec3Extensions; + add: AddVec3Extensions; sub: AddSubMulDivNumberVecVec3Extensions; mul: MulVec3Extensions; div: AddSubMulDivNumberVecVec3Extensions; @@ -434,7 +431,7 @@ declare module "../core/Node.js" { } interface NumVec4Extensions { - add: AddSubMulDivNumberVecVec4Extensions; + add: AddVec4Extensions; sub: AddSubMulDivNumberVecVec4Extensions; mul: MulVec4Extensions; div: AddSubMulDivNumberVecVec4Extensions; diff --git a/types/three/test/unit/src/nodes/math/OperatorNode.ts b/types/three/test/unit/src/nodes/math/OperatorNode.ts new file mode 100644 index 00000000000000..53c2bf67a4850b --- /dev/null +++ b/types/three/test/unit/src/nodes/math/OperatorNode.ts @@ -0,0 +1,11 @@ +import { color, float, vec2, vec3, vec4 } from "three/tsl"; +import { Node } from "three/webgpu"; + +const v: Node<"vec3"> = vec3(1, 2, 3).mul(2); +const colorProduct: Node<"vec3"> = vec3(1, 2, 3).mul(color(1, 1, 1)); +const sum: Node<"vec3"> = vec3(1, 2, 3).add(2); +const colorSum: Node<"vec3"> = vec3(1, 2, 3).add(color(1, 1, 1)); + +const floatColorProduct: Node<"vec3"> = float(1).mul(color(1, 1, 1)); +const vec2ColorProduct: Node<"vec3"> = vec2(1, 2).mul(color(1, 1, 1)); +const vec4ColorProduct: Node<"vec4"> = vec4(1, 2, 3, 4).mul(color(1, 1, 1)); diff --git a/types/three/tsconfig.json b/types/three/tsconfig.json index b5a9180bced592..7e270b638fa6bb 100644 --- a/types/three/tsconfig.json +++ b/types/three/tsconfig.json @@ -42,6 +42,7 @@ "test/unit/src/core/Uniform.ts", "test/unit/src/math/Vector3.ts", "test/unit/src/nodes/display/ColorAdjustment.ts", + "test/unit/src/nodes/math/OperatorNode.ts", "test/unit/src/nodes/materialx/lib/mx_hsv.ts", "test/unit/src/nodes/materialx/lib/mx_noise.ts", "test/unit/src/nodes/materialx/lib/mx_transform_color.ts", From 1197aacd6dceba6acdd0c3f1987a84b5631b3e11 Mon Sep 17 00:00:00 2001 From: Niklas Mollenhauer Date: Wed, 5 Aug 2026 00:00:35 +0200 Subject: [PATCH 2/3] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#75218=20[pako]?= =?UTF-8?q?:=20Remove=20pako=20types,=20ships=20own=20in=203.0.0=20by=20@n?= =?UTF-8?q?ikeee?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- notNeededPackages.json | 4 + types/pako/.eslintrc.json | 5 -- types/pako/.npmignore | 6 -- types/pako/index.d.ts | 161 ----------------------------------- types/pako/package.json | 25 ------ types/pako/pako-tests.ts | 53 ------------ types/pako/tsconfig.json | 20 ----- types/pako/v1/.eslintrc.json | 5 -- types/pako/v1/.npmignore | 5 -- types/pako/v1/index.d.ts | 141 ------------------------------ types/pako/v1/package.json | 21 ----- types/pako/v1/pako-tests.ts | 51 ----------- types/pako/v1/tsconfig.json | 20 ----- 13 files changed, 4 insertions(+), 513 deletions(-) delete mode 100644 types/pako/.eslintrc.json delete mode 100644 types/pako/.npmignore delete mode 100644 types/pako/index.d.ts delete mode 100644 types/pako/package.json delete mode 100644 types/pako/pako-tests.ts delete mode 100644 types/pako/tsconfig.json delete mode 100644 types/pako/v1/.eslintrc.json delete mode 100644 types/pako/v1/.npmignore delete mode 100644 types/pako/v1/index.d.ts delete mode 100644 types/pako/v1/package.json delete mode 100644 types/pako/v1/pako-tests.ts delete mode 100644 types/pako/v1/tsconfig.json diff --git a/notNeededPackages.json b/notNeededPackages.json index 3a50108de666a4..73b8c25afe9fa0 100644 --- a/notNeededPackages.json +++ b/notNeededPackages.json @@ -5237,6 +5237,10 @@ "libraryName": "pad", "asOfVersion": "2.1.0" }, + "pako": { + "libraryName": "pako", + "asOfVersion": "3.0.0" + }, "paper": { "libraryName": "paper", "asOfVersion": "0.12.3" diff --git a/types/pako/.eslintrc.json b/types/pako/.eslintrc.json deleted file mode 100644 index 74747947dd2149..00000000000000 --- a/types/pako/.eslintrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "rules": { - "@definitelytyped/export-just-namespace": "off" - } -} diff --git a/types/pako/.npmignore b/types/pako/.npmignore deleted file mode 100644 index a1a47f74ce9f12..00000000000000 --- a/types/pako/.npmignore +++ /dev/null @@ -1,6 +0,0 @@ -* -!**/*.d.ts -!**/*.d.cts -!**/*.d.mts -!**/*.d.*.ts -/v1/ diff --git a/types/pako/index.d.ts b/types/pako/index.d.ts deleted file mode 100644 index 985c30aa7030da..00000000000000 --- a/types/pako/index.d.ts +++ /dev/null @@ -1,161 +0,0 @@ -export = Pako; -export as namespace pako; - -declare namespace Pako { - enum constants { - // FlushValues - Z_NO_FLUSH = 0, - Z_PARTIAL_FLUSH = 1, - Z_SYNC_FLUSH = 2, - Z_FULL_FLUSH = 3, - Z_FINISH = 4, - Z_BLOCK = 5, - Z_TREES = 6, - // StrategyValues - Z_FILTERED = 1, - Z_HUFFMAN_ONLY = 2, - Z_RLE = 3, - Z_FIXED = 4, - Z_DEFAULT_STRATEGY = 0, - // ReturnCodes - Z_OK = 0, - Z_STREAM_END = 1, - Z_NEED_DICT = 2, - Z_ERRNO = -1, - Z_STREAM_ERROR = -2, - Z_DATA_ERROR = -3, - Z_BUF_ERROR = -5, - } - - type FlushValues = - | constants.Z_NO_FLUSH - | constants.Z_PARTIAL_FLUSH - | constants.Z_SYNC_FLUSH - | constants.Z_FINISH - | constants.Z_BLOCK - | constants.Z_TREES; - - type StrategyValues = - | constants.Z_FILTERED - | constants.Z_HUFFMAN_ONLY - | constants.Z_RLE - | constants.Z_FIXED - | constants.Z_DEFAULT_STRATEGY; - - type ReturnCodes = - | constants.Z_OK - | constants.Z_STREAM_END - | constants.Z_NEED_DICT - | constants.Z_ERRNO - | constants.Z_STREAM_ERROR - | constants.Z_DATA_ERROR - | constants.Z_BUF_ERROR - | constants.Z_DEFAULT_STRATEGY; - - interface DeflateOptions { - level?: -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | undefined; - windowBits?: number | undefined; - memLevel?: number | undefined; - strategy?: StrategyValues | undefined; - dictionary?: any; - raw?: boolean | undefined; - chunkSize?: number | undefined; - gzip?: boolean | undefined; - header?: Header | undefined; - } - - interface DeflateFunctionOptions { - level?: -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | undefined; - windowBits?: number | undefined; - memLevel?: number | undefined; - strategy?: StrategyValues | undefined; - dictionary?: any; - raw?: boolean | undefined; - } - - interface InflateOptions { - windowBits?: number | undefined; - dictionary?: any; - raw?: boolean | undefined; - to?: "string" | undefined; - chunkSize?: number | undefined; - } - - interface InflateFunctionOptions { - windowBits?: number | undefined; - raw?: boolean | undefined; - to?: "string" | undefined; - } - - interface Header { - text?: boolean | undefined; - time?: number | undefined; - os?: number | undefined; - extra?: number[] | undefined; - name?: string | undefined; - comment?: string | undefined; - hcrc?: boolean | undefined; - } - - type Data = Uint8Array | ArrayBuffer; - - // For TS <=5.6 compatibility: Uint8Array in TS >=5.7, Uint8Array in TS <=5.6 - type Uint8ArrayReturnType = InstanceType; - - /** - * Compress data with deflate algorithm and options. - */ - function deflate(data: Data | string, options?: DeflateFunctionOptions): Uint8ArrayReturnType; - - /** - * The same as deflate, but creates raw data, without wrapper (header and adler32 crc). - */ - function deflateRaw(data: Data | string, options?: DeflateFunctionOptions): Uint8ArrayReturnType; - - /** - * The same as deflate, but create gzip wrapper instead of deflate one. - */ - function gzip(data: Data | string, options?: DeflateFunctionOptions): Uint8ArrayReturnType; - - /** - * Decompress data with inflate/ungzip and options. Autodetect format via wrapper header - * by default. That's why we don't provide separate ungzip method. - */ - function inflate(data: Data, options: InflateFunctionOptions & { to: "string" }): string; - function inflate(data: Data, options?: InflateFunctionOptions): Uint8ArrayReturnType; - - /** - * The same as inflate, but creates raw data, without wrapper (header and adler32 crc). - */ - function inflateRaw(data: Data, options: InflateFunctionOptions & { to: "string" }): string; - function inflateRaw(data: Data, options?: InflateFunctionOptions): Uint8ArrayReturnType; - - /** - * Just shortcut to inflate, because it autodetects format by header.content. Done for convenience. - */ - function ungzip(data: Data, options: InflateFunctionOptions & { to: "string" }): string; - function ungzip(data: Data, options?: InflateFunctionOptions): Uint8ArrayReturnType; - - // https://github.com/nodeca/pako/blob/893381abcafa10fa2081ce60dae7d4d8e873a658/lib/deflate.js - class Deflate { - constructor(options?: DeflateOptions); - err: ReturnCodes; - msg: string; - result: Uint8ArrayReturnType; - onData(chunk: Data): void; - onEnd(status: number): void; - push(data: Data | string, mode?: FlushValues | boolean): boolean; - } - - // https://github.com/nodeca/pako/blob/893381abcafa10fa2081ce60dae7d4d8e873a658/lib/inflate.js - class Inflate { - constructor(options?: InflateOptions); - header?: Header | undefined; - err: ReturnCodes; - msg: string; - result: Uint8ArrayReturnType | string; - onData(chunk: Data): void; - onEnd(status: number): void; - push(data: Data, mode?: FlushValues | boolean): boolean; - } -} diff --git a/types/pako/package.json b/types/pako/package.json deleted file mode 100644 index 3018a6dda2742b..00000000000000 --- a/types/pako/package.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "private": true, - "name": "@types/pako", - "version": "2.0.9999", - "projects": [ - "https://github.com/nodeca/pako" - ], - "devDependencies": { - "@types/pako": "workspace:." - }, - "owners": [ - { - "name": "Caleb Eggensperger", - "githubUsername": "calebegg" - }, - { - "name": "Muhammet Öztürk", - "githubUsername": "hlthi" - }, - { - "name": "Thibault Poisson", - "githubUsername": "OrIOg" - } - ] -} diff --git a/types/pako/pako-tests.ts b/types/pako/pako-tests.ts deleted file mode 100644 index 3997b03818dcdc..00000000000000 --- a/types/pako/pako-tests.ts +++ /dev/null @@ -1,53 +0,0 @@ -import Pako = require("pako"); - -declare function strictEqual(actual: T, expected: T): void; - -const chunk1 = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8, 9]); -const chunk2 = new Uint8Array([10, 11, 12, 13, 14, 15, 16, 17, 18, 19]); -const chunk3 = new Uint8Array([101, 111, 121, 131, 141, 151, 161, 171, 181, 191]); - -const deflate = new Pako.Deflate({ level: 3, strategy: Pako.constants.Z_HUFFMAN_ONLY }); - -deflate.push(chunk1, false); -deflate.push(chunk3, Pako.constants.Z_PARTIAL_FLUSH); -deflate.push(chunk2, true); // true -> last chunk - -if (deflate.err !== Pako.constants.Z_OK) { - throw new Error(deflate.err.toString()); -} - -console.log(deflate.result); - -// Ensure that the return type is narrowed correctly in TS 5.7+ -Pako.deflate("1234"); // $ExpectType Uint8Array || Uint8Array - -const data = " "; - -const deflator = new Pako.Deflate({ - gzip: true, - header: { - hcrc: true, - time: 1234567, - os: 15, - name: "test name", - comment: "test comment", - extra: [4, 5, 6], - }, -}); -deflator.push(data, true); - -const inflatorString = new Pako.Inflate({ to: "string" }); -inflatorString.push(deflator.result, true); -const resultString: string = inflatorString.result as string; - -const inflatorUint8Array = new Pako.Inflate(); -inflatorUint8Array.push(deflator.result, true); -const resultUint8Array: Uint8Array = inflatorUint8Array.result as Uint8Array; - -strictEqual(inflatorString.err, 0); -strictEqual(inflatorString.result, data); - -const header = inflatorString.header; -strictEqual(header?.time, 1234567); -strictEqual(header?.os, 15); -strictEqual(header?.name, "test name"); diff --git a/types/pako/tsconfig.json b/types/pako/tsconfig.json deleted file mode 100644 index f59af647ad3e34..00000000000000 --- a/types/pako/tsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compilerOptions": { - "module": "node16", - "lib": [ - "es6", - "dom" - ], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": true, - "strictFunctionTypes": true, - "types": [], - "noEmit": true, - "forceConsistentCasingInFileNames": true - }, - "files": [ - "index.d.ts", - "pako-tests.ts" - ] -} diff --git a/types/pako/v1/.eslintrc.json b/types/pako/v1/.eslintrc.json deleted file mode 100644 index 74747947dd2149..00000000000000 --- a/types/pako/v1/.eslintrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "rules": { - "@definitelytyped/export-just-namespace": "off" - } -} diff --git a/types/pako/v1/.npmignore b/types/pako/v1/.npmignore deleted file mode 100644 index 93e307400a5456..00000000000000 --- a/types/pako/v1/.npmignore +++ /dev/null @@ -1,5 +0,0 @@ -* -!**/*.d.ts -!**/*.d.cts -!**/*.d.mts -!**/*.d.*.ts diff --git a/types/pako/v1/index.d.ts b/types/pako/v1/index.d.ts deleted file mode 100644 index 59e98450bb601d..00000000000000 --- a/types/pako/v1/index.d.ts +++ /dev/null @@ -1,141 +0,0 @@ -export = Pako; -export as namespace pako; - -declare namespace Pako { - enum FlushValues { - Z_NO_FLUSH = 0, - Z_PARTIAL_FLUSH = 1, - Z_SYNC_FLUSH = 2, - Z_FULL_FLUSH = 3, - Z_FINISH = 4, - Z_BLOCK = 5, - Z_TREES = 6, - } - - enum StrategyValues { - Z_FILTERED = 1, - Z_HUFFMAN_ONLY = 2, - Z_RLE = 3, - Z_FIXED = 4, - Z_DEFAULT_STRATEGY = 0, - } - - enum ReturnCodes { - Z_OK = 0, - Z_STREAM_END = 1, - Z_NEED_DICT = 2, - Z_ERRNO = -1, - Z_STREAM_ERROR = -2, - Z_DATA_ERROR = -3, - Z_BUF_ERROR = -5, - } - - interface DeflateOptions { - level?: -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | undefined; - windowBits?: number | undefined; - memLevel?: number | undefined; - strategy?: StrategyValues | undefined; - dictionary?: any; - raw?: boolean | undefined; - to?: "string" | undefined; - chunkSize?: number | undefined; - gzip?: boolean | undefined; - header?: Header | undefined; - } - - interface DeflateFunctionOptions { - level?: -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | undefined; - windowBits?: number | undefined; - memLevel?: number | undefined; - strategy?: StrategyValues | undefined; - dictionary?: any; - raw?: boolean | undefined; - to?: "string" | undefined; - } - - interface InflateOptions { - windowBits?: number | undefined; - dictionary?: any; - raw?: boolean | undefined; - to?: "string" | undefined; - chunkSize?: number | undefined; - } - - interface InflateFunctionOptions { - windowBits?: number | undefined; - raw?: boolean | undefined; - to?: "string" | undefined; - } - - interface Header { - text?: boolean | undefined; - time?: number | undefined; - os?: number | undefined; - extra?: number[] | undefined; - name?: string | undefined; - comment?: string | undefined; - hcrc?: boolean | undefined; - } - - type Data = Uint8Array | number[] | string; - - /** - * Compress data with deflate algorithm and options. - */ - function deflate(data: Data, options: DeflateFunctionOptions & { to: "string" }): string; - function deflate(data: Data, options?: DeflateFunctionOptions): Uint8Array; - - /** - * The same as deflate, but creates raw data, without wrapper (header and adler32 crc). - */ - function deflateRaw(data: Data, options: DeflateFunctionOptions & { to: "string" }): string; - function deflateRaw(data: Data, options?: DeflateFunctionOptions): Uint8Array; - - /** - * The same as deflate, but create gzip wrapper instead of deflate one. - */ - function gzip(data: Data, options: DeflateFunctionOptions & { to: "string" }): string; - function gzip(data: Data, options?: DeflateFunctionOptions): Uint8Array; - - /** - * Decompress data with inflate/ungzip and options. Autodetect format via wrapper header - * by default. That's why we don't provide separate ungzip method. - */ - function inflate(data: Data, options: InflateFunctionOptions & { to: "string" }): string; - function inflate(data: Data, options?: InflateFunctionOptions): Uint8Array; - - /** - * The same as inflate, but creates raw data, without wrapper (header and adler32 crc). - */ - function inflateRaw(data: Data, options: InflateFunctionOptions & { to: "string" }): string; - function inflateRaw(data: Data, options?: InflateFunctionOptions): Uint8Array; - - /** - * Just shortcut to inflate, because it autodetects format by header.content. Done for convenience. - */ - function ungzip(data: Data, options: InflateFunctionOptions & { to: "string" }): string; - function ungzip(data: Data, options?: InflateFunctionOptions): Uint8Array; - - // https://github.com/nodeca/pako/blob/893381abcafa10fa2081ce60dae7d4d8e873a658/lib/deflate.js - class Deflate { - constructor(options?: DeflateOptions); - err: ReturnCodes; - msg: string; - result: Uint8Array | number[]; - onData(chunk: Data): void; - onEnd(status: number): void; - push(data: Data | ArrayBuffer, mode?: FlushValues | boolean): boolean; - } - - // https://github.com/nodeca/pako/blob/893381abcafa10fa2081ce60dae7d4d8e873a658/lib/inflate.js - class Inflate { - constructor(options?: InflateOptions); - header?: Header | undefined; - err: ReturnCodes; - msg: string; - result: Data; - onData(chunk: Data): void; - onEnd(status: number): void; - push(data: Data | ArrayBuffer, mode?: FlushValues | boolean): boolean; - } -} diff --git a/types/pako/v1/package.json b/types/pako/v1/package.json deleted file mode 100644 index 88fffce078c073..00000000000000 --- a/types/pako/v1/package.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "private": true, - "name": "@types/pako", - "version": "1.0.9999", - "projects": [ - "https://github.com/nodeca/pako" - ], - "devDependencies": { - "@types/pako": "workspace:." - }, - "owners": [ - { - "name": "Caleb Eggensperger", - "githubUsername": "calebegg" - }, - { - "name": "Muhammet Öztürk", - "githubUsername": "hlthi" - } - ] -} diff --git a/types/pako/v1/pako-tests.ts b/types/pako/v1/pako-tests.ts deleted file mode 100644 index 8fbadc812e008e..00000000000000 --- a/types/pako/v1/pako-tests.ts +++ /dev/null @@ -1,51 +0,0 @@ -import pako = require("pako"); - -declare function strictEqual(actual: T, expected: T): void; - -const chunk1 = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8, 9]); -const chunk2 = new Uint8Array([10, 11, 12, 13, 14, 15, 16, 17, 18, 19]); -const chunk3 = new Uint8Array([101, 111, 121, 131, 141, 151, 161, 171, 181, 191]); - -const deflate = new pako.Deflate({ level: 3, strategy: pako.StrategyValues.Z_HUFFMAN_ONLY }); - -deflate.push(chunk1, false); -deflate.push(chunk3, pako.FlushValues.Z_PARTIAL_FLUSH); -deflate.push(chunk2, true); // true -> last chunk - -if (deflate.err !== pako.ReturnCodes.Z_OK) { - throw new Error(deflate.err.toString()); -} - -console.log(deflate.result); - -const str: string = pako.deflate("1234", { to: "string" }); -const arr: Uint8Array = pako.deflate("1234"); - -const str2: string = pako.inflate("1234", { to: "string" }); -const arr2: Uint8Array = pako.inflate("1234"); - -const data = " "; - -const deflator = new pako.Deflate({ - gzip: true, - header: { - hcrc: true, - time: 1234567, - os: 15, - name: "test name", - comment: "test comment", - extra: [4, 5, 6], - }, -}); -deflator.push(data, true); - -const inflator = new pako.Inflate({ to: "string" }); -inflator.push(deflator.result, true); - -strictEqual(inflator.err, 0); -strictEqual(inflator.result, data); - -const header = inflator.header; -strictEqual(header?.time, 1234567); -strictEqual(header?.os, 15); -strictEqual(header?.name, "test name"); diff --git a/types/pako/v1/tsconfig.json b/types/pako/v1/tsconfig.json deleted file mode 100644 index f59af647ad3e34..00000000000000 --- a/types/pako/v1/tsconfig.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "compilerOptions": { - "module": "node16", - "lib": [ - "es6", - "dom" - ], - "noImplicitAny": true, - "noImplicitThis": true, - "strictNullChecks": true, - "strictFunctionTypes": true, - "types": [], - "noEmit": true, - "forceConsistentCasingInFileNames": true - }, - "files": [ - "index.d.ts", - "pako-tests.ts" - ] -} From 9a3935d14fd94421a5c599b968365543c4f1fb2f Mon Sep 17 00:00:00 2001 From: OpenUI5 Bot Date: Wed, 5 Aug 2026 00:08:47 +0200 Subject: [PATCH 3/3] =?UTF-8?q?=F0=9F=A4=96=20Merge=20PR=20#75351=20[openu?= =?UTF-8?q?i5]=20Update=20the=20definition=20files=20for=20OpenUI5=201.151?= =?UTF-8?q?=20by=20@openui5bot?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: sapui5 --- types/openui5/openui5-tests.ts | 2 + types/openui5/package.json | 2 +- types/openui5/sap.f.d.ts | 2 +- types/openui5/sap.m.d.ts | 134 +++++++- types/openui5/sap.tnt.d.ts | 187 ++++++++++- types/openui5/sap.ui.codeeditor.d.ts | 2 +- types/openui5/sap.ui.commons.d.ts | 2 +- types/openui5/sap.ui.core.d.ts | 425 +++++++++++++++++-------- types/openui5/sap.ui.dt.d.ts | 2 +- types/openui5/sap.ui.fl.d.ts | 2 +- types/openui5/sap.ui.integration.d.ts | 34 +- types/openui5/sap.ui.layout.d.ts | 2 +- types/openui5/sap.ui.mdc.d.ts | 19 +- types/openui5/sap.ui.rta.d.ts | 4 +- types/openui5/sap.ui.suite.d.ts | 2 +- types/openui5/sap.ui.support.d.ts | 2 +- types/openui5/sap.ui.table.d.ts | 4 +- types/openui5/sap.ui.testrecorder.d.ts | 2 +- types/openui5/sap.ui.unified.d.ts | 96 +++++- types/openui5/sap.ui.ux3.d.ts | 2 +- types/openui5/sap.uxap.d.ts | 2 +- 21 files changed, 768 insertions(+), 161 deletions(-) diff --git a/types/openui5/openui5-tests.ts b/types/openui5/openui5-tests.ts index 155d9755a7f666..ec6312b619150b 100644 --- a/types/openui5/openui5-tests.ts +++ b/types/openui5/openui5-tests.ts @@ -302,3 +302,5 @@ const p13nEngine = new Engine(); // version 1.149.0 added - tests are not required as the type definitions are generated and the generator is sufficiently tested // version 1.150.0 added - tests are not required as the type definitions are generated and the generator is sufficiently tested + +// version 1.151.0 added - tests are not required as the type definitions are generated and the generator is sufficiently tested diff --git a/types/openui5/package.json b/types/openui5/package.json index 9ef734a55898a7..a440859c35b662 100644 --- a/types/openui5/package.json +++ b/types/openui5/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@types/openui5", - "version": "1.150.9999", + "version": "1.151.9999", "nonNpm": true, "nonNpmDescription": "openui5", "projects": [ diff --git a/types/openui5/sap.f.d.ts b/types/openui5/sap.f.d.ts index e5e639a964edf5..48004be0a0e26e 100644 --- a/types/openui5/sap.f.d.ts +++ b/types/openui5/sap.f.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.150.0 +// For Library Version: 1.151.0 declare module "sap/tnt/library" { export interface IToolHeader { diff --git a/types/openui5/sap.m.d.ts b/types/openui5/sap.m.d.ts index 43dd453b649ce2..0323f388db9306 100644 --- a/types/openui5/sap.m.d.ts +++ b/types/openui5/sap.m.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.150.0 +// For Library Version: 1.151.0 declare module "sap/f/library" { export interface IShellBar { @@ -65641,6 +65641,21 @@ declare module "sap/m/MultiInput" { * @deprecated As of version 1.58. replaced by N-more/N-items labels. */ openMultiLine(): void; + /** + * Prevents the `change` event from firing when focus moves between the inner input element and a Token + * of this MultiInput's Tokenizer (e.g. via Arrow keys). The change event must only fire on ENTER or when + * focus leaves the MultiInput entirely. + * + * @ui5-protected Do not call from applications (only from related classes in the framework) + * + * @returns Whether the change event should be prevented. + */ + preventChangeOnFocusLeave( + /** + * The event object. + */ + oEvent?: jQuery.Event + ): boolean; /** * Removes all the controls from the aggregation {@link #getTokens tokens}. * @@ -111100,6 +111115,19 @@ declare module "sap/m/SearchField" { * @returns Metadata object describing this class */ static getMetadata(): ElementMetadata; + /** + * Adds some ariaControl into the association {@link #getAriaControls ariaControls}. + * + * @since 1.150 + * + * @returns Reference to `this` in order to allow method chaining + */ + addAriaControl( + /** + * The ariaControls to add; if empty, nothing is inserted + */ + vAriaControl: ID | Control + ): this; /** * Adds some ariaDescribedBy into the association {@link #getAriaDescribedBy ariaDescribedBy}. * @@ -111492,6 +111520,12 @@ declare module "sap/m/SearchField" { */ mParameters?: SearchField$SuggestEventParameters ): this; + /** + * Returns array of IDs of the elements which are the current targets of the association {@link #getAriaControls ariaControls}. + * + * @since 1.150 + */ + getAriaControls(): ID[]; /** * Returns array of IDs of the elements which are the current targets of the association {@link #getAriaDescribedBy ariaDescribedBy}. */ @@ -111707,6 +111741,14 @@ declare module "sap/m/SearchField" { */ iIndex: int ): this; + /** + * Removes all the controls in the association named {@link #getAriaControls ariaControls}. + * + * @since 1.150 + * + * @returns An array of the removed elements (might be empty) + */ + removeAllAriaControls(): ID[]; /** * Removes all the controls in the association named {@link #getAriaDescribedBy ariaDescribedBy}. * @@ -111731,6 +111773,19 @@ declare module "sap/m/SearchField" { * @returns An array of the removed elements (might be empty) */ removeAllSuggestionItems(): SuggestionItem[]; + /** + * Removes an ariaControl from the association named {@link #getAriaControls ariaControls}. + * + * @since 1.150 + * + * @returns The removed ariaControl or `null` + */ + removeAriaControl( + /** + * The ariaControl to be removed or its index or ID + */ + vAriaControl: int | ID | Control + ): ID | null; /** * Removes an ariaDescribedBy from the association named {@link #getAriaDescribedBy ariaDescribedBy}. * @@ -112138,6 +112193,14 @@ declare module "sap/m/SearchField" { */ ariaLabelledBy?: Array; + /** + * Associates controls or IDs that are controlled by this control, as described by the WAI-ARIA attribute + * `aria-controls`. + * + * @since 1.150 + */ + ariaControls?: Array; + /** * Event which is fired when the user triggers a search. */ @@ -150937,9 +151000,9 @@ declare module "sap/m/TileContent" { } from "sap/ui/base/ManagedObject"; import { + Priority, ValueColor, FrameType, - Priority, Size, LoadState, } from "sap/m/library"; @@ -151036,6 +151099,30 @@ declare module "sap/m/TileContent" { * @returns Reference to `this` in order to allow method chaining */ destroyContent(): this; + /** + * Gets current value of property {@link #getAdditionalPriority additionalPriority}. + * + * Sets the priority level for the additional priority badge. Determines the state and icon of the badge. + * Works only for generic tiles with ActionMode or Article Mode where FrameType Stretch is enabled. + * + * Default value is `None`. + * + * @since 1.151 + * + * @returns Value of property `additionalPriority` + */ + getAdditionalPriority(): Priority; + /** + * Gets current value of property {@link #getAdditionalPriorityText additionalPriorityText}. + * + * Sets the text within the additional priority badge that is displayed next to the priority badge. Works + * only in Generic Tiles in ActionMode or Article Mode containing FrameType Stretch. + * + * @since 1.151 + * + * @returns Value of property `additionalPriorityText` + */ + getAdditionalPriorityText(): string; /** * Gets content of aggregation {@link #getContent content}. * @@ -151144,6 +151231,30 @@ declare module "sap/m/TileContent" { * @returns Value of property `unit` */ getUnit(): string; + /** + * Sets the priority level for the additional priority badge. + * + * + * @returns Reference to the current instance for method chaining. + */ + setAdditionalPriority( + /** + * The priority level. + */ + sPriority: Priority | keyof typeof Priority + ): this; + /** + * Sets the text for the additional priority badge. + * + * + * @returns Reference to the current instance for method chaining. + */ + setAdditionalPriorityText( + /** + * The text to be displayed on the badge. + */ + sPriorityText: string + ): this; /** * Sets the aggregated {@link #getContent content}. * @@ -151408,6 +151519,25 @@ declare module "sap/m/TileContent" { */ priorityText?: string | PropertyBindingInfo; + /** + * Sets the priority level for the additional priority badge. Determines the state and icon of the badge. + * Works only for generic tiles with ActionMode or Article Mode where FrameType Stretch is enabled. + * + * @since 1.151 + */ + additionalPriority?: + | (Priority | keyof typeof Priority) + | PropertyBindingInfo + | `{${string}}`; + + /** + * Sets the text within the additional priority badge that is displayed next to the priority badge. Works + * only in Generic Tiles in ActionMode or Article Mode containing FrameType Stretch. + * + * @since 1.151 + */ + additionalPriorityText?: string | PropertyBindingInfo; + /** * The load status. * diff --git a/types/openui5/sap.tnt.d.ts b/types/openui5/sap.tnt.d.ts index d45f5708aa8df0..7fe1809a60412f 100644 --- a/types/openui5/sap.tnt.d.ts +++ b/types/openui5/sap.tnt.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.150.0 +// For Library Version: 1.151.0 declare module "sap/tnt/library" { /** @@ -787,6 +787,20 @@ declare module "sap/tnt/NavigationList" { */ oItem: NavigationListItemBase ): this; + /** + * Announces the number of search matches found in the navigation list to assistive technologies. + * + * This method uses an invisible live region message so screen readers can inform users about the current + * number of search matches. + * + * @since 1.151 + */ + announceSearchMatchCount( + /** + * The number of matching navigation items. + */ + iCount: int + ): void; /** * Attaches event handler `fnFunction` to the {@link #event:itemPress itemPress} event of this `sap.tnt.NavigationList`. * @@ -972,6 +986,19 @@ declare module "sap/tnt/NavigationList" { * @returns Value of property `expanded` */ getExpanded(): boolean; + /** + * Gets current value of property {@link #getHighlightedText highlightedText}. + * + * Specifies a term to be highlighted in the navigation items' text. When set, matching portions of item + * and group texts are visually emphasized during rendering. + * + * Default value is `empty string`. + * + * @since 1.151 + * + * @returns Value of property `highlightedText` + */ + getHighlightedText(): string; /** * Gets content of aggregation {@link #getItems items}. * @@ -1112,6 +1139,26 @@ declare module "sap/tnt/NavigationList" { */ bExpanded?: boolean ): this; + /** + * Sets a new value for property {@link #getHighlightedText highlightedText}. + * + * Specifies a term to be highlighted in the navigation items' text. When set, matching portions of item + * and group texts are visually emphasized during rendering. + * + * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * + * Default value is `empty string`. + * + * @since 1.151 + * + * @returns Reference to `this` in order to allow method chaining + */ + setHighlightedText( + /** + * New value for property `highlightedText` + */ + sHighlightedText?: string + ): this; /** * Sets the association for selectedItem. Set `null` to deselect. * @@ -1174,6 +1221,14 @@ declare module "sap/tnt/NavigationList" { */ selectedKey?: string | PropertyBindingInfo; + /** + * Specifies a term to be highlighted in the navigation items' text. When set, matching portions of item + * and group texts are visually emphasized during rendering. + * + * @since 1.151 + */ + highlightedText?: string | PropertyBindingInfo; + /** * The items displayed in the list. */ @@ -2680,6 +2735,14 @@ declare module "sap/tnt/SideNavigation" { */ oBindingInfo: AggregationBindingInfo ): this; + /** + * Destroys the filterSection in the aggregation {@link #getFilterSection filterSection}. + * + * @since 1.151 + * + * @returns Reference to `this` in order to allow method chaining + */ + destroyFilterSection(): this; /** * Destroys the fixedItem in the aggregation {@link #getFixedItem fixedItem}. * @@ -2802,6 +2865,14 @@ declare module "sap/tnt/SideNavigation" { * @returns Value of property `expanded` */ getExpanded(): boolean; + /** + * Gets content of aggregation {@link #getFilterSection filterSection}. + * + * Defines the filter section. + * + * @since 1.151 + */ + getFilterSection(): Control; /** * Gets content of aggregation {@link #getFixedItem fixedItem}. * @@ -2902,6 +2973,19 @@ declare module "sap/tnt/SideNavigation" { */ bExpanded: boolean ): this; + /** + * Sets the aggregated {@link #getFilterSection filterSection}. + * + * @since 1.151 + * + * @returns Reference to `this` in order to allow method chaining + */ + setFilterSection( + /** + * The filterSection to set + */ + oFilterSection: Control + ): this; /** * Sets the aggregated {@link #getFixedItem fixedItem}. * @@ -3053,6 +3137,13 @@ declare module "sap/tnt/SideNavigation" { */ footer?: NavigationList; + /** + * Defines the filter section. + * + * @since 1.151 + */ + filterSection?: Control; + /** * The selected `NavigationListItem`. * @@ -3130,6 +3221,98 @@ declare module "sap/tnt/SideNavigation" { >; } +declare module "sap/tnt/SideNavigationSearchField" { + import { + default as SearchField, + $SearchFieldSettings, + } from "sap/m/SearchField"; + + import ElementMetadata from "sap/ui/core/ElementMetadata"; + + /** + * Search field for side navigation with predefined accessibility settings. + * + * The `SideNavigationSearchField` control extends {@link sap.m.SearchField} and provides accessibility-related + * defaults tailored for use in a {@link sap.tnt.SideNavigation}. + * + * @since 1.151 + */ + export default class SideNavigationSearchField extends SearchField { + /** + * Constructor for a new SideNavigationSearchField. + * + * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated + * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description + * of the syntax of the settings object. + * + * This class does not have its own settings, but all settings applicable to the base type {@link sap.m.SearchField#constructor sap.m.SearchField } + * can be used. + */ + constructor( + /** + * Initial settings for the new control + */ + mSettings?: $SideNavigationSearchFieldSettings + ); + /** + * Constructor for a new SideNavigationSearchField. + * + * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated + * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description + * of the syntax of the settings object. + * + * This class does not have its own settings, but all settings applicable to the base type {@link sap.m.SearchField#constructor sap.m.SearchField } + * can be used. + */ + constructor( + /** + * ID for the new control, generated automatically if no ID is given + */ + sId?: string, + /** + * Initial settings for the new control + */ + mSettings?: $SideNavigationSearchFieldSettings + ); + + /** + * Creates a new subclass of class sap.tnt.SideNavigationSearchField with name `sClassName` and enriches + * it with the information contained in `oClassInfo`. + * + * `oClassInfo` might contain the same kind of information as described in {@link sap.m.SearchField.extend}. + * + * + * @returns Created class / constructor function + */ + static extend>( + /** + * Name of the class being created + */ + sClassName: string, + /** + * Object literal with information about the class + */ + oClassInfo?: sap.ClassInfo, + /** + * Constructor function for the metadata object; if not given, it defaults to the metadata implementation + * used by this class + */ + FNMetaImpl?: Function + ): Function; + /** + * Returns a metadata object for class sap.tnt.SideNavigationSearchField. + * + * + * @returns Metadata object describing this class + */ + static getMetadata(): ElementMetadata; + } + /** + * Describes the settings that can be provided to the SideNavigationSearchField constructor. + */ + export interface $SideNavigationSearchFieldSettings extends $SearchFieldSettings {} +} + declare module "sap/tnt/ToolHeader" { import { default as OverflowToolbar, @@ -3716,6 +3899,8 @@ declare namespace sap { "sap/tnt/SideNavigation": undefined; + "sap/tnt/SideNavigationSearchField": undefined; + "sap/tnt/ToolHeader": undefined; "sap/tnt/ToolHeaderUtilitySeparator": undefined; diff --git a/types/openui5/sap.ui.codeeditor.d.ts b/types/openui5/sap.ui.codeeditor.d.ts index da072a865ba731..335b9da15d5174 100644 --- a/types/openui5/sap.ui.codeeditor.d.ts +++ b/types/openui5/sap.ui.codeeditor.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.150.0 +// For Library Version: 1.151.0 declare module "sap/ui/codeeditor/library" {} diff --git a/types/openui5/sap.ui.commons.d.ts b/types/openui5/sap.ui.commons.d.ts index 722fc316eaf4aa..4ed6d470cc7369 100644 --- a/types/openui5/sap.ui.commons.d.ts +++ b/types/openui5/sap.ui.commons.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.150.0 +// For Library Version: 1.151.0 declare module "sap/ui/commons/library" { import { ColorPickerMode as ColorPickerMode1 } from "sap/ui/unified/library"; diff --git a/types/openui5/sap.ui.core.d.ts b/types/openui5/sap.ui.core.d.ts index 983c34ca8e8652..54f14d70ed5784 100644 --- a/types/openui5/sap.ui.core.d.ts +++ b/types/openui5/sap.ui.core.d.ts @@ -279,7 +279,7 @@ declare namespace sap { "sap/ui/thirdparty/qunit-2": undefined; } } -// For Library Version: 1.150.0 +// For Library Version: 1.151.0 declare module "sap/base/assert" { /** @@ -3458,7 +3458,7 @@ declare module "sap/base/util/UriParameters" { sName: string, /** * Whether all values for the parameter should be returned; the use of this parameter is deprecated and - * highly discouraged; use the {@link #getAll} method instead + * highly discouraged; use the {@link #getAll} method instead {@deprecated} */ bAll?: boolean ): string | null; @@ -3989,6 +3989,44 @@ declare module "sap/ui/core/ControlBehavior" { * @since 1.120 */ interface ControlBehavior { + /** + * Attaches a handler to the {@link #event:extendedKeyboardNavigationChanged} event. + * + * The handler is invoked whenever the Extended Keyboard Navigation state is toggled via {@link #setExtendedKeyboardNavigationEnabled } + * — both for transitions from `false` to `true` and from `true` to `false`. No event is fired for the initial + * value provided via configuration; call {@link #isExtendedKeyboardNavigationEnabled} once after attaching + * to learn the current state. + * + * API might change before stable release. + * + * @experimental As of version 1.151. + */ + attachExtendedKeyboardNavigationChanged( + /** + * The function to be called when the event occurs + */ + fnFunction: ( + p1: ControlBehavior$ExtendedKeyboardNavigationChangedEvent + ) => void + ): void; + /** + * Detaches a handler from the {@link #event:extendedKeyboardNavigationChanged} event. + * + * The passed function must be the same one used for the corresponding `attachExtendedKeyboardNavigationChanged` + * call. + * + * API might change before stable release. + * + * @experimental As of version 1.151. + */ + detachExtendedKeyboardNavigationChanged( + /** + * The function to be detached + */ + fnFunction: ( + p1: ControlBehavior$ExtendedKeyboardNavigationChangedEvent + ) => void + ): void; /** * Returns the current animation mode. * @@ -4005,6 +4043,20 @@ declare module "sap/ui/core/ControlBehavior" { * @returns whether the accessibility mode is enabled or not */ isAccessibilityEnabled(): boolean; + /** + * Returns whether Extended Keyboard Navigation is currently enabled. + * + * Extended Keyboard Navigation extends the keyboard tab order to include non-interactive, text-bearing + * elements so their tooltips become reachable by keyboard. The feature is not recommended for screen-reader + * users. + * + * API might change before stable release. + * + * @experimental As of version 1.151. + * + * @returns whether Extended Keyboard Navigation is enabled + */ + isExtendedKeyboardNavigationEnabled(): boolean; /** * Sets the current animation mode. * @@ -4024,6 +4076,20 @@ declare module "sap/ui/core/ControlBehavior" { } const ControlBehavior: ControlBehavior; export default ControlBehavior; + + /** + * The Extended Keyboard Navigation change Event. + * + * API might change before stable release. + * + * @experimental As of version 1.151. + */ + export type ControlBehavior$ExtendedKeyboardNavigationChangedEvent = { + /** + * The new value + */ + extendedKeyboardNavigationEnabled: boolean; + }; } declare module "sap/ui/core/date/CalendarUtils" { @@ -5016,6 +5082,14 @@ declare module "sap/ui/core/Messaging" { * @returns oMessageModel The Message Model */ getMessageModel(): MessageModel; + /** + * Returns all messages currently managed by Messaging. + * + * @since 1.151 + * + * @returns An array of all current messages + */ + getMessages(): Message[]; /** * Register MessageProcessor */ @@ -10874,8 +10948,9 @@ declare module "sap/ui/test/starter/config" { */ searchParams?: Record; /** - * A map-like object with URL parameters that are appended to the `page` URL. {@deprecated As of version - * 1.141.0, use `searchParams` instead.} + * A map-like object with URL parameters that are appended to the `page` URL. + * + * @deprecated As of version 1.141.0. use `searchParams` instead. */ uriParams?: Record; /** @@ -10952,7 +11027,7 @@ declare module "sap/ui/test/starter/config" { * When this option is true, the core is not only loaded and started, but loading and execution of the test * module(s) is also delayed until a listener registered with sap.ui.getCore().attachInit() has been executed. * - * {@deprecated As of version 1.120, it should not be used in new tests} + * @deprecated As of version 1.120. it should not be used in new tests */ bootCore?: boolean; /** @@ -11060,11 +11135,11 @@ declare module "sap/ui/util/Mobile" { */ useFullScreenHeight?: boolean; /** - * deprecated since 1.12, use sap/ui/util/Mobile.setIcons instead. + * @deprecated As of version 1.12. use sap/ui/util/Mobile.setIcons instead. */ homeIcon?: string; /** - * deprecated since 1.12, use sap/ui/util/Mobile.setIcons instead. + * @deprecated As of version 1.12. use sap/ui/util/Mobile.setIcons instead. */ homeIconPrecomposed?: boolean; /** @@ -19236,8 +19311,10 @@ declare module "sap/ui/core/Component" { */ manifest?: boolean | string | object; /** - * @since 1.61.0 Alternative URL for the manifest.json. If `mOptions.manifest` is set to an object value, - * this URL specifies the location to which the manifest object should resolve the relative URLs to. + * Alternative URL for the manifest.json. If `mOptions.manifest` is set to an object value, this URL specifies + * the location to which the manifest object should resolve the relative URLs to. + * + * @since 1.61.0 */ altManifestUrl?: string; /** @@ -19445,8 +19522,10 @@ declare module "sap/ui/core/Component" { */ manifest?: boolean | string | object; /** - * @since 1.61.0 Alternative URL for the manifest.json. If `mOptions.manifest` is set to an object value, - * this URL specifies the location to which the manifest object should resolve the relative URLs to. + * Alternative URL for the manifest.json. If `mOptions.manifest` is set to an object value, this URL specifies + * the location to which the manifest object should resolve the relative URLs to. + * + * @since 1.61.0 */ altManifestUrl?: string; /** @@ -25043,6 +25122,10 @@ declare module "sap/ui/core/CustomData" { export default class CustomData extends UI5Element { /** * Constructor for a new `CustomData` element. + * + * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated + * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description + * of the syntax of the settings object. */ constructor( /** @@ -25052,6 +25135,10 @@ declare module "sap/ui/core/CustomData" { ); /** * Constructor for a new `CustomData` element. + * + * Accepts an object literal `mSettings` that defines initial property values, aggregated and associated + * objects as well as event handlers. See {@link sap.ui.base.ManagedObject#constructor} for a general description + * of the syntax of the settings object. */ constructor( /** @@ -25065,10 +25152,10 @@ declare module "sap/ui/core/CustomData" { ); /** - * Creates a new subclass of `CustomData` with name `sClassName` and enriches it with the information contained - * in `oClassInfo`. + * Creates a new subclass of class sap.ui.core.CustomData with name `sClassName` and enriches it with the + * information contained in `oClassInfo`. * - * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.core.Element.extend Element.extend}. + * `oClassInfo` might contain the same kind of information as described in {@link sap.ui.core.Element.extend}. * * * @returns Created class / constructor function @@ -25083,12 +25170,13 @@ declare module "sap/ui/core/CustomData" { */ oClassInfo?: sap.ClassInfo, /** - * Constructor function for the metadata object; if not given, it defaults to `sap.ui.core.ElementMetadata` + * Constructor function for the metadata object; if not given, it defaults to the metadata implementation + * used by this class */ FNMetaImpl?: Function ): Function; /** - * Returns a metadata object for class `sap.ui.core.CustomData`. + * Returns a metadata object for class sap.ui.core.CustomData. * * * @returns Metadata object describing this class @@ -25707,15 +25795,15 @@ declare module "sap/ui/core/delegate/ScrollEnablement" { */ vertical?: boolean; /** - * Deprecated since 1.42, the parameter has no effect + * @deprecated As of version 1.42. the parameter has no effect */ zynga?: boolean; /** - * Deprecated since 1.42, the parameter has no effect + * @deprecated As of version 1.42. the parameter has no effect */ iscroll?: boolean; /** - * Deprecated since 1.42, the parameter has no effect + * @deprecated As of version 1.42. the parameter has no effect */ preventDefault?: boolean; /** @@ -28156,8 +28244,10 @@ declare module "sap/ui/core/Element" { */ oFocusInfo: { /** - * @since 1.60 if it's set to true, the focused element won't be shifted into the viewport if it's not completely - * visible before the focus is set + * if it's set to true, the focused element won't be shifted into the viewport if it's not completely visible + * before the focus is set + * + * @since 1.60 */ preventScroll?: boolean; } @@ -28442,12 +28532,16 @@ declare module "sap/ui/core/Element" { */ oFocusInfo?: { /** - * @since 1.60 if it's set to true, the focused element won't be shifted into the viewport if it's not completely - * visible before the focus is set + * if it's set to true, the focused element won't be shifted into the viewport if it's not completely visible + * before the focus is set + * + * @since 1.60 */ preventScroll?: boolean; /** - * Further control-specific setting of the focus target within the control @since 1.98 + * Further control-specific setting of the focus target within the control + * + * @since 1.98 */ targetInfo?: any; } @@ -30933,10 +31027,9 @@ declare module "sap/ui/core/format/NumberFormat" { */ showNumber?: boolean; /** - * The style of format. Valid values are based on the CLDR `decimalFormat`. When set to `short` or `long`, - * numbers are formatted into compact forms. When this option is set, the default value of the `precision` - * option is set to `2`. This can be changed by setting either `min/maxFractionDigits`, `decimals`, `shortDecimals`, - * or the `precision` option itself. + * The style of format. When set to `short` or `long`, numbers are formatted into the `short` form only. + * When this option is set, the default value of the `precision` option is set to `2`. This can be changed + * by setting either `min/maxFractionDigits`, `decimals`, `shortDecimals`, or the `precision` option itself. */ style?: "short" | "long" | "standard"; /** @@ -30996,10 +31089,9 @@ declare module "sap/ui/core/format/NumberFormat" { */ preserveDecimals?: boolean; /** - * The style of format. Valid values are based on the CLDR `decimalFormat`. When set to `short` or `long`, - * numbers are formatted into compact forms. When this option is set, the default value of the `precision` - * option is set to `2`. This can be changed by setting either `min/maxFractionDigits`, `decimals`, `shortDecimals`, - * or the `precision` option itself. + * The style of format. When set to `short` or `long`, numbers are formatted into compact forms. When this + * option is set, the default value of the `precision` option is set to `2`. This can be changed by setting + * either `min/maxFractionDigits`, `decimals`, `shortDecimals`, or the `precision` option itself. */ style?: "short" | "long" | "standard"; }; @@ -31137,10 +31229,9 @@ declare module "sap/ui/core/format/NumberFormat" { */ preserveDecimals?: boolean; /** - * The style of format. Valid values are based on the CLDR `decimalFormat`. When set to `short` or `long`, - * numbers are formatted into compact forms. When this option is set, the default value of the `precision` - * option is set to `2`. This can be changed by setting either `min/maxFractionDigits`, `decimals`, `shortDecimals`, - * or the `precision` option itself. + * The style of format. When set to `short` or `long`, numbers are formatted into compact forms. When this + * option is set, the default value of the `precision` option is set to `2`. This can be changed by setting + * either `min/maxFractionDigits`, `decimals`, `shortDecimals`, or the `precision` option itself. */ style?: "short" | "long" | "standard"; }; @@ -31294,10 +31385,9 @@ declare module "sap/ui/core/format/NumberFormat" { */ showNumber?: boolean; /** - * The style of format. Valid values are based on the CLDR `decimalFormat`. When set to `short` or `long`, - * numbers are formatted into compact forms. When this option is set, the default value of the `precision` - * option is set to `2`. This can be changed by setting either `min/maxFractionDigits`, `decimals`, `shortDecimals`, - * or the `precision` option itself. + * The style of format. When set to `short` or `long`, numbers are formatted into compact forms. When this + * option is set, the default value of the `precision` option is set to `2`. This can be changed by setting + * either `min/maxFractionDigits`, `decimals`, `shortDecimals`, or the `precision` option itself. */ style?: "short" | "long" | "standard"; }; @@ -36880,6 +36970,12 @@ declare module "sap/ui/core/message/Message" { * An object containing technical details for a message */ technicalDetails?: object; + /** + * Whether the message originates from a client-side type validation or parse error. Set to `true` by the + * framework when creating messages for `validationError`, `parseError`, or `formatError` binding events. + * Read via {@link #isValidation}; cannot be changed after construction. + */ + validation?: boolean; processor?: MessageProcessor; /** @@ -37061,6 +37157,24 @@ declare module "sap/ui/core/message/Message" { * @returns type */ getType(): MessageType; + /** + * Returns whether the message originated from a client-side type validation or parse error. + * + * A message is considered a validation message when it was created by the binding layer in response to + * a type validator or parser rejecting a user-entered value (i.e. a `validationError`, `parseError`, or + * `formatError` event fired by a managed object binding). Such messages are created with `mParameters.validation: + * true` in the {@link sap.ui.core.message.Message} constructor. The flag is set at construction time and + * cannot be changed afterwards. + * + * Use this method to distinguish client-side validation messages from server-side messages (e.g. OData + * error responses) or application-created messages, which always have `validation: false`. + * + * @since 1.151 + * + * @returns `true` if the message originated from a client-side type validation or parse error, `false` + * otherwise + */ + isValidation(): boolean; /** * Sets the additionaltext for the message or merge different additionaltext strings */ @@ -40147,8 +40261,10 @@ declare module "sap/ui/core/mvc/XMLView" { | string | ((p1: Object, p2: Preprocessor.ViewInfo, p3: object) => void), /** - * Since 1.89, added for signature compatibility with {@link sap.ui.core.mvc.View#registerPreprocessor View#registerPreprocessor}. + * added for signature compatibility with {@link sap.ui.core.mvc.View#registerPreprocessor View#registerPreprocessor}. * Only supported value is "XML". + * + * @since 1.89 */ sViewType: string, /** @@ -43862,11 +43978,13 @@ declare module "sap/ui/core/routing/Router" { */ oConfig?: { /** - * Since 1.28. Settings which are used when no route of the router is matched after a hash change. + * Settings which are used when no route of the router is matched after a hash change. + * + * @since 1.28 */ bypassed?: { /** - * Since 1.28. One or multiple names of targets that will be displayed, if no route of the router is matched. + * One or multiple names of targets that will be displayed, if no route of the router is matched. * A typical use case is a not found page. * The current hash will be passed to the display event of the target. * **Example:** @@ -43896,12 +44014,17 @@ declare module "sap/ui/core/routing/Router" { * } * }); * ``` + * + * + * @since 1.28 */ target?: string | string[]; }; /** - * Since 1.34. Whether views are loaded asynchronously within this router instance. As of 1.90 synchronous - * routing is deprecated. Therefore, you should explicitly set `oConfig.async` to `true`. + * Whether views are loaded asynchronously within this router instance. As of 1.90 synchronous routing is + * deprecated. Therefore, you should explicitly set `oConfig.async` to `true`. + * + * @since 1.34 */ async?: boolean; }, @@ -43912,8 +44035,8 @@ declare module "sap/ui/core/routing/Router" { */ oOwner?: UIComponent, /** - * Since 1.28 the target configuration, see {@link sap.ui.core.routing.Targets#constructor} documentation - * (the options object). + * the target configuration, see {@link sap.ui.core.routing.Targets#constructor} documentation (the options + * object). * You should use Targets to create and display views. Since 1.28 the route should only contain routing * relevant properties. * **Example:** @@ -43952,6 +44075,9 @@ declare module "sap/ui/core/routing/Router" { * } * }) * ``` + * + * + * @since 1.28 */ oTargetsConfig?: Record ); @@ -44621,7 +44747,9 @@ declare module "sap/ui/core/routing/Router" { */ initialize( /** - * Since 1.48.0. Whether the current URL hash shouldn't be parsed after the router is initialized + * Whether the current URL hash shouldn't be parsed after the router is initialized + * + * @since 1.48.0 */ bIgnoreInitialHash?: boolean ): this; @@ -45813,9 +45941,11 @@ declare module "sap/ui/core/routing/Targets" { */ rootView?: string; /** - * @since 1.34 Whether the views which are created through this Targets are loaded asynchronously. This - * option can be set only when the Targets is used standalone without the involvement of a Router. Otherwise - * the async option is inherited from the Router. + * Whether the views which are created through this Targets are loaded asynchronously. This option can be + * set only when the Targets is used standalone without the involvement of a Router. Otherwise the async + * option is inherited from the Router. + * + * @since 1.34 */ async?: boolean; }; @@ -46167,9 +46297,11 @@ declare module "sap/ui/core/routing/Views" { */ component?: UIComponent; /** - * @since 1.34 Whether the views which are created through this Views are loaded asyncly. This option can - * be set only when the Views is used standalone without the involvement of a Router. Otherwise the async - * option is inherited from the Router. + * Whether the views which are created through this Views are loaded asyncly. This option can be set only + * when the Views is used standalone without the involvement of a Router. Otherwise the async option is + * inherited from the Router. + * + * @since 1.34 */ async?: boolean; }); @@ -68151,10 +68283,9 @@ declare module "sap/ui/model/odata/type/Currency" { */ showNumber?: boolean; /** - * The style of format. Valid values are based on the CLDR `decimalFormat`. When set to `short` or `long`, - * numbers are formatted into compact forms. When this option is set, the default value of the `precision` - * option is set to `2`. This can be changed by setting either `min/maxFractionDigits`, `decimals`, `shortDecimals`, - * or the `precision` option itself. + * The style of format. When set to `short` or `long`, numbers are formatted into the `short` form only. + * When this option is set, the default value of the `precision` option is set to `2`. This can be changed + * by setting either `min/maxFractionDigits`, `decimals`, `shortDecimals`, or the `precision` option itself. */ style?: "short" | "long" | "standard"; /** @@ -71117,10 +71248,9 @@ declare module "sap/ui/model/odata/type/Unit" { */ showNumber?: boolean; /** - * The style of format. Valid values are based on the CLDR `decimalFormat`. When set to `short` or `long`, - * numbers are formatted into compact forms. When this option is set, the default value of the `precision` - * option is set to `2`. This can be changed by setting either `min/maxFractionDigits`, `decimals`, `shortDecimals`, - * or the `precision` option itself. + * The style of format. When set to `short` or `long`, numbers are formatted into compact forms. When this + * option is set, the default value of the `precision` option is set to `2`. This can be changed by setting + * either `min/maxFractionDigits`, `decimals`, `shortDecimals`, or the `precision` option itself. */ style?: "short" | "long" | "standard"; /** @@ -73613,8 +73743,8 @@ declare module "sap/ui/model/odata/v4/Context" { * (for example due to a filter), and the group ID must not have {@link sap.ui.model.odata.v4.SubmitMode.API}. * Such a deletion is not a pending change. * - * When using data aggregation without `groupLevels`, single entities can be deleted (@experimental as of - * version 1.144.0, see {@link #isAggregated}). The same restrictions as for a recursive hierarchy apply. + * When using data aggregation without `groupLevels`, single entities can be deleted (since 1.151.0, see + * {@link #isAggregated}). The same restrictions as for a recursive hierarchy apply. * See: * #hasPendingChanges * #resetChanges @@ -74190,7 +74320,7 @@ declare module "sap/ui/model/odata/v4/Context" { * * When using data aggregation but no recursive hierarchy, and without `groupLevels` or `"grandTotal like * 1.84"` (see {@link sap.ui.model.odata.v4.ODataListBinding#setAggregation}), this context can also represent - * a single entity (see {@link #isAggregated}, @experimental as of version 1.146.0). + * a single entity (see {@link #isAggregated}, since 1.151.0). * See: * sap.ui.model.odata.v4.ODataContextBinding#getBoundContext * sap.ui.model.odata.v4.ODataContextBinding#invoke @@ -74272,8 +74402,8 @@ declare module "sap/ui/model/odata/v4/Context" { * * Note: This is only supported if the model uses the `autoExpandSelect` parameter. * - * Note: This can be used for single entities in a data aggregation scenario (@experimental as of version - * 1.144.0), see {@link #isAggregated}. Such a kept-alive context + * Note: This can be used for single entities in a data aggregation scenario (since 1.151.0), see {@link #isAggregated}. + * Such a kept-alive context * can be used as a binding context, can be used for updating data (see {@link #setProperty}), * can be refreshed (see {@link #refresh} and {@link #requestRefresh}), is refreshed when its list * binding's {@link sap.ui.model.odata.v4.ODataListBinding#refresh}) is called, and is refreshed when @@ -74783,14 +74913,20 @@ declare module "sap/ui/model/odata/v4/ODataContextBinding" { * has to be bi-directional. Also a navigation property binding has to be available for the entity set of * the first segment in the parent context's path. **Note:** Ensure your service implementation returns * all selected key properties; otherwise, no return value context is provided. + * Since 1.151.0, if the operation returns an "Edm.Stream" and the group ID '$stream' is used, the promise + * resolves with a partial `Response` object containing only: + * `body`: The response's `ReadableStream` `headers`: The response's `Headers` The promise + * rejects if '$stream' is used with a wrong return type. */ invoke( /** * The group ID to be used for the request; if not specified, the group ID for this binding is used, see * {@link #constructor} and {@link #getGroupId}. To use the update group ID, see {@link #getUpdateGroupId}, * it needs to be specified explicitly. Valid values are `undefined`, '$auto', '$auto.*', '$direct', '$single', - * or application group IDs as specified in {@link sap.ui.model.odata.v4.ODataModel}. If '$single' is used, - * the request will be sent as fast as '$direct', but wrapped in a batch request like '$auto' (since 1.121.0). + * '$stream', or application group IDs as specified in {@link sap.ui.model.odata.v4.ODataModel}. If '$single' + * is used, the request will be sent as fast as '$direct', but wrapped in a batch request like '$auto' (since + * 1.121.0). If '$stream' is used with an operation that returns "Edm.Stream", the stream response's body + * and headers can be retrieved (since 1.151.0). */ sGroupId?: string, /** @@ -74821,7 +74957,15 @@ declare module "sap/ui/model/odata/v4/ODataContextBinding" { * binding parameter is set to `true`. Since 1.97.0. */ bReplaceWithRVC?: boolean - ): Promise; + ): Promise< + | Context + | { + body: ReadableStream; + + headers: Headers; + } + | undefined + >; /** * Method not supported * @@ -75366,7 +75510,7 @@ declare module "sap/ui/model/odata/v4/ODataListBinding" { * which can be used for {@link #getKeepAliveContext}. * * When using data aggregation without `groupLevels` and without `"grandTotal like 1.84"` (see {@link #setAggregation}), - * single entities can be created (@experimental as of version 1.146.0, see {@link sap.ui.model.odata.v4.Context#isAggregated}). + * single entities can be created (since 1.151.0, see {@link sap.ui.model.odata.v4.Context#isAggregated}). * * @since 1.43.0 * @@ -77231,7 +77375,9 @@ declare module "sap/ui/model/odata/v4/ODataMetaModel" { * * For fixed values, only one mapping is expected and the qualifier is ignored. The mapping is available * with key "" and has an additional property "$qualifier" which is the original qualifier (useful in case - * of "ValueListRelevantQualifiers" annotation). + * of "ValueListRelevantQualifiers" annotation). Since 1.151.0, multiple mappings are supported in case + * of "ValueListRelevantQualifiers" annotation but missing `oContext` instance; in this case qualifiers + * are unchanged. * * The promise is rejected with an error if there is no value list information available for the given property * path. Use {@link #getValueListType} to determine if value list information exists. It is also rejected @@ -77245,7 +77391,8 @@ declare module "sap/ui/model/odata/v4/ODataMetaModel" { * There is a reference, but the referenced service does not contain mappings for the property. The * referenced service contains annotation targets in the namespace of the data service that are not mappings * for the property. Two different referenced services contain a mapping using the same qualifier. - * A service is referenced twice. There are multiple mappings for a fixed value list. A `com.sap.vocabularies.Common.v1.ValueList` + * A service is referenced twice. There are multiple mappings for a fixed value list (with given + * `oContext` instance or missing "ValueListRelevantQualifiers" annotation). A `com.sap.vocabularies.Common.v1.ValueList` * annotation in a referenced service has the property `CollectionRoot` or `SearchSupported`. */ requestValueListInfo( @@ -81069,10 +81216,9 @@ declare module "sap/ui/model/type/Currency" { */ source?: object; /** - * The style of format. Valid values are based on the CLDR `decimalFormat`. When set to `short` or `long`, - * numbers are formatted into compact forms. When this option is set, the default value of the `precision` - * option is set to `2`. This can be changed by setting either `min/maxFractionDigits`, `decimals`, `shortDecimals`, - * or the `precision` option itself. + * The style of format. When set to `short` or `long`, numbers are formatted into the `short` form only. + * When this option is set, the default value of the `precision` option is set to `2`. This can be changed + * by setting either `min/maxFractionDigits`, `decimals`, `shortDecimals`, or the `precision` option itself. */ style?: "short" | "long" | "standard"; /** @@ -82294,10 +82440,9 @@ declare module "sap/ui/model/type/Unit" { */ source?: object; /** - * The style of format. Valid values are based on the CLDR `decimalFormat`. When set to `short` or `long`, - * numbers are formatted into compact forms. When this option is set, the default value of the `precision` - * option is set to `2`. This can be changed by setting either `min/maxFractionDigits`, `decimals`, `shortDecimals`, - * or the `precision` option itself. + * The style of format. When set to `short` or `long`, numbers are formatted into compact forms. When this + * option is set, the default value of the `precision` option is set to `2`. This can be changed by setting + * either `min/maxFractionDigits`, `decimals`, `shortDecimals`, or the `precision` option itself. */ style?: "short" | "long" | "standard"; }; @@ -84838,6 +84983,8 @@ declare module "sap/ui/test/matchers/AggregationLengthEquals" { } declare module "sap/ui/test/matchers/Ancestor" { + import UI5Element from "sap/ui/core/Element"; + /** * Checks if a control has a defined ancestor. * @@ -84851,19 +84998,21 @@ declare module "sap/ui/test/matchers/Ancestor" { * * @since 1.27 */ - export default class Ancestor { - constructor( + interface Ancestor { + new ( /** - * the ancestor control to check, if undefined, validates every control to true. Can be a control or a control - * ID + * The ancestor control to check, if undefined, validates every control to true. + * Can be a control or a control ID */ vAncestor: object | string, /** - * specifies if the ancestor should be a direct ancestor (parent) + * Specifies if the ancestor should be a direct ancestor (parent) */ bDirect?: boolean - ); + ): (p1: UI5Element) => boolean; } + const Ancestor: Ancestor; + export default Ancestor; } declare module "sap/ui/test/matchers/BindingPath" { @@ -85120,6 +85269,8 @@ declare module "sap/ui/test/matchers/BindingPath" { } declare module "sap/ui/test/matchers/Descendant" { + import UI5Element from "sap/ui/core/Element"; + /** * Checks if a control has a given descendant. * @@ -85133,19 +85284,21 @@ declare module "sap/ui/test/matchers/Descendant" { * * @since 1.66 */ - export default class Descendant { - constructor( + interface Descendant { + new ( /** - * The descendant control to check. If undefined, it validates every control to true. Can be a control or - * a control ID + * The descendant control to check. If undefined, it validates every control to true. + * Can be a control or a control ID */ vDescendantControl: object | string, /** - * specifies if the descendant should be a direct child + * Specifies if the descendant should be a direct child */ bDirect?: boolean - ); + ): (p1: UI5Element) => boolean; } + const Descendant: Descendant; + export default Descendant; } declare module "sap/ui/test/matchers/I18NText" { @@ -85817,6 +85970,8 @@ declare module "sap/ui/test/matchers/Matcher" { } declare module "sap/ui/test/matchers/Properties" { + import UI5Element from "sap/ui/core/Element"; + /** * Checks if a control's properties have the provided values - all properties have to match their values. * @@ -85845,25 +86000,17 @@ declare module "sap/ui/test/matchers/Properties" { * * @since 1.27 */ - export default class Properties { - constructor( + interface Properties { + new ( /** - * the object with the properties to be checked. Example: - * ```javascript - * - * // Would filter for an enabled control with the text "Accept". - * new Properties({ - * // The property text has the exact value "Accept" - * text: "Accept", - * // The property enabled also has to be true - * enabled: true - * }) - * ``` - * If the value is a RegExp, it tests the RegExp with the value. RegExp only works with string properties. + * The object with the properties to be checked. + * If a value is a RegExp, it tests the RegExp with the value. RegExp only works with string properties. */ oProperties: object - ); + ): (p1: UI5Element) => boolean; } + const Properties: Properties; + export default Properties; } declare module "sap/ui/test/matchers/PropertyStrictEquals" { @@ -86018,6 +86165,8 @@ declare module "sap/ui/test/matchers/PropertyStrictEquals" { } declare module "sap/ui/test/matchers/Sibling" { + import UI5Element from "sap/ui/core/Element"; + /** * Checks if a control has a defined sibling. Available as a declarative matcher with the following syntax: * @@ -86030,36 +86179,38 @@ declare module "sap/ui/test/matchers/Sibling" { * * @since 1.91 */ - export default class Sibling { - constructor( + interface Sibling { + new ( /** * the sibling control to check. Can be a control or a control ID. If undefined, the result will always * be true. */ vSibling: object | string, /** - * specifies how to match + * Specifies how to match */ oOptions?: { /** - * whether to match by relationships of the DOM references. false by default + * Whether to match by relationships of the DOM references, false by default */ useDom: boolean; /** - * match only if control's DOM reference is before the sibling's in the DOM tree + * Match only if control's DOM reference is before the sibling's in the DOM tree */ prev: boolean; /** - * match only if control's DOM reference is after the sibling's in the DOM tree, + * Match only if control's DOM reference is after the sibling's in the DOM tree */ next: boolean; /** - * how many levels of ancestors to search + * How many levels of ancestors to search */ level: boolean; } - ); + ): (p1: UI5Element) => boolean; } + const Sibling: Sibling; + export default Sibling; } declare module "sap/ui/test/Opa" { @@ -87981,9 +88132,11 @@ declare namespace sap { */ async?: boolean; /** - * @since 1.27.0 Hints for the asynchronous loading. **Beware:** This parameter is only used internally - * by the UI5 framework and compatibility cannot be guaranteed. The parameter must not be used in productive - * code, except in code delivered by the UI5 teams. + * Hints for the asynchronous loading. **Beware:** This parameter is only used internally by the UI5 framework + * and compatibility cannot be guaranteed. The parameter must not be used in productive code, except in + * code delivered by the UI5 teams. + * + * @since 1.27.0 */ asyncHints?: { /** @@ -87995,33 +88148,41 @@ declare namespace sap { */ components?: string[]; /** - * @since 1.37.0 a `Promise` or and array of `Promise`s for which the Component instantiation should wait - * (experimental setting) + * a `Promise` or and array of `Promise`s for which the Component instantiation should wait (experimental + * setting) + * + * @since 1.37.0 */ waitFor?: Promise | Array>; }; /** - * @since 1.49.0 Controls when and from where to load the manifest for the Component. When set to any truthy - * value, the manifest will be loaded asynchronously by default and evaluated before the Component controller, - * if it is set to a falsy value other than `undefined`, the manifest will be loaded after the controller. - * A non-empty string value will be interpreted as the URL location from where to load the manifest. A non-null - * object value will be interpreted as manifest content. Setting this property to a value other than `undefined`, + * Controls when and from where to load the manifest for the Component. When set to any truthy value, the + * manifest will be loaded asynchronously by default and evaluated before the Component controller, if it + * is set to a falsy value other than `undefined`, the manifest will be loaded after the controller. A non-empty + * string value will be interpreted as the URL location from where to load the manifest. A non-null object + * value will be interpreted as manifest content. Setting this property to a value other than `undefined`, * completely deactivates the properties `manifestUrl` and `manifestFirst`, no matter what their values * are. + * + * @since 1.49.0 */ manifest?: boolean | string | object; /** - * @since 1.33.0 Specifies the URL from where the manifest should be loaded from Using this property implies - * `vConfig.manifestFirst=true`. + * Specifies the URL from where the manifest should be loaded from Using this property implies `vConfig.manifestFirst=true`. + * * **DEPRECATED since 1.49.0, use `vConfig.manifest=url` instead!**. Note that this property is ignored * when `vConfig.manifest` has a value other than `undefined`. + * + * @since 1.33.0 */ manifestUrl?: string; /** - * @since 1.33.0 defines whether the manifest is loaded before or after the Component controller. Defaults - * to `sap.ui.getCore().getConfiguration().getManifestFirst()` + * defines whether the manifest is loaded before or after the Component controller. Defaults to `sap.ui.getCore().getConfiguration().getManifestFirst()` + * * **DEPRECATED since 1.49.0, use `vConfig.manifest=true|false` instead!** Note that this property is ignored * when `vConfig.manifest` has a value other than `undefined`. + * + * @since 1.33.0 */ manifestFirst?: boolean; /** @@ -90739,6 +90900,8 @@ declare namespace sap { "sap/base/strings/formatMessage": undefined; + "sap/base/strings/highlightText": undefined; + "sap/base/strings/hyphenate": undefined; "sap/base/strings/whitespaceReplacer": undefined; @@ -91089,6 +91252,8 @@ declare namespace sap { "sap/ui/core/tmpl/TemplateControl": undefined; + "sap/ui/core/tooltip/TooltipEnablement": undefined; + "sap/ui/core/TooltipBase": undefined; "sap/ui/core/UIArea": undefined; diff --git a/types/openui5/sap.ui.dt.d.ts b/types/openui5/sap.ui.dt.d.ts index d56527e04a0647..05fe4804d20c98 100644 --- a/types/openui5/sap.ui.dt.d.ts +++ b/types/openui5/sap.ui.dt.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.150.0 +// For Library Version: 1.151.0 declare module "sap/ui/dt/library" { export namespace designtime { diff --git a/types/openui5/sap.ui.fl.d.ts b/types/openui5/sap.ui.fl.d.ts index 9e2b6d4d540f73..035f4e39acb4f7 100644 --- a/types/openui5/sap.ui.fl.d.ts +++ b/types/openui5/sap.ui.fl.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.150.0 +// For Library Version: 1.151.0 declare module "sap/ui/fl/library" {} diff --git a/types/openui5/sap.ui.integration.d.ts b/types/openui5/sap.ui.integration.d.ts index 0c6a32479a2462..cb8a017a0f4b8a 100644 --- a/types/openui5/sap.ui.integration.d.ts +++ b/types/openui5/sap.ui.integration.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.150.0 +// For Library Version: 1.151.0 declare module "sap/ui/integration/library" { import { URI } from "sap/ui/core/library"; @@ -982,6 +982,14 @@ declare module "sap/ui/integration/widgets/Card" { * - Content * - Data source * - Possible actions + * - Badge (optional) - Since 1.151 + * + * Manifest Badges vs. Programmatic Badges:: Badges can be set in two ways: + * - **Manifest Badges:** Defined in `sap.card/badges` array - ideal for backend-driven scenarios where + * badge state is known at card definition time + * - **Programmatic Badges:** Added via `customData` aggregation using {@link sap.f.cards.CardBadgeCustomData } + * - ideal for runtime dynamic scenarios controlled by the host application Both types can coexist + * on the same card, allowing combination of backend-defined and host-controlled badges. * * The role of the app developer is to integrate the card into the app and define: * - The dimensions of the card inside a layout of choice, using the `width` and `height` properties @@ -1485,6 +1493,24 @@ declare module "sap/ui/integration/widgets/Card" { * @returns Object containing parameters in format `{parameterKey: parameterValue}`. */ getCombinedParameters(): Record; + /** + * Returns the context paths that the card depends on. + * + * Scans the `sap.card` section of the manifest for context model references and returns a deduplicated + * array of the context paths found. + * + * Must be called after the manifest is ready (for example, in the `manifestReady` event handler). + * + * **Limitation:** Only context references directly in the manifest are detected. Context referenced from + * inside an extension or component will not be returned. If context needs to be used from an extension, + * assign it to a parameter first. + * + * @experimental As of version 1.151. + * + * @returns An array of context paths found in the manifest (for example, `["/sample/currentUser/id", "/sample/supplier/id/value"]`). + * Returns an empty array if no context dependencies are found or if the manifest is not ready. + */ + getContextDependencies(): string[]; /** * Gets current value of property {@link #getDataMode dataMode}. * @@ -1712,7 +1738,8 @@ declare module "sap/ui/integration/widgets/Card" { eCardArea?: CardArea | keyof typeof CardArea ): void; /** - * Hides the message previously shown by showMessage. + * Hides the message previously shown by {@link sap.ui.integration.widgets.Card#showMessage showMessage}. + * Can be used only after the `manifestApplied` event is fired. * * @experimental As of version 1.117. */ @@ -2359,7 +2386,8 @@ declare module "sap/ui/integration/widgets/Card" { eCardArea?: CardArea | keyof typeof CardArea ): void; /** - * Hides the message previously shown by showMessage. + * Hides the message previously shown by {@link sap.ui.integration.widgets.Card#showMessage showMessage}. + * Can be used only after the `manifestApplied` event is fired. * * @experimental As of version 1.117. */ diff --git a/types/openui5/sap.ui.layout.d.ts b/types/openui5/sap.ui.layout.d.ts index 2dfe77da09ccb4..82187b35afa99d 100644 --- a/types/openui5/sap.ui.layout.d.ts +++ b/types/openui5/sap.ui.layout.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.150.0 +// For Library Version: 1.151.0 declare module "sap/ui/layout/library" { import Control from "sap/ui/core/Control"; diff --git a/types/openui5/sap.ui.mdc.d.ts b/types/openui5/sap.ui.mdc.d.ts index 0d7b200dcbc7d9..0eb8c8fb140df8 100644 --- a/types/openui5/sap.ui.mdc.d.ts +++ b/types/openui5/sap.ui.mdc.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.150.0 +// For Library Version: 1.151.0 declare module "sap/ui/mdc/AggregationBaseDelegate" { import BaseDelegate from "sap/ui/mdc/BaseDelegate"; @@ -1590,14 +1590,9 @@ declare module "sap/ui/mdc/FilterBarDelegate" { */ oFilterBar: FilterBar, /** - * Object describing the validation result. This object is only provided when called from the {@link sap.ui.mdc.FilterBar FilterBar} + * Status of the validation {@link sap.ui.mdc.enums.FilterBarValidationStatus} */ - mValidation?: { - /** - * Status of the validation {@link sap.ui.mdc.enums.FilterBarValidationStatus} - */ - status?: string; - } + sValidationStatus?: string ): FilterBarValidationStatus; /** * Retrieves the relevant metadata for a given payload and returns the property info array. @@ -2286,6 +2281,14 @@ declare module "sap/ui/mdc/odata/v4/TableDelegate" { * The `p13nMode` `Group` is not supported if the table type is {@link sap.ui.mdc.table.TreeTableType TreeTable}. * This cannot be changed in your delegate implementation. * + * **Note:** When grouping in the {@link sap.ui.mdc.table.ResponsiveTableType ResponsiveTable}, the paths + * required for the group header text (the grouped property's path and, if defined, the path of its text + * property) are conveyed via {@link sap.ui.model.Sorter#getGroupPaths}. The {@link sap.ui.model.odata.v4.ODataListBinding } + * evaluates these paths only if the {@link sap.ui.model.odata.v4.ODataModel} runs with `autoExpandSelect` + * enabled; without it, paths that traverse a `NavigationProperty` are not loaded and the group header text + * is incomplete. Applications that must run without `autoExpandSelect` and require grouping by such properties + * need to override the delegate to add the required `$expand` to the binding parameters. + * * All binding-related limitations regarding selection also apply in the context of this delegate. For details, * see {@link sap.ui.model.odata.v4.Context#setSelected} and {@link sap.ui.model.odata.v4.ODataModel#bindList}. * diff --git a/types/openui5/sap.ui.rta.d.ts b/types/openui5/sap.ui.rta.d.ts index ba66b3f8298a85..969e9f77e78d86 100644 --- a/types/openui5/sap.ui.rta.d.ts +++ b/types/openui5/sap.ui.rta.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.150.0 +// For Library Version: 1.151.0 declare module "sap/ui/rta/api/startAdaptation" { import Control from "sap/ui/core/Control"; @@ -189,7 +189,7 @@ declare module "sap/ui/rta/plugin/annotations/AnnotationChangeDialog" { text: string; }>; /** - * Name of the property that should be filtered for initially + * Annotation path of the property to preselect */ preSelectedProperty?: string; }; diff --git a/types/openui5/sap.ui.suite.d.ts b/types/openui5/sap.ui.suite.d.ts index fd2230b2fab54b..70c9653320044a 100644 --- a/types/openui5/sap.ui.suite.d.ts +++ b/types/openui5/sap.ui.suite.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.150.0 +// For Library Version: 1.151.0 declare module "sap/ui/suite/library" { /** diff --git a/types/openui5/sap.ui.support.d.ts b/types/openui5/sap.ui.support.d.ts index 76c24ba0937f45..b3f5651c6ffb78 100644 --- a/types/openui5/sap.ui.support.d.ts +++ b/types/openui5/sap.ui.support.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.150.0 +// For Library Version: 1.151.0 declare module "sap/ui/support/library" { /** diff --git a/types/openui5/sap.ui.table.d.ts b/types/openui5/sap.ui.table.d.ts index 547b1170418f7b..c92417ceba3b2b 100644 --- a/types/openui5/sap.ui.table.d.ts +++ b/types/openui5/sap.ui.table.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.150.0 +// For Library Version: 1.151.0 declare module "sap/ui/table/library" { import TreeAutoExpandMode1 from "sap/ui/model/TreeAutoExpandMode"; @@ -3553,7 +3553,7 @@ declare module "sap/ui/table/plugins/MultiSelectionPlugin" { /** * Array of indices whose selection has been changed (either selected or deselected) */ - indices?: int[]; + rowIndices?: int[]; /** * Indicates whether the selection limit has been reached diff --git a/types/openui5/sap.ui.testrecorder.d.ts b/types/openui5/sap.ui.testrecorder.d.ts index 3eefb41bf3b5b8..2706422995b1fa 100644 --- a/types/openui5/sap.ui.testrecorder.d.ts +++ b/types/openui5/sap.ui.testrecorder.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.150.0 +// For Library Version: 1.151.0 declare module "sap/ui/testrecorder/library" {} diff --git a/types/openui5/sap.ui.unified.d.ts b/types/openui5/sap.ui.unified.d.ts index d95822c2fea631..3e2a8287ede235 100644 --- a/types/openui5/sap.ui.unified.d.ts +++ b/types/openui5/sap.ui.unified.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.150.0 +// For Library Version: 1.151.0 declare module "sap/ui/unified/library" { /** @@ -1113,6 +1113,21 @@ declare module "sap/ui/unified/Calendar" { * @returns Value of property `showWeekNumbers` */ getShowWeekNumbers(): boolean; + /** + * Gets current value of property {@link #getShowWeekNumbersHeader showWeekNumbersHeader}. + * + * Determines whether the header of the week numbers column is displayed. The column header text is translated + * according to the active language. + * + * **Note:** Takes effect only when `showWeekNumbers` is set to `true`. + * + * Default value is `false`. + * + * @since 1.151 + * + * @returns Value of property `showWeekNumbersHeader` + */ + getShowWeekNumbersHeader(): boolean; /** * Gets current value of property {@link #getSingleSelection singleSelection}. * @@ -1567,6 +1582,28 @@ declare module "sap/ui/unified/Calendar" { */ bShowWeekNumbers?: boolean ): this; + /** + * Sets a new value for property {@link #getShowWeekNumbersHeader showWeekNumbersHeader}. + * + * Determines whether the header of the week numbers column is displayed. The column header text is translated + * according to the active language. + * + * **Note:** Takes effect only when `showWeekNumbers` is set to `true`. + * + * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * + * Default value is `false`. + * + * @since 1.151 + * + * @returns Reference to `this` in order to allow method chaining + */ + setShowWeekNumbersHeader( + /** + * New value for property `showWeekNumbersHeader` + */ + bShowWeekNumbersHeader?: boolean + ): this; /** * Setter for the property `singleSelection`. If set to `true` only a single date or single interval, when * `intervalSelection` is set to `true`, can be selected. @@ -1730,6 +1767,16 @@ declare module "sap/ui/unified/Calendar" { */ showWeekNumbers?: boolean | PropertyBindingInfo | `{${string}}`; + /** + * Determines whether the header of the week numbers column is displayed. The column header text is translated + * according to the active language. + * + * **Note:** Takes effect only when `showWeekNumbers` is set to `true`. + * + * @since 1.151 + */ + showWeekNumbersHeader?: boolean | PropertyBindingInfo | `{${string}}`; + /** * Determines whether there is a shortcut navigation to Today. When used in Month, Year or Year-range picker * view, the calendar navigates to Day picker view. @@ -3983,6 +4030,21 @@ declare module "sap/ui/unified/calendar/Month" { * @returns Value of property `showWeekNumbers` */ getShowWeekNumbers(): boolean; + /** + * Gets current value of property {@link #getShowWeekNumbersHeader showWeekNumbersHeader}. + * + * Determines whether the header of the week numbers column is displayed. The column header text is translated + * according to the active language. + * + * **Note:** Takes effect only when `showWeekNumbers` is set to `true`. + * + * Default value is `false`. + * + * @since 1.151 + * + * @returns Value of property `showWeekNumbersHeader` + */ + getShowWeekNumbersHeader(): boolean; /** * Gets current value of property {@link #getSingleSelection singleSelection}. * @@ -4402,6 +4464,28 @@ declare module "sap/ui/unified/calendar/Month" { */ bShowWeekNumbers?: boolean ): this; + /** + * Sets a new value for property {@link #getShowWeekNumbersHeader showWeekNumbersHeader}. + * + * Determines whether the header of the week numbers column is displayed. The column header text is translated + * according to the active language. + * + * **Note:** Takes effect only when `showWeekNumbers` is set to `true`. + * + * When called with a value of `null` or `undefined`, the default value of the property will be restored. + * + * Default value is `false`. + * + * @since 1.151 + * + * @returns Reference to `this` in order to allow method chaining + */ + setShowWeekNumbersHeader( + /** + * New value for property `showWeekNumbersHeader` + */ + bShowWeekNumbersHeader?: boolean + ): this; /** * Sets a new value for property {@link #getSingleSelection singleSelection}. * @@ -4519,6 +4603,16 @@ declare module "sap/ui/unified/calendar/Month" { */ showWeekNumbers?: boolean | PropertyBindingInfo | `{${string}}`; + /** + * Determines whether the header of the week numbers column is displayed. The column header text is translated + * according to the active language. + * + * **Note:** Takes effect only when `showWeekNumbers` is set to `true`. + * + * @since 1.151 + */ + showWeekNumbersHeader?: boolean | PropertyBindingInfo | `{${string}}`; + /** * If set, the calendar week numbering is used for display. If not set, the calendar week numbering of the * global configuration is used. Note: This property should not be used with firstDayOfWeek property. diff --git a/types/openui5/sap.ui.ux3.d.ts b/types/openui5/sap.ui.ux3.d.ts index fd6021bf1680c0..47ca14ffeceac1 100644 --- a/types/openui5/sap.ui.ux3.d.ts +++ b/types/openui5/sap.ui.ux3.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.150.0 +// For Library Version: 1.151.0 declare module "sap/ui/ux3/library" { /** diff --git a/types/openui5/sap.uxap.d.ts b/types/openui5/sap.uxap.d.ts index d81f7984d76431..94554fdefde4dd 100644 --- a/types/openui5/sap.uxap.d.ts +++ b/types/openui5/sap.uxap.d.ts @@ -1,4 +1,4 @@ -// For Library Version: 1.150.0 +// For Library Version: 1.151.0 declare module "sap/uxap/library" { /**