{
  "bomFormat": "CycloneDX",
  "specVersion": "1.7",
  "serialNumber": "urn:uuid:b9d21169-15ff-468b-91a6-0f088c058808",
  "version": 1,
  "metadata": {
    "timestamp": "2026-08-04T07:05:24Z",
    "tools": {
      "components": [
        {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.8.2",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.8.2",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.8.2",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      ]
    },
    "authors": [
      {
        "name": "OWASP Foundation"
      }
    ],
    "lifecycles": [
      {
        "phase": "pre-build"
      }
    ],
    "component": {
      "name": "vue-virtual-scroller",
      "group": "",
      "version": "3.0.4",
      "description": "Smooth scrolling for any amount of data",
      "purl": "pkg:npm/vue-virtual-scroller@3.0.4",
      "bom-ref": "pkg:npm/vue-virtual-scroller@3.0.4",
      "author": "Guillaume Chau <guillaume.b.chau@gmail.com>",
      "properties": [
        {
          "name": "cdx:npm:scripts",
          "value": "build, dev, test, test:watch, test:package, typecheck, prepublishOnly, lint"
        },
        {
          "name": "cdx:npm:buildScripts",
          "value": "build, test:watch"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "type": "application",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/Akryum/vue-virtual-scroller#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/Akryum/vue-virtual-scroller.git"
        }
      ]
    },
    "properties": [
      {
        "name": "cdx:bom:componentTypes",
        "value": "npm"
      },
      {
        "name": "cdx:bom:componentNamespaces",
        "value": "@vitejs\\n@vue"
      },
      {
        "name": "cdx:bom:componentSrcFiles",
        "value": "node_modules/@vitejs/plugin-vue/package.json\\nnode_modules/@vue/test-utils/package.json\\nnode_modules/jsdom/package.json\\nnode_modules/typescript/package.json\\nnode_modules/vite-plugin-dts/package.json\\nnode_modules/vite/package.json\\nnode_modules/vitest/package.json\\nnode_modules/vue/package.json"
      }
    ]
  },
  "components": [
    {
      "authors": [
        {
          "name": "Evan You"
        }
      ],
      "group": "",
      "name": "vue",
      "version": "3.5.13",
      "description": "The progressive JavaScript framework for building modern web UI.",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/vue@3.5.13",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/vuejs/core/tree/main/packages/vue#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/vuejs/core.git"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/vue@3.5.13",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/vue/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "vue,defineComponent,vue/defineComponent,vue/ref,toRef,vue/toRef,computed,vue/computed,openBlock,vue/openBlock,createBlock,vue/createBlock,mergeProps,vue/mergeProps,unref,vue/unref,createSlots,vue/createSlots,withCtx,vue/withCtx,renderSlot,vue/renderSlot,normalizeProps,vue/normalizeProps,guardReactiveProps,vue/guardReactiveProps,resolveDynamicComponent,vue/resolveDynamicComponent,withDirectives,vue/withDirectives,createElementBlock,vue/createElementBlock,normalizeClass,vue/normalizeClass,createCommentVNode,vue/createCommentVNode,normalizeStyle,vue/normalizeStyle,Fragment,vue/Fragment,renderList,vue/renderList,toHandlers,vue/toHandlers,createVNode,vue/createVNode,nextTick,vue/nextTick,reactive,vue/reactive,toValue,vue/toValue,provide,vue/provide,shallowRef,vue/shallowRef,watchEffect,vue/watchEffect,shallowReactive,vue/shallowReactive,triggerRef,vue/triggerRef,watch,vue/watch,onActivated,vue/onActivated,onDeactivated,vue/onDeactivated,onUnmounted,vue/onUnmounted,effectScope,vue/effectScope,inject,vue/inject,onMounted,vue/onMounted,onBeforeUnmount,vue/onBeforeUnmount,getCurrentInstance,vue/getCurrentInstance,onBeforeUpdate,vue/onBeforeUpdate,markRaw,vue/markRaw,ComputedRef,vue/ComputedRef,MaybeRefOrGetter,vue/MaybeRefOrGetter,CSSProperties,vue/CSSProperties,Directive,vue/Directive,vue/Ref,DirectiveBinding,vue/DirectiveBinding,vue/App"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/vue/package.json"
              }
            ],
            "concludedValue": "node_modules/vue/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "dist/DynamicScroller.vue_vue_type_script_setup_true_lang-1pN0JYQz.js",
            "line": 1
          },
          {
            "location": "dist/DynamicScroller.vue_vue_type_script_setup_true_lang-1pN0JYQz.js",
            "line": 5
          },
          {
            "location": "dist/DynamicScroller.vue_vue_type_script_setup_true_lang-1pN0JYQz.js",
            "line": 26
          },
          {
            "location": "dist/DynamicScroller.vue_vue_type_script_setup_true_lang-1pN0JYQz.js",
            "line": 30
          },
          {
            "location": "dist/DynamicScroller.vue_vue_type_script_setup_true_lang-1pN0JYQz.js",
            "line": 83
          },
          {
            "location": "dist/DynamicScroller.vue_vue_type_script_setup_true_lang-1pN0JYQz.js",
            "line": 86
          },
          {
            "location": "dist/DynamicScroller.vue_vue_type_script_setup_true_lang-1pN0JYQz.js",
            "line": 100
          },
          {
            "location": "dist/DynamicScroller.vue_vue_type_script_setup_true_lang-1pN0JYQz.js",
            "line": 101
          },
          {
            "location": "dist/DynamicScroller.vue_vue_type_script_setup_true_lang-1pN0JYQz.js",
            "line": 102
          },
          {
            "location": "dist/DynamicScroller.vue_vue_type_script_setup_true_lang-1pN0JYQz.js",
            "line": 103
          },
          {
            "location": "dist/DynamicScroller.vue_vue_type_script_setup_true_lang-1pN0JYQz.js",
            "line": 104
          },
          {
            "location": "dist/DynamicScroller.vue_vue_type_script_setup_true_lang-1pN0JYQz.js",
            "line": 106
          },
          {
            "location": "dist/DynamicScroller.vue_vue_type_script_setup_true_lang-1pN0JYQz.js",
            "line": 107
          },
          {
            "location": "dist/DynamicScroller.vue_vue_type_script_setup_true_lang-1pN0JYQz.js",
            "line": 113
          },
          {
            "location": "dist/DynamicScroller.vue_vue_type_script_setup_true_lang-1pN0JYQz.js",
            "line": 114
          },
          {
            "location": "dist/DynamicScroller.vue_vue_type_script_setup_true_lang-1pN0JYQz.js",
            "line": 120
          },
          {
            "location": "dist/DynamicScroller.vue_vue_type_script_setup_true_lang-1pN0JYQz.js",
            "line": 121
          },
          {
            "location": "dist/DynamicScrollerItem.vue_vue_type_script_setup_true_lang-qh6MY0wl.js",
            "line": 1
          },
          {
            "location": "dist/DynamicScrollerItem.vue_vue_type_script_setup_true_lang-qh6MY0wl.js",
            "line": 3
          },
          {
            "location": "dist/DynamicScrollerItem.vue_vue_type_script_setup_true_lang-qh6MY0wl.js",
            "line": 17
          },
          {
            "location": "dist/DynamicScrollerItem.vue_vue_type_script_setup_true_lang-qh6MY0wl.js",
            "line": 24
          },
          {
            "location": "dist/DynamicScrollerItem.vue_vue_type_script_setup_true_lang-qh6MY0wl.js",
            "line": 28
          },
          {
            "location": "dist/DynamicScrollerItem.vue_vue_type_script_setup_true_lang-qh6MY0wl.js",
            "line": 29
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 1
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 4
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 36
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 88
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 95
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 97
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 106
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 130
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 133
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 136
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 141
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 147
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 148
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 149
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 150
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 151
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 153
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 154
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 158
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 159
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 160
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 164
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 171
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 179
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 180
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 184
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 188
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 189
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 190
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 194
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 200
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 201
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 202
          },
          {
            "location": "dist/RecycleScroller.vue_vue_type_script_setup_true_lang-Dxq64Bue.js",
            "line": 204
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 1
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 5
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 34
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 81
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 88
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 90
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 106
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 109
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 111
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 115
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 121
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 122
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 123
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 124
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 125
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 127
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 128
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 132
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 133
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 134
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 138
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 139
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 141
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 142
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 146
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 150
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 151
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 152
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 156
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 162
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 163
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 164
          },
          {
            "location": "dist/WindowScroller.vue_vue_type_script_setup_true_lang-Dpwklg_y.js",
            "line": 166
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 1
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 28
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 244
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 249
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 250
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 252
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 256
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 312
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 327
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 335
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 338
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 339
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 350
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 359
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 390
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 484
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 500
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 507
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 509
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 606
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 608
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 610
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 635
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 719
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 732
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 738
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 744
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 746
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 748
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 750
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 752
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 756
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 759
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 777
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 779
          },
          {
            "location": "dist/composables/useDynamicScroller.js",
            "line": 781
          },
          {
            "location": "dist/composables/useDynamicScrollerItem.js",
            "line": 1
          },
          {
            "location": "dist/composables/useDynamicScrollerItem.js",
            "line": 4
          },
          {
            "location": "dist/composables/useDynamicScrollerItem.js",
            "line": 5
          },
          {
            "location": "dist/composables/useDynamicScrollerItem.js",
            "line": 6
          },
          {
            "location": "dist/composables/useDynamicScrollerItem.js",
            "line": 10
          },
          {
            "location": "dist/composables/useDynamicScrollerItem.js",
            "line": 12
          },
          {
            "location": "dist/composables/useDynamicScrollerItem.js",
            "line": 13
          },
          {
            "location": "dist/composables/useDynamicScrollerItem.js",
            "line": 22
          },
          {
            "location": "dist/composables/useDynamicScrollerItem.js",
            "line": 24
          },
          {
            "location": "dist/composables/useDynamicScrollerItem.js",
            "line": 31
          },
          {
            "location": "dist/composables/useDynamicScrollerItem.js",
            "line": 42
          },
          {
            "location": "dist/composables/useIdState.js",
            "line": 1
          },
          {
            "location": "dist/composables/useIdState.js",
            "line": 5
          },
          {
            "location": "dist/composables/useIdState.js",
            "line": 7
          },
          {
            "location": "dist/composables/useIdState.js",
            "line": 23
          },
          {
            "location": "dist/composables/useIdState.js",
            "line": 24
          },
          {
            "location": "dist/composables/useIdState.js",
            "line": 27
          },
          {
            "location": "dist/composables/useRecycleScroller.js",
            "line": 1
          },
          {
            "location": "dist/composables/useTableColumnWidths.js",
            "line": 1
          },
          {
            "location": "dist/composables/useTableColumnWidths.js",
            "line": 64
          },
          {
            "location": "dist/composables/useTableColumnWidths.js",
            "line": 66
          },
          {
            "location": "dist/composables/useTableColumnWidths.js",
            "line": 85
          },
          {
            "location": "dist/composables/useTableColumnWidths.js",
            "line": 86
          },
          {
            "location": "dist/composables/useTableColumnWidths.js",
            "line": 91
          },
          {
            "location": "dist/composables/useTableColumnWidths.js",
            "line": 102
          },
          {
            "location": "dist/composables/useTableColumnWidths.js",
            "line": 103
          },
          {
            "location": "dist/composables/useTableColumnWidths.js",
            "line": 116
          },
          {
            "location": "dist/composables/useTableColumnWidths.js",
            "line": 117
          },
          {
            "location": "dist/composables/useTableColumnWidths.js",
            "line": 119
          },
          {
            "location": "dist/composables/useTableColumnWidths.js",
            "line": 125
          },
          {
            "location": "dist/dynamicScrollerMeasurement-Cq5NQLJa.js",
            "line": 1
          },
          {
            "location": "dist/dynamicScrollerMeasurement-Cq5NQLJa.js",
            "line": 11
          },
          {
            "location": "dist/dynamicScrollerMeasurement-Cq5NQLJa.js",
            "line": 12
          },
          {
            "location": "dist/dynamicScrollerMeasurement-Cq5NQLJa.js",
            "line": 19
          },
          {
            "location": "dist/dynamicScrollerMeasurement-Cq5NQLJa.js",
            "line": 24
          },
          {
            "location": "dist/dynamicScrollerMeasurement-Cq5NQLJa.js",
            "line": 55
          },
          {
            "location": "dist/dynamicScrollerMeasurement-Cq5NQLJa.js",
            "line": 76
          },
          {
            "location": "dist/dynamicScrollerMeasurement-Cq5NQLJa.js",
            "line": 81
          },
          {
            "location": "dist/dynamicScrollerMeasurement-Cq5NQLJa.js",
            "line": 87
          },
          {
            "location": "dist/dynamicScrollerMeasurement-Cq5NQLJa.js",
            "line": 93
          },
          {
            "location": "dist/dynamicScrollerMeasurement-Cq5NQLJa.js",
            "line": 95
          },
          {
            "location": "dist/dynamicScrollerMeasurement-Cq5NQLJa.js",
            "line": 99
          },
          {
            "location": "dist/dynamicScrollerMeasurement-Cq5NQLJa.js",
            "line": 100
          },
          {
            "location": "dist/dynamicScrollerMeasurement-Cq5NQLJa.js",
            "line": 108
          },
          {
            "location": "dist/dynamicScrollerMeasurement-Cq5NQLJa.js",
            "line": 116
          },
          {
            "location": "dist/scroller.css_vue_type_style_index_0_src_true_lang--7gJ3zh_.js",
            "line": 1
          },
          {
            "location": "dist/scroller.css_vue_type_style_index_0_src_true_lang--7gJ3zh_.js",
            "line": 45
          },
          {
            "location": "dist/scroller.css_vue_type_style_index_0_src_true_lang--7gJ3zh_.js",
            "line": 53
          },
          {
            "location": "dist/scroller.css_vue_type_style_index_0_src_true_lang--7gJ3zh_.js",
            "line": 54
          },
          {
            "location": "dist/scroller.css_vue_type_style_index_0_src_true_lang--7gJ3zh_.js",
            "line": 55
          },
          {
            "location": "dist/scroller.css_vue_type_style_index_0_src_true_lang--7gJ3zh_.js",
            "line": 64
          },
          {
            "location": "dist/scroller.css_vue_type_style_index_0_src_true_lang--7gJ3zh_.js",
            "line": 68
          },
          {
            "location": "dist/scroller.css_vue_type_style_index_0_src_true_lang--7gJ3zh_.js",
            "line": 73
          },
          {
            "location": "dist/scroller.css_vue_type_style_index_0_src_true_lang--7gJ3zh_.js",
            "line": 85
          },
          {
            "location": "dist/scroller.css_vue_type_style_index_0_src_true_lang--7gJ3zh_.js",
            "line": 87
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 1
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 72
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 77
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 79
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 81
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 83
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 85
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 87
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 89
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 91
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 258
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 259
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 261
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 265
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 274
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 277
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 280
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 306
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 308
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 343
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 349
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 850
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 851
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 854
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 858
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 861
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 863
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 864
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 867
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 869
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 879
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 884
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 889
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 891
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 893
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 895
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 897
          },
          {
            "location": "dist/useRecycleScroller-CXk06epd.js",
            "line": 899
          },
          {
            "location": "src/composables/dynamicScrollerMeasureQueue.ts",
            "line": 2
          },
          {
            "location": "src/composables/dynamicScrollerMeasureQueue.ts",
            "line": 27
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 1
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 4
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 78
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 79
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 89
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 93
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 94
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 112
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 114
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 174
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 204
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 205
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 213
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 227
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 241
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 243
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 247
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 257
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 258
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 280
          },
          {
            "location": "src/composables/dynamicScrollerMeasurement.ts",
            "line": 310
          },
          {
            "location": "src/composables/scrollerOptions.ts",
            "line": 1
          },
          {
            "location": "src/composables/scrollerOptions.ts",
            "line": 2
          },
          {
            "location": "src/composables/scrollerOptions.ts",
            "line": 71
          },
          {
            "location": "src/composables/scrollerOptions.ts",
            "line": 87
          },
          {
            "location": "src/composables/scrollerOptions.ts",
            "line": 89
          },
          {
            "location": "src/composables/scrollerOptions.ts",
            "line": 91
          },
          {
            "location": "src/composables/scrollerOptions.ts",
            "line": 93
          },
          {
            "location": "src/composables/scrollerOptions.ts",
            "line": 95
          },
          {
            "location": "src/composables/scrollerOptions.ts",
            "line": 97
          },
          {
            "location": "src/composables/scrollerOptions.ts",
            "line": 99
          },
          {
            "location": "src/composables/scrollerOptions.ts",
            "line": 101
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 6
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 535
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 542
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 543
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 547
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 548
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 549
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 550
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 563
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 636
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 637
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 645
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 646
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 647
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 657
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 662
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 663
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 665
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 693
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 736
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 791
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 839
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 873
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 893
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 897
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1069
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1070
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1071
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1074
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1077
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1079
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1111
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1251
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1276
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1294
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1313
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1322
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1332
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1336
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1344
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1356
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1372
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1406
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1410
          },
          {
            "location": "src/composables/useDynamicScroller.ts",
            "line": 1414
          },
          {
            "location": "src/composables/useDynamicScrollerItem.ts",
            "line": 1
          },
          {
            "location": "src/composables/useDynamicScrollerItem.ts",
            "line": 5
          },
          {
            "location": "src/composables/useDynamicScrollerItem.ts",
            "line": 39
          },
          {
            "location": "src/composables/useDynamicScrollerItem.ts",
            "line": 40
          },
          {
            "location": "src/composables/useDynamicScrollerItem.ts",
            "line": 44
          },
          {
            "location": "src/composables/useDynamicScrollerItem.ts",
            "line": 45
          },
          {
            "location": "src/composables/useDynamicScrollerItem.ts",
            "line": 46
          },
          {
            "location": "src/composables/useDynamicScrollerItem.ts",
            "line": 49
          },
          {
            "location": "src/composables/useDynamicScrollerItem.ts",
            "line": 56
          },
          {
            "location": "src/composables/useDynamicScrollerItem.ts",
            "line": 57
          },
          {
            "location": "src/composables/useDynamicScrollerItem.ts",
            "line": 79
          },
          {
            "location": "src/composables/useDynamicScrollerItem.ts",
            "line": 86
          },
          {
            "location": "src/composables/useDynamicScrollerItem.ts",
            "line": 100
          },
          {
            "location": "src/composables/useDynamicScrollerItem.ts",
            "line": 124
          },
          {
            "location": "src/composables/useIdState.ts",
            "line": 1
          },
          {
            "location": "src/composables/useIdState.ts",
            "line": 8
          },
          {
            "location": "src/composables/useIdState.ts",
            "line": 9
          },
          {
            "location": "src/composables/useIdState.ts",
            "line": 12
          },
          {
            "location": "src/composables/useIdState.ts",
            "line": 47
          },
          {
            "location": "src/composables/useIdState.ts",
            "line": 48
          },
          {
            "location": "src/composables/useIdState.ts",
            "line": 55
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 1
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 5
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 234
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 235
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 241
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 242
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 243
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 244
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 245
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 289
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 312
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 321
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 329
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 334
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 395
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 405
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 494
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 501
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 1765
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 1770
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 1778
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 1784
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 1790
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 1799
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 1802
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 1816
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 1831
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 1867
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 1879
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 1889
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 1898
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 1910
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 1919
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 1929
          },
          {
            "location": "src/composables/useRecycleScroller.ts",
            "line": 1936
          },
          {
            "location": "src/composables/useTableColumnWidths.ts",
            "line": 1
          },
          {
            "location": "src/composables/useTableColumnWidths.ts",
            "line": 3
          },
          {
            "location": "src/composables/useTableColumnWidths.ts",
            "line": 156
          },
          {
            "location": "src/composables/useTableColumnWidths.ts",
            "line": 157
          },
          {
            "location": "src/composables/useTableColumnWidths.ts",
            "line": 158
          },
          {
            "location": "src/composables/useTableColumnWidths.ts",
            "line": 159
          },
          {
            "location": "src/composables/useTableColumnWidths.ts",
            "line": 168
          },
          {
            "location": "src/composables/useTableColumnWidths.ts",
            "line": 211
          },
          {
            "location": "src/composables/useTableColumnWidths.ts",
            "line": 215
          },
          {
            "location": "src/composables/useTableColumnWidths.ts",
            "line": 235
          },
          {
            "location": "src/composables/useTableColumnWidths.ts",
            "line": 249
          },
          {
            "location": "src/composables/useTableColumnWidths.ts",
            "line": 250
          },
          {
            "location": "src/composables/useTableColumnWidths.ts",
            "line": 274
          },
          {
            "location": "src/composables/useTableColumnWidths.ts",
            "line": 275
          },
          {
            "location": "src/composables/useTableColumnWidths.ts",
            "line": 277
          },
          {
            "location": "src/composables/useTableColumnWidths.ts",
            "line": 287
          },
          {
            "location": "src/composables/useWindowScroller.ts",
            "line": 1
          },
          {
            "location": "src/directives/observeVisibility.ts",
            "line": 1
          },
          {
            "location": "src/index.ts",
            "line": 1
          },
          {
            "location": "src/typecheck/generic-composables.typecheck.ts",
            "line": 3
          },
          {
            "location": "src/typecheck/generic-composables.typecheck.ts",
            "line": 8
          },
          {
            "location": "src/typecheck/generic-composables.typecheck.ts",
            "line": 29
          },
          {
            "location": "src/typecheck/generic-composables.typecheck.ts",
            "line": 30
          },
          {
            "location": "src/typecheck/generic-composables.typecheck.ts",
            "line": 96
          },
          {
            "location": "src/types.ts",
            "line": 1
          },
          {
            "location": "src/utils/viewStyle.ts",
            "line": 1
          },
          {
            "location": "src/components/DynamicScroller.vue",
            "line": 4
          },
          {
            "location": "src/components/DynamicScroller.vue",
            "line": 65
          },
          {
            "location": "src/components/DynamicScroller.vue",
            "line": 66
          },
          {
            "location": "src/components/DynamicScroller.vue",
            "line": 69
          },
          {
            "location": "src/components/DynamicScroller.vue",
            "line": 77
          },
          {
            "location": "src/components/DynamicScrollerItem.vue",
            "line": 3
          },
          {
            "location": "src/components/DynamicScrollerItem.vue",
            "line": 36
          },
          {
            "location": "src/components/RecycleScroller.vue",
            "line": 5
          },
          {
            "location": "src/components/RecycleScroller.vue",
            "line": 93
          },
          {
            "location": "src/components/RecycleScroller.vue",
            "line": 94
          },
          {
            "location": "src/components/RecycleScroller.vue",
            "line": 95
          },
          {
            "location": "src/components/RecycleScroller.vue",
            "line": 98
          },
          {
            "location": "src/components/RecycleScroller.vue",
            "line": 103
          },
          {
            "location": "src/components/RecycleScroller.vue",
            "line": 108
          },
          {
            "location": "src/components/RecycleScroller.vue",
            "line": 172
          },
          {
            "location": "src/components/RecycleScroller.vue",
            "line": 181
          },
          {
            "location": "src/components/RecycleScroller.vue",
            "line": 185
          },
          {
            "location": "src/components/RecycleScroller.vue",
            "line": 197
          },
          {
            "location": "src/components/ResizeObserver.vue",
            "line": 2
          },
          {
            "location": "src/components/ResizeObserver.vue",
            "line": 8
          },
          {
            "location": "src/components/ResizeObserver.vue",
            "line": 17
          },
          {
            "location": "src/components/ResizeObserver.vue",
            "line": 34
          },
          {
            "location": "src/components/WindowScroller.vue",
            "line": 5
          },
          {
            "location": "src/components/WindowScroller.vue",
            "line": 76
          },
          {
            "location": "src/components/WindowScroller.vue",
            "line": 77
          },
          {
            "location": "src/components/WindowScroller.vue",
            "line": 78
          },
          {
            "location": "src/components/WindowScroller.vue",
            "line": 79
          },
          {
            "location": "src/components/WindowScroller.vue",
            "line": 80
          },
          {
            "location": "src/components/WindowScroller.vue",
            "line": 134
          },
          {
            "location": "src/components/WindowScroller.vue",
            "line": 143
          },
          {
            "location": "src/components/WindowScroller.vue",
            "line": 147
          },
          {
            "location": "src/typecheck/generic-components.typecheck.vue",
            "line": 2
          },
          {
            "location": "src/typecheck/generic-components.typecheck.vue",
            "line": 11
          }
        ]
      },
      "tags": [
        "framework",
        "web"
      ]
    },
    {
      "authors": [
        {
          "name": "Anthony Fu <anthonyfu117@hotmail.com>"
        }
      ],
      "group": "",
      "name": "vitest",
      "version": "4.0.16",
      "description": "Next generation testing framework powered by Vite",
      "scope": "optional",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/vitest@4.0.16",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://vitest.dev"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/vitest-dev/vitest.git"
        }
      ],
      "type": "framework",
      "bom-ref": "pkg:npm/vitest@4.0.16",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/vitest/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/vitest/package.json"
              }
            ],
            "concludedValue": "node_modules/vitest/package.json"
          }
        ]
      },
      "tags": [
        "framework"
      ]
    },
    {
      "authors": [
        {
          "name": "qmhc"
        }
      ],
      "group": "",
      "name": "vite-plugin-dts",
      "version": "4.5.4",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/vite-plugin-dts@4.5.4",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "git+https://github.com/qmhc/vite-plugin-dts.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/vite-plugin-dts@4.5.4",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/vite-plugin-dts/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "vite-plugin-dts"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/vite-plugin-dts/package.json"
              }
            ],
            "concludedValue": "node_modules/vite-plugin-dts/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "vite.config.ts",
            "line": 6
          },
          {
            "location": "vite.config.ts",
            "line": 28
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Evan You"
        }
      ],
      "group": "",
      "name": "vite",
      "version": "6.4.1",
      "description": "Native-ESM powered web dev build tool",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/vite@6.4.1",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://vite.dev"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/vitejs/vite.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/vite@6.4.1",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/vite/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "vite,build,vite/build,defineConfig,vite/defineConfig"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/vite/package.json"
              }
            ],
            "concludedValue": "node_modules/vite/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "scripts/check-package-exports.mjs",
            "line": 6
          },
          {
            "location": "scripts/check-package-exports.mjs",
            "line": 64
          },
          {
            "location": "vite.config.ts",
            "line": 5
          },
          {
            "location": "vite.config.ts",
            "line": 24
          }
        ]
      },
      "tags": [
        "web"
      ]
    },
    {
      "authors": [
        {
          "name": "Microsoft Corp."
        }
      ],
      "group": "",
      "name": "typescript",
      "version": "5.8.2",
      "description": "TypeScript is a language for application scale JavaScript development",
      "scope": "optional",
      "licenses": [
        {
          "license": {
            "id": "Apache-2.0",
            "url": "https://opensource.org/licenses/Apache-2.0",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/typescript@5.8.2",
      "externalReferences": [
        {
          "type": "website",
          "url": "https://www.typescriptlang.org/"
        },
        {
          "type": "vcs",
          "url": "https://github.com/microsoft/TypeScript.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/typescript@5.8.2",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/typescript/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/typescript/package.json"
              }
            ],
            "concludedValue": "node_modules/typescript/package.json"
          }
        ]
      }
    },
    {
      "group": "",
      "name": "jsdom",
      "version": "28.1.0",
      "description": "A JavaScript implementation of many web standards",
      "scope": "optional",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/jsdom@28.1.0",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "git+https://github.com/jsdom/jsdom.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/jsdom@28.1.0",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/jsdom/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/jsdom/package.json"
              }
            ],
            "concludedValue": "node_modules/jsdom/package.json"
          }
        ]
      },
      "tags": [
        "web"
      ]
    },
    {
      "authors": [
        {
          "name": "Lachlan Miller <lachlan.miller.1990@outlook.com>"
        }
      ],
      "group": "@vue",
      "name": "test-utils",
      "version": "2.4.6",
      "scope": "optional",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40vue/test-utils@2.4.6",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/vuejs/test-utils"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/vuejs/test-utils.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@vue/test-utils@2.4.6",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@vue/test-utils/package.json"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@vue/test-utils/package.json"
              }
            ],
            "concludedValue": "node_modules/@vue/test-utils/package.json"
          }
        ]
      }
    },
    {
      "authors": [
        {
          "name": "Evan You"
        }
      ],
      "group": "@vitejs",
      "name": "plugin-vue",
      "version": "5.2.4",
      "scope": "required",
      "licenses": [
        {
          "license": {
            "id": "MIT",
            "url": "https://opensource.org/licenses/MIT",
            "properties": [
              {
                "name": "cdx:license:category",
                "value": "Permissive"
              },
              {
                "name": "cdx:license:foss",
                "value": "true"
              },
              {
                "name": "cdx:license:osiApproved",
                "value": "true"
              },
              {
                "name": "cdx:license:fsfLibre",
                "value": "true"
              },
              {
                "name": "cdx:license:deprecated",
                "value": "false"
              }
            ]
          }
        }
      ],
      "purl": "pkg:npm/%40vitejs/plugin-vue@5.2.4",
      "externalReferences": [
        {
          "type": "vcs",
          "url": "https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue#readme"
        },
        {
          "type": "vcs",
          "url": "git+https://github.com/vitejs/vite-plugin-vue.git"
        }
      ],
      "type": "library",
      "bom-ref": "pkg:npm/@vitejs/plugin-vue@5.2.4",
      "properties": [
        {
          "name": "SrcFile",
          "value": "node_modules/@vitejs/plugin-vue/package.json"
        },
        {
          "name": "ImportedModules",
          "value": "@vitejs/plugin-vue"
        },
        {
          "name": "cdx:license:category",
          "value": "Permissive"
        }
      ],
      "evidence": {
        "identity": [
          {
            "field": "purl",
            "confidence": 0.7,
            "methods": [
              {
                "technique": "manifest-analysis",
                "confidence": 0.7,
                "value": "node_modules/@vitejs/plugin-vue/package.json"
              }
            ],
            "concludedValue": "node_modules/@vitejs/plugin-vue/package.json"
          }
        ],
        "occurrences": [
          {
            "location": "vite.config.ts",
            "line": 4
          },
          {
            "location": "vite.config.ts",
            "line": 26
          }
        ]
      }
    }
  ],
  "dependencies": [],
  "annotations": [
    {
      "bom-ref": "metadata-annotations",
      "subjects": [
        "pkg:npm/vue-virtual-scroller@3.0.4"
      ],
      "annotator": {
        "component": {
          "group": "@cyclonedx",
          "name": "cdxgen",
          "version": "12.8.2",
          "purl": "pkg:npm/%40cyclonedx/cdxgen@12.8.2",
          "type": "application",
          "bom-ref": "pkg:npm/@cyclonedx/cdxgen@12.8.2",
          "publisher": "OWASP Foundation",
          "authors": [
            {
              "name": "OWASP Foundation"
            }
          ]
        }
      },
      "timestamp": "2026-08-04T07:05:24Z",
      "text": "This Software Bill-of-Materials (SBOM) document was created on Tuesday, August 4, 2026 with cdxgen. The data was captured during the pre-build lifecycle phase without building the application. The document describes an application named 'vue-virtual-scroller' with version '3.0.4'. The package type in this SBOM is npm with 2 purl namespaces described under components. The components were identified from 8 source files."
    }
  ]
}