@aokiapp/rjsf-mantine-theme
Version:
Mantine theme, fields and widgets for react-jsonschema-form
1 lines • 4.47 kB
Source Map (JSON)
{"version":3,"file":"WrapIfAdditionalTemplate.mjs","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":[],"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,CAAC,kBAAkB,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,GAAG,wBAAwB,IAAI,MAAM,CAAC;AACxD,EAAE,IAAI,CAAC,UAAU,EAAE;AACnB,IAAI,uBAAuB,GAAG,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,uBAAuB,GAAG,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,QAAQ,kBAAkB,IAAI,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE;AACpK,oBAAoB,GAAG;AACvB,MAAM,SAAS;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,oBAAoB,GAAG;AACvB,MAAM,GAAG;AACT,MAAM;AACN,QAAQ,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE;AAC9B,QAAQ,QAAQ;AAChB,OAAO;AACP,KAAK;AACL,oBAAoB,GAAG;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;;;;"}