{"version":3,"file":"index.mjs","sources":["../../../../src/components/columns/number/index.tsx"],"sourcesContent":["import type { Numeral } from 'numeral';\nimport { memo } from 'react';\nimport { useAddTableColumn } from '$hooks';\nimport type { ColumnBaseProps } from '$types';\nimport type { GridColDef } from '@mui/x-data-grid';\nimport { omitNil } from '$utils/omit-nil';\nimport numeral from 'numeral';\n\ntype FormatParameters = Parameters<Numeral['format']>;\n\nexport const numberColumnValueFormatter =\n  ({\n    inputString,\n    roundingMethod,\n  }: NumberColumnExtraProps): GridColDef['valueFormatter'] =>\n  ({ value }) =>\n    omitNil(value, numeral(value).format(inputString, roundingMethod));\n\nexport type NumberColumnExtraProps = {\n  inputString?: FormatParameters[0];\n  roundingMethod?: FormatParameters[1];\n};\n\nexport const NumberColumn: React.FC<ColumnBaseProps<NumberColumnExtraProps>> = memo(\n  function NumberColumn({ inputString, roundingMethod, ...props }) {\n    useAddTableColumn({\n      type: 'number',\n      valueFormatter: numberColumnValueFormatter({ inputString, roundingMethod }),\n      ...props,\n    });\n    return null;\n  }\n);\n"],"names":["numberColumnValueFormatter","inputString","roundingMethod","value","omitNil","numeral","format","NumberColumn","memo","props","useAddTableColumn","type","valueFormatter"],"mappings":";;;;;AAUO,MAAMA,6BACX,CAAC,EACCC,cACAC,cAAAA,GACuB,GACzB,CAAC,EAAEC,KAAK,GAAE,GACRC,OAAQD,CAAAA,KAAAA,EAAOE,QAAQF,KAAOG,CAAAA,CAAAA,MAAM,CAACL,WAAAA,EAAaC,cAAiB,CAAA,EAAA;AAO1DK,MAAAA,YAAAA,iBAAkEC,IAC7E,CAAA,SAASD,YAAa,CAAA,EAAEN,WAAW,GAAEC,cAAc,GAAE,GAAGO,KAAAA,EAAO,EAAE;IAC/DC,iBAAkB,CAAA;QAChBC,IAAM,EAAA,QAAA;AACNC,QAAAA,cAAAA,EAAgBZ,0BAA2B,CAAA;AAAEC,YAAAA,WAAAA;AAAaC,YAAAA,cAAAA;AAAe,SAAA,CAAA;AACzE,QAAA,GAAGO,KAAK;AACV,KAAA,CAAA,CAAA;AACA,IAAA,OAAO,IAAI,CAAA;AACb,CACA;;;;"}