{"version":3,"file":"number-range.vue2.mjs","sources":["../../../../../../packages/components/number-range/src/number-range.vue"],"sourcesContent":["<template>\r\n  <div\r\n    :class=\"[\r\n      bem.b(),\r\n      disabled ? bem.is('disabled') : '',\r\n      bem.is(isGray ? 'gray-number-range' : ''),\r\n    ]\"\r\n  >\r\n    <!-- 左边InputNumber -->\r\n    <div :class=\"bem.m('input')\">\r\n      <ll-input-number\r\n        v-model:value=\"minValue\"\r\n        :placeholder=\"startPlaceholder || placeholder[0]\"\r\n        :precision=\"props.precision\"\r\n        :min=\"getMin\"\r\n        :max=\"getMax\"\r\n        :disabled=\"props.disabled\"\r\n        :controls=\"false\"\r\n        :bordered=\"false\"\r\n        :step=\"props.step\"\r\n        :size=\"size\"\r\n        style=\"width: 100%\"\r\n        @change=\"handleMinChange\"\r\n        @blur=\"handleMinBlur\"\r\n      />\r\n    </div>\r\n\r\n    <!-- 间隔符 -->\r\n    <span :class=\"bem.m('separator')\">\r\n      <slot v-if=\"$slots.separator\" name=\"separator\" />\r\n      <template v-else>{{ separator || '-' }}</template>\r\n    </span>\r\n\r\n    <!-- 右边InputNumber -->\r\n    <div :class=\"bem.m('input')\">\r\n      <ll-input-number\r\n        v-model:value=\"maxValue\"\r\n        :placeholder=\"endPlaceholder || placeholder[1]\"\r\n        :precision=\"props.precision\"\r\n        :min=\"getMin\"\r\n        :max=\"getMax\"\r\n        :disabled=\"props.disabled\"\r\n        :controls=\"false\"\r\n        :bordered=\"false\"\r\n        :step=\"props.step\"\r\n        :size=\"size\"\r\n        style=\"width: 100%\"\r\n        @change=\"handleMaxChange\"\r\n        @blur=\"handleMaxBlur\"\r\n      />\r\n    </div>\r\n  </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { createNamespace } from '@ll-plus/utils'\r\nimport { Form } from 'ant-design-vue'\r\nimport { isNil } from 'lodash-es'\r\nimport { computed, ref, watch } from 'vue'\r\nimport { numberRangeEmits, numberRangeProps } from './number-range'\r\n\r\nimport { LlInputNumber } from '@ll-plus/components'\r\n\r\nimport type { InputNumberProps } from 'ant-design-vue'\r\n\r\ndefineOptions({ name: 'LlNumberRange' })\r\n\r\n// 1.props/ref\r\nconst props = defineProps(numberRangeProps)\r\n// 2.emits\r\nconst emits = defineEmits(numberRangeEmits)\r\n\r\nconst bem = createNamespace('number-range')\r\n\r\nconst formItemContext = Form.useInjectFormItemContext()\r\n\r\nconst minValue = ref<InputNumberProps['value']>(undefined)\r\n\r\nconst maxValue = ref<InputNumberProps['value']>(undefined)\r\n\r\nconst getMin = computed(() =>\r\n  typeof props.minMaxRange[0] === 'number' && !isNaN(props.minMaxRange[0])\r\n    ? props.minMaxRange[0]\r\n    : props.min,\r\n)\r\nconst getMax = computed(() =>\r\n  typeof props.minMaxRange[1] === 'number' && !isNaN(props.minMaxRange[1])\r\n    ? props.minMaxRange[1]\r\n    : props.max,\r\n)\r\n\r\nconst setValue = () => {\r\n  const arr = [minValue.value, maxValue.value]\r\n  emits('update:value', arr)\r\n  emits('change', arr)\r\n  formItemContext.onFieldChange()\r\n}\r\n\r\nconst handleMinChange = (e) => {\r\n  if (!isNil(e)) {\r\n    minValue.value = e\r\n  } else {\r\n    minValue.value = undefined\r\n  }\r\n  setValue()\r\n}\r\nconst handleMaxChange = (e) => {\r\n  if (!isNil(e)) {\r\n    maxValue.value = e\r\n  } else {\r\n    maxValue.value = undefined\r\n  }\r\n  setValue()\r\n}\r\n\r\n// 最小值失去焦点\r\nconst handleMinBlur = () => {\r\n  if (props.calibrateSize) {\r\n    if (maxValue.value || maxValue.value === 0) {\r\n      if (minValue.value && minValue.value > maxValue.value) {\r\n        minValue.value = maxValue.value\r\n      }\r\n    }\r\n  }\r\n  setValue()\r\n  formItemContext.onFieldBlur()\r\n}\r\n\r\n// 最大值失去焦点\r\nconst handleMaxBlur = () => {\r\n  if (props.calibrateSize) {\r\n    if (minValue.value || minValue.value === 0) {\r\n      if (maxValue.value && maxValue.value < minValue.value) {\r\n        maxValue.value = minValue.value\r\n      }\r\n    }\r\n  }\r\n  setValue()\r\n  formItemContext.onFieldBlur()\r\n}\r\n\r\nwatch(\r\n  () => props.value,\r\n  (n) => {\r\n    if (n && n.length!) {\r\n      if (!isNil(n[0])) {\r\n        minValue.value = n[0]\r\n      } else {\r\n        minValue.value = undefined\r\n      }\r\n      if (!isNil(n[1])) {\r\n        maxValue.value = n[1]\r\n      } else {\r\n        maxValue.value = undefined\r\n      }\r\n    } else {\r\n      minValue.value = undefined\r\n      maxValue.value = undefined\r\n    }\r\n  },\r\n  {\r\n    immediate: true,\r\n    deep: true,\r\n  },\r\n)\r\n</script>\r\n"],"names":["_createElementBlock","_normalizeClass","_unref","disabled","isGray","_createCommentVNode","_createElementVNode","_createVNode","startPlaceholder","placeholder","size","$slots","_renderSlot","_Fragment","separator","endPlaceholder"],"mappings":"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"}