UNPKG

@primer/react

Version:

An implementation of GitHub's Primer Design System using React

22 lines (18 loc) 1.24 kB
import React, { Fragment } from 'react'; import VisuallyHidden from '../../_VisuallyHidden.js'; import { Chord, accessibleChordString } from './Chord.js'; function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); } const splitSequence = sequence => sequence.split(' '); const Sequence = ({ keys, ...chordProps }) => splitSequence(keys).map((c, i) => /*#__PURE__*/React.createElement(Fragment, { key: i }, // Since we audibly separate individual keys in chord with space, we need some other separator for chords in a sequence i > 0 && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(VisuallyHidden, null, "then"), ' '), /*#__PURE__*/React.createElement(Chord, _extends({ keys: c }, chordProps)))); /** Plain string version of `Sequence` for use in `aria` string attributes. */ const accessibleSequenceString = (sequence, isMacOS) => splitSequence(sequence).map(chord => accessibleChordString(chord, isMacOS)).join(' then '); export { Sequence, accessibleSequenceString };