[
  {
    "tags": {},
    "description": "Modals can be used to display a simple task, confirm actions, prompt users to input information, or display additional information.",
    "methods": [],
    "displayName": "ConfirmationModal",
    "props": {
      "ConfirmationModalProps": {
        "title": {
          "name": "title",
          "defaultValue": null,
          "description": "Text of header element",
          "required": true,
          "type": {
            "name": "string"
          },
          "tags": {}
        },
        "open": {
          "name": "open",
          "defaultValue": null,
          "description": "The component is shown when the value is set to `true`.",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "boolean",
            "value": [
              {
                "value": "false"
              },
              {
                "value": "true"
              }
            ]
          },
          "tags": {}
        },
        "onConfirm": {
          "name": "onConfirm",
          "defaultValue": null,
          "description": "Callback fired when the primary action button is clicked.",
          "required": false,
          "type": {
            "name": "() => void"
          },
          "tags": {
            "deprecated": "Use `confirmButtonProps`."
          }
        },
        "onCancel": {
          "name": "onCancel",
          "defaultValue": null,
          "description": "Callback fired when the cancel button is clicked.",
          "required": false,
          "type": {
            "name": "() => void"
          },
          "tags": {
            "deprecated": "Use `cancelButtonProps`."
          }
        },
        "buttonText": {
          "name": "buttonText",
          "defaultValue": null,
          "description": "Text rendered in the primary button. Defaults to `\"Confirm\"`",
          "required": false,
          "type": {
            "name": "string"
          },
          "tags": {
            "deprecated": "Use `confirmButtonProps`."
          }
        },
        "variant": {
          "name": "variant",
          "defaultValue": {
            "value": "primary"
          },
          "description": "Variant of the modal that represents the type of action handled by the modal.",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "Variant",
            "value": [
              {
                "value": "\"primary\""
              },
              {
                "value": "\"danger\""
              }
            ]
          },
          "tags": {}
        },
        "requiredInputText": {
          "name": "requiredInputText",
          "defaultValue": null,
          "description": "If set, the user will be prompted to type the requiredInputText into an input field",
          "required": false,
          "type": {
            "name": "string"
          },
          "tags": {}
        },
        "submitDisabled": {
          "name": "submitDisabled",
          "defaultValue": null,
          "description": "If `true`, the primary action button will be disabled",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "boolean",
            "value": [
              {
                "value": "false"
              },
              {
                "value": "true"
              }
            ]
          },
          "tags": {
            "deprecated": "Use `confirmButtonProps`."
          }
        },
        "confirmButtonProps": {
          "name": "confirmButtonProps",
          "defaultValue": {
            "value": "{}"
          },
          "description": "An object that accepts all Button props except for the `variant` prop. The variant is controlled by the `variant` prop.",
          "required": false,
          "type": {
            "name": "CustomConfirmButtonProps"
          },
          "tags": {}
        },
        "cancelButtonProps": {
          "name": "cancelButtonProps",
          "defaultValue": {
            "value": "{}"
          },
          "description": "An object that accepts all Button props except for the `children` prop. The text will always render `cancel` and the `onClick` property will also fire when the `X` button, or backdrop is clicked.",
          "required": false,
          "type": {
            "name": "CustomCancelButtonProps"
          },
          "tags": {}
        }
      },
      "ModalProps": {
        "children": {
          "name": "children",
          "defaultValue": null,
          "description": "Content that will appear inside of the Modal component.",
          "required": true,
          "type": {
            "name": "enum",
            "raw": "ReactNode",
            "value": [
              {
                "value": "string"
              },
              {
                "value": "number"
              },
              {
                "value": "false"
              },
              {
                "value": "true"
              },
              {
                "value": "ReactElement<any, string | JSXElementConstructor<any>>",
                "description": "",
                "fullComment": "",
                "tags": {}
              },
              {
                "value": "Iterable<ReactNode>",
                "description": "",
                "fullComment": "",
                "tags": {}
              },
              {
                "value": "ReactPortal",
                "description": "",
                "fullComment": "",
                "tags": {}
              }
            ]
          },
          "tags": {}
        },
        "setOpen": {
          "name": "setOpen",
          "defaultValue": {
            "value": "() => {}"
          },
          "description": "Callback to change the open state of the Modal.",
          "required": false,
          "type": {
            "name": "(open: boolean) => void | Dispatch<SetStateAction<boolean>>"
          },
          "tags": {
            "default": "() => {}"
          }
        },
        "shouldClose": {
          "name": "shouldClose",
          "defaultValue": {
            "value": "() => true"
          },
          "description": "Callback to determine whether or not Modal should close when user tries to close it.",
          "required": false,
          "type": {
            "name": "() => boolean"
          },
          "tags": {
            "default": "() => true"
          }
        },
        "initialFocus": {
          "name": "initialFocus",
          "defaultValue": {
            "value": "\"auto\""
          },
          "description": "Specifies which element should receive focus when the modal opens.\n\n**Options:**\n- `\"auto\"`: Automatically focuses the first focusable element in the modal\n- `string`: CSS selector passed to `querySelector()` to specify an element\n- `React.RefObject<HTMLElement>`: Reference to the element that should receive focus. This is recommended over using a CSS selector for better type safety.\n- `null`: Disables automatic focus management. Use sparingly - disabling focus management may create accessibility issues\n\n**Priority order:**\n1. If `initialFocus` is a selector or ref, that element will be focused\n2. If any child element has the `autoFocus` attribute, that element will be focused\n3. If `initialFocus` is `\"auto\"` and no child element has the `autoFocus` attribute, the first focusable element will be focused\n4. If `initialFocus` is `null`, no automatic focus will occur",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "string | RefObject<HTMLElement>",
            "value": [
              {
                "value": "string"
              },
              {
                "value": "RefObject<HTMLElement>",
                "description": "",
                "fullComment": "",
                "tags": {}
              }
            ]
          },
          "tags": {
            "default": "\"auto\"",
            "example": "// Relying on `autoFocus` attribute\n<Modal>\n  <button autoFocus>Submit</button>\n</Modal>\n// Using a ref (recommended over selector)\nconst submitRef = useRef<HTMLButtonElement>(null);\n<Modal initialFocus={submitRef}>\n  <button ref={submitRef}>Submit</button>\n</Modal>\n// Using a selector\n<Modal initialFocus=\"#submit-button\">\n  <button id=\"submit-button\">Submit</button>\n</Modal>\n// Disabling automatic focus\n<Modal initialFocus={null}>\n  <CustomEditor />\n</Modal>"
          }
        },
        "backdropClassName": {
          "name": "backdropClassName",
          "defaultValue": null,
          "description": "",
          "required": false,
          "type": {
            "name": "string"
          },
          "tags": {
            "deprecated": "Use CSS `::backdrop` pseudo-element instead. This prop will be removed in a future version.\n\nThis prop exists only to ease migration from the previous Modal implementation to Modal v20.\nThe preferred approach is to use the native CSS `::backdrop` pseudo-element for backdrop styling.\n\n**Preferred approach:**\n```css\n.my-modal::backdrop {\n// custom backdrop styles\n}\n```"
          }
        }
      },
      "HTMLAttributes": "https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes",
      "DialogHTMLAttributes": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog",
      "AriaAttributes": "https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes",
      "DOMAttributes": "https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes",
      "DarkModeProps": {
        "darkMode": {
          "name": "darkMode",
          "defaultValue": {
            "value": "false"
          },
          "description": "Renders the component with dark mode styles.",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "boolean",
            "value": [
              {
                "value": "false"
              },
              {
                "value": "true"
              }
            ]
          },
          "tags": {
            "default": "false"
          }
        }
      },
      "LgIdProps": {
        "data-lgid": {
          "name": "data-lgid",
          "defaultValue": null,
          "description": "LG test id passed to the component wrapper.",
          "required": false,
          "type": {
            "name": "`lg-${string}`"
          },
          "tags": {}
        },
        "data-testid": {
          "name": "data-testid",
          "defaultValue": null,
          "description": "An additional test id passed to the component wrapper, meant for use by consumers of the library.",
          "required": false,
          "type": {
            "name": "string"
          },
          "tags": {}
        }
      },
      "CloseIconColorProp": {
        "closeIconColor": {
          "name": "closeIconColor",
          "defaultValue": {
            "value": "'default'"
          },
          "description": "Determines the color of the close icon.",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "CloseIconColor",
            "value": [
              {
                "value": "\"default\""
              },
              {
                "value": "\"dark\""
              },
              {
                "value": "\"light\""
              }
            ]
          },
          "tags": {
            "default": "'default'"
          }
        }
      }
    }
  },
  {
    "tags": {},
    "description": "Modals can be used to display a simple task, confirm actions, prompt users to input information, or display additional information.",
    "methods": [],
    "displayName": "LeafygreenUiConfirmationModal",
    "props": {
      "ConfirmationModalProps": {
        "title": {
          "name": "title",
          "defaultValue": null,
          "description": "Text of header element",
          "required": true,
          "type": {
            "name": "string"
          },
          "tags": {}
        },
        "open": {
          "name": "open",
          "defaultValue": null,
          "description": "The component is shown when the value is set to `true`.",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "boolean",
            "value": [
              {
                "value": "false"
              },
              {
                "value": "true"
              }
            ]
          },
          "tags": {}
        },
        "onConfirm": {
          "name": "onConfirm",
          "defaultValue": null,
          "description": "Callback fired when the primary action button is clicked.",
          "required": false,
          "type": {
            "name": "() => void"
          },
          "tags": {
            "deprecated": "Use `confirmButtonProps`."
          }
        },
        "onCancel": {
          "name": "onCancel",
          "defaultValue": null,
          "description": "Callback fired when the cancel button is clicked.",
          "required": false,
          "type": {
            "name": "() => void"
          },
          "tags": {
            "deprecated": "Use `cancelButtonProps`."
          }
        },
        "buttonText": {
          "name": "buttonText",
          "defaultValue": null,
          "description": "Text rendered in the primary button. Defaults to `\"Confirm\"`",
          "required": false,
          "type": {
            "name": "string"
          },
          "tags": {
            "deprecated": "Use `confirmButtonProps`."
          }
        },
        "variant": {
          "name": "variant",
          "defaultValue": {
            "value": "primary"
          },
          "description": "Variant of the modal that represents the type of action handled by the modal.",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "Variant",
            "value": [
              {
                "value": "\"primary\""
              },
              {
                "value": "\"danger\""
              }
            ]
          },
          "tags": {}
        },
        "requiredInputText": {
          "name": "requiredInputText",
          "defaultValue": null,
          "description": "If set, the user will be prompted to type the requiredInputText into an input field",
          "required": false,
          "type": {
            "name": "string"
          },
          "tags": {}
        },
        "submitDisabled": {
          "name": "submitDisabled",
          "defaultValue": null,
          "description": "If `true`, the primary action button will be disabled",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "boolean",
            "value": [
              {
                "value": "false"
              },
              {
                "value": "true"
              }
            ]
          },
          "tags": {
            "deprecated": "Use `confirmButtonProps`."
          }
        },
        "confirmButtonProps": {
          "name": "confirmButtonProps",
          "defaultValue": {
            "value": "{}"
          },
          "description": "An object that accepts all Button props except for the `variant` prop. The variant is controlled by the `variant` prop.",
          "required": false,
          "type": {
            "name": "CustomConfirmButtonProps"
          },
          "tags": {}
        },
        "cancelButtonProps": {
          "name": "cancelButtonProps",
          "defaultValue": {
            "value": "{}"
          },
          "description": "An object that accepts all Button props except for the `children` prop. The text will always render `cancel` and the `onClick` property will also fire when the `X` button, or backdrop is clicked.",
          "required": false,
          "type": {
            "name": "CustomCancelButtonProps"
          },
          "tags": {}
        }
      },
      "ModalProps": {
        "children": {
          "name": "children",
          "defaultValue": null,
          "description": "Content that will appear inside of the Modal component.",
          "required": true,
          "type": {
            "name": "enum",
            "raw": "ReactNode",
            "value": [
              {
                "value": "string"
              },
              {
                "value": "number"
              },
              {
                "value": "false"
              },
              {
                "value": "true"
              },
              {
                "value": "ReactElement<any, string | JSXElementConstructor<any>>",
                "description": "",
                "fullComment": "",
                "tags": {}
              },
              {
                "value": "Iterable<ReactNode>",
                "description": "",
                "fullComment": "",
                "tags": {}
              },
              {
                "value": "ReactPortal",
                "description": "",
                "fullComment": "",
                "tags": {}
              }
            ]
          },
          "tags": {}
        },
        "setOpen": {
          "name": "setOpen",
          "defaultValue": {
            "value": "() => {}"
          },
          "description": "Callback to change the open state of the Modal.",
          "required": false,
          "type": {
            "name": "(open: boolean) => void | Dispatch<SetStateAction<boolean>>"
          },
          "tags": {
            "default": "() => {}"
          }
        },
        "shouldClose": {
          "name": "shouldClose",
          "defaultValue": {
            "value": "() => true"
          },
          "description": "Callback to determine whether or not Modal should close when user tries to close it.",
          "required": false,
          "type": {
            "name": "() => boolean"
          },
          "tags": {
            "default": "() => true"
          }
        },
        "initialFocus": {
          "name": "initialFocus",
          "defaultValue": {
            "value": "\"auto\""
          },
          "description": "Specifies which element should receive focus when the modal opens.\n\n**Options:**\n- `\"auto\"`: Automatically focuses the first focusable element in the modal\n- `string`: CSS selector passed to `querySelector()` to specify an element\n- `React.RefObject<HTMLElement>`: Reference to the element that should receive focus. This is recommended over using a CSS selector for better type safety.\n- `null`: Disables automatic focus management. Use sparingly - disabling focus management may create accessibility issues\n\n**Priority order:**\n1. If `initialFocus` is a selector or ref, that element will be focused\n2. If any child element has the `autoFocus` attribute, that element will be focused\n3. If `initialFocus` is `\"auto\"` and no child element has the `autoFocus` attribute, the first focusable element will be focused\n4. If `initialFocus` is `null`, no automatic focus will occur",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "string | RefObject<HTMLElement>",
            "value": [
              {
                "value": "string"
              },
              {
                "value": "RefObject<HTMLElement>",
                "description": "",
                "fullComment": "",
                "tags": {}
              }
            ]
          },
          "tags": {
            "default": "\"auto\"",
            "example": "// Relying on `autoFocus` attribute\n<Modal>\n  <button autoFocus>Submit</button>\n</Modal>\n// Using a ref (recommended over selector)\nconst submitRef = useRef<HTMLButtonElement>(null);\n<Modal initialFocus={submitRef}>\n  <button ref={submitRef}>Submit</button>\n</Modal>\n// Using a selector\n<Modal initialFocus=\"#submit-button\">\n  <button id=\"submit-button\">Submit</button>\n</Modal>\n// Disabling automatic focus\n<Modal initialFocus={null}>\n  <CustomEditor />\n</Modal>"
          }
        },
        "backdropClassName": {
          "name": "backdropClassName",
          "defaultValue": null,
          "description": "",
          "required": false,
          "type": {
            "name": "string"
          },
          "tags": {
            "deprecated": "Use CSS `::backdrop` pseudo-element instead. This prop will be removed in a future version.\n\nThis prop exists only to ease migration from the previous Modal implementation to Modal v20.\nThe preferred approach is to use the native CSS `::backdrop` pseudo-element for backdrop styling.\n\n**Preferred approach:**\n```css\n.my-modal::backdrop {\n// custom backdrop styles\n}\n```"
          }
        }
      },
      "HTMLAttributes": "https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes",
      "DialogHTMLAttributes": "https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog",
      "AriaAttributes": "https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes",
      "DOMAttributes": "https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes",
      "DarkModeProps": {
        "darkMode": {
          "name": "darkMode",
          "defaultValue": {
            "value": "false"
          },
          "description": "Renders the component with dark mode styles.",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "boolean",
            "value": [
              {
                "value": "false"
              },
              {
                "value": "true"
              }
            ]
          },
          "tags": {
            "default": "false"
          }
        }
      },
      "LgIdProps": {
        "data-lgid": {
          "name": "data-lgid",
          "defaultValue": null,
          "description": "LG test id passed to the component wrapper.",
          "required": false,
          "type": {
            "name": "`lg-${string}`"
          },
          "tags": {}
        },
        "data-testid": {
          "name": "data-testid",
          "defaultValue": null,
          "description": "An additional test id passed to the component wrapper, meant for use by consumers of the library.",
          "required": false,
          "type": {
            "name": "string"
          },
          "tags": {}
        }
      },
      "CloseIconColorProp": {
        "closeIconColor": {
          "name": "closeIconColor",
          "defaultValue": {
            "value": "'default'"
          },
          "description": "Determines the color of the close icon.",
          "required": false,
          "type": {
            "name": "enum",
            "raw": "CloseIconColor",
            "value": [
              {
                "value": "\"default\""
              },
              {
                "value": "\"dark\""
              },
              {
                "value": "\"light\""
              }
            ]
          },
          "tags": {
            "default": "'default'"
          }
        }
      }
    }
  },
  {
    "tags": {},
    "description": "",
    "methods": [],
    "displayName": "getLgIds",
    "props": {
      "String": "",
      "RelativeIndexable": {
        "at": {
          "name": "at",
          "defaultValue": null,
          "description": "",
          "required": true,
          "type": {
            "name": "(index: number) => string"
          },
          "tags": {}
        }
      }
    }
  }
]