Hey everyone,
I’ve been building custom DX components on Pega 25 (DX Component Builder v25.1.23) and I hit something I want to sanity check with the community before I assume it’s a gap.
My goal was simple: take the OOTB Text Input, add domain-specific behaviour on top of it, and keep everything the OOTB control already gives authors in App Studio. No overrides, just an extension.
The comparison
When I put the two authoring panels side by side, this is what I see:
The OOTB panel gives authors: Edit mode, Placeholder, Helper text, Field warning with condition and message, Required, Disabled, Visibility.
My custom component gives authors: Label, Placeholder, Visible, Disabled, Required.
Edit mode, Helper text, and the entire Field warning section are missing.
There is also a visual gap in the field list
The OOTB control shows a T icon next to the field name in the view canvas. My custom DX component does not. Small thing, but it matters for how authors recognise and trust the component.
My questions
So it seems the expected pattern is to manually re-declare every property from the base control – is that really it on Pega 25?
A few specific things I’m trying to figure out:
The OOTB Field warning section expands when you check the checkbox. I found that the visibility parameter on a GROUP can conditionally show nested fields, so I think I can get close – but I’m not sure about the exact format for the When Rule picker. Is there a WHEN format type in the current SDK, or is there another way to wire that up?
For the type icon – my component already declares "subtype": "Text" and "subtypeLabel": "Text" in the manifest. Is that not enough, or is there something else needed to get the icon to render in the field list?
And more broadly – has anyone found a clean pattern for building on top of an OOTB control without the config drifting every time Pega updates the base component’s authoring contract?

