UNPKG

@shopify/polaris

Version:

Shopify’s admin product component library

58 lines (52 loc) 1.63 kB
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, }); }