{
  "id": "uilib/extensions/forms/Iterate/Array",
  "name": "Array",
  "description": "`Iterate.Array` works in many ways similar to field-components. It has a value-property that can receive an array or you can give it a path if you want it to retrieve an array from a surrounding DataContext. All children components of Iterate.Array are rendered once per item the array-value consists of.",
  "group": "extensions",
  "slug": "/uilib/extensions/forms/Iterate/Array/",
  "props": [
    {
      "name": "value",
      "doc": "The data to iterate over. Alternative you can use the `path` prop.",
      "type": "array",
      "status": "optional",
      "defaultValue": null
    },
    {
      "name": "path",
      "doc": "A path (JSON Pointer) to the array to iterate over.",
      "type": "string",
      "status": "optional",
      "defaultValue": null
    },
    {
      "name": "itemPath",
      "doc": "A path (JSON Pointer) to nested array items.",
      "type": "string",
      "status": "optional",
      "defaultValue": null
    },
    {
      "name": "required",
      "doc": "If the array is required. It does not automatically inherit the `required` property in the same way that `Field.*` components do. You may provide a custom error message to give the user a more useful message than the default one: `errorMessages={{ 'Field.errorRequired': 'Custom message' }}`",
      "type": "boolean",
      "status": "optional",
      "defaultValue": null
    },
    {
      "name": "minItems",
      "doc": "The minimum amount of items required to iterate over.",
      "type": "number",
      "status": "optional",
      "defaultValue": null
    },
    {
      "name": "maxItems",
      "doc": "The maximum amount of items to iterate over before showing the error.",
      "type": "number",
      "status": "optional",
      "defaultValue": null
    },
    {
      "name": "limit",
      "doc": "Limit the number of rendered items to iterate over. Defaults to `undefined`.",
      "type": "number",
      "status": "optional",
      "defaultValue": null
    },
    {
      "name": "reverse",
      "doc": "When `true` it will reverse the order of the items.",
      "type": "boolean",
      "status": "optional",
      "defaultValue": null
    },
    {
      "name": "countPath",
      "doc": "A path (JSON Pointer) to the array length.",
      "type": "string",
      "status": "optional",
      "defaultValue": null
    },
    {
      "name": "countPathTransform",
      "doc": "Will transform the current value before it is displayed.",
      "type": "function",
      "status": "optional",
      "defaultValue": null
    },
    {
      "name": "countPathLimit",
      "doc": "Will limit the iterate amount by given \"countPathLimit\" value.",
      "type": "number",
      "status": "optional",
      "defaultValue": null
    },
    {
      "name": "withoutFlex",
      "doc": "When `true` it will omit the Flex.Stack wrapper so it can be used for tables and lists.",
      "type": "boolean",
      "status": "optional",
      "defaultValue": null
    },
    {
      "name": "animate",
      "doc": "When `true` it will animate the height of the items.",
      "type": "boolean",
      "status": "optional",
      "defaultValue": null
    },
    {
      "name": "placeholder",
      "doc": "Will be shown if the value or data context value is empty.",
      "type": "React.Node",
      "status": "optional",
      "defaultValue": null
    },
    {
      "name": "emptyValue",
      "doc": "Will be used to compare the value in order to show the placeholder.",
      "type": "unknown",
      "status": "optional",
      "defaultValue": null
    },
    {
      "name": "containerMode",
      "doc": "Defines the container mode for all nested containers. Can be `view`, `edit` or `auto`. When using `auto`, it will automatically open if there is an error in the container. When a new item is added, the item before it will change to `view` mode, if it had no validation errors. Defaults to `auto`.",
      "type": "string",
      "status": "optional",
      "defaultValue": null
    },
    {
      "name": "onChangeValidator",
      "doc": "Custom validator function where you can return `undefined`, `Error`, `FormError` or an Array with either several other validators or several `Error` or `FormError`. It is triggered on every change done by the user. The function can be either asynchronous or synchronous. The first parameter is the value, and the second parameter returns an object containing { errorMessages, connectWithPath, validators }.",
      "type": "function",
      "status": "optional",
      "defaultValue": null
    },
    {
      "name": "validateInitially",
      "doc": "Set to `true` to show validation based errors initially (from given value-prop or source data) before the user interacts with the field.",
      "type": "boolean",
      "status": "optional",
      "defaultValue": null
    },
    {
      "name": "validateContinuously",
      "doc": "Set to `true` to show validation based errors continuously while writing, not just when blurring the field.",
      "type": "boolean",
      "status": "optional",
      "defaultValue": null
    },
    {
      "name": "children",
      "doc": "React.Node or a function so you can get the current value as the first function parameter, and the index as the second parameter as well as the array of internal items as the third parameter.",
      "type": [
        "React.ReactNode",
        "function"
      ],
      "status": "optional",
      "defaultValue": null
    }
  ],
  "events": [
    {
      "name": "onChange",
      "doc": "Will be called when a value of a field was changed by the user, with the data set (including the changed value) as argument.",
      "type": "function",
      "status": "optional",
      "defaultValue": null
    }
  ],
  "related": [
    "Flex.Stack"
  ],
  "checksum": "451484255dffc684f035b04fdba4b9fb0018d8745bec2e81d0435ddfb14d7adf",
  "source": {
    "repo": "https://github.com/dnbexperience/eufemia",
    "file": "packages/dnb-eufemia/src/extensions/forms/Iterate/Array/Array.tsx",
    "permalink": "https://github.com/dnbexperience/eufemia/blob/main/packages/dnb-eufemia/src/extensions/forms/Iterate/Array/Array.tsx"
  },
  "sources": {
    "entry": {
      "local": "src/docs/uilib/extensions/forms/Iterate/Array.mdx",
      "public": "https://c301bb6f.eufemia-e25.pages.dev/uilib/extensions/forms/Iterate/Array/"
    },
    "props": {
      "local": "src/docs/uilib/extensions/forms/Iterate/Array/properties.mdx",
      "public": "https://c301bb6f.eufemia-e25.pages.dev/uilib/extensions/forms/Iterate/Array/properties/"
    },
    "events": {
      "local": "src/docs/uilib/extensions/forms/Iterate/Array/events.mdx",
      "public": "https://c301bb6f.eufemia-e25.pages.dev/uilib/extensions/forms/Iterate/Array/events/"
    },
    "demos": {
      "local": "src/docs/uilib/extensions/forms/Iterate/Array/demos.mdx",
      "public": "https://c301bb6f.eufemia-e25.pages.dev/uilib/extensions/forms/Iterate/Array/demos/"
    }
  },
  "version": "0.0.0-development",
  "generatedAt": "2025-12-18T11:12:44.817Z",
  "schemaVersion": 1
}
