ReviewOS

also looking at this

stacks/stx

fix(native): preserve modal presentation protocol properties

#2099
Merged chris wants to merge codex/native-modal-protocol-props into main
3 files +41 -2
packages/stx/test/native/html-to-ir.test.tsmodified+9-0
Changes to packages/stx/test/native/html-to-ir.test.ts
@@ -227,6 +227,15 @@ describe('events', () => {
227227 })
228228 })
229229
230 it.each(['nonModal dismissOnOutsideTap', 'non-modal dismiss-on-outside-tap'])('preserves native popup boolean protocol names: %s', async (attributes) => {
231 const { root } = await translateHtmlToIR(`<div data-native="Modal" ${attributes}></div>`)
232 expect(root.props).toMatchObject({ nonModal: true, dismissOnOutsideTap: true })
233 expect(root.props.nonmodal).toBeUndefined()
234 expect(root.props.dismissonoutsidetap).toBeUndefined()
235 const { root: blocking } = await translateHtmlToIR('<div data-native="Modal" nonModal="false" dismissOnOutsideTap="false"></div>')
236 expect(blocking.props).toMatchObject({ nonModal: false, dismissOnOutsideTap: false })
237 })
238
230239 it('decodes JSON object props forwarded by native components', async () => {
231240 const { root } = await translateHtmlToIR('<div data-native="ScrollView" contentContainerStyle="{&quot;paddingTop&quot;:12}"></div>')
232241