{"version":3,"file":"Number.vue.cjs","sources":["../../../../../../ui/vue/components/Table/Td/Number.vue"],"sourcesContent":["<template>\n  <div class=\"crud-ui-table-td-number\">\n    <template v-if=\"data.value\">\n      {{ data.value | number(' ', precision) }}\n    </template>\n    <template v-else>0</template>\n    <span v-if=\"percent !== undefined\" class=\"percent\">{{ percent }}%</span>\n  </div>\n</template>\n\n<script>\nexport default {\n  props: {\n    data: {\n      type: Object,\n    },\n  },\n  computed: {\n    percent() {\n      const { field, item, value } = this.data;\n\n      if (!field?.percent?.from) {\n        return;\n      }\n\n      const valueFrom = item[field.percent.from];\n\n      return valueFrom > 0 && value > 0 ? ((+value / +valueFrom) * 100).toFixed(2) : 0;\n    },\n    precision() {\n      return this.data?.field?.precision;\n    },\n  },\n  filters: {\n    number(value, delimiter = ' ', precision = 0) {\n      return (Math.round(parseFloat(value) * 100) / 100)\n        .toFixed(precision)\n        .toString()\n        .replace(/,/g, '')\n        .replace(/\\B(?=(\\d{3})+(?!\\d))/g, delimiter);\n    },\n  },\n};\n</script>\n\n<style lang=\"scss\" scoped>\n.crud-ui-table-td-number {\n  .percent {\n    font-weight: 100;\n    color: #444;\n    margin-left: 5px;\n  }\n}\n</style>\n"],"names":["_sfc_main","field","item","value","_a","valueFrom","_b","delimiter","precision"],"mappings":"iHAWAA,EAAA,CACA,MAAA,CACA,KAAA,CACA,KAAA,MACA,CACA,EACA,SAAA,CACA,SAAA,OACA,KAAA,CAAA,MAAAC,EAAA,KAAAC,EAAA,MAAAC,CAAA,EAAA,KAAA,KAEA,GAAA,GAAAC,EAAAH,GAAA,YAAAA,EAAA,UAAA,MAAAG,EAAA,MACA,OAGA,MAAAC,EAAAH,EAAAD,EAAA,QAAA,IAAA,EAEA,OAAAI,EAAA,GAAAF,EAAA,GAAA,CAAAA,EAAA,CAAAE,EAAA,KAAA,QAAA,CAAA,EAAA,CACA,EACA,WAAA,SACA,OAAAC,GAAAF,EAAA,KAAA,OAAA,YAAAA,EAAA,QAAA,YAAAE,EAAA,SACA,CACA,EACA,QAAA,CACA,OAAAH,EAAAI,EAAA,IAAAC,EAAA,EAAA,CACA,OAAA,KAAA,MAAA,WAAAL,CAAA,EAAA,GAAA,EAAA,KACA,QAAAK,CAAA,EACA,SAAA,EACA,QAAA,KAAA,EAAA,EACA,QAAA,wBAAAD,CAAA,CACA,CACA,CACA"}