Files
editor/src/components/FieldDocLabel.tsx
T
Harel M 9c1499b805 Replace default export with named exports (#1998)
## Launch Checklist

See title,
Also removed some "_" from some file names.
This is a pure refactoring, no logic changes.


 - [x] Briefly describe the changes in this PR.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-07-12 14:07:28 +03:00

52 lines
1.3 KiB
TypeScript

import React, { type JSX } from "react";
import {MdInfoOutline, MdHighlightOff} from "react-icons/md";
type FieldDocLabelProps = {
label: JSX.Element | string | undefined
fieldSpec?: {
doc?: string
}
onToggleDoc?(...args: unknown[]): unknown
};
export const FieldDocLabel: React.FC<FieldDocLabelProps> = (props) => {
const [open, setOpen] = React.useState(false);
const onToggleDoc = (state: boolean) => {
setOpen(state);
if (props.onToggleDoc) {
props.onToggleDoc(state);
}
};
const { label, fieldSpec } = props;
const { doc } = fieldSpec || {};
if (doc) {
return (
<label className="maputnik-doc-wrapper">
<div className="maputnik-doc-target">
{label}
{"\xa0"}
<button
aria-label={open ? "close property documentation" : "open property documentation"}
className={`maputnik-doc-button maputnik-doc-button--${open ? "open" : "closed"}`}
onClick={() => onToggleDoc(!open)}
data-wd-key={"field-doc-button-" + label}
>
{open ? <MdHighlightOff /> : <MdInfoOutline />}
</button>
</div>
</label>
);
} else if (label) {
return (
<label className="maputnik-doc-wrapper">
<div className="maputnik-doc-target">{label}</div>
</label>
);
}
return <div />;
};