You can use Survey123 to bring in the Compass widget which uses the device's onboard sensors (if available) to take measurements (automatically, or on user click). Your Survey123 Form can be directly linked to a Hosted Feature Layer's fields (e.g. ${dip}, ${strike}) and can be taken offline for field use.
I believe the actual data in the XLSForm is something like:
pulldata(@geopoints, ${dip}, "GPSImageDirection")
Here's a sample.
https://www.youtube.com/watch?v=L3HIFhJ3OSI&ab_channel=EarlyAdopterCommunity