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; }