{"id":"YOqM","dependencies":[{"name":"/Users/david/dev/react-use-focus-trap/package.json","includedInParent":true,"mtime":1662553846464}],"generated":{"js":"\"use strict\";function t(t){const e=parseInt(t);return e||0}function e(t,e){const o=[t,e].map(t=>n(t));return o.map(t=>r(t,Math.max(...o))).reduce((t,e)=>t-e)}function r(t,e){if(t<0)throw new Error(`Unable to sort given input. A negative value is not part of the tab order: ${t}`);return 0===t?e+1:t}function n(e){return t(e.getAttribute(\"tabindex\"))}Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.convertToIntOrFallback=t,exports.getTabIndexOfNode=n,exports.sortByTabIndex=e;"},"sourceMaps":{"js":{"mappings":[{"source":"util.js","original":{"line":40,"column":1},"generated":{"line":1,"column":0}},{"source":"util.js","original":{"line":1,"column":7},"generated":{"line":1,"column":13}},{"source":"util.js","name":"convertToIntOrFallback","original":{"line":1,"column":16},"generated":{"line":1,"column":22}},{"source":"util.js","name":"stringToConvert","original":{"line":1,"column":39},"generated":{"line":1,"column":24}},{"source":"util.js","original":{"line":2,"column":2},"generated":{"line":1,"column":27}},{"source":"util.js","name":"parsed","original":{"line":2,"column":8},"generated":{"line":1,"column":33}},{"source":"util.js","name":"parseInt","original":{"line":2,"column":17},"generated":{"line":1,"column":35}},{"source":"util.js","name":"stringToConvert","original":{"line":2,"column":26},"generated":{"line":1,"column":44}},{"source":"util.js","original":{"line":3,"column":2},"generated":{"line":1,"column":47}},{"source":"util.js","name":"parsed","original":{"line":3,"column":9},"generated":{"line":1,"column":54}},{"source":"util.js","original":{"line":3,"column":27},"generated":{"line":1,"column":57}},{"source":"util.js","original":{"line":6,"column":7},"generated":{"line":1,"column":59}},{"source":"util.js","name":"sortByTabIndex","original":{"line":6,"column":16},"generated":{"line":1,"column":68}},{"source":"util.js","name":"firstNode","original":{"line":6,"column":31},"generated":{"line":1,"column":70}},{"source":"util.js","name":"secondNode","original":{"line":6,"column":42},"generated":{"line":1,"column":72}},{"source":"util.js","original":{"line":7,"column":2},"generated":{"line":1,"column":75}},{"source":"util.js","name":"tabIndexes","original":{"line":7,"column":8},"generated":{"line":1,"column":81}},{"source":"util.js","original":{"line":7,"column":21},"generated":{"line":1,"column":83}},{"source":"util.js","name":"firstNode","original":{"line":7,"column":22},"generated":{"line":1,"column":84}},{"source":"util.js","name":"secondNode","original":{"line":7,"column":33},"generated":{"line":1,"column":86}},{"source":"util.js","name":"map","original":{"line":7,"column":45},"generated":{"line":1,"column":89}},{"source":"util.js","name":"node","original":{"line":7,"column":50},"generated":{"line":1,"column":93}},{"source":"util.js","name":"getTabIndexOfNode","original":{"line":8,"column":4},"generated":{"line":1,"column":96}},{"source":"util.js","name":"node","original":{"line":8,"column":22},"generated":{"line":1,"column":98}},{"source":"util.js","original":{"line":10,"column":2},"generated":{"line":1,"column":102}},{"source":"util.js","name":"tabIndexes","original":{"line":10,"column":9},"generated":{"line":1,"column":109}},{"source":"util.js","name":"map","original":{"line":11,"column":5},"generated":{"line":1,"column":111}},{"source":"util.js","name":"tabIndexValue","original":{"line":11,"column":10},"generated":{"line":1,"column":115}},{"source":"util.js","name":"sanitizeTabIndexInput","original":{"line":12,"column":6},"generated":{"line":1,"column":118}},{"source":"util.js","name":"tabIndexValue","original":{"line":12,"column":28},"generated":{"line":1,"column":120}},{"source":"util.js","name":"Math","original":{"line":12,"column":43},"generated":{"line":1,"column":122}},{"source":"util.js","name":"max","original":{"line":12,"column":48},"generated":{"line":1,"column":127}},{"source":"util.js","name":"tabIndexes","original":{"line":12,"column":55},"generated":{"line":1,"column":134}},{"source":"util.js","name":"reduce","original":{"line":14,"column":5},"generated":{"line":1,"column":139}},{"source":"util.js","original":{"line":14,"column":12},"generated":{"line":1,"column":146}},{"source":"util.js","name":"previousValue","original":{"line":14,"column":13},"generated":{"line":1,"column":147}},{"source":"util.js","name":"currentValue","original":{"line":14,"column":28},"generated":{"line":1,"column":149}},{"source":"util.js","name":"previousValue","original":{"line":14,"column":45},"generated":{"line":1,"column":153}},{"source":"util.js","name":"currentValue","original":{"line":14,"column":61},"generated":{"line":1,"column":155}},{"source":"util.js","original":{"line":28,"column":0},"generated":{"line":1,"column":158}},{"source":"util.js","name":"sanitizeTabIndexInput","original":{"line":28,"column":9},"generated":{"line":1,"column":167}},{"source":"util.js","name":"tabIndex","original":{"line":28,"column":31},"generated":{"line":1,"column":169}},{"source":"util.js","name":"highestPositiveTabIndex","original":{"line":28,"column":41},"generated":{"line":1,"column":171}},{"source":"util.js","original":{"line":29,"column":2},"generated":{"line":1,"column":174}},{"source":"util.js","name":"tabIndex","original":{"line":29,"column":6},"generated":{"line":1,"column":177}},{"source":"util.js","original":{"line":29,"column":17},"generated":{"line":1,"column":179}},{"source":"util.js","original":{"line":30,"column":4},"generated":{"line":1,"column":181}},{"source":"util.js","original":{"line":30,"column":10},"generated":{"line":1,"column":187}},{"source":"util.js","name":"Error","original":{"line":30,"column":14},"generated":{"line":1,"column":191}},{"source":"util.js","name":"tabIndex","original":{"line":31,"column":84},"generated":{"line":1,"column":275}},{"source":"util.js","original":{"line":35,"column":2},"generated":{"line":1,"column":280}},{"source":"util.js","original":{"line":35,"column":22},"generated":{"line":1,"column":287}},{"source":"util.js","name":"tabIndex","original":{"line":35,"column":9},"generated":{"line":1,"column":291}},{"source":"util.js","name":"highestPositiveTabIndex","original":{"line":35,"column":26},"generated":{"line":1,"column":293}},{"source":"util.js","original":{"line":35,"column":52},"generated":{"line":1,"column":295}},{"source":"util.js","name":"tabIndex","original":{"line":35,"column":56},"generated":{"line":1,"column":297}},{"source":"util.js","original":{"line":38,"column":7},"generated":{"line":1,"column":299}},{"source":"util.js","name":"getTabIndexOfNode","original":{"line":38,"column":16},"generated":{"line":1,"column":308}},{"source":"util.js","name":"targetNode","original":{"line":38,"column":34},"generated":{"line":1,"column":310}},{"source":"util.js","original":{"line":39,"column":2},"generated":{"line":1,"column":313}},{"source":"util.js","name":"convertToIntOrFallback","original":{"line":39,"column":9},"generated":{"line":1,"column":320}},{"source":"util.js","name":"targetNode","original":{"line":39,"column":32},"generated":{"line":1,"column":322}},{"source":"util.js","name":"getAttribute","original":{"line":39,"column":43},"generated":{"line":1,"column":324}},{"source":"util.js","original":{"line":39,"column":56},"generated":{"line":1,"column":337}},{"source":"util.js","original":{"line":40,"column":1},"generated":{"line":1,"column":350}},{"source":"util.js","original":{"line":40,"column":1},"generated":{"line":1,"column":357}},{"source":"util.js","original":{"line":40,"column":1},"generated":{"line":1,"column":372}},{"source":"util.js","original":{"line":40,"column":1},"generated":{"line":1,"column":380}},{"source":"util.js","original":{"line":40,"column":1},"generated":{"line":1,"column":393}},{"source":"util.js","original":{"line":40,"column":1},"generated":{"line":1,"column":394}},{"source":"util.js","original":{"line":40,"column":1},"generated":{"line":1,"column":401}},{"source":"util.js","original":{"line":40,"column":1},"generated":{"line":1,"column":405}},{"source":"util.js","original":{"line":40,"column":1},"generated":{"line":1,"column":413}},{"source":"util.js","original":{"line":40,"column":1},"generated":{"line":1,"column":436}},{"source":"util.js","original":{"line":40,"column":1},"generated":{"line":1,"column":438}},{"source":"util.js","original":{"line":40,"column":1},"generated":{"line":1,"column":446}},{"source":"util.js","original":{"line":40,"column":1},"generated":{"line":1,"column":464}},{"source":"util.js","original":{"line":40,"column":1},"generated":{"line":1,"column":466}},{"source":"util.js","original":{"line":40,"column":1},"generated":{"line":1,"column":474}},{"source":"util.js","original":{"line":40,"column":1},"generated":{"line":1,"column":489}}],"sources":{"util.js":"export function convertToIntOrFallback(stringToConvert) {\n  const parsed = parseInt(stringToConvert);\n  return parsed ? parsed : 0;\n}\n\nexport function sortByTabIndex(firstNode, secondNode) {\n  const tabIndexes = [firstNode, secondNode].map((node) =>\n    getTabIndexOfNode(node)\n  );\n  return tabIndexes\n    .map((tabIndexValue) =>\n      sanitizeTabIndexInput(tabIndexValue, Math.max(...tabIndexes))\n    )\n    .reduce((previousValue, currentValue) => previousValue - currentValue);\n}\n\n/**\n * Prepares a tab-index to be further processed for the tab order of the focus trap.\n * It can't be less than 0, because negative values can not be part of the tab order at all.\n * In case it's exactly 0 it actually needs to be higher than any positive (> 0) value, since tab-index=0 means \"follow the system default order\".\n * The default tab order comes _after_ special tab indexes (>0).\n * @param {number} tabIndex The index to sanitize\n * @param {number} highestPositiveTabIndex The largest number among the tab indexes from the same context\n * @throws An error if the tabIndex is less than 0\n * @returns Tha sanitized tab index\n * @see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex} for further information on the tabindex and its order\n */\nfunction sanitizeTabIndexInput(tabIndex, highestPositiveTabIndex) {\n  if (tabIndex < 0) {\n    throw new Error(\n      `Unable to sort given input. A negative value is not part of the tab order: ${tabIndex}`\n    );\n  }\n  // 0 based tab indexes have a higher order than positive valued indicies, thus we add 1 to the max value\n  return tabIndex === 0 ? highestPositiveTabIndex + 1 : tabIndex;\n}\n\nexport function getTabIndexOfNode(targetNode) {\n  return convertToIntOrFallback(targetNode.getAttribute(\"tabindex\"));\n}\n"},"lineCount":null}},"error":null,"hash":"c178bf5729a8f509eb7ed3078fe30ae0","cacheData":{"env":{}}}