{"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, Box, Stack } 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\n  return (\n    <Box\n      id={idSchema.$id}\n      style={{\n        width: '100%',\n      }}\n      className={`armt-template-arrayfield ${className}`}\n    >\n      <Group spacing='lg'>\n        <div>\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        </div>\n        <Stack spacing='xs' w='100%'>\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        </Stack>\n      </Group>\n    </Box>\n  );\n}\n"],"names":["getUiOptions","getTemplate","jsx","Box","jsxs","Group","Stack"],"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,uBAAuBC,cAAG;AAC5B,IAAIC,QAAG;AACP,IAAI;AACJ,MAAM,EAAE,EAAE,QAAQ,CAAC,GAAG;AACtB,MAAM,KAAK,EAAE;AACb,QAAQ,KAAK,EAAE,MAAM;AACrB,OAAO;AACP,MAAM,SAAS,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,CAAC;AACxD,MAAM,QAAQ,kBAAkBC,eAAI,CAACC,UAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE;AACvE,wBAAwBD,eAAI,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE;AAChD,UAAU,KAAK,oBAAoBF,cAAG;AACtC,YAAY,uBAAuB;AACnC,YAAY;AACZ,cAAc,QAAQ;AACtB,cAAc,KAAK,EAAE,MAAM;AAC3B,cAAc,QAAQ;AACtB,cAAc,MAAM;AACpB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,aAAa;AACb,WAAW;AACX,0BAA0BA,cAAG;AAC7B,YAAY,6BAA6B;AACzC,YAAY;AACZ,cAAc,QAAQ;AACtB,cAAc,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW;AACtE,cAAc,MAAM;AACpB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,aAAa;AACb,WAAW;AACX,SAAS,EAAE,CAAC;AACZ,wBAAwBE,eAAI,CAACE,UAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE;AAC1E,UAAU,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,qBAAqBJ,cAAG,CAAC,sBAAsB,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;AAC3H,UAAU,MAAM,oBAAoBA,cAAG,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,IAAI,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAC/H,SAAS,EAAE,CAAC;AACZ,OAAO,EAAE,CAAC;AACV,KAAK;AACL,GAAG,CAAC;AACJ;;;;"}