{
  "definitions": {
    "events": {
      "$ref": "#/definitions/Events",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "definitions": {
        "Events": {
          "additionalProperties": false,
          "properties": {
            "modalConfirm": {
              "additionalProperties": false,
              "properties": {
                "confirm": {
                  "type": "boolean"
                },
                "id": {
                  "type": "string"
                }
              },
              "required": [
                "id",
                "confirm"
              ],
              "type": "object"
            },
            "modalShow": {
              "additionalProperties": false,
              "properties": {
                "id": {
                  "type": "string"
                },
                "show": {
                  "type": "boolean"
                }
              },
              "required": [
                "id",
                "show"
              ],
              "type": "object"
            }
          },
          "required": [
            "modalConfirm",
            "modalShow"
          ],
          "type": "object"
        }
      }
    },
    "component": {
      "$ref": "#/definitions/Component",
      "$schema": "http://json-schema.org/draft-07/schema#",
      "definitions": {
        "Component": {
          "additionalProperties": false,
          "properties": {
            "backdrop": {
              "type": "boolean"
            },
            "close_btn_class": {
              "type": "string"
            },
            "closelabel": {
              "type": "string"
            },
            "confirm_btn_class": {
              "type": "string"
            },
            "confirmlabel": {
              "type": "string"
            },
            "content": {
              "type": "string"
            },
            "describedby": {
              "type": "string"
            },
            "disable_confirm": {
              "type": "boolean"
            },
            "hide_close": {
              "type": "boolean"
            },
            "hide_confirm": {
              "type": "boolean"
            },
            "id": {
              "type": "string"
            },
            "keyboard": {
              "type": "boolean"
            },
            "labelledby": {
              "type": "string"
            },
            "show": {
              "enum": [
                "yes",
                "no"
              ],
              "type": "string"
            },
            "style": {
              "type": "string"
            },
            "title": {
              "type": "string"
            }
          },
          "type": "object"
        }
      }
    }
  },
  "description": "Bulma modal (`modal` + `modal-card`) controlled by string `show` (`yes`/`no`): fade/fly transitions, optional backdrop click to close, Escape when `keyboard` is enabled, and `document.body` scroll lock while open. Slots replace title, body, footer, and button labels; default footer emits `modalConfirm` with `{ id, confirm }` and toggles visibility. Also emits `modalShow` when opened or closed.",
  "storybookArgs": {
    "disable_confirm": {
      "control": {
        "type": "boolean"
      }
    },
    "show": {
      "control": {
        "type": "boolean"
      }
    },
    "confirm_btn_class": {
      "control": {
        "type": "text"
      }
    },
    "close_btn_class": {
      "control": {
        "type": "text"
      }
    },
    "title": {
      "control": {
        "type": "text"
      }
    },
    "backdrop": {
      "control": {
        "type": "boolean"
      }
    },
    "keyboard": {
      "control": {
        "type": "boolean"
      }
    },
    "hide_close": {
      "control": {
        "type": "boolean"
      }
    },
    "hide_confirm": {
      "control": {
        "type": "boolean"
      }
    },
    "describedby": {
      "control": {
        "type": "text"
      }
    },
    "labelledby": {
      "control": {
        "type": "text"
      }
    },
    "content": {
      "control": {
        "type": "text"
      }
    },
    "closelabel": {
      "control": {
        "type": "text"
      }
    },
    "confirmlabel": {
      "control": {
        "type": "text"
      }
    },
    "modalShow": {
      "action": "modalShow"
    },
    "modalConfirm": {
      "action": "modalConfirm"
    }
  },
  "styleSetup": {
    "vars": [
      {
        "name": "--hb-modal-max-width",
        "valueType": "number",
        "defaultValue": "40rem",
        "description": "Maximum width of the modal card (Bulma `.modal-card`)."
      },
      {
        "name": "--bulma-modal-card-head-padding",
        "valueType": "text",
        "defaultValue": "1rem 1.25rem",
        "description": "Padding for the modal header (`.modal-card-head`)."
      },
      {
        "name": "--bulma-modal-card-body-padding",
        "valueType": "text",
        "defaultValue": "1rem 1.25rem",
        "description": "Padding for the modal body (`.modal-card-body`)."
      },
      {
        "name": "--bulma-modal-card-title-size",
        "valueType": "text",
        "defaultValue": "var(--bulma-size-5)",
        "description": "Font size for the default title slot."
      },
      {
        "name": "--bulma-modal-card-title-line-height",
        "valueType": "text",
        "defaultValue": "1.25",
        "description": "Line height for the modal title."
      },
      {
        "name": "--bulma-modal-card-spacing",
        "valueType": "text",
        "defaultValue": "1.5rem",
        "description": "Spacing token between modal card regions."
      }
    ],
    "parts": [
      {
        "name": "modal-dialog",
        "description": "The `.modal-card` root (header, body, footer); use for sizing, borders, or shadows on the dialog surface."
      }
    ]
  },
  "contributors": [],
  "htmlSlots": [
    {
      "name": "header",
      "description": "Replaces the entire modal head (title row + optional delete). Default includes `title` slot and close control."
    },
    {
      "name": "title",
      "description": "Heading text inside the default header when `header` slot is not overridden."
    },
    {
      "name": "body-content",
      "description": "Main modal body; default falls back to the `content` prop string."
    },
    {
      "name": "modal-footer",
      "description": "Wraps the footer region; default wraps the `footer` slot with action buttons."
    },
    {
      "name": "footer",
      "description": "Default footer content: close and confirm buttons (when not hidden by props)."
    },
    {
      "name": "close-button-label",
      "description": "Label inside the default close button (defaults to `closelabel` / “Close”)."
    },
    {
      "name": "confirm-button-label",
      "description": "Label inside the default confirm button (defaults to `confirmlabel` / “Save changes”)."
    }
  ],
  "i18n": [],
  "examples": [
    {
      "name": "default",
      "description": "Modal visible with default footer actions.",
      "data": {
        "show": "yes"
      }
    },
    {
      "name": "hidden",
      "description": "Closed dialog; toggle `show` to open programmatically.",
      "data": {
        "show": "no",
        "title": "Not visible yet"
      }
    },
    {
      "name": "titledWithLabels",
      "description": "Custom title and button copy.",
      "data": {
        "show": "yes",
        "title": "Confirm action",
        "content": "This cannot be undone.",
        "confirmlabel": "Delete",
        "closelabel": "Keep"
      }
    },
    {
      "name": "strictFocus",
      "description": "Backdrop click does not dismiss; Escape disabled.",
      "data": {
        "show": "yes",
        "title": "Important",
        "backdrop": false,
        "keyboard": false,
        "hide_close": true
      }
    }
  ],
  "iifeIntegrity": "sha384-TYFAKOAV3u300UvBWV+Y8cgdJe4w9TgCP597HclKOsiu7gnFIttjcx02FjNED/1J",
  "dependencies": [],
  "screenshots": [],
  "licenses": [
    {
      "type": "Apache-2.0",
      "path": "LICENSE.md",
      "cost": 0,
      "currency": "EUR"
    }
  ],
  "readmePath": "README.md",
  "name": "hb-dialog",
  "category": "overlays",
  "tags": [
    "overlays",
    "modal"
  ],
  "size": {},
  "iifePath": "main.iife.js",
  "repoName": "@htmlbricks/hb-dialog",
  "version": "0.76.5"
}