@countermeasure-platform/web-components 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +92 -0
- package/README.md +185 -0
- package/dist/_basePickBy-BNGzgD3S.js +168 -0
- package/dist/_basePickBy-BNGzgD3S.js.map +1 -0
- package/dist/_baseUniq-CSCAMor9.js +684 -0
- package/dist/_baseUniq-CSCAMor9.js.map +1 -0
- package/dist/a11y-B5pN4M_a.js +173 -0
- package/dist/a11y-B5pN4M_a.js.map +1 -0
- package/dist/alert-dialog-x70JmbHN.js +202 -0
- package/dist/alert-dialog-x70JmbHN.js.map +1 -0
- package/dist/app-switcher/index.d.ts +38 -0
- package/dist/app-switcher/index.d.ts.map +1 -0
- package/dist/app-switcher/index.js +90 -0
- package/dist/app-switcher/index.js.map +1 -0
- package/dist/appearance/index.d.ts +34 -0
- package/dist/appearance/index.d.ts.map +1 -0
- package/dist/appearance/index.js +110 -0
- package/dist/appearance/index.js.map +1 -0
- package/dist/arc-Dd7Q8ESg.js +82 -0
- package/dist/arc-Dd7Q8ESg.js.map +1 -0
- package/dist/architecture-PBZL5I3N-ZJhv7ma8.js +3 -0
- package/dist/architectureDiagram-2XIMDMQ5-Du7QH2cn.js +4048 -0
- package/dist/architectureDiagram-2XIMDMQ5-Du7QH2cn.js.map +1 -0
- package/dist/array-BjkKHsZp.js +8 -0
- package/dist/array-BjkKHsZp.js.map +1 -0
- package/dist/arrow-up-gNaqffAh.js +35 -0
- package/dist/arrow-up-gNaqffAh.js.map +1 -0
- package/dist/auth/index.d.ts +103 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +113 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/avatar-Chu9WlV5.js +102 -0
- package/dist/avatar-Chu9WlV5.js.map +1 -0
- package/dist/badge-DIbZWeHZ.js +69 -0
- package/dist/badge-DIbZWeHZ.js.map +1 -0
- package/dist/base-CBgB0j_Y.js +2096 -0
- package/dist/base-CBgB0j_Y.js.map +1 -0
- package/dist/blockDiagram-WCTKOSBZ-JlYA7IvY.js +3028 -0
- package/dist/blockDiagram-WCTKOSBZ-JlYA7IvY.js.map +1 -0
- package/dist/button-DKuKl4vs.js +69 -0
- package/dist/button-DKuKl4vs.js.map +1 -0
- package/dist/c4Diagram-IC4MRINW-BhRMN0uU.js +2967 -0
- package/dist/c4Diagram-IC4MRINW-BhRMN0uU.js.map +1 -0
- package/dist/carousel-Bh3y14sN.js +139 -0
- package/dist/carousel-Bh3y14sN.js.map +1 -0
- package/dist/channel-mQoH3HVA.js +7 -0
- package/dist/channel-mQoH3HVA.js.map +1 -0
- package/dist/charts/annotations.d.ts +15 -0
- package/dist/charts/annotations.d.ts.map +1 -0
- package/dist/charts/annotations.js +24 -0
- package/dist/charts/annotations.js.map +1 -0
- package/dist/charts/area/index.d.ts +14 -0
- package/dist/charts/area/index.d.ts.map +1 -0
- package/dist/charts/area/index.js +104 -0
- package/dist/charts/area/index.js.map +1 -0
- package/dist/charts/area/types.d.ts +8 -0
- package/dist/charts/area/types.d.ts.map +1 -0
- package/dist/charts/axis.d.ts +8 -0
- package/dist/charts/axis.d.ts.map +1 -0
- package/dist/charts/axis.js +36 -0
- package/dist/charts/axis.js.map +1 -0
- package/dist/charts/bar/index.d.ts +19 -0
- package/dist/charts/bar/index.d.ts.map +1 -0
- package/dist/charts/bar/index.js +145 -0
- package/dist/charts/bar/index.js.map +1 -0
- package/dist/charts/bar/types.d.ts +8 -0
- package/dist/charts/bar/types.d.ts.map +1 -0
- package/dist/charts/base.d.ts +90 -0
- package/dist/charts/base.d.ts.map +1 -0
- package/dist/charts/base.js +203 -0
- package/dist/charts/base.js.map +1 -0
- package/dist/charts/candlestick/index.d.ts +25 -0
- package/dist/charts/candlestick/index.d.ts.map +1 -0
- package/dist/charts/candlestick/index.js +141 -0
- package/dist/charts/candlestick/index.js.map +1 -0
- package/dist/charts/candlestick/types.d.ts +19 -0
- package/dist/charts/candlestick/types.d.ts.map +1 -0
- package/dist/charts/funnel/index.d.ts +29 -0
- package/dist/charts/funnel/index.d.ts.map +1 -0
- package/dist/charts/funnel/index.js +126 -0
- package/dist/charts/funnel/index.js.map +1 -0
- package/dist/charts/funnel/types.d.ts +16 -0
- package/dist/charts/funnel/types.d.ts.map +1 -0
- package/dist/charts/gauge/index.d.ts +26 -0
- package/dist/charts/gauge/index.d.ts.map +1 -0
- package/dist/charts/gauge/index.js +70 -0
- package/dist/charts/gauge/index.js.map +1 -0
- package/dist/charts/gauge/types.d.ts +18 -0
- package/dist/charts/gauge/types.d.ts.map +1 -0
- package/dist/charts/heatmap/index.d.ts +29 -0
- package/dist/charts/heatmap/index.d.ts.map +1 -0
- package/dist/charts/heatmap/index.js +113 -0
- package/dist/charts/heatmap/index.js.map +1 -0
- package/dist/charts/heatmap/types.d.ts +17 -0
- package/dist/charts/heatmap/types.d.ts.map +1 -0
- package/dist/charts/index.d.ts +46 -0
- package/dist/charts/index.d.ts.map +1 -0
- package/dist/charts/index.js +24 -0
- package/dist/charts/interactive.d.ts +15 -0
- package/dist/charts/interactive.d.ts.map +1 -0
- package/dist/charts/legend.d.ts +16 -0
- package/dist/charts/legend.d.ts.map +1 -0
- package/dist/charts/legend.js +43 -0
- package/dist/charts/legend.js.map +1 -0
- package/dist/charts/line/index.d.ts +14 -0
- package/dist/charts/line/index.d.ts.map +1 -0
- package/dist/charts/line/index.js +85 -0
- package/dist/charts/line/index.js.map +1 -0
- package/dist/charts/line/types.d.ts +8 -0
- package/dist/charts/line/types.d.ts.map +1 -0
- package/dist/charts/pie/index.d.ts +24 -0
- package/dist/charts/pie/index.d.ts.map +1 -0
- package/dist/charts/pie/index.js +123 -0
- package/dist/charts/pie/index.js.map +1 -0
- package/dist/charts/pie/types.d.ts +15 -0
- package/dist/charts/pie/types.d.ts.map +1 -0
- package/dist/charts/radar/index.d.ts +27 -0
- package/dist/charts/radar/index.d.ts.map +1 -0
- package/dist/charts/radar/index.js +151 -0
- package/dist/charts/radar/index.js.map +1 -0
- package/dist/charts/radar/types.d.ts +16 -0
- package/dist/charts/radar/types.d.ts.map +1 -0
- package/dist/charts/sankey/index.d.ts +29 -0
- package/dist/charts/sankey/index.d.ts.map +1 -0
- package/dist/charts/sankey/index.js +192 -0
- package/dist/charts/sankey/index.js.map +1 -0
- package/dist/charts/sankey/types.d.ts +21 -0
- package/dist/charts/sankey/types.d.ts.map +1 -0
- package/dist/charts/scatter/index.d.ts +19 -0
- package/dist/charts/scatter/index.d.ts.map +1 -0
- package/dist/charts/scatter/index.js +106 -0
- package/dist/charts/scatter/index.js.map +1 -0
- package/dist/charts/scatter/types.d.ts +6 -0
- package/dist/charts/scatter/types.d.ts.map +1 -0
- package/dist/charts/series.d.ts +11 -0
- package/dist/charts/series.d.ts.map +1 -0
- package/dist/charts/sparkline/index.d.ts +20 -0
- package/dist/charts/sparkline/index.d.ts.map +1 -0
- package/dist/charts/sparkline/index.js +99 -0
- package/dist/charts/sparkline/index.js.map +1 -0
- package/dist/charts/sparkline/types.d.ts +11 -0
- package/dist/charts/sparkline/types.d.ts.map +1 -0
- package/dist/charts/tooltip.d.ts +28 -0
- package/dist/charts/tooltip.d.ts.map +1 -0
- package/dist/charts/tooltip.js +41 -0
- package/dist/charts/tooltip.js.map +1 -0
- package/dist/charts/treemap/index.d.ts +26 -0
- package/dist/charts/treemap/index.d.ts.map +1 -0
- package/dist/charts/treemap/index.js +132 -0
- package/dist/charts/treemap/index.js.map +1 -0
- package/dist/charts/treemap/types.d.ts +15 -0
- package/dist/charts/treemap/types.d.ts.map +1 -0
- package/dist/charts/types.d.ts +71 -0
- package/dist/charts/types.d.ts.map +1 -0
- package/dist/charts/utils.d.ts +75 -0
- package/dist/charts/utils.d.ts.map +1 -0
- package/dist/charts/utils.js +113 -0
- package/dist/charts/utils.js.map +1 -0
- package/dist/charts/waterfall/index.d.ts +19 -0
- package/dist/charts/waterfall/index.d.ts.map +1 -0
- package/dist/charts/waterfall/index.js +138 -0
- package/dist/charts/waterfall/index.js.map +1 -0
- package/dist/charts/waterfall/types.d.ts +19 -0
- package/dist/charts/waterfall/types.d.ts.map +1 -0
- package/dist/charts/zoom.d.ts +32 -0
- package/dist/charts/zoom.d.ts.map +1 -0
- package/dist/charts/zoom.js +62 -0
- package/dist/charts/zoom.js.map +1 -0
- package/dist/check-D2xnnLBE.js +9 -0
- package/dist/check-D2xnnLBE.js.map +1 -0
- package/dist/chevron-down-CsLpP_71.js +9 -0
- package/dist/chevron-down-CsLpP_71.js.map +1 -0
- package/dist/chevron-right-Cz5qRdmA.js +9 -0
- package/dist/chevron-right-Cz5qRdmA.js.map +1 -0
- package/dist/chevron-up-BhaePjuF.js +9 -0
- package/dist/chevron-up-BhaePjuF.js.map +1 -0
- package/dist/chunk-4BX2VUAB-hGnoekTd.js +10 -0
- package/dist/chunk-4BX2VUAB-hGnoekTd.js.map +1 -0
- package/dist/chunk-55IACEB6-BJN5TXvX.js +11 -0
- package/dist/chunk-55IACEB6-BJN5TXvX.js.map +1 -0
- package/dist/chunk-7E7YKBS2-D5sZlDQ3.js +25 -0
- package/dist/chunk-7E7YKBS2-D5sZlDQ3.js.map +1 -0
- package/dist/chunk-7R4GIKGN-9QecSWiR.js +2054 -0
- package/dist/chunk-7R4GIKGN-9QecSWiR.js.map +1 -0
- package/dist/chunk-C72U2L5F--DXr9EKz.js +25 -0
- package/dist/chunk-C72U2L5F--DXr9EKz.js.map +1 -0
- package/dist/chunk-EGIJ26TM-B0D9vEQz.js +25 -0
- package/dist/chunk-EGIJ26TM-B0D9vEQz.js.map +1 -0
- package/dist/chunk-FMBD7UC4-Ccq-i6vu.js +7 -0
- package/dist/chunk-FMBD7UC4-Ccq-i6vu.js.map +1 -0
- package/dist/chunk-GEFDOKGD-DpHiMpV6.js +1124 -0
- package/dist/chunk-GEFDOKGD-DpHiMpV6.js.map +1 -0
- package/dist/chunk-GLR3WWYH-HerLgrS-.js +43 -0
- package/dist/chunk-GLR3WWYH-HerLgrS-.js.map +1 -0
- package/dist/chunk-HHEYEP7N-Cjt1V-hl.js +12 -0
- package/dist/chunk-HHEYEP7N-Cjt1V-hl.js.map +1 -0
- package/dist/chunk-JSJVCQXG-DTdWcs9o.js +63 -0
- package/dist/chunk-JSJVCQXG-DTdWcs9o.js.map +1 -0
- package/dist/chunk-KX2RTZJC-DUcdo_W8.js +27 -0
- package/dist/chunk-KX2RTZJC-DUcdo_W8.js.map +1 -0
- package/dist/chunk-KYZI473N-DyL0ymcr.js +3437 -0
- package/dist/chunk-KYZI473N-DyL0ymcr.js.map +1 -0
- package/dist/chunk-L3YUKLVL-Cwsx-xzL.js +25 -0
- package/dist/chunk-L3YUKLVL-Cwsx-xzL.js.map +1 -0
- package/dist/chunk-MX3YWQON-BrC3_psH.js +82 -0
- package/dist/chunk-MX3YWQON-BrC3_psH.js.map +1 -0
- package/dist/chunk-NBPlniwU.js +23 -0
- package/dist/chunk-NQ4KR5QH-kaL7nywj.js +2004 -0
- package/dist/chunk-NQ4KR5QH-kaL7nywj.js.map +1 -0
- package/dist/chunk-O4XLMI2P-DPXU-owT.js +514 -0
- package/dist/chunk-O4XLMI2P-DPXU-owT.js.map +1 -0
- package/dist/chunk-OZEHJAEY-Ds1P6-z-.js +66 -0
- package/dist/chunk-OZEHJAEY-Ds1P6-z-.js.map +1 -0
- package/dist/chunk-PQ6SQG4A-DEjy9Dhi.js +69 -0
- package/dist/chunk-PQ6SQG4A-DEjy9Dhi.js.map +1 -0
- package/dist/chunk-PU5JKC2W-CfzbN3Mu.js +1888 -0
- package/dist/chunk-PU5JKC2W-CfzbN3Mu.js.map +1 -0
- package/dist/chunk-QZHKN3VN-DYJHpXRp.js +17 -0
- package/dist/chunk-QZHKN3VN-DYJHpXRp.js.map +1 -0
- package/dist/chunk-R5LLSJPH-BQuurwR-.js +37 -0
- package/dist/chunk-R5LLSJPH-BQuurwR-.js.map +1 -0
- package/dist/chunk-WL4C6EOR-DCGop7dE.js +3198 -0
- package/dist/chunk-WL4C6EOR-DCGop7dE.js.map +1 -0
- package/dist/chunk-XIRO2GV7-CS2_2Fdn.js +32 -0
- package/dist/chunk-XIRO2GV7-CS2_2Fdn.js.map +1 -0
- package/dist/chunk-XPW4576I-CfQenFiw.js +1148 -0
- package/dist/chunk-XPW4576I-CfQenFiw.js.map +1 -0
- package/dist/chunk-XZSTWKYB-DxHspq6G.js +15799 -0
- package/dist/chunk-XZSTWKYB-DxHspq6G.js.map +1 -0
- package/dist/chunk-YBOYWFTD-Dkc3kKkT.js +34 -0
- package/dist/chunk-YBOYWFTD-Dkc3kKkT.js.map +1 -0
- package/dist/classDiagram-VBA2DB6C-Ba1kbLE7.js +31 -0
- package/dist/classDiagram-VBA2DB6C-Ba1kbLE7.js.map +1 -0
- package/dist/classDiagram-v2-RAHNMMFH-BdFCvKXE.js +31 -0
- package/dist/classDiagram-v2-RAHNMMFH-BdFCvKXE.js.map +1 -0
- package/dist/clone-CzASr4DI.js +10 -0
- package/dist/clone-CzASr4DI.js.map +1 -0
- package/dist/components/context-menu/index.d.ts +31 -0
- package/dist/components/context-menu/index.d.ts.map +1 -0
- package/dist/components/context-menu/index.js +66 -0
- package/dist/components/context-menu/index.js.map +1 -0
- package/dist/components/copy-button/index.d.ts +27 -0
- package/dist/components/copy-button/index.d.ts.map +1 -0
- package/dist/components/copy-button/index.js +43 -0
- package/dist/components/copy-button/index.js.map +1 -0
- package/dist/components/data-table/export.d.ts +8 -0
- package/dist/components/data-table/export.d.ts.map +1 -0
- package/dist/components/data-table/index.d.ts +55 -0
- package/dist/components/data-table/index.d.ts.map +1 -0
- package/dist/components/data-table/index.js +2 -0
- package/dist/components/data-table/renderers.d.ts +9 -0
- package/dist/components/data-table/renderers.d.ts.map +1 -0
- package/dist/components/data-table/types.d.ts +36 -0
- package/dist/components/data-table/types.d.ts.map +1 -0
- package/dist/components/detail-header/index.d.ts +45 -0
- package/dist/components/detail-header/index.d.ts.map +1 -0
- package/dist/components/detail-header/index.js +88 -0
- package/dist/components/detail-header/index.js.map +1 -0
- package/dist/components/index.d.ts +28 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +15 -0
- package/dist/components/log-toolbar/index.d.ts +50 -0
- package/dist/components/log-toolbar/index.d.ts.map +1 -0
- package/dist/components/log-toolbar/index.js +74 -0
- package/dist/components/log-toolbar/index.js.map +1 -0
- package/dist/components/modal/index.d.ts +27 -0
- package/dist/components/modal/index.d.ts.map +1 -0
- package/dist/components/modal/index.js +103 -0
- package/dist/components/modal/index.js.map +1 -0
- package/dist/components/modal/types.d.ts +17 -0
- package/dist/components/modal/types.d.ts.map +1 -0
- package/dist/components/pagination/index.d.ts +29 -0
- package/dist/components/pagination/index.d.ts.map +1 -0
- package/dist/components/pagination/index.js +45 -0
- package/dist/components/pagination/index.js.map +1 -0
- package/dist/components/search/command-palette.d.ts +24 -0
- package/dist/components/search/command-palette.d.ts.map +1 -0
- package/dist/components/search/command-palette.js +96 -0
- package/dist/components/search/command-palette.js.map +1 -0
- package/dist/components/search/index.d.ts +37 -0
- package/dist/components/search/index.d.ts.map +1 -0
- package/dist/components/search/index.js +175 -0
- package/dist/components/search/index.js.map +1 -0
- package/dist/components/search/types.d.ts +34 -0
- package/dist/components/search/types.d.ts.map +1 -0
- package/dist/components/split-pane/index.d.ts +37 -0
- package/dist/components/split-pane/index.d.ts.map +1 -0
- package/dist/components/split-pane/index.js +129 -0
- package/dist/components/split-pane/index.js.map +1 -0
- package/dist/components/split-pane/types.d.ts +19 -0
- package/dist/components/split-pane/types.d.ts.map +1 -0
- package/dist/components/status-bar/index.d.ts +29 -0
- package/dist/components/status-bar/index.d.ts.map +1 -0
- package/dist/components/status-bar/index.js +41 -0
- package/dist/components/status-bar/index.js.map +1 -0
- package/dist/components/tabs/index.d.ts +39 -0
- package/dist/components/tabs/index.d.ts.map +1 -0
- package/dist/components/tabs/index.js +130 -0
- package/dist/components/tabs/index.js.map +1 -0
- package/dist/components/tabs/types.d.ts +19 -0
- package/dist/components/tabs/types.d.ts.map +1 -0
- package/dist/components/toast/index.d.ts +43 -0
- package/dist/components/toast/index.d.ts.map +1 -0
- package/dist/components/toast/index.js +161 -0
- package/dist/components/toast/index.js.map +1 -0
- package/dist/components/toast/types.d.ts +17 -0
- package/dist/components/toast/types.d.ts.map +1 -0
- package/dist/components/tree-view/index.d.ts +70 -0
- package/dist/components/tree-view/index.d.ts.map +1 -0
- package/dist/components/tree-view/index.js +2 -0
- package/dist/components/tree-view/lazy.d.ts +7 -0
- package/dist/components/tree-view/lazy.d.ts.map +1 -0
- package/dist/components/tree-view/types.d.ts +24 -0
- package/dist/components/tree-view/types.d.ts.map +1 -0
- package/dist/consent/index.d.ts +86 -0
- package/dist/consent/index.d.ts.map +1 -0
- package/dist/consent/index.js +116 -0
- package/dist/consent/index.js.map +1 -0
- package/dist/copy-DLbL2paJ.js +17 -0
- package/dist/copy-DLbL2paJ.js.map +1 -0
- package/dist/cose-bilkent-S5V4N54A-Brn9HMfH.js +2253 -0
- package/dist/cose-bilkent-S5V4N54A-Brn9HMfH.js.map +1 -0
- package/dist/createLucideIcon-BPb01goH.js +44 -0
- package/dist/createLucideIcon-BPb01goH.js.map +1 -0
- package/dist/crypto/encoding-helpers.d.ts +11 -0
- package/dist/crypto/encoding-helpers.d.ts.map +1 -0
- package/dist/crypto/encoding.d.ts +59 -0
- package/dist/crypto/encoding.d.ts.map +1 -0
- package/dist/crypto/hybrid.d.ts +65 -0
- package/dist/crypto/hybrid.d.ts.map +1 -0
- package/dist/crypto/index.d.ts +103 -0
- package/dist/crypto/index.d.ts.map +1 -0
- package/dist/crypto/index.js +438 -0
- package/dist/crypto/index.js.map +1 -0
- package/dist/crypto/keys.d.ts +50 -0
- package/dist/crypto/keys.d.ts.map +1 -0
- package/dist/crypto/symmetric.d.ts +68 -0
- package/dist/crypto/symmetric.d.ts.map +1 -0
- package/dist/crypto/types.d.ts +88 -0
- package/dist/crypto/types.d.ts.map +1 -0
- package/dist/cytoscape.esm-B-Qy-QZk.js +18102 -0
- package/dist/cytoscape.esm-B-Qy-QZk.js.map +1 -0
- package/dist/dagre-AUN8SXyC.js +1485 -0
- package/dist/dagre-AUN8SXyC.js.map +1 -0
- package/dist/dagre-KLK3FWXG-B5Anf0Pr.js +296 -0
- package/dist/dagre-KLK3FWXG-B5Anf0Pr.js.map +1 -0
- package/dist/data-table-TZ_fmzbD.js +325 -0
- package/dist/data-table-TZ_fmzbD.js.map +1 -0
- package/dist/date-Dup6T6tm.js +61 -0
- package/dist/date-Dup6T6tm.js.map +1 -0
- package/dist/defaultLocale-B55TNBEB.js +203 -0
- package/dist/defaultLocale-B55TNBEB.js.map +1 -0
- package/dist/diagram-E7M64L7V-CbV5nfqR.js +530 -0
- package/dist/diagram-E7M64L7V-CbV5nfqR.js.map +1 -0
- package/dist/diagram-IFDJBPK2-CcXyWvqm.js +215 -0
- package/dist/diagram-IFDJBPK2-CcXyWvqm.js.map +1 -0
- package/dist/diagram-P4PSJMXO-pxkEt2hf.js +135 -0
- package/dist/diagram-P4PSJMXO-pxkEt2hf.js.map +1 -0
- package/dist/display/alert/index.d.ts +20 -0
- package/dist/display/alert/index.d.ts.map +1 -0
- package/dist/display/alert/index.js +56 -0
- package/dist/display/alert/index.js.map +1 -0
- package/dist/display/alert/types.d.ts +16 -0
- package/dist/display/alert/types.d.ts.map +1 -0
- package/dist/display/aspect-ratio/index.d.ts +21 -0
- package/dist/display/aspect-ratio/index.d.ts.map +1 -0
- package/dist/display/aspect-ratio/index.js +23 -0
- package/dist/display/aspect-ratio/index.js.map +1 -0
- package/dist/display/avatar/avatar-group.d.ts +19 -0
- package/dist/display/avatar/avatar-group.d.ts.map +1 -0
- package/dist/display/avatar/index.d.ts +30 -0
- package/dist/display/avatar/index.d.ts.map +1 -0
- package/dist/display/avatar/index.js +2 -0
- package/dist/display/avatar/types.d.ts +26 -0
- package/dist/display/avatar/types.d.ts.map +1 -0
- package/dist/display/badge/index.d.ts +22 -0
- package/dist/display/badge/index.d.ts.map +1 -0
- package/dist/display/badge/index.js +2 -0
- package/dist/display/badge/presets.d.ts +7 -0
- package/dist/display/badge/presets.d.ts.map +1 -0
- package/dist/display/badge/types.d.ts +19 -0
- package/dist/display/badge/types.d.ts.map +1 -0
- package/dist/display/card/index.d.ts +24 -0
- package/dist/display/card/index.d.ts.map +1 -0
- package/dist/display/card/index.js +48 -0
- package/dist/display/card/index.js.map +1 -0
- package/dist/display/card/types.d.ts +16 -0
- package/dist/display/card/types.d.ts.map +1 -0
- package/dist/display/code-block/index.d.ts +23 -0
- package/dist/display/code-block/index.d.ts.map +1 -0
- package/dist/display/code-block/index.js +101 -0
- package/dist/display/code-block/index.js.map +1 -0
- package/dist/display/code-block/types.d.ts +14 -0
- package/dist/display/code-block/types.d.ts.map +1 -0
- package/dist/display/empty-state/index.d.ts +17 -0
- package/dist/display/empty-state/index.d.ts.map +1 -0
- package/dist/display/empty-state/index.js +42 -0
- package/dist/display/empty-state/index.js.map +1 -0
- package/dist/display/empty-state/types.d.ts +16 -0
- package/dist/display/empty-state/types.d.ts.map +1 -0
- package/dist/display/hover-card/index.d.ts +46 -0
- package/dist/display/hover-card/index.d.ts.map +1 -0
- package/dist/display/hover-card/index.js +112 -0
- package/dist/display/hover-card/index.js.map +1 -0
- package/dist/display/hover-card/types.d.ts +14 -0
- package/dist/display/hover-card/types.d.ts.map +1 -0
- package/dist/display/index.d.ts +41 -0
- package/dist/display/index.d.ts.map +1 -0
- package/dist/display/index.js +18 -0
- package/dist/display/markdown-viewer/index.d.ts +25 -0
- package/dist/display/markdown-viewer/index.d.ts.map +1 -0
- package/dist/display/markdown-viewer/index.js +2 -0
- package/dist/display/markdown-viewer/parser.d.ts +60 -0
- package/dist/display/markdown-viewer/parser.d.ts.map +1 -0
- package/dist/display/markdown-viewer/types.d.ts +12 -0
- package/dist/display/markdown-viewer/types.d.ts.map +1 -0
- package/dist/display/notification-center/index.d.ts +43 -0
- package/dist/display/notification-center/index.d.ts.map +1 -0
- package/dist/display/notification-center/index.js +145 -0
- package/dist/display/notification-center/index.js.map +1 -0
- package/dist/display/notification-center/types.d.ts +30 -0
- package/dist/display/notification-center/types.d.ts.map +1 -0
- package/dist/display/popover/index.d.ts +43 -0
- package/dist/display/popover/index.d.ts.map +1 -0
- package/dist/display/popover/index.js +113 -0
- package/dist/display/popover/index.js.map +1 -0
- package/dist/display/popover/types.d.ts +16 -0
- package/dist/display/popover/types.d.ts.map +1 -0
- package/dist/display/progress/index.d.ts +28 -0
- package/dist/display/progress/index.d.ts.map +1 -0
- package/dist/display/progress/index.js +81 -0
- package/dist/display/progress/index.js.map +1 -0
- package/dist/display/progress/types.d.ts +18 -0
- package/dist/display/progress/types.d.ts.map +1 -0
- package/dist/display/severity-indicator/index.d.ts +19 -0
- package/dist/display/severity-indicator/index.d.ts.map +1 -0
- package/dist/display/severity-indicator/index.js +36 -0
- package/dist/display/severity-indicator/index.js.map +1 -0
- package/dist/display/severity-indicator/types.d.ts +14 -0
- package/dist/display/severity-indicator/types.d.ts.map +1 -0
- package/dist/display/stat-card/index.d.ts +23 -0
- package/dist/display/stat-card/index.d.ts.map +1 -0
- package/dist/display/stat-card/index.js +54 -0
- package/dist/display/stat-card/index.js.map +1 -0
- package/dist/display/stat-card/types.d.ts +19 -0
- package/dist/display/stat-card/types.d.ts.map +1 -0
- package/dist/display/tooltip/index.d.ts +37 -0
- package/dist/display/tooltip/index.d.ts.map +1 -0
- package/dist/display/tooltip/index.js +98 -0
- package/dist/display/tooltip/index.js.map +1 -0
- package/dist/display/tooltip/types.d.ts +13 -0
- package/dist/display/tooltip/types.d.ts.map +1 -0
- package/dist/display/typography/index.d.ts +24 -0
- package/dist/display/typography/index.d.ts.map +1 -0
- package/dist/display/typography/index.js +53 -0
- package/dist/display/typography/index.js.map +1 -0
- package/dist/display/typography/types.d.ts +19 -0
- package/dist/display/typography/types.d.ts.map +1 -0
- package/dist/display/uptime-bar/index.d.ts +18 -0
- package/dist/display/uptime-bar/index.d.ts.map +1 -0
- package/dist/display/uptime-bar/index.js +44 -0
- package/dist/display/uptime-bar/index.js.map +1 -0
- package/dist/display/uptime-bar/types.d.ts +17 -0
- package/dist/display/uptime-bar/types.d.ts.map +1 -0
- package/dist/dist--GaXbmRw2.js +118 -0
- package/dist/dist--GaXbmRw2.js.map +1 -0
- package/dist/dist-Axk3-hcS.js +75 -0
- package/dist/dist-Axk3-hcS.js.map +1 -0
- package/dist/dist-B8N_HFUN.js +577 -0
- package/dist/dist-B8N_HFUN.js.map +1 -0
- package/dist/dist-BCCeHAQm.js +35 -0
- package/dist/dist-BCCeHAQm.js.map +1 -0
- package/dist/dist-BEs9dhua.js +1282 -0
- package/dist/dist-BEs9dhua.js.map +1 -0
- package/dist/dist-BHlnF6po.js +47 -0
- package/dist/dist-BHlnF6po.js.map +1 -0
- package/dist/dist-BOvRuqYp.js +27 -0
- package/dist/dist-BOvRuqYp.js.map +1 -0
- package/dist/dist-Bf2tA9xW.js +617 -0
- package/dist/dist-Bf2tA9xW.js.map +1 -0
- package/dist/dist-BmxbWOAj.js +8 -0
- package/dist/dist-BmxbWOAj.js.map +1 -0
- package/dist/dist-BqhkOSZ9.js +19 -0
- package/dist/dist-BqhkOSZ9.js.map +1 -0
- package/dist/dist-ByLgcn06.js +1236 -0
- package/dist/dist-ByLgcn06.js.map +1 -0
- package/dist/dist-CXvCjmkw.js +29 -0
- package/dist/dist-CXvCjmkw.js.map +1 -0
- package/dist/dist-CncQbcn0.js +52 -0
- package/dist/dist-CncQbcn0.js.map +1 -0
- package/dist/dist-CuA1lYwd.js +185 -0
- package/dist/dist-CuA1lYwd.js.map +1 -0
- package/dist/dist-CuEY-E_Y.js +12 -0
- package/dist/dist-CuEY-E_Y.js.map +1 -0
- package/dist/dist-D3GdPS_X.js +153 -0
- package/dist/dist-D3GdPS_X.js.map +1 -0
- package/dist/dist-D6Fo4Qkc.js +13 -0
- package/dist/dist-D6Fo4Qkc.js.map +1 -0
- package/dist/dist-DHddbHrS.js +14 -0
- package/dist/dist-DHddbHrS.js.map +1 -0
- package/dist/dist-DKK7ynDa.js +31 -0
- package/dist/dist-DKK7ynDa.js.map +1 -0
- package/dist/dist-DLCJ6BjJ.js +68 -0
- package/dist/dist-DLCJ6BjJ.js.map +1 -0
- package/dist/dist-Di-HnAlt.js +279 -0
- package/dist/dist-Di-HnAlt.js.map +1 -0
- package/dist/dist-DtNafQtQ2.js +122 -0
- package/dist/dist-DtNafQtQ2.js.map +1 -0
- package/dist/dist-Ltr12WCJ.js +11020 -0
- package/dist/dist-Ltr12WCJ.js.map +1 -0
- package/dist/dist-hG2PgpV-2.js +12 -0
- package/dist/dist-hG2PgpV-2.js.map +1 -0
- package/dist/dropdown-menu-gev7lxyE.js +248 -0
- package/dist/dropdown-menu-gev7lxyE.js.map +1 -0
- package/dist/editors/base.d.ts +45 -0
- package/dist/editors/base.d.ts.map +1 -0
- package/dist/editors/code-editor.d.ts +25 -0
- package/dist/editors/code-editor.d.ts.map +1 -0
- package/dist/editors/code-editor.js +173 -0
- package/dist/editors/code-editor.js.map +1 -0
- package/dist/editors/diff-viewer.d.ts +18 -0
- package/dist/editors/diff-viewer.d.ts.map +1 -0
- package/dist/editors/diff-viewer.js +105 -0
- package/dist/editors/diff-viewer.js.map +1 -0
- package/dist/editors/index.d.ts +23 -0
- package/dist/editors/index.d.ts.map +1 -0
- package/dist/editors/index.js +14 -0
- package/dist/editors/json-viewer.d.ts +19 -0
- package/dist/editors/json-viewer.d.ts.map +1 -0
- package/dist/editors/json-viewer.js +78 -0
- package/dist/editors/json-viewer.js.map +1 -0
- package/dist/editors/languages/fluxl.d.ts +9 -0
- package/dist/editors/languages/fluxl.d.ts.map +1 -0
- package/dist/editors/languages/fluxl.js +77 -0
- package/dist/editors/languages/fluxl.js.map +1 -0
- package/dist/editors/languages/javascript.d.ts +6 -0
- package/dist/editors/languages/javascript.d.ts.map +1 -0
- package/dist/editors/languages/json.d.ts +4 -0
- package/dist/editors/languages/json.d.ts.map +1 -0
- package/dist/editors/languages/markdown.d.ts +4 -0
- package/dist/editors/languages/markdown.d.ts.map +1 -0
- package/dist/editors/languages/python.d.ts +4 -0
- package/dist/editors/languages/python.d.ts.map +1 -0
- package/dist/editors/languages/rust.d.ts +4 -0
- package/dist/editors/languages/rust.d.ts.map +1 -0
- package/dist/editors/languages/shell.d.ts +4 -0
- package/dist/editors/languages/shell.d.ts.map +1 -0
- package/dist/editors/languages/sql.d.ts +8 -0
- package/dist/editors/languages/sql.d.ts.map +1 -0
- package/dist/editors/languages/yaml.d.ts +6 -0
- package/dist/editors/languages/yaml.d.ts.map +1 -0
- package/dist/editors/languages/yara.d.ts +9 -0
- package/dist/editors/languages/yara.d.ts.map +1 -0
- package/dist/editors/languages/yara.js +93 -0
- package/dist/editors/languages/yara.js.map +1 -0
- package/dist/editors/languages/yaral.d.ts +9 -0
- package/dist/editors/languages/yaral.d.ts.map +1 -0
- package/dist/editors/languages/yaral.js +52 -0
- package/dist/editors/languages/yaral.js.map +1 -0
- package/dist/editors/log-viewer.d.ts +23 -0
- package/dist/editors/log-viewer.d.ts.map +1 -0
- package/dist/editors/log-viewer.js +89 -0
- package/dist/editors/log-viewer.js.map +1 -0
- package/dist/editors/types.d.ts +123 -0
- package/dist/editors/types.d.ts.map +1 -0
- package/dist/editors/yaml-editor.d.ts +8 -0
- package/dist/editors/yaml-editor.d.ts.map +1 -0
- package/dist/editors/yaml-editor.js +22 -0
- package/dist/editors/yaml-editor.js.map +1 -0
- package/dist/ellipsis-g4z73tVE.js +25 -0
- package/dist/ellipsis-g4z73tVE.js.map +1 -0
- package/dist/erDiagram-INFDFZHY-DF8z82V9.js +1669 -0
- package/dist/erDiagram-INFDFZHY-DF8z82V9.js.map +1 -0
- package/dist/es2015-CoPv8Nx3.js +703 -0
- package/dist/es2015-CoPv8Nx3.js.map +1 -0
- package/dist/flowDiagram-PKNHOUZH--GnQiGTL.js +4165 -0
- package/dist/flowDiagram-PKNHOUZH--GnQiGTL.js.map +1 -0
- package/dist/form/calendar/index.d.ts +41 -0
- package/dist/form/calendar/index.d.ts.map +1 -0
- package/dist/form/calendar/index.js +172 -0
- package/dist/form/calendar/index.js.map +1 -0
- package/dist/form/calendar/types.d.ts +18 -0
- package/dist/form/calendar/types.d.ts.map +1 -0
- package/dist/form/color-picker/index.d.ts +78 -0
- package/dist/form/color-picker/index.d.ts.map +1 -0
- package/dist/form/color-picker/index.js +547 -0
- package/dist/form/color-picker/index.js.map +1 -0
- package/dist/form/color-picker/types.d.ts +14 -0
- package/dist/form/color-picker/types.d.ts.map +1 -0
- package/dist/form/cron-editor/index.d.ts +56 -0
- package/dist/form/cron-editor/index.d.ts.map +1 -0
- package/dist/form/cron-editor/index.js +312 -0
- package/dist/form/cron-editor/index.js.map +1 -0
- package/dist/form/cron-editor/parser.d.ts +12 -0
- package/dist/form/cron-editor/parser.d.ts.map +1 -0
- package/dist/form/cron-editor/parser.js +211 -0
- package/dist/form/cron-editor/parser.js.map +1 -0
- package/dist/form/cron-editor/types.d.ts +31 -0
- package/dist/form/cron-editor/types.d.ts.map +1 -0
- package/dist/form/date-picker/index.d.ts +28 -0
- package/dist/form/date-picker/index.d.ts.map +1 -0
- package/dist/form/date-picker/index.js +115 -0
- package/dist/form/date-picker/index.js.map +1 -0
- package/dist/form/date-picker/range.d.ts +34 -0
- package/dist/form/date-picker/range.d.ts.map +1 -0
- package/dist/form/date-picker/range.js +179 -0
- package/dist/form/date-picker/range.js.map +1 -0
- package/dist/form/date-picker/time.d.ts +41 -0
- package/dist/form/date-picker/time.d.ts.map +1 -0
- package/dist/form/date-picker/time.js +146 -0
- package/dist/form/date-picker/time.js.map +1 -0
- package/dist/form/date-picker/types.d.ts +52 -0
- package/dist/form/date-picker/types.d.ts.map +1 -0
- package/dist/form/direction/index.d.ts +25 -0
- package/dist/form/direction/index.d.ts.map +1 -0
- package/dist/form/direction/index.js +36 -0
- package/dist/form/direction/index.js.map +1 -0
- package/dist/form/index.d.ts +19 -0
- package/dist/form/index.d.ts.map +1 -0
- package/dist/form/index.js +10 -0
- package/dist/form/tag-input/index.d.ts +45 -0
- package/dist/form/tag-input/index.d.ts.map +1 -0
- package/dist/form/tag-input/index.js +208 -0
- package/dist/form/tag-input/index.js.map +1 -0
- package/dist/form/tag-input/types.d.ts +22 -0
- package/dist/form/tag-input/types.d.ts.map +1 -0
- package/dist/ganttDiagram-A5KZAMGK-C-ecgUuM.js +3075 -0
- package/dist/ganttDiagram-A5KZAMGK-C-ecgUuM.js.map +1 -0
- package/dist/gitGraph-HDMCJU4V-Bc1dZdnh.js +3 -0
- package/dist/gitGraphDiagram-K3NZZRJ6-B3SX2MOp.js +628 -0
- package/dist/gitGraphDiagram-K3NZZRJ6-B3SX2MOp.js.map +1 -0
- package/dist/graphlib-B9J5YQhs.js +227 -0
- package/dist/graphlib-B9J5YQhs.js.map +1 -0
- package/dist/icons/index.d.ts +16 -0
- package/dist/icons/index.d.ts.map +1 -0
- package/dist/icons/index.js +93 -0
- package/dist/icons/index.js.map +1 -0
- package/dist/index.d.ts +54 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +138 -0
- package/dist/info-3K5VOQVL-Bbwt2VhK.js +3 -0
- package/dist/infoDiagram-LFFYTUFH-C8h9fMHW.js +21 -0
- package/dist/infoDiagram-LFFYTUFH-C8h9fMHW.js.map +1 -0
- package/dist/init-w1fYmhFN.js +17 -0
- package/dist/init-w1fYmhFN.js.map +1 -0
- package/dist/input-6tYy57mp.js +311 -0
- package/dist/input-6tYy57mp.js.map +1 -0
- package/dist/interactive-9Ky-mbcb.js +24 -0
- package/dist/interactive-9Ky-mbcb.js.map +1 -0
- package/dist/isArrayLikeObject-Bdc4g39x.js +580 -0
- package/dist/isArrayLikeObject-Bdc4g39x.js.map +1 -0
- package/dist/isEmpty-CrXtQ9Zv.js +37 -0
- package/dist/isEmpty-CrXtQ9Zv.js.map +1 -0
- package/dist/ishikawaDiagram-PHBUUO56-Dzja5vrM.js +719 -0
- package/dist/ishikawaDiagram-PHBUUO56-Dzja5vrM.js.map +1 -0
- package/dist/journeyDiagram-4ABVD52K-CUzkcpCV.js +886 -0
- package/dist/journeyDiagram-4ABVD52K-CUzkcpCV.js.map +1 -0
- package/dist/json-CeyVGbpw.js +907 -0
- package/dist/json-CeyVGbpw.js.map +1 -0
- package/dist/kanban-definition-K7BYSVSG-DvIRVHW0.js +973 -0
- package/dist/kanban-definition-K7BYSVSG-DvIRVHW0.js.map +1 -0
- package/dist/katex-DWv23pJW.js +21981 -0
- package/dist/katex-DWv23pJW.js.map +1 -0
- package/dist/keyboard-BzL08saM.js +245 -0
- package/dist/keyboard-BzL08saM.js.map +1 -0
- package/dist/label-BObzQvEY.js +55 -0
- package/dist/label-BObzQvEY.js.map +1 -0
- package/dist/layout/index.d.ts +69 -0
- package/dist/layout/index.d.ts.map +1 -0
- package/dist/layout/index.js +240 -0
- package/dist/layout/index.js.map +1 -0
- package/dist/line-CmjYdUkH.js +36 -0
- package/dist/line-CmjYdUkH.js.map +1 -0
- package/dist/linear-DTQb0J_9.js +244 -0
- package/dist/linear-DTQb0J_9.js.map +1 -0
- package/dist/markdown-viewer-BLoPrrpk.js +211 -0
- package/dist/markdown-viewer-BLoPrrpk.js.map +1 -0
- package/dist/math-8tgL_lKq.js +12 -0
- package/dist/math-8tgL_lKq.js.map +1 -0
- package/dist/menubar-DnARRQDT.js +438 -0
- package/dist/menubar-DnARRQDT.js.map +1 -0
- package/dist/mermaid-parser.core-CuiIDpxY.js +61 -0
- package/dist/mermaid-parser.core-CuiIDpxY.js.map +1 -0
- package/dist/mermaid.core-DwgIyYMX.js +923 -0
- package/dist/mermaid.core-DwgIyYMX.js.map +1 -0
- package/dist/mindmap-definition-YRQLILUH-BOCS5UWn.js +966 -0
- package/dist/mindmap-definition-YRQLILUH-BOCS5UWn.js.map +1 -0
- package/dist/navigation/breadcrumb/index.d.ts +22 -0
- package/dist/navigation/breadcrumb/index.d.ts.map +1 -0
- package/dist/navigation/breadcrumb/index.js +74 -0
- package/dist/navigation/breadcrumb/index.js.map +1 -0
- package/dist/navigation/breadcrumb/types.d.ts +19 -0
- package/dist/navigation/breadcrumb/types.d.ts.map +1 -0
- package/dist/navigation/drawer/index.d.ts +40 -0
- package/dist/navigation/drawer/index.d.ts.map +1 -0
- package/dist/navigation/drawer/index.js +120 -0
- package/dist/navigation/drawer/index.js.map +1 -0
- package/dist/navigation/drawer/types.d.ts +19 -0
- package/dist/navigation/drawer/types.d.ts.map +1 -0
- package/dist/navigation/dropdown-menu/index.d.ts +57 -0
- package/dist/navigation/dropdown-menu/index.d.ts.map +1 -0
- package/dist/navigation/dropdown-menu/index.js +231 -0
- package/dist/navigation/dropdown-menu/index.js.map +1 -0
- package/dist/navigation/dropdown-menu/types.d.ts +38 -0
- package/dist/navigation/dropdown-menu/types.d.ts.map +1 -0
- package/dist/navigation/index.d.ts +17 -0
- package/dist/navigation/index.d.ts.map +1 -0
- package/dist/navigation/index.js +7 -0
- package/dist/navigation/menubar/index.d.ts +38 -0
- package/dist/navigation/menubar/index.d.ts.map +1 -0
- package/dist/navigation/menubar/index.js +166 -0
- package/dist/navigation/menubar/index.js.map +1 -0
- package/dist/navigation/menubar/types.d.ts +24 -0
- package/dist/navigation/menubar/types.d.ts.map +1 -0
- package/dist/navigation/navigation-menu/index.d.ts +49 -0
- package/dist/navigation/navigation-menu/index.d.ts.map +1 -0
- package/dist/navigation/navigation-menu/index.js +173 -0
- package/dist/navigation/navigation-menu/index.js.map +1 -0
- package/dist/navigation/navigation-menu/types.d.ts +24 -0
- package/dist/navigation/navigation-menu/types.d.ts.map +1 -0
- package/dist/navigation/stepper/index.d.ts +34 -0
- package/dist/navigation/stepper/index.d.ts.map +1 -0
- package/dist/navigation/stepper/index.js +91 -0
- package/dist/navigation/stepper/index.js.map +1 -0
- package/dist/navigation/stepper/types.d.ts +22 -0
- package/dist/navigation/stepper/types.d.ts.map +1 -0
- package/dist/navigation-menu-CR-D1doi.js +622 -0
- package/dist/navigation-menu-CR-D1doi.js.map +1 -0
- package/dist/ordinal-CYknuT-U.js +67 -0
- package/dist/ordinal-CYknuT-U.js.map +1 -0
- package/dist/overlays/alert-dialog/index.d.ts +35 -0
- package/dist/overlays/alert-dialog/index.d.ts.map +1 -0
- package/dist/overlays/alert-dialog/index.js +137 -0
- package/dist/overlays/alert-dialog/index.js.map +1 -0
- package/dist/overlays/alert-dialog/types.d.ts +17 -0
- package/dist/overlays/alert-dialog/types.d.ts.map +1 -0
- package/dist/overlays/carousel/index.d.ts +69 -0
- package/dist/overlays/carousel/index.d.ts.map +1 -0
- package/dist/overlays/carousel/index.js +154 -0
- package/dist/overlays/carousel/index.js.map +1 -0
- package/dist/overlays/carousel/types.d.ts +21 -0
- package/dist/overlays/carousel/types.d.ts.map +1 -0
- package/dist/overlays/index.d.ts +11 -0
- package/dist/overlays/index.d.ts.map +1 -0
- package/dist/overlays/index.js +4 -0
- package/dist/overlays/sheet/index.d.ts +37 -0
- package/dist/overlays/sheet/index.d.ts.map +1 -0
- package/dist/overlays/sheet/index.js +120 -0
- package/dist/overlays/sheet/index.js.map +1 -0
- package/dist/overlays/sheet/types.d.ts +20 -0
- package/dist/overlays/sheet/types.d.ts.map +1 -0
- package/dist/packet-RMMSAZCW-BJSH0V2C.js +3 -0
- package/dist/pagination-Co5Y-NPF.js +80 -0
- package/dist/pagination-Co5Y-NPF.js.map +1 -0
- package/dist/passkey/index.d.ts +77 -0
- package/dist/passkey/index.d.ts.map +1 -0
- package/dist/passkey/index.js +90 -0
- package/dist/passkey/index.js.map +1 -0
- package/dist/path-CmOMDdHx.js +87 -0
- package/dist/path-CmOMDdHx.js.map +1 -0
- package/dist/pie-UPGHQEXC-Bdq_H4Og.js +3 -0
- package/dist/pieDiagram-SKSYHLDU-CHElRUS-.js +167 -0
- package/dist/pieDiagram-SKSYHLDU-CHElRUS-.js.map +1 -0
- package/dist/primitives/button/button-group.d.ts +13 -0
- package/dist/primitives/button/button-group.d.ts.map +1 -0
- package/dist/primitives/button/index.d.ts +31 -0
- package/dist/primitives/button/index.d.ts.map +1 -0
- package/dist/primitives/button/index.js +2 -0
- package/dist/primitives/button/types.d.ts +22 -0
- package/dist/primitives/button/types.d.ts.map +1 -0
- package/dist/primitives/button/variants.d.ts +12 -0
- package/dist/primitives/button/variants.d.ts.map +1 -0
- package/dist/primitives/checkbox/group.d.ts +17 -0
- package/dist/primitives/checkbox/group.d.ts.map +1 -0
- package/dist/primitives/checkbox/group.js +58 -0
- package/dist/primitives/checkbox/group.js.map +1 -0
- package/dist/primitives/checkbox/index.d.ts +19 -0
- package/dist/primitives/checkbox/index.d.ts.map +1 -0
- package/dist/primitives/checkbox/index.js +38 -0
- package/dist/primitives/checkbox/index.js.map +1 -0
- package/dist/primitives/checkbox/types.d.ts +32 -0
- package/dist/primitives/checkbox/types.d.ts.map +1 -0
- package/dist/primitives/field/index.d.ts +44 -0
- package/dist/primitives/field/index.d.ts.map +1 -0
- package/dist/primitives/field/index.js +60 -0
- package/dist/primitives/field/index.js.map +1 -0
- package/dist/primitives/field/types.d.ts +14 -0
- package/dist/primitives/field/types.d.ts.map +1 -0
- package/dist/primitives/index.d.ts +38 -0
- package/dist/primitives/index.d.ts.map +1 -0
- package/dist/primitives/index.js +19 -0
- package/dist/primitives/input/index.d.ts +29 -0
- package/dist/primitives/input/index.d.ts.map +1 -0
- package/dist/primitives/input/index.js +2 -0
- package/dist/primitives/input/input-group.d.ts +17 -0
- package/dist/primitives/input/input-group.d.ts.map +1 -0
- package/dist/primitives/input/input-otp.d.ts +27 -0
- package/dist/primitives/input/input-otp.d.ts.map +1 -0
- package/dist/primitives/input/ip-input.d.ts +25 -0
- package/dist/primitives/input/ip-input.d.ts.map +1 -0
- package/dist/primitives/input/textarea.d.ts +24 -0
- package/dist/primitives/input/textarea.d.ts.map +1 -0
- package/dist/primitives/input/types.d.ts +67 -0
- package/dist/primitives/input/types.d.ts.map +1 -0
- package/dist/primitives/kbd/index.d.ts +19 -0
- package/dist/primitives/kbd/index.d.ts.map +1 -0
- package/dist/primitives/kbd/index.js +28 -0
- package/dist/primitives/kbd/index.js.map +1 -0
- package/dist/primitives/label/index.d.ts +27 -0
- package/dist/primitives/label/index.d.ts.map +1 -0
- package/dist/primitives/label/index.js +29 -0
- package/dist/primitives/label/index.js.map +1 -0
- package/dist/primitives/radio/index.d.ts +21 -0
- package/dist/primitives/radio/index.d.ts.map +1 -0
- package/dist/primitives/radio/index.js +78 -0
- package/dist/primitives/radio/index.js.map +1 -0
- package/dist/primitives/radio/types.d.ts +21 -0
- package/dist/primitives/radio/types.d.ts.map +1 -0
- package/dist/primitives/scroll-area/index.d.ts +27 -0
- package/dist/primitives/scroll-area/index.d.ts.map +1 -0
- package/dist/primitives/scroll-area/index.js +29 -0
- package/dist/primitives/scroll-area/index.js.map +1 -0
- package/dist/primitives/select/combobox.d.ts +42 -0
- package/dist/primitives/select/combobox.d.ts.map +1 -0
- package/dist/primitives/select/combobox.js +162 -0
- package/dist/primitives/select/combobox.js.map +1 -0
- package/dist/primitives/select/index.d.ts +47 -0
- package/dist/primitives/select/index.d.ts.map +1 -0
- package/dist/primitives/select/index.js +193 -0
- package/dist/primitives/select/index.js.map +1 -0
- package/dist/primitives/select/native.d.ts +19 -0
- package/dist/primitives/select/native.d.ts.map +1 -0
- package/dist/primitives/select/native.js +57 -0
- package/dist/primitives/select/native.js.map +1 -0
- package/dist/primitives/select/types.d.ts +49 -0
- package/dist/primitives/select/types.d.ts.map +1 -0
- package/dist/primitives/separator/index.d.ts +16 -0
- package/dist/primitives/separator/index.d.ts.map +1 -0
- package/dist/primitives/separator/index.js +16 -0
- package/dist/primitives/separator/index.js.map +1 -0
- package/dist/primitives/skeleton/index.d.ts +21 -0
- package/dist/primitives/skeleton/index.d.ts.map +1 -0
- package/dist/primitives/skeleton/index.js +19 -0
- package/dist/primitives/skeleton/index.js.map +1 -0
- package/dist/primitives/slider/index.d.ts +48 -0
- package/dist/primitives/slider/index.d.ts.map +1 -0
- package/dist/primitives/slider/index.js +118 -0
- package/dist/primitives/slider/index.js.map +1 -0
- package/dist/primitives/slider/types.d.ts +19 -0
- package/dist/primitives/slider/types.d.ts.map +1 -0
- package/dist/primitives/spinner/index.d.ts +20 -0
- package/dist/primitives/spinner/index.d.ts.map +1 -0
- package/dist/primitives/spinner/index.js +23 -0
- package/dist/primitives/spinner/index.js.map +1 -0
- package/dist/primitives/switch/index.d.ts +28 -0
- package/dist/primitives/switch/index.d.ts.map +1 -0
- package/dist/primitives/switch/index.js +44 -0
- package/dist/primitives/switch/index.js.map +1 -0
- package/dist/primitives/switch/types.d.ts +16 -0
- package/dist/primitives/switch/types.d.ts.map +1 -0
- package/dist/primitives/toggle/index.d.ts +25 -0
- package/dist/primitives/toggle/index.d.ts.map +1 -0
- package/dist/primitives/toggle/index.js +2 -0
- package/dist/primitives/toggle/toggle-group.d.ts +29 -0
- package/dist/primitives/toggle/toggle-group.d.ts.map +1 -0
- package/dist/primitives/toggle/types.d.ts +35 -0
- package/dist/primitives/toggle/types.d.ts.map +1 -0
- package/dist/primitives/utils.d.ts +9 -0
- package/dist/primitives/utils.d.ts.map +1 -0
- package/dist/purify.es-oNgIHWpC.js +551 -0
- package/dist/purify.es-oNgIHWpC.js.map +1 -0
- package/dist/quadrantDiagram-337W2JSQ-CCp6NZKq.js +1977 -0
- package/dist/quadrantDiagram-337W2JSQ-CCp6NZKq.js.map +1 -0
- package/dist/radar-KQ55EAFF-9Ge_dfwM.js +3 -0
- package/dist/radio-group-70BFGDbL.js +199 -0
- package/dist/radio-group-70BFGDbL.js.map +1 -0
- package/dist/react/brand/index.d.ts +36 -0
- package/dist/react/brand/index.d.ts.map +1 -0
- package/dist/react/brand.js +81 -0
- package/dist/react/brand.js.map +1 -0
- package/dist/react/index.d.ts +6 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/primitives/alert-dialog.d.ts +15 -0
- package/dist/react/primitives/alert-dialog.d.ts.map +1 -0
- package/dist/react/primitives/alert-dialog.js +2 -0
- package/dist/react/primitives/alert.d.ts +16 -0
- package/dist/react/primitives/alert.d.ts.map +1 -0
- package/dist/react/primitives/alert.js +61 -0
- package/dist/react/primitives/alert.js.map +1 -0
- package/dist/react/primitives/animated-counter.d.ts +37 -0
- package/dist/react/primitives/animated-counter.d.ts.map +1 -0
- package/dist/react/primitives/animated-counter.js +86 -0
- package/dist/react/primitives/animated-counter.js.map +1 -0
- package/dist/react/primitives/aspect-ratio.d.ts +8 -0
- package/dist/react/primitives/aspect-ratio.d.ts.map +1 -0
- package/dist/react/primitives/aspect-ratio.js +23 -0
- package/dist/react/primitives/aspect-ratio.js.map +1 -0
- package/dist/react/primitives/attack-path.d.ts +34 -0
- package/dist/react/primitives/attack-path.d.ts.map +1 -0
- package/dist/react/primitives/attack-path.js +125 -0
- package/dist/react/primitives/attack-path.js.map +1 -0
- package/dist/react/primitives/avatar.d.ts +25 -0
- package/dist/react/primitives/avatar.d.ts.map +1 -0
- package/dist/react/primitives/avatar.js +95 -0
- package/dist/react/primitives/avatar.js.map +1 -0
- package/dist/react/primitives/badge.d.ts +11 -0
- package/dist/react/primitives/badge.d.ts.map +1 -0
- package/dist/react/primitives/badge.js +32 -0
- package/dist/react/primitives/badge.js.map +1 -0
- package/dist/react/primitives/breadcrumb.d.ts +12 -0
- package/dist/react/primitives/breadcrumb.d.ts.map +1 -0
- package/dist/react/primitives/breadcrumb.js +72 -0
- package/dist/react/primitives/breadcrumb.js.map +1 -0
- package/dist/react/primitives/button.d.ts +18 -0
- package/dist/react/primitives/button.d.ts.map +1 -0
- package/dist/react/primitives/button.js +82 -0
- package/dist/react/primitives/button.js.map +1 -0
- package/dist/react/primitives/calendar.d.ts +31 -0
- package/dist/react/primitives/calendar.d.ts.map +1 -0
- package/dist/react/primitives/calendar.js +139 -0
- package/dist/react/primitives/calendar.js.map +1 -0
- package/dist/react/primitives/card.d.ts +11 -0
- package/dist/react/primitives/card.d.ts.map +1 -0
- package/dist/react/primitives/card.js +32 -0
- package/dist/react/primitives/card.js.map +1 -0
- package/dist/react/primitives/carousel.d.ts +25 -0
- package/dist/react/primitives/carousel.d.ts.map +1 -0
- package/dist/react/primitives/carousel.js +2 -0
- package/dist/react/primitives/chart-area.d.ts +9 -0
- package/dist/react/primitives/chart-area.d.ts.map +1 -0
- package/dist/react/primitives/chart-area.js +26 -0
- package/dist/react/primitives/chart-area.js.map +1 -0
- package/dist/react/primitives/chart-bar.d.ts +9 -0
- package/dist/react/primitives/chart-bar.d.ts.map +1 -0
- package/dist/react/primitives/chart-bar.js +26 -0
- package/dist/react/primitives/chart-bar.js.map +1 -0
- package/dist/react/primitives/chart-candlestick.d.ts +8 -0
- package/dist/react/primitives/chart-candlestick.d.ts.map +1 -0
- package/dist/react/primitives/chart-candlestick.js +26 -0
- package/dist/react/primitives/chart-candlestick.js.map +1 -0
- package/dist/react/primitives/chart-funnel.d.ts +8 -0
- package/dist/react/primitives/chart-funnel.d.ts.map +1 -0
- package/dist/react/primitives/chart-funnel.js +26 -0
- package/dist/react/primitives/chart-funnel.js.map +1 -0
- package/dist/react/primitives/chart-gauge.d.ts +8 -0
- package/dist/react/primitives/chart-gauge.d.ts.map +1 -0
- package/dist/react/primitives/chart-gauge.js +37 -0
- package/dist/react/primitives/chart-gauge.js.map +1 -0
- package/dist/react/primitives/chart-heatmap.d.ts +8 -0
- package/dist/react/primitives/chart-heatmap.d.ts.map +1 -0
- package/dist/react/primitives/chart-heatmap.js +26 -0
- package/dist/react/primitives/chart-heatmap.js.map +1 -0
- package/dist/react/primitives/chart-line.d.ts +9 -0
- package/dist/react/primitives/chart-line.d.ts.map +1 -0
- package/dist/react/primitives/chart-line.js +26 -0
- package/dist/react/primitives/chart-line.js.map +1 -0
- package/dist/react/primitives/chart-pie.d.ts +8 -0
- package/dist/react/primitives/chart-pie.d.ts.map +1 -0
- package/dist/react/primitives/chart-pie.js +26 -0
- package/dist/react/primitives/chart-pie.js.map +1 -0
- package/dist/react/primitives/chart-radar.d.ts +8 -0
- package/dist/react/primitives/chart-radar.d.ts.map +1 -0
- package/dist/react/primitives/chart-radar.js +26 -0
- package/dist/react/primitives/chart-radar.js.map +1 -0
- package/dist/react/primitives/chart-sankey.d.ts +8 -0
- package/dist/react/primitives/chart-sankey.d.ts.map +1 -0
- package/dist/react/primitives/chart-sankey.js +26 -0
- package/dist/react/primitives/chart-sankey.js.map +1 -0
- package/dist/react/primitives/chart-scatter.d.ts +9 -0
- package/dist/react/primitives/chart-scatter.d.ts.map +1 -0
- package/dist/react/primitives/chart-scatter.js +26 -0
- package/dist/react/primitives/chart-scatter.js.map +1 -0
- package/dist/react/primitives/chart-sparkline.d.ts +7 -0
- package/dist/react/primitives/chart-sparkline.d.ts.map +1 -0
- package/dist/react/primitives/chart-sparkline.js +26 -0
- package/dist/react/primitives/chart-sparkline.js.map +1 -0
- package/dist/react/primitives/chart-treemap.d.ts +8 -0
- package/dist/react/primitives/chart-treemap.d.ts.map +1 -0
- package/dist/react/primitives/chart-treemap.js +26 -0
- package/dist/react/primitives/chart-treemap.js.map +1 -0
- package/dist/react/primitives/chart-waterfall.d.ts +8 -0
- package/dist/react/primitives/chart-waterfall.d.ts.map +1 -0
- package/dist/react/primitives/chart-waterfall.js +26 -0
- package/dist/react/primitives/chart-waterfall.js.map +1 -0
- package/dist/react/primitives/checkbox.d.ts +9 -0
- package/dist/react/primitives/checkbox.d.ts.map +1 -0
- package/dist/react/primitives/checkbox.js +28 -0
- package/dist/react/primitives/checkbox.js.map +1 -0
- package/dist/react/primitives/code-block.d.ts +16 -0
- package/dist/react/primitives/code-block.d.ts.map +1 -0
- package/dist/react/primitives/code-block.js +67 -0
- package/dist/react/primitives/code-block.js.map +1 -0
- package/dist/react/primitives/code-viewer.d.ts +23 -0
- package/dist/react/primitives/code-viewer.d.ts.map +1 -0
- package/dist/react/primitives/code-viewer.js +229 -0
- package/dist/react/primitives/code-viewer.js.map +1 -0
- package/dist/react/primitives/collapsible.d.ts +32 -0
- package/dist/react/primitives/collapsible.d.ts.map +1 -0
- package/dist/react/primitives/collapsible.js +51 -0
- package/dist/react/primitives/collapsible.js.map +1 -0
- package/dist/react/primitives/color-picker.d.ts +18 -0
- package/dist/react/primitives/color-picker.d.ts.map +1 -0
- package/dist/react/primitives/color-picker.js +287 -0
- package/dist/react/primitives/color-picker.js.map +1 -0
- package/dist/react/primitives/context-menu.d.ts +24 -0
- package/dist/react/primitives/context-menu.d.ts.map +1 -0
- package/dist/react/primitives/context-menu.js +127 -0
- package/dist/react/primitives/context-menu.js.map +1 -0
- package/dist/react/primitives/copy-button.d.ts +23 -0
- package/dist/react/primitives/copy-button.d.ts.map +1 -0
- package/dist/react/primitives/copy-button.js +59 -0
- package/dist/react/primitives/copy-button.js.map +1 -0
- package/dist/react/primitives/cron-editor.d.ts +39 -0
- package/dist/react/primitives/cron-editor.d.ts.map +1 -0
- package/dist/react/primitives/cron-editor.js +456 -0
- package/dist/react/primitives/cron-editor.js.map +1 -0
- package/dist/react/primitives/cvss-badge.d.ts +21 -0
- package/dist/react/primitives/cvss-badge.d.ts.map +1 -0
- package/dist/react/primitives/cvss-badge.js +70 -0
- package/dist/react/primitives/cvss-badge.js.map +1 -0
- package/dist/react/primitives/data-grid.d.ts +73 -0
- package/dist/react/primitives/data-grid.d.ts.map +1 -0
- package/dist/react/primitives/data-grid.js +775 -0
- package/dist/react/primitives/data-grid.js.map +1 -0
- package/dist/react/primitives/data-table.d.ts +49 -0
- package/dist/react/primitives/data-table.d.ts.map +1 -0
- package/dist/react/primitives/data-table.js +144 -0
- package/dist/react/primitives/data-table.js.map +1 -0
- package/dist/react/primitives/date-picker.d.ts +57 -0
- package/dist/react/primitives/date-picker.d.ts.map +1 -0
- package/dist/react/primitives/date-picker.js +394 -0
- package/dist/react/primitives/date-picker.js.map +1 -0
- package/dist/react/primitives/detection-status.d.ts +47 -0
- package/dist/react/primitives/detection-status.d.ts.map +1 -0
- package/dist/react/primitives/detection-status.js +284 -0
- package/dist/react/primitives/detection-status.js.map +1 -0
- package/dist/react/primitives/dialog.d.ts +16 -0
- package/dist/react/primitives/dialog.d.ts.map +1 -0
- package/dist/react/primitives/dialog.js +87 -0
- package/dist/react/primitives/dialog.js.map +1 -0
- package/dist/react/primitives/direction.d.ts +21 -0
- package/dist/react/primitives/direction.d.ts.map +1 -0
- package/dist/react/primitives/direction.js +43 -0
- package/dist/react/primitives/direction.js.map +1 -0
- package/dist/react/primitives/drawer.d.ts +16 -0
- package/dist/react/primitives/drawer.d.ts.map +1 -0
- package/dist/react/primitives/drawer.js +88 -0
- package/dist/react/primitives/drawer.js.map +1 -0
- package/dist/react/primitives/dropdown-menu.d.ts +10 -0
- package/dist/react/primitives/dropdown-menu.d.ts.map +1 -0
- package/dist/react/primitives/dropdown-menu.js +2 -0
- package/dist/react/primitives/empty-state.d.ts +17 -0
- package/dist/react/primitives/empty-state.d.ts.map +1 -0
- package/dist/react/primitives/empty-state.js +42 -0
- package/dist/react/primitives/empty-state.js.map +1 -0
- package/dist/react/primitives/error-boundary.d.ts +20 -0
- package/dist/react/primitives/error-boundary.d.ts.map +1 -0
- package/dist/react/primitives/error-boundary.js +30 -0
- package/dist/react/primitives/error-boundary.js.map +1 -0
- package/dist/react/primitives/field.d.ts +17 -0
- package/dist/react/primitives/field.d.ts.map +1 -0
- package/dist/react/primitives/field.js +41 -0
- package/dist/react/primitives/field.js.map +1 -0
- package/dist/react/primitives/file-tree.d.ts +28 -0
- package/dist/react/primitives/file-tree.d.ts.map +1 -0
- package/dist/react/primitives/file-tree.js +183 -0
- package/dist/react/primitives/file-tree.js.map +1 -0
- package/dist/react/primitives/flow-diagram.d.ts +18 -0
- package/dist/react/primitives/flow-diagram.d.ts.map +1 -0
- package/dist/react/primitives/flow-diagram.js +40 -0
- package/dist/react/primitives/flow-diagram.js.map +1 -0
- package/dist/react/primitives/heatmap-legend.d.ts +20 -0
- package/dist/react/primitives/heatmap-legend.d.ts.map +1 -0
- package/dist/react/primitives/heatmap-legend.js +29 -0
- package/dist/react/primitives/heatmap-legend.js.map +1 -0
- package/dist/react/primitives/heatmap-toolbar.d.ts +20 -0
- package/dist/react/primitives/heatmap-toolbar.d.ts.map +1 -0
- package/dist/react/primitives/heatmap-toolbar.js +34 -0
- package/dist/react/primitives/heatmap-toolbar.js.map +1 -0
- package/dist/react/primitives/hover-card.d.ts +23 -0
- package/dist/react/primitives/hover-card.d.ts.map +1 -0
- package/dist/react/primitives/hover-card.js +73 -0
- package/dist/react/primitives/hover-card.js.map +1 -0
- package/dist/react/primitives/index.d.ts +99 -0
- package/dist/react/primitives/index.d.ts.map +1 -0
- package/dist/react/primitives/index.js +99 -0
- package/dist/react/primitives/input.d.ts +10 -0
- package/dist/react/primitives/input.d.ts.map +1 -0
- package/dist/react/primitives/input.js +18 -0
- package/dist/react/primitives/input.js.map +1 -0
- package/dist/react/primitives/json-path-browser.d.ts +15 -0
- package/dist/react/primitives/json-path-browser.d.ts.map +1 -0
- package/dist/react/primitives/json-path-browser.js +191 -0
- package/dist/react/primitives/json-path-browser.js.map +1 -0
- package/dist/react/primitives/kanban.d.ts +73 -0
- package/dist/react/primitives/kanban.d.ts.map +1 -0
- package/dist/react/primitives/kanban.js +210 -0
- package/dist/react/primitives/kanban.js.map +1 -0
- package/dist/react/primitives/kbd.d.ts +9 -0
- package/dist/react/primitives/kbd.d.ts.map +1 -0
- package/dist/react/primitives/kbd.js +22 -0
- package/dist/react/primitives/kbd.js.map +1 -0
- package/dist/react/primitives/label.d.ts +12 -0
- package/dist/react/primitives/label.d.ts.map +1 -0
- package/dist/react/primitives/label.js +2 -0
- package/dist/react/primitives/map.d.ts +23 -0
- package/dist/react/primitives/map.d.ts.map +1 -0
- package/dist/react/primitives/map.js +39 -0
- package/dist/react/primitives/map.js.map +1 -0
- package/dist/react/primitives/markdown-viewer.d.ts +10 -0
- package/dist/react/primitives/markdown-viewer.d.ts.map +1 -0
- package/dist/react/primitives/markdown-viewer.js +0 -0
- package/dist/react/primitives/markdown-viewer.js.map +1 -0
- package/dist/react/primitives/menubar.d.ts +26 -0
- package/dist/react/primitives/menubar.d.ts.map +1 -0
- package/dist/react/primitives/menubar.js +2 -0
- package/dist/react/primitives/mermaid-diagram.d.ts +16 -0
- package/dist/react/primitives/mermaid-diagram.d.ts.map +1 -0
- package/dist/react/primitives/mermaid-diagram.js +38 -0
- package/dist/react/primitives/mermaid-diagram.js.map +1 -0
- package/dist/react/primitives/mitre-matrix.d.ts +28 -0
- package/dist/react/primitives/mitre-matrix.d.ts.map +1 -0
- package/dist/react/primitives/mitre-matrix.js +125 -0
- package/dist/react/primitives/mitre-matrix.js.map +1 -0
- package/dist/react/primitives/modal.d.ts +22 -0
- package/dist/react/primitives/modal.d.ts.map +1 -0
- package/dist/react/primitives/modal.js +85 -0
- package/dist/react/primitives/modal.js.map +1 -0
- package/dist/react/primitives/navigation-menu.d.ts +13 -0
- package/dist/react/primitives/navigation-menu.d.ts.map +1 -0
- package/dist/react/primitives/navigation-menu.js +2 -0
- package/dist/react/primitives/network-graph.d.ts +20 -0
- package/dist/react/primitives/network-graph.d.ts.map +1 -0
- package/dist/react/primitives/network-graph.js +46 -0
- package/dist/react/primitives/network-graph.js.map +1 -0
- package/dist/react/primitives/notification-center.d.ts +33 -0
- package/dist/react/primitives/notification-center.d.ts.map +1 -0
- package/dist/react/primitives/notification-center.js +132 -0
- package/dist/react/primitives/notification-center.js.map +1 -0
- package/dist/react/primitives/pagination.d.ts +13 -0
- package/dist/react/primitives/pagination.d.ts.map +1 -0
- package/dist/react/primitives/pagination.js +2 -0
- package/dist/react/primitives/popover.d.ts +19 -0
- package/dist/react/primitives/popover.d.ts.map +1 -0
- package/dist/react/primitives/popover.js +142 -0
- package/dist/react/primitives/popover.js.map +1 -0
- package/dist/react/primitives/progress.d.ts +29 -0
- package/dist/react/primitives/progress.d.ts.map +1 -0
- package/dist/react/primitives/progress.js +98 -0
- package/dist/react/primitives/progress.js.map +1 -0
- package/dist/react/primitives/radio-group.d.ts +6 -0
- package/dist/react/primitives/radio-group.d.ts.map +1 -0
- package/dist/react/primitives/radio-group.js +2 -0
- package/dist/react/primitives/ripple.d.ts +44 -0
- package/dist/react/primitives/ripple.d.ts.map +1 -0
- package/dist/react/primitives/ripple.js +63 -0
- package/dist/react/primitives/ripple.js.map +1 -0
- package/dist/react/primitives/rule-editor.d.ts +31 -0
- package/dist/react/primitives/rule-editor.d.ts.map +1 -0
- package/dist/react/primitives/rule-editor.js +261 -0
- package/dist/react/primitives/rule-editor.js.map +1 -0
- package/dist/react/primitives/scroll-area.d.ts +6 -0
- package/dist/react/primitives/scroll-area.d.ts.map +1 -0
- package/dist/react/primitives/scroll-area.js +2 -0
- package/dist/react/primitives/search.d.ts +45 -0
- package/dist/react/primitives/search.d.ts.map +1 -0
- package/dist/react/primitives/search.js +318 -0
- package/dist/react/primitives/search.js.map +1 -0
- package/dist/react/primitives/select.d.ts +16 -0
- package/dist/react/primitives/select.d.ts.map +1 -0
- package/dist/react/primitives/select.js +2 -0
- package/dist/react/primitives/separator.d.ts +5 -0
- package/dist/react/primitives/separator.d.ts.map +1 -0
- package/dist/react/primitives/separator.js +2 -0
- package/dist/react/primitives/severity-indicator.d.ts +18 -0
- package/dist/react/primitives/severity-indicator.d.ts.map +1 -0
- package/dist/react/primitives/severity-indicator.js +74 -0
- package/dist/react/primitives/severity-indicator.js.map +1 -0
- package/dist/react/primitives/sheet.d.ts +16 -0
- package/dist/react/primitives/sheet.d.ts.map +1 -0
- package/dist/react/primitives/sheet.js +84 -0
- package/dist/react/primitives/sheet.js.map +1 -0
- package/dist/react/primitives/skeleton.d.ts +4 -0
- package/dist/react/primitives/skeleton.d.ts.map +1 -0
- package/dist/react/primitives/skeleton.js +15 -0
- package/dist/react/primitives/skeleton.js.map +1 -0
- package/dist/react/primitives/slide-panel.d.ts +28 -0
- package/dist/react/primitives/slide-panel.d.ts.map +1 -0
- package/dist/react/primitives/slide-panel.js +59 -0
- package/dist/react/primitives/slide-panel.js.map +1 -0
- package/dist/react/primitives/slider.d.ts +5 -0
- package/dist/react/primitives/slider.d.ts.map +1 -0
- package/dist/react/primitives/slider.js +2 -0
- package/dist/react/primitives/spinner.d.ts +10 -0
- package/dist/react/primitives/spinner.d.ts.map +1 -0
- package/dist/react/primitives/spinner.js +28 -0
- package/dist/react/primitives/spinner.js.map +1 -0
- package/dist/react/primitives/split-pane.d.ts +19 -0
- package/dist/react/primitives/split-pane.d.ts.map +1 -0
- package/dist/react/primitives/split-pane.js +83 -0
- package/dist/react/primitives/split-pane.js.map +1 -0
- package/dist/react/primitives/stat-card.d.ts +19 -0
- package/dist/react/primitives/stat-card.d.ts.map +1 -0
- package/dist/react/primitives/stat-card.js +86 -0
- package/dist/react/primitives/stat-card.js.map +1 -0
- package/dist/react/primitives/status-bar.d.ts +11 -0
- package/dist/react/primitives/status-bar.d.ts.map +1 -0
- package/dist/react/primitives/status-bar.js +38 -0
- package/dist/react/primitives/status-bar.js.map +1 -0
- package/dist/react/primitives/stepper.d.ts +15 -0
- package/dist/react/primitives/stepper.d.ts.map +1 -0
- package/dist/react/primitives/stepper.js +68 -0
- package/dist/react/primitives/stepper.js.map +1 -0
- package/dist/react/primitives/switch.d.ts +16 -0
- package/dist/react/primitives/switch.d.ts.map +1 -0
- package/dist/react/primitives/switch.js +2 -0
- package/dist/react/primitives/table.d.ts +11 -0
- package/dist/react/primitives/table.d.ts.map +1 -0
- package/dist/react/primitives/table.js +68 -0
- package/dist/react/primitives/table.js.map +1 -0
- package/dist/react/primitives/tabs.d.ts +8 -0
- package/dist/react/primitives/tabs.d.ts.map +1 -0
- package/dist/react/primitives/tabs.js +2 -0
- package/dist/react/primitives/tag-input.d.ts +27 -0
- package/dist/react/primitives/tag-input.d.ts.map +1 -0
- package/dist/react/primitives/tag-input.js +206 -0
- package/dist/react/primitives/tag-input.js.map +1 -0
- package/dist/react/primitives/terminal.d.ts +16 -0
- package/dist/react/primitives/terminal.d.ts.map +1 -0
- package/dist/react/primitives/terminal.js +138 -0
- package/dist/react/primitives/terminal.js.map +1 -0
- package/dist/react/primitives/textarea.d.ts +4 -0
- package/dist/react/primitives/textarea.d.ts.map +1 -0
- package/dist/react/primitives/textarea.js +15 -0
- package/dist/react/primitives/textarea.js.map +1 -0
- package/dist/react/primitives/timeline.d.ts +31 -0
- package/dist/react/primitives/timeline.d.ts.map +1 -0
- package/dist/react/primitives/timeline.js +188 -0
- package/dist/react/primitives/timeline.js.map +1 -0
- package/dist/react/primitives/toast.d.ts +49 -0
- package/dist/react/primitives/toast.d.ts.map +1 -0
- package/dist/react/primitives/toast.js +2 -0
- package/dist/react/primitives/toggle.d.ts +13 -0
- package/dist/react/primitives/toggle.d.ts.map +1 -0
- package/dist/react/primitives/toggle.js +2 -0
- package/dist/react/primitives/tooltip.d.ts +15 -0
- package/dist/react/primitives/tooltip.d.ts.map +1 -0
- package/dist/react/primitives/tooltip.js +2 -0
- package/dist/react/primitives/tree-view.d.ts +51 -0
- package/dist/react/primitives/tree-view.d.ts.map +1 -0
- package/dist/react/primitives/tree-view.js +121 -0
- package/dist/react/primitives/tree-view.js.map +1 -0
- package/dist/react/primitives/typography.d.ts +14 -0
- package/dist/react/primitives/typography.d.ts.map +1 -0
- package/dist/react/primitives/typography.js +85 -0
- package/dist/react/primitives/typography.js.map +1 -0
- package/dist/react/primitives/uptime-bar.d.ts +16 -0
- package/dist/react/primitives/uptime-bar.d.ts.map +1 -0
- package/dist/react/primitives/uptime-bar.js +44 -0
- package/dist/react/primitives/uptime-bar.js.map +1 -0
- package/dist/react/primitives/utils.d.ts +3 -0
- package/dist/react/primitives/utils.d.ts.map +1 -0
- package/dist/react/primitives/vulnerability-card.d.ts +40 -0
- package/dist/react/primitives/vulnerability-card.d.ts.map +1 -0
- package/dist/react/primitives/vulnerability-card.js +163 -0
- package/dist/react/primitives/vulnerability-card.js.map +1 -0
- package/dist/react/theme-toggle/index.d.ts +45 -0
- package/dist/react/theme-toggle/index.d.ts.map +1 -0
- package/dist/react/theme-toggle.js +2 -0
- package/dist/react/threat-visuals/index.d.ts +45 -0
- package/dist/react/threat-visuals/index.d.ts.map +1 -0
- package/dist/react/threat-visuals.js +102 -0
- package/dist/react/threat-visuals.js.map +1 -0
- package/dist/react/topology/edges.d.ts +9 -0
- package/dist/react/topology/edges.d.ts.map +1 -0
- package/dist/react/topology/index.d.ts +9 -0
- package/dist/react/topology/index.d.ts.map +1 -0
- package/dist/react/topology/layouts.d.ts +41 -0
- package/dist/react/topology/layouts.d.ts.map +1 -0
- package/dist/react/topology/logos.d.ts +26 -0
- package/dist/react/topology/logos.d.ts.map +1 -0
- package/dist/react/topology/nodes.d.ts +49 -0
- package/dist/react/topology/nodes.d.ts.map +1 -0
- package/dist/react/topology/safe-handle.d.ts +7 -0
- package/dist/react/topology/safe-handle.d.ts.map +1 -0
- package/dist/react/topology/styles.d.ts +2 -0
- package/dist/react/topology/styles.d.ts.map +1 -0
- package/dist/react/topology.js +2 -0
- package/dist/react.js +104 -0
- package/dist/requirementDiagram-Z7DCOOCP-DKZkXWbf.js +2203 -0
- package/dist/requirementDiagram-Z7DCOOCP-DKZkXWbf.js.map +1 -0
- package/dist/rough.esm-CJL_eUW6.js +1354 -0
- package/dist/rough.esm-CJL_eUW6.js.map +1 -0
- package/dist/sanitize-tXExwlw-.js +16 -0
- package/dist/sanitize-tXExwlw-.js.map +1 -0
- package/dist/sankeyDiagram-WA2Y5GQK-DCrlTOfN.js +923 -0
- package/dist/sankeyDiagram-WA2Y5GQK-DCrlTOfN.js.map +1 -0
- package/dist/scroll-area-DSx2nCB7.js +528 -0
- package/dist/scroll-area-DSx2nCB7.js.map +1 -0
- package/dist/search-Ds_Rknvw.js +14 -0
- package/dist/search-Ds_Rknvw.js.map +1 -0
- package/dist/security/attack-path/index.d.ts +20 -0
- package/dist/security/attack-path/index.d.ts.map +1 -0
- package/dist/security/attack-path/index.js +101 -0
- package/dist/security/attack-path/index.js.map +1 -0
- package/dist/security/attack-path/types.d.ts +23 -0
- package/dist/security/attack-path/types.d.ts.map +1 -0
- package/dist/security/cvss-badge/index.d.ts +20 -0
- package/dist/security/cvss-badge/index.d.ts.map +1 -0
- package/dist/security/cvss-badge/index.js +50 -0
- package/dist/security/cvss-badge/index.js.map +1 -0
- package/dist/security/cvss-badge/types.d.ts +14 -0
- package/dist/security/cvss-badge/types.d.ts.map +1 -0
- package/dist/security/detection-status/index.d.ts +27 -0
- package/dist/security/detection-status/index.d.ts.map +1 -0
- package/dist/security/detection-status/index.js +230 -0
- package/dist/security/detection-status/index.js.map +1 -0
- package/dist/security/detection-status/types.d.ts +23 -0
- package/dist/security/detection-status/types.d.ts.map +1 -0
- package/dist/security/index.d.ts +15 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +6 -0
- package/dist/security/mitre-matrix/index.d.ts +22 -0
- package/dist/security/mitre-matrix/index.d.ts.map +1 -0
- package/dist/security/mitre-matrix/index.js +104 -0
- package/dist/security/mitre-matrix/index.js.map +1 -0
- package/dist/security/mitre-matrix/types.d.ts +22 -0
- package/dist/security/mitre-matrix/types.d.ts.map +1 -0
- package/dist/security/vulnerability-card/index.d.ts +21 -0
- package/dist/security/vulnerability-card/index.d.ts.map +1 -0
- package/dist/security/vulnerability-card/index.js +152 -0
- package/dist/security/vulnerability-card/index.js.map +1 -0
- package/dist/security/vulnerability-card/types.d.ts +32 -0
- package/dist/security/vulnerability-card/types.d.ts.map +1 -0
- package/dist/select-DcJdLR2A.js +836 -0
- package/dist/select-DcJdLR2A.js.map +1 -0
- package/dist/selection-BisAH2tT.js +12 -0
- package/dist/selection-BisAH2tT.js.map +1 -0
- package/dist/separator-CW4ZX8wr.js +68 -0
- package/dist/separator-CW4ZX8wr.js.map +1 -0
- package/dist/sequenceDiagram-2WXFIKYE-CgAE3dlZ.js +4112 -0
- package/dist/sequenceDiagram-2WXFIKYE-CgAE3dlZ.js.map +1 -0
- package/dist/series-Cm9HrwZ5.js +44 -0
- package/dist/series-Cm9HrwZ5.js.map +1 -0
- package/dist/services/api.d.ts +30 -0
- package/dist/services/api.d.ts.map +1 -0
- package/dist/services/api.js +108 -0
- package/dist/services/api.js.map +1 -0
- package/dist/services/index.d.ts +15 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/index.js +6 -0
- package/dist/services/keybindings.d.ts +28 -0
- package/dist/services/keybindings.d.ts.map +1 -0
- package/dist/services/keybindings.js +133 -0
- package/dist/services/keybindings.js.map +1 -0
- package/dist/services/router.d.ts +92 -0
- package/dist/services/router.d.ts.map +1 -0
- package/dist/services/router.js +221 -0
- package/dist/services/router.js.map +1 -0
- package/dist/services/sse.d.ts +29 -0
- package/dist/services/sse.d.ts.map +1 -0
- package/dist/services/sse.js +70 -0
- package/dist/services/sse.js.map +1 -0
- package/dist/services/storage.d.ts +22 -0
- package/dist/services/storage.d.ts.map +1 -0
- package/dist/services-BmIW7l7A.js +60 -0
- package/dist/services-BmIW7l7A.js.map +1 -0
- package/dist/shell-DgHAZOVJ.js +5095 -0
- package/dist/shell-DgHAZOVJ.js.map +1 -0
- package/dist/sidebar/badge.d.ts +19 -0
- package/dist/sidebar/badge.d.ts.map +1 -0
- package/dist/sidebar/component.d.ts +23 -0
- package/dist/sidebar/component.d.ts.map +1 -0
- package/dist/sidebar/enhance.d.ts +69 -0
- package/dist/sidebar/enhance.d.ts.map +1 -0
- package/dist/sidebar/index.d.ts +51 -0
- package/dist/sidebar/index.d.ts.map +1 -0
- package/dist/sidebar/index.js +199 -0
- package/dist/sidebar/index.js.map +1 -0
- package/dist/sidebar/types.d.ts +34 -0
- package/dist/sidebar/types.d.ts.map +1 -0
- package/dist/slider-Dwau2Ktq.js +383 -0
- package/dist/slider-Dwau2Ktq.js.map +1 -0
- package/dist/sorting-BZp0NpSF.js +28 -0
- package/dist/sorting-BZp0NpSF.js.map +1 -0
- package/dist/sql-BdONJBIG.js +636 -0
- package/dist/sql-BdONJBIG.js.map +1 -0
- package/dist/src-BUKqSJT6.js +2139 -0
- package/dist/src-BUKqSJT6.js.map +1 -0
- package/dist/src-iH-l56c_.js +340 -0
- package/dist/src-iH-l56c_.js.map +1 -0
- package/dist/stateDiagram-RAJIS63D-_La1YtlG.js +220 -0
- package/dist/stateDiagram-RAJIS63D-_La1YtlG.js.map +1 -0
- package/dist/stateDiagram-v2-FVOUBMTO-CA1nyIZB.js +29 -0
- package/dist/stateDiagram-v2-FVOUBMTO-CA1nyIZB.js.map +1 -0
- package/dist/styles/appearance.css +325 -0
- package/dist/styles/auth.css +318 -0
- package/dist/styles/breakpoints.css +346 -0
- package/dist/styles/charts/charts.css +140 -0
- package/dist/styles/components/context-menu.css +180 -0
- package/dist/styles/components/data-grid.css +635 -0
- package/dist/styles/components/data-table.css +276 -0
- package/dist/styles/components/editors.css +265 -0
- package/dist/styles/components/modal.css +246 -0
- package/dist/styles/components/pagination.css +158 -0
- package/dist/styles/components/search.css +369 -0
- package/dist/styles/components/split-pane.css +174 -0
- package/dist/styles/components/status-bar.css +198 -0
- package/dist/styles/components/tabs.css +201 -0
- package/dist/styles/components/toast.css +235 -0
- package/dist/styles/components/tree-view.css +225 -0
- package/dist/styles/consent.css +282 -0
- package/dist/styles/display/alert.css +136 -0
- package/dist/styles/display/aspect-ratio.css +15 -0
- package/dist/styles/display/avatar.css +190 -0
- package/dist/styles/display/badge.css +148 -0
- package/dist/styles/display/card.css +66 -0
- package/dist/styles/display/code-block.css +99 -0
- package/dist/styles/display/empty-state.css +37 -0
- package/dist/styles/display/hover-card.css +70 -0
- package/dist/styles/display/markdown-viewer.css +145 -0
- package/dist/styles/display/notification-center.css +272 -0
- package/dist/styles/display/popover.css +29 -0
- package/dist/styles/display/progress.css +129 -0
- package/dist/styles/display/severity-indicator.css +96 -0
- package/dist/styles/display/stat-card.css +90 -0
- package/dist/styles/display/tooltip.css +58 -0
- package/dist/styles/display/typography.css +129 -0
- package/dist/styles/display/uptime-bar.css +64 -0
- package/dist/styles/form/calendar.css +240 -0
- package/dist/styles/form/color-picker.css +239 -0
- package/dist/styles/form/cron-editor.css +333 -0
- package/dist/styles/form/date-picker.css +378 -0
- package/dist/styles/form/tag-input.css +219 -0
- package/dist/styles/index.css +110 -0
- package/dist/styles/layout.css +753 -0
- package/dist/styles/navigation/breadcrumb.css +100 -0
- package/dist/styles/navigation/drawer.css +143 -0
- package/dist/styles/navigation/dropdown-menu.css +193 -0
- package/dist/styles/navigation/menubar.css +208 -0
- package/dist/styles/navigation/navigation-menu.css +260 -0
- package/dist/styles/navigation/stepper.css +199 -0
- package/dist/styles/overlays/alert-dialog.css +205 -0
- package/dist/styles/overlays/carousel.css +147 -0
- package/dist/styles/overlays/sheet.css +206 -0
- package/dist/styles/primitives/button.css +277 -0
- package/dist/styles/primitives/checkbox.css +126 -0
- package/dist/styles/primitives/field.css +48 -0
- package/dist/styles/primitives/input.css +331 -0
- package/dist/styles/primitives/kbd.css +32 -0
- package/dist/styles/primitives/label.css +18 -0
- package/dist/styles/primitives/radio.css +109 -0
- package/dist/styles/primitives/scroll-area.css +54 -0
- package/dist/styles/primitives/select.css +354 -0
- package/dist/styles/primitives/separator.css +20 -0
- package/dist/styles/primitives/skeleton.css +35 -0
- package/dist/styles/primitives/slider.css +121 -0
- package/dist/styles/primitives/spinner.css +56 -0
- package/dist/styles/primitives/switch.css +131 -0
- package/dist/styles/primitives/toggle.css +157 -0
- package/dist/styles/react-threat-visuals.css +568 -0
- package/dist/styles/security/attack-path.css +192 -0
- package/dist/styles/security/cvss-badge.css +136 -0
- package/dist/styles/security/detection-status.css +217 -0
- package/dist/styles/security/mitre-matrix.css +203 -0
- package/dist/styles/security/vulnerability-card.css +294 -0
- package/dist/styles/sidebar.css +1194 -0
- package/dist/styles/tokens.css +392 -0
- package/dist/styles/ui.css +442 -0
- package/dist/styles/utilities.css +43 -0
- package/dist/styles/visualization/file-tree.css +179 -0
- package/dist/styles/visualization/flow-diagram.css +163 -0
- package/dist/styles/visualization/json-path-browser.css +275 -0
- package/dist/styles/visualization/kanban.css +614 -0
- package/dist/styles/visualization/map.css +205 -0
- package/dist/styles/visualization/mermaid-diagram.css +172 -0
- package/dist/styles/visualization/network-graph.css +169 -0
- package/dist/styles/visualization/rule-editor.css +280 -0
- package/dist/styles/visualization/terminal.css +133 -0
- package/dist/styles/visualization/timeline.css +246 -0
- package/dist/switch-dChlavwa.js +104 -0
- package/dist/switch-dChlavwa.js.map +1 -0
- package/dist/tabs-Bpcitl6-.js +150 -0
- package/dist/tabs-Bpcitl6-.js.map +1 -0
- package/dist/theme-toggle-CaCz_B5t.js +130 -0
- package/dist/theme-toggle-CaCz_B5t.js.map +1 -0
- package/dist/timeline-definition-YZTLITO2-CvoqOZkr.js +833 -0
- package/dist/timeline-definition-YZTLITO2-CvoqOZkr.js.map +1 -0
- package/dist/toast-Li-x6JyI.js +209 -0
- package/dist/toast-Li-x6JyI.js.map +1 -0
- package/dist/toggle-Cg5AEgfp.js +204 -0
- package/dist/toggle-Cg5AEgfp.js.map +1 -0
- package/dist/toggle-RVd6oZCL.js +122 -0
- package/dist/toggle-RVd6oZCL.js.map +1 -0
- package/dist/tooltip-BvkBQJvL.js +385 -0
- package/dist/tooltip-BvkBQJvL.js.map +1 -0
- package/dist/topology-DlBapVMn.js +6707 -0
- package/dist/topology-DlBapVMn.js.map +1 -0
- package/dist/tree-view-CQwOGwy0.js +276 -0
- package/dist/tree-view-CQwOGwy0.js.map +1 -0
- package/dist/treemap-KZPCXAKY-DP2ZtuXF.js +3 -0
- package/dist/triangle-alert-DWk6jJ_p.js +42 -0
- package/dist/triangle-alert-DWk6jJ_p.js.map +1 -0
- package/dist/ui/index.d.ts +111 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +198 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/utils/a11y.d.ts +113 -0
- package/dist/utils/a11y.d.ts.map +1 -0
- package/dist/utils/date.d.ts +26 -0
- package/dist/utils/date.d.ts.map +1 -0
- package/dist/utils/errors.d.ts +24 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/index.d.ts +15 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/keyboard.d.ts +135 -0
- package/dist/utils/keyboard.d.ts.map +1 -0
- package/dist/utils/registry.d.ts +14 -0
- package/dist/utils/registry.d.ts.map +1 -0
- package/dist/utils/registry.js +23 -0
- package/dist/utils/registry.js.map +1 -0
- package/dist/utils/sanitize.d.ts +11 -0
- package/dist/utils/sanitize.d.ts.map +1 -0
- package/dist/utils/selection.d.ts +15 -0
- package/dist/utils/selection.d.ts.map +1 -0
- package/dist/utils/sorting.d.ts +25 -0
- package/dist/utils/sorting.d.ts.map +1 -0
- package/dist/utils/touch.d.ts +137 -0
- package/dist/utils/touch.d.ts.map +1 -0
- package/dist/utils/validation.d.ts +30 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils-B7XIe3qq.js +1694 -0
- package/dist/utils-B7XIe3qq.js.map +1 -0
- package/dist/utils-Cn_W3h3f.js +17 -0
- package/dist/utils-Cn_W3h3f.js.map +1 -0
- package/dist/utils-DAAwIwhm.js +250 -0
- package/dist/utils-DAAwIwhm.js.map +1 -0
- package/dist/value-B1V_kKf_.js +52 -0
- package/dist/value-B1V_kKf_.js.map +1 -0
- package/dist/vennDiagram-LZ73GAT5-Xu1ecpFt.js +1861 -0
- package/dist/vennDiagram-LZ73GAT5-Xu1ecpFt.js.map +1 -0
- package/dist/visualization/file-tree/index.d.ts +49 -0
- package/dist/visualization/file-tree/index.d.ts.map +1 -0
- package/dist/visualization/file-tree/index.js +154 -0
- package/dist/visualization/file-tree/index.js.map +1 -0
- package/dist/visualization/file-tree/types.d.ts +28 -0
- package/dist/visualization/file-tree/types.d.ts.map +1 -0
- package/dist/visualization/flow-diagram/index.d.ts +49 -0
- package/dist/visualization/flow-diagram/index.d.ts.map +1 -0
- package/dist/visualization/flow-diagram/index.js +314 -0
- package/dist/visualization/flow-diagram/index.js.map +1 -0
- package/dist/visualization/flow-diagram/types.d.ts +37 -0
- package/dist/visualization/flow-diagram/types.d.ts.map +1 -0
- package/dist/visualization/index.d.ts +25 -0
- package/dist/visualization/index.d.ts.map +1 -0
- package/dist/visualization/index.js +11 -0
- package/dist/visualization/json-path-browser/index.d.ts +48 -0
- package/dist/visualization/json-path-browser/index.d.ts.map +1 -0
- package/dist/visualization/json-path-browser/index.js +189 -0
- package/dist/visualization/json-path-browser/index.js.map +1 -0
- package/dist/visualization/json-path-browser/types.d.ts +15 -0
- package/dist/visualization/json-path-browser/types.d.ts.map +1 -0
- package/dist/visualization/kanban/index.d.ts +71 -0
- package/dist/visualization/kanban/index.d.ts.map +1 -0
- package/dist/visualization/kanban/index.js +301 -0
- package/dist/visualization/kanban/index.js.map +1 -0
- package/dist/visualization/kanban/types.d.ts +85 -0
- package/dist/visualization/kanban/types.d.ts.map +1 -0
- package/dist/visualization/map/index.d.ts +85 -0
- package/dist/visualization/map/index.d.ts.map +1 -0
- package/dist/visualization/map/index.js +219 -0
- package/dist/visualization/map/index.js.map +1 -0
- package/dist/visualization/map/types.d.ts +38 -0
- package/dist/visualization/map/types.d.ts.map +1 -0
- package/dist/visualization/mermaid-diagram/index.d.ts +45 -0
- package/dist/visualization/mermaid-diagram/index.d.ts.map +1 -0
- package/dist/visualization/mermaid-diagram/index.js +236 -0
- package/dist/visualization/mermaid-diagram/index.js.map +1 -0
- package/dist/visualization/mermaid-diagram/types.d.ts +32 -0
- package/dist/visualization/mermaid-diagram/types.d.ts.map +1 -0
- package/dist/visualization/network-graph/index.d.ts +57 -0
- package/dist/visualization/network-graph/index.d.ts.map +1 -0
- package/dist/visualization/network-graph/index.js +296 -0
- package/dist/visualization/network-graph/index.js.map +1 -0
- package/dist/visualization/network-graph/types.d.ts +37 -0
- package/dist/visualization/network-graph/types.d.ts.map +1 -0
- package/dist/visualization/rule-editor/index.d.ts +46 -0
- package/dist/visualization/rule-editor/index.d.ts.map +1 -0
- package/dist/visualization/rule-editor/index.js +262 -0
- package/dist/visualization/rule-editor/index.js.map +1 -0
- package/dist/visualization/rule-editor/types.d.ts +31 -0
- package/dist/visualization/rule-editor/types.d.ts.map +1 -0
- package/dist/visualization/terminal/index.d.ts +54 -0
- package/dist/visualization/terminal/index.d.ts.map +1 -0
- package/dist/visualization/terminal/index.js +154 -0
- package/dist/visualization/terminal/index.js.map +1 -0
- package/dist/visualization/terminal/types.d.ts +16 -0
- package/dist/visualization/terminal/types.d.ts.map +1 -0
- package/dist/visualization/timeline/index.d.ts +31 -0
- package/dist/visualization/timeline/index.d.ts.map +1 -0
- package/dist/visualization/timeline/index.js +174 -0
- package/dist/visualization/timeline/index.js.map +1 -0
- package/dist/visualization/timeline/types.d.ts +24 -0
- package/dist/visualization/timeline/types.d.ts.map +1 -0
- package/dist/x-DCVjAtEF.js +12 -0
- package/dist/x-DCVjAtEF.js.map +1 -0
- package/dist/xychartDiagram-JWTSCODW-BX9xqezB.js +2043 -0
- package/dist/xychartDiagram-JWTSCODW-BX9xqezB.js.map +1 -0
- package/dist/yaml-BruA1FUA.js +34 -0
- package/dist/yaml-BruA1FUA.js.map +1 -0
- package/package.json +1409 -0
- package/src/app-switcher/index.ts +322 -0
- package/src/appearance/appearance.test.ts +511 -0
- package/src/appearance/index.ts +193 -0
- package/src/auth/index.ts +242 -0
- package/src/charts/annotations.ts +116 -0
- package/src/charts/area/index.ts +260 -0
- package/src/charts/area/types.ts +13 -0
- package/src/charts/axis.ts +192 -0
- package/src/charts/bar/index.ts +354 -0
- package/src/charts/bar/types.ts +13 -0
- package/src/charts/base.ts +542 -0
- package/src/charts/candlestick/index.ts +317 -0
- package/src/charts/candlestick/types.ts +25 -0
- package/src/charts/funnel/index.ts +335 -0
- package/src/charts/funnel/types.ts +22 -0
- package/src/charts/gauge/index.ts +289 -0
- package/src/charts/gauge/types.ts +24 -0
- package/src/charts/heatmap/index.ts +257 -0
- package/src/charts/heatmap/types.ts +23 -0
- package/src/charts/index.ts +89 -0
- package/src/charts/interactive.ts +59 -0
- package/src/charts/legend.ts +104 -0
- package/src/charts/line/index.ts +223 -0
- package/src/charts/line/types.ts +13 -0
- package/src/charts/pie/index.ts +303 -0
- package/src/charts/pie/types.ts +21 -0
- package/src/charts/radar/index.ts +388 -0
- package/src/charts/radar/types.ts +22 -0
- package/src/charts/sankey/index.ts +497 -0
- package/src/charts/sankey/types.ts +28 -0
- package/src/charts/scatter/index.ts +284 -0
- package/src/charts/scatter/types.ts +11 -0
- package/src/charts/series.ts +63 -0
- package/src/charts/sparkline/index.ts +224 -0
- package/src/charts/sparkline/types.ts +16 -0
- package/src/charts/tooltip.ts +136 -0
- package/src/charts/treemap/index.ts +357 -0
- package/src/charts/treemap/types.ts +21 -0
- package/src/charts/types.ts +82 -0
- package/src/charts/utils.ts +309 -0
- package/src/charts/waterfall/index.ts +273 -0
- package/src/charts/waterfall/types.ts +25 -0
- package/src/charts/zoom.ts +115 -0
- package/src/components/context-menu/index.ts +183 -0
- package/src/components/copy-button/index.ts +97 -0
- package/src/components/data-table/export.ts +61 -0
- package/src/components/data-table/index.ts +647 -0
- package/src/components/data-table/renderers.ts +145 -0
- package/src/components/data-table/types.ts +41 -0
- package/src/components/detail-header/index.ts +201 -0
- package/src/components/index.ts +65 -0
- package/src/components/log-toolbar/index.ts +186 -0
- package/src/components/modal/index.ts +240 -0
- package/src/components/modal/types.ts +18 -0
- package/src/components/pagination/index.ts +130 -0
- package/src/components/search/command-palette.ts +242 -0
- package/src/components/search/index.ts +433 -0
- package/src/components/search/types.ts +37 -0
- package/src/components/split-pane/index.ts +370 -0
- package/src/components/split-pane/types.ts +21 -0
- package/src/components/status-bar/index.ts +112 -0
- package/src/components/tabs/index.ts +329 -0
- package/src/components/tabs/types.ts +20 -0
- package/src/components/toast/index.ts +412 -0
- package/src/components/toast/types.ts +20 -0
- package/src/components/tree-view/index.ts +692 -0
- package/src/components/tree-view/lazy.ts +24 -0
- package/src/components/tree-view/types.ts +25 -0
- package/src/consent/index.ts +218 -0
- package/src/crypto/crypto.test.ts +458 -0
- package/src/crypto/encoding-helpers.ts +44 -0
- package/src/crypto/encoding.ts +191 -0
- package/src/crypto/hybrid.ts +253 -0
- package/src/crypto/index.ts +292 -0
- package/src/crypto/keys.ts +299 -0
- package/src/crypto/symmetric.ts +227 -0
- package/src/crypto/types.ts +148 -0
- package/src/display/alert/index.ts +134 -0
- package/src/display/alert/types.ts +17 -0
- package/src/display/aspect-ratio/index.ts +57 -0
- package/src/display/avatar/avatar-group.ts +85 -0
- package/src/display/avatar/index.ts +187 -0
- package/src/display/avatar/types.ts +28 -0
- package/src/display/badge/index.ts +109 -0
- package/src/display/badge/presets.ts +46 -0
- package/src/display/badge/types.ts +20 -0
- package/src/display/card/index.ts +159 -0
- package/src/display/card/types.ts +16 -0
- package/src/display/code-block/index.ts +224 -0
- package/src/display/code-block/types.ts +14 -0
- package/src/display/empty-state/index.ts +111 -0
- package/src/display/empty-state/types.ts +16 -0
- package/src/display/hover-card/index.ts +317 -0
- package/src/display/hover-card/types.ts +15 -0
- package/src/display/index.ts +95 -0
- package/src/display/markdown-viewer/index.ts +137 -0
- package/src/display/markdown-viewer/parser.ts +423 -0
- package/src/display/markdown-viewer/types.ts +18 -0
- package/src/display/notification-center/index.ts +416 -0
- package/src/display/notification-center/types.ts +32 -0
- package/src/display/popover/index.ts +320 -0
- package/src/display/popover/types.ts +25 -0
- package/src/display/progress/index.ts +209 -0
- package/src/display/progress/types.ts +19 -0
- package/src/display/severity-indicator/index.ts +96 -0
- package/src/display/severity-indicator/types.ts +15 -0
- package/src/display/stat-card/index.ts +140 -0
- package/src/display/stat-card/types.ts +21 -0
- package/src/display/tooltip/index.ts +263 -0
- package/src/display/tooltip/types.ts +14 -0
- package/src/display/typography/index.ts +156 -0
- package/src/display/typography/types.ts +30 -0
- package/src/display/uptime-bar/index.ts +109 -0
- package/src/display/uptime-bar/types.ts +19 -0
- package/src/editors/base.ts +328 -0
- package/src/editors/code-editor.ts +350 -0
- package/src/editors/diff-viewer.ts +225 -0
- package/src/editors/index.ts +47 -0
- package/src/editors/json-viewer.ts +145 -0
- package/src/editors/languages/fluxl.ts +114 -0
- package/src/editors/languages/javascript.ts +17 -0
- package/src/editors/languages/json.ts +12 -0
- package/src/editors/languages/markdown.ts +12 -0
- package/src/editors/languages/python.ts +12 -0
- package/src/editors/languages/rust.ts +12 -0
- package/src/editors/languages/shell.ts +13 -0
- package/src/editors/languages/sql.ts +57 -0
- package/src/editors/languages/yaml.ts +120 -0
- package/src/editors/languages/yara.ts +154 -0
- package/src/editors/languages/yaral.ts +91 -0
- package/src/editors/log-viewer.ts +222 -0
- package/src/editors/types.ts +138 -0
- package/src/editors/yaml-editor.ts +36 -0
- package/src/form/calendar/index.ts +455 -0
- package/src/form/calendar/types.ts +24 -0
- package/src/form/color-picker/index.ts +1016 -0
- package/src/form/color-picker/types.ts +14 -0
- package/src/form/cron-editor/index.ts +583 -0
- package/src/form/cron-editor/parser.ts +411 -0
- package/src/form/cron-editor/types.ts +34 -0
- package/src/form/date-picker/index.ts +281 -0
- package/src/form/date-picker/range.ts +379 -0
- package/src/form/date-picker/time.ts +334 -0
- package/src/form/date-picker/types.ts +47 -0
- package/src/form/direction/index.ts +64 -0
- package/src/form/index.ts +48 -0
- package/src/form/tag-input/index.ts +458 -0
- package/src/form/tag-input/types.ts +23 -0
- package/src/icons/icons.test.ts +141 -0
- package/src/icons/index.ts +205 -0
- package/src/index.ts +211 -0
- package/src/layout/index.ts +662 -0
- package/src/navigation/breadcrumb/index.ts +175 -0
- package/src/navigation/breadcrumb/types.ts +20 -0
- package/src/navigation/drawer/index.ts +326 -0
- package/src/navigation/drawer/types.ts +21 -0
- package/src/navigation/dropdown-menu/index.ts +625 -0
- package/src/navigation/dropdown-menu/types.ts +43 -0
- package/src/navigation/index.ts +35 -0
- package/src/navigation/menubar/index.ts +412 -0
- package/src/navigation/menubar/types.ts +26 -0
- package/src/navigation/navigation-menu/index.ts +508 -0
- package/src/navigation/navigation-menu/types.ts +26 -0
- package/src/navigation/stepper/index.ts +270 -0
- package/src/navigation/stepper/types.ts +25 -0
- package/src/overlays/alert-dialog/index.ts +313 -0
- package/src/overlays/alert-dialog/types.ts +18 -0
- package/src/overlays/carousel/index.ts +452 -0
- package/src/overlays/carousel/types.ts +22 -0
- package/src/overlays/index.ts +16 -0
- package/src/overlays/sheet/index.ts +307 -0
- package/src/overlays/sheet/types.ts +21 -0
- package/src/passkey/index.ts +230 -0
- package/src/primitives/button/button-group.ts +47 -0
- package/src/primitives/button/index.ts +199 -0
- package/src/primitives/button/types.ts +29 -0
- package/src/primitives/button/variants.ts +24 -0
- package/src/primitives/checkbox/group.ts +113 -0
- package/src/primitives/checkbox/index.ts +127 -0
- package/src/primitives/checkbox/types.ts +34 -0
- package/src/primitives/field/index.ts +188 -0
- package/src/primitives/field/types.ts +14 -0
- package/src/primitives/index.ts +81 -0
- package/src/primitives/input/index.ts +175 -0
- package/src/primitives/input/input-group.ts +83 -0
- package/src/primitives/input/input-otp.ts +242 -0
- package/src/primitives/input/ip-input.ts +226 -0
- package/src/primitives/input/textarea.ts +179 -0
- package/src/primitives/input/types.ts +72 -0
- package/src/primitives/kbd/index.ts +62 -0
- package/src/primitives/label/index.ts +83 -0
- package/src/primitives/radio/index.ts +199 -0
- package/src/primitives/radio/types.ts +22 -0
- package/src/primitives/scroll-area/index.ts +77 -0
- package/src/primitives/select/combobox.ts +427 -0
- package/src/primitives/select/index.ts +526 -0
- package/src/primitives/select/native.ts +151 -0
- package/src/primitives/select/types.ts +52 -0
- package/src/primitives/separator/index.ts +41 -0
- package/src/primitives/skeleton/index.ts +58 -0
- package/src/primitives/slider/index.ts +333 -0
- package/src/primitives/slider/types.ts +19 -0
- package/src/primitives/spinner/index.ts +63 -0
- package/src/primitives/switch/index.ts +133 -0
- package/src/primitives/switch/types.ts +17 -0
- package/src/primitives/toggle/index.ts +129 -0
- package/src/primitives/toggle/toggle-group.ts +209 -0
- package/src/primitives/toggle/types.ts +39 -0
- package/src/primitives/utils.ts +24 -0
- package/src/react/brand/index.tsx +115 -0
- package/src/react/index.ts +5 -0
- package/src/react/primitives/alert-dialog.tsx +133 -0
- package/src/react/primitives/alert.tsx +96 -0
- package/src/react/primitives/animated-counter.tsx +199 -0
- package/src/react/primitives/aspect-ratio.tsx +23 -0
- package/src/react/primitives/attack-path.tsx +238 -0
- package/src/react/primitives/avatar.tsx +190 -0
- package/src/react/primitives/badge.tsx +41 -0
- package/src/react/primitives/breadcrumb.tsx +110 -0
- package/src/react/primitives/button.tsx +115 -0
- package/src/react/primitives/calendar.tsx +289 -0
- package/src/react/primitives/card.tsx +67 -0
- package/src/react/primitives/carousel.tsx +219 -0
- package/src/react/primitives/chart-area.tsx +34 -0
- package/src/react/primitives/chart-bar.tsx +34 -0
- package/src/react/primitives/chart-candlestick.tsx +35 -0
- package/src/react/primitives/chart-funnel.tsx +33 -0
- package/src/react/primitives/chart-gauge.tsx +44 -0
- package/src/react/primitives/chart-heatmap.tsx +33 -0
- package/src/react/primitives/chart-line.tsx +34 -0
- package/src/react/primitives/chart-pie.tsx +33 -0
- package/src/react/primitives/chart-radar.tsx +33 -0
- package/src/react/primitives/chart-sankey.tsx +33 -0
- package/src/react/primitives/chart-scatter.tsx +34 -0
- package/src/react/primitives/chart-sparkline.tsx +32 -0
- package/src/react/primitives/chart-treemap.tsx +33 -0
- package/src/react/primitives/chart-waterfall.tsx +33 -0
- package/src/react/primitives/checkbox.tsx +50 -0
- package/src/react/primitives/code-block.tsx +117 -0
- package/src/react/primitives/code-viewer.tsx +307 -0
- package/src/react/primitives/collapsible.tsx +118 -0
- package/src/react/primitives/color-picker.tsx +461 -0
- package/src/react/primitives/context-menu.tsx +261 -0
- package/src/react/primitives/copy-button.tsx +116 -0
- package/src/react/primitives/cron-editor.tsx +575 -0
- package/src/react/primitives/cvss-badge.tsx +112 -0
- package/src/react/primitives/data-grid.tsx +1269 -0
- package/src/react/primitives/data-table.tsx +300 -0
- package/src/react/primitives/date-picker.tsx +659 -0
- package/src/react/primitives/detection-status.tsx +400 -0
- package/src/react/primitives/dialog.tsx +127 -0
- package/src/react/primitives/direction.tsx +74 -0
- package/src/react/primitives/drawer.tsx +140 -0
- package/src/react/primitives/dropdown-menu.tsx +87 -0
- package/src/react/primitives/empty-state.tsx +64 -0
- package/src/react/primitives/error-boundary.tsx +40 -0
- package/src/react/primitives/field.tsx +59 -0
- package/src/react/primitives/file-tree.tsx +368 -0
- package/src/react/primitives/flow-diagram.tsx +78 -0
- package/src/react/primitives/heatmap-legend.tsx +51 -0
- package/src/react/primitives/heatmap-toolbar.tsx +78 -0
- package/src/react/primitives/hover-card.tsx +174 -0
- package/src/react/primitives/index.ts +294 -0
- package/src/react/primitives/input.tsx +35 -0
- package/src/react/primitives/json-path-browser.tsx +397 -0
- package/src/react/primitives/kanban.tsx +421 -0
- package/src/react/primitives/kbd.tsx +33 -0
- package/src/react/primitives/label.tsx +25 -0
- package/src/react/primitives/map.tsx +91 -0
- package/src/react/primitives/markdown-viewer.tsx +256 -0
- package/src/react/primitives/menubar.tsx +248 -0
- package/src/react/primitives/mermaid-diagram.tsx +76 -0
- package/src/react/primitives/mitre-matrix.tsx +203 -0
- package/src/react/primitives/modal.tsx +191 -0
- package/src/react/primitives/navigation-menu.tsx +144 -0
- package/src/react/primitives/network-graph.tsx +95 -0
- package/src/react/primitives/notification-center.tsx +229 -0
- package/src/react/primitives/pagination.tsx +147 -0
- package/src/react/primitives/popover.tsx +247 -0
- package/src/react/primitives/progress.tsx +187 -0
- package/src/react/primitives/radio-group.tsx +44 -0
- package/src/react/primitives/ripple.tsx +145 -0
- package/src/react/primitives/rule-editor.tsx +385 -0
- package/src/react/primitives/scroll-area.tsx +54 -0
- package/src/react/primitives/search.tsx +573 -0
- package/src/react/primitives/select.tsx +218 -0
- package/src/react/primitives/separator.tsx +27 -0
- package/src/react/primitives/severity-indicator.tsx +110 -0
- package/src/react/primitives/sheet.tsx +137 -0
- package/src/react/primitives/skeleton.tsx +15 -0
- package/src/react/primitives/slide-panel.tsx +137 -0
- package/src/react/primitives/slider.tsx +51 -0
- package/src/react/primitives/spinner.tsx +39 -0
- package/src/react/primitives/split-pane.tsx +160 -0
- package/src/react/primitives/stat-card.tsx +140 -0
- package/src/react/primitives/status-bar.tsx +81 -0
- package/src/react/primitives/stepper.tsx +162 -0
- package/src/react/primitives/switch.tsx +47 -0
- package/src/react/primitives/table.tsx +90 -0
- package/src/react/primitives/tabs.tsx +52 -0
- package/src/react/primitives/tag-input.tsx +371 -0
- package/src/react/primitives/terminal.tsx +228 -0
- package/src/react/primitives/textarea.tsx +18 -0
- package/src/react/primitives/timeline.tsx +316 -0
- package/src/react/primitives/toast.tsx +361 -0
- package/src/react/primitives/toggle.tsx +107 -0
- package/src/react/primitives/tooltip.tsx +64 -0
- package/src/react/primitives/tree-view.tsx +306 -0
- package/src/react/primitives/typography.tsx +171 -0
- package/src/react/primitives/uptime-bar.tsx +93 -0
- package/src/react/primitives/utils.ts +6 -0
- package/src/react/primitives/vulnerability-card.tsx +297 -0
- package/src/react/theme-toggle/index.tsx +123 -0
- package/src/react/threat-visuals/index.tsx +200 -0
- package/src/react/topology/__tests__/topology.test.tsx +716 -0
- package/src/react/topology/edges.tsx +77 -0
- package/src/react/topology/index.ts +34 -0
- package/src/react/topology/layouts.ts +473 -0
- package/src/react/topology/logos.tsx +328 -0
- package/src/react/topology/nodes.tsx +404 -0
- package/src/react/topology/safe-handle.tsx +35 -0
- package/src/react/topology/styles.ts +47 -0
- package/src/security/attack-path/index.ts +202 -0
- package/src/security/attack-path/types.ts +37 -0
- package/src/security/cvss-badge/index.ts +145 -0
- package/src/security/cvss-badge/types.ts +14 -0
- package/src/security/detection-status/index.ts +420 -0
- package/src/security/detection-status/types.ts +24 -0
- package/src/security/index.ts +24 -0
- package/src/security/mitre-matrix/index.ts +209 -0
- package/src/security/mitre-matrix/types.ts +23 -0
- package/src/security/vulnerability-card/index.ts +320 -0
- package/src/security/vulnerability-card/types.ts +34 -0
- package/src/services/api.ts +181 -0
- package/src/services/index.ts +23 -0
- package/src/services/keybindings.ts +271 -0
- package/src/services/router.ts +578 -0
- package/src/services/sse.ts +148 -0
- package/src/services/storage.ts +88 -0
- package/src/sidebar/badge.ts +72 -0
- package/src/sidebar/component.ts +223 -0
- package/src/sidebar/enhance.ts +289 -0
- package/src/sidebar/index.ts +253 -0
- package/src/sidebar/types.ts +43 -0
- package/src/styles/appearance.css +325 -0
- package/src/styles/auth.css +318 -0
- package/src/styles/breakpoints.css +346 -0
- package/src/styles/charts/charts.css +140 -0
- package/src/styles/components/context-menu.css +180 -0
- package/src/styles/components/data-grid.css +635 -0
- package/src/styles/components/data-table.css +276 -0
- package/src/styles/components/editors.css +265 -0
- package/src/styles/components/modal.css +246 -0
- package/src/styles/components/pagination.css +158 -0
- package/src/styles/components/search.css +369 -0
- package/src/styles/components/split-pane.css +174 -0
- package/src/styles/components/status-bar.css +198 -0
- package/src/styles/components/tabs.css +201 -0
- package/src/styles/components/toast.css +235 -0
- package/src/styles/components/tree-view.css +225 -0
- package/src/styles/consent.css +282 -0
- package/src/styles/display/alert.css +136 -0
- package/src/styles/display/aspect-ratio.css +15 -0
- package/src/styles/display/avatar.css +190 -0
- package/src/styles/display/badge.css +148 -0
- package/src/styles/display/card.css +66 -0
- package/src/styles/display/code-block.css +99 -0
- package/src/styles/display/empty-state.css +37 -0
- package/src/styles/display/hover-card.css +70 -0
- package/src/styles/display/markdown-viewer.css +145 -0
- package/src/styles/display/notification-center.css +272 -0
- package/src/styles/display/popover.css +29 -0
- package/src/styles/display/progress.css +129 -0
- package/src/styles/display/severity-indicator.css +96 -0
- package/src/styles/display/stat-card.css +90 -0
- package/src/styles/display/tooltip.css +58 -0
- package/src/styles/display/typography.css +129 -0
- package/src/styles/display/uptime-bar.css +64 -0
- package/src/styles/form/calendar.css +240 -0
- package/src/styles/form/color-picker.css +239 -0
- package/src/styles/form/cron-editor.css +333 -0
- package/src/styles/form/date-picker.css +378 -0
- package/src/styles/form/tag-input.css +219 -0
- package/src/styles/index.css +110 -0
- package/src/styles/layout.css +753 -0
- package/src/styles/navigation/breadcrumb.css +100 -0
- package/src/styles/navigation/drawer.css +143 -0
- package/src/styles/navigation/dropdown-menu.css +193 -0
- package/src/styles/navigation/menubar.css +208 -0
- package/src/styles/navigation/navigation-menu.css +260 -0
- package/src/styles/navigation/stepper.css +199 -0
- package/src/styles/overlays/alert-dialog.css +205 -0
- package/src/styles/overlays/carousel.css +147 -0
- package/src/styles/overlays/sheet.css +206 -0
- package/src/styles/primitives/button.css +277 -0
- package/src/styles/primitives/checkbox.css +126 -0
- package/src/styles/primitives/field.css +48 -0
- package/src/styles/primitives/input.css +331 -0
- package/src/styles/primitives/kbd.css +32 -0
- package/src/styles/primitives/label.css +18 -0
- package/src/styles/primitives/radio.css +109 -0
- package/src/styles/primitives/scroll-area.css +54 -0
- package/src/styles/primitives/select.css +354 -0
- package/src/styles/primitives/separator.css +20 -0
- package/src/styles/primitives/skeleton.css +35 -0
- package/src/styles/primitives/slider.css +121 -0
- package/src/styles/primitives/spinner.css +56 -0
- package/src/styles/primitives/switch.css +131 -0
- package/src/styles/primitives/toggle.css +157 -0
- package/src/styles/react-threat-visuals.css +568 -0
- package/src/styles/security/attack-path.css +192 -0
- package/src/styles/security/cvss-badge.css +136 -0
- package/src/styles/security/detection-status.css +217 -0
- package/src/styles/security/mitre-matrix.css +203 -0
- package/src/styles/security/vulnerability-card.css +294 -0
- package/src/styles/sidebar.css +1194 -0
- package/src/styles/tokens.css +392 -0
- package/src/styles/ui.css +442 -0
- package/src/styles/utilities.css +43 -0
- package/src/styles/visualization/file-tree.css +179 -0
- package/src/styles/visualization/flow-diagram.css +163 -0
- package/src/styles/visualization/json-path-browser.css +275 -0
- package/src/styles/visualization/kanban.css +614 -0
- package/src/styles/visualization/map.css +205 -0
- package/src/styles/visualization/mermaid-diagram.css +172 -0
- package/src/styles/visualization/network-graph.css +169 -0
- package/src/styles/visualization/rule-editor.css +280 -0
- package/src/styles/visualization/terminal.css +133 -0
- package/src/styles/visualization/timeline.css +246 -0
- package/src/ui/index.ts +414 -0
- package/src/ui/ui.test.ts +83 -0
- package/src/utils/a11y.ts +566 -0
- package/src/utils/date.ts +90 -0
- package/src/utils/errors.ts +44 -0
- package/src/utils/index.ts +154 -0
- package/src/utils/keyboard.ts +551 -0
- package/src/utils/registry.ts +41 -0
- package/src/utils/sanitize.ts +23 -0
- package/src/utils/selection.ts +29 -0
- package/src/utils/sorting.ts +73 -0
- package/src/utils/touch.ts +643 -0
- package/src/utils/validation.ts +66 -0
- package/src/visualization/file-tree/index.ts +500 -0
- package/src/visualization/file-tree/types.ts +29 -0
- package/src/visualization/flow-diagram/index.ts +693 -0
- package/src/visualization/flow-diagram/types.ts +39 -0
- package/src/visualization/index.ts +53 -0
- package/src/visualization/json-path-browser/index.ts +502 -0
- package/src/visualization/json-path-browser/types.ts +15 -0
- package/src/visualization/kanban/__tests__/kanban.test.ts +1440 -0
- package/src/visualization/kanban/index.ts +785 -0
- package/src/visualization/kanban/types.ts +93 -0
- package/src/visualization/map/index.ts +623 -0
- package/src/visualization/map/types.ts +37 -0
- package/src/visualization/mermaid-diagram/index.ts +404 -0
- package/src/visualization/mermaid-diagram/types.ts +50 -0
- package/src/visualization/network-graph/index.ts +690 -0
- package/src/visualization/network-graph/types.ts +39 -0
- package/src/visualization/rule-editor/index.ts +562 -0
- package/src/visualization/rule-editor/types.ts +34 -0
- package/src/visualization/terminal/index.ts +403 -0
- package/src/visualization/terminal/types.ts +16 -0
- package/src/visualization/timeline/index.ts +341 -0
- package/src/visualization/timeline/types.ts +25 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vennDiagram-LZ73GAT5-Xu1ecpFt.js","names":["d3select","venn.VennDiagram","rough","venn.layout"],"sources":["../node_modules/khroma/dist/methods/transparentize.js","../node_modules/@upsetjs/venn.js/build/venn.esm.js","../node_modules/mermaid/dist/chunks/mermaid.core/vennDiagram-LZ73GAT5.mjs"],"sourcesContent":["/* IMPORT */\nimport adjustChannel from './adjust_channel.js';\n/* MAIN */\nconst transparentize = (color, amount) => {\n return adjustChannel(color, 'a', -amount);\n};\n/* EXPORT */\nexport default transparentize;\n","const SMALL$1 = 1e-10;\n\n/**\n * Returns the intersection area of a bunch of circles (where each circle\n * is an object having an x,y and radius property)\n * @param {ReadonlyArray<{x: number, y: number, radius: number}>} circles\n * @param {undefined | { area?: number, arcArea?: number, polygonArea?: number, arcs?: ReadonlyArray<{ circle: {x: number, y: number, radius: number}, width: number, p1: {x: number, y: number}, p2: {x: number, y: number} }>, innerPoints: ReadonlyArray<{\n x: number;\n y: number;\n parentIndex: [number, number];\n}>, intersectionPoints: ReadonlyArray<{\n x: number;\n y: number;\n parentIndex: [number, number];\n}> }} stats\n * @returns {number}\n */\nfunction intersectionArea(circles, stats) {\n // get all the intersection points of the circles\n const intersectionPoints = getIntersectionPoints(circles);\n\n // filter out points that aren't included in all the circles\n const innerPoints = intersectionPoints.filter((p) => containedInCircles(p, circles));\n\n let arcArea = 0;\n let polygonArea = 0;\n /** @type {{ circle: {x: number, y: number, radius: number}, width: number, p1: {x: number, y: number}, p2: {x: number, y: number} }[]} */\n const arcs = [];\n\n // if we have intersection points that are within all the circles,\n // then figure out the area contained by them\n if (innerPoints.length > 1) {\n // sort the points by angle from the center of the polygon, which lets\n // us just iterate over points to get the edges\n const center = getCenter(innerPoints);\n for (let i = 0; i < innerPoints.length; ++i) {\n const p = innerPoints[i];\n p.angle = Math.atan2(p.x - center.x, p.y - center.y);\n }\n innerPoints.sort((a, b) => b.angle - a.angle);\n\n // iterate over all points, get arc between the points\n // and update the areas\n let p2 = innerPoints[innerPoints.length - 1];\n for (let i = 0; i < innerPoints.length; ++i) {\n const p1 = innerPoints[i];\n\n // polygon area updates easily ...\n polygonArea += (p2.x + p1.x) * (p1.y - p2.y);\n\n // updating the arc area is a little more involved\n const midPoint = { x: (p1.x + p2.x) / 2, y: (p1.y + p2.y) / 2 };\n /** @types null | { circle: {x: number, y: number, radius: number}, width: number, p1: {x: number, y: number}, p2: {x: number, y: number} } */\n let arc = null;\n\n for (let j = 0; j < p1.parentIndex.length; ++j) {\n if (p2.parentIndex.includes(p1.parentIndex[j])) {\n // figure out the angle halfway between the two points\n // on the current circle\n const circle = circles[p1.parentIndex[j]];\n const a1 = Math.atan2(p1.x - circle.x, p1.y - circle.y);\n const a2 = Math.atan2(p2.x - circle.x, p2.y - circle.y);\n\n let angleDiff = a2 - a1;\n if (angleDiff < 0) {\n angleDiff += 2 * Math.PI;\n }\n\n // and use that angle to figure out the width of the\n // arc\n const a = a2 - angleDiff / 2;\n let width = distance(midPoint, {\n x: circle.x + circle.radius * Math.sin(a),\n y: circle.y + circle.radius * Math.cos(a),\n });\n\n // clamp the width to the largest is can actually be\n // (sometimes slightly overflows because of FP errors)\n if (width > circle.radius * 2) {\n width = circle.radius * 2;\n }\n\n // pick the circle whose arc has the smallest width\n if (arc == null || arc.width > width) {\n arc = { circle, width, p1, p2, large: width > circle.radius, sweep: true };\n }\n }\n }\n\n if (arc != null) {\n arcs.push(arc);\n arcArea += circleArea(arc.circle.radius, arc.width);\n p2 = p1;\n }\n }\n } else {\n // no intersection points, is either disjoint - or is completely\n // overlapped. figure out which by examining the smallest circle\n let smallest = circles[0];\n for (let i = 1; i < circles.length; ++i) {\n if (circles[i].radius < smallest.radius) {\n smallest = circles[i];\n }\n }\n\n // make sure the smallest circle is completely contained in all\n // the other circles\n let disjoint = false;\n for (let i = 0; i < circles.length; ++i) {\n if (distance(circles[i], smallest) > Math.abs(smallest.radius - circles[i].radius)) {\n disjoint = true;\n break;\n }\n }\n\n if (disjoint) {\n arcArea = polygonArea = 0;\n } else {\n arcArea = smallest.radius * smallest.radius * Math.PI;\n arcs.push({\n circle: smallest,\n p1: { x: smallest.x, y: smallest.y + smallest.radius },\n p2: { x: smallest.x - SMALL$1, y: smallest.y + smallest.radius },\n width: smallest.radius * 2,\n large: true,\n sweep: true,\n });\n }\n }\n\n polygonArea /= 2;\n\n if (stats) {\n stats.area = arcArea + polygonArea;\n stats.arcArea = arcArea;\n stats.polygonArea = polygonArea;\n stats.arcs = arcs;\n stats.innerPoints = innerPoints;\n stats.intersectionPoints = intersectionPoints;\n }\n\n return arcArea + polygonArea;\n}\n\n/**\n * returns whether a point is contained by all of a list of circles\n * @param {{x: number, y: number}} point\n * @param {ReadonlyArray<{x: number, y: number, radius: number}>} circles\n * @returns {boolean}\n */\nfunction containedInCircles(point, circles) {\n return circles.every((circle) => distance(point, circle) < circle.radius + SMALL$1);\n}\n\n/**\n * Gets all intersection points between a bunch of circles\n * @param {ReadonlyArray<{x: number, y: number, radius: number}>} circles\n * @returns {ReadonlyArray<{x: number, y: number, parentIndex: [number, number]}>}\n */\nfunction getIntersectionPoints(circles) {\n /** @type {{x: number, y: number, parentIndex: [number, number]}[]} */\n const ret = [];\n for (let i = 0; i < circles.length; ++i) {\n for (let j = i + 1; j < circles.length; ++j) {\n const intersect = circleCircleIntersection(circles[i], circles[j]);\n for (const p of intersect) {\n p.parentIndex = [i, j];\n ret.push(p);\n }\n }\n }\n return ret;\n}\n\n/**\n * Circular segment area calculation. See http://mathworld.wolfram.com/CircularSegment.html\n * @param {number} r\n * @param {number} width\n * @returns {number}\n **/\nfunction circleArea(r, width) {\n return r * r * Math.acos(1 - width / r) - (r - width) * Math.sqrt(width * (2 * r - width));\n}\n\n/**\n * euclidean distance between two points\n * @param {{x: number, y: number}} p1\n * @param {{x: number, y: number}} p2\n * @returns {number}\n **/\nfunction distance(p1, p2) {\n return Math.sqrt((p1.x - p2.x) * (p1.x - p2.x) + (p1.y - p2.y) * (p1.y - p2.y));\n}\n\n/**\n * Returns the overlap area of two circles of radius r1 and r2 - that\n * have their centers separated by distance d. Simpler faster\n * circle intersection for only two circles\n * @param {number} r1\n * @param {number} r2\n * @param {number} d\n * @returns {number}\n */\nfunction circleOverlap(r1, r2, d) {\n // no overlap\n if (d >= r1 + r2) {\n return 0;\n }\n\n // completely overlapped\n if (d <= Math.abs(r1 - r2)) {\n return Math.PI * Math.min(r1, r2) * Math.min(r1, r2);\n }\n\n const w1 = r1 - (d * d - r2 * r2 + r1 * r1) / (2 * d);\n const w2 = r2 - (d * d - r1 * r1 + r2 * r2) / (2 * d);\n return circleArea(r1, w1) + circleArea(r2, w2);\n}\n\n/**\n * Given two circles (containing a x/y/radius attributes),\n * returns the intersecting points if possible\n * note: doesn't handle cases where there are infinitely many\n * intersection points (circles are equivalent):, or only one intersection point\n * @param {{x: number, y: number, radius: number}} p1\n * @param {{x: number, y: number, radius: number}} p2\n * @returns {ReadonlyArray<{x: number, y: number}>}\n **/\nfunction circleCircleIntersection(p1, p2) {\n const d = distance(p1, p2);\n const r1 = p1.radius;\n const r2 = p2.radius;\n\n // if to far away, or self contained - can't be done\n if (d >= r1 + r2 || d <= Math.abs(r1 - r2)) {\n return [];\n }\n\n const a = (r1 * r1 - r2 * r2 + d * d) / (2 * d);\n const h = Math.sqrt(r1 * r1 - a * a);\n const x0 = p1.x + (a * (p2.x - p1.x)) / d;\n const y0 = p1.y + (a * (p2.y - p1.y)) / d;\n const rx = -(p2.y - p1.y) * (h / d);\n const ry = -(p2.x - p1.x) * (h / d);\n\n return [\n { x: x0 + rx, y: y0 - ry },\n { x: x0 - rx, y: y0 + ry },\n ];\n}\n\n/**\n * Returns the center of a bunch of points\n * @param {ReadonlyArray<{x: number, y: number}>} points\n * @returns {{x: number, y: number}}\n */\nfunction getCenter(points) {\n const center = { x: 0, y: 0 };\n for (const point of points) {\n center.x += point.x;\n center.y += point.y;\n }\n center.x /= points.length;\n center.y /= points.length;\n return center;\n}\n\n/** finds the zeros of a function, given two starting points (which must\n * have opposite signs */\nfunction bisect(f, a, b, parameters) {\n parameters = parameters || {};\n const maxIterations = parameters.maxIterations || 100;\n const tolerance = parameters.tolerance || 1e-10;\n const fA = f(a);\n const fB = f(b);\n let delta = b - a;\n\n if (fA * fB > 0) {\n throw 'Initial bisect points must have opposite signs';\n }\n\n if (fA === 0) return a;\n if (fB === 0) return b;\n\n for (let i = 0; i < maxIterations; ++i) {\n delta /= 2;\n const mid = a + delta;\n const fMid = f(mid);\n\n if (fMid * fA >= 0) {\n a = mid;\n }\n\n if (Math.abs(delta) < tolerance || fMid === 0) {\n return mid;\n }\n }\n return a + delta;\n}\n\n// need some basic operations on vectors, rather than adding a dependency,\n// just define here\nfunction zeros(x) {\n const r = new Array(x);\n for (let i = 0; i < x; ++i) {\n r[i] = 0;\n }\n return r;\n}\nfunction zerosM(x, y) {\n return zeros(x).map(() => zeros(y));\n}\n\nfunction dot(a, b) {\n let ret = 0;\n for (let i = 0; i < a.length; ++i) {\n ret += a[i] * b[i];\n }\n return ret;\n}\n\nfunction norm2(a) {\n return Math.sqrt(dot(a, a));\n}\n\nfunction scale(ret, value, c) {\n for (let i = 0; i < value.length; ++i) {\n ret[i] = value[i] * c;\n }\n}\n\nfunction weightedSum(ret, w1, v1, w2, v2) {\n for (let j = 0; j < ret.length; ++j) {\n ret[j] = w1 * v1[j] + w2 * v2[j];\n }\n}\n\n/** minimizes a function using the downhill simplex method */\nfunction nelderMead(f, x0, parameters) {\n parameters = parameters || {};\n\n const maxIterations = parameters.maxIterations || x0.length * 200;\n const nonZeroDelta = parameters.nonZeroDelta || 1.05;\n const zeroDelta = parameters.zeroDelta || 0.001;\n const minErrorDelta = parameters.minErrorDelta || 1e-6;\n const minTolerance = parameters.minErrorDelta || 1e-5;\n const rho = parameters.rho !== undefined ? parameters.rho : 1;\n const chi = parameters.chi !== undefined ? parameters.chi : 2;\n const psi = parameters.psi !== undefined ? parameters.psi : -0.5;\n const sigma = parameters.sigma !== undefined ? parameters.sigma : 0.5;\n let maxDiff;\n\n // initialize simplex.\n const N = x0.length;\n const simplex = new Array(N + 1);\n simplex[0] = x0;\n simplex[0].fx = f(x0);\n simplex[0].id = 0;\n for (let i = 0; i < N; ++i) {\n const point = x0.slice();\n point[i] = point[i] ? point[i] * nonZeroDelta : zeroDelta;\n simplex[i + 1] = point;\n simplex[i + 1].fx = f(point);\n simplex[i + 1].id = i + 1;\n }\n\n function updateSimplex(value) {\n for (let i = 0; i < value.length; i++) {\n simplex[N][i] = value[i];\n }\n simplex[N].fx = value.fx;\n }\n\n const sortOrder = (a, b) => a.fx - b.fx;\n\n const centroid = x0.slice();\n const reflected = x0.slice();\n const contracted = x0.slice();\n const expanded = x0.slice();\n\n for (let iteration = 0; iteration < maxIterations; ++iteration) {\n simplex.sort(sortOrder);\n\n if (parameters.history) {\n // copy the simplex (since later iterations will mutate) and\n // sort it to have a consistent order between iterations\n const sortedSimplex = simplex.map((x) => {\n const state = x.slice();\n state.fx = x.fx;\n state.id = x.id;\n return state;\n });\n sortedSimplex.sort((a, b) => a.id - b.id);\n\n parameters.history.push({\n x: simplex[0].slice(),\n fx: simplex[0].fx,\n simplex: sortedSimplex,\n });\n }\n\n maxDiff = 0;\n for (let i = 0; i < N; ++i) {\n maxDiff = Math.max(maxDiff, Math.abs(simplex[0][i] - simplex[1][i]));\n }\n\n if (Math.abs(simplex[0].fx - simplex[N].fx) < minErrorDelta && maxDiff < minTolerance) {\n break;\n }\n\n // compute the centroid of all but the worst point in the simplex\n for (let i = 0; i < N; ++i) {\n centroid[i] = 0;\n for (let j = 0; j < N; ++j) {\n centroid[i] += simplex[j][i];\n }\n centroid[i] /= N;\n }\n\n // reflect the worst point past the centroid and compute loss at reflected\n // point\n const worst = simplex[N];\n weightedSum(reflected, 1 + rho, centroid, -rho, worst);\n reflected.fx = f(reflected);\n\n // if the reflected point is the best seen, then possibly expand\n if (reflected.fx < simplex[0].fx) {\n weightedSum(expanded, 1 + chi, centroid, -chi, worst);\n expanded.fx = f(expanded);\n if (expanded.fx < reflected.fx) {\n updateSimplex(expanded);\n } else {\n updateSimplex(reflected);\n }\n }\n\n // if the reflected point is worse than the second worst, we need to\n // contract\n else if (reflected.fx >= simplex[N - 1].fx) {\n let shouldReduce = false;\n\n if (reflected.fx > worst.fx) {\n // do an inside contraction\n weightedSum(contracted, 1 + psi, centroid, -psi, worst);\n contracted.fx = f(contracted);\n if (contracted.fx < worst.fx) {\n updateSimplex(contracted);\n } else {\n shouldReduce = true;\n }\n } else {\n // do an outside contraction\n weightedSum(contracted, 1 - psi * rho, centroid, psi * rho, worst);\n contracted.fx = f(contracted);\n if (contracted.fx < reflected.fx) {\n updateSimplex(contracted);\n } else {\n shouldReduce = true;\n }\n }\n\n if (shouldReduce) {\n // if we don't contract here, we're done\n if (sigma >= 1) break;\n\n // do a reduction\n for (let i = 1; i < simplex.length; ++i) {\n weightedSum(simplex[i], 1 - sigma, simplex[0], sigma, simplex[i]);\n simplex[i].fx = f(simplex[i]);\n }\n }\n } else {\n updateSimplex(reflected);\n }\n }\n\n simplex.sort(sortOrder);\n return { fx: simplex[0].fx, x: simplex[0] };\n}\n\n/// searches along line 'pk' for a point that satifies the wolfe conditions\n/// See 'Numerical Optimization' by Nocedal and Wright p59-60\n/// f : objective function\n/// pk : search direction\n/// current: object containing current gradient/loss\n/// next: output: contains next gradient/loss\n/// returns a: step size taken\nfunction wolfeLineSearch(f, pk, current, next, a, c1, c2) {\n const phi0 = current.fx;\n const phiPrime0 = dot(current.fxprime, pk);\n let phi = phi0;\n let phi_old = phi0;\n let phiPrime = phiPrime0;\n let a0 = 0;\n\n a = a || 1;\n c1 = c1 || 1e-6;\n c2 = c2 || 0.1;\n\n function zoom(a_lo, a_high, phi_lo) {\n for (let iteration = 0; iteration < 16; ++iteration) {\n a = (a_lo + a_high) / 2;\n weightedSum(next.x, 1.0, current.x, a, pk);\n phi = next.fx = f(next.x, next.fxprime);\n phiPrime = dot(next.fxprime, pk);\n\n if (phi > phi0 + c1 * a * phiPrime0 || phi >= phi_lo) {\n a_high = a;\n } else {\n if (Math.abs(phiPrime) <= -c2 * phiPrime0) {\n return a;\n }\n\n if (phiPrime * (a_high - a_lo) >= 0) {\n a_high = a_lo;\n }\n\n a_lo = a;\n phi_lo = phi;\n }\n }\n\n return 0;\n }\n\n for (let iteration = 0; iteration < 10; ++iteration) {\n weightedSum(next.x, 1.0, current.x, a, pk);\n phi = next.fx = f(next.x, next.fxprime);\n phiPrime = dot(next.fxprime, pk);\n if (phi > phi0 + c1 * a * phiPrime0 || (iteration && phi >= phi_old)) {\n return zoom(a0, a, phi_old);\n }\n\n if (Math.abs(phiPrime) <= -c2 * phiPrime0) {\n return a;\n }\n\n if (phiPrime >= 0) {\n return zoom(a, a0, phi);\n }\n\n phi_old = phi;\n a0 = a;\n a *= 2;\n }\n\n return a;\n}\n\nfunction conjugateGradient(f, initial, params) {\n // allocate all memory up front here, keep out of the loop for perfomance\n // reasons\n let current = { x: initial.slice(), fx: 0, fxprime: initial.slice() };\n let next = { x: initial.slice(), fx: 0, fxprime: initial.slice() };\n const yk = initial.slice();\n let pk;\n let temp;\n let a = 1;\n let maxIterations;\n\n params = params || {};\n maxIterations = params.maxIterations || initial.length * 20;\n\n current.fx = f(current.x, current.fxprime);\n pk = current.fxprime.slice();\n scale(pk, current.fxprime, -1);\n\n for (let i = 0; i < maxIterations; ++i) {\n a = wolfeLineSearch(f, pk, current, next, a);\n\n // todo: history in wrong spot?\n if (params.history) {\n params.history.push({\n x: current.x.slice(),\n fx: current.fx,\n fxprime: current.fxprime.slice(),\n alpha: a,\n });\n }\n\n if (!a) {\n // faiiled to find point that satifies wolfe conditions.\n // reset direction for next iteration\n scale(pk, current.fxprime, -1);\n } else {\n // update direction using Polak–Ribiere CG method\n weightedSum(yk, 1, next.fxprime, -1, current.fxprime);\n\n const delta_k = dot(current.fxprime, current.fxprime);\n const beta_k = Math.max(0, dot(yk, next.fxprime) / delta_k);\n\n weightedSum(pk, beta_k, pk, -1, next.fxprime);\n\n temp = current;\n current = next;\n next = temp;\n }\n\n if (norm2(current.fxprime) <= 1e-5) {\n break;\n }\n }\n\n if (params.history) {\n params.history.push({\n x: current.x.slice(),\n fx: current.fx,\n fxprime: current.fxprime.slice(),\n alpha: a,\n });\n }\n\n return current;\n}\n\n/**\n * given a list of set objects, and their corresponding overlaps\n * updates the (x, y, radius) attribute on each set such that their positions\n * roughly correspond to the desired overlaps\n * @param {readonly {sets: readonly string[]; size: number; weight?: number}[]} sets\n * @returns {{[setid: string]: {x: number, y: number, radius: number}}}\n */\nfunction venn(sets, parameters = {}) {\n parameters.maxIterations = parameters.maxIterations || 500;\n\n const initialLayout = parameters.initialLayout || bestInitialLayout;\n const loss = parameters.lossFunction || lossFunction;\n\n // add in missing pairwise areas as having 0 size\n const areas = addMissingAreas(sets, parameters);\n\n // initial layout is done greedily\n const circles = initialLayout(areas, parameters);\n\n // transform x/y coordinates to a vector to optimize\n const setids = Object.keys(circles);\n /** @type {number[]} */\n const initial = [];\n for (const setid of setids) {\n initial.push(circles[setid].x);\n initial.push(circles[setid].y);\n }\n\n // optimize initial layout from our loss function\n const solution = nelderMead(\n (values) => {\n const current = {};\n for (let i = 0; i < setids.length; ++i) {\n const setid = setids[i];\n current[setid] = {\n x: values[2 * i],\n y: values[2 * i + 1],\n radius: circles[setid].radius,\n // size : circles[setid].size\n };\n }\n return loss(current, areas);\n },\n initial,\n parameters\n );\n\n // transform solution vector back to x/y points\n const positions = solution.x;\n for (let i = 0; i < setids.length; ++i) {\n const setid = setids[i];\n circles[setid].x = positions[2 * i];\n circles[setid].y = positions[2 * i + 1];\n }\n\n return circles;\n}\n\nconst SMALL = 1e-10;\n\n/**\n * Returns the distance necessary for two circles of radius r1 + r2 to\n * have the overlap area 'overlap'\n * @param {number} r1\n * @param {number} r2\n * @param {number} overlap\n * @returns {number}\n */\nfunction distanceFromIntersectArea(r1, r2, overlap) {\n // handle complete overlapped circles\n if (Math.min(r1, r2) * Math.min(r1, r2) * Math.PI <= overlap + SMALL) {\n return Math.abs(r1 - r2);\n }\n\n return bisect((distance) => circleOverlap(r1, r2, distance) - overlap, 0, r1 + r2);\n}\n\n/**\n * Missing pair-wise intersection area data can cause problems:\n * treating as an unknown means that sets will be laid out overlapping,\n * which isn't what people expect. To reflect that we want disjoint sets\n * here, set the overlap to 0 for all missing pairwise set intersections\n * @param {ReadonlyArray<{sets: ReadonlyArray<string>, size: number}>} areas\n * @returns {ReadonlyArray<{sets: ReadonlyArray<string>, size: number}>}\n */\nfunction addMissingAreas(areas, parameters = {}) {\n const distinct = parameters.distinct;\n const r = areas.map((s) => Object.assign({}, s));\n\n function toKey(arr) {\n return arr.join(';');\n }\n\n if (distinct) {\n // recreate the full ones by adding things up but just to level two since the rest doesn't matter\n /** @types Map<string, number> */\n const count = new Map();\n for (const area of r) {\n for (let i = 0; i < area.sets.length; i++) {\n const si = String(area.sets[i]);\n count.set(si, area.size + (count.get(si) || 0));\n for (let j = i + 1; j < area.sets.length; j++) {\n const sj = String(area.sets[j]);\n const k1 = `${si};${sj}`;\n const k2 = `${sj};${si}`;\n count.set(k1, area.size + (count.get(k1) || 0));\n count.set(k2, area.size + (count.get(k2) || 0));\n }\n }\n }\n for (const area of r) {\n if (area.sets.length < 3) {\n area.size = count.get(toKey(area.sets));\n }\n }\n }\n\n // two circle intersections that aren't defined\n const ids = [];\n\n /** @type {Set<string>} */\n const pairs = new Set();\n for (const area of r) {\n if (area.sets.length === 1) {\n ids.push(area.sets[0]);\n } else if (area.sets.length === 2) {\n const a = area.sets[0];\n const b = area.sets[1];\n pairs.add(toKey(area.sets));\n pairs.add(toKey([b, a]));\n }\n }\n\n ids.sort((a, b) => (a === b ? 0 : a < b ? -1 : +1));\n\n for (let i = 0; i < ids.length; ++i) {\n const a = ids[i];\n for (let j = i + 1; j < ids.length; ++j) {\n const b = ids[j];\n if (!pairs.has(toKey([a, b]))) {\n r.push({ sets: [a, b], size: 0 });\n }\n }\n }\n return r;\n}\n\n/**\n * Returns two matrices, one of the euclidean distances between the sets\n * and the other indicating if there are subset or disjoint set relationships\n * @param {ReadonlyArray<{sets: ReadonlyArray<number>}>} areas\n * @param {ReadonlyArray<{size: number}>} sets\n * @param {ReadonlyArray<number>} setids\n */\nfunction getDistanceMatrices(areas, sets, setids) {\n // initialize an empty distance matrix between all the points\n /**\n * @type {number[][]}\n */\n const distances = zerosM(sets.length, sets.length);\n /**\n * @type {number[][]}\n */\n const constraints = zerosM(sets.length, sets.length);\n\n // compute required distances between all the sets such that\n // the areas match\n areas\n .filter((x) => x.sets.length === 2)\n .forEach((current) => {\n const left = setids[current.sets[0]];\n const right = setids[current.sets[1]];\n const r1 = Math.sqrt(sets[left].size / Math.PI);\n const r2 = Math.sqrt(sets[right].size / Math.PI);\n const distance = distanceFromIntersectArea(r1, r2, current.size);\n\n distances[left][right] = distances[right][left] = distance;\n\n // also update constraints to indicate if its a subset or disjoint\n // relationship\n let c = 0;\n if (current.size + 1e-10 >= Math.min(sets[left].size, sets[right].size)) {\n c = 1;\n } else if (current.size <= 1e-10) {\n c = -1;\n }\n constraints[left][right] = constraints[right][left] = c;\n });\n\n return { distances, constraints };\n}\n\n/// computes the gradient and loss simultaneously for our constrained MDS optimizer\nfunction constrainedMDSGradient(x, fxprime, distances, constraints) {\n for (let i = 0; i < fxprime.length; ++i) {\n fxprime[i] = 0;\n }\n\n let loss = 0;\n for (let i = 0; i < distances.length; ++i) {\n const xi = x[2 * i];\n const yi = x[2 * i + 1];\n for (let j = i + 1; j < distances.length; ++j) {\n const xj = x[2 * j];\n const yj = x[2 * j + 1];\n const dij = distances[i][j];\n const constraint = constraints[i][j];\n\n const squaredDistance = (xj - xi) * (xj - xi) + (yj - yi) * (yj - yi);\n const distance = Math.sqrt(squaredDistance);\n const delta = squaredDistance - dij * dij;\n\n if ((constraint > 0 && distance <= dij) || (constraint < 0 && distance >= dij)) {\n continue;\n }\n\n loss += 2 * delta * delta;\n\n fxprime[2 * i] += 4 * delta * (xi - xj);\n fxprime[2 * i + 1] += 4 * delta * (yi - yj);\n\n fxprime[2 * j] += 4 * delta * (xj - xi);\n fxprime[2 * j + 1] += 4 * delta * (yj - yi);\n }\n }\n return loss;\n}\n\n/**\n * takes the best working variant of either constrained MDS or greedy\n * @param {ReadonlyArray<{sets: ReadonlyArray<string>, size: number}>} areas\n */\nfunction bestInitialLayout(areas, params = {}) {\n let initial = greedyLayout(areas, params);\n const loss = params.lossFunction || lossFunction;\n\n // greedylayout is sufficient for all 2/3 circle cases. try out\n // constrained MDS for higher order problems, take its output\n // if it outperforms. (greedy is aesthetically better on 2/3 circles\n // since it axis aligns)\n if (areas.length >= 8) {\n const constrained = constrainedMDSLayout(areas, params);\n const constrainedLoss = loss(constrained, areas);\n const greedyLoss = loss(initial, areas);\n\n if (constrainedLoss + 1e-8 < greedyLoss) {\n initial = constrained;\n }\n }\n return initial;\n}\n\n/**\n * use the constrained MDS variant to generate an initial layout\n * @param {ReadonlyArray<{sets: ReadonlyArray<string>, size: number}>} areas\n * @returns {{[key: string]: {x: number, y: number, radius: number}}}\n */\nfunction constrainedMDSLayout(areas, params = {}) {\n const restarts = params.restarts || 10;\n\n // bidirectionally map sets to a rowid (so we can create a matrix)\n const sets = [];\n const setids = {};\n for (const area of areas) {\n if (area.sets.length === 1) {\n setids[area.sets[0]] = sets.length;\n sets.push(area);\n }\n }\n\n let { distances, constraints } = getDistanceMatrices(areas, sets, setids);\n\n // keep distances bounded, things get messed up otherwise.\n // TODO: proper preconditioner?\n const norm = norm2(distances.map(norm2)) / distances.length;\n distances = distances.map((row) => row.map((value) => value / norm));\n\n const obj = (x, fxprime) => constrainedMDSGradient(x, fxprime, distances, constraints);\n\n let best = null;\n for (let i = 0; i < restarts; ++i) {\n const initial = zeros(distances.length * 2).map(Math.random);\n\n const current = conjugateGradient(obj, initial, params);\n if (!best || current.fx < best.fx) {\n best = current;\n }\n }\n\n const positions = best.x;\n\n // translate rows back to (x,y,radius) coordinates\n /** @type {{[key: string]: {x: number, y: number, radius: number}}} */\n const circles = {};\n for (let i = 0; i < sets.length; ++i) {\n const set = sets[i];\n circles[set.sets[0]] = {\n x: positions[2 * i] * norm,\n y: positions[2 * i + 1] * norm,\n radius: Math.sqrt(set.size / Math.PI),\n };\n }\n\n if (params.history) {\n for (const h of params.history) {\n scale(h.x, norm);\n }\n }\n return circles;\n}\n\n/**\n * Lays out a Venn diagram greedily, going from most overlapped sets to\n * least overlapped, attempting to position each new set such that the\n * overlapping areas to already positioned sets are basically right\n * @param {ReadonlyArray<{size: number, sets: ReadonlyArray<string>}>} areas\n * @return {{[key: string]: {x: number, y: number, radius: number}}}\n */\nfunction greedyLayout(areas, params) {\n const loss = params && params.lossFunction ? params.lossFunction : lossFunction;\n\n // define a circle for each set\n /** @type {{[key: string]: {x: number, y: number, radius: number}}} */\n const circles = {};\n /** @type {{[key: string]: {set: string, size: number, weight: number}[]}} */\n const setOverlaps = {};\n for (const area of areas) {\n if (area.sets.length === 1) {\n const set = area.sets[0];\n circles[set] = {\n x: 1e10,\n y: 1e10,\n rowid: circles.length,\n size: area.size,\n radius: Math.sqrt(area.size / Math.PI),\n };\n setOverlaps[set] = [];\n }\n }\n\n areas = areas.filter((a) => a.sets.length === 2);\n\n // map each set to a list of all the other sets that overlap it\n for (const current of areas) {\n let weight = current.weight != null ? current.weight : 1.0;\n const left = current.sets[0];\n const right = current.sets[1];\n\n // completely overlapped circles shouldn't be positioned early here\n if (current.size + SMALL >= Math.min(circles[left].size, circles[right].size)) {\n weight = 0;\n }\n\n setOverlaps[left].push({ set: right, size: current.size, weight });\n setOverlaps[right].push({ set: left, size: current.size, weight });\n }\n\n // get list of most overlapped sets\n const mostOverlapped = [];\n Object.keys(setOverlaps).forEach((set) => {\n let size = 0;\n for (let i = 0; i < setOverlaps[set].length; ++i) {\n size += setOverlaps[set][i].size * setOverlaps[set][i].weight;\n }\n\n mostOverlapped.push({ set, size });\n });\n\n // sort by size desc\n function sortOrder(a, b) {\n return b.size - a.size;\n }\n mostOverlapped.sort(sortOrder);\n\n // keep track of what sets have been laid out\n const positioned = {};\n function isPositioned(element) {\n return element.set in positioned;\n }\n\n /**\n * adds a point to the output\n * @param {{x: number, y: number}} point\n * @param {number} index\n */\n function positionSet(point, index) {\n circles[index].x = point.x;\n circles[index].y = point.y;\n positioned[index] = true;\n }\n\n // add most overlapped set at (0,0)\n positionSet({ x: 0, y: 0 }, mostOverlapped[0].set);\n\n // get distances between all points. TODO, necessary?\n // answer: probably not\n // var distances = venn.getDistanceMatrices(circles, areas).distances;\n for (let i = 1; i < mostOverlapped.length; ++i) {\n const setIndex = mostOverlapped[i].set;\n const overlap = setOverlaps[setIndex].filter(isPositioned);\n const set = circles[setIndex];\n overlap.sort(sortOrder);\n\n if (overlap.length === 0) {\n // this shouldn't happen anymore with addMissingAreas\n throw 'ERROR: missing pairwise overlap information';\n }\n\n /** @type {{x: number, y: number}[]} */\n const points = [];\n for (var j = 0; j < overlap.length; ++j) {\n // get appropriate distance from most overlapped already added set\n const p1 = circles[overlap[j].set];\n const d1 = distanceFromIntersectArea(set.radius, p1.radius, overlap[j].size);\n\n // sample positions at 90 degrees for maximum aesthetics\n points.push({ x: p1.x + d1, y: p1.y });\n points.push({ x: p1.x - d1, y: p1.y });\n points.push({ y: p1.y + d1, x: p1.x });\n points.push({ y: p1.y - d1, x: p1.x });\n\n // if we have at least 2 overlaps, then figure out where the\n // set should be positioned analytically and try those too\n for (let k = j + 1; k < overlap.length; ++k) {\n const p2 = circles[overlap[k].set];\n const d2 = distanceFromIntersectArea(set.radius, p2.radius, overlap[k].size);\n\n const extraPoints = circleCircleIntersection(\n { x: p1.x, y: p1.y, radius: d1 },\n { x: p2.x, y: p2.y, radius: d2 }\n );\n points.push(...extraPoints);\n }\n }\n\n // we have some candidate positions for the set, examine loss\n // at each position to figure out where to put it at\n let bestLoss = 1e50;\n let bestPoint = points[0];\n for (const point of points) {\n circles[setIndex].x = point.x;\n circles[setIndex].y = point.y;\n const localLoss = loss(circles, areas);\n if (localLoss < bestLoss) {\n bestLoss = localLoss;\n bestPoint = point;\n }\n }\n\n positionSet(bestPoint, setIndex);\n }\n\n return circles;\n}\n\n/**\n * Given a bunch of sets, and the desired overlaps between these sets - computes\n * the distance from the actual overlaps to the desired overlaps. Note that\n * this method ignores overlaps of more than 2 circles\n * @param {{[key: string]: <{x: number, y: number, radius: number}>}} circles\n * @param {ReadonlyArray<{size: number, sets: ReadonlyArray<string>, weight?: number}>} overlaps\n * @returns {number}\n */\nfunction lossFunction(circles, overlaps) {\n let output = 0;\n\n for (const area of overlaps) {\n if (area.sets.length === 1) {\n continue;\n }\n /** @type {number} */\n let overlap;\n if (area.sets.length === 2) {\n const left = circles[area.sets[0]];\n const right = circles[area.sets[1]];\n overlap = circleOverlap(left.radius, right.radius, distance(left, right));\n } else {\n overlap = intersectionArea(area.sets.map((d) => circles[d]));\n }\n\n const weight = area.weight != null ? area.weight : 1.0;\n output += weight * (overlap - area.size) * (overlap - area.size);\n }\n\n return output;\n}\n\nfunction logRatioLossFunction(circles, overlaps) {\n let output = 0;\n\n for (const area of overlaps) {\n if (area.sets.length === 1) {\n continue;\n }\n /** @type {number} */\n let overlap;\n if (area.sets.length === 2) {\n const left = circles[area.sets[0]];\n const right = circles[area.sets[1]];\n overlap = circleOverlap(left.radius, right.radius, distance(left, right));\n } else {\n overlap = intersectionArea(area.sets.map((d) => circles[d]));\n }\n\n const weight = area.weight != null ? area.weight : 1.0;\n const differenceFromIdeal = Math.log((overlap + 1) / (area.size + 1));\n output += weight * differenceFromIdeal * differenceFromIdeal;\n }\n\n return output;\n}\n\n/**\n * orientates a bunch of circles to point in orientation\n * @param {{x :number, y: number, radius: number}[]} circles\n * @param {number | undefined} orientation\n * @param {((a: {x :number, y: number, radius: number}, b: {x :number, y: number, radius: number}) => number) | undefined} orientationOrder\n */\nfunction orientateCircles(circles, orientation, orientationOrder) {\n if (orientationOrder == null) {\n circles.sort((a, b) => b.radius - a.radius);\n } else {\n circles.sort(orientationOrder);\n }\n\n // shift circles so largest circle is at (0, 0)\n if (circles.length > 0) {\n const largestX = circles[0].x;\n const largestY = circles[0].y;\n\n for (const circle of circles) {\n circle.x -= largestX;\n circle.y -= largestY;\n }\n }\n\n if (circles.length === 2) {\n // if the second circle is a subset of the first, arrange so that\n // it is off to one side. hack for https://github.com/benfred/venn.js/issues/120\n const dist = distance(circles[0], circles[1]);\n if (dist < Math.abs(circles[1].radius - circles[0].radius)) {\n circles[1].x = circles[0].x + circles[0].radius - circles[1].radius - 1e-10;\n circles[1].y = circles[0].y;\n }\n }\n\n // rotate circles so that second largest is at an angle of 'orientation'\n // from largest\n if (circles.length > 1) {\n const rotation = Math.atan2(circles[1].x, circles[1].y) - orientation;\n const c = Math.cos(rotation);\n const s = Math.sin(rotation);\n\n for (const circle of circles) {\n const x = circle.x;\n const y = circle.y;\n circle.x = c * x - s * y;\n circle.y = s * x + c * y;\n }\n }\n\n // mirror solution if third solution is above plane specified by\n // first two circles\n if (circles.length > 2) {\n let angle = Math.atan2(circles[2].x, circles[2].y) - orientation;\n while (angle < 0) {\n angle += 2 * Math.PI;\n }\n while (angle > 2 * Math.PI) {\n angle -= 2 * Math.PI;\n }\n if (angle > Math.PI) {\n const slope = circles[1].y / (1e-10 + circles[1].x);\n for (const circle of circles) {\n var d = (circle.x + slope * circle.y) / (1 + slope * slope);\n circle.x = 2 * d - circle.x;\n circle.y = 2 * d * slope - circle.y;\n }\n }\n }\n}\n\n/**\n *\n * @param {ReadonlyArray<{x: number, y: number, radius: number}>} circles\n * @returns {{x: number, y: number, radius: number}[][]}\n */\nfunction disjointCluster(circles) {\n // union-find clustering to get disjoint sets\n circles.forEach((circle) => {\n circle.parent = circle;\n });\n\n // path compression step in union find\n function find(circle) {\n if (circle.parent !== circle) {\n circle.parent = find(circle.parent);\n }\n return circle.parent;\n }\n\n function union(x, y) {\n const xRoot = find(x);\n const yRoot = find(y);\n xRoot.parent = yRoot;\n }\n\n // get the union of all overlapping sets\n for (let i = 0; i < circles.length; ++i) {\n for (let j = i + 1; j < circles.length; ++j) {\n const maxDistance = circles[i].radius + circles[j].radius;\n if (distance(circles[i], circles[j]) + 1e-10 < maxDistance) {\n union(circles[j], circles[i]);\n }\n }\n }\n\n // find all the disjoint clusters and group them together\n /** @type {Map<string, {x: number, y: number, radius: number}[]>} */\n const disjointClusters = new Map();\n for (let i = 0; i < circles.length; ++i) {\n const setid = find(circles[i]).parent.setid;\n if (!disjointClusters.has(setid)) {\n disjointClusters.set(setid, []);\n }\n disjointClusters.get(setid).push(circles[i]);\n }\n\n // cleanup bookkeeping\n circles.forEach((circle) => {\n delete circle.parent;\n });\n\n // return in more usable form\n return Array.from(disjointClusters.values());\n}\n\n/**\n * @param {ReadonlyArray<{x :number, y: number, radius: number}>} circles\n * @returns {{xRange: [number, number], yRange: [number, number]}}\n */\nfunction getBoundingBox(circles) {\n const minMax = (d) => {\n const hi = circles.reduce((acc, c) => Math.max(acc, c[d] + c.radius), Number.NEGATIVE_INFINITY);\n const lo = circles.reduce((acc, c) => Math.min(acc, c[d] - c.radius), Number.POSITIVE_INFINITY);\n return { max: hi, min: lo };\n };\n return { xRange: minMax('x'), yRange: minMax('y') };\n}\n\n/**\n *\n * @param {{[setid: string]: {x: number, y: number, radius: number}}} solution\n * @param {undefined | number} orientation\n * @param {((a: {x :number, y: number, radius: number}, b: {x :number, y: number, radius: number}) => number) | undefined} orientationOrder\n * @returns {{[setid: string]: {x: number, y: number, radius: number}}}\n */\nfunction normalizeSolution(solution, orientation, orientationOrder) {\n if (orientation == null) {\n orientation = Math.PI / 2;\n }\n\n // work with a list instead of a dictionary, and take a copy so we\n // don't mutate input\n let circles = fromObjectNotation(solution).map((d) => Object.assign({}, d));\n\n // get all the disjoint clusters\n const clusters = disjointCluster(circles);\n\n // orientate all disjoint sets, get sizes\n for (const cluster of clusters) {\n orientateCircles(cluster, orientation, orientationOrder);\n const bounds = getBoundingBox(cluster);\n cluster.size = (bounds.xRange.max - bounds.xRange.min) * (bounds.yRange.max - bounds.yRange.min);\n cluster.bounds = bounds;\n }\n clusters.sort((a, b) => b.size - a.size);\n\n // orientate the largest at 0,0, and get the bounds\n circles = clusters[0];\n let returnBounds = circles.bounds;\n const spacing = (returnBounds.xRange.max - returnBounds.xRange.min) / 50;\n\n /**\n * @param {ReadonlyArray<{x: number, y: number, radius: number, setid: string}>} cluster\n * @param {boolean} right\n * @param {boolean} bottom\n */\n function addCluster(cluster, right, bottom) {\n if (!cluster) {\n return;\n }\n\n const bounds = cluster.bounds;\n /** @type {number} */\n let xOffset;\n /** @type {number} */\n let yOffset;\n\n if (right) {\n xOffset = returnBounds.xRange.max - bounds.xRange.min + spacing;\n } else {\n xOffset = returnBounds.xRange.max - bounds.xRange.max;\n const centreing =\n (bounds.xRange.max - bounds.xRange.min) / 2 - (returnBounds.xRange.max - returnBounds.xRange.min) / 2;\n if (centreing < 0) {\n xOffset += centreing;\n }\n }\n\n if (bottom) {\n yOffset = returnBounds.yRange.max - bounds.yRange.min + spacing;\n } else {\n yOffset = returnBounds.yRange.max - bounds.yRange.max;\n const centreing =\n (bounds.yRange.max - bounds.yRange.min) / 2 - (returnBounds.yRange.max - returnBounds.yRange.min) / 2;\n if (centreing < 0) {\n yOffset += centreing;\n }\n }\n\n for (const c of cluster) {\n c.x += xOffset;\n c.y += yOffset;\n circles.push(c);\n }\n }\n\n let index = 1;\n while (index < clusters.length) {\n addCluster(clusters[index], true, false);\n addCluster(clusters[index + 1], false, true);\n addCluster(clusters[index + 2], true, true);\n index += 3;\n\n // have one cluster (in top left). lay out next three relative\n // to it in a grid\n returnBounds = getBoundingBox(circles);\n }\n\n // convert back to solution form\n return toObjectNotation(circles);\n}\n\n/**\n * Scales a solution from venn.venn or venn.greedyLayout such that it fits in\n * a rectangle of width/height - with padding around the borders. also\n * centers the diagram in the available space at the same time.\n * If the scale parameter is not null, this automatic scaling is ignored in favor of this custom one\n * @param {{[setid: string]: {x: number, y: number, radius: number}}} solution\n * @param {number} width\n * @param {number} height\n * @param {number} padding\n * @param {boolean} scaleToFit\n * @returns {{[setid: string]: {x: number, y: number, radius: number}}}\n */\nfunction scaleSolution(solution, width, height, padding, scaleToFit) {\n const circles = fromObjectNotation(solution);\n\n width -= 2 * padding;\n height -= 2 * padding;\n\n const { xRange, yRange } = getBoundingBox(circles);\n\n if (xRange.max === xRange.min || yRange.max === yRange.min) {\n console.log('not scaling solution: zero size detected');\n return solution;\n }\n\n /** @type {number} */\n let xScaling;\n /** @type {number} */\n let yScaling;\n if (scaleToFit) {\n const toScaleDiameter = Math.sqrt(scaleToFit / Math.PI) * 2;\n xScaling = width / toScaleDiameter;\n yScaling = height / toScaleDiameter;\n } else {\n xScaling = width / (xRange.max - xRange.min);\n yScaling = height / (yRange.max - yRange.min);\n }\n\n const scaling = Math.min(yScaling, xScaling);\n // while we're at it, center the diagram too\n const xOffset = (width - (xRange.max - xRange.min) * scaling) / 2;\n const yOffset = (height - (yRange.max - yRange.min) * scaling) / 2;\n\n return toObjectNotation(\n circles.map((circle) => ({\n radius: scaling * circle.radius,\n x: padding + xOffset + (circle.x - xRange.min) * scaling,\n y: padding + yOffset + (circle.y - yRange.min) * scaling,\n setid: circle.setid,\n }))\n );\n}\n\n/**\n * @param {readonly {x: number, y: number, radius: number, setid: string}[]} circles\n * @returns {{[setid: string]: {x: number, y: number, radius: number, setid: string}}}\n */\nfunction toObjectNotation(circles) {\n /** @type {{[setid: string]: {x: number, y: number, radius: number, setid: string}}} */\n const r = {};\n for (const circle of circles) {\n r[circle.setid] = circle;\n }\n return r;\n}\n/**\n * @param {{[setid: string]: {x: number, y: number, radius: number}}} solution\n * @returns {{x: number, y: number, radius: number, setid: string}[]}}\n */\nfunction fromObjectNotation(solution) {\n const setids = Object.keys(solution);\n return setids.map((id) => Object.assign(solution[id], { setid: id }));\n}\n\n/**\n * VennDiagram includes an optional `options` parameter containing the following option(s):\n *\n * `colourScheme: Array<String>`\n * A list of color values to be applied when coloring diagram circles.\n *\n * `symmetricalTextCentre: Boolean`\n * Whether to symmetrically center each circle's text horizontally and vertically.\n * Defaults to `false`.\n *\n * `textFill: String`\n * The color to be applied to the text within each circle.\n *\n * @param {object} options\n */\nfunction VennDiagram(options = {}) {\n let useViewBox = false,\n width = 600,\n height = 350,\n padding = 15,\n duration = 1000,\n orientation = Math.PI / 2,\n normalize = true,\n scaleToFit = null,\n wrap = true,\n styled = true,\n fontSize = null,\n orientationOrder = null,\n distinct = false,\n round = null,\n symmetricalTextCentre = options && options.symmetricalTextCentre ? options.symmetricalTextCentre : false,\n // mimic the behaviour of d3.scale.category10 from the previous\n // version of d3\n colourMap = {},\n // so this is the same as d3.schemeCategory10, which is only defined in d3 4.0\n // since we can support older versions of d3 as long as we don't force this,\n // I'm hackily redefining below. TODO: remove this and change to d3.schemeCategory10\n colourScheme =\n options && options.colourScheme\n ? options.colourScheme\n : options && options.colorScheme\n ? options.colorScheme\n : [\n '#1f77b4',\n '#ff7f0e',\n '#2ca02c',\n '#d62728',\n '#9467bd',\n '#8c564b',\n '#e377c2',\n '#7f7f7f',\n '#bcbd22',\n '#17becf',\n ],\n colourIndex = 0,\n colours = function (key) {\n if (key in colourMap) {\n return colourMap[key];\n }\n var ret = (colourMap[key] = colourScheme[colourIndex]);\n colourIndex += 1;\n if (colourIndex >= colourScheme.length) {\n colourIndex = 0;\n }\n return ret;\n },\n layoutFunction = venn,\n loss = lossFunction;\n\n function chart(selection) {\n let data = selection.datum();\n\n // handle 0-sized sets by removing from input\n const toRemove = new Set();\n data.forEach((datum) => {\n if (datum.size == 0 && datum.sets.length == 1) {\n toRemove.add(datum.sets[0]);\n }\n });\n data = data.filter((datum) => !datum.sets.some((set) => toRemove.has(set)));\n\n let circles = {};\n let textCentres = {};\n\n if (data.length > 0) {\n let solution = layoutFunction(data, { lossFunction: loss, distinct });\n\n if (normalize) {\n solution = normalizeSolution(solution, orientation, orientationOrder);\n }\n\n circles = scaleSolution(solution, width, height, padding, scaleToFit);\n textCentres = computeTextCentres(circles, data, symmetricalTextCentre);\n }\n\n // Figure out the current label for each set. These can change\n // and D3 won't necessarily update (fixes https://github.com/benfred/venn.js/issues/103)\n const labels = {};\n data.forEach((datum) => {\n if (datum.label) {\n labels[datum.sets] = datum.label;\n }\n });\n\n function label(d) {\n if (d.sets in labels) {\n return labels[d.sets];\n }\n if (d.sets.length == 1) {\n return '' + d.sets[0];\n }\n }\n\n // create svg if not already existing\n selection.selectAll('svg').data([circles]).enter().append('svg');\n\n const svg = selection.select('svg');\n\n if (useViewBox) {\n svg.attr('viewBox', `0 0 ${width} ${height}`);\n } else {\n svg.attr('width', width).attr('height', height);\n }\n\n // to properly transition intersection areas, we need the\n // previous circles locations. load from elements\n const previous = {};\n let hasPrevious = false;\n svg.selectAll('.venn-area path').each(function (d) {\n const path = this.getAttribute('d');\n if (d.sets.length == 1 && path && !distinct) {\n hasPrevious = true;\n previous[d.sets[0]] = circleFromPath(path);\n }\n });\n // interpolate intersection area paths between previous and\n // current paths\n function pathTween(d) {\n return (t) => {\n const c = d.sets.map((set) => {\n let start = previous[set];\n let end = circles[set];\n if (!start) {\n start = { x: width / 2, y: height / 2, radius: 1 };\n }\n if (!end) {\n end = { x: width / 2, y: height / 2, radius: 1 };\n }\n return {\n x: start.x * (1 - t) + end.x * t,\n y: start.y * (1 - t) + end.y * t,\n radius: start.radius * (1 - t) + end.radius * t,\n };\n });\n return intersectionAreaPath(c, round);\n };\n }\n\n // update data, joining on the set ids\n const nodes = svg.selectAll('.venn-area').data(data, (d) => d.sets);\n\n // create new nodes\n const enter = nodes\n .enter()\n .append('g')\n .attr(\n 'class',\n (d) =>\n `venn-area venn-${d.sets.length == 1 ? 'circle' : 'intersection'}${\n d.colour || d.color ? ' venn-coloured' : ''\n }`\n )\n .attr('data-venn-sets', (d) => d.sets.join('_'));\n\n const enterPath = enter.append('path');\n const enterText = enter\n .append('text')\n .attr('class', 'label')\n .text((d) => label(d))\n .attr('text-anchor', 'middle')\n .attr('dy', '.35em')\n .attr('x', width / 2)\n .attr('y', height / 2);\n\n // apply minimal style if wanted\n if (styled) {\n enterPath\n .style('fill-opacity', '0')\n .filter((d) => d.sets.length == 1)\n .style('fill', (d) => (d.colour ? d.colour : d.color ? d.color : colours(d.sets)))\n .style('fill-opacity', '.25');\n\n enterText.style('fill', (d) => {\n if (d.colour || d.color) {\n return '#FFF';\n }\n if (options.textFill) {\n return options.textFill;\n }\n return d.sets.length == 1 ? colours(d.sets) : '#444';\n });\n }\n\n function asTransition(s) {\n if (typeof s.transition === 'function') {\n return s.transition('venn').duration(duration);\n }\n return s;\n }\n\n // update existing, using pathTween if necessary\n let update = selection;\n if (hasPrevious && typeof update.transition === 'function') {\n update = asTransition(selection);\n update.selectAll('path').attrTween('d', pathTween);\n } else {\n update.selectAll('path').attr('d', (d) => intersectionAreaPath(d.sets.map((set) => circles[set])), round);\n }\n\n const updateText = update\n .selectAll('text')\n .filter((d) => d.sets in textCentres)\n .text((d) => label(d))\n .attr('x', (d) => Math.floor(textCentres[d.sets].x))\n .attr('y', (d) => Math.floor(textCentres[d.sets].y));\n\n if (wrap) {\n if (hasPrevious) {\n // d3 4.0 uses 'on' for events on transitions,\n // but d3 3.0 used 'each' instead. switch appropriately\n if ('on' in updateText) {\n updateText.on('end', wrapText(circles, label));\n } else {\n updateText.each('end', wrapText(circles, label));\n }\n } else {\n updateText.each(wrapText(circles, label));\n }\n }\n\n // remove old\n const exit = asTransition(nodes.exit()).remove();\n if (typeof nodes.transition === 'function') {\n exit.selectAll('path').attrTween('d', pathTween);\n }\n\n const exitText = exit\n .selectAll('text')\n .attr('x', width / 2)\n .attr('y', height / 2);\n\n // if we've been passed a fontSize explicitly, use it to\n // transition\n if (fontSize !== null) {\n enterText.style('font-size', '0px');\n updateText.style('font-size', fontSize);\n exitText.style('font-size', '0px');\n }\n\n return { circles, textCentres, nodes, enter, update, exit };\n }\n\n chart.wrap = function (_) {\n if (!arguments.length) return wrap;\n wrap = _;\n return chart;\n };\n\n chart.useViewBox = function () {\n useViewBox = true;\n return chart;\n };\n\n chart.width = function (_) {\n if (!arguments.length) return width;\n width = _;\n return chart;\n };\n\n chart.height = function (_) {\n if (!arguments.length) return height;\n height = _;\n return chart;\n };\n\n chart.padding = function (_) {\n if (!arguments.length) return padding;\n padding = _;\n return chart;\n };\n\n chart.distinct = function (_) {\n if (!arguments.length) return distinct;\n distinct = _;\n return chart;\n };\n\n chart.colours = function (_) {\n if (!arguments.length) return colours;\n colours = _;\n return chart;\n };\n\n chart.colors = function (_) {\n if (!arguments.length) return colours;\n colours = _;\n return chart;\n };\n\n chart.fontSize = function (_) {\n if (!arguments.length) return fontSize;\n fontSize = _;\n return chart;\n };\n\n chart.round = function (_) {\n if (!arguments.length) return round;\n round = _;\n return chart;\n };\n\n chart.duration = function (_) {\n if (!arguments.length) return duration;\n duration = _;\n return chart;\n };\n\n chart.layoutFunction = function (_) {\n if (!arguments.length) return layoutFunction;\n layoutFunction = _;\n return chart;\n };\n\n chart.normalize = function (_) {\n if (!arguments.length) return normalize;\n normalize = _;\n return chart;\n };\n\n chart.scaleToFit = function (_) {\n if (!arguments.length) return scaleToFit;\n scaleToFit = _;\n return chart;\n };\n\n chart.styled = function (_) {\n if (!arguments.length) return styled;\n styled = _;\n return chart;\n };\n\n chart.orientation = function (_) {\n if (!arguments.length) return orientation;\n orientation = _;\n return chart;\n };\n\n chart.orientationOrder = function (_) {\n if (!arguments.length) return orientationOrder;\n orientationOrder = _;\n return chart;\n };\n\n chart.lossFunction = function (_) {\n if (!arguments.length) return loss;\n loss = _ === 'default' ? lossFunction : _ === 'logRatio' ? logRatioLossFunction : _;\n return chart;\n };\n\n return chart;\n}\n\n// sometimes text doesn't fit inside the circle, if thats the case lets wrap\n// the text here such that it fits\n// todo: looks like this might be merged into d3 (\n// https://github.com/mbostock/d3/issues/1642),\n// also worth checking out is\n// http://engineering.findthebest.com/wrapping-axis-labels-in-d3-js/\n// this seems to be one of those things that should be easy but isn't\nfunction wrapText(circles, labeller) {\n return function (data) {\n const text = this;\n const width = circles[data.sets[0]].radius || 50;\n const label = labeller(data) || '';\n\n const words = label.split(/\\s+/).reverse();\n const maxLines = 3;\n const minChars = (label.length + words.length) / maxLines;\n\n let word = words.pop();\n let line = [word];\n let lineNumber = 0;\n const lineHeight = 1.1; // ems\n text.textContent = null; // clear\n const tspans = [];\n\n function append(word) {\n const tspan = text.ownerDocument.createElementNS(text.namespaceURI, 'tspan');\n tspan.textContent = word;\n tspans.push(tspan);\n text.append(tspan);\n return tspan;\n }\n let tspan = append(word);\n\n while (true) {\n word = words.pop();\n if (!word) {\n break;\n }\n line.push(word);\n const joined = line.join(' ');\n tspan.textContent = joined;\n if (joined.length > minChars && tspan.getComputedTextLength() > width) {\n line.pop();\n tspan.textContent = line.join(' ');\n line = [word];\n tspan = append(word);\n lineNumber++;\n }\n }\n\n const initial = 0.35 - (lineNumber * lineHeight) / 2;\n const x = text.getAttribute('x');\n const y = text.getAttribute('y');\n tspans.forEach((t, i) => {\n t.setAttribute('x', x);\n t.setAttribute('y', y);\n t.setAttribute('dy', `${initial + i * lineHeight}em`);\n });\n };\n}\n\n/**\n *\n * @param {{x: number, y: number}} current\n * @param {ReadonlyArray<{x: number, y: number}>} interior\n * @param {ReadonlyArray<{x: number, y: number}>} exterior\n * @returns {number}\n */\nfunction circleMargin(current, interior, exterior) {\n let margin = interior[0].radius - distance(interior[0], current);\n\n for (let i = 1; i < interior.length; ++i) {\n const m = interior[i].radius - distance(interior[i], current);\n if (m <= margin) {\n margin = m;\n }\n }\n\n for (let i = 0; i < exterior.length; ++i) {\n const m = distance(exterior[i], current) - exterior[i].radius;\n if (m <= margin) {\n margin = m;\n }\n }\n return margin;\n}\n\n/**\n * compute the center of some circles by maximizing the margin of\n * the center point relative to the circles (interior) after subtracting\n * nearby circles (exterior)\n * @param {readonly {x: number, y: number, radius: number}[]} interior\n * @param {readonly {x: number, y: number, radius: number}[]} exterior\n * @param {boolean} symmetricalTextCentre\n * @returns {{x:number, y: number}}\n */\nfunction computeTextCentre(interior, exterior, symmetricalTextCentre) {\n // get an initial estimate by sampling around the interior circles\n // and taking the point with the biggest margin\n /** @type {{x: number, y: number}[]} */\n const points = [];\n for (const c of interior) {\n points.push({ x: c.x, y: c.y });\n points.push({ x: c.x + c.radius / 2, y: c.y });\n points.push({ x: c.x - c.radius / 2, y: c.y });\n points.push({ x: c.x, y: c.y + c.radius / 2 });\n points.push({ x: c.x, y: c.y - c.radius / 2 });\n }\n\n let initial = points[0];\n let margin = circleMargin(points[0], interior, exterior);\n\n for (let i = 1; i < points.length; ++i) {\n const m = circleMargin(points[i], interior, exterior);\n if (m >= margin) {\n initial = points[i];\n margin = m;\n }\n }\n\n // maximize the margin numerically\n const solution = nelderMead(\n (p) => -1 * circleMargin({ x: p[0], y: p[1] }, interior, exterior),\n [initial.x, initial.y],\n { maxIterations: 500, minErrorDelta: 1e-10 }\n ).x;\n\n const ret = { x: symmetricalTextCentre ? 0 : solution[0], y: solution[1] };\n\n // check solution, fallback as needed (happens if fully overlapped\n // etc)\n let valid = true;\n for (const i of interior) {\n if (distance(ret, i) > i.radius) {\n valid = false;\n break;\n }\n }\n\n for (const e of exterior) {\n if (distance(ret, e) < e.radius) {\n valid = false;\n break;\n }\n }\n if (valid) {\n return ret;\n }\n\n if (interior.length == 1) {\n return { x: interior[0].x, y: interior[0].y };\n }\n const areaStats = {};\n intersectionArea(interior, areaStats);\n\n if (areaStats.arcs.length === 0) {\n return { x: 0, y: -1000, disjoint: true };\n }\n if (areaStats.arcs.length == 1) {\n return { x: areaStats.arcs[0].circle.x, y: areaStats.arcs[0].circle.y };\n }\n if (exterior.length) {\n // try again without other circles\n return computeTextCentre(interior, []);\n }\n // take average of all the points in the intersection\n // polygon. this should basically never happen\n // and has some issues:\n // https://github.com/benfred/venn.js/issues/48#issuecomment-146069777\n return getCenter(areaStats.arcs.map((a) => a.p1));\n}\n\n// given a dictionary of {setid : circle}, returns\n// a dictionary of setid to list of circles that completely overlap it\nfunction getOverlappingCircles(circles) {\n const ret = {};\n const circleids = Object.keys(circles);\n for (const circleid of circleids) {\n ret[circleid] = [];\n }\n for (let i = 0; i < circleids.length; i++) {\n const ci = circleids[i];\n const a = circles[ci];\n for (let j = i + 1; j < circleids.length; ++j) {\n const cj = circleids[j];\n const b = circles[cj];\n const d = distance(a, b);\n\n if (d + b.radius <= a.radius + 1e-10) {\n ret[cj].push(ci);\n } else if (d + a.radius <= b.radius + 1e-10) {\n ret[ci].push(cj);\n }\n }\n }\n return ret;\n}\n\nfunction computeTextCentres(circles, areas, symmetricalTextCentre) {\n const ret = {};\n const overlapped = getOverlappingCircles(circles);\n for (let i = 0; i < areas.length; ++i) {\n const area = areas[i].sets;\n const areaids = {};\n const exclude = {};\n\n for (let j = 0; j < area.length; ++j) {\n areaids[area[j]] = true;\n const overlaps = overlapped[area[j]];\n // keep track of any circles that overlap this area,\n // and don't consider for purposes of computing the text\n // centre\n for (let k = 0; k < overlaps.length; ++k) {\n exclude[overlaps[k]] = true;\n }\n }\n\n const interior = [];\n const exterior = [];\n for (let setid in circles) {\n if (setid in areaids) {\n interior.push(circles[setid]);\n } else if (!(setid in exclude)) {\n exterior.push(circles[setid]);\n }\n }\n const centre = computeTextCentre(interior, exterior, symmetricalTextCentre);\n ret[area] = centre;\n if (centre.disjoint && areas[i].size > 0) {\n console.log('WARNING: area ' + area + ' not represented on screen');\n }\n }\n return ret;\n}\n\n// sorts all areas in the venn diagram, so that\n// a particular area is on top (relativeTo) - and\n// all other areas are so that the smallest areas are on top\nfunction sortAreas(div, relativeTo) {\n // figure out sets that are completely overlapped by relativeTo\n const overlaps = getOverlappingCircles(div.selectAll('svg').datum());\n const exclude = new Set();\n for (const check of relativeTo.sets) {\n for (let setid in overlaps) {\n const overlap = overlaps[setid];\n for (let j = 0; j < overlap.length; ++j) {\n if (overlap[j] == check) {\n exclude.add(setid);\n break;\n }\n }\n }\n }\n\n // checks that all sets are in exclude;\n function shouldExclude(sets) {\n return sets.every((set) => !exclude.has(set));\n }\n\n // need to sort div's so that Z order is correct\n div.selectAll('g').sort((a, b) => {\n // highest order set intersections first\n if (a.sets.length != b.sets.length) {\n return a.sets.length - b.sets.length;\n }\n\n if (a == relativeTo) {\n return shouldExclude(b.sets) ? -1 : 1;\n }\n if (b == relativeTo) {\n return shouldExclude(a.sets) ? 1 : -1;\n }\n\n // finally by size\n return b.size - a.size;\n });\n}\n\n/**\n * @param {number} x\n * @param {number} y\n * @param {number} r\n * @returns {string}\n */\nfunction circlePath(x, y, r) {\n const ret = [];\n ret.push('\\nM', x, y);\n ret.push('\\nm', -r, 0);\n ret.push('\\na', r, r, 0, 1, 0, r * 2, 0);\n ret.push('\\na', r, r, 0, 1, 0, -r * 2, 0);\n return ret.join(' ');\n}\n\n/**\n * inverse of the circlePath function, returns a circle object from an svg path\n * @param {string} path\n * @returns {{x: number, y: number, radius: number}}\n */\nfunction circleFromPath(path) {\n const tokens = path.split(' ');\n return { x: Number.parseFloat(tokens[1]), y: Number.parseFloat(tokens[2]), radius: -Number.parseFloat(tokens[4]) };\n}\n\nfunction intersectionAreaArcs(circles) {\n if (circles.length === 0) {\n return [];\n }\n const stats = {};\n intersectionArea(circles, stats);\n return stats.arcs;\n}\n\nfunction arcsToPath(arcs, round) {\n if (arcs.length === 0) {\n return 'M 0 0';\n }\n const rFactor = Math.pow(10, round || 0);\n const r = round != null ? (v) => Math.round(v * rFactor) / rFactor : (v) => v;\n if (arcs.length == 1) {\n const circle = arcs[0].circle;\n return circlePath(r(circle.x), r(circle.y), r(circle.radius));\n }\n // draw path around arcs\n const ret = ['\\nM', r(arcs[0].p2.x), r(arcs[0].p2.y)];\n for (const arc of arcs) {\n const radius = r(arc.circle.radius);\n ret.push('\\nA', radius, radius, 0, arc.large ? 1 : 0, arc.sweep ? 1 : 0, r(arc.p1.x), r(arc.p1.y));\n }\n return ret.join(' ');\n}\n\n/**\n * returns a svg path of the intersection area of a bunch of circles\n * @param {ReadonlyArray<{x: number, y: number, radius: number}>} circles\n * @returns {string}\n */\nfunction intersectionAreaPath(circles, round) {\n return arcsToPath(intersectionAreaArcs(circles), round);\n}\n\nfunction layout(data, options = {}) {\n const {\n lossFunction: loss,\n layoutFunction: layout = venn,\n normalize = true,\n orientation = Math.PI / 2,\n orientationOrder,\n width = 600,\n height = 350,\n padding = 15,\n scaleToFit = false,\n symmetricalTextCentre = false,\n distinct,\n round = 2,\n } = options;\n\n let solution = layout(data, {\n lossFunction: loss === 'default' || !loss ? lossFunction : loss === 'logRatio' ? logRatioLossFunction : loss,\n distinct,\n });\n\n if (normalize) {\n solution = normalizeSolution(solution, orientation, orientationOrder);\n }\n\n const circles = scaleSolution(solution, width, height, padding, scaleToFit);\n const textCentres = computeTextCentres(circles, data, symmetricalTextCentre);\n\n const circleLookup = new Map(\n Object.keys(circles).map((set) => [\n set,\n {\n set,\n x: circles[set].x,\n y: circles[set].y,\n radius: circles[set].radius,\n },\n ])\n );\n const helpers = data.map((area) => {\n const circles = area.sets.map((s) => circleLookup.get(s));\n const arcs = intersectionAreaArcs(circles);\n const path = arcsToPath(arcs, round);\n return { circles, arcs, path, area, has: new Set(area.sets) };\n });\n\n function genDistinctPath(sets) {\n let r = '';\n for (const e of helpers) {\n if (e.has.size > sets.length && sets.every((s) => e.has.has(s))) {\n r += ' ' + e.path;\n }\n }\n return r;\n }\n\n return helpers.map(({ circles, arcs, path, area }) => {\n return {\n data: area,\n text: textCentres[area.sets],\n circles,\n arcs,\n path,\n distinctPath: path + genDistinctPath(area.sets),\n };\n });\n}\n\nexport { VennDiagram, bestInitialLayout, circleArea, circleCircleIntersection, circleFromPath, circleOverlap, circlePath, computeTextCentre, computeTextCentres, disjointCluster, distance, distanceFromIntersectArea, greedyLayout, intersectionArea, intersectionAreaPath, layout, logRatioLossFunction, lossFunction, normalizeSolution, scaleSolution, sortAreas, venn, wrapText };\n","import {\n selectSvgElement\n} from \"./chunk-HHEYEP7N.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-GEFDOKGD.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-7R4GIKGN.mjs\";\nimport {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/venn/parser/venn.jison\nvar parser = (function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [5, 8], $V1 = [7, 8, 11, 12, 17, 19, 22, 24], $V2 = [1, 17], $V3 = [1, 18], $V4 = [7, 8, 11, 12, 14, 15, 16, 17, 19, 20, 21, 22, 24, 27], $V5 = [1, 31], $V6 = [1, 39], $V7 = [7, 8, 11, 12, 17, 19, 22, 24, 27], $V8 = [1, 57], $V9 = [1, 56], $Va = [1, 58], $Vb = [1, 59], $Vc = [1, 60], $Vd = [7, 8, 11, 12, 16, 17, 19, 20, 22, 24, 27, 31, 32, 33];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"optNewlines\": 4, \"VENN\": 5, \"document\": 6, \"EOF\": 7, \"NEWLINE\": 8, \"line\": 9, \"statement\": 10, \"TITLE\": 11, \"SET\": 12, \"identifier\": 13, \"BRACKET_LABEL\": 14, \"COLON\": 15, \"NUMERIC\": 16, \"UNION\": 17, \"identifierList\": 18, \"TEXT\": 19, \"IDENTIFIER\": 20, \"STRING\": 21, \"INDENT_TEXT\": 22, \"indentedTextTail\": 23, \"STYLE\": 24, \"stylesOpt\": 25, \"styleField\": 26, \"COMMA\": 27, \"styleValue\": 28, \"valueTokens\": 29, \"valueToken\": 30, \"HEXCOLOR\": 31, \"RGBCOLOR\": 32, \"RGBACOLOR\": 33, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 5: \"VENN\", 7: \"EOF\", 8: \"NEWLINE\", 11: \"TITLE\", 12: \"SET\", 14: \"BRACKET_LABEL\", 15: \"COLON\", 16: \"NUMERIC\", 17: \"UNION\", 19: \"TEXT\", 20: \"IDENTIFIER\", 21: \"STRING\", 22: \"INDENT_TEXT\", 24: \"STYLE\", 27: \"COMMA\", 31: \"HEXCOLOR\", 32: \"RGBCOLOR\", 33: \"RGBACOLOR\" },\n productions_: [0, [3, 4], [4, 0], [4, 2], [6, 0], [6, 2], [9, 1], [9, 1], [10, 1], [10, 2], [10, 3], [10, 4], [10, 5], [10, 2], [10, 3], [10, 4], [10, 5], [10, 3], [10, 3], [10, 3], [10, 4], [10, 4], [10, 2], [10, 3], [23, 1], [23, 1], [23, 1], [23, 2], [23, 2], [25, 1], [25, 3], [26, 3], [28, 1], [28, 1], [29, 1], [29, 2], [30, 1], [30, 1], [30, 1], [30, 1], [30, 1], [18, 1], [18, 3], [13, 1], [13, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 1:\n return $$[$0 - 1];\n break;\n case 2:\n case 3:\n case 4:\n this.$ = [];\n break;\n case 5:\n $$[$0 - 1].push($$[$0]);\n this.$ = $$[$0 - 1];\n break;\n case 6:\n this.$ = [];\n break;\n case 7:\n case 22:\n case 32:\n case 36:\n case 37:\n case 38:\n case 39:\n case 40:\n this.$ = $$[$0];\n break;\n case 8:\n yy.setDiagramTitle($$[$0].substr(6));\n this.$ = $$[$0].substr(6);\n break;\n case 9:\n yy.addSubsetData([$$[$0]], void 0, void 0);\n if (yy.setIndentMode) {\n yy.setIndentMode(true);\n }\n break;\n case 10:\n yy.addSubsetData([$$[$0 - 1]], $$[$0], void 0);\n if (yy.setIndentMode) {\n yy.setIndentMode(true);\n }\n break;\n case 11:\n yy.addSubsetData([$$[$0 - 2]], void 0, parseFloat($$[$0]));\n if (yy.setIndentMode) {\n yy.setIndentMode(true);\n }\n break;\n case 12:\n yy.addSubsetData([$$[$0 - 3]], $$[$0 - 2], parseFloat($$[$0]));\n if (yy.setIndentMode) {\n yy.setIndentMode(true);\n }\n break;\n case 13:\n if ($$[$0].length < 2) {\n throw new Error(\"union requires multiple identifiers\");\n }\n if (yy.validateUnionIdentifiers) {\n yy.validateUnionIdentifiers($$[$0]);\n }\n yy.addSubsetData($$[$0], void 0, void 0);\n if (yy.setIndentMode) {\n yy.setIndentMode(true);\n }\n break;\n case 14:\n if ($$[$0 - 1].length < 2) {\n throw new Error(\"union requires multiple identifiers\");\n }\n if (yy.validateUnionIdentifiers) {\n yy.validateUnionIdentifiers($$[$0 - 1]);\n }\n yy.addSubsetData($$[$0 - 1], $$[$0], void 0);\n if (yy.setIndentMode) {\n yy.setIndentMode(true);\n }\n break;\n case 15:\n if ($$[$0 - 2].length < 2) {\n throw new Error(\"union requires multiple identifiers\");\n }\n if (yy.validateUnionIdentifiers) {\n yy.validateUnionIdentifiers($$[$0 - 2]);\n }\n yy.addSubsetData($$[$0 - 2], void 0, parseFloat($$[$0]));\n if (yy.setIndentMode) {\n yy.setIndentMode(true);\n }\n break;\n case 16:\n if ($$[$0 - 3].length < 2) {\n throw new Error(\"union requires multiple identifiers\");\n }\n if (yy.validateUnionIdentifiers) {\n yy.validateUnionIdentifiers($$[$0 - 3]);\n }\n yy.addSubsetData($$[$0 - 3], $$[$0 - 2], parseFloat($$[$0]));\n if (yy.setIndentMode) {\n yy.setIndentMode(true);\n }\n break;\n case 17:\n case 18:\n case 19:\n yy.addTextData($$[$0 - 1], $$[$0], void 0);\n break;\n case 20:\n case 21:\n yy.addTextData($$[$0 - 2], $$[$0 - 1], $$[$0]);\n break;\n case 23:\n yy.addStyleData($$[$0 - 1], $$[$0]);\n break;\n case 24:\n case 25:\n case 26:\n var cs = yy.getCurrentSets();\n if (!cs) throw new Error(\"text requires set\");\n yy.addTextData(cs, $$[$0], void 0);\n break;\n case 27:\n case 28:\n var cs = yy.getCurrentSets();\n if (!cs) throw new Error(\"text requires set\");\n yy.addTextData(cs, $$[$0 - 1], $$[$0]);\n break;\n case 29:\n case 41:\n this.$ = [$$[$0]];\n break;\n case 30:\n case 42:\n this.$ = [...$$[$0 - 2], $$[$0]];\n break;\n case 31:\n this.$ = [$$[$0 - 2], $$[$0]];\n break;\n case 33:\n this.$ = $$[$0].join(\" \");\n break;\n case 34:\n this.$ = [$$[$0]];\n break;\n case 35:\n $$[$0 - 1].push($$[$0]);\n this.$ = $$[$0 - 1];\n break;\n case 43:\n case 44:\n this.$ = $$[$0];\n break;\n }\n }, \"anonymous\"),\n table: [o($V0, [2, 2], { 3: 1, 4: 2 }), { 1: [3] }, { 5: [1, 3], 8: [1, 4] }, o($V1, [2, 4], { 6: 5 }), o($V0, [2, 3]), { 7: [1, 6], 8: [1, 8], 9: 7, 10: 9, 11: [1, 10], 12: [1, 11], 17: [1, 12], 19: [1, 13], 22: [1, 14], 24: [1, 15] }, { 1: [2, 1] }, o($V1, [2, 5]), o($V1, [2, 6]), o($V1, [2, 7]), o($V1, [2, 8]), { 13: 16, 20: $V2, 21: $V3 }, { 13: 20, 18: 19, 20: $V2, 21: $V3 }, { 13: 20, 18: 21, 20: $V2, 21: $V3 }, { 16: [1, 25], 20: [1, 23], 21: [1, 24], 23: 22 }, { 13: 20, 18: 26, 20: $V2, 21: $V3 }, o($V1, [2, 9], { 14: [1, 27], 15: [1, 28] }), o($V4, [2, 43]), o($V4, [2, 44]), o($V1, [2, 13], { 14: [1, 29], 15: [1, 30], 27: $V5 }), o($V4, [2, 41]), { 16: [1, 34], 20: [1, 32], 21: [1, 33], 27: $V5 }, o($V1, [2, 22]), o($V1, [2, 24], { 14: [1, 35] }), o($V1, [2, 25], { 14: [1, 36] }), o($V1, [2, 26]), { 20: $V6, 25: 37, 26: 38, 27: $V5 }, o($V1, [2, 10], { 15: [1, 40] }), { 16: [1, 41] }, o($V1, [2, 14], { 15: [1, 42] }), { 16: [1, 43] }, { 13: 44, 20: $V2, 21: $V3 }, o($V1, [2, 17], { 14: [1, 45] }), o($V1, [2, 18], { 14: [1, 46] }), o($V1, [2, 19]), o($V1, [2, 27]), o($V1, [2, 28]), o($V1, [2, 23], { 27: [1, 47] }), o($V7, [2, 29]), { 15: [1, 48] }, { 16: [1, 49] }, o($V1, [2, 11]), { 16: [1, 50] }, o($V1, [2, 15]), o($V4, [2, 42]), o($V1, [2, 20]), o($V1, [2, 21]), { 20: $V6, 26: 51 }, { 16: $V8, 20: $V9, 21: [1, 53], 28: 52, 29: 54, 30: 55, 31: $Va, 32: $Vb, 33: $Vc }, o($V1, [2, 12]), o($V1, [2, 16]), o($V7, [2, 30]), o($V7, [2, 31]), o($V7, [2, 32]), o($V7, [2, 33], { 30: 61, 16: $V8, 20: $V9, 31: $Va, 32: $Vb, 33: $Vc }), o($Vd, [2, 34]), o($Vd, [2, 36]), o($Vd, [2, 37]), o($Vd, [2, 38]), o($Vd, [2, 39]), o($Vd, [2, 40]), o($Vd, [2, 35])],\n defaultActions: { 6: [2, 1] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ (function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n break;\n case 1:\n break;\n case 2:\n break;\n case 3:\n if (yy.getIndentMode && yy.getIndentMode()) {\n yy.consumeIndentText = true;\n this.begin(\"INITIAL\");\n return 22;\n }\n break;\n case 4:\n break;\n case 5:\n if (yy.setIndentMode) {\n yy.setIndentMode(false);\n }\n this.begin(\"INITIAL\");\n this.unput(yy_.yytext);\n break;\n case 6:\n this.begin(\"bol\");\n return 8;\n break;\n case 7:\n break;\n case 8:\n break;\n case 9:\n return 7;\n break;\n case 10:\n return 11;\n break;\n case 11:\n return 5;\n break;\n case 12:\n return 12;\n break;\n case 13:\n return 17;\n break;\n case 14:\n if (yy.consumeIndentText) {\n yy.consumeIndentText = false;\n } else {\n return 19;\n }\n break;\n case 15:\n return 24;\n break;\n case 16:\n yy_.yytext = yy_.yytext.slice(2, -2);\n return 14;\n break;\n case 17:\n yy_.yytext = yy_.yytext.slice(1, -1).trim();\n return 14;\n break;\n case 18:\n return 16;\n break;\n case 19:\n return 31;\n break;\n case 20:\n return 33;\n break;\n case 21:\n return 32;\n break;\n case 22:\n return 20;\n break;\n case 23:\n return 21;\n break;\n case 24:\n return 27;\n break;\n case 25:\n return 15;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:%%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:[ \\t]+(?=[\\n\\r]))/i, /^(?:[ \\t]+(?=text\\b))/i, /^(?:[ \\t]+)/i, /^(?:[^ \\t\\n\\r])/i, /^(?:[\\n\\r]+)/i, /^(?:%%[^\\n]*)/i, /^(?:[ \\t]+)/i, /^(?:$)/i, /^(?:title\\s[^#\\n;]+)/i, /^(?:venn-beta\\b)/i, /^(?:set\\b)/i, /^(?:union\\b)/i, /^(?:text\\b)/i, /^(?:style\\b)/i, /^(?:\\[\"[^\\\"]*\"\\])/i, /^(?:\\[[^\\]\\\"]+\\])/i, /^(?:[+-]?(\\d+(\\.\\d+)?|\\.\\d+))/i, /^(?:#[0-9a-fA-F]{3,8})/i, /^(?:rgba\\(\\s*[0-9.]+\\s*[,]\\s*[0-9.]+\\s*[,]\\s*[0-9.]+\\s*[,]\\s*[0-9.]+\\s*\\))/i, /^(?:rgb\\(\\s*[0-9.]+\\s*[,]\\s*[0-9.]+\\s*[,]\\s*[0-9.]+\\s*\\))/i, /^(?:[A-Za-z_][A-Za-z0-9\\-_]*)/i, /^(?:\"[^\\\"]*\")/i, /^(?:,)/i, /^(?::)/i],\n conditions: { \"bol\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], \"inclusive\": true }, \"INITIAL\": { \"rules\": [0, 1, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25], \"inclusive\": true } }\n };\n return lexer2;\n })();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n})();\nparser.parser = parser;\nvar venn_default = parser;\n\n// src/diagrams/venn/vennDB.ts\nvar subsets = [];\nvar textNodes = [];\nvar styleEntries = [];\nvar knownSets = /* @__PURE__ */ new Set();\nvar currentSets;\nvar indentMode = false;\nvar addSubsetData = /* @__PURE__ */ __name((identifierList, label, size) => {\n const sets = normalizeIdentifierList(identifierList).sort();\n const resolvedSize = size ?? 10 / Math.pow(identifierList.length, 2);\n currentSets = sets;\n if (sets.length === 1) {\n knownSets.add(sets[0]);\n }\n subsets.push({\n sets,\n size: resolvedSize,\n label: label ? normalizeText(label) : void 0\n });\n}, \"addSubsetData\");\nvar getSubsetData = /* @__PURE__ */ __name(() => {\n return subsets;\n}, \"getSubsetData\");\nvar normalizeText = /* @__PURE__ */ __name((text) => {\n const trimmed = text.trim();\n if (trimmed.length >= 2 && trimmed.startsWith('\"') && trimmed.endsWith('\"')) {\n return trimmed.slice(1, -1);\n }\n return trimmed;\n}, \"normalizeText\");\nvar normalizeStyleValue = /* @__PURE__ */ __name((value) => {\n return value ? normalizeText(value) : value;\n}, \"normalizeStyleValue\");\nvar addTextData = /* @__PURE__ */ __name((identifierList, id, label) => {\n const normalizedId = normalizeText(id);\n textNodes.push({\n sets: normalizeIdentifierList(identifierList).sort(),\n id: normalizedId,\n label: label ? normalizeText(label) : void 0\n });\n}, \"addTextData\");\nvar addStyleData = /* @__PURE__ */ __name((identifierList, data) => {\n const targets = normalizeIdentifierList(identifierList).sort();\n const styles = {};\n for (const [key, value] of data) {\n styles[key] = normalizeStyleValue(value) ?? value;\n }\n styleEntries.push({ targets, styles });\n}, \"addStyleData\");\nvar getStyleData = /* @__PURE__ */ __name(() => {\n return styleEntries;\n}, \"getStyleData\");\nvar normalizeIdentifierList = /* @__PURE__ */ __name((identifierList) => {\n return identifierList.map((identifier) => normalizeText(identifier));\n}, \"normalizeIdentifierList\");\nvar validateUnionIdentifiers = /* @__PURE__ */ __name((identifierList) => {\n const normalized = normalizeIdentifierList(identifierList);\n const unknown = normalized.filter((identifier) => !knownSets.has(identifier));\n if (unknown.length > 0) {\n throw new Error(`unknown set identifier: ${unknown.join(\", \")}`);\n }\n}, \"validateUnionIdentifiers\");\nvar getTextData = /* @__PURE__ */ __name(() => {\n return textNodes;\n}, \"getTextData\");\nvar getCurrentSets = /* @__PURE__ */ __name(() => currentSets, \"getCurrentSets\");\nvar getIndentMode = /* @__PURE__ */ __name(() => indentMode, \"getIndentMode\");\nvar setIndentMode = /* @__PURE__ */ __name((enabled) => {\n indentMode = enabled;\n}, \"setIndentMode\");\nvar DEFAULT_VENN_CONFIG = defaultConfig_default.venn;\nfunction getConfig2() {\n return cleanAndMerge(DEFAULT_VENN_CONFIG, getConfig().venn);\n}\n__name(getConfig2, \"getConfig\");\nvar customClear = /* @__PURE__ */ __name(() => {\n clear();\n subsets.length = 0;\n textNodes.length = 0;\n styleEntries.length = 0;\n knownSets.clear();\n currentSets = void 0;\n indentMode = false;\n}, \"customClear\");\nvar db = {\n getConfig: getConfig2,\n clear: customClear,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n getAccDescription,\n setAccDescription,\n addSubsetData,\n getSubsetData,\n addTextData,\n addStyleData,\n validateUnionIdentifiers,\n getTextData,\n getStyleData,\n getCurrentSets,\n getIndentMode,\n setIndentMode\n};\n\n// src/diagrams/venn/styles.ts\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .venn-title {\n font-size: 32px;\n fill: ${options.vennTitleTextColor};\n font-family: ${options.fontFamily};\n }\n\n .venn-circle text {\n font-size: 48px;\n font-family: ${options.fontFamily};\n }\n\n .venn-intersection text {\n font-size: 48px;\n fill: ${options.vennSetTextColor};\n font-family: ${options.fontFamily};\n }\n\n .venn-text-node {\n font-family: ${options.fontFamily};\n color: ${options.vennSetTextColor};\n }\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/venn/vennRenderer.ts\nimport { select as d3select } from \"d3\";\nimport { isDark, lighten, darken, transparentize } from \"khroma\";\nimport * as venn from \"@upsetjs/venn.js\";\nimport rough from \"roughjs\";\nfunction buildStyleByKey(styleData) {\n const map = /* @__PURE__ */ new Map();\n for (const entry of styleData) {\n const key = entry.targets.join(\"|\");\n const existing = map.get(key);\n if (existing) {\n Object.assign(existing, entry.styles);\n } else {\n map.set(key, { ...entry.styles });\n }\n }\n return map;\n}\n__name(buildStyleByKey, \"buildStyleByKey\");\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagObj) => {\n const db2 = diagObj.db;\n const config = db2.getConfig?.();\n const { themeVariables, look, handDrawnSeed } = getConfig();\n const isHandDrawn = look === \"handDrawn\";\n const themeColors = [\n themeVariables.venn1,\n themeVariables.venn2,\n themeVariables.venn3,\n themeVariables.venn4,\n themeVariables.venn5,\n themeVariables.venn6,\n themeVariables.venn7,\n themeVariables.venn8\n ].filter(Boolean);\n const title = db2.getDiagramTitle?.();\n const sets = db2.getSubsetData();\n const textNodes2 = db2.getTextData();\n const styleByKey = buildStyleByKey(db2.getStyleData());\n const svgWidth = config?.width ?? 800;\n const svgHeight = config?.height ?? 450;\n const REFERENCE_WIDTH = 1600;\n const scale = svgWidth / REFERENCE_WIDTH;\n const titleHeight = title ? 48 * scale : 0;\n const defaultTextColor = themeVariables.primaryTextColor ?? themeVariables.textColor;\n const svg = selectSvgElement(id);\n svg.attr(\"viewBox\", `0 0 ${svgWidth} ${svgHeight}`);\n if (title) {\n svg.append(\"text\").text(title).attr(\"class\", \"venn-title\").attr(\"font-size\", `${32 * scale}px`).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").attr(\"x\", \"50%\").attr(\"y\", 32 * scale).style(\"fill\", themeVariables.vennTitleTextColor || themeVariables.titleColor);\n }\n const dummyD3root = d3select(document.createElement(\"div\"));\n const vennDiagram = venn.VennDiagram().width(svgWidth).height(svgHeight - titleHeight);\n dummyD3root.datum(sets).call(vennDiagram);\n const roughSvg = isHandDrawn ? rough.svg(dummyD3root.select(\"svg\").node()) : void 0;\n const layoutAreas = venn.layout(sets, {\n width: svgWidth,\n height: svgHeight - titleHeight,\n padding: config?.padding ?? 15\n });\n const layoutByKey = /* @__PURE__ */ new Map();\n for (const area of layoutAreas) {\n const key = stableSetsKey([...area.data.sets].sort());\n layoutByKey.set(key, area);\n }\n if (textNodes2.length > 0) {\n renderTextNodes(config, layoutByKey, dummyD3root, textNodes2, scale, styleByKey);\n }\n const themeDark = isDark(themeVariables.background || \"#f4f4f4\");\n dummyD3root.selectAll(\".venn-circle\").each(function(d, i) {\n const group = d3select(this);\n const data = d;\n const setsKey = stableSetsKey([...data.sets].sort());\n const customStyle = styleByKey.get(setsKey);\n const baseColor = customStyle?.fill || themeColors[i % themeColors.length] || themeVariables.primaryColor;\n group.classed(`venn-set-${i % 8}`, true);\n const fillOpacity = customStyle?.[\"fill-opacity\"] ?? 0.1;\n const strokeColor = customStyle?.stroke || baseColor;\n const strokeWidthVal = customStyle?.[\"stroke-width\"] || `${5 * scale}`;\n if (isHandDrawn && roughSvg) {\n const layoutArea = layoutByKey.get(setsKey);\n if (layoutArea && layoutArea.circles.length > 0) {\n const c = layoutArea.circles[0];\n const roughNode = roughSvg.circle(c.x, c.y, c.radius * 2, {\n roughness: 0.7,\n seed: handDrawnSeed,\n fill: transparentize(baseColor, 0.7),\n fillStyle: \"hachure\",\n fillWeight: 2,\n hachureGap: 8,\n hachureAngle: -41 + i * 60,\n stroke: strokeColor,\n strokeWidth: parseFloat(String(strokeWidthVal))\n });\n group.select(\"path\").remove();\n group.node()?.insertBefore(roughNode, group.select(\"text\").node());\n }\n } else {\n group.select(\"path\").style(\"fill\", baseColor).style(\"fill-opacity\", fillOpacity).style(\"stroke\", strokeColor).style(\"stroke-width\", strokeWidthVal).style(\"stroke-opacity\", 0.95);\n }\n const textColor = customStyle?.color || (themeDark ? lighten(baseColor, 30) : darken(baseColor, 30));\n group.select(\"text\").style(\"font-size\", `${48 * scale}px`).style(\"fill\", textColor);\n });\n if (isHandDrawn && roughSvg) {\n dummyD3root.selectAll(\".venn-intersection\").each(function(d) {\n const group = d3select(this);\n const data = d;\n const setsKey = stableSetsKey([...data.sets].sort());\n const customStyle = styleByKey.get(setsKey);\n const customFill = customStyle?.fill;\n if (customFill) {\n const pathEl = group.select(\"path\");\n const pathD = pathEl.attr(\"d\");\n if (pathD) {\n const roughNode = roughSvg.path(pathD, {\n roughness: 0.7,\n seed: handDrawnSeed,\n fill: transparentize(customFill, 0.3),\n fillStyle: \"cross-hatch\",\n fillWeight: 2,\n hachureGap: 6,\n hachureAngle: 60,\n stroke: \"none\"\n });\n const existingPath = pathEl.node();\n existingPath?.parentNode?.insertBefore(roughNode, existingPath);\n pathEl.remove();\n }\n } else {\n group.select(\"path\").style(\"fill-opacity\", 0);\n }\n group.select(\"text\").style(\"font-size\", `${48 * scale}px`).style(\"fill\", customStyle?.color ?? themeVariables.vennSetTextColor ?? defaultTextColor);\n });\n } else {\n dummyD3root.selectAll(\".venn-intersection text\").style(\"font-size\", `${48 * scale}px`).style(\"fill\", (e) => {\n const data = e;\n const setsKey = stableSetsKey([...data.sets].sort());\n return styleByKey.get(setsKey)?.color ?? themeVariables.vennSetTextColor ?? defaultTextColor;\n });\n dummyD3root.selectAll(\".venn-intersection path\").style(\"fill-opacity\", (e) => {\n const data = e;\n const setsKey = stableSetsKey([...data.sets].sort());\n return styleByKey.get(setsKey)?.fill ? 1 : 0;\n }).style(\"fill\", (e) => {\n const data = e;\n const setsKey = stableSetsKey([...data.sets].sort());\n return styleByKey.get(setsKey)?.fill ?? \"transparent\";\n });\n }\n const vennGroup = svg.append(\"g\").attr(\"transform\", `translate(0, ${titleHeight})`);\n const dummySvg = dummyD3root.select(\"svg\").node();\n if (dummySvg && \"childNodes\" in dummySvg) {\n for (const child of [...dummySvg.childNodes]) {\n vennGroup.node()?.appendChild(child);\n }\n }\n configureSvgSize(svg, svgHeight, svgWidth, config?.useMaxWidth ?? true);\n}, \"draw\");\nfunction stableSetsKey(setIds) {\n return setIds.join(\"|\");\n}\n__name(stableSetsKey, \"stableSetsKey\");\nfunction renderTextNodes(config, layoutByKey, dummyD3root, textNodes2, scale, styleByKey) {\n const useDebugLayout = config?.useDebugLayout ?? false;\n const vennSvg = dummyD3root.select(\"svg\");\n const textGroup = vennSvg.append(\"g\").attr(\"class\", \"venn-text-nodes\");\n const nodesByArea = /* @__PURE__ */ new Map();\n for (const node of textNodes2) {\n const key = stableSetsKey(node.sets);\n const existing = nodesByArea.get(key);\n if (existing) {\n existing.push(node);\n } else {\n nodesByArea.set(key, [node]);\n }\n }\n for (const [key, nodes] of nodesByArea.entries()) {\n const area = layoutByKey.get(key);\n if (!area?.text) {\n continue;\n }\n const centerX = area.text.x;\n const centerY = area.text.y;\n const minCircleRadius = Math.min(...area.circles.map((c) => c.radius));\n const innerRadiusRaw = Math.min(\n ...area.circles.map((c) => c.radius - Math.hypot(centerX - c.x, centerY - c.y))\n );\n let innerRadius = Number.isFinite(innerRadiusRaw) ? Math.max(0, innerRadiusRaw) : 0;\n if (innerRadius === 0 && Number.isFinite(minCircleRadius)) {\n innerRadius = minCircleRadius * 0.6;\n }\n const areaGroup = textGroup.append(\"g\").attr(\"class\", \"venn-text-area\").attr(\"font-size\", `${40 * scale}px`);\n if (useDebugLayout) {\n areaGroup.append(\"circle\").attr(\"class\", \"venn-text-debug-circle\").attr(\"cx\", centerX).attr(\"cy\", centerY).attr(\"r\", innerRadius).attr(\"fill\", \"none\").attr(\"stroke\", \"purple\").attr(\"stroke-width\", 1.5 * scale).attr(\"stroke-dasharray\", `${6 * scale} ${4 * scale}`);\n }\n const innerWidth = Math.max(80 * scale, innerRadius * 2 * 0.95);\n const innerHeight = Math.max(60 * scale, innerRadius * 2 * 0.95);\n const hasLabel = area.data.label && area.data.label.length > 0;\n const labelOffsetBase = hasLabel ? Math.min(32 * scale, innerRadius * 0.25) : 0;\n const labelOffset = labelOffsetBase + (nodes.length <= 2 ? 30 * scale : 0);\n const startX = centerX - innerWidth / 2;\n const startY = centerY - innerHeight / 2 + labelOffset;\n const cols = Math.max(1, Math.ceil(Math.sqrt(nodes.length)));\n const rows = Math.max(1, Math.ceil(nodes.length / cols));\n const cellWidth = innerWidth / cols;\n const cellHeight = innerHeight / rows;\n for (const [i, node] of nodes.entries()) {\n const col = i % cols;\n const row = Math.floor(i / cols);\n const x = startX + cellWidth * (col + 0.5);\n const y = startY + cellHeight * (row + 0.5);\n if (useDebugLayout) {\n areaGroup.append(\"rect\").attr(\"class\", \"venn-text-debug-cell\").attr(\"x\", startX + cellWidth * col).attr(\"y\", startY + cellHeight * row).attr(\"width\", cellWidth).attr(\"height\", cellHeight).attr(\"fill\", \"none\").attr(\"stroke\", \"teal\").attr(\"stroke-width\", 1 * scale).attr(\"stroke-dasharray\", `${4 * scale} ${3 * scale}`);\n }\n const boxWidth = cellWidth * 0.9;\n const boxHeight = cellHeight * 0.9;\n const container = areaGroup.append(\"foreignObject\").attr(\"class\", \"venn-text-node-fo\").attr(\"width\", boxWidth).attr(\"height\", boxHeight).attr(\"x\", x - boxWidth / 2).attr(\"y\", y - boxHeight / 2).attr(\"overflow\", \"visible\");\n const textColor = styleByKey.get(node.id)?.color;\n const text = container.append(\"xhtml:span\").attr(\"class\", \"venn-text-node\").style(\"display\", \"flex\").style(\"width\", \"100%\").style(\"height\", \"100%\").style(\"white-space\", \"normal\").style(\"align-items\", \"center\").style(\"justify-content\", \"center\").style(\"text-align\", \"center\").style(\"overflow-wrap\", \"normal\").style(\"word-break\", \"normal\").text(node.label ?? node.id);\n if (textColor) {\n text.style(\"color\", textColor);\n }\n }\n }\n}\n__name(renderTextNodes, \"renderTextNodes\");\nvar renderer = { draw };\n\n// src/diagrams/venn/vennDiagram.ts\nvar diagram = {\n parser: venn_default,\n db,\n renderer,\n styles: styles_default\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0,1,2],"mappings":"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AAI,CAAC,GAAG,GAAG;IAAE;GAAE,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE;GAAE,EAAE,GAAK,CAAC,GAAG,EAAE,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,EAAE,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,EAAE,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,EAAE,CAAC;GAAE;IAAE,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK;GAAE;IAAE,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK;GAAE;IAAE,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK;GAAE;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI;IAAI;GAAE;IAAE,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK;GAAE,EAAE,GAAK,CAAC,GAAG,EAAE,EAAE;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,EAAE;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI;IAAK,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI;IAAK;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE;IAAE,IAAI;IAAK,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE;IAAE,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE;IAAE,IAAI;IAAK,IAAI;IAAI;GAAE;IAAE,IAAI;IAAK,IAAI;IAAK,IAAI,CAAC,GAAG,GAAG;IAAE,IAAI;IAAI,IAAI;IAAI,IAAI;IAAI,IAAI;IAAK,IAAI;IAAK,IAAI;IAAK;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,CAAC;GAAE,EAAE,GAAK,CAAC,GAAG,GAAG,EAAE;IAAE,IAAI;IAAI,IAAI;I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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { FileTreeConfig, FileTreeNode } from './types';
|
|
2
|
+
export type { FileTreeConfig, FileTreeNode } from './types';
|
|
3
|
+
export declare class FileTree {
|
|
4
|
+
private readonly id;
|
|
5
|
+
private readonly container;
|
|
6
|
+
private readonly config;
|
|
7
|
+
private readonly indent;
|
|
8
|
+
private readonly showIcons;
|
|
9
|
+
private data;
|
|
10
|
+
private wrapperEl;
|
|
11
|
+
private selectedIds;
|
|
12
|
+
private flatNodes;
|
|
13
|
+
private focusedIndex;
|
|
14
|
+
/** Expansion state stored by node id */
|
|
15
|
+
private readonly expandedIds;
|
|
16
|
+
/** Drag state */
|
|
17
|
+
private dragSourceNode;
|
|
18
|
+
constructor(config: FileTreeConfig);
|
|
19
|
+
/** Replace tree data and re-render */
|
|
20
|
+
update(data: FileTreeNode[]): void;
|
|
21
|
+
/** Get all currently selected nodes */
|
|
22
|
+
getSelected(): FileTreeNode[];
|
|
23
|
+
/** Expand all folders */
|
|
24
|
+
expandAll(): void;
|
|
25
|
+
/** Collapse all folders */
|
|
26
|
+
collapseAll(): void;
|
|
27
|
+
/** Clean up the component and remove from DOM */
|
|
28
|
+
destroy(): void;
|
|
29
|
+
/** Deep clone data to avoid mutating the caller's objects */
|
|
30
|
+
private cloneData;
|
|
31
|
+
private cloneNode;
|
|
32
|
+
/** Initialize the expandedIds set from node data */
|
|
33
|
+
private initExpandedState;
|
|
34
|
+
/** Set all folders expanded or collapsed */
|
|
35
|
+
private setAllExpanded;
|
|
36
|
+
/** Collect selected nodes from the tree */
|
|
37
|
+
private collectSelected;
|
|
38
|
+
/** Main render method */
|
|
39
|
+
private render;
|
|
40
|
+
/** Recursively render tree nodes */
|
|
41
|
+
private renderNodes;
|
|
42
|
+
/** Handle click on a tree node row */
|
|
43
|
+
private handleNodeClick;
|
|
44
|
+
/** Handle keyboard navigation */
|
|
45
|
+
private handleKeyDown;
|
|
46
|
+
/** Scroll the focused row into view */
|
|
47
|
+
private scrollFocusedIntoView;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/visualization/file-tree/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAE3D,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AA+B3D,qBAAa,QAAQ;IACnB,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAQ;IAC3B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,SAAS,CAAiB;IAClC,OAAO,CAAC,YAAY,CAAK;IAEzB,wCAAwC;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAEhD,iBAAiB;IACjB,OAAO,CAAC,cAAc,CAA4B;gBAEtC,MAAM,EAAE,cAAc;IAclC,sCAAsC;IACtC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,IAAI;IAMlC,uCAAuC;IACvC,WAAW,IAAI,YAAY,EAAE;IAM7B,yBAAyB;IACzB,SAAS,IAAI,IAAI;IAKjB,2BAA2B;IAC3B,WAAW,IAAI,IAAI;IAKnB,iDAAiD;IACjD,OAAO,IAAI,IAAI;IAYf,6DAA6D;IAC7D,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,SAAS;IAwBjB,oDAAoD;IACpD,OAAO,CAAC,iBAAiB;IAczB,4CAA4C;IAC5C,OAAO,CAAC,cAAc;IAetB,2CAA2C;IAC3C,OAAO,CAAC,eAAe;IAevB,yBAAyB;IACzB,OAAO,CAAC,MAAM;IAkCd,oCAAoC;IACpC,OAAO,CAAC,WAAW;IAkJnB,sCAAsC;IACtC,OAAO,CAAC,eAAe;IA2CvB,iCAAiC;IACjC,OAAO,CAAC,aAAa;IA0ErB,uCAAuC;IACvC,OAAO,CAAC,qBAAqB;CAU9B"}
|