diff --git a/packages/dnb-eufemia/src/extensions/forms/Form/Visibility/__tests__/useVisibility.test.tsx b/packages/dnb-eufemia/src/extensions/forms/Form/Visibility/__tests__/useVisibility.test.tsx
index 716b962e2a5..9c1a2d02f3c 100644
--- a/packages/dnb-eufemia/src/extensions/forms/Form/Visibility/__tests__/useVisibility.test.tsx
+++ b/packages/dnb-eufemia/src/extensions/forms/Form/Visibility/__tests__/useVisibility.test.tsx
@@ -103,6 +103,19 @@ describe('useVisibility', () => {
)
expect(result.current.check()).toBe(true)
})
+
+ it('should return false when value exists but is "undefined"', () => {
+ const { result } = renderHook(useVisibility, {
+ wrapper: ({ children }) => (
+ {children}
+ ),
+ })
+ expect(
+ result.current.check({
+ pathUndefined: '/isUndefined',
+ })
+ ).toBe(true)
+ })
})
describe('pathTruthy', () => {
@@ -725,6 +738,28 @@ describe('useVisibility', () => {
)
expect(result.current.check()).toBe(true)
})
+
+ it('should return true when value exists but is "undefined"', () => {
+ const { result } = renderHook(
+ () =>
+ useVisibility({
+ withinIterate: true,
+ pathUndefined: '/isUndefined',
+ }),
+ {
+ wrapper: ({ children }) => (
+
+ {children}
+
+ ),
+ }
+ )
+ expect(result.current.check()).toBe(true)
+ })
})
describe('pathTruthy', () => {
diff --git a/packages/dnb-eufemia/src/extensions/forms/Form/Visibility/useVisibility.tsx b/packages/dnb-eufemia/src/extensions/forms/Form/Visibility/useVisibility.tsx
index 738dce5a957..49550e0fe68 100644
--- a/packages/dnb-eufemia/src/extensions/forms/Form/Visibility/useVisibility.tsx
+++ b/packages/dnb-eufemia/src/extensions/forms/Form/Visibility/useVisibility.tsx
@@ -121,7 +121,9 @@ export default function useVisibility(props?: Partial) {
pathUndefined &&
pointer.has(data, makeLocalPath(pathUndefined))
) {
- return false
+ return (
+ pointer.get(data, makeLocalPath(pathUndefined)) === undefined
+ )
}
const getValue = (path: Path) => {