From 4fbcee02b83eecdea64020dfdd2da6cd7f000f08 Mon Sep 17 00:00:00 2001 From: MxKevinBeqo Date: Mon, 16 Feb 2026 16:39:59 +0100 Subject: [PATCH 1/6] feat(gallery-native): migrate to flash-list --- .../gallery-native/package.json | 1 + .../gallery-native/src/Gallery.tsx | 1 + .../gallery-native/src/components/Gallery.tsx | 30 ++++++++++++++----- .../gallery-native/src/ui/Styles.ts | 3 ++ pnpm-lock.yaml | 25 ++++++++++++++++ 5 files changed, 52 insertions(+), 8 deletions(-) diff --git a/packages/pluggableWidgets/gallery-native/package.json b/packages/pluggableWidgets/gallery-native/package.json index 01f5ed2a0..9dd6da968 100644 --- a/packages/pluggableWidgets/gallery-native/package.json +++ b/packages/pluggableWidgets/gallery-native/package.json @@ -23,6 +23,7 @@ }, "dependencies": { "@mendix/piw-utils-internal": "*", + "@shopify/flash-list": "2.2.2", "react-native-device-info": "14.0.4" }, "devDependencies": { diff --git a/packages/pluggableWidgets/gallery-native/src/Gallery.tsx b/packages/pluggableWidgets/gallery-native/src/Gallery.tsx index f7e5a5191..dc269104e 100644 --- a/packages/pluggableWidgets/gallery-native/src/Gallery.tsx +++ b/packages/pluggableWidgets/gallery-native/src/Gallery.tsx @@ -49,6 +49,7 @@ export const Gallery = (props: GalleryProps): ReactElement => { }), {} ), + // eslint-disable-next-line react-hooks/exhaustive-deps [props.filterList, viewStateFilters.current] ); diff --git a/packages/pluggableWidgets/gallery-native/src/components/Gallery.tsx b/packages/pluggableWidgets/gallery-native/src/components/Gallery.tsx index b2edd1465..3885cc192 100644 --- a/packages/pluggableWidgets/gallery-native/src/components/Gallery.tsx +++ b/packages/pluggableWidgets/gallery-native/src/components/Gallery.tsx @@ -1,11 +1,12 @@ -import { ReactElement, ReactNode, useCallback } from "react"; -import { Text, FlatList, Pressable, View, ViewProps, Platform, TouchableOpacity } from "react-native"; +import { ReactElement, ReactNode, useCallback, useMemo } from "react"; +import { Text, Pressable, View, ViewProps, Platform, TouchableOpacity } from "react-native"; import { ObjectItem, DynamicValue } from "mendix"; import DeviceInfo from "react-native-device-info"; import { GalleryStyle } from "../ui/Styles"; import { PaginationEnum, ScrollDirectionEnum } from "../../typings/GalleryProps"; import { isAvailable } from "@mendix/piw-utils-internal"; import { extractStyles } from "@mendix/pluggable-widgets-tools"; +import { FlashList } from "@shopify/flash-list"; const DEFAULT_RIPPLE_COLOR = "rgba(0, 0, 0, 0.2)"; @@ -79,7 +80,7 @@ export const Gallery = (props: GalleryProps): ReactElem ] ); - const loadMoreButton = (): ReactElement | null => { + const loadMoreButton = useMemo((): ReactElement | null => { const renderButton = ( {props.loadMoreButtonCaption && isAvailable(props.loadMoreButtonCaption) @@ -118,16 +119,29 @@ export const Gallery = (props: GalleryProps): ReactElem {renderButton} ) ) : null; - }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [ + props.style.loadMoreButtonCaption, + props.loadMoreButtonCaption, + props.style.loadMoreButtonPressableContainer, + name, + props.pagination, + props.hasMoreItems, + props.loadMoreItems + ]); - const renderEmptyPlaceholder = (): ReactElement => ( - {props.emptyPlaceholder} + const renderEmptyPlaceholder = useMemo( + (): ReactElement => {props.emptyPlaceholder}, + [props.style.emptyPlaceholder, props.emptyPlaceholder] ); return ( - + {props.filters ? {props.filters} : null} - = 10.0.0'} cpu: [arm] os: [linux] + libc: [glibc] '@parcel/watcher-linux-arm-musl@2.5.1': resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] + libc: [musl] '@parcel/watcher-linux-arm64-glibc@2.5.1': resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] + libc: [glibc] '@parcel/watcher-linux-arm64-musl@2.5.1': resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] + libc: [musl] '@parcel/watcher-linux-x64-glibc@2.5.1': resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] + libc: [glibc] '@parcel/watcher-linux-x64-musl@2.5.1': resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] + libc: [musl] '@parcel/watcher-win32-arm64@2.5.1': resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} @@ -2422,6 +2434,13 @@ packages: react: 19.0.0 react-native: 0.78.2 + '@shopify/flash-list@2.2.2': + resolution: {integrity: sha512-YrvLBK5FCpvuX+d9QvJvjVqyi4eBUaEamkyfh9CjPdF6c+AukP0RSBh97qHyTwOEaVq21A5ukwgyWMDIbmxpmQ==} + peerDependencies: + '@babel/runtime': '*' + react: 19.0.0 + react-native: 0.78.2 + '@sideway/address@4.1.5': resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==} @@ -9933,6 +9952,12 @@ snapshots: recyclerlistview: 4.2.1(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0) tslib: 2.8.1 + '@shopify/flash-list@2.2.2(@babel/runtime@7.27.6)(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)': + dependencies: + '@babel/runtime': 7.27.6 + react: 19.0.0 + react-native: 0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0) + '@sideway/address@4.1.5': dependencies: '@hapi/hoek': 9.3.0 From 1bee8cca663736678cb0b1ec4091d0c3583927ec Mon Sep 17 00:00:00 2001 From: MxKevinBeqo Date: Mon, 16 Feb 2026 16:41:55 +0100 Subject: [PATCH 2/6] chore(gallery-native): update version and changelog --- packages/pluggableWidgets/gallery-native/CHANGELOG.md | 4 ++++ packages/pluggableWidgets/gallery-native/package.json | 2 +- packages/pluggableWidgets/gallery-native/src/package.xml | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/pluggableWidgets/gallery-native/CHANGELOG.md b/packages/pluggableWidgets/gallery-native/CHANGELOG.md index 4e5621bd3..284aba1b8 100644 --- a/packages/pluggableWidgets/gallery-native/CHANGELOG.md +++ b/packages/pluggableWidgets/gallery-native/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] +### Changed + +- We migrated from using the native FlatList to @shopify/flash-list. + ## [2.0.2] - 2025-10-17 ### Fixed diff --git a/packages/pluggableWidgets/gallery-native/package.json b/packages/pluggableWidgets/gallery-native/package.json index 9dd6da968..57b21044d 100644 --- a/packages/pluggableWidgets/gallery-native/package.json +++ b/packages/pluggableWidgets/gallery-native/package.json @@ -1,7 +1,7 @@ { "name": "gallery-native", "widgetName": "Gallery", - "version": "2.0.2", + "version": "2.1.0", "description": "A flexible gallery widget that renders columns, rows and layouts.", "copyright": "© Mendix Technology BV 2022. All rights reserved.", "license": "Apache-2.0", diff --git a/packages/pluggableWidgets/gallery-native/src/package.xml b/packages/pluggableWidgets/gallery-native/src/package.xml index 827740b2c..131f3fb0a 100644 --- a/packages/pluggableWidgets/gallery-native/src/package.xml +++ b/packages/pluggableWidgets/gallery-native/src/package.xml @@ -1,6 +1,6 @@ - + From 7715aa7ef5549c715e7a8e3dc15892b3bc367026 Mon Sep 17 00:00:00 2001 From: MxKevinBeqo Date: Mon, 16 Feb 2026 16:53:54 +0100 Subject: [PATCH 3/6] feat(intro-screen-native): migrate to flash-list --- .../intro-screen-native/package.json | 1 + .../intro-screen-native/src/SwipeableContainer.tsx | 13 ++++++------- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/pluggableWidgets/intro-screen-native/package.json b/packages/pluggableWidgets/intro-screen-native/package.json index a30737ad3..cf33c7321 100644 --- a/packages/pluggableWidgets/intro-screen-native/package.json +++ b/packages/pluggableWidgets/intro-screen-native/package.json @@ -22,6 +22,7 @@ "@mendix/piw-native-utils-internal": "*", "@mendix/piw-utils-internal": "*", "@react-native-async-storage/async-storage": "2.0.0", + "@shopify/flash-list": "2.2.2", "react-native-device-info": "14.0.4" }, "devDependencies": { diff --git a/packages/pluggableWidgets/intro-screen-native/src/SwipeableContainer.tsx b/packages/pluggableWidgets/intro-screen-native/src/SwipeableContainer.tsx index 49a6ee76f..c132c1c91 100644 --- a/packages/pluggableWidgets/intro-screen-native/src/SwipeableContainer.tsx +++ b/packages/pluggableWidgets/intro-screen-native/src/SwipeableContainer.tsx @@ -1,6 +1,5 @@ import { Fragment, ReactElement, ReactNode, useCallback, useEffect, useRef, useState } from "react"; import { - FlatList, I18nManager, LayoutChangeEvent, NativeSyntheticEvent, @@ -18,6 +17,7 @@ import { Icon } from "mendix/components/native/Icon"; import { SlidesType } from "../typings/IntroScreenProps"; import { EditableValue, ValueStatus, DynamicValue, NativeIcon } from "mendix"; import { Big } from "big.js"; +import { FlashList, FlashListRef } from "@shopify/flash-list"; interface SwipeableContainerProps { testID?: string; @@ -69,7 +69,7 @@ const refreshActiveSlideAttribute = (slides: SlidesType[], activeSlide?: Editabl export const SwipeableContainer = (props: SwipeableContainerProps): ReactElement => { const [width, setWidth] = useState(0); const [activeIndex, setActiveIndex] = useState(0); - const flatList = useRef>(null); + const flashList = useRef>(null); const rtlSafeIndex = useCallback( (i: number): number => (isAndroidRTL ? props.slides.length - 1 - i : i), @@ -79,8 +79,8 @@ export const SwipeableContainer = (props: SwipeableContainerProps): ReactElement const goToSlide = useCallback( (pageNum: number) => { setActiveIndex(pageNum); - if (flatList && flatList.current) { - flatList.current.scrollToOffset({ + if (flashList && flashList.current) { + flashList.current.scrollToOffset({ offset: rtlSafeIndex(pageNum) * width }); } @@ -317,11 +317,10 @@ export const SwipeableContainer = (props: SwipeableContainerProps): ReactElement return ( - ({ length: width, offset: width * i, index: i })} - ref={flatList} + ref={flashList} data={props.slides} horizontal pagingEnabled From 06c647ccb1d9c6521226dd0205c939f3e0fffb40 Mon Sep 17 00:00:00 2001 From: MxKevinBeqo Date: Mon, 16 Feb 2026 16:54:34 +0100 Subject: [PATCH 4/6] chore: update version and changelog --- packages/pluggableWidgets/intro-screen-native/CHANGELOG.md | 4 ++++ packages/pluggableWidgets/intro-screen-native/package.json | 2 +- packages/pluggableWidgets/intro-screen-native/src/package.xml | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/pluggableWidgets/intro-screen-native/CHANGELOG.md b/packages/pluggableWidgets/intro-screen-native/CHANGELOG.md index 0b93f8f52..b3d0d2471 100644 --- a/packages/pluggableWidgets/intro-screen-native/CHANGELOG.md +++ b/packages/pluggableWidgets/intro-screen-native/CHANGELOG.md @@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), ## [Unreleased] +### Changed + +- We migrated from using the native FlatList to @shopify/flash-list. + ## [4.2.1] - 2026-1-19 ### Fixed diff --git a/packages/pluggableWidgets/intro-screen-native/package.json b/packages/pluggableWidgets/intro-screen-native/package.json index cf33c7321..3053350ac 100644 --- a/packages/pluggableWidgets/intro-screen-native/package.json +++ b/packages/pluggableWidgets/intro-screen-native/package.json @@ -1,7 +1,7 @@ { "name": "intro-screen-native", "widgetName": "IntroScreen", - "version": "4.2.1", + "version": "4.3.0", "license": "Apache-2.0", "repository": { "type": "git", diff --git a/packages/pluggableWidgets/intro-screen-native/src/package.xml b/packages/pluggableWidgets/intro-screen-native/src/package.xml index 21fc94fce..d039d8c27 100644 --- a/packages/pluggableWidgets/intro-screen-native/src/package.xml +++ b/packages/pluggableWidgets/intro-screen-native/src/package.xml @@ -1,6 +1,6 @@ - + From a574ac6c473e685798035c52f650ccd20a4e60a9 Mon Sep 17 00:00:00 2001 From: MxKevinBeqo Date: Wed, 18 Feb 2026 13:09:09 +0100 Subject: [PATCH 5/6] fix(gallery-native): babel transform issue with flash-list --- ...ndix+pluggable-widgets-tools+10.21.1.patch | 3 +- pnpm-lock.yaml | 92 +++++++++---------- 2 files changed, 48 insertions(+), 47 deletions(-) diff --git a/patches/@mendix+pluggable-widgets-tools+10.21.1.patch b/patches/@mendix+pluggable-widgets-tools+10.21.1.patch index 9bfd92373..33bd05ca5 100644 --- a/patches/@mendix+pluggable-widgets-tools+10.21.1.patch +++ b/patches/@mendix+pluggable-widgets-tools+10.21.1.patch @@ -139,7 +139,8 @@ index 72e3c51473b7566ca9d8b224b35334099ce615db..7e0949aa5d50d288d848117a804fd691 ], - snapshotSerializers: ["enzyme-to-json/serializer"], testMatch: ["/**/*.spec.{js,jsx,ts,tsx}"], - transformIgnorePatterns: ["node_modules/(?!(.*react-native.*|victory-)/)"], +- transformIgnorePatterns: ["node_modules/(?!(.*react-native.*|victory-)/)"], ++ transformIgnorePatterns: ["node_modules/(?!(.*react-native.*|victory-|@shopify/flash-list)/)"], transform: { @@ -35,7 +33,6 @@ module.exports = { "react-hot-loader/root": join(__dirname, "__mocks__/hot") diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index be74254f2..4e4afb67d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,7 +20,7 @@ overrides: patchedDependencies: '@mendix/pluggable-widgets-tools@10.21.1': - hash: 56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9 + hash: d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f path: patches/@mendix+pluggable-widgets-tools+10.21.1.patch '@ptomasroos/react-native-multi-slider@1.0.0': hash: b5e11465e4305f5284e90a78fc4575401f791921f34dbbafb9831f19ecae94da @@ -183,7 +183,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) '@types/querystringify': specifier: ^2.0.0 version: 2.0.2 @@ -220,7 +220,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) mendix: specifier: 10.24.81004 version: 10.24.81004 @@ -229,7 +229,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) concurrently: specifier: ^6.0.0 version: 6.5.1 @@ -251,7 +251,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/activity-indicator-native: dependencies: @@ -264,7 +264,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/animation-native: dependencies: @@ -280,7 +280,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/app-events-native: dependencies: @@ -296,7 +296,7 @@ importers: version: link:../../tools/piw-utils-internal '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/background-gradient-native: dependencies: @@ -309,7 +309,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/background-image-native: dependencies: @@ -322,7 +322,7 @@ importers: version: link:../../tools/piw-utils-internal '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/badge-native: dependencies: @@ -335,7 +335,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/bar-chart-native: dependencies: @@ -348,7 +348,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/barcode-scanner-native: dependencies: @@ -367,7 +367,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/bottom-sheet-native: dependencies: @@ -395,7 +395,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) '@types/react-native-actionsheet': specifier: ^2.4.1 version: 2.4.7 @@ -420,7 +420,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) '@types/react-native-snap-carousel': specifier: ^3.7.4 version: 3.8.11(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(react@19.0.0) @@ -448,7 +448,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) '@types/tinycolor2': specifier: ^1.4.1 version: 1.4.6 @@ -464,7 +464,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/feedback-native: dependencies: @@ -486,7 +486,7 @@ importers: version: link:../../tools/piw-utils-internal '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) '@types/querystringify': specifier: ^2.0.2 version: 2.0.2 @@ -511,7 +511,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/gallery-native: dependencies: @@ -527,7 +527,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/gallery-text-filter-native: dependencies: @@ -543,7 +543,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/image-native: dependencies: @@ -565,7 +565,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/intro-screen-native: dependencies: @@ -587,7 +587,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/line-chart-native: dependencies: @@ -600,7 +600,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/listview-swipe-native: dependencies: @@ -616,7 +616,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/maps-native: dependencies: @@ -638,7 +638,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/notifications-native: dependencies: @@ -657,7 +657,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/pie-doughnut-chart-native: dependencies: @@ -670,7 +670,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/popup-menu-native: dependencies: @@ -686,7 +686,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) '@types/react-native-material-menu': specifier: ^1.0.6 version: 1.0.10(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(react@19.0.0) @@ -705,7 +705,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/progress-circle-native: dependencies: @@ -721,7 +721,7 @@ importers: version: link:../../tools/piw-utils-internal '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/qr-code-native: dependencies: @@ -740,7 +740,7 @@ importers: version: link:../../tools/piw-utils-internal '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/radio-buttons-native: dependencies: @@ -753,7 +753,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/range-slider-native: dependencies: @@ -772,7 +772,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) '@types/ptomasroos__react-native-multi-slider': specifier: ^0.0.1 version: 0.0.1(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(react@19.0.0) @@ -794,7 +794,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) '@types/react-native-star-rating': specifier: ^1.1.6 version: 1.1.6(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(react@19.0.0) @@ -810,7 +810,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/safe-area-view-native: dependencies: @@ -829,7 +829,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/signature-native: dependencies: @@ -848,7 +848,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/slider-native: dependencies: @@ -867,7 +867,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) '@types/ptomasroos__react-native-multi-slider': specifier: ^0.0.1 version: 0.0.1(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(react@19.0.0) @@ -883,7 +883,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/toggle-buttons-native: dependencies: @@ -902,7 +902,7 @@ importers: version: 7.27.1(@babel/core@7.28.0) '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/pluggableWidgets/video-player-native: dependencies: @@ -921,7 +921,7 @@ importers: version: link:../../tools/piw-utils-internal '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) '@types/react-native-video': specifier: ^5.0.4 version: 5.0.20(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(react@19.0.0) @@ -940,13 +940,13 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) packages/tools/piw-native-utils-internal: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) rimraf: specifier: ^6.1.2 version: 6.1.2 @@ -955,7 +955,7 @@ importers: devDependencies: '@mendix/pluggable-widgets-tools': specifier: 10.21.1 - version: 10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) + version: 10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1) rimraf: specifier: ^6.1.2 version: 6.1.2 @@ -9304,7 +9304,7 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.4 - '@mendix/pluggable-widgets-tools@10.21.1(patch_hash=56be5973afa78b5314c624e57a66b26aeb8988283a4ec453cd8fc911e2a3a2d9)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1)': + '@mendix/pluggable-widgets-tools@10.21.1(patch_hash=d453a814eaf17b7f8d4239b31793af4ff954c6c420ad02ae92cce4efcb6c449f)(@jest/transform@29.7.0)(@jest/types@30.0.1)(@types/babel__core@7.20.5)(@types/node@20.19.9)(encoding@0.1.13)(jest-util@30.0.2)(picomatch@4.0.3)(react-dom@19.0.0(react@19.0.0))(react-native@0.78.2(@babel/core@7.28.0)(@babel/preset-env@7.28.0(@babel/core@7.28.0))(@react-native-community/cli@14.1.0(typescript@5.8.3))(@types/react@19.0.14)(react@19.0.0))(react@19.0.0)(tslib@2.8.1)': dependencies: '@babel/core': 7.28.0 '@babel/plugin-transform-class-properties': 7.27.1(@babel/core@7.28.0) From 1c53f66321f28bbd2dbf53c536295fb261abbfb8 Mon Sep 17 00:00:00 2001 From: MxKevinBeqo Date: Wed, 18 Feb 2026 13:10:30 +0100 Subject: [PATCH 6/6] test(gallery-native): update tests, add mock for flash-list --- .../src/__mocks__/@shopify/flash-list.tsx | 38 + .../src/components/__tests__/Gallery.spec.tsx | 1 + .../__snapshots__/Gallery.spec.tsx.snap | 2758 +++++++---------- 3 files changed, 1078 insertions(+), 1719 deletions(-) create mode 100644 packages/pluggableWidgets/gallery-native/src/__mocks__/@shopify/flash-list.tsx diff --git a/packages/pluggableWidgets/gallery-native/src/__mocks__/@shopify/flash-list.tsx b/packages/pluggableWidgets/gallery-native/src/__mocks__/@shopify/flash-list.tsx new file mode 100644 index 000000000..841a291cf --- /dev/null +++ b/packages/pluggableWidgets/gallery-native/src/__mocks__/@shopify/flash-list.tsx @@ -0,0 +1,38 @@ +import React from "react"; +import { View } from "react-native"; + +// Mock FlashList - render items directly without using FlatList +export const FlashList = React.forwardRef((props: any) => { + const { + data = [], + renderItem, + ListEmptyComponent, + ListFooterComponent, + ListHeaderComponent, + onRefresh, + ...rest + } = props; + + // simulate the refreshControl structure returned by real FlashList + const refreshControl = onRefresh ? { props: { onRefresh } } : undefined; + + const renderItems = (): any => { + if (!data || data.length === 0) { + return ListEmptyComponent; + } + + return data.map((item: any, index: number) => ( + {renderItem?.({ item, index })} + )); + }; + + return ( + + {ListHeaderComponent} + {renderItems()} + {ListFooterComponent} + + ); +}); + +FlashList.displayName = "FlashList"; diff --git a/packages/pluggableWidgets/gallery-native/src/components/__tests__/Gallery.spec.tsx b/packages/pluggableWidgets/gallery-native/src/components/__tests__/Gallery.spec.tsx index ab4a95f72..0c2fe2696 100644 --- a/packages/pluggableWidgets/gallery-native/src/components/__tests__/Gallery.spec.tsx +++ b/packages/pluggableWidgets/gallery-native/src/components/__tests__/Gallery.spec.tsx @@ -7,6 +7,7 @@ import { render, fireEvent, act } from "@testing-library/react-native"; import { Gallery, GalleryProps } from "../Gallery"; jest.mock("react-native-device-info", () => ({ isTablet: jest.fn().mockReturnValue(false) })); +jest.mock("@shopify/flash-list"); // Mocking FlashList API because it causes issues with the test renderer const itemWrapperFunction = ({ onClick }: { onClick?: () => void }): GalleryProps["itemRenderer"] => diff --git a/packages/pluggableWidgets/gallery-native/src/components/__tests__/__snapshots__/Gallery.spec.tsx.snap b/packages/pluggableWidgets/gallery-native/src/components/__tests__/__snapshots__/Gallery.spec.tsx.snap index 6e6f2fa91..98dfaf509 100644 --- a/packages/pluggableWidgets/gallery-native/src/components/__tests__/__snapshots__/Gallery.spec.tsx.snap +++ b/packages/pluggableWidgets/gallery-native/src/components/__tests__/__snapshots__/Gallery.spec.tsx.snap @@ -2,2128 +2,1448 @@ exports[`Gallery rendering rendering with load more button it shouldn't render the paging button if hasn't more item 1`] = ` - - - - 11 - - - - - 22 - - + 11 + + + + + 22 + + + + + + + 33 + + + + - - - 33 - - - - - 44 - - + 44 + + - - - 55 - - - - - 66 - - + 55 + + - - - 77 - - - - - 88 - - + 66 + + - - - 99 - - + 77 + + + testID="gallery-test-list-item-88" + > + + 88 + + - + + + + 99 + + + + `; exports[`Gallery rendering rendering with load more button renders correctly 1`] = ` - - - - 11 - - - - - 22 - - + 11 + + - - - 33 - - - - - 44 - - + 22 + + - - - 55 - - - - - 66 - - + 33 + + - - - 77 - - - - - 88 - - + 44 + + - - - 99 - - + 55 + + + + + 66 + + + + + + + 77 + + + + + + + 88 + + + + - - Load more - + 99 - + + + Load more + + + `; exports[`Gallery rendering rendering with load more button renders correctly with custom paging button title 1`] = ` - + + 11 + + + + + + + 22 + + + + + - - - 11 - - - - - 22 - - + 33 + + + + + 44 + + + + + + + 55 + + + + + + + 66 + + + + + + + 77 + + + + + + + 88 + + + + + + + 99 + + + + + + Show more + + + + +`; + +exports[`Gallery rendering renders correctly 1`] = ` + + + - - - - 33 - - - - - 44 - - - - - - - - 55 - - - - - 66 - - + 11 + + - - - 77 - - - - - 88 - - + 22 + + - - - 99 - - + 33 + + - - Show more - + 44 - - -`; - -exports[`Gallery rendering renders correctly 1`] = ` - - - - - 11 - - - - - 22 - - + 55 + + - - - 33 - - - - - 44 - - + 66 + + - - - 55 - - - - - 66 - - + 77 + + - - - 77 - - - - - 88 - - + 88 + + - - - 99 - - + 99 - - + `; exports[`Gallery rendering renders correctly horizontal 1`] = ` - - - 11 - + 11 + + - - 22 - + 22 + + - - 33 - + 33 + + - - 44 - + 44 + + - - 55 - + 55 + + - - 66 - + 66 + + - - 77 - + 77 + + - - 88 - + 88 + + - - 99 - + 99 - - + `; exports[`Gallery rendering renders correctly with empty list and custom placeholder 1`] = ` - - - - Empty list... - - - + + Empty list... + - + `; exports[`Gallery rendering renders correctly with filter 1`] = ` - + + 11 + + + + + + + 22 + + + + + + + 33 + + + + + - - - 11 - - - - - 22 - - + 44 + + - - - 33 - - - - - 44 - - + 55 + + - - - 55 - - - - - 66 - - + 66 + + - - - 77 - - - - - 88 - - + 77 + + - - - 99 - - + 88 + + + testID="gallery-test-list-item-99" + > + + 99 + + - + `;