UNPKG

@shopify/polaris

Version:

Shopify’s product component library

65 lines (59 loc) 2.02 kB
var MINUTE = 60; var HOUR = MINUTE * 60; function ensureTwoDigits(num) { return num > 9 ? String(num) : "0".concat(num); } function secondsToTimeComponents(seconds) { return { hours: Math.floor(seconds / HOUR), minutes: Math.floor(seconds % HOUR / MINUTE), seconds: seconds % MINUTE }; } function secondsToTimestamp(numSeconds) { var { hours, minutes, seconds } = secondsToTimeComponents(numSeconds); var hasHours = numSeconds > HOUR; var hoursText = hasHours ? "".concat(hours, ":") : ''; var minutesText = "".concat(hasHours ? ensureTwoDigits(minutes) : minutes, ":"); var secondsText = "".concat(ensureTwoDigits(seconds)); return "".concat(hoursText).concat(minutesText).concat(secondsText); } function secondsToDurationTranslationKey(numSeconds) { var { hours, minutes, seconds } = secondsToTimeComponents(numSeconds); var durationKey = 'Polaris.VideoThumbnail.playButtonA11yLabel.duration'; if (hours) { durationKey += ".hours.".concat(hours > 1 ? 'other' : 'one'); if (seconds) { if (minutes > 1) { durationKey += "".concat(seconds > 1 ? '.minutesAndSeconds' : '.minutesAndSecond'); } else if (minutes === 1) { durationKey += "".concat(seconds > 1 ? '.minuteAndSeconds' : '.minuteAndSecond'); } else { durationKey += "".concat(seconds > 1 ? '.andSeconds' : '.andSecond'); } } else if (minutes) { durationKey += "".concat(minutes > 1 ? '.andMinutes' : '.andMinute'); } else { durationKey += '.only'; } } else if (minutes) { durationKey += ".minutes.".concat(minutes > 1 ? 'other' : 'one'); if (seconds) { durationKey += "".concat(seconds > 1 ? '.andSeconds' : '.andSecond'); } else { durationKey += '.only'; } } else if (seconds) { durationKey += seconds > 1 ? '.seconds.other' : '.seconds.one'; } return durationKey; } export { ensureTwoDigits, secondsToDurationTranslationKey, secondsToTimeComponents, secondsToTimestamp };