UNPKG

@aokiapp/rjsf-mantine-theme

Version:

Mantine theme, fields and widgets for react-jsonschema-form

1 lines 4.59 kB
{"version":3,"file":"ArrayFieldTemplate.cjs","sources":["../../src/templates/ArrayFieldTemplate.tsx"],"sourcesContent":["import {\n getTemplate,\n getUiOptions,\n ArrayFieldTemplateProps,\n ArrayFieldTemplateItemType,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n} from '@rjsf/utils';\n\nimport { Group, Fieldset } from '@mantine/core';\n\n/** The `ArrayFieldTemplate` component is the template used to render all items in an array.\n *\n * @param props - The `ArrayFieldTemplateItemType` props for the component\n */\nexport default function ArrayFieldTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any,\n>(props: ArrayFieldTemplateProps<T, S, F>) {\n const {\n canAdd,\n className,\n disabled,\n idSchema,\n uiSchema,\n items,\n onAddClick,\n readonly,\n registry,\n required,\n schema,\n title,\n } = props;\n const uiOptions = getUiOptions<T, S, F>(uiSchema);\n const ArrayFieldDescriptionTemplate = getTemplate<'ArrayFieldDescriptionTemplate', T, S, F>(\n 'ArrayFieldDescriptionTemplate',\n registry,\n uiOptions,\n );\n const ArrayFieldItemTemplate = getTemplate<'ArrayFieldItemTemplate', T, S, F>(\n 'ArrayFieldItemTemplate',\n registry,\n uiOptions,\n );\n const ArrayFieldTitleTemplate = getTemplate<'ArrayFieldTitleTemplate', T, S, F>(\n 'ArrayFieldTitleTemplate',\n registry,\n uiOptions,\n );\n // Button templates are not overridden in the uiSchema\n const {\n ButtonTemplates: { AddButton },\n } = registry.templates;\n\n const _title = uiOptions.title || title;\n const legendNode = (\n <Group gap='xs'>\n {title && (\n <ArrayFieldTitleTemplate\n idSchema={idSchema}\n title={_title}\n required={required}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n\n <ArrayFieldDescriptionTemplate\n idSchema={idSchema}\n description={uiOptions.description || schema.description}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n />\n </Group>\n );\n return (\n <Fieldset\n id={idSchema.$id}\n legend={legendNode}\n style={{\n width: '100%',\n }}\n className={`armt-template-arrayfield ${className}`}\n >\n {items &&\n items.map(({ key, ...itemProps }: ArrayFieldTemplateItemType<T, S, F>) => (\n <ArrayFieldItemTemplate key={key} {...itemProps} />\n ))}\n {canAdd && (\n <AddButton onClick={onAddClick} disabled={disabled || readonly} uiSchema={uiSchema} registry={registry} />\n )}\n </Fieldset>\n );\n}\n"],"names":["getUiOptions","getTemplate","jsxs","Group","jsx","Fieldset"],"mappings":";;;;;;;;AAOe,SAAS,kBAAkB,CAAC,KAAK,EAAE;AAClD,EAAE,MAAM;AACR,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,KAAK;AACT,IAAI,UAAU;AACd,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,KAAK;AACT,GAAG,GAAG,KAAK,CAAC;AACZ,EAAE,MAAM,SAAS,GAAGA,kBAAY,CAAC,QAAQ,CAAC,CAAC;AAC3C,EAAE,MAAM,6BAA6B,GAAGC,iBAAW;AACnD,IAAI,+BAA+B;AACnC,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,GAAG,CAAC;AACJ,EAAE,MAAM,sBAAsB,GAAGA,iBAAW;AAC5C,IAAI,wBAAwB;AAC5B,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,GAAG,CAAC;AACJ,EAAE,MAAM,uBAAuB,GAAGA,iBAAW;AAC7C,IAAI,yBAAyB;AAC7B,IAAI,QAAQ;AACZ,IAAI,SAAS;AACb,GAAG,CAAC;AACJ,EAAE,MAAM;AACR,IAAI,eAAe,EAAE,EAAE,SAAS,EAAE;AAClC,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC;AACzB,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,IAAI,KAAK,CAAC;AAC1C,EAAE,MAAM,UAAU,mBAAmBC,eAAI,CAACC,UAAK,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE;AACxE,IAAI,KAAK,oBAAoBC,cAAG;AAChC,MAAM,uBAAuB;AAC7B,MAAM;AACN,QAAQ,QAAQ;AAChB,QAAQ,KAAK,EAAE,MAAM;AACrB,QAAQ,QAAQ;AAChB,QAAQ,MAAM;AACd,QAAQ,QAAQ;AAChB,QAAQ,QAAQ;AAChB,OAAO;AACP,KAAK;AACL,oBAAoBA,cAAG;AACvB,MAAM,6BAA6B;AACnC,MAAM;AACN,QAAQ,QAAQ;AAChB,QAAQ,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW;AAChE,QAAQ,MAAM;AACd,QAAQ,QAAQ;AAChB,QAAQ,QAAQ;AAChB,OAAO;AACP,KAAK;AACL,GAAG,EAAE,CAAC,CAAC;AACP,EAAE,uBAAuBF,eAAI;AAC7B,IAAIG,aAAQ;AACZ,IAAI;AACJ,MAAM,EAAE,EAAE,QAAQ,CAAC,GAAG;AACtB,MAAM,MAAM,EAAE,UAAU;AACxB,MAAM,KAAK,EAAE;AACb,QAAQ,KAAK,EAAE,MAAM;AACrB,OAAO;AACP,MAAM,SAAS,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;AACxD,MAAM,QAAQ,EAAE;AAChB,QAAQ,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,qBAAqBD,cAAG,CAAC,sBAAsB,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;AACzH,QAAQ,MAAM,oBAAoBA,cAAG,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,IAAI,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC7H,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ;;;;"}