import { html } from "lit";
import { FFormInputElements, FormBuilderField, FormBuilderEmojiField } from "../../../types";
import { Ref, ref } from "lit/directives/ref.js";
import { ifDefined } from "lit-html/directives/if-defined.js";
import { getLabelLeftLayout, getSlots } from "../../../modules/helpers";
import { getAriaLabel } from "../../../modules/utils";
export default function (
name: string,
_field: FormBuilderField,
fieldRef: Ref,
value: unknown
) {
const field = _field as FormBuilderEmojiField;
const fieldHtml = html`
{
e.stopPropagation();
if (field.onClick) {
field.onClick(e);
}
}}
@mouseup=${(e: PointerEvent) => {
e.stopPropagation();
}}
@focus=${ifDefined(field.onFocus)}
@input=${ifDefined(field.onInput)}
@keypress=${ifDefined(field.onKeyPress)}
@keydown=${ifDefined(field.onKeyDown)}
@keyup=${ifDefined(field.onKeyUp)}
@mouseover=${ifDefined(field.onMouseOver)}
>
${getSlots(name, field)}
`;
if (field.layout === "label-left") {
return getLabelLeftLayout(field, fieldHtml);
}
return fieldHtml;
}