Skip to content

Commit d2919f7

Browse files
author
Kyle Andrews
committed
Cleaned up snackbar button verification
1 parent 081ce4a commit d2919f7

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

src/notifier.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,23 @@ export class Notifier {
101101
}
102102
}
103103
snackbar.buttons = buttons;
104+
for (let i = 0; i < snackbar.buttons.length; i++) {
105+
if (snackbar.buttons[i]?.classes && !Array.isArray(snackbar.buttons[i]?.classes)) {
106+
// @ts-ignore
107+
snackbar.buttons[i].classes = [snackbar.buttons[i].classes];
108+
}
109+
if (!snackbar.buttons[i]?.ariaLabel) {
110+
snackbar.buttons[i].ariaLabel = null;
111+
}
112+
if (!snackbar.buttons[i]?.label || snackbar.buttons[i]?.label.length === 0) {
113+
console.error("Snackbar buttons require a label");
114+
snackbar.buttons[i].label = "Missing label";
115+
}
116+
if (!snackbar.buttons[i]?.callback) {
117+
console.error("Snackbar buttons require a callback function");
118+
snackbar.buttons[i].callback = () => {};
119+
}
120+
}
104121

105122
if (snackbar.force && this.snackbarQueue.length) {
106123
this.snackbarQueue[0].el.remove();

0 commit comments

Comments
 (0)