UNPKG

@kubit-ui-web/react-components

Version:

Kubit React Components is a customizable, accessible library of React web components, designed to enhance your application's user experience

35 lines 1.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildMediaProgessBarAriaLabel = exports.mediaProgressBarIndex = void 0; const mediaProgressBar_1 = require("../types/mediaProgressBar"); const mediaProgressBarIndex = ({ index, barsNum, currentBar, device, maxBars, }) => { const MAX_NUMBER_OF_BARS = maxBars?.[device] || maxBars?.default; const lastBarIndex = barsNum - 1; if (!MAX_NUMBER_OF_BARS) return index; // avoid render more bars than MAX_NUMBER_OF_BARS if (index >= MAX_NUMBER_OF_BARS) return; // currentBar goes to the last bar when number of bars is greater than MAX_NUMBER_OF_BARS if (currentBar === lastBarIndex && barsNum > MAX_NUMBER_OF_BARS) { return index + (currentBar + 1 - MAX_NUMBER_OF_BARS); // currentBar stays in the next to last bar when there is more bars than MAX_NUMBER_OF_BARS } else if (currentBar + 2 >= MAX_NUMBER_OF_BARS && currentBar !== lastBarIndex) { return index + (currentBar + 2 - MAX_NUMBER_OF_BARS); } return index; }; exports.mediaProgressBarIndex = mediaProgressBarIndex; const buildMediaProgessBarAriaLabel = (currentBar, barsNum, barAriaLabel) => { if (!barAriaLabel) { return barAriaLabel; } const currentPageRegExp = new RegExp(mediaProgressBar_1.BUILD_SCREEN_READER_CURRENT_PAGE_KEY, 'g'); const numPagesRegExp = new RegExp(mediaProgressBar_1.BUILD_SCREEN_READER_NUM_PAGES_KEY, 'g'); return barAriaLabel .replace(currentPageRegExp, String(currentBar + 1)) .replace(numPagesRegExp, String(barsNum)); }; exports.buildMediaProgessBarAriaLabel = buildMediaProgessBarAriaLabel; //# sourceMappingURL=mediaProgressBarUtils.js.map