{"id":15041051,"url":"https://github.com/forml-js/forml","last_synced_at":"2025-04-13T09:33:14.979Z","repository":{"id":37157459,"uuid":"213540525","full_name":"forml-js/forml","owner":"forml-js","description":"forml - extensible react json schema form generator","archived":false,"fork":false,"pushed_at":"2025-03-20T12:11:20.000Z","size":24835,"stargazers_count":8,"open_issues_count":17,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T19:40:41.492Z","etag":null,"topics":["forml","forms-generator","json-schema-form","json-schema-forms","json-schemas"],"latest_commit_sha":null,"homepage":"https://www.forml.dev","language":"JavaScript","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/forml-js.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2019-10-08T03:25:59.000Z","updated_at":"2025-03-12T12:04:36.000Z","dependencies_parsed_at":"2023-11-15T05:27:22.590Z","dependency_job_id":"8d56b551-8161-4dc7-bbaa-fd19c68ce540","html_url":"https://github.com/forml-js/forml","commit_stats":{"total_commits":557,"total_committers":4,"mean_commits":139.25,"dds":0.04667863554757634,"last_synced_commit":"dbe40701f0a3eb03aceb0a668fcfe67f5fd86107"},"previous_names":["fauxsoup/rjsf"],"tags_count":250,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forml-js%2Fforml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forml-js%2Fforml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forml-js%2Fforml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/forml-js%2Fforml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/forml-js","download_url":"https://codeload.github.com/forml-js/forml/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248690983,"owners_count":21146246,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["forml","forms-generator","json-schema-form","json-schema-forms","json-schemas"],"created_at":"2024-09-24T20:45:27.655Z","updated_at":"2025-04-13T09:33:14.952Z","avatar_url":"https://github.com/forml-js.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Table of Contents\n\n1.  [forml](#org4dec357)\n    1.  [Documentation](#documentation)\n    2.  [Examples](#org3b18bac)\n    3.  [Installation](#installation)\n    4.  [Usage](#org09cd307)\n    5.  [Customization](#org29eb409)\n    6.  [Localization](#org673cf98)\n\n\u003ca id=\"org4dec357\"\u003e\u003c/a\u003e\n\n# forml\n\n[![Build Status](https://travis-ci.com/forml-js/forml.svg?branch=master)](https://travis-ci.com/forml-js/forml)\n![Libraries.io dependency status for latest release](https://img.shields.io/librariesio/release/npm/@forml/core)\n[![Coverage Status](https://coveralls.io/repos/github/forml-js/forml/badge.svg?branch=master)](https://coveralls.io/github/forml-js/forml?branch=master)\n![npm](https://img.shields.io/npm/v/@forml/core)\n![npm](https://img.shields.io/npm/l/@forml/core)\n\nforml - react json schema form\n\nA lightweight, efficient, and powerful form rendering library for use with your JSON schemas. Automatically generate\nand customize working forms for use in your application. Great for rapid prototyping or production!\n\n\u003ca id=\"documentation\"\u003e\u003c/a\u003e\n\n## Documentation\n\nView the documentation at [forml.dev](https://www.forml.dev)!\n\n\u003ca id=\"org3b18bac\"\u003e\u003c/a\u003e\n\n## Examples\n\nYou can view the [running demo](https://forml-js.github.io/forml).\n\nAlternatively, you can run them yourself.\n\n    cd examples\n    npm install\n    npm start\n\n\u003ca id=\"installation\"\u003e\u003c/a\u003e\n\n## Installation\n\n```bash\n# Substitute @forml/decorator-mui with your preferred decorator\nnpm i @forml/core @forml/decorator-mui\n```\n\n\u003ca id=\"org09cd307\"\u003e\u003c/a\u003e\n\n## Usage\n\nBasic usage is as follows:\n\n```jsx\nimport { SchemaForm } from '@forml/core';\nimport * as decorator from '@forml/decorator-mui';\nimport { useState } from 'react';\n\nexport function MyForm(props) {\n    const [model, setModel] = useState('');\n    const schema = { type: 'string', title: 'Sample Form' };\n    const form = ['*'];\n\n    return (\n        \u003cSchemaForm\n            model={model}\n            schema={schema}\n            decorator={decorator}\n            form={form}\n            onChange={onChange}\n        /\u003e\n    );\n\n    function onChange(event, model) {\n        setModel(model);\n    }\n}\n```\n\nThe `example` directory\u0026rsquo;s `index.js` uses `SchemaForm` both for the example selector and the example itself.\n\n\u003ca id=\"org29eb409\"\u003e\u003c/a\u003e\n\n## Customization\n\nCustom mapped components can be provided. Look at `mapper/index.js` to see a\nlist of supported object types. New types may be added and used by explicitly\nsetting the form type.\n\nAppearance/final rendering is handled by the `decorator` components. Currently a `barebones` (pure HTML) and `MaterialUI` decorators are provided.\n\n\u003ca id=\"org673cf98\"\u003e\u003c/a\u003e\n\n## Localization\n\n`forml` supports localization via injection. To inject a localizer:\n\n```jsx\nimport { SchemaForm } from '@forml/core';\nimport * as decorator from '@forml/decorator-mui';\nimport { useTranslate } from 'react-i18next';\nimport { useState } from 'react';\n\nexport function MyTranslatedForm(props) {\n    const [model, setModel] = useState({});\n    const { t } = useTranslate();\n    const schema = {\n        type: 'object',\n        properties: {\n            key: {\n                type: 'string',\n                title: 'Titles are passed through getLocalizedString',\n                description: 'Descriptions too',\n            },\n        },\n    };\n\n    const localizer = { getLocalizedString: t };\n\n    return (\n        \u003cSchemaForm\n            model={model}\n            schema={schema}\n            localizer={localizer}\n            decorator={decorator}\n            onChange={onChange}\n        /\u003e\n    );\n\n    function onChange(event, model) {\n        setModel(model);\n    }\n}\n```\n\n\u003ca id=\"contributing\"\u003e\u003c/a\u003e\n\n## Contributing\n\nforml prides itself on being easily extensible. More UI packages are being added and contributions are welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforml-js%2Fforml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fforml-js%2Fforml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fforml-js%2Fforml/lists"}