{
  "schemaVersion": "1.0.0",
  "readme": "",
  "modules": [
    {
      "kind": "javascript-module",
      "path": "src/JsonViewer.styles.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "js",
          "name": "default",
          "declaration": {
            "module": "src/JsonViewer.styles.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/JsonViewer.ts",
      "declarations": [
        {
          "kind": "class",
          "description": "",
          "name": "JsonViewer",
          "cssProperties": [
            {
              "description": "The component background color.",
              "name": "--background-color"
            },
            {
              "description": "The text color.",
              "name": "--color"
            },
            {
              "description": "The font family.",
              "name": "--font-family"
            },
            {
              "description": "The font size.",
              "name": "--font-size"
            },
            {
              "description": "The line height.",
              "name": "--line-height"
            },
            {
              "description": "The size of the indentation of nested properties.",
              "name": "--indent-size"
            },
            {
              "description": "The width of the indentation line.",
              "name": "--indentguide-size"
            },
            {
              "description": "The style of the indentation line.",
              "name": "--indentguide-style"
            },
            {
              "description": "The color of the indentation line.",
              "name": "--indentguide-color"
            },
            {
              "description": "The color of the indentation line when is active.",
              "name": "--indentguide-color-active"
            },
            {
              "name": "--indentguide"
            },
            {
              "name": "--indentguide-active"
            },
            {
              "description": "The color of a string type value",
              "name": "--string-color"
            },
            {
              "description": "The color of a number type value",
              "name": "--number-color"
            },
            {
              "description": "The color of a boolean type value",
              "name": "--boolean-color"
            },
            {
              "description": "The color of a null type value",
              "name": "--null-color"
            },
            {
              "description": "The color of the property key.",
              "name": "--property-color"
            },
            {
              "description": "The color of the collapsed property preview.",
              "name": "--preview-color"
            },
            {
              "description": "The color of the highlighted value.",
              "name": "--highlight-color"
            }
          ],
          "cssParts": [
            {
              "description": "The object wrapper element.",
              "name": "object"
            },
            {
              "description": "The wrapper element of a property.",
              "name": "property"
            },
            {
              "description": "The key element of a property.",
              "name": "key"
            },
            {
              "description": "The primitive value.",
              "name": "primitive"
            },
            {
              "description": "Applied when the primitive is a string.",
              "name": "primitive--string"
            },
            {
              "description": "Applied when the primitive is a number.",
              "name": "primitive--number"
            },
            {
              "description": "Applied when the primitive is a boolean.",
              "name": "primitive--boolean"
            },
            {
              "description": "Applied when the primitive is a null.",
              "name": "primitive--null"
            },
            {
              "description": "The value preview of a property.",
              "name": "preview"
            },
            {
              "description": "The highlighted value.",
              "name": "highlight"
            }
          ],
          "members": [
            {
              "kind": "method",
              "name": "customRenderer",
              "static": true,
              "return": {
                "type": {
                  "text": "TemplateResult | Node | string"
                }
              },
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "Primitive"
                  }
                },
                {
                  "name": "_path",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "data",
              "type": {
                "text": "JSONValue | undefined"
              },
              "attribute": "data"
            },
            {
              "kind": "field",
              "name": "state",
              "type": {
                "text": "JsonViewerState"
              },
              "privacy": "private",
              "default": "{ expanded: {}, filtered: {}, highlight: null }"
            },
            {
              "kind": "field",
              "name": "lastFocusedItem",
              "type": {
                "text": "HTMLElement | null"
              },
              "privacy": "private",
              "default": "null"
            },
            {
              "kind": "field",
              "name": "nodeElements",
              "type": {
                "text": "HTMLElement[]"
              },
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "setState",
              "privacy": "private",
              "parameters": [
                {
                  "name": "stateFn",
                  "type": {
                    "text": "(state: JsonViewerState, element: JsonViewer) => Partial<JsonViewerState>"
                  }
                }
              ]
            },
            {
              "kind": "field",
              "name": "#handlePropertyClick",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#handleFocusIn",
              "privacy": "private"
            },
            {
              "kind": "field",
              "name": "#handleFocusOut",
              "privacy": "private"
            },
            {
              "kind": "method",
              "name": "#handleKeyDown",
              "privacy": "private",
              "parameters": [
                {
                  "name": "event",
                  "type": {
                    "text": "KeyboardEvent"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "#focusItem",
              "privacy": "private",
              "parameters": [
                {
                  "name": "item",
                  "type": {
                    "text": "HTMLElement"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "expand",
              "parameters": [
                {
                  "name": "glob",
                  "type": {
                    "text": "string | RegExp"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "expandAll"
            },
            {
              "kind": "method",
              "name": "collapseAll"
            },
            {
              "kind": "method",
              "name": "collapse",
              "parameters": [
                {
                  "name": "glob",
                  "type": {
                    "text": "string | RegExp"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "search",
              "parameters": [
                {
                  "name": "criteria",
                  "type": {
                    "text": "string | RegExp"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "filter",
              "parameters": [
                {
                  "name": "criteria",
                  "type": {
                    "text": "string | RegExp"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "resetFilter"
            },
            {
              "kind": "method",
              "name": "renderObject",
              "return": {
                "type": {
                  "text": "TemplateResult"
                }
              },
              "parameters": [
                {
                  "name": "node",
                  "type": {
                    "text": "JSONObject | JSONArray"
                  }
                },
                {
                  "name": "path",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderValue",
              "parameters": [
                {
                  "name": "value",
                  "type": {
                    "text": "JSONValue"
                  }
                },
                {
                  "name": "path",
                  "default": "''"
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderNodePreview",
              "parameters": [
                {
                  "name": "node",
                  "type": {
                    "text": "JSONValue"
                  }
                }
              ]
            },
            {
              "kind": "method",
              "name": "renderPrimitive",
              "parameters": [
                {
                  "name": "node",
                  "type": {
                    "text": "Primitive"
                  }
                },
                {
                  "name": "path",
                  "type": {
                    "text": "string"
                  }
                }
              ]
            }
          ],
          "attributes": [
            {
              "name": "data",
              "type": {
                "text": "JSONValue | undefined"
              },
              "fieldName": "data"
            }
          ],
          "superclass": {
            "name": "LitElement",
            "package": "lit"
          },
          "tagName": "json-viewer",
          "customElement": true
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "JsonViewer",
          "declaration": {
            "name": "JsonViewer",
            "module": "src/JsonViewer.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/index.ts",
      "declarations": [],
      "exports": [
        {
          "kind": "custom-element-definition",
          "name": "json-viewer",
          "declaration": {
            "name": "JsonViewer",
            "module": "/src/JsonViewer"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/stateChange.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "toggleNode",
          "parameters": [
            {
              "name": "path",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "expanded",
              "optional": true,
              "type": {
                "text": "boolean"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "expand",
          "parameters": [
            {
              "name": "regexOrGlob",
              "type": {
                "text": "string | RegExp"
              }
            },
            {
              "name": "isExpanded",
              "type": {
                "text": "boolean"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "filter",
          "parameters": [
            {
              "name": "regexOrGlob",
              "type": {
                "text": "string | RegExp"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "resetFilter"
        },
        {
          "kind": "function",
          "name": "highlight",
          "parameters": [
            {
              "name": "path",
              "type": {
                "text": "string | null"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "toggleNode",
          "declaration": {
            "name": "toggleNode",
            "module": "src/stateChange.ts"
          }
        },
        {
          "kind": "js",
          "name": "expand",
          "declaration": {
            "name": "expand",
            "module": "src/stateChange.ts"
          }
        },
        {
          "kind": "js",
          "name": "filter",
          "declaration": {
            "name": "filter",
            "module": "src/stateChange.ts"
          }
        },
        {
          "kind": "js",
          "name": "resetFilter",
          "declaration": {
            "name": "resetFilter",
            "module": "src/stateChange.ts"
          }
        },
        {
          "kind": "js",
          "name": "highlight",
          "declaration": {
            "name": "highlight",
            "module": "src/stateChange.ts"
          }
        }
      ]
    },
    {
      "kind": "javascript-module",
      "path": "src/types.ts",
      "declarations": [],
      "exports": []
    },
    {
      "kind": "javascript-module",
      "path": "src/utils.ts",
      "declarations": [
        {
          "kind": "function",
          "name": "isRegex",
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "getType",
          "return": {
            "type": {
              "text": "SupportedTypes"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "isPrimitive",
          "return": {
            "type": {
              "text": "value is Primitive"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "isNode",
          "return": {
            "type": {
              "text": "value is Node"
            }
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "isPrimitiveOrNode",
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "generateNodePreview",
          "return": {
            "type": {
              "text": "string"
            }
          },
          "parameters": [
            {
              "name": "node",
              "type": {
                "text": "any"
              }
            },
            {
              "name": "{ nodeCount = 3, maxLength = 15 }",
              "default": "{}",
              "type": {
                "text": "{ nodeCount?: number; maxLength?: number }"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "deepTraverse",
          "return": {
            "type": {
              "text": "Generator<[any, string, string[]]>"
            }
          },
          "parameters": [
            {
              "name": "obj",
              "type": {
                "text": "any"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "checkGlob",
          "return": {
            "type": {
              "text": "boolean"
            }
          },
          "parameters": [
            {
              "name": "str",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "glob",
              "type": {
                "text": "string"
              }
            }
          ],
          "description": "Matches a string using a glob-like syntax"
        },
        {
          "kind": "variable",
          "name": "JSONConverter",
          "type": {
            "text": "ComplexAttributeConverter"
          },
          "default": "{ fromAttribute: (value: string): JSONValue => { return value && value.trim() ? JSON.parse(value) : undefined; }, toAttribute: (value: JSONValue): string => { return JSON.stringify(value); } }"
        },
        {
          "kind": "function",
          "name": "isDefined",
          "parameters": [
            {
              "name": "value",
              "type": {
                "text": "unknown"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "isMatchingPath",
          "parameters": [
            {
              "name": "path",
              "type": {
                "text": "string"
              }
            },
            {
              "name": "criteria",
              "type": {
                "text": "string | RegExp"
              }
            }
          ]
        },
        {
          "kind": "function",
          "name": "getValueByPath",
          "parameters": [
            {
              "name": "json",
              "type": {
                "text": "JSONValue"
              }
            },
            {
              "name": "path",
              "type": {
                "text": "string"
              }
            }
          ]
        }
      ],
      "exports": [
        {
          "kind": "js",
          "name": "isRegex",
          "declaration": {
            "name": "isRegex",
            "module": "src/utils.ts"
          }
        },
        {
          "kind": "js",
          "name": "getType",
          "declaration": {
            "name": "getType",
            "module": "src/utils.ts"
          }
        },
        {
          "kind": "js",
          "name": "isPrimitive",
          "declaration": {
            "name": "isPrimitive",
            "module": "src/utils.ts"
          }
        },
        {
          "kind": "js",
          "name": "isNode",
          "declaration": {
            "name": "isNode",
            "module": "src/utils.ts"
          }
        },
        {
          "kind": "js",
          "name": "isPrimitiveOrNode",
          "declaration": {
            "name": "isPrimitiveOrNode",
            "module": "src/utils.ts"
          }
        },
        {
          "kind": "js",
          "name": "generateNodePreview",
          "declaration": {
            "name": "generateNodePreview",
            "module": "src/utils.ts"
          }
        },
        {
          "kind": "js",
          "name": "deepTraverse",
          "declaration": {
            "name": "deepTraverse",
            "module": "src/utils.ts"
          }
        },
        {
          "kind": "js",
          "name": "checkGlob",
          "declaration": {
            "name": "checkGlob",
            "module": "src/utils.ts"
          }
        },
        {
          "kind": "js",
          "name": "JSONConverter",
          "declaration": {
            "name": "JSONConverter",
            "module": "src/utils.ts"
          }
        },
        {
          "kind": "js",
          "name": "isDefined",
          "declaration": {
            "name": "isDefined",
            "module": "src/utils.ts"
          }
        },
        {
          "kind": "js",
          "name": "isMatchingPath",
          "declaration": {
            "name": "isMatchingPath",
            "module": "src/utils.ts"
          }
        },
        {
          "kind": "js",
          "name": "getValueByPath",
          "declaration": {
            "name": "getValueByPath",
            "module": "src/utils.ts"
          }
        }
      ]
    }
  ]
}
