{
  "schemaVersion": "1.0.0",
  "entries": [
    {
      "id": "table-data-registry",
      "moduleId": "Table",
      "exportName": "Table",
      "displayName": "Table",
      "importPath": "@imj_media/ui",
      "importSymbol": "Table",
      "replacesGeneric": ["DataTable", "ReferenceTable", "OrbitDataGrid"],
      "semantic": {
        "classification": ["DataRegistry", "Configuration", "AuditLog"],
        "capabilities": ["search", "pagination", "advancedFilter", "export", "selection"]
      },
      "dataBinding": {
        "kind": "rest",
        "rowsProp": "rows",
        "columnsProp": "columns",
        "toolbarSearchProp": "toolbar.showSearch",
        "paginationProp": "pagination"
      },
      "entityHints": {
        "preferredKeyFields": ["id", "name", "created_at", "status"],
        "statusFieldCandidates": ["status", "state", "estado"]
      }
    },
    {
      "id": "table-workflow-fallback",
      "moduleId": "Table",
      "exportName": "Table",
      "displayName": "Table",
      "importPath": "@imj_media/ui",
      "importSymbol": "Table",
      "replacesGeneric": ["KanbanBoard", "KanbanOrderBoard", "OrbitKanban"],
      "semantic": {
        "classification": ["WorkflowProcess"],
        "capabilities": ["stateTracking", "search", "pagination"]
      },
      "dataBinding": {
        "kind": "stateMachine",
        "rowsProp": "rows",
        "columnsProp": "columns",
        "stateField": "status",
        "lifecycleToColumn": true
      },
      "entityHints": {
        "preferredKeyFields": ["id", "status", "name", "updated_at"],
        "statusFieldCandidates": ["status", "state", "estado"]
      },
      "limitations": ["no_native_drag_drop", "use_table_with_status_column"]
    },
    {
      "id": "ghantt-timeline",
      "moduleId": "Ghantt",
      "exportName": "Ghantt",
      "displayName": "Ghantt",
      "importPath": "@imj_media/ui",
      "importSymbol": "Ghantt",
      "replacesGeneric": ["GanttChart", "TimelineBoard"],
      "semantic": {
        "classification": ["TimelineEntity"],
        "capabilities": ["timeline", "search", "pagination"]
      },
      "dataBinding": {
        "kind": "rest",
        "rowsProp": "rows",
        "columnsProp": "columns"
      },
      "entityHints": {
        "preferredKeyFields": ["id", "start_date", "end_date", "name"]
      }
    },
    {
      "id": "lists-master",
      "moduleId": "Lists",
      "exportName": "Lists",
      "displayName": "Lists",
      "importPath": "@imj_media/ui",
      "importSymbol": "Lists",
      "replacesGeneric": ["ListView", "MasterListView"],
      "semantic": {
        "classification": ["MasterList"],
        "capabilities": ["search", "selection"]
      },
      "dataBinding": {
        "kind": "rest",
        "itemsProp": "list.items"
      },
      "entityHints": {
        "preferredKeyFields": ["id", "title", "name"]
      }
    },
    {
      "id": "lists-notification-feed",
      "moduleId": "Lists",
      "exportName": "Lists",
      "displayName": "Lists",
      "importPath": "@imj_media/ui",
      "importSymbol": "Lists",
      "replacesGeneric": ["FeedList", "NotificationList"],
      "semantic": {
        "classification": ["NotificationFeed"],
        "capabilities": ["notification", "search"]
      },
      "dataBinding": {
        "kind": "rest",
        "itemsProp": "list.items"
      },
      "entityHints": {
        "preferredKeyFields": ["id", "message", "created_at", "read"]
      }
    },
    {
      "id": "filters-bar",
      "moduleId": "Filters",
      "exportName": "Filters",
      "displayName": "Filters",
      "importPath": "@imj_media/ui",
      "importSymbol": "Filters",
      "replacesGeneric": ["SearchBar", "FilterPanel"],
      "semantic": {
        "classification": ["FilterBar"],
        "capabilities": ["advancedFilter", "search"]
      },
      "dataBinding": {
        "kind": "static",
        "filtersProp": "filters"
      }
    },
    {
      "id": "header-filter-bar",
      "moduleId": "Header",
      "exportName": "Header",
      "displayName": "Header",
      "importPath": "@imj_media/ui",
      "importSymbol": "Header",
      "replacesGeneric": ["PageHeader", "FilterHeader"],
      "semantic": {
        "classification": ["FilterBar"],
        "capabilities": ["advancedFilter", "search"]
      },
      "dataBinding": {
        "kind": "static",
        "filtersProp": "filters"
      }
    },
    {
      "id": "form-entity-stack",
      "moduleId": "Modal",
      "exportName": "Modal",
      "displayName": "Modal",
      "importPath": "@imj_media/ui",
      "importSymbol": "Modal",
      "replacesGeneric": ["EntityForm", "EditDialog"],
      "semantic": {
        "classification": ["FormEntity"],
        "capabilities": ["formFields"]
      },
      "dataBinding": {
        "kind": "composition",
        "compositionModules": ["Modal", "Input", "Dropdown", "Button"]
      },
      "limitations": ["compose_modal_with_input_dropdown_button"]
    },
    {
      "id": "datepicker-form-field",
      "moduleId": "DatePicker",
      "exportName": "DatePicker",
      "displayName": "DatePicker",
      "importPath": "@imj_media/ui",
      "importSymbol": "DatePicker",
      "replacesGeneric": ["DateInput", "DateRangePicker"],
      "semantic": {
        "classification": ["FormEntity", "DateField"],
        "capabilities": ["formFields", "dateRange"]
      },
      "dataBinding": {
        "kind": "static",
        "valueProp": "selectedDate"
      },
      "entityHints": {
        "preferredKeyFields": ["date", "start_date", "end_date"]
      }
    }
  ]
}
