Save bar not appearing when modifying s-checkbox in Block Extension (Unified Polaris 2025-10)
Environment:
- Shopify App created with Remix starter today
- Unified Polaris Web Components version: 2025-10
- Extension type: Block extension
- Target: admin.product-details.block.render
- Framework: Preact
Problem:
The contextual save bar doesn’t appear when I modify form inputs (s-checkbox, s-text-field, s-number-field, etc.) in my Block extension, even though I’m using the component as documented.
According to the documentation at Admin UI extensions :
“Whenever an input field is changed, the Form component will automatically update the dirty state of the resource page.”
However, this is not happening - the save bar never appears when I change input values.
Code:
import { render } from "preact";
export default async () => {
render(<Extension />, document.body);
};
function Extension() {
const {
i18n,
data,
extension: { target },
} = shopify;
console.log({ data });
return (
<s-admin-block heading="My Block Extension">
<s-stack direction="block">
<s-text type="strong">{i18n.translate("welcome", { target })}</s-text>
<s-form
onSubmit={() => {
console.log("submit");
}}
onReset={() => {
console.log("reset");
}}
>
<s-checkbox
required={true}
name="check"
label="Require a confirmation step"
details="Ensure all criteria are met before proceeding"
defaultChecked={false}
></s-checkbox>
</s-form>
</s-stack>
</s-admin-block>
);
}
What I’ve tried:
Added nameattribute to the checkbox
Used defaultChecked={false}to set initial value
Wrapped inputs in <s-form>component
Added controlled component with checked+onChange
Tried onchange(lowercase) instead ofonChange
Tried default-value(kebab-case) instead ofdefaultValue
Tried adding s-text-fieldands-number-field- same issue
Expected behavior:
According to the documentation, when an input field is changed, the Form component should automatically update the dirty state of the resource page and show the contextual save bar.
Actual behavior:
The save bar never appears, regardless of which input type I use or how I configure it.
Questions:
- Is there something wrong with my implementation?
- Is this a known issue with Unified Polaris web components in 2025-10?
- Are there any workarounds to make the save bar work with these components?
Any help would be greatly appreciated!