{
  "version": 3,
  "sources": ["../../src/range-control/rail.tsx"],
  "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport RangeMark from './mark';\nimport { MarksWrapper, Rail } from './styles/range-control-styles';\nimport { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { createElement as _createElement } from \"react\";\nexport default function RangeRail(props) {\n  const {\n    disabled = false,\n    marks = false,\n    min = 0,\n    max = 100,\n    step = 1,\n    value = 0,\n    ...restProps\n  } = props;\n  return /*#__PURE__*/_jsxs(_Fragment, {\n    children: [/*#__PURE__*/_jsx(Rail, {\n      disabled: disabled,\n      ...restProps\n    }), marks && /*#__PURE__*/_jsx(Marks, {\n      disabled: disabled,\n      marks: marks,\n      min: min,\n      max: max,\n      step: step,\n      value: value\n    })]\n  });\n}\nfunction Marks(props) {\n  const {\n    disabled = false,\n    marks = false,\n    min = 0,\n    max = 100,\n    step: stepProp = 1,\n    value = 0\n  } = props;\n  const step = stepProp === 'any' ? 1 : stepProp;\n  const marksData = useMarks({\n    marks,\n    min,\n    max,\n    step,\n    value\n  });\n  return /*#__PURE__*/_jsx(MarksWrapper, {\n    \"aria-hidden\": \"true\",\n    className: \"components-range-control__marks\",\n    children: marksData.map(mark => /*#__PURE__*/_createElement(RangeMark, {\n      ...mark,\n      key: mark.key,\n      \"aria-hidden\": \"true\",\n      disabled: disabled\n    }))\n  });\n}\nfunction useMarks({\n  marks,\n  min = 0,\n  max = 100,\n  step = 1,\n  value = 0\n}) {\n  if (!marks) {\n    return [];\n  }\n  const range = max - min;\n  if (!Array.isArray(marks)) {\n    marks = [];\n    const count = 1 + Math.round(range / step);\n    while (count > marks.push({\n      value: step * marks.length + min\n    })) {}\n  }\n  const placedMarks = [];\n  marks.forEach((mark, index) => {\n    if (mark.value < min || mark.value > max) {\n      return;\n    }\n    const key = `mark-${index}`;\n    const isFilled = mark.value <= value;\n    const offset = `${(mark.value - min) / range * 100}%`;\n    const offsetStyle = {\n      [isRTL() ? 'right' : 'left']: offset\n    };\n    placedMarks.push({\n      ...mark,\n      isFilled,\n      key,\n      style: offsetStyle\n    });\n  });\n  return placedMarks;\n}"],
  "mappings": ";AAGA,SAAS,aAAa;AAKtB,OAAO,eAAe;AACtB,SAAS,cAAc,YAAY;AACnC,SAAS,OAAO,MAAM,YAAY,WAAW,QAAQ,aAAa;AAClE,SAAS,iBAAiB,sBAAsB;AACjC,SAAR,UAA2B,OAAO;AACvC,QAAM;AAAA,IACJ,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,IACN,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,GAAG;AAAA,EACL,IAAI;AACJ,SAAoB,sBAAM,WAAW;AAAA,IACnC,UAAU,CAAc,qBAAK,MAAM;AAAA,MACjC;AAAA,MACA,GAAG;AAAA,IACL,CAAC,GAAG,SAAsB,qBAAK,OAAO;AAAA,MACpC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC,CAAC;AAAA,EACJ,CAAC;AACH;AACA,SAAS,MAAM,OAAO;AACpB,QAAM;AAAA,IACJ,WAAW;AAAA,IACX,QAAQ;AAAA,IACR,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM,WAAW;AAAA,IACjB,QAAQ;AAAA,EACV,IAAI;AACJ,QAAM,OAAO,aAAa,QAAQ,IAAI;AACtC,QAAM,YAAY,SAAS;AAAA,IACzB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AACD,SAAoB,qBAAK,cAAc;AAAA,IACrC,eAAe;AAAA,IACf,WAAW;AAAA,IACX,UAAU,UAAU,IAAI,UAAqB,+BAAe,WAAW;AAAA,MACrE,GAAG;AAAA,MACH,KAAK,KAAK;AAAA,MACV,eAAe;AAAA,MACf;AAAA,IACF,CAAC,CAAC;AAAA,EACJ,CAAC;AACH;AACA,SAAS,SAAS;AAAA,EAChB;AAAA,EACA,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP,QAAQ;AACV,GAAG;AACD,MAAI,CAAC,OAAO;AACV,WAAO,CAAC;AAAA,EACV;AACA,QAAM,QAAQ,MAAM;AACpB,MAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AACzB,YAAQ,CAAC;AACT,UAAM,QAAQ,IAAI,KAAK,MAAM,QAAQ,IAAI;AACzC,WAAO,QAAQ,MAAM,KAAK;AAAA,MACxB,OAAO,OAAO,MAAM,SAAS;AAAA,IAC/B,CAAC,GAAG;AAAA,IAAC;AAAA,EACP;AACA,QAAM,cAAc,CAAC;AACrB,QAAM,QAAQ,CAAC,MAAM,UAAU;AAC7B,QAAI,KAAK,QAAQ,OAAO,KAAK,QAAQ,KAAK;AACxC;AAAA,IACF;AACA,UAAM,MAAM,QAAQ,KAAK;AACzB,UAAM,WAAW,KAAK,SAAS;AAC/B,UAAM,SAAS,IAAI,KAAK,QAAQ,OAAO,QAAQ,GAAG;AAClD,UAAM,cAAc;AAAA,MAClB,CAAC,MAAM,IAAI,UAAU,MAAM,GAAG;AAAA,IAChC;AACA,gBAAY,KAAK;AAAA,MACf,GAAG;AAAA,MACH;AAAA,MACA;AAAA,MACA,OAAO;AAAA,IACT,CAAC;AAAA,EACH,CAAC;AACD,SAAO;AACT;",
  "names": []
}
