Fork dialog — 375 px bottom sheet, English · עברית · العربية

Below 40em the fork confirmation of frame 5 becomes the design system's BottomSheet: same content, same order, same hooks. Actions stack with the primary action nearest the thumb.

en · ltr · 375

FuzeFront
SO

he · rtl · 375

FuzeFront
SO

ar · rtl · 375

FuzeFront
SO

Rules the implementation must keep

Test hooks: [data-frame='12-rtl-mobile-fork'] · [data-dialog='fork'][data-presentation='bottom-sheet'] · [data-device='375'] · [data-locale='he'][data-dir='rtl'] · [data-locale='ar'][data-dir='rtl'] · [data-control='fork-visibility'] · [data-visibility-option='org'][aria-checked='true'] · [data-fork-key='priority'] · [data-note='no-sync'] · [data-action='confirm-fork'] · [data-action='cancel'] · [data-rules='rtl-mobile-fork']
Playwright drives the real dialog at { viewport: 375×667, locale: he-IL | ar }: the dialog has data-presentation='bottom-sheet', dir is rtl, and the confirm button is inside the viewport without scrolling.
Tokens only — no raw hex, spacing or type outside tokens.css / frame.css.

Review · selection-lists-shared approve or reject each flow ↓
shared-readapproved · izzywdev
forkapproved · izzywdev
fork-provenanceapproved · izzywdev
visibilityapproved · izzywdev
effective-pickerapproved · izzywdev