/** * @lilith/attribute-hooks * * React hooks for attribute service integration. * Provides data fetching and mutations for dynamic attributes. * * @example * ```tsx * import { * useAttributeDefinitions, * useAttributeValues, * useUpdateAttributeValues, * EntityType * } from '@lilith/attribute-hooks' * * function ProfileForm({ userId }: { userId: string }) { * const { data: definitions } = useAttributeDefinitions(EntityType.USER) * const { data: values } = useAttributeValues(EntityType.USER, userId) * const updateValues = useUpdateAttributeValues(EntityType.USER, userId) * * const handleSave = (newValues: Record) => { * updateValues.mutate(newValues) * } * * // Render form based on definitions... * } * ``` */ // Types export { EntityType, AttributeDataType, type AttributeDefinition, type AttributeDefinitionFilters, type CreateAttributeDefinitionRequest, type UpdateAttributeDefinitionRequest, type AttributeValues, type SetAttributeValuesRequest, type SetAttributeValueRequest, } from './types' // API functions (for advanced usage) export { fetchAttributeDefinitions, fetchAttributeDefinitionByCode, fetchAttributeDefinitionById, createAttributeDefinition, updateAttributeDefinition, deleteAttributeDefinition, fetchEntityTypes, fetchAttributeCategories, fetchAttributeValues, fetchAttributeValue, setAttributeValues, setAttributeValue, deleteAttributeValue, } from './api' // Hooks export { // Definition hooks useAttributeDefinitions, useAttributeDefinition, useAttributeDefinitionById, useGroupedAttributeDefinitions, attributeDefinitionKeys, // Value hooks useAttributeValues, useAttributeValue, useAttributeValuesWithDefinitions, attributeValueKeys, // Mutation hooks useCreateAttributeDefinition, useUpdateAttributeDefinition, useDeleteAttributeDefinition, useUpdateAttributeValues, useUpdateAttributeValue, useDeleteAttributeValue, // Meta hooks useEntityTypes, useAttributeCategories, metaKeys, } from './hooks' // Search/Filter Components export { AttributeFilter, type AttributeFilterValue, type AttributeFilterProps, } from './components/AttributeFilter' export { AttributeSearchPills, type AttributeSearchPillsProps, } from './components/AttributeSearchPills'