/*
* Copyright 2025 Commonwealth Scientific and Industrial Research
* Organisation (CSIRO) ABN 41 687 119 230.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import React, { memo } from 'react';
import type { QuestionnaireItem, QuestionnaireResponseItem } from 'fhir/r4';
import { FullWidthFormComponentBox } from '../../Box.styles';
import { isSpecificItemControl } from '../../../utils';
import { useQuestionnaireStore } from '../../../stores';
import useReadOnly from '../../../hooks/useReadOnly';
import type {
PropsWithParentIsReadOnlyAttribute,
PropsWithParentStylesAttribute
} from '../../../interfaces/renderProps.interface';
import Divider from '@mui/material/Divider';
import ItemLabel from '../ItemParts/ItemLabel';
import type { RenderingExtensions } from '../../../hooks/useRenderingExtensions';
interface DisplayItemProps
extends PropsWithParentIsReadOnlyAttribute,
PropsWithParentStylesAttribute {
qItem: QuestionnaireItem;
qrItem?: QuestionnaireResponseItem | null;
renderingExtensions?: RenderingExtensions;
}
const DisplayItem = memo(function DisplayItem(props: DisplayItemProps) {
const { qItem, parentIsReadOnly, parentStyles } = props;
const readOnly = useReadOnly(qItem, parentIsReadOnly);
const onFocusLinkId = useQuestionnaireStore.use.onFocusLinkId();
const isContextDisplay = isSpecificItemControl(qItem, 'context-display');
if (isContextDisplay) {
return null;
}
const isFlyover = isSpecificItemControl(qItem, 'flyover');
if (isFlyover) {
return null;
}
const isDivider = isSpecificItemControl(qItem, 'divider');
if (isDivider) {
return ;
}
return (
onFocusLinkId(qItem.linkId)}>
);
});
export default DisplayItem;