import * as React from "react";
import type { ElementOperation } from "./ElementOperation";
import { OneLineTextEditor } from "../ui/OneLineTextEditor";
import { css } from "@emotion/css";
import { neverFunc } from "../../common/util";
export type OneLineTextSelection = never;
export type OneLineTextValue = {
readonly text: string;
readonly onChange: ((newText: string) => void) | undefined;
};
const TextSelectionView: ElementOperation<
OneLineTextSelection,
OneLineTextValue
>["selectionView"] = React.memo((props) => {
return
{props.value.text}
;
});
TextSelectionView.displayName = "TextSelectionView";
export const HeadTextSelectionView: ElementOperation<
OneLineTextSelection,
OneLineTextValue
>["selectionView"] = React.memo((props) => {
if (props.value.text.length === 0) {
return (
empty
);
}
return {props.value.text}
;
});
HeadTextSelectionView.displayName = "HeadTextSelectionView";
const TextDetailView: ElementOperation<
OneLineTextSelection,
OneLineTextValue
>["detailView"] = ({ value }) => {
return (
);
};
export const oneLineTextOperation: ElementOperation<
OneLineTextSelection,
OneLineTextValue
> = {
moveUp: neverFunc,
moveDown: neverFunc,
moveFirstChild: () => undefined,
moveParent: () => undefined,
selectionView: TextSelectionView,
detailView: TextDetailView,
};