Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

README.md

@mieweb/forms-engine

Core state management and field components for FHIR-compatible questionnaires.

⚠️ Note: This package is primarily used internally by @mieweb/forms-editor and @mieweb/forms-renderer. Most users should use those packages instead.

Installation

npm install @mieweb/forms-engine

Requirements: React 18+ and React DOM 18+

Overview

Provides:

  • 20+ field components
  • Zustand state management
  • Schema utilities (YAML/JSON parsing, auto-detection)
  • Conditional logic evaluation

Quick Start

import { 
  FormStoreContext, 
  UIStoreContext,
  createFormStore, 
  createUIStore,
  Text_Field 
} from '@mieweb/forms-engine';

function MyApp() {
  const formStore = React.useRef(createFormStore()).current;
  const uiStore = React.useRef(createUIStore()).current;

  React.useEffect(() => {
    formStore.getState().replaceAll({
      schemaType: 'mieforms-v1.0',
      fields: [
        { id: 'name', fieldType: 'text', question: 'Name?', answer: '' }
      ]
    });
  }, [formStore]);

  return (
    <FormStoreContext.Provider value={formStore}>
      <UIStoreContext.Provider value={uiStore}>
        <Text_Field fieldId="name" />
      </UIStoreContext.Provider>
    </FormStoreContext.Provider>
  );
}

Documentation

Full Documentation

For detailed information, see:

License

MIT