You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Added
onPress on every UIElement — BaseBoxProps now carries an optional onPress: ButtonAction[], so any element can be made tappable with the same action list as Button.actions ("continue" / {type:"setVariable"} / {type:"custom"}, run sequentially, "continue" terminal). Flows automatically to every ComposableScreen element variant via the shared BaseBoxProps. The UI runtime ignores it on elements that own their own gesture (Button, RadioGroup, CheckboxGroup, DatePicker, Input, WheelPicker) — see the UI changelog.
arrayOp on the setVariable action — SetVariableButtonAction gains an optional arrayOp: "append" | "remove" | "toggle" that treats the target variable as the JSON-encoded string[] multi-select used by CheckboxGroup. value/label are the single member to add (dedup), drop, or flip; the stored label stays comma-joined like a real checkbox and kind is ignored. Lets any element (via onPress) or Button add/remove a chip from a multi-select without a CheckboxGroup widget. Omitting arrayOp keeps the existing overwrite behavior.
Changed
ButtonAction moved to common.types.ts — ButtonAction, CustomButtonAction, SetVariableButtonAction and their Zod schemas now live in steps/common.types.ts (shared with the new onPress), re-exported from steps/ComposableScreen/elements/ButtonElement.ts for back-compat. No change to the public API surface or payload shape.