{"version":3,"file":"WrapIfAdditionalTemplate.cjs","sources":["../../src/templates/WrapIfAdditionalTemplate.tsx"],"sourcesContent":["import { FocusEvent } from 'react';\nimport {\n  ADDITIONAL_PROPERTY_FLAG,\n  FormContextType,\n  RJSFSchema,\n  StrictRJSFSchema,\n  TranslatableString,\n  WrapIfAdditionalTemplateProps,\n} from '@rjsf/utils';\nimport { Group, TextInput, Box } from '@mantine/core';\n\n/** The `WrapIfAdditional` component is used by the `FieldTemplate` to rename, or remove properties that are\n * part of an `additionalProperties` part of a schema.\n *\n * @param props - The `WrapIfAdditionalProps` for this component\n */\nexport default function WrapIfAdditionalTemplate<\n  T = any,\n  S extends StrictRJSFSchema = RJSFSchema,\n  F extends FormContextType = any,\n>(props: WrapIfAdditionalTemplateProps<T, S, F>) {\n  const {\n    children,\n    classNames,\n    style,\n    disabled,\n    id,\n    label,\n    onDropPropertyClick,\n    onKeyChange,\n    readonly,\n    required,\n    schema,\n    uiSchema,\n    registry,\n  } = props;\n  const { templates, translateString } = registry;\n  // Button templates are not overridden in the uiSchema\n  const { RemoveButton } = templates.ButtonTemplates;\n  const keyLabel = translateString(TranslatableString.KeyLabel, [label]);\n  const { readonlyAsDisabled = true, wrapperStyle } = registry.formContext;\n\n  const additional = ADDITIONAL_PROPERTY_FLAG in schema;\n\n  if (!additional) {\n    return (\n      <div className={`${classNames ?? ''} armt-template-wia`} style={style}>\n        {children}\n      </div>\n    );\n  }\n\n  const handleBlur = ({ target }: FocusEvent<HTMLInputElement>) => onKeyChange(target.value);\n\n  // the reason that wraps the children in a div is to match the result of additional=false\n  return (\n    <div className={`${classNames ?? ''} armt-template-wia`} style={style} key={`${id}-key`}>\n      <Group align='center'>\n        <TextInput // key input\n          label={keyLabel}\n          required={required}\n          defaultValue={label}\n          disabled={disabled || (readonlyAsDisabled && readonly)}\n          id={id}\n          name={id}\n          onBlur={!readonly ? handleBlur : undefined}\n          style={wrapperStyle}\n          type='text'\n        />\n        <Box\n          style={{ flexGrow: 1 }} // value input as children\n        >\n          {children}\n        </Box>\n        <RemoveButton\n          className='array-item-remove'\n          disabled={disabled || readonly}\n          onClick={onDropPropertyClick(label)}\n          uiSchema={uiSchema}\n          registry={registry}\n        />\n      </Group>\n    </div>\n  );\n}\n"],"names":["TranslatableString","ADDITIONAL_PROPERTY_FLAG","jsx","jsxs","Group","TextInput","Box"],"mappings":";;;;;;;;AAOe,SAAS,wBAAwB,CAAC,KAAK,EAAE;AACxD,EAAE,MAAM;AACR,IAAI,QAAQ;AACZ,IAAI,UAAU;AACd,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,EAAE;AACN,IAAI,KAAK;AACT,IAAI,mBAAmB;AACvB,IAAI,WAAW;AACf,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,GAAG,GAAG,KAAK,CAAC;AACZ,EAAE,MAAM,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,QAAQ,CAAC;AAClD,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC,eAAe,CAAC;AACrD,EAAE,MAAM,QAAQ,GAAG,eAAe,CAACA,wBAAkB,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACzE,EAAE,MAAM,EAAE,kBAAkB,GAAG,IAAI,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC;AAC3E,EAAE,MAAM,UAAU,GAAGC,8BAAwB,IAAI,MAAM,CAAC;AACxD,EAAE,IAAI,CAAC,UAAU,EAAE;AACnB,IAAI,uBAAuBC,cAAG,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/G,GAAG;AACH,EAAE,MAAM,UAAU,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC/D,EAAE,uBAAuBA,cAAG,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,QAAQ,kBAAkBC,eAAI,CAACC,UAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE;AACpK,oBAAoBF,cAAG;AACvB,MAAMG,cAAS;AACf,MAAM;AACN,QAAQ,KAAK,EAAE,QAAQ;AACvB,QAAQ,QAAQ;AAChB,QAAQ,YAAY,EAAE,KAAK;AAC3B,QAAQ,QAAQ,EAAE,QAAQ,IAAI,kBAAkB,IAAI,QAAQ;AAC5D,QAAQ,EAAE;AACV,QAAQ,IAAI,EAAE,EAAE;AAChB,QAAQ,MAAM,EAAE,CAAC,QAAQ,GAAG,UAAU,GAAG,KAAK,CAAC;AAC/C,QAAQ,KAAK,EAAE,YAAY;AAC3B,QAAQ,IAAI,EAAE,MAAM;AACpB,OAAO;AACP,KAAK;AACL,oBAAoBH,cAAG;AACvB,MAAMI,QAAG;AACT,MAAM;AACN,QAAQ,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;AAC9B,QAAQ,QAAQ;AAChB,OAAO;AACP,KAAK;AACL,oBAAoBJ,cAAG;AACvB,MAAM,YAAY;AAClB,MAAM;AACN,QAAQ,SAAS,EAAE,mBAAmB;AACtC,QAAQ,QAAQ,EAAE,QAAQ,IAAI,QAAQ;AACtC,QAAQ,OAAO,EAAE,mBAAmB,CAAC,KAAK,CAAC;AAC3C,QAAQ,QAAQ;AAChB,QAAQ,QAAQ;AAChB,OAAO;AACP,KAAK;AACL,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;AACvB;;;;"}