UNPKG

@primer/react

Version:

An implementation of GitHub's Primer Design System using React

29 lines (22 loc) 1.51 kB
'use strict'; var React = require('react'); var _VisuallyHidden = require('../../_VisuallyHidden.js'); var Chord = require('./Chord.js'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var React__default = /*#__PURE__*/_interopDefault(React); 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__default.default.createElement(React.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__default.default.createElement(React__default.default.Fragment, null, /*#__PURE__*/React__default.default.createElement(_VisuallyHidden, null, "then"), ' '), /*#__PURE__*/React__default.default.createElement(Chord.Chord, _extends({ keys: c }, chordProps)))); /** Plain string version of `Sequence` for use in `aria` string attributes. */ const accessibleSequenceString = (sequence, isMacOS) => splitSequence(sequence).map(chord => Chord.accessibleChordString(chord, isMacOS)).join(' then '); exports.Sequence = Sequence; exports.accessibleSequenceString = accessibleSequenceString;