@mrii/react-table-builder
Version:
library to easily build tables using MUI grid
1 lines • 1.86 kB
Source Map (JSON)
{"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;;;;"}