{"id":28440905,"url":"https://github.com/r48n34/mantine-import-table","last_synced_at":"2026-04-02T16:01:59.519Z","repository":{"id":293632906,"uuid":"983910186","full_name":"r48n34/mantine-import-table","owner":"r48n34","description":"Parse and check your input xlsx / csv file with Zod Scheme By Mantine UI","archived":false,"fork":false,"pushed_at":"2025-09-26T12:38:14.000Z","size":328,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-11-01T18:20:20.601Z","etag":null,"topics":["csv","mantine-ui","react","xlsx"],"latest_commit_sha":null,"homepage":"https://mantine-import-table.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/r48n34.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-15T05:29:14.000Z","updated_at":"2025-09-26T12:38:17.000Z","dependencies_parsed_at":"2025-06-27T14:35:02.780Z","dependency_job_id":"88ab0dad-f452-421d-9bfa-7141d2c13a26","html_url":"https://github.com/r48n34/mantine-import-table","commit_stats":null,"previous_names":["r48n34/mantine-import-table"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/r48n34/mantine-import-table","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r48n34%2Fmantine-import-table","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r48n34%2Fmantine-import-table/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r48n34%2Fmantine-import-table/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r48n34%2Fmantine-import-table/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/r48n34","download_url":"https://codeload.github.com/r48n34/mantine-import-table/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/r48n34%2Fmantine-import-table/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31309583,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csv","mantine-ui","react","xlsx"],"created_at":"2025-06-06T04:08:10.863Z","updated_at":"2026-04-02T16:01:59.510Z","avatar_url":"https://github.com/r48n34.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mantine-import-table\n\nParse and check your input xlsx / csv file with Zod Scheme By MantineUI.\n\nWorks for mantine 7 / 8.\n\n\u003ca href=\"https://www.npmjs.com/package/mantine-import-table\"\u003e \u003cimg src=\"https://img.shields.io/npm/v/mantine-import-table\" /\u003e \u003c/a\u003e\n\n\u003e Warning   \n\u003e Still in testing, please do not use in productions.\n\n### Features\n\n- Zod Types friendly \u0026 support `z.object()` scheme import\n- Accept xlsx / csv file input\n- Mantine UI base\n- Ease of use error reminder\n\n### Setup / Install\n\nMake sure you have installed `zod` and `@mantine/core` items and `@mantine/dropzone` before using this packages.\n\nIf Not:\n```bash\nyarn add @mantine/core @mantine/hooks @mantine/dropzone zod\n```\n\nAnd Follow the guide with https://mantine.dev/getting-started/\n\nInstall packages\n```bash\nyarn add mantine-import-table\n```\n\n### Quickstart\n```jsx\nimport { MantineImportTable } from \"mantine-import-table\";\n\n// Make sure you have installed @mantine/dropzone\nimport '@mantine/dropzone/styles.css';\n\nimport { z } from \"zod\"\n\nconst testScheme = z.object({\n    \"Name\": z.string().min(1),\n    \"Student ID\": z.number().min(0).max(100),\n    \"Good\": z.enum([\"Yes\", \"No\"])\n})\nexport type TestScheme = z.infer\u003ctypeof testScheme\u003e;\n\nexport default function MainPage() {\n\n    const [ data, setData ] = useState\u003cTestScheme[]\u003e([]);\n\n    return (\n        \u003cMantineImportTable\n            zodScheme={testScheme}\n            successCb={(v) =\u003e setData(v)}\n        /\u003e\n    )\n}\n```\n\n#### Props for `\u003cMantineImportTable /\u003e`\n\n- Require Props\n\n| Name                 | Require |  Type                          | Description                                               | \n| -------------------- | ------- | ------------------------------ | --------------------------------------------------------- | \n| zodScheme            | Yes     | z.object({})                   | Your z.object() scheme                                    | \n| successCb            | No      | (data: z.output\u003cT\u003e[]) =\u003e void  | return your z.object().parse Array after a success input  |\n\nSamples:\n```tsx\nimport { MantineImportTable } from \"mantine-import-table\";\n\nimport { Container } from \"@mantine/core\";\nimport { z } from \"zod\"\n\nconst testScheme = z.object({\n    \"Name\": z.string().min(1),\n    \"Student ID\": z.number().min(0).max(100),\n    \"Good\": z.enum([\"Yes\", \"No\"])\n})\nexport type TestScheme = z.infer\u003ctypeof testScheme\u003e;\n\nexport default function MainPage() {\n\n    const [ data, setData ] = useState\u003cTestScheme[]\u003e([]);\n\n    return (\n        \u003cMantineImportTable\n            zodScheme={testScheme}\n            successCb={(v) =\u003e setData(v)}\n        /\u003e\n    )\n}\n```\n\n- Optional Props\n\n| Name                 | Require |  Type                                       | Default        | Description                                              | \n| -------------------- | ------- | --------------------------------------      | -------------- | -------------------------------------------------------- | \n| info                 | No      | InfoColumnsInput[]                          | []             | Info Array For additional informations                   | \n| onReject             | No      | (fileRejections: FileRejection[]) =\u003e void   | N/A             | Return Reject input files                               |   \n| maxFileSize          | No      | number                                      | 10 * 1024 ** 2 | Max xlsx / csv file size in bytes                        |   \n| showDownloadTemplate | No      | boolean                                     | true           | Display download generated header xlsx template button   |   \n| alertText            | No      | string | null | undefined                   | Make sure your file includes all the required columns.           | The alert text (Set null / undefinded to hide)   |   \n\n\n#### Params for `info`: `InfoColumnsInput`\n\n| Name        | Require |  Type            | Default   | Description                                               | \n| ----------- | ------- | ---------------- | --------- | --------------------------------------------------------- | \n| key         | Yes     | string           | N/A       | Key that match with your Zod Scheme Key (e.g. User ID )   | \n| type        | Yes     | string           | N/A       | Remind User what data should be included in the xlsx (Not Functional, just for display only)                                         | \n| description | No      | string / string  | \"\"        | Explain more about the cols header (e.g. Record user id )  |   \n| examples    | No      | string           | \"\"        | Data examples explains (e.g. Yes | No )                    |   \n\nSamples:\n```tsx\nimport { MantineImportTable } from \"mantine-import-table\";\n\nimport { Container } from \"@mantine/core\";\nimport { z } from \"zod\"\n\nconst testScheme = z.object({\n    \"Name\": z.string().min(1),\n    \"Student ID\": z.number().min(0).max(100),\n    \"Good\": z.enum([\"Yes\", \"No\"])\n})\nexport type TestScheme = z.infer\u003ctypeof testScheme\u003e;\n\nexport default function MainPage() {\n\n    const [ data, setData ] = useState\u003cTestScheme[]\u003e([]);\n\n    return (\n        \u003cMantineImportTable\n            zodScheme={testScheme}\n            successCb={(v) =\u003e console.log(v)}\n            info={[\n                {\n                    key: \"Name\",\n                    type: \"string\",\n                    description: \"Enter Student Name\",\n                    examples: \"Peter Wong\",\n                },\n                {\n                    key: \"Student ID\",\n                    type: `number`,\n                    description: \"Enter Student ID\",\n                    examples: \"12\",\n                },\n                {\n                    key: \"Good\",\n                    type: `[\"Yes\", \"No\"]`,\n                    description: \"Determine is good student\",\n                }\n            ]}\n            maxFileSize={1024 ** 2 * 15}\n            showDownloadTemplate={false}\n        /\u003e\n    )\n}\n```\n\n\n### License\nMIT","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr48n34%2Fmantine-import-table","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fr48n34%2Fmantine-import-table","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fr48n34%2Fmantine-import-table/lists"}