{"version":3,"file":"use-marks.mjs","names":[],"sources":["../../../../../../../packages/components/slider/src/composables/use-marks.ts"],"sourcesContent":["import { computed, watchEffect } from 'vue'\nimport { debugWarn } from '@element-plus/utils'\n\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  const markList = computed(() => {\n    if (!props.marks) {\n      return []\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((point): Mark => ({\n        point,\n        position: ((point - props.min) * 100) / (props.max - props.min),\n        mark: props.marks![point],\n      }))\n  })\n\n  watchEffect(() => {\n    if (props.step === 'mark' && !props.marks) {\n      debugWarn('ElSlider', 'marks prop must be provided when step is mark')\n    }\n    if (props.marks) {\n      const keys = Object.keys(props.marks)\n      const validPoints = markList.value.map((m) => m.point)\n      const invalidKeys = keys.filter((key) => {\n        const parsed = Number.parseFloat(key)\n        return Number.isNaN(parsed) || !validPoints.includes(parsed)\n      })\n      if (invalidKeys.length > 0) {\n        debugWarn(\n          'ElSlider',\n          `Some marks keys are invalid (not a number or out of [min, max]): [${invalidKeys.map((k) => `'${k}'`).join(', ')}] and will be ignored.`\n        )\n      }\n    }\n  })\n\n  return markList\n}\n"],"mappings":";;;AAWA,MAAa,YAAY,UAAuB;CAC9C,MAAM,WAAW,eAAe;EAC9B,IAAI,CAAC,MAAM,OACT,OAAO,CAAC;EAGV,OADkB,OAAO,KAAK,MAAM,KACrB,CAAC,CACb,IAAI,OAAO,UAAU,CAAC,CACtB,MAAM,GAAG,MAAM,IAAI,CAAC,CAAC,CACrB,QAAQ,UAAU,SAAS,MAAM,OAAO,SAAS,MAAM,GAAG,CAAC,CAC3D,KAAK,WAAiB;GACrB;GACA,WAAY,QAAQ,MAAM,OAAO,OAAQ,MAAM,MAAM,MAAM;GAC3D,MAAM,MAAM,MAAO;EACrB,EAAE;CACN,CAAC;CAED,kBAAkB;EAChB,IAAI,MAAM,SAAS,UAAU,CAAC,MAAM,OAClC,UAAU,YAAY,+CAA+C;EAEvE,IAAI,MAAM,OAAO;GACf,MAAM,OAAO,OAAO,KAAK,MAAM,KAAK;GACpC,MAAM,cAAc,SAAS,MAAM,KAAK,MAAM,EAAE,KAAK;GACrD,MAAM,cAAc,KAAK,QAAQ,QAAQ;IACvC,MAAM,SAAS,OAAO,WAAW,GAAG;IACpC,OAAO,OAAO,MAAM,MAAM,KAAK,CAAC,YAAY,SAAS,MAAM;GAC7D,CAAC;GACD,IAAI,YAAY,SAAS,GACvB,UACE,YACA,qEAAqE,YAAY,KAAK,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,uBACnH;EAEJ;CACF,CAAC;CAED,OAAO;AACT"}