{
  "schemaVersion": "1.0.0",
  "readme": "README.md",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "lib/jb-notification.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Animated notification and toast web component with typed visual states, swipe-to-dismiss behavior, and close events for wrapper cleanup.",
          "name": "JBNotificationWebComponent",
          "tagName": "jb-notification",
          "customElement": true,
          "superclass": {
            "name": "HTMLElement"
          },
          "attributes": [
            {
              "name": "title",
              "description": "Main notification title.",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "description",
              "description": "Optional detail text below the title.",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "type",
              "description": "Notification visual type. Accepted values are INFO, SUCCESS, WARNING, and ERROR.",
              "type": {
                "text": "'INFO' | 'SUCCESS' | 'WARNING' | 'ERROR'"
              },
              "default": "INFO"
            }
          ],
          "members": [
            {
              "kind": "field",
              "name": "title",
              "description": "Main notification title.",
              "type": {
                "text": "string"
              }
            },
            {
              "kind": "field",
              "name": "description",
              "description": "Optional detail text below the title.",
              "type": {
                "text": "string | null"
              }
            },
            {
              "kind": "field",
              "name": "type",
              "description": "Notification visual type.",
              "type": {
                "text": "NotificationType"
              }
            },
            {
              "kind": "field",
              "name": "state",
              "description": "Current notification state.",
              "type": {
                "text": "'OPEN' | 'CLOSE'"
              },
              "readonly": true
            }
          ],
          "methods": [
            {
              "name": "show",
              "description": "Shows the notification, starts the show animation, and schedules hide after the internal duration."
            },
            {
              "name": "hide",
              "description": "Starts the hide animation and dispatches close after the animation completes."
            },
            {
              "name": "onClose",
              "description": "Sets state to CLOSE, clears the timer, and dispatches close."
            }
          ],
          "events": [
            {
              "name": "close",
              "description": "Dispatched when the notification finishes closing or is dismissed by swipe."
            }
          ],
          "cssParts": [
            {
              "name": "component",
              "description": "Outer notification wrapper."
            },
            {
              "name": "content",
              "description": "Notification content box."
            },
            {
              "name": "icon",
              "description": "Icon container."
            },
            {
              "name": "icon-svg",
              "description": "Notification SVG icon."
            },
            {
              "name": "texts",
              "description": "Title and description wrapper."
            },
            {
              "name": "title",
              "description": "Title text element."
            },
            {
              "name": "description",
              "description": "Description text element."
            }
          ],
          "cssStates": [
            {
              "name": "success",
              "description": "Applied when type is SUCCESS."
            },
            {
              "name": "info",
              "description": "Applied when type is INFO."
            },
            {
              "name": "warning",
              "description": "Applied when type is WARNING."
            },
            {
              "name": "error",
              "description": "Applied when type is ERROR."
            },
            {
              "name": "open",
              "description": "Applied while the notification is visible."
            },
            {
              "name": "closed",
              "description": "Applied while the notification is closed."
            }
          ],
          "cssProperties": [
            {
              "name": "--jb-notification-width",
              "description": "Host and content width."
            },
            {
              "name": "--jb-notification-max-width",
              "description": "Host and content maximum width."
            },
            {
              "name": "--jb-notification-border-radius",
              "description": "Notification content border radius."
            },
            {
              "name": "--jb-notification-padding",
              "description": "Notification content padding."
            },
            {
              "name": "--jb-notification-gap",
              "description": "Gap between notification content items."
            },
            {
              "name": "--jb-notification-text-gap",
              "description": "Gap between title and description."
            },
            {
              "name": "--jb-notification-icon-size",
              "description": "Icon container width and height."
            },
            {
              "name": "--jb-notification-title-font-size",
              "description": "Title font size."
            },
            {
              "name": "--jb-notification-title-font-weight",
              "description": "Title font weight."
            },
            {
              "name": "--jb-notification-desc-font-size",
              "description": "Description font size."
            },
            {
              "name": "--jb-notification-desc-font-weight",
              "description": "Description font weight."
            },
            {
              "name": "--jb-notification-bg-color-error",
              "description": "Error notification background color."
            },
            {
              "name": "--jb-notification-bg-color-info",
              "description": "Info notification background color."
            },
            {
              "name": "--jb-notification-bg-color-success",
              "description": "Success notification background color."
            },
            {
              "name": "--jb-notification-bg-color-warning",
              "description": "Warning notification background color."
            },
            {
              "name": "--jb-notification-text-color-error",
              "description": "Error notification text color."
            },
            {
              "name": "--jb-notification-text-color-info",
              "description": "Info notification text color."
            },
            {
              "name": "--jb-notification-text-color-success",
              "description": "Success notification text color."
            },
            {
              "name": "--jb-notification-text-color-warning",
              "description": "Warning notification text color."
            },
            {
              "name": "--jb-notification-icon-bg-color",
              "description": "Icon badge background color."
            },
            {
              "name": "--jb-notification-icon-symbol-color-success",
              "description": "Success icon symbol color."
            },
            {
              "name": "--jb-notification-icon-symbol-color-info",
              "description": "Info icon symbol color."
            },
            {
              "name": "--jb-notification-icon-symbol-color-warning",
              "description": "Warning icon symbol color."
            },
            {
              "name": "--jb-notification-icon-symbol-color-error",
              "description": "Error icon symbol color."
            },
            {
              "name": "--jb-notification-border-color",
              "description": "Notification content border color."
            },
            {
              "name": "--jb-notification-box-shadow",
              "description": "Notification content shadow."
            },
            {
              "name": "--jb-notification-border-width",
              "description": "Notification content border width."
            },
            {
              "name": "--jb-notification-border-style",
              "description": "Notification content border style."
            },
            {
              "name": "--jb-notification-grid-template-columns",
              "description": "Notification content grid columns."
            },
            {
              "name": "--jb-notification-content-align-items",
              "description": "Notification content grid alignment."
            }
          ]
        },
        {
          "kind": "variable",
          "name": "notificationTypes",
          "description": "Allowed notification type values.",
          "type": {
            "text": "NotificationType[]"
          }
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "JBNotificationWebComponent",
          "declaration": {
            "name": "JBNotificationWebComponent",
            "module": "lib/jb-notification.ts"
          }
        },
        {
          "kind": "js",
          "name": "notificationTypes",
          "declaration": {
            "name": "notificationTypes",
            "module": "lib/jb-notification.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "jb-notification",
          "declaration": {
            "name": "JBNotificationWebComponent",
            "module": "lib/jb-notification.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "wrapper/lib/jb-notification-wrapper.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "Full-screen notification wrapper that stacks slotted jb-notification elements.",
          "name": "JBNotificationWrapperWebComponent",
          "tagName": "jb-notification-wrapper",
          "customElement": true,
          "superclass": {
            "name": "HTMLElement"
          },
          "attributes": [
            {
              "name": "x-position",
              "description": "Reserved observed attribute. The current implementation does not apply positioning behavior from this attribute.",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "y-position",
              "description": "Reserved observed attribute. The current implementation does not apply positioning behavior from this attribute.",
              "type": {
                "text": "string"
              }
            }
          ],
          "slots": [
            {
              "name": "",
              "description": "Notification elements rendered inside the wrapper."
            }
          ],
          "cssProperties": [
            {
              "name": "--jb-notification-wrapper-align-items",
              "description": "Wrapper flex alignment."
            },
            {
              "name": "--jb-notification-wrapper-display",
              "description": "Wrapper display value."
            },
            {
              "name": "--jb-notification-wrapper-flex-direction",
              "description": "Wrapper flex direction."
            },
            {
              "name": "--jb-notification-wrapper-gap",
              "description": "Gap between notifications."
            },
            {
              "name": "--jb-notification-wrapper-height",
              "description": "Wrapper height."
            },
            {
              "name": "--jb-notification-wrapper-left",
              "description": "Wrapper left offset."
            },
            {
              "name": "--jb-notification-wrapper-overflow",
              "description": "Wrapper overflow value."
            },
            {
              "name": "--jb-notification-wrapper-position",
              "description": "Wrapper CSS position value."
            },
            {
              "name": "--jb-notification-wrapper-padding-top",
              "description": "Wrapper top padding."
            },
            {
              "name": "--jb-notification-wrapper-pointer-events",
              "description": "Wrapper pointer events value."
            },
            {
              "name": "--jb-notification-wrapper-top",
              "description": "Wrapper top offset."
            },
            {
              "name": "--jb-notification-wrapper-width",
              "description": "Wrapper width."
            },
            {
              "name": "--jb-notification-wrapper-z-index",
              "description": "Wrapper z-index."
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "JBNotificationWrapperWebComponent",
          "declaration": {
            "name": "JBNotificationWrapperWebComponent",
            "module": "wrapper/lib/jb-notification-wrapper.ts"
          }
        },
        {
          "kind": "custom-element-definition",
          "name": "jb-notification-wrapper",
          "declaration": {
            "name": "JBNotificationWrapperWebComponent",
            "module": "wrapper/lib/jb-notification-wrapper.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "manager/lib/jb-notification-manager.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "JavaScript helper that creates a notification wrapper, appends notifications, shows them, and removes them after close.",
          "name": "NotificationManager",
          "members": [
            {
              "kind": "field",
              "name": "wrapperDom",
              "description": "The wrapper element created and appended to document.body.",
              "type": {
                "text": "JBNotificationWrapperWebComponent"
              },
              "readonly": true
            }
          ],
          "methods": [
            {
              "name": "new",
              "description": "Creates and shows a notification.",
              "parameters": [
                {
                  "name": "params",
                  "type": {
                    "text": "NewNotificationProps"
                  }
                }
              ]
            },
            {
              "name": "onNotificationClose",
              "description": "Removes the closed notification from the wrapper.",
              "parameters": [
                {
                  "name": "e",
                  "type": {
                    "text": "Event"
                  }
                }
              ]
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "NotificationManager",
          "declaration": {
            "name": "NotificationManager",
            "module": "manager/lib/jb-notification-manager.ts"
          }
        }
      ]
    }
  ]
}
