@shopify/polaris
Version:
Shopify’s admin product component library
58 lines (52 loc) • 1.63 kB
text/typescript
import type {I18n} from '../../utilities/i18n';
import {Progress, ProgressValue, Status, StatusValue} from './types';
export function getDefaultAccessibilityLabel(
i18n: I18n,
progress?: Progress,
status?: Status,
): string {
let progressLabel = '';
let statusLabel = '';
if (!progress && !status) {
return '';
}
switch (progress) {
case ProgressValue.Incomplete:
progressLabel = i18n.translate(
'Polaris.Badge.PROGRESS_LABELS.incomplete',
);
break;
case ProgressValue.PartiallyComplete:
progressLabel = i18n.translate(
'Polaris.Badge.PROGRESS_LABELS.partiallyComplete',
);
break;
case ProgressValue.Complete:
progressLabel = i18n.translate('Polaris.Badge.PROGRESS_LABELS.complete');
break;
}
switch (status) {
case StatusValue.Info:
statusLabel = i18n.translate('Polaris.Badge.STATUS_LABELS.info');
break;
case StatusValue.Success:
statusLabel = i18n.translate('Polaris.Badge.STATUS_LABELS.success');
break;
case StatusValue.Warning:
statusLabel = i18n.translate('Polaris.Badge.STATUS_LABELS.warning');
break;
case StatusValue.Critical:
statusLabel = i18n.translate('Polaris.Badge.STATUS_LABELS.critical');
break;
case StatusValue.Attention:
statusLabel = i18n.translate('Polaris.Badge.STATUS_LABELS.attention');
break;
case StatusValue.New:
statusLabel = i18n.translate('Polaris.Badge.STATUS_LABELS.new');
break;
}
return i18n.translate('Polaris.Badge.progressAndStatus', {
progressLabel,
statusLabel,
});
}