It seems like there are two ways of approaching this.
One (bad one) is:
Adding the padding on the label view to compensate the native shadow.
Menu {
Button("Duplicate", action: {})
Button("Rename", action: {})
Button("Delete…", action: {})
} label: {
Label("PDF", systemImage: "doc.fill")
.padding()
.glassEffect(.regular)
.padding(40) // <- Here
}
Another one, much better:
Menu {
Button("Duplicate", action: {})
Button("Rename", action: {})
Button("Delete…", action: {})
} label: {
Label("PDF", systemImage: "doc.fill")
.padding()
.glassEffect(.clear)
}
Both have tradeoffs, one is a spatial one, since you have to provide space for it, but maybe useful for someone who is not constrained by space.
Another one - visual, since the glass effect .clear, doesn't have a frost. I guess this could be improved by overlaying a white color with low opacity to simulate the same effect.