UNPKG

react-receipt-slip

Version:

The react-receipt-slip easiest way to create a receipt template.

1 lines 7.12 kB
{"version":3,"sources":["../src/Paper.tsx"],"sourcesContent":["import styled from 'styled-components'\r\nimport { DataTableProps, DotProps, LineProps, PaperProps, RowTextProps, SpaceProps, TableCellProps, TableHeadProps, TableRowProps, TextProps } from '../types'\r\n\r\nexport const Paper = styled.div<PaperProps>`\r\n max-width: ${(props) => props.size ?? 80}mm;\r\n width: 100%;\r\n`\r\nexport const Text = styled.div.withConfig({\r\n shouldForwardProp: (props) => !['bold', 'underlined', 'italic'].includes(props)\r\n})<TextProps>`\r\n font-family: monospace;\r\n text-align: ${(props) => props.align ?? 'left'};\r\n font-weight: ${(props) => props.bold ? 'bold' : 'normal'};\r\n text-decoration: ${(props) => props.underlined ? 'underline' : 'unset'};\r\n font-style: ${(props) => props.italic ? 'italic' : 'normal'};\r\n`\r\nexport const Line = styled.div<LineProps>`\r\n border: 0.5px dashed gray;\r\n width: 100%;\r\n height: 0px;\r\n margin: ${(props) => {\r\n if (props.margin && props.margin.length === 2) {\r\n return `${props.margin[1]}px ${props.margin[0]}px`\r\n }\r\n return '0px 0px 5px 0px'\r\n }};\r\n`\r\nexport const Dot = styled.hr<DotProps>`\r\n border: 0.5px ${(props) => props.type ?? 'dotted'} gray;\r\n margin: ${(props) => {\r\n if (props.margin && props.margin.length === 2) {\r\n const [y, x] = props.margin\r\n return `${y}px ${x}px`\r\n }\r\n if (props.vmar && props.vmar.length === 2) {\r\n const [top, bottom] = props.vmar\r\n return `${top}px 0px ${bottom}px 0px`\r\n }\r\n return '0px'\r\n }};\r\n`\r\nexport const RowText = styled.div<RowTextProps>`\r\n display: flex;\r\n align-items: ${(props) => {\r\n if (props.valign) {\r\n if (props.valign === \"bottom\") {\r\n return 'flex-end';\r\n } else if (props.valign === \"top\") {\r\n return 'flex-start';\r\n } else {\r\n return 'center'\r\n }\r\n }\r\n return 'left'\r\n }};\r\n justify-content: ${(props) => {\r\n if (props.justify) {\r\n if (props.justify === \"start\") {\r\n return 'flex-start'\r\n } else if (props.justify === \"end\") {\r\n return 'flex-end'\r\n } else if (props.justify === \"center\") {\r\n return 'center'\r\n } else {\r\n return 'space-between'\r\n }\r\n }\r\n return 'space-between'\r\n }};\r\n gap: ${(props) => {\r\n if (props.gap) {\r\n return `${props.gap}px`\r\n }\r\n if (props.space) {\r\n return `0px ${props.space}px`\r\n }\r\n return '0px 5px'\r\n }};\r\n padding: ${(props) => {\r\n if (props.padding && props.padding.length === 2) {\r\n const [x, y] = props.padding;\r\n return `${y}px ${x}px`;\r\n }\r\n const pady = props.pady ?? 0;\r\n const padx = props.padx ?? 0;\r\n return `${pady}px ${padx}px`;\r\n }};\r\n`\r\nexport const DataTable = styled.table<DataTableProps>`\r\n ${(props) => {\r\n if (props.collapse) {\r\n return 'border-collapse: collapse;'\r\n } else {\r\n return 'border-collapse: unset;'\r\n }\r\n }}\r\n ${(props) => props.bordered && 'border: 0.5px dashed gray;'}\r\n width: 100%;\r\n`\r\nexport const TableRow = styled.tr<TableRowProps>`\r\n text-align: ${(props) => props.align ?? 'left'};\r\n`\r\nexport const TableHead = styled.th<TableHeadProps>`\r\n border: 1px dashed gray;\r\n border-left-width: 0px;\r\n border-right-width: 0px;\r\n font-family: monospace;\r\n padding: 0px 5px;\r\n`\r\nexport const TableCell = styled.td.withConfig({\r\n shouldForwardProp: (props) => !['bold', 'underlined', 'italic'].includes(props)\r\n}) <TableCellProps & TextProps>`\r\n font-family: monospace;\r\n text-align: ${(props) => props.align ?? 'left'};\r\n font-style: ${(props) => props.italic ? 'italic' : 'normal'};\r\n font-weight: ${(props) => props.bold === true ? '500' : 'normal'};\r\n text-decoration: ${(props) => props.underlined ? 'underline' : 'unset'};\r\n`\r\nexport const Space = styled.div<SpaceProps>`\r\n margin: ${(props) => {\r\n if (props.size && props.size.length === 2) {\r\n const [y, x] = props.size\r\n return `${y}px ${x}px`\r\n }\r\n return '5px 0px'\r\n }};\r\n`"],"mappings":"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","names":[]}