{"version":3,"file":"use-marks.mjs","sources":["../../../../../../../packages/components/slider/src/composables/use-marks.ts"],"sourcesContent":["import { computed } from 'vue'\nimport type { SliderProps } from '../slider'\nimport type { SliderMarkerProps } from '../marker'\n\nexport interface Mark extends SliderMarkerProps {\n  point: number\n  position: number\n}\n\nexport const useMarks = (props: SliderProps) => {\n  return computed(() => {\n    if (!props.marks) {\n      return []\n    }\n\n    const marksKeys = Object.keys(props.marks)\n    return marksKeys\n      .map(Number.parseFloat)\n      .sort((a, b) => a - b)\n      .filter((point) => point <= props.max && point >= props.min)\n      .map(\n        (point): Mark => ({\n          point,\n          position: ((point - props.min) * 100) / (props.max - props.min),\n          mark: props.marks![point],\n        })\n      )\n  })\n}\n"],"names":[],"mappings":";;AASa,MAAA,QAAA,GAAW,CAAC,KAAuB,KAAA;AAC9C,EAAA,OAAO,SAAS,MAAM;AACpB,IAAI,IAAA,CAAC,MAAM,KAAO,EAAA;AAChB,MAAA,OAAO,EAAC,CAAA;AAAA,KACV;AAEA,IAAA,MAAM,SAAY,GAAA,MAAA,CAAO,IAAK,CAAA,KAAA,CAAM,KAAK,CAAA,CAAA;AACzC,IAAO,OAAA,SAAA,CACJ,IAAI,MAAO,CAAA,UAAU,EACrB,IAAK,CAAA,CAAC,GAAG,CAAM,KAAA,CAAA,GAAI,CAAC,CACpB,CAAA,MAAA,CAAO,CAAC,KAAU,KAAA,KAAA,IAAS,MAAM,GAAO,IAAA,KAAA,IAAS,KAAM,CAAA,GAAG,CAC1D,CAAA,GAAA;AAAA,MACC,CAAC,KAAiB,MAAA;AAAA,QAChB,KAAA;AAAA,QACA,WAAY,KAAQ,GAAA,KAAA,CAAM,OAAO,GAAQ,IAAA,KAAA,CAAM,MAAM,KAAM,CAAA,GAAA,CAAA;AAAA,QAC3D,IAAA,EAAM,MAAM,KAAO,CAAA,KAAA,CAAA;AAAA,OACrB,CAAA;AAAA,KACF,CAAA;AAAA,GACH,CAAA,CAAA;AACH;;;;"}