There is no blanket legal requirement on most shops to close for Midsummer in Sweden and when it comes to supermarkets and grocery shops, the chances are that they will be open, particularly if you live in a city, although probably with reduced opening hours.
Smaller shops will often choose to take the Midsummer weekend off, unless they're in particularly popular areas where there are likely to be a lot of people celebrating.
The exception is the state-owned alcohol chain Systembolaget, which always closes on public holidays or so-called “red days”.
Even though Midsummer's Eve is not technically a public holiday, it is usually treated as such, meaning Systembolaget will also be closed on June 19th (Midsummer's Eve) as well as June 20th (Midsummer's Day). Systembolaget is always closed on Sundays, so Thursday 18th is your last day to buy booze for the weekend.
Libraries are also likely to be closed, so it's worth making other plans if you were planning on catching up with some coursework or taking your kids to the nearest one to keep them occupied.
As far as tourist attractions go, it varies. Many large attractions like Stockholm's Vasa Museum and Abba Museum will be open, but you should expect that smaller local museums will be closed – check in advance before you plan to visit.
As a general rule, shops, restaurants and tourist attractions are more likely to be open in areas that attract a lot of visitors.
Stockholm's open-air museum Skansen will also be open for the full Midsummer weekend, with activities throughout the day.
If you don't have any plans yet, you can search for midsommarfirande or midsommarafton plus your city to find a public event. These are often well-attended and family-friendly during the day, while some serve alcohol in the evening.
As with other public holidays, public transport in Swedish towns and cities may operate on a reduced schedule throughout the weekend – often on the same schedule as regular Sundays.