@countermeasure-platform/web-components 1.2.1-dev.4.1 → 1.2.1

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.
Files changed (639) hide show
  1. package/dist/{_basePickBy-BlpD3CIQ.js → _basePickBy-BQMPE4-n.js} +3 -3
  2. package/dist/{_basePickBy-BlpD3CIQ.js.map → _basePickBy-BQMPE4-n.js.map} +1 -1
  3. package/dist/{_baseUniq-CO35kH5B.js → _baseUniq-Bdp_vFUv.js} +3 -3
  4. package/dist/{_baseUniq-CO35kH5B.js.map → _baseUniq-Bdp_vFUv.js.map} +1 -1
  5. package/dist/{alert-dialog-DXa-O6E4.js → alert-dialog-C4dLk25S.js} +5 -5
  6. package/dist/{alert-dialog-DXa-O6E4.js.map → alert-dialog-C4dLk25S.js.map} +1 -1
  7. package/dist/{arc-DyfKNDOh.js → arc-jVbrWVYZ.js} +3 -3
  8. package/dist/{arc-DyfKNDOh.js.map → arc-jVbrWVYZ.js.map} +1 -1
  9. package/dist/architecture-PBZL5I3N-Zk3GmKE8.js +3 -0
  10. package/dist/{architectureDiagram-2XIMDMQ5-B4qk6eh9.js → architectureDiagram-2XIMDMQ5-D5q0ma9h.js} +10 -10
  11. package/dist/{architectureDiagram-2XIMDMQ5-B4qk6eh9.js.map → architectureDiagram-2XIMDMQ5-D5q0ma9h.js.map} +1 -1
  12. package/dist/{array-DPBIBG3p.js → array-DXadUs1s.js} +1 -1
  13. package/dist/{array-DPBIBG3p.js.map → array-DXadUs1s.js.map} +1 -1
  14. package/dist/{arrow-up-BhjinjWg.js → arrow-up-CJJ5q2ht.js} +2 -2
  15. package/dist/{arrow-up-BhjinjWg.js.map → arrow-up-CJJ5q2ht.js.map} +1 -1
  16. package/dist/{avatar-CZGZhjvv.js → avatar-DIhd5zYT.js} +1 -1
  17. package/dist/{avatar-CZGZhjvv.js.map → avatar-DIhd5zYT.js.map} +1 -1
  18. package/dist/{badge-CAvV5GE2.js → badge-C2kAwL41.js} +1 -1
  19. package/dist/{badge-CAvV5GE2.js.map → badge-C2kAwL41.js.map} +1 -1
  20. package/dist/{blockDiagram-WCTKOSBZ-DdPMGZ7X.js → blockDiagram-WCTKOSBZ-BH3jwWeU.js} +13 -13
  21. package/dist/{blockDiagram-WCTKOSBZ-DdPMGZ7X.js.map → blockDiagram-WCTKOSBZ-BH3jwWeU.js.map} +1 -1
  22. package/dist/{button-19KWzy7c.js → button-BtTc7Ncu.js} +1 -1
  23. package/dist/{button-19KWzy7c.js.map → button-BtTc7Ncu.js.map} +1 -1
  24. package/dist/{c4Diagram-IC4MRINW-Du1j-C4R.js → c4Diagram-IC4MRINW-OFLrunYI.js} +7 -7
  25. package/dist/{c4Diagram-IC4MRINW-Du1j-C4R.js.map → c4Diagram-IC4MRINW-OFLrunYI.js.map} +1 -1
  26. package/dist/{carousel-CJ5lxMYs.js → carousel-T96UFALA.js} +3 -3
  27. package/dist/{carousel-CJ5lxMYs.js.map → carousel-T96UFALA.js.map} +1 -1
  28. package/dist/{channel-BHvJxX8j.js → channel-LRbq43st.js} +2 -2
  29. package/dist/{channel-BHvJxX8j.js.map → channel-LRbq43st.js.map} +1 -1
  30. package/dist/charts/area/index.js +1 -1
  31. package/dist/charts/bar/index.js +1 -1
  32. package/dist/charts/index.js +2 -2
  33. package/dist/charts/line/index.js +1 -1
  34. package/dist/charts/pie/index.js +1 -1
  35. package/dist/charts/radar/index.js +1 -1
  36. package/dist/charts/scatter/index.js +1 -1
  37. package/dist/charts/waterfall/index.js +1 -1
  38. package/dist/{check-CybgTpDT.js → check-cGnuDoWp.js} +2 -2
  39. package/dist/{check-CybgTpDT.js.map → check-cGnuDoWp.js.map} +1 -1
  40. package/dist/{chevron-down-C_008JAH.js → chevron-down-m05raooX.js} +2 -2
  41. package/dist/{chevron-down-C_008JAH.js.map → chevron-down-m05raooX.js.map} +1 -1
  42. package/dist/{chevron-right-DuHRAn8w.js → chevron-right-ByWVa5XY.js} +2 -2
  43. package/dist/{chevron-right-DuHRAn8w.js.map → chevron-right-ByWVa5XY.js.map} +1 -1
  44. package/dist/{chevron-up-BY5jyuW2.js → chevron-up-CtvY7fRK.js} +2 -2
  45. package/dist/{chevron-up-BY5jyuW2.js.map → chevron-up-CtvY7fRK.js.map} +1 -1
  46. package/dist/{chunk-4BX2VUAB-CL-dnlxR.js → chunk-4BX2VUAB-BS9gpN-y.js} +2 -2
  47. package/dist/{chunk-4BX2VUAB-CL-dnlxR.js.map → chunk-4BX2VUAB-BS9gpN-y.js.map} +1 -1
  48. package/dist/{chunk-55IACEB6-DxNTqHZ8.js → chunk-55IACEB6-DZ-UBhHX.js} +3 -3
  49. package/dist/{chunk-55IACEB6-DxNTqHZ8.js.map → chunk-55IACEB6-DZ-UBhHX.js.map} +1 -1
  50. package/dist/{chunk-7E7YKBS2-Bewg8t99.js → chunk-7E7YKBS2-BsywoVTt.js} +2 -2
  51. package/dist/{chunk-7E7YKBS2-Bewg8t99.js.map → chunk-7E7YKBS2-BsywoVTt.js.map} +1 -1
  52. package/dist/{chunk-7R4GIKGN-DiZ1HYFd.js → chunk-7R4GIKGN-DJmroLCH.js} +3 -3
  53. package/dist/{chunk-7R4GIKGN-DiZ1HYFd.js.map → chunk-7R4GIKGN-DJmroLCH.js.map} +1 -1
  54. package/dist/{chunk-C72U2L5F-BqOejReq.js → chunk-C72U2L5F-BwPwVDcP.js} +2 -2
  55. package/dist/{chunk-C72U2L5F-BqOejReq.js.map → chunk-C72U2L5F-BwPwVDcP.js.map} +1 -1
  56. package/dist/{chunk-EGIJ26TM-1-wU_wPi.js → chunk-EGIJ26TM-DKd5cEgn.js} +2 -2
  57. package/dist/{chunk-EGIJ26TM-1-wU_wPi.js.map → chunk-EGIJ26TM-DKd5cEgn.js.map} +1 -1
  58. package/dist/{chunk-FMBD7UC4-7bd068zf.js → chunk-FMBD7UC4-1IxrpdPX.js} +2 -2
  59. package/dist/{chunk-FMBD7UC4-7bd068zf.js.map → chunk-FMBD7UC4-1IxrpdPX.js.map} +1 -1
  60. package/dist/{chunk-GEFDOKGD-bXEkwPrJ.js → chunk-GEFDOKGD-DGJJEGSm.js} +7 -7
  61. package/dist/{chunk-GEFDOKGD-bXEkwPrJ.js.map → chunk-GEFDOKGD-DGJJEGSm.js.map} +1 -1
  62. package/dist/{chunk-GLR3WWYH-GIQ55uMn.js → chunk-GLR3WWYH-BDwmgwCA.js} +8 -8
  63. package/dist/{chunk-GLR3WWYH-GIQ55uMn.js.map → chunk-GLR3WWYH-BDwmgwCA.js.map} +1 -1
  64. package/dist/{chunk-HHEYEP7N-BdiTBCvb.js → chunk-HHEYEP7N-DJ1b-gA8.js} +4 -4
  65. package/dist/{chunk-HHEYEP7N-BdiTBCvb.js.map → chunk-HHEYEP7N-DJ1b-gA8.js.map} +1 -1
  66. package/dist/{chunk-JSJVCQXG-p-BUVvps.js → chunk-JSJVCQXG-Do17yYig.js} +5 -5
  67. package/dist/{chunk-JSJVCQXG-p-BUVvps.js.map → chunk-JSJVCQXG-Do17yYig.js.map} +1 -1
  68. package/dist/{chunk-KX2RTZJC-DopwIbE1.js → chunk-KX2RTZJC-d9jFqUAY.js} +3 -3
  69. package/dist/{chunk-KX2RTZJC-DopwIbE1.js.map → chunk-KX2RTZJC-d9jFqUAY.js.map} +1 -1
  70. package/dist/{chunk-KYZI473N-4Y4_4kXL.js → chunk-KYZI473N-BXYCe83A.js} +9 -9
  71. package/dist/{chunk-KYZI473N-4Y4_4kXL.js.map → chunk-KYZI473N-BXYCe83A.js.map} +1 -1
  72. package/dist/{chunk-L3YUKLVL-U6LYvPh7.js → chunk-L3YUKLVL-Y5k8UNMf.js} +2 -2
  73. package/dist/{chunk-L3YUKLVL-U6LYvPh7.js.map → chunk-L3YUKLVL-Y5k8UNMf.js.map} +1 -1
  74. package/dist/{chunk-MX3YWQON-DnBlqD44.js → chunk-MX3YWQON-D43mcq1f.js} +2 -2
  75. package/dist/{chunk-MX3YWQON-DnBlqD44.js.map → chunk-MX3YWQON-D43mcq1f.js.map} +1 -1
  76. package/dist/{chunk-NQ4KR5QH-BSylMz0X.js → chunk-NQ4KR5QH-C0nWShNk.js} +7 -7
  77. package/dist/{chunk-NQ4KR5QH-BSylMz0X.js.map → chunk-NQ4KR5QH-C0nWShNk.js.map} +1 -1
  78. package/dist/{chunk-O4XLMI2P-BcKxBhcn.js → chunk-O4XLMI2P-DtGEm9QX.js} +12 -12
  79. package/dist/{chunk-O4XLMI2P-BcKxBhcn.js.map → chunk-O4XLMI2P-DtGEm9QX.js.map} +1 -1
  80. package/dist/{chunk-OZEHJAEY-D6S6KbwY.js → chunk-OZEHJAEY-BsQ56PV-.js} +2 -2
  81. package/dist/{chunk-OZEHJAEY-D6S6KbwY.js.map → chunk-OZEHJAEY-BsQ56PV-.js.map} +1 -1
  82. package/dist/{chunk-PQ6SQG4A-DPz_e-Es.js → chunk-PQ6SQG4A-Cpfc5F4u.js} +3 -3
  83. package/dist/{chunk-PQ6SQG4A-DPz_e-Es.js.map → chunk-PQ6SQG4A-Cpfc5F4u.js.map} +1 -1
  84. package/dist/{chunk-PU5JKC2W-CAfe4Tg3.js → chunk-PU5JKC2W-DNpn_Yik.js} +5 -5
  85. package/dist/{chunk-PU5JKC2W-CAfe4Tg3.js.map → chunk-PU5JKC2W-DNpn_Yik.js.map} +1 -1
  86. package/dist/{chunk-QZHKN3VN-DMkPzlbH.js → chunk-QZHKN3VN-kDNdTVLo.js} +2 -2
  87. package/dist/{chunk-QZHKN3VN-DMkPzlbH.js.map → chunk-QZHKN3VN-kDNdTVLo.js.map} +1 -1
  88. package/dist/{chunk-R5LLSJPH-C90VQC8y.js → chunk-R5LLSJPH-c1IfaK5D.js} +2 -2
  89. package/dist/{chunk-R5LLSJPH-C90VQC8y.js.map → chunk-R5LLSJPH-c1IfaK5D.js.map} +1 -1
  90. package/dist/{chunk-WL4C6EOR-B2OMxQLL.js → chunk-WL4C6EOR-BV-op7zg.js} +10 -10
  91. package/dist/{chunk-WL4C6EOR-B2OMxQLL.js.map → chunk-WL4C6EOR-BV-op7zg.js.map} +1 -1
  92. package/dist/{chunk-XIRO2GV7-D1_jT4ch.js → chunk-XIRO2GV7-Bv1hlNLi.js} +2 -2
  93. package/dist/{chunk-XIRO2GV7-D1_jT4ch.js.map → chunk-XIRO2GV7-Bv1hlNLi.js.map} +1 -1
  94. package/dist/{chunk-XPW4576I-DkznIIIK.js → chunk-XPW4576I-BqiPnb3d.js} +2 -2
  95. package/dist/{chunk-XPW4576I-DkznIIIK.js.map → chunk-XPW4576I-BqiPnb3d.js.map} +1 -1
  96. package/dist/{chunk-XZSTWKYB-BZB_wvbZ.js → chunk-XZSTWKYB-C7maKWEr.js} +6 -6
  97. package/dist/{chunk-XZSTWKYB-BZB_wvbZ.js.map → chunk-XZSTWKYB-C7maKWEr.js.map} +1 -1
  98. package/dist/{chunk-YBOYWFTD-DVqQ1pen.js → chunk-YBOYWFTD-DkjEOcgZ.js} +4 -4
  99. package/dist/{chunk-YBOYWFTD-DVqQ1pen.js.map → chunk-YBOYWFTD-DkjEOcgZ.js.map} +1 -1
  100. package/dist/classDiagram-VBA2DB6C-DZfC0xPM.js +31 -0
  101. package/dist/{classDiagram-VBA2DB6C-DFfohpM0.js.map → classDiagram-VBA2DB6C-DZfC0xPM.js.map} +1 -1
  102. package/dist/classDiagram-v2-RAHNMMFH-CtWRD1ax.js +31 -0
  103. package/dist/{classDiagram-v2-RAHNMMFH-kUMm28FB.js.map → classDiagram-v2-RAHNMMFH-CtWRD1ax.js.map} +1 -1
  104. package/dist/{clone-DxI1nSTP.js → clone-CliVdNc8.js} +2 -2
  105. package/dist/{clone-DxI1nSTP.js.map → clone-CliVdNc8.js.map} +1 -1
  106. package/dist/{component-x2UxdKEC.js → component-C1Jiz1Ki.js} +1 -1
  107. package/dist/{component-x2UxdKEC.js.map → component-C1Jiz1Ki.js.map} +1 -1
  108. package/dist/components/index.js +3 -3
  109. package/dist/components/theme/accent-switcher.d.ts +2 -0
  110. package/dist/components/theme/accent-switcher.d.ts.map +1 -1
  111. package/dist/components/theme/accent-switcher.js +5 -1
  112. package/dist/components/theme/accent-switcher.js.map +1 -1
  113. package/dist/components/theme/density-switcher.d.ts +2 -0
  114. package/dist/components/theme/density-switcher.d.ts.map +1 -1
  115. package/dist/components/theme/density-switcher.js +5 -1
  116. package/dist/components/theme/density-switcher.js.map +1 -1
  117. package/dist/components/theme/font-stack-picker.d.ts +2 -0
  118. package/dist/components/theme/font-stack-picker.d.ts.map +1 -1
  119. package/dist/components/theme/font-stack-picker.js +5 -1
  120. package/dist/components/theme/font-stack-picker.js.map +1 -1
  121. package/dist/components/theme/glass-slider.d.ts +2 -0
  122. package/dist/components/theme/glass-slider.d.ts.map +1 -1
  123. package/dist/components/theme/glass-slider.js +21 -15
  124. package/dist/components/theme/glass-slider.js.map +1 -1
  125. package/dist/components/theme/icon-gallery-browser.d.ts +16 -0
  126. package/dist/components/theme/icon-gallery-browser.d.ts.map +1 -0
  127. package/dist/components/theme/icon-set-picker.d.ts +2 -0
  128. package/dist/components/theme/icon-set-picker.d.ts.map +1 -1
  129. package/dist/components/theme/icon-set-picker.js +29 -24
  130. package/dist/components/theme/icon-set-picker.js.map +1 -1
  131. package/dist/components/theme/icon-usage-matrix.d.ts +2 -0
  132. package/dist/components/theme/icon-usage-matrix.d.ts.map +1 -1
  133. package/dist/components/theme/icon-usage-matrix.js +11 -7
  134. package/dist/components/theme/icon-usage-matrix.js.map +1 -1
  135. package/dist/components/theme/index.js +3 -3
  136. package/dist/components/theme/radius-slider.d.ts +2 -0
  137. package/dist/components/theme/radius-slider.d.ts.map +1 -1
  138. package/dist/components/theme/radius-slider.js +17 -12
  139. package/dist/components/theme/radius-slider.js.map +1 -1
  140. package/dist/components/theme/theme-preset-grid.d.ts +2 -0
  141. package/dist/components/theme/theme-preset-grid.d.ts.map +1 -1
  142. package/dist/components/theme/theme-preset-grid.js +6 -2
  143. package/dist/components/theme/theme-preset-grid.js.map +1 -1
  144. package/dist/components/theme/theme-preview-tile.d.ts +2 -0
  145. package/dist/components/theme/theme-preview-tile.d.ts.map +1 -1
  146. package/dist/components/theme/theme-preview-tile.js +9 -5
  147. package/dist/components/theme/theme-preview-tile.js.map +1 -1
  148. package/dist/components/theme/theme-studio.d.ts +4 -0
  149. package/dist/components/theme/theme-studio.d.ts.map +1 -1
  150. package/dist/components/theme/theme-studio.js +2 -93
  151. package/dist/components/theme/theme-switcher.d.ts +2 -0
  152. package/dist/components/theme/theme-switcher.d.ts.map +1 -1
  153. package/dist/components/theme/theme-switcher.js +5 -1
  154. package/dist/components/theme/theme-switcher.js.map +1 -1
  155. package/dist/composites/metrics-card.js +1 -1
  156. package/dist/composites/per-case-stats-table.js +1 -1
  157. package/dist/composites/run-monitor.js +2 -2
  158. package/dist/{copy-Hv8btfHH.js → copy-CP6UzCoj.js} +2 -2
  159. package/dist/{copy-Hv8btfHH.js.map → copy-CP6UzCoj.js.map} +1 -1
  160. package/dist/{cose-bilkent-S5V4N54A-DSIl5_e8.js → cose-bilkent-S5V4N54A-DxM02fly.js} +4 -4
  161. package/dist/{cose-bilkent-S5V4N54A-DSIl5_e8.js.map → cose-bilkent-S5V4N54A-DxM02fly.js.map} +1 -1
  162. package/dist/{createLucideIcon-wKpAnzBe.js → createLucideIcon-Cfb5CZJx.js} +1 -1
  163. package/dist/{createLucideIcon-wKpAnzBe.js.map → createLucideIcon-Cfb5CZJx.js.map} +1 -1
  164. package/dist/{cytoscape.esm-klxrH6H1.js → cytoscape.esm-2vKMh7AJ.js} +1 -1
  165. package/dist/{cytoscape.esm-klxrH6H1.js.map → cytoscape.esm-2vKMh7AJ.js.map} +1 -1
  166. package/dist/{dagre-Bm7BZZKB.js → dagre-BqC9mhMk.js} +7 -7
  167. package/dist/{dagre-Bm7BZZKB.js.map → dagre-BqC9mhMk.js.map} +1 -1
  168. package/dist/{dagre-KLK3FWXG-B0rbfsw9.js → dagre-KLK3FWXG-DTKcsol6.js} +15 -15
  169. package/dist/{dagre-KLK3FWXG-B0rbfsw9.js.map → dagre-KLK3FWXG-DTKcsol6.js.map} +1 -1
  170. package/dist/{defaultLocale-Cql_qCPq.js → defaultLocale-PLHpRrsr.js} +1 -1
  171. package/dist/{defaultLocale-Cql_qCPq.js.map → defaultLocale-PLHpRrsr.js.map} +1 -1
  172. package/dist/{diagram-E7M64L7V-DWS26Zbm.js → diagram-E7M64L7V-Co7O3gub.js} +12 -12
  173. package/dist/{diagram-E7M64L7V-DWS26Zbm.js.map → diagram-E7M64L7V-Co7O3gub.js.map} +1 -1
  174. package/dist/{diagram-IFDJBPK2--zOQrB5O.js → diagram-IFDJBPK2-D-Enf1mK.js} +7 -7
  175. package/dist/{diagram-IFDJBPK2--zOQrB5O.js.map → diagram-IFDJBPK2-D-Enf1mK.js.map} +1 -1
  176. package/dist/{diagram-P4PSJMXO-DjNveg1t.js → diagram-P4PSJMXO-O8g_RIkM.js} +7 -7
  177. package/dist/{diagram-P4PSJMXO-DjNveg1t.js.map → diagram-P4PSJMXO-O8g_RIkM.js.map} +1 -1
  178. package/dist/display/avatar/index.js +1 -1
  179. package/dist/display/badge/index.js +1 -1
  180. package/dist/display/index.js +3 -3
  181. package/dist/display/markdown-viewer/index.js +1 -1
  182. package/dist/{dist-Dq1IoZXt.js → dist-B-HCSak9.js} +13 -13
  183. package/dist/{dist-Dq1IoZXt.js.map → dist-B-HCSak9.js.map} +1 -1
  184. package/dist/{dist-CbqFryer.js → dist-BhO08NBU.js} +5 -5
  185. package/dist/{dist-CbqFryer.js.map → dist-BhO08NBU.js.map} +1 -1
  186. package/dist/{dist-D0fg6pif.js → dist-BlNMcPtC.js} +2 -2
  187. package/dist/{dist-D0fg6pif.js.map → dist-BlNMcPtC.js.map} +1 -1
  188. package/dist/{dist-CSE7pO-4.js → dist-BrNloUiz.js} +1 -1
  189. package/dist/{dist-CSE7pO-4.js.map → dist-BrNloUiz.js.map} +1 -1
  190. package/dist/{dist-CcNjOWyQ.js → dist-Br_I_YIY.js} +2 -2
  191. package/dist/{dist-CcNjOWyQ.js.map → dist-Br_I_YIY.js.map} +1 -1
  192. package/dist/{dist-D0hHNX_3.js → dist-CDa1xTf4.js} +9 -9
  193. package/dist/{dist-D0hHNX_3.js.map → dist-CDa1xTf4.js.map} +1 -1
  194. package/dist/{dist-BCCeHAQm.js → dist-CWPamCJD.js} +2 -2
  195. package/dist/{dist-BCCeHAQm.js.map → dist-CWPamCJD.js.map} +1 -1
  196. package/dist/{dist-CVCn7F_m.js → dist-CetkIu6m.js} +1 -1
  197. package/dist/{dist-CVCn7F_m.js.map → dist-CetkIu6m.js.map} +1 -1
  198. package/dist/{dist-koa_pEtu.js → dist-CjZz16VT.js} +2 -2
  199. package/dist/{dist-koa_pEtu.js.map → dist-CjZz16VT.js.map} +1 -1
  200. package/dist/{dist-D5o6xae2.js → dist-DDlxLS_M.js} +2 -2
  201. package/dist/{dist-D5o6xae2.js.map → dist-DDlxLS_M.js.map} +1 -1
  202. package/dist/{dist-Cao8o5bZ.js → dist-DFW2ymX5.js} +1 -1
  203. package/dist/{dist-Cao8o5bZ.js.map → dist-DFW2ymX5.js.map} +1 -1
  204. package/dist/{dist-Dm7Xaded.js → dist-DHTh2jaC.js} +1 -1
  205. package/dist/{dist-Dm7Xaded.js.map → dist-DHTh2jaC.js.map} +1 -1
  206. package/dist/{dist-BBVMDH9A.js → dist-DN5XnB8I.js} +4 -4
  207. package/dist/{dist-BBVMDH9A.js.map → dist-DN5XnB8I.js.map} +1 -1
  208. package/dist/{dist-C0wG5dwG.js → dist-DYQiYO9a.js} +2 -2
  209. package/dist/{dist-C0wG5dwG.js.map → dist-DYQiYO9a.js.map} +1 -1
  210. package/dist/{dist-RmXz0NYF.js → dist-GA_FAY5r.js} +1 -1
  211. package/dist/{dist-RmXz0NYF.js.map → dist-GA_FAY5r.js.map} +1 -1
  212. package/dist/{dist-cMlzVrN6.js → dist-M-TigQUP.js} +3 -3
  213. package/dist/{dist-cMlzVrN6.js.map → dist-M-TigQUP.js.map} +1 -1
  214. package/dist/{dist-DxtM7vvP.js → dist-QzxcNtrD.js} +3 -3
  215. package/dist/{dist-DxtM7vvP.js.map → dist-QzxcNtrD.js.map} +1 -1
  216. package/dist/{dist-CTlQcJNK.js → dist-W53Bo1BJ.js} +1 -1
  217. package/dist/{dist-CTlQcJNK.js.map → dist-W53Bo1BJ.js.map} +1 -1
  218. package/dist/{dist-B1veE5DO.js → dist-bUQfhez2.js} +8 -8
  219. package/dist/{dist-B1veE5DO.js.map → dist-bUQfhez2.js.map} +1 -1
  220. package/dist/{dist-DGayZ3ok2.js → dist-e5OOjxMa.js} +2 -2
  221. package/dist/dist-e5OOjxMa.js.map +1 -0
  222. package/dist/{dist-CpMqmV-i.js → dist-r_mYhsAH.js} +2 -2
  223. package/dist/{dist-CpMqmV-i.js.map → dist-r_mYhsAH.js.map} +1 -1
  224. package/dist/{dropdown-menu-ChWWguC6.js → dropdown-menu-CxFMDZns.js} +7 -7
  225. package/dist/{dropdown-menu-ChWWguC6.js.map → dropdown-menu-CxFMDZns.js.map} +1 -1
  226. package/dist/{ellipsis-QzwbUxFu.js → ellipsis-CLIG9-2m.js} +2 -2
  227. package/dist/{ellipsis-QzwbUxFu.js.map → ellipsis-CLIG9-2m.js.map} +1 -1
  228. package/dist/{erDiagram-INFDFZHY-Ccs6kW39.js → erDiagram-INFDFZHY-C42JeR9I.js} +15 -15
  229. package/dist/{erDiagram-INFDFZHY-Ccs6kW39.js.map → erDiagram-INFDFZHY-C42JeR9I.js.map} +1 -1
  230. package/dist/{es2015-Bv2aaatg.js → es2015-CJnm4_FQ.js} +4 -4
  231. package/dist/{es2015-Bv2aaatg.js.map → es2015-CJnm4_FQ.js.map} +1 -1
  232. package/dist/{flowDiagram-PKNHOUZH-BFdCj6uy.js → flowDiagram-PKNHOUZH-DInJjOz3.js} +18 -18
  233. package/dist/{flowDiagram-PKNHOUZH-BFdCj6uy.js.map → flowDiagram-PKNHOUZH-DInJjOz3.js.map} +1 -1
  234. package/dist/{ganttDiagram-A5KZAMGK-11X4ChEO.js → ganttDiagram-A5KZAMGK-Dgp-4Yss.js} +8 -8
  235. package/dist/{ganttDiagram-A5KZAMGK-11X4ChEO.js.map → ganttDiagram-A5KZAMGK-Dgp-4Yss.js.map} +1 -1
  236. package/dist/gitGraph-HDMCJU4V-D_QsK6Rt.js +3 -0
  237. package/dist/{gitGraphDiagram-K3NZZRJ6-BaZX5GA5.js → gitGraphDiagram-K3NZZRJ6-Dr_X0dND.js} +8 -8
  238. package/dist/{gitGraphDiagram-K3NZZRJ6-BaZX5GA5.js.map → gitGraphDiagram-K3NZZRJ6-Dr_X0dND.js.map} +1 -1
  239. package/dist/{graphlib-DmFENmkJ.js → graphlib-ecencZTG.js} +4 -4
  240. package/dist/{graphlib-DmFENmkJ.js.map → graphlib-ecencZTG.js.map} +1 -1
  241. package/dist/index.d.ts +1 -0
  242. package/dist/index.d.ts.map +1 -1
  243. package/dist/index.js +121 -121
  244. package/dist/info-3K5VOQVL-BbLiZXwn.js +3 -0
  245. package/dist/{infoDiagram-LFFYTUFH-iswGOIAk.js → infoDiagram-LFFYTUFH-DajJJRvc.js} +5 -5
  246. package/dist/{infoDiagram-LFFYTUFH-iswGOIAk.js.map → infoDiagram-LFFYTUFH-DajJJRvc.js.map} +1 -1
  247. package/dist/{init-Bdvvvy1Z.js → init-DcLTaNW1.js} +1 -1
  248. package/dist/{init-Bdvvvy1Z.js.map → init-DcLTaNW1.js.map} +1 -1
  249. package/dist/{input-DwHjxF_w.js → input-BrmncNsd.js} +1 -1
  250. package/dist/{input-DwHjxF_w.js.map → input-BrmncNsd.js.map} +1 -1
  251. package/dist/{interactive-C6OMqZhG.js → interactive-CXfIDzyh.js} +1 -1
  252. package/dist/{interactive-C6OMqZhG.js.map → interactive-CXfIDzyh.js.map} +1 -1
  253. package/dist/{isArrayLikeObject-uEhZQuCW.js → isArrayLikeObject-Bjsxaqj7.js} +1 -1
  254. package/dist/{isArrayLikeObject-uEhZQuCW.js.map → isArrayLikeObject-Bjsxaqj7.js.map} +1 -1
  255. package/dist/{isEmpty-SB7gHWzg.js → isEmpty-CeZZUVts.js} +2 -2
  256. package/dist/{isEmpty-SB7gHWzg.js.map → isEmpty-CeZZUVts.js.map} +1 -1
  257. package/dist/{ishikawaDiagram-PHBUUO56-BYrA8GRt.js → ishikawaDiagram-PHBUUO56-qHBJm2LT.js} +6 -6
  258. package/dist/{ishikawaDiagram-PHBUUO56-BYrA8GRt.js.map → ishikawaDiagram-PHBUUO56-qHBJm2LT.js.map} +1 -1
  259. package/dist/{journeyDiagram-4ABVD52K-BlCQNVun.js → journeyDiagram-4ABVD52K-PgfYdoDM.js} +7 -7
  260. package/dist/{journeyDiagram-4ABVD52K-BlCQNVun.js.map → journeyDiagram-4ABVD52K-PgfYdoDM.js.map} +1 -1
  261. package/dist/{kanban-definition-K7BYSVSG-85hLaVO4.js → kanban-definition-K7BYSVSG-DFRT8j7A.js} +11 -11
  262. package/dist/{kanban-definition-K7BYSVSG-85hLaVO4.js.map → kanban-definition-K7BYSVSG-DFRT8j7A.js.map} +1 -1
  263. package/dist/{katex-DyctUUDD.js → katex-BZdHnXin.js} +1 -1
  264. package/dist/{katex-DyctUUDD.js.map → katex-BZdHnXin.js.map} +1 -1
  265. package/dist/{label-DaoC8KCo.js → label-D_TX0q0F.js} +4 -4
  266. package/dist/{label-DaoC8KCo.js.map → label-D_TX0q0F.js.map} +1 -1
  267. package/dist/layout-DJ2E8nU0.js +135 -0
  268. package/dist/layout-DJ2E8nU0.js.map +1 -0
  269. package/dist/{line-xLJn8e8J.js → line-Cq1AZT4f.js} +4 -4
  270. package/dist/{line-xLJn8e8J.js.map → line-Cq1AZT4f.js.map} +1 -1
  271. package/dist/{linear-BePtLBEt.js → linear-BnJD01Xn.js} +5 -5
  272. package/dist/{linear-BePtLBEt.js.map → linear-BnJD01Xn.js.map} +1 -1
  273. package/dist/{markdown-viewer-DrwjEcXp.js → markdown-viewer-CBRQVRMp.js} +1 -1
  274. package/dist/{markdown-viewer-DrwjEcXp.js.map → markdown-viewer-CBRQVRMp.js.map} +1 -1
  275. package/dist/{math--xT1IZMK.js → math-D4gdAuwG.js} +1 -1
  276. package/dist/{math--xT1IZMK.js.map → math-D4gdAuwG.js.map} +1 -1
  277. package/dist/{menubar-CZie7LCj.js → menubar-lQZ-0ckw.js} +13 -13
  278. package/dist/{menubar-CZie7LCj.js.map → menubar-lQZ-0ckw.js.map} +1 -1
  279. package/dist/{mermaid-parser.core-Bd7Ghv5c.js → mermaid-parser.core-Dz5qv4CI.js} +16 -16
  280. package/dist/{mermaid-parser.core-Bd7Ghv5c.js.map → mermaid-parser.core-Dz5qv4CI.js.map} +1 -1
  281. package/dist/{mermaid.core-beWmNAWY.js → mermaid.core-DTiIXVKa.js} +44 -44
  282. package/dist/{mermaid.core-beWmNAWY.js.map → mermaid.core-DTiIXVKa.js.map} +1 -1
  283. package/dist/{mindmap-definition-YRQLILUH-CNBsYwDI.js → mindmap-definition-YRQLILUH-D95OPRMh.js} +13 -13
  284. package/dist/{mindmap-definition-YRQLILUH-CNBsYwDI.js.map → mindmap-definition-YRQLILUH-D95OPRMh.js.map} +1 -1
  285. package/dist/{navigation-menu-Db2QQ70P.js → navigation-menu-BpZTlEU0.js} +14 -14
  286. package/dist/{navigation-menu-Db2QQ70P.js.map → navigation-menu-BpZTlEU0.js.map} +1 -1
  287. package/dist/{ordinal-BKo-UFaW.js → ordinal-CC9tfh_g.js} +2 -2
  288. package/dist/{ordinal-BKo-UFaW.js.map → ordinal-CC9tfh_g.js.map} +1 -1
  289. package/dist/packet-RMMSAZCW-D72DRs1N.js +3 -0
  290. package/dist/{pagination-BmFjVnmV.js → pagination-CCjNavtQ.js} +5 -5
  291. package/dist/{pagination-BmFjVnmV.js.map → pagination-CCjNavtQ.js.map} +1 -1
  292. package/dist/{path-Z-HG_8i_.js → path-y0uQCOMW.js} +1 -1
  293. package/dist/{path-Z-HG_8i_.js.map → path-y0uQCOMW.js.map} +1 -1
  294. package/dist/pie-UPGHQEXC-C8RDLrEi.js +3 -0
  295. package/dist/{pieDiagram-SKSYHLDU-BMrGgUAv.js → pieDiagram-SKSYHLDU-BREEn_Sk.js} +12 -12
  296. package/dist/{pieDiagram-SKSYHLDU-BMrGgUAv.js.map → pieDiagram-SKSYHLDU-BREEn_Sk.js.map} +1 -1
  297. package/dist/primitives/button/index.js +1 -1
  298. package/dist/primitives/index.js +3 -3
  299. package/dist/primitives/input/index.js +1 -1
  300. package/dist/primitives/live-log-tail.js +1 -1
  301. package/dist/primitives/phase-progress.js +1 -1
  302. package/dist/primitives/sse-live-badge.js +1 -1
  303. package/dist/primitives/toggle/index.js +1 -1
  304. package/dist/primitives/yaml-override-editor.js +1 -1
  305. package/dist/primitives-BzQ6EvIx.js +380 -0
  306. package/dist/primitives-BzQ6EvIx.js.map +1 -0
  307. package/dist/{quadrantDiagram-337W2JSQ-kFO50yPy.js → quadrantDiagram-337W2JSQ-CcKc-h2o.js} +5 -5
  308. package/dist/{quadrantDiagram-337W2JSQ-kFO50yPy.js.map → quadrantDiagram-337W2JSQ-CcKc-h2o.js.map} +1 -1
  309. package/dist/radar-KQ55EAFF-DhmvjiyN.js +3 -0
  310. package/dist/{radio-group-Dum8cfXo.js → radio-group-8GO9_jRN.js} +10 -10
  311. package/dist/{radio-group-Dum8cfXo.js.map → radio-group-8GO9_jRN.js.map} +1 -1
  312. package/dist/react/app-switcher.js +1 -1
  313. package/dist/react/brand.js +1 -1
  314. package/dist/react/consent/preferences.js +1 -1
  315. package/dist/react/editors/code-editor.js +1 -1
  316. package/dist/react/editors/diff-viewer.js +1 -1
  317. package/dist/react/editors/json-viewer.js +1 -1
  318. package/dist/react/editors/log-viewer.js +1 -1
  319. package/dist/react/editors/yaml-editor.js +1 -1
  320. package/dist/react/feedback/notification-banner.js +2 -2
  321. package/dist/react/hooks/useSSE.js +1 -1
  322. package/dist/react/hooks/useStorage.js +1 -1
  323. package/dist/react/layout/app-shell.js +1 -1
  324. package/dist/react/layout/browser-layout.d.ts +12 -0
  325. package/dist/react/layout/browser-layout.d.ts.map +1 -0
  326. package/dist/react/layout/detail-header.d.ts +13 -0
  327. package/dist/react/layout/detail-header.d.ts.map +1 -0
  328. package/dist/react/layout/index.d.ts +4 -0
  329. package/dist/react/layout/index.d.ts.map +1 -1
  330. package/dist/react/layout/index.js +3 -2
  331. package/dist/react/layout/page-frame.d.ts +11 -0
  332. package/dist/react/layout/page-frame.d.ts.map +1 -0
  333. package/dist/react/layout/page-header.js +1 -1
  334. package/dist/react/layout/sub-nav.d.ts +15 -0
  335. package/dist/react/layout/sub-nav.d.ts.map +1 -0
  336. package/dist/react/primitives/alert-dialog.js +1 -1
  337. package/dist/react/primitives/alert.js +3 -3
  338. package/dist/react/primitives/animated-counter.js +1 -1
  339. package/dist/react/primitives/aspect-ratio.js +1 -1
  340. package/dist/react/primitives/attack-path.d.ts +1 -1
  341. package/dist/react/primitives/attack-path.js +2 -2
  342. package/dist/react/primitives/avatar.js +2 -2
  343. package/dist/react/primitives/badge.d.ts +1 -1
  344. package/dist/react/primitives/badge.js +3 -3
  345. package/dist/react/primitives/breadcrumb.js +3 -3
  346. package/dist/react/primitives/button.js +3 -3
  347. package/dist/react/primitives/calendar.js +1 -1
  348. package/dist/react/primitives/card.js +1 -1
  349. package/dist/react/primitives/carousel.js +1 -1
  350. package/dist/react/primitives/chart-area.js +1 -1
  351. package/dist/react/primitives/chart-bar.js +1 -1
  352. package/dist/react/primitives/chart-candlestick.js +1 -1
  353. package/dist/react/primitives/chart-frame.d.ts +14 -0
  354. package/dist/react/primitives/chart-frame.d.ts.map +1 -0
  355. package/dist/react/primitives/chart-funnel.js +1 -1
  356. package/dist/react/primitives/chart-gauge.js +1 -1
  357. package/dist/react/primitives/chart-heatmap.js +1 -1
  358. package/dist/react/primitives/chart-line.js +1 -1
  359. package/dist/react/primitives/chart-pie.js +1 -1
  360. package/dist/react/primitives/chart-radar.js +1 -1
  361. package/dist/react/primitives/chart-sankey.js +1 -1
  362. package/dist/react/primitives/chart-scatter.js +1 -1
  363. package/dist/react/primitives/chart-sparkline.js +1 -1
  364. package/dist/react/primitives/chart-treemap.js +1 -1
  365. package/dist/react/primitives/chart-waterfall.js +1 -1
  366. package/dist/react/primitives/chat-drawer.d.ts +13 -0
  367. package/dist/react/primitives/chat-drawer.d.ts.map +1 -0
  368. package/dist/react/primitives/chat-input.d.ts +10 -0
  369. package/dist/react/primitives/chat-input.d.ts.map +1 -0
  370. package/dist/react/primitives/checkbox.js +1 -1
  371. package/dist/react/primitives/code-block.js +3 -3
  372. package/dist/react/primitives/code-viewer.js +3 -3
  373. package/dist/react/primitives/collapsible.js +3 -3
  374. package/dist/react/primitives/color-picker.js +1 -1
  375. package/dist/react/primitives/context-menu.js +1 -1
  376. package/dist/react/primitives/copy-button.js +4 -4
  377. package/dist/react/primitives/cron-editor.js +1 -1
  378. package/dist/react/primitives/cvss-badge.d.ts +1 -1
  379. package/dist/react/primitives/cvss-badge.js +2 -2
  380. package/dist/react/primitives/dashboard-metric-card.d.ts +18 -0
  381. package/dist/react/primitives/dashboard-metric-card.d.ts.map +1 -0
  382. package/dist/react/primitives/data-field.d.ts +13 -0
  383. package/dist/react/primitives/data-field.d.ts.map +1 -0
  384. package/dist/react/primitives/data-grid.js +4 -4
  385. package/dist/react/primitives/data-table.js +2 -2
  386. package/dist/react/primitives/date-picker.js +1 -1
  387. package/dist/react/primitives/detection-status.d.ts +1 -1
  388. package/dist/react/primitives/detection-status.js +2 -2
  389. package/dist/react/primitives/dialog.js +3 -3
  390. package/dist/react/primitives/drawer.js +3 -3
  391. package/dist/react/primitives/dropdown-menu.js +1 -1
  392. package/dist/react/primitives/empty-state.js +1 -1
  393. package/dist/react/primitives/field.js +1 -1
  394. package/dist/react/primitives/file-tree.js +1 -1
  395. package/dist/react/primitives/flow-diagram.js +1 -1
  396. package/dist/react/primitives/heatmap-legend.js +1 -1
  397. package/dist/react/primitives/heatmap-toolbar.js +2 -2
  398. package/dist/react/primitives/hover-card.js +1 -1
  399. package/dist/react/primitives/index.d.ts +8 -0
  400. package/dist/react/primitives/index.d.ts.map +1 -1
  401. package/dist/react/primitives/index.js +84 -83
  402. package/dist/react/primitives/input.js +1 -1
  403. package/dist/react/primitives/json-path-browser.js +1 -1
  404. package/dist/react/primitives/kanban.js +1 -1
  405. package/dist/react/primitives/kbd.js +1 -1
  406. package/dist/react/primitives/label.js +1 -1
  407. package/dist/react/primitives/map.js +1 -1
  408. package/dist/react/primitives/markdown-viewer.js +0 -0
  409. package/dist/react/primitives/menubar.js +1 -1
  410. package/dist/react/primitives/mermaid-diagram.js +1 -1
  411. package/dist/react/primitives/metric-tile.js +1 -1
  412. package/dist/react/primitives/mitre-matrix.d.ts +1 -1
  413. package/dist/react/primitives/mitre-matrix.js +2 -2
  414. package/dist/react/primitives/modal.js +3 -3
  415. package/dist/react/primitives/navigation-menu.js +1 -1
  416. package/dist/react/primitives/network-graph.js +1 -1
  417. package/dist/react/primitives/notification-center.js +4 -4
  418. package/dist/react/primitives/notification-center.js.map +1 -1
  419. package/dist/react/primitives/pagination.js +1 -1
  420. package/dist/react/primitives/popover.js +1 -1
  421. package/dist/react/primitives/progress.js +2 -2
  422. package/dist/react/primitives/query-boundary.d.ts +15 -0
  423. package/dist/react/primitives/query-boundary.d.ts.map +1 -0
  424. package/dist/react/primitives/radio-group.js +1 -1
  425. package/dist/react/primitives/rule-editor.js +1 -1
  426. package/dist/react/primitives/score-ring.d.ts +13 -0
  427. package/dist/react/primitives/score-ring.d.ts.map +1 -0
  428. package/dist/react/primitives/scroll-area.js +1 -1
  429. package/dist/react/primitives/search.js +3 -3
  430. package/dist/react/primitives/section-panel.d.ts +11 -0
  431. package/dist/react/primitives/section-panel.d.ts.map +1 -0
  432. package/dist/react/primitives/select.js +1 -1
  433. package/dist/react/primitives/separator.js +1 -1
  434. package/dist/react/primitives/severity-indicator.d.ts +1 -1
  435. package/dist/react/primitives/severity-indicator.js +2 -2
  436. package/dist/react/primitives/sheet.js +3 -3
  437. package/dist/react/primitives/skeleton.js +1 -1
  438. package/dist/react/primitives/slide-panel.js +2 -2
  439. package/dist/react/primitives/slider.js +1 -1
  440. package/dist/react/primitives/spinner.js +1 -1
  441. package/dist/react/primitives/split-pane.js +1 -1
  442. package/dist/react/primitives/stat-card.js +2 -2
  443. package/dist/react/primitives/status-bar.js +1 -1
  444. package/dist/react/primitives/status-dot.js +1 -1
  445. package/dist/react/primitives/stepper.js +3 -3
  446. package/dist/react/primitives/switch.js +1 -1
  447. package/dist/react/primitives/table.js +1 -1
  448. package/dist/react/primitives/tabs.js +1 -1
  449. package/dist/react/primitives/tag-input.js +1 -1
  450. package/dist/react/primitives/terminal.js +1 -1
  451. package/dist/react/primitives/textarea.js +1 -1
  452. package/dist/react/primitives/timeline.js +1 -1
  453. package/dist/react/primitives/toast.js +1 -1
  454. package/dist/react/primitives/toggle.js +1 -1
  455. package/dist/react/primitives/tooltip.js +1 -1
  456. package/dist/react/primitives/tree-view.js +2 -2
  457. package/dist/react/primitives/typography.js +1 -1
  458. package/dist/react/primitives/uptime-bar.js +1 -1
  459. package/dist/react/primitives/vulnerability-card.d.ts +1 -1
  460. package/dist/react/primitives/vulnerability-card.js +2 -2
  461. package/dist/react/sidebar.js +2 -2
  462. package/dist/react/theme-studio.js +1 -1
  463. package/dist/react/theme-toggle.js +1 -1
  464. package/dist/react/topology.js +1 -1
  465. package/dist/react.js +103 -103
  466. package/dist/{requirementDiagram-Z7DCOOCP-D2Oxfw6G.js → requirementDiagram-Z7DCOOCP-aPcaPduF.js} +13 -13
  467. package/dist/{requirementDiagram-Z7DCOOCP-D2Oxfw6G.js.map → requirementDiagram-Z7DCOOCP-aPcaPduF.js.map} +1 -1
  468. package/dist/{rough.esm-Czyj4U3Q.js → rough.esm-C9rQ9YkE.js} +1 -1
  469. package/dist/{rough.esm-Czyj4U3Q.js.map → rough.esm-C9rQ9YkE.js.map} +1 -1
  470. package/dist/{sankeyDiagram-WA2Y5GQK-q1_lwNBY.js → sankeyDiagram-WA2Y5GQK-CO_lUqQX.js} +5 -5
  471. package/dist/{sankeyDiagram-WA2Y5GQK-q1_lwNBY.js.map → sankeyDiagram-WA2Y5GQK-CO_lUqQX.js.map} +1 -1
  472. package/dist/{scroll-area-CR1iK8Af.js → scroll-area-C_oeG0js.js} +8 -8
  473. package/dist/{scroll-area-CR1iK8Af.js.map → scroll-area-C_oeG0js.js.map} +1 -1
  474. package/dist/{search-CrxnZfZ5.js → search-Cu20LdaQ.js} +2 -2
  475. package/dist/{search-CrxnZfZ5.js.map → search-Cu20LdaQ.js.map} +1 -1
  476. package/dist/security/index.d.ts +2 -0
  477. package/dist/security/index.d.ts.map +1 -1
  478. package/dist/security/index.js +7 -6
  479. package/dist/security/mitre-data.d.ts +38 -0
  480. package/dist/security/mitre-data.d.ts.map +1 -0
  481. package/dist/security-AzmGrY2-.js +77 -0
  482. package/dist/security-AzmGrY2-.js.map +1 -0
  483. package/dist/{select-BX7KT3VP.js → select-Bc7Gn3Oa.js} +19 -19
  484. package/dist/{select-BX7KT3VP.js.map → select-Bc7Gn3Oa.js.map} +1 -1
  485. package/dist/{separator-C6KfB7ww.js → separator-C-OWzLst.js} +3 -3
  486. package/dist/{separator-C6KfB7ww.js.map → separator-C-OWzLst.js.map} +1 -1
  487. package/dist/{sequenceDiagram-2WXFIKYE-BCEaH0s_.js → sequenceDiagram-2WXFIKYE-D7Vh1Zld.js} +9 -9
  488. package/dist/{sequenceDiagram-2WXFIKYE-BCEaH0s_.js.map → sequenceDiagram-2WXFIKYE-D7Vh1Zld.js.map} +1 -1
  489. package/dist/{series-DMc2ZYyj.js → series-DrBALkNS.js} +2 -2
  490. package/dist/{series-DMc2ZYyj.js.map → series-DrBALkNS.js.map} +1 -1
  491. package/dist/services/index.js +2 -2
  492. package/dist/services/sse-react.js +1 -1
  493. package/dist/services/sse.js +1 -1
  494. package/dist/services/theme-engine/engine.d.ts.map +1 -1
  495. package/dist/services/theme-engine/fonts.d.ts.map +1 -1
  496. package/dist/services/theme-engine/icons.d.ts.map +1 -1
  497. package/dist/services/theme-engine/index.js +120 -48
  498. package/dist/services/theme-engine/index.js.map +1 -1
  499. package/dist/services/theme-engine/test-helpers.d.ts +13 -0
  500. package/dist/services/theme-engine/test-helpers.d.ts.map +1 -0
  501. package/dist/services/toast-react.js +2 -2
  502. package/dist/sidebar/index.js +1 -1
  503. package/dist/{slider-CLgdcoKC.js → slider-CJoWbXQt.js} +10 -10
  504. package/dist/{slider-CLgdcoKC.js.map → slider-CJoWbXQt.js.map} +1 -1
  505. package/dist/{src-hxErHTV1.js → src-BhNgmpel.js} +2 -2
  506. package/dist/{src-hxErHTV1.js.map → src-BhNgmpel.js.map} +1 -1
  507. package/dist/{src-BEYP07TO.js → src-D1EMXotX.js} +1 -1
  508. package/dist/{src-BEYP07TO.js.map → src-D1EMXotX.js.map} +1 -1
  509. package/dist/{sse-D0HLjufB.js → sse-DCaj9UFJ.js} +1 -1
  510. package/dist/{sse-D0HLjufB.js.map → sse-DCaj9UFJ.js.map} +1 -1
  511. package/dist/{stateDiagram-RAJIS63D-B-Mu-_BR.js → stateDiagram-RAJIS63D-DdiY5cf3.js} +18 -18
  512. package/dist/{stateDiagram-RAJIS63D-B-Mu-_BR.js.map → stateDiagram-RAJIS63D-DdiY5cf3.js.map} +1 -1
  513. package/dist/stateDiagram-v2-FVOUBMTO-CAWy0Pkh.js +29 -0
  514. package/dist/{stateDiagram-v2-FVOUBMTO-Cnp2uGxd.js.map → stateDiagram-v2-FVOUBMTO-CAWy0Pkh.js.map} +1 -1
  515. package/dist/{storage-B-gK537W.js → storage-BUlr2J4R.js} +1 -1
  516. package/dist/{storage-B-gK537W.js.map → storage-BUlr2J4R.js.map} +1 -1
  517. package/dist/styles/layout.css +18 -18
  518. package/dist/styles/sidebar.css +31 -19
  519. package/dist/styles/tenant-ui.css +34 -34
  520. package/dist/styles/theme-engine.css +546 -23
  521. package/dist/styles/theme.css +1 -0
  522. package/dist/styles/tokens.css +69 -34
  523. package/dist/styles/ui.css +5 -5
  524. package/dist/{switch-CoTkNGEB.js → switch-Dcd3Fyw_.js} +7 -7
  525. package/dist/{switch-CoTkNGEB.js.map → switch-Dcd3Fyw_.js.map} +1 -1
  526. package/dist/{tabs-BT2WAQcK.js → tabs-8AT2ntg_.js} +8 -8
  527. package/dist/{tabs-BT2WAQcK.js.map → tabs-8AT2ntg_.js.map} +1 -1
  528. package/dist/theme-studio-CN9Ipb9W.js +236 -0
  529. package/dist/theme-studio-CN9Ipb9W.js.map +1 -0
  530. package/dist/{theme-toggle-Csyj-tLm.js → theme-toggle-glKWbKG8.js} +2 -2
  531. package/dist/{theme-toggle-Csyj-tLm.js.map → theme-toggle-glKWbKG8.js.map} +1 -1
  532. package/dist/{timeline-definition-YZTLITO2-B0SegHNN.js → timeline-definition-YZTLITO2-CjxxCuOg.js} +5 -5
  533. package/dist/{timeline-definition-YZTLITO2-B0SegHNN.js.map → timeline-definition-YZTLITO2-CjxxCuOg.js.map} +1 -1
  534. package/dist/{toast-DRNPdj-R.js → toast-CawTm-7V.js} +6 -6
  535. package/dist/{toast-DRNPdj-R.js.map → toast-CawTm-7V.js.map} +1 -1
  536. package/dist/{toggle-DJJEPXXE.js → toggle-C8sazHXX.js} +7 -7
  537. package/dist/{toggle-DJJEPXXE.js.map → toggle-C8sazHXX.js.map} +1 -1
  538. package/dist/{toggle-D-WMiAg3.js → toggle-IUUynh_v.js} +1 -1
  539. package/dist/{toggle-D-WMiAg3.js.map → toggle-IUUynh_v.js.map} +1 -1
  540. package/dist/{tooltip-DuC73a5E.js → tooltip-NKOSxS28.js} +11 -11
  541. package/dist/{tooltip-DuC73a5E.js.map → tooltip-NKOSxS28.js.map} +1 -1
  542. package/dist/{topology-C4Q_kT9X.js → topology-C8cyIHlB.js} +5 -5
  543. package/dist/{topology-C4Q_kT9X.js.map → topology-C8cyIHlB.js.map} +1 -1
  544. package/dist/treemap-KZPCXAKY-BvLvHb2t.js +3 -0
  545. package/dist/{triangle-alert-CKjGAvtd.js → triangle-alert-BtwDDOUp.js} +2 -2
  546. package/dist/{triangle-alert-CKjGAvtd.js.map → triangle-alert-BtwDDOUp.js.map} +1 -1
  547. package/dist/types/confidence.d.ts +66 -0
  548. package/dist/types/confidence.d.ts.map +1 -0
  549. package/dist/types/index.d.ts +2 -0
  550. package/dist/types/index.d.ts.map +1 -0
  551. package/dist/utils/index.d.ts +3 -0
  552. package/dist/utils/index.d.ts.map +1 -1
  553. package/dist/utils/index.js +6 -6
  554. package/dist/utils/sage-analysis.d.ts +51 -0
  555. package/dist/utils/sage-analysis.d.ts.map +1 -0
  556. package/dist/utils/score.d.ts +58 -0
  557. package/dist/utils/score.d.ts.map +1 -0
  558. package/dist/utils/status-tone.d.ts +4 -0
  559. package/dist/utils/status-tone.d.ts.map +1 -0
  560. package/dist/{utils-B7XIe3qq.js → utils-DcOSDVkb.js} +1 -1
  561. package/dist/{utils-B7XIe3qq.js.map → utils-DcOSDVkb.js.map} +1 -1
  562. package/dist/{utils-CHEq9Vpx.js → utils-JB2cYPor.js} +120 -2
  563. package/dist/utils-JB2cYPor.js.map +1 -0
  564. package/dist/{value-CybtvyUg.js → value-gSPnIECy.js} +2 -2
  565. package/dist/{value-CybtvyUg.js.map → value-gSPnIECy.js.map} +1 -1
  566. package/dist/{vennDiagram-LZ73GAT5-ClN0stHq.js → vennDiagram-LZ73GAT5-FqpGoq2s.js} +7 -7
  567. package/dist/{vennDiagram-LZ73GAT5-ClN0stHq.js.map → vennDiagram-LZ73GAT5-FqpGoq2s.js.map} +1 -1
  568. package/dist/visualization/mermaid-diagram/index.js +1 -1
  569. package/dist/{x-BleQvk5v.js → x-D2ovnRiN.js} +2 -2
  570. package/dist/{x-BleQvk5v.js.map → x-D2ovnRiN.js.map} +1 -1
  571. package/dist/{xychartDiagram-JWTSCODW-DjFaG2VD.js → xychartDiagram-JWTSCODW-BNEAK79X.js} +10 -10
  572. package/dist/{xychartDiagram-JWTSCODW-DjFaG2VD.js.map → xychartDiagram-JWTSCODW-BNEAK79X.js.map} +1 -1
  573. package/package.json +1 -1
  574. package/src/components/theme/accent-switcher.ts +9 -2
  575. package/src/components/theme/density-switcher.ts +7 -1
  576. package/src/components/theme/font-stack-picker.ts +7 -1
  577. package/src/components/theme/glass-slider.ts +19 -8
  578. package/src/components/theme/icon-gallery-browser.ts +191 -0
  579. package/src/components/theme/icon-set-picker.ts +19 -8
  580. package/src/components/theme/icon-usage-matrix.ts +15 -1
  581. package/src/components/theme/radius-slider.ts +14 -6
  582. package/src/components/theme/theme-preset-grid.ts +8 -2
  583. package/src/components/theme/theme-preview-tile.ts +11 -3
  584. package/src/components/theme/theme-studio-review.test.ts +253 -0
  585. package/src/components/theme/theme-studio.ts +100 -61
  586. package/src/components/theme/theme-switcher.ts +7 -1
  587. package/src/index.ts +11 -0
  588. package/src/react/layout/browser-layout.tsx +54 -0
  589. package/src/react/layout/detail-header.tsx +42 -0
  590. package/src/react/layout/index.ts +4 -0
  591. package/src/react/layout/page-frame.tsx +32 -0
  592. package/src/react/layout/sub-nav.tsx +72 -0
  593. package/src/react/primitives/chart-frame.tsx +51 -0
  594. package/src/react/primitives/chat-drawer.tsx +94 -0
  595. package/src/react/primitives/chat-input.tsx +134 -0
  596. package/src/react/primitives/dashboard-metric-card.tsx +78 -0
  597. package/src/react/primitives/data-field.tsx +54 -0
  598. package/src/react/primitives/index.ts +13 -0
  599. package/src/react/primitives/notification-center.tsx +3 -3
  600. package/src/react/primitives/query-boundary.tsx +71 -0
  601. package/src/react/primitives/score-ring.tsx +78 -0
  602. package/src/react/primitives/section-panel.tsx +42 -0
  603. package/src/security/index.ts +4 -0
  604. package/src/security/mitre-data.ts +60 -0
  605. package/src/services/theme-engine/engine.test.ts +3 -25
  606. package/src/services/theme-engine/engine.ts +35 -9
  607. package/src/services/theme-engine/fonts.ts +4 -0
  608. package/src/services/theme-engine/icons.ts +76 -9
  609. package/src/services/theme-engine/palettes.ts +2 -2
  610. package/src/services/theme-engine/test-helpers.ts +37 -0
  611. package/src/styles/layout.css +18 -18
  612. package/src/styles/sidebar.css +31 -19
  613. package/src/styles/tenant-ui.css +34 -34
  614. package/src/styles/theme-engine.css +546 -23
  615. package/src/styles/theme.css +1 -0
  616. package/src/styles/tokens.css +69 -34
  617. package/src/styles/ui.css +5 -5
  618. package/src/types/confidence.ts +72 -0
  619. package/src/types/index.ts +9 -0
  620. package/src/utils/__tests__/sage-analysis.test.ts +41 -0
  621. package/src/utils/__tests__/score.test.ts +232 -0
  622. package/src/utils/__tests__/status-tone.test.ts +164 -0
  623. package/src/utils/index.ts +29 -0
  624. package/src/utils/sage-analysis.ts +62 -0
  625. package/src/utils/score.ts +123 -0
  626. package/src/utils/status-tone.ts +48 -0
  627. package/dist/architecture-PBZL5I3N-gCfUhEfQ.js +0 -3
  628. package/dist/classDiagram-VBA2DB6C-DFfohpM0.js +0 -31
  629. package/dist/classDiagram-v2-RAHNMMFH-kUMm28FB.js +0 -31
  630. package/dist/components/theme/theme-studio.js.map +0 -1
  631. package/dist/dist-DGayZ3ok2.js.map +0 -1
  632. package/dist/gitGraph-HDMCJU4V--53HTu2M.js +0 -3
  633. package/dist/info-3K5VOQVL-CmVeZuiG.js +0 -3
  634. package/dist/packet-RMMSAZCW-jFj7IW8A.js +0 -3
  635. package/dist/pie-UPGHQEXC-osqmeuax.js +0 -3
  636. package/dist/radar-KQ55EAFF-Dj2g5Z-W.js +0 -3
  637. package/dist/stateDiagram-v2-FVOUBMTO-Cnp2uGxd.js +0 -29
  638. package/dist/treemap-KZPCXAKY-DQ1GEudW.js +0 -3
  639. package/dist/utils-CHEq9Vpx.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"scroll-area-CR1iK8Af.js","names":["React","ScrollArea"],"sources":["../node_modules/@radix-ui/react-scroll-area/dist/index.mjs","../src/react/primitives/scroll-area.tsx"],"sourcesContent":["\"use client\";\n\n// src/scroll-area.tsx\nimport * as React2 from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\n// src/use-state-machine.ts\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/scroll-area.tsx\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar SCROLL_AREA_NAME = \"ScrollArea\";\nvar [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);\nvar [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);\nvar ScrollArea = React2.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeScrollArea,\n type = \"hover\",\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React2.useState(null);\n const [viewport, setViewport] = React2.useState(null);\n const [content, setContent] = React2.useState(null);\n const [scrollbarX, setScrollbarX] = React2.useState(null);\n const [scrollbarY, setScrollbarY] = React2.useState(null);\n const [cornerWidth, setCornerWidth] = React2.useState(0);\n const [cornerHeight, setCornerHeight] = React2.useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = React2.useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = React2.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));\n const direction = useDirection(dir);\n return /* @__PURE__ */ jsx(\n ScrollAreaProvider,\n {\n scope: __scopeScrollArea,\n type,\n dir: direction,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: setViewport,\n content,\n onContentChange: setContent,\n scrollbarX,\n onScrollbarXChange: setScrollbarX,\n scrollbarXEnabled,\n onScrollbarXEnabledChange: setScrollbarXEnabled,\n scrollbarY,\n onScrollbarYChange: setScrollbarY,\n scrollbarYEnabled,\n onScrollbarYEnabledChange: setScrollbarYEnabled,\n onCornerWidthChange: setCornerWidth,\n onCornerHeightChange: setCornerHeight,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n ...scrollAreaProps,\n ref: composedRefs,\n style: {\n position: \"relative\",\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n [\"--radix-scroll-area-corner-width\"]: cornerWidth + \"px\",\n [\"--radix-scroll-area-corner-height\"]: cornerHeight + \"px\",\n ...props.style\n }\n }\n )\n }\n );\n }\n);\nScrollArea.displayName = SCROLL_AREA_NAME;\nvar VIEWPORT_NAME = \"ScrollAreaViewport\";\nvar ScrollAreaViewport = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, children, nonce, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React2.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-scroll-area-viewport\": \"\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: context.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: context.scrollbarYEnabled ? \"scroll\" : \"hidden\",\n ...props.style\n },\n children: /* @__PURE__ */ jsx(\"div\", { ref: context.onContentChange, style: { minWidth: \"100%\", display: \"table\" }, children })\n }\n )\n ] });\n }\n);\nScrollAreaViewport.displayName = VIEWPORT_NAME;\nvar SCROLLBAR_NAME = \"ScrollAreaScrollbar\";\nvar ScrollAreaScrollbar = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === \"horizontal\";\n React2.useEffect(() => {\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return () => {\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n return context.type === \"hover\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"scroll\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"auto\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"always\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;\n }\n);\nScrollAreaScrollbar.displayName = SCROLLBAR_NAME;\nvar ScrollAreaScrollbarHover = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = React2.useState(false);\n React2.useEffect(() => {\n const scrollArea = context.scrollArea;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = () => {\n window.clearTimeout(hideTimer);\n setVisible(true);\n };\n const handlePointerLeave = () => {\n hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n };\n scrollArea.addEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.addEventListener(\"pointerleave\", handlePointerLeave);\n return () => {\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.removeEventListener(\"pointerleave\", handlePointerLeave);\n };\n }\n }, [context.scrollArea, context.scrollHideDelay]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarAuto,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarScroll = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const isHorizontal = props.orientation === \"horizontal\";\n const debounceScrollEnd = useDebounceCallback(() => send(\"SCROLL_END\"), 100);\n const [state, send] = useStateMachine(\"hidden\", {\n hidden: {\n SCROLL: \"scrolling\"\n },\n scrolling: {\n SCROLL_END: \"idle\",\n POINTER_ENTER: \"interacting\"\n },\n interacting: {\n SCROLL: \"interacting\",\n POINTER_LEAVE: \"idle\"\n },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n React2.useEffect(() => {\n if (state === \"idle\") {\n const hideTimer = window.setTimeout(() => send(\"HIDE\"), context.scrollHideDelay);\n return () => window.clearTimeout(hideTimer);\n }\n }, [state, context.scrollHideDelay, send]);\n React2.useEffect(() => {\n const viewport = context.viewport;\n const scrollDirection = isHorizontal ? \"scrollLeft\" : \"scrollTop\";\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection];\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection];\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n if (hasScrollInDirectionChanged) {\n send(\"SCROLL\");\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n };\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || state !== \"hidden\", children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": state === \"hidden\" ? \"hidden\" : \"visible\",\n ...scrollbarProps,\n ref: forwardedRef,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send(\"POINTER_ENTER\")),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send(\"POINTER_LEAVE\"))\n }\n ) });\n});\nvar ScrollAreaScrollbarAuto = React2.forwardRef((props, forwardedRef) => {\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = React2.useState(false);\n const isHorizontal = props.orientation === \"horizontal\";\n const handleResize = useDebounceCallback(() => {\n if (context.viewport) {\n const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n setVisible(isHorizontal ? isOverflowX : isOverflowY);\n }\n }, 10);\n useResizeObserver(context.viewport, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarVisible = React2.forwardRef((props, forwardedRef) => {\n const { orientation = \"vertical\", ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React2.useRef(null);\n const pointerOffsetRef = React2.useRef(0);\n const [sizes, setSizes] = React2.useState({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n });\n const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n const commonProps = {\n ...scrollbarProps,\n sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: (thumb) => thumbRef.current = thumb,\n onThumbPointerUp: () => pointerOffsetRef.current = 0,\n onThumbPointerDown: (pointerPos) => pointerOffsetRef.current = pointerPos\n };\n function getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n }\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarX,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollLeft = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) {\n context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n }\n }\n }\n );\n }\n if (orientation === \"vertical\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarY,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes);\n thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollTop = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n }\n }\n );\n }\n return null;\n});\nvar ScrollAreaScrollbarX = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"horizontal\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n bottom: 0,\n left: context.dir === \"rtl\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n right: context.dir === \"ltr\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n [\"--radix-scroll-area-thumb-width\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollWidth,\n viewport: context.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: toInt(computedStyle.paddingLeft),\n paddingEnd: toInt(computedStyle.paddingRight)\n }\n });\n }\n }\n }\n );\n});\nvar ScrollAreaScrollbarY = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"vertical\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n top: 0,\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: \"var(--radix-scroll-area-corner-height)\",\n [\"--radix-scroll-area-thumb-height\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: toInt(computedStyle.paddingTop),\n paddingEnd: toInt(computedStyle.paddingBottom)\n }\n });\n }\n }\n }\n );\n});\nvar [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);\nvar ScrollAreaScrollbarImpl = React2.forwardRef((props, forwardedRef) => {\n const {\n __scopeScrollArea,\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);\n const [scrollbar, setScrollbar] = React2.useState(null);\n const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React2.useRef(null);\n const prevWebkitUserSelectRef = React2.useRef(\"\");\n const viewport = context.viewport;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n function handleDragScroll(event) {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({ x, y });\n }\n }\n React2.useEffect(() => {\n const handleWheel = (event) => {\n const element = event.target;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => document.removeEventListener(\"wheel\", handleWheel, { passive: false });\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n React2.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(\n ScrollbarProvider,\n {\n scope: __scopeScrollArea,\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...scrollbarProps,\n ref: composeRefs,\n style: { position: \"absolute\", ...scrollbarProps.style },\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = \"none\";\n if (context.viewport) context.viewport.style.scrollBehavior = \"auto\";\n handleDragScroll(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n if (context.viewport) context.viewport.style.scrollBehavior = \"\";\n rectRef.current = null;\n })\n }\n )\n }\n );\n});\nvar THUMB_NAME = \"ScrollAreaThumb\";\nvar ScrollAreaThumb = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ jsx(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });\n }\n);\nvar ScrollAreaThumbImpl = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, style, ...thumbProps } = props;\n const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);\n const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);\n const { onThumbPositionChange } = scrollbarContext;\n const composedRef = useComposedRefs(\n forwardedRef,\n (node) => scrollbarContext.onThumbChange(node)\n );\n const removeUnlinkedScrollListenerRef = React2.useRef(void 0);\n const debounceScrollEnd = useDebounceCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = void 0;\n }\n }, 100);\n React2.useEffect(() => {\n const viewport = scrollAreaContext.viewport;\n if (viewport) {\n const handleScroll = () => {\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);\n removeUnlinkedScrollListenerRef.current = listener;\n onThumbPositionChange();\n }\n };\n onThumbPositionChange();\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": scrollbarContext.hasThumb ? \"visible\" : \"hidden\",\n ...thumbProps,\n ref: composedRef,\n style: {\n width: \"var(--radix-scroll-area-thumb-width)\",\n height: \"var(--radix-scroll-area-thumb-height)\",\n ...style\n },\n onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {\n const thumb = event.target;\n const thumbRect = thumb.getBoundingClientRect();\n const x = event.clientX - thumbRect.left;\n const y = event.clientY - thumbRect.top;\n scrollbarContext.onThumbPointerDown({ x, y });\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n }\n );\n }\n);\nScrollAreaThumb.displayName = THUMB_NAME;\nvar CORNER_NAME = \"ScrollAreaCorner\";\nvar ScrollAreaCorner = React2.forwardRef(\n (props, forwardedRef) => {\n const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);\n const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n const hasCorner = context.type !== \"scroll\" && hasBothScrollbarsVisible;\n return hasCorner ? /* @__PURE__ */ jsx(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;\n }\n);\nScrollAreaCorner.displayName = CORNER_NAME;\nvar ScrollAreaCornerImpl = React2.forwardRef((props, forwardedRef) => {\n const { __scopeScrollArea, ...cornerProps } = props;\n const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n const [width, setWidth] = React2.useState(0);\n const [height, setHeight] = React2.useState(0);\n const hasSize = Boolean(width && height);\n useResizeObserver(context.scrollbarX, () => {\n const height2 = context.scrollbarX?.offsetHeight || 0;\n context.onCornerHeightChange(height2);\n setHeight(height2);\n });\n useResizeObserver(context.scrollbarY, () => {\n const width2 = context.scrollbarY?.offsetWidth || 0;\n context.onCornerWidthChange(width2);\n setWidth(width2);\n });\n return hasSize ? /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...cornerProps,\n ref: forwardedRef,\n style: {\n width,\n height,\n position: \"absolute\",\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: 0,\n ...props.style\n }\n }\n ) : null;\n});\nfunction toInt(value) {\n return value ? parseInt(value, 10) : 0;\n}\nfunction getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return isNaN(ratio) ? 0 : ratio;\n}\nfunction getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n}\nfunction getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate(pointerPos);\n}\nfunction getThumbOffsetFromScroll(scrollPos, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\nvar addUnlinkedScrollListener = (node, handler = () => {\n}) => {\n let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n let rAF = 0;\n (function loop() {\n const position = { left: node.scrollLeft, top: node.scrollTop };\n const isHorizontalScroll = prevPosition.left !== position.left;\n const isVerticalScroll = prevPosition.top !== position.top;\n if (isHorizontalScroll || isVerticalScroll) handler();\n prevPosition = position;\n rAF = window.requestAnimationFrame(loop);\n })();\n return () => window.cancelAnimationFrame(rAF);\n};\nfunction useDebounceCallback(callback, delay) {\n const handleCallback = useCallbackRef(callback);\n const debounceTimerRef = React2.useRef(0);\n React2.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return React2.useCallback(() => {\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n }, [handleCallback, delay]);\n}\nfunction useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\nvar Root = ScrollArea;\nvar Viewport = ScrollAreaViewport;\nvar Scrollbar = ScrollAreaScrollbar;\nvar Thumb = ScrollAreaThumb;\nvar Corner = ScrollAreaCorner;\nexport {\n Corner,\n Root,\n ScrollArea,\n ScrollAreaCorner,\n ScrollAreaScrollbar,\n ScrollAreaThumb,\n ScrollAreaViewport,\n Scrollbar,\n Thumb,\n Viewport,\n createScrollAreaScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from 'react'\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area'\n\nimport { cn } from './utils'\n\nfunction ScrollArea({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={cn('relative overflow-hidden', className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className=\"h-full w-full rounded-[inherit] [&>div]:!block\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n )\n}\n\nfunction ScrollBar({\n className,\n orientation = 'vertical',\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation={orientation}\n className={cn(\n 'flex touch-none select-none transition-colors',\n orientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent p-px',\n orientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent p-px',\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot=\"scroll-area-thumb\"\n className=\"bg-border-glass relative flex-1 rounded-full\"\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n )\n}\n\nexport { ScrollArea, ScrollBar }\n"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;AAgBA,SAAS,EAAgB,GAAc,GAAS;AAC9C,QAAOA,EAAM,YAAY,GAAO,MACZ,EAAQ,GAAO,MACb,GACnB,EAAa;;AAKlB,IAAI,IAAmB,cACnB,CAAC,GAAyB,KAAyB,EAAmB,EAAiB,EACvF,CAAC,GAAoB,KAAwB,EAAwB,EAAiB,EACtFC,IAAa,EAAO,YACrB,GAAO,MAAiB;CACvB,IAAM,EACJ,sBACA,UAAO,SACP,QACA,qBAAkB,KAClB,GAAG,MACD,GACE,CAAC,GAAY,KAAiB,EAAO,SAAS,KAAK,EACnD,CAAC,GAAU,KAAe,EAAO,SAAS,KAAK,EAC/C,CAAC,GAAS,KAAc,EAAO,SAAS,KAAK,EAC7C,CAAC,GAAY,KAAiB,EAAO,SAAS,KAAK,EACnD,CAAC,GAAY,KAAiB,EAAO,SAAS,KAAK,EACnD,CAAC,GAAa,KAAkB,EAAO,SAAS,EAAE,EAClD,CAAC,GAAc,KAAmB,EAAO,SAAS,EAAE,EACpD,CAAC,GAAmB,KAAwB,EAAO,SAAS,GAAM,EAClE,CAAC,GAAmB,KAAwB,EAAO,SAAS,GAAM,EAClE,IAAe,EAAgB,IAAe,MAAS,EAAc,EAAK,CAAC,EAC3E,IAAY,EAAa,EAAI;AACnC,QAAuB,kBACrB,GACA;EACE,OAAO;EACP;EACA,KAAK;EACL;EACA;EACA;EACA,kBAAkB;EAClB;EACA,iBAAiB;EACjB;EACA,oBAAoB;EACpB;EACA,2BAA2B;EAC3B;EACA,oBAAoB;EACpB;EACA,2BAA2B;EAC3B,qBAAqB;EACrB,sBAAsB;EACtB,UAA0B,kBACxB,EAAU,KACV;GACE,KAAK;GACL,GAAG;GACH,KAAK;GACL,OAAO;IACL,UAAU;IAET,oCAAqC,IAAc;IACnD,qCAAsC,IAAe;IACtD,GAAG,EAAM;IACV;GACF,CACF;EACF,CACF;EAEJ;AACD,EAAW,cAAc;AACzB,IAAI,IAAgB,sBAChB,IAAqB,EAAO,YAC7B,GAAO,MAAiB;CACvB,IAAM,EAAE,sBAAmB,aAAU,UAAO,GAAG,MAAkB,GAC3D,IAAU,EAAqB,GAAe,EAAkB,EAEhE,IAAe,EAAgB,GADzB,EAAO,OAAO,KAAK,EACyB,EAAQ,iBAAiB;AACjF,QAAuB,kBAAK,GAAU,EAAE,UAAU,CAChC,kBACd,SACA;EACE,yBAAyB,EACvB,QAAQ,uLACT;EACD;EACD,CACF,EACe,kBACd,EAAU,KACV;EACE,mCAAmC;EACnC,GAAG;EACH,KAAK;EACL,OAAO;GAYL,WAAW,EAAQ,oBAAoB,WAAW;GAClD,WAAW,EAAQ,oBAAoB,WAAW;GAClD,GAAG,EAAM;GACV;EACD,UAA0B,kBAAI,OAAO;GAAE,KAAK,EAAQ;GAAiB,OAAO;IAAE,UAAU;IAAQ,SAAS;IAAS;GAAE;GAAU,CAAC;EAChI,CACF,CACF,EAAE,CAAC;EAEP;AACD,EAAmB,cAAc;AACjC,IAAI,IAAiB,uBACjB,IAAsB,EAAO,YAC9B,GAAO,MAAiB;CACvB,IAAM,EAAE,eAAY,GAAG,MAAmB,GACpC,IAAU,EAAqB,GAAgB,EAAM,kBAAkB,EACvE,EAAE,8BAA2B,iCAA8B,GAC3D,IAAe,EAAM,gBAAgB;AAO3C,QANA,EAAO,iBACL,IAAe,EAA0B,GAAK,GAAG,EAA0B,GAAK,QACnE;AACX,MAAe,EAA0B,GAAM,GAAG,EAA0B,GAAM;KAEnF;EAAC;EAAc;EAA2B;EAA0B,CAAC,EACjE,EAAQ,SAAS,UAA0B,kBAAI,GAA0B;EAAE,GAAG;EAAgB,KAAK;EAAc;EAAY,CAAC,GAAG,EAAQ,SAAS,WAA2B,kBAAI,GAA2B;EAAE,GAAG;EAAgB,KAAK;EAAc;EAAY,CAAC,GAAG,EAAQ,SAAS,SAAyB,kBAAI,GAAyB;EAAE,GAAG;EAAgB,KAAK;EAAc;EAAY,CAAC,GAAG,EAAQ,SAAS,WAA2B,kBAAI,GAA4B;EAAE,GAAG;EAAgB,KAAK;EAAc,CAAC,GAAG;EAErgB;AACD,EAAoB,cAAc;AAClC,IAAI,IAA2B,EAAO,YAAY,GAAO,MAAiB;CACxE,IAAM,EAAE,eAAY,GAAG,MAAmB,GACpC,IAAU,EAAqB,GAAgB,EAAM,kBAAkB,EACvE,CAAC,GAAS,KAAc,EAAO,SAAS,GAAM;AAqBpD,QApBA,EAAO,gBAAgB;EACrB,IAAM,IAAa,EAAQ,YACvB,IAAY;AAChB,MAAI,GAAY;GACd,IAAM,UAA2B;AAE/B,IADA,OAAO,aAAa,EAAU,EAC9B,EAAW,GAAK;MAEZ,UAA2B;AAC/B,QAAY,OAAO,iBAAiB,EAAW,GAAM,EAAE,EAAQ,gBAAgB;;AAIjF,UAFA,EAAW,iBAAiB,gBAAgB,EAAmB,EAC/D,EAAW,iBAAiB,gBAAgB,EAAmB,QAClD;AAGX,IAFA,OAAO,aAAa,EAAU,EAC9B,EAAW,oBAAoB,gBAAgB,EAAmB,EAClE,EAAW,oBAAoB,gBAAgB,EAAmB;;;IAGrE,CAAC,EAAQ,YAAY,EAAQ,gBAAgB,CAAC,EAC1B,kBAAI,GAAU;EAAE,SAAS,KAAc;EAAS,UAA0B,kBAC/F,GACA;GACE,cAAc,IAAU,YAAY;GACpC,GAAG;GACH,KAAK;GACN,CACF;EAAE,CAAC;EACJ,EACE,IAA4B,EAAO,YAAY,GAAO,MAAiB;CACzE,IAAM,EAAE,eAAY,GAAG,MAAmB,GACpC,IAAU,EAAqB,GAAgB,EAAM,kBAAkB,EACvE,IAAe,EAAM,gBAAgB,cACrC,IAAoB,QAA0B,EAAK,aAAa,EAAE,IAAI,EACtE,CAAC,GAAO,KAAQ,EAAgB,UAAU;EAC9C,QAAQ,EACN,QAAQ,aACT;EACD,WAAW;GACT,YAAY;GACZ,eAAe;GAChB;EACD,aAAa;GACX,QAAQ;GACR,eAAe;GAChB;EACD,MAAM;GACJ,MAAM;GACN,QAAQ;GACR,eAAe;GAChB;EACF,CAAC;AAyBF,QAxBA,EAAO,gBAAgB;AACrB,MAAI,MAAU,QAAQ;GACpB,IAAM,IAAY,OAAO,iBAAiB,EAAK,OAAO,EAAE,EAAQ,gBAAgB;AAChF,gBAAa,OAAO,aAAa,EAAU;;IAE5C;EAAC;EAAO,EAAQ;EAAiB;EAAK,CAAC,EAC1C,EAAO,gBAAgB;EACrB,IAAM,IAAW,EAAQ,UACnB,IAAkB,IAAe,eAAe;AACtD,MAAI,GAAU;GACZ,IAAI,IAAgB,EAAS,IACvB,UAAqB;IACzB,IAAM,IAAY,EAAS;AAM3B,IALoC,MAAkB,MAEpD,EAAK,SAAS,EACd,GAAmB,GAErB,IAAgB;;AAGlB,UADA,EAAS,iBAAiB,UAAU,EAAa,QACpC,EAAS,oBAAoB,UAAU,EAAa;;IAElE;EAAC,EAAQ;EAAU;EAAc;EAAM;EAAkB,CAAC,EACtC,kBAAI,GAAU;EAAE,SAAS,KAAc,MAAU;EAAU,UAA0B,kBAC1G,GACA;GACE,cAAc,MAAU,WAAW,WAAW;GAC9C,GAAG;GACH,KAAK;GACL,gBAAgB,EAAqB,EAAM,sBAAsB,EAAK,gBAAgB,CAAC;GACvF,gBAAgB,EAAqB,EAAM,sBAAsB,EAAK,gBAAgB,CAAC;GACxF,CACF;EAAE,CAAC;EACJ,EACE,IAA0B,EAAO,YAAY,GAAO,MAAiB;CACvE,IAAM,IAAU,EAAqB,GAAgB,EAAM,kBAAkB,EACvE,EAAE,eAAY,GAAG,MAAmB,GACpC,CAAC,GAAS,KAAc,EAAO,SAAS,GAAM,EAC9C,IAAe,EAAM,gBAAgB,cACrC,IAAe,QAA0B;AAC7C,MAAI,EAAQ,UAAU;GACpB,IAAM,IAAc,EAAQ,SAAS,cAAc,EAAQ,SAAS,aAC9D,IAAc,EAAQ,SAAS,eAAe,EAAQ,SAAS;AACrE,KAAW,IAAe,IAAc,EAAY;;IAErD,GAAG;AAGN,QAFA,EAAkB,EAAQ,UAAU,EAAa,EACjD,EAAkB,EAAQ,SAAS,EAAa,EACzB,kBAAI,GAAU;EAAE,SAAS,KAAc;EAAS,UAA0B,kBAC/F,GACA;GACE,cAAc,IAAU,YAAY;GACpC,GAAG;GACH,KAAK;GACN,CACF;EAAE,CAAC;EACJ,EACE,IAA6B,EAAO,YAAY,GAAO,MAAiB;CAC1E,IAAM,EAAE,iBAAc,YAAY,GAAG,MAAmB,GAClD,IAAU,EAAqB,GAAgB,EAAM,kBAAkB,EACvE,IAAW,EAAO,OAAO,KAAK,EAC9B,IAAmB,EAAO,OAAO,EAAE,EACnC,CAAC,GAAO,KAAY,EAAO,SAAS;EACxC,SAAS;EACT,UAAU;EACV,WAAW;GAAE,MAAM;GAAG,cAAc;GAAG,YAAY;GAAG;EACvD,CAAC,EACI,IAAa,EAAc,EAAM,UAAU,EAAM,QAAQ,EACzD,IAAc;EAClB,GAAG;EACH;EACA,eAAe;EACf,UAAkB,IAAa,KAAK,IAAa;EACjD,gBAAgB,MAAU,EAAS,UAAU;EAC7C,wBAAwB,EAAiB,UAAU;EACnD,qBAAqB,MAAe,EAAiB,UAAU;EAChE;CACD,SAAS,EAAkB,GAAY,GAAK;AAC1C,SAAO,EAA6B,GAAY,EAAiB,SAAS,GAAO,EAAI;;AAgDvF,QA9CI,MAAgB,eACK,kBACrB,GACA;EACE,GAAG;EACH,KAAK;EACL,6BAA6B;AAC3B,OAAI,EAAQ,YAAY,EAAS,SAAS;IACxC,IAAM,IAAY,EAAQ,SAAS,YAC7B,IAAS,EAAyB,GAAW,GAAO,EAAQ,IAAI;AACtE,MAAS,QAAQ,MAAM,YAAY,eAAe,EAAO;;;EAG7D,gBAAgB,MAAc;AAC5B,GAAI,EAAQ,aAAU,EAAQ,SAAS,aAAa;;EAEtD,eAAe,MAAe;AAC5B,GAAI,EAAQ,aACV,EAAQ,SAAS,aAAa,EAAkB,GAAY,EAAQ,IAAI;;EAG7E,CACF,GAEC,MAAgB,aACK,kBACrB,GACA;EACE,GAAG;EACH,KAAK;EACL,6BAA6B;AAC3B,OAAI,EAAQ,YAAY,EAAS,SAAS;IACxC,IAAM,IAAY,EAAQ,SAAS,WAC7B,IAAS,EAAyB,GAAW,EAAM;AACzD,MAAS,QAAQ,MAAM,YAAY,kBAAkB,EAAO;;;EAGhE,gBAAgB,MAAc;AAC5B,GAAI,EAAQ,aAAU,EAAQ,SAAS,YAAY;;EAErD,eAAe,MAAe;AAC5B,GAAI,EAAQ,aAAU,EAAQ,SAAS,YAAY,EAAkB,EAAW;;EAEnF,CACF,GAEI;EACP,EACE,IAAuB,EAAO,YAAY,GAAO,MAAiB;CACpE,IAAM,EAAE,UAAO,kBAAe,GAAG,MAAmB,GAC9C,IAAU,EAAqB,GAAgB,EAAM,kBAAkB,EACvE,CAAC,GAAe,KAAoB,EAAO,UAAU,EACrD,IAAM,EAAO,OAAO,KAAK,EACzB,IAAc,EAAgB,GAAc,GAAK,EAAQ,mBAAmB;AAIlF,QAHA,EAAO,gBAAgB;AACrB,EAAI,EAAI,WAAS,EAAiB,iBAAiB,EAAI,QAAQ,CAAC;IAC/D,CAAC,EAAI,CAAC,EACc,kBACrB,GACA;EACE,oBAAoB;EACpB,GAAG;EACH,KAAK;EACL;EACA,OAAO;GACL,QAAQ;GACR,MAAM,EAAQ,QAAQ,QAAQ,0CAA0C;GACxE,OAAO,EAAQ,QAAQ,QAAQ,0CAA0C;GACxE,mCAAoC,EAAa,EAAM,GAAG;GAC3D,GAAG,EAAM;GACV;EACD,qBAAqB,MAAe,EAAM,mBAAmB,EAAW,EAAE;EAC1E,eAAe,MAAe,EAAM,aAAa,EAAW,EAAE;EAC9D,gBAAgB,GAAO,MAAiB;AACtC,OAAI,EAAQ,UAAU;IACpB,IAAM,IAAY,EAAQ,SAAS,aAAa,EAAM;AAEtD,IADA,EAAM,cAAc,EAAU,EAC1B,EAAiC,GAAW,EAAa,IAC3D,EAAM,gBAAgB;;;EAI5B,gBAAgB;AACd,GAAI,EAAI,WAAW,EAAQ,YAAY,KACrC,EAAc;IACZ,SAAS,EAAQ,SAAS;IAC1B,UAAU,EAAQ,SAAS;IAC3B,WAAW;KACT,MAAM,EAAI,QAAQ;KAClB,cAAc,EAAM,EAAc,YAAY;KAC9C,YAAY,EAAM,EAAc,aAAa;KAC9C;IACF,CAAC;;EAGP,CACF;EACD,EACE,IAAuB,EAAO,YAAY,GAAO,MAAiB;CACpE,IAAM,EAAE,UAAO,kBAAe,GAAG,MAAmB,GAC9C,IAAU,EAAqB,GAAgB,EAAM,kBAAkB,EACvE,CAAC,GAAe,KAAoB,EAAO,UAAU,EACrD,IAAM,EAAO,OAAO,KAAK,EACzB,IAAc,EAAgB,GAAc,GAAK,EAAQ,mBAAmB;AAIlF,QAHA,EAAO,gBAAgB;AACrB,EAAI,EAAI,WAAS,EAAiB,iBAAiB,EAAI,QAAQ,CAAC;IAC/D,CAAC,EAAI,CAAC,EACc,kBACrB,GACA;EACE,oBAAoB;EACpB,GAAG;EACH,KAAK;EACL;EACA,OAAO;GACL,KAAK;GACL,OAAO,EAAQ,QAAQ,QAAQ,IAAI,KAAK;GACxC,MAAM,EAAQ,QAAQ,QAAQ,IAAI,KAAK;GACvC,QAAQ;GACP,oCAAqC,EAAa,EAAM,GAAG;GAC5D,GAAG,EAAM;GACV;EACD,qBAAqB,MAAe,EAAM,mBAAmB,EAAW,EAAE;EAC1E,eAAe,MAAe,EAAM,aAAa,EAAW,EAAE;EAC9D,gBAAgB,GAAO,MAAiB;AACtC,OAAI,EAAQ,UAAU;IACpB,IAAM,IAAY,EAAQ,SAAS,YAAY,EAAM;AAErD,IADA,EAAM,cAAc,EAAU,EAC1B,EAAiC,GAAW,EAAa,IAC3D,EAAM,gBAAgB;;;EAI5B,gBAAgB;AACd,GAAI,EAAI,WAAW,EAAQ,YAAY,KACrC,EAAc;IACZ,SAAS,EAAQ,SAAS;IAC1B,UAAU,EAAQ,SAAS;IAC3B,WAAW;KACT,MAAM,EAAI,QAAQ;KAClB,cAAc,EAAM,EAAc,WAAW;KAC7C,YAAY,EAAM,EAAc,cAAc;KAC/C;IACF,CAAC;;EAGP,CACF;EACD,EACE,CAAC,GAAmB,KAAuB,EAAwB,EAAe,EAClF,IAA0B,EAAO,YAAY,GAAO,MAAiB;CACvE,IAAM,EACJ,sBACA,UACA,aACA,kBACA,qBACA,uBACA,0BACA,iBACA,kBACA,aACA,GAAG,MACD,GACE,IAAU,EAAqB,GAAgB,EAAkB,EACjE,CAAC,GAAW,KAAgB,EAAO,SAAS,KAAK,EACjD,IAAc,EAAgB,IAAe,MAAS,EAAa,EAAK,CAAC,EACzE,IAAU,EAAO,OAAO,KAAK,EAC7B,IAA0B,EAAO,OAAO,GAAG,EAC3C,IAAW,EAAQ,UACnB,IAAe,EAAM,UAAU,EAAM,UACrC,IAAoB,EAAe,EAAc,EACjD,IAA4B,EAAe,EAAsB,EACjE,IAAe,EAAoB,GAAU,GAAG;CACtD,SAAS,EAAiB,GAAO;AAC/B,EAAI,EAAQ,WAGV,EAAa;GAAE,GAFL,EAAM,UAAU,EAAQ,QAAQ;GAExB,GADR,EAAM,UAAU,EAAQ,QAAQ;GACrB,CAAC;;AAe1B,QAZA,EAAO,gBAAgB;EACrB,IAAM,KAAe,MAAU;GAC7B,IAAM,IAAU,EAAM;AAEtB,GADyB,GAAW,SAAS,EAAQ,IAC/B,EAAkB,GAAO,EAAa;;AAG9D,SADA,SAAS,iBAAiB,SAAS,GAAa,EAAE,SAAS,IAAO,CAAC,QACtD,SAAS,oBAAoB,SAAS,GAAa,EAAE,SAAS,IAAO,CAAC;IAClF;EAAC;EAAU;EAAW;EAAc;EAAkB,CAAC,EAC1D,EAAO,UAAU,GAA2B,CAAC,GAAO,EAA0B,CAAC,EAC/E,EAAkB,GAAW,EAAa,EAC1C,EAAkB,EAAQ,SAAS,EAAa,EACzB,kBACrB,GACA;EACE,OAAO;EACP;EACA;EACA,eAAe,EAAe,EAAc;EAC5C,kBAAkB,EAAe,EAAiB;EAClD,uBAAuB;EACvB,oBAAoB,EAAe,EAAmB;EACtD,UAA0B,kBACxB,EAAU,KACV;GACE,GAAG;GACH,KAAK;GACL,OAAO;IAAE,UAAU;IAAY,GAAG,EAAe;IAAO;GACxD,eAAe,EAAqB,EAAM,gBAAgB,MAAU;AAElE,IAAI,EAAM,WADU,MAEF,EAAM,OACd,kBAAkB,EAAM,UAAU,EAC1C,EAAQ,UAAU,EAAU,uBAAuB,EACnD,EAAwB,UAAU,SAAS,KAAK,MAAM,kBACtD,SAAS,KAAK,MAAM,mBAAmB,QACnC,EAAQ,aAAU,EAAQ,SAAS,MAAM,iBAAiB,SAC9D,EAAiB,EAAM;KAEzB;GACF,eAAe,EAAqB,EAAM,eAAe,EAAiB;GAC1E,aAAa,EAAqB,EAAM,cAAc,MAAU;IAC9D,IAAM,IAAU,EAAM;AAMtB,IALI,EAAQ,kBAAkB,EAAM,UAAU,IAC5C,EAAQ,sBAAsB,EAAM,UAAU,EAEhD,SAAS,KAAK,MAAM,mBAAmB,EAAwB,SAC3D,EAAQ,aAAU,EAAQ,SAAS,MAAM,iBAAiB,KAC9D,EAAQ,UAAU;KAClB;GACH,CACF;EACF,CACF;EACD,EACE,IAAa,mBACb,IAAkB,EAAO,YAC1B,GAAO,MAAiB;CACvB,IAAM,EAAE,eAAY,GAAG,MAAe,GAChC,IAAmB,EAAoB,GAAY,EAAM,kBAAkB;AACjF,QAAuB,kBAAI,GAAU;EAAE,SAAS,KAAc,EAAiB;EAAU,UAA0B,kBAAI,GAAqB;GAAE,KAAK;GAAc,GAAG;GAAY,CAAC;EAAE,CAAC;EAEvL,EACG,IAAsB,EAAO,YAC9B,GAAO,MAAiB;CACvB,IAAM,EAAE,sBAAmB,UAAO,GAAG,MAAe,GAC9C,IAAoB,EAAqB,GAAY,EAAkB,EACvE,IAAmB,EAAoB,GAAY,EAAkB,EACrE,EAAE,6BAA0B,GAC5B,IAAc,EAClB,IACC,MAAS,EAAiB,cAAc,EAAK,CAC/C,EACK,IAAkC,EAAO,OAAO,KAAK,EAAE,EACvD,IAAoB,QAA0B;AAClD,EAEE,EAAgC,aADhC,EAAgC,SAAS,EACC,KAAK;IAEhD,IAAI;AAiBP,QAhBA,EAAO,gBAAgB;EACrB,IAAM,IAAW,EAAkB;AACnC,MAAI,GAAU;GACZ,IAAM,UAAqB;AAEzB,IADA,GAAmB,EACd,EAAgC,YAEnC,EAAgC,UADf,EAA0B,GAAU,EAAsB,EAE3E,GAAuB;;AAK3B,UAFA,GAAuB,EACvB,EAAS,iBAAiB,UAAU,EAAa,QACpC,EAAS,oBAAoB,UAAU,EAAa;;IAElE;EAAC,EAAkB;EAAU;EAAmB;EAAsB,CAAC,EACnD,kBACrB,EAAU,KACV;EACE,cAAc,EAAiB,WAAW,YAAY;EACtD,GAAG;EACH,KAAK;EACL,OAAO;GACL,OAAO;GACP,QAAQ;GACR,GAAG;GACJ;EACD,sBAAsB,EAAqB,EAAM,uBAAuB,MAAU;GAEhF,IAAM,IADQ,EAAM,OACI,uBAAuB,EACzC,IAAI,EAAM,UAAU,EAAU,MAC9B,IAAI,EAAM,UAAU,EAAU;AACpC,KAAiB,mBAAmB;IAAE;IAAG;IAAG,CAAC;IAC7C;EACF,aAAa,EAAqB,EAAM,aAAa,EAAiB,iBAAiB;EACxF,CACF;EAEJ;AACD,EAAgB,cAAc;AAC9B,IAAI,IAAc,oBACd,IAAmB,EAAO,YAC3B,GAAO,MAAiB;CACvB,IAAM,IAAU,EAAqB,GAAa,EAAM,kBAAkB,EACpE,IAA2B,GAAQ,EAAQ,cAAc,EAAQ;AAEvE,QADkB,EAAQ,SAAS,YAAY,IACZ,kBAAI,GAAsB;EAAE,GAAG;EAAO,KAAK;EAAc,CAAC,GAAG;EAEnG;AACD,EAAiB,cAAc;AAC/B,IAAI,IAAuB,EAAO,YAAY,GAAO,MAAiB;CACpE,IAAM,EAAE,sBAAmB,GAAG,MAAgB,GACxC,IAAU,EAAqB,GAAa,EAAkB,EAC9D,CAAC,GAAO,KAAY,EAAO,SAAS,EAAE,EACtC,CAAC,GAAQ,KAAa,EAAO,SAAS,EAAE,EACxC,IAAU,GAAQ,KAAS;AAWjC,QAVA,EAAkB,EAAQ,kBAAkB;EAC1C,IAAM,IAAU,EAAQ,YAAY,gBAAgB;AAEpD,EADA,EAAQ,qBAAqB,EAAQ,EACrC,EAAU,EAAQ;GAClB,EACF,EAAkB,EAAQ,kBAAkB;EAC1C,IAAM,IAAS,EAAQ,YAAY,eAAe;AAElD,EADA,EAAQ,oBAAoB,EAAO,EACnC,EAAS,EAAO;GAChB,EACK,IAA0B,kBAC/B,EAAU,KACV;EACE,GAAG;EACH,KAAK;EACL,OAAO;GACL;GACA;GACA,UAAU;GACV,OAAO,EAAQ,QAAQ,QAAQ,IAAI,KAAK;GACxC,MAAM,EAAQ,QAAQ,QAAQ,IAAI,KAAK;GACvC,QAAQ;GACR,GAAG,EAAM;GACV;EACF,CACF,GAAG;EACJ;AACF,SAAS,EAAM,GAAO;AACpB,QAAO,IAAQ,SAAS,GAAO,GAAG,GAAG;;AAEvC,SAAS,EAAc,GAAc,GAAa;CAChD,IAAM,IAAQ,IAAe;AAC7B,QAAO,MAAM,EAAM,GAAG,IAAI;;AAE5B,SAAS,EAAa,GAAO;CAC3B,IAAM,IAAQ,EAAc,EAAM,UAAU,EAAM,QAAQ,EACpD,IAAmB,EAAM,UAAU,eAAe,EAAM,UAAU,YAClE,KAAa,EAAM,UAAU,OAAO,KAAoB;AAC9D,QAAO,KAAK,IAAI,GAAW,GAAG;;AAEhC,SAAS,EAA6B,GAAY,GAAe,GAAO,IAAM,OAAO;CACnF,IAAM,IAAc,EAAa,EAAM,EACjC,IAAc,IAAc,GAC5B,IAAS,KAAiB,GAC1B,IAAqB,IAAc,GACnC,IAAgB,EAAM,UAAU,eAAe,GAC/C,IAAgB,EAAM,UAAU,OAAO,EAAM,UAAU,aAAa,GACpE,IAAe,EAAM,UAAU,EAAM,UACrC,IAAc,MAAQ,QAAQ,CAAC,GAAG,EAAa,GAAG,CAAC,IAAe,IAAI,EAAE;AAE9E,QADoB,EAAY,CAAC,GAAe,EAAc,EAAE,EAAY,CACzD,EAAW;;AAEhC,SAAS,EAAyB,GAAW,GAAO,IAAM,OAAO;CAC/D,IAAM,IAAc,EAAa,EAAM,EACjC,IAAmB,EAAM,UAAU,eAAe,EAAM,UAAU,YAClE,IAAY,EAAM,UAAU,OAAO,GACnC,IAAe,EAAM,UAAU,EAAM,UACrC,IAAc,IAAY,GAE1B,IAAwB,EAAM,GADX,MAAQ,QAAQ,CAAC,GAAG,EAAa,GAAG,CAAC,IAAe,IAAI,EAAE,CACnB;AAEhE,QADoB,EAAY,CAAC,GAAG,EAAa,EAAE,CAAC,GAAG,EAAY,CAAC,CACjD,EAAsB;;AAE3C,SAAS,EAAY,GAAO,GAAQ;AAClC,SAAQ,MAAU;AAChB,MAAI,EAAM,OAAO,EAAM,MAAM,EAAO,OAAO,EAAO,GAAI,QAAO,EAAO;EACpE,IAAM,KAAS,EAAO,KAAK,EAAO,OAAO,EAAM,KAAK,EAAM;AAC1D,SAAO,EAAO,KAAK,KAAS,IAAQ,EAAM;;;AAG9C,SAAS,EAAiC,GAAW,GAAc;AACjE,QAAO,IAAY,KAAK,IAAY;;AAEtC,IAAI,KAA6B,GAAM,UAAgB,OACjD;CACJ,IAAI,IAAe;EAAE,MAAM,EAAK;EAAY,KAAK,EAAK;EAAW,EAC7D,IAAM;AASV,SARC,SAAS,IAAO;EACf,IAAM,IAAW;GAAE,MAAM,EAAK;GAAY,KAAK,EAAK;GAAW,EACzD,IAAqB,EAAa,SAAS,EAAS,MACpD,IAAmB,EAAa,QAAQ,EAAS;AAGvD,GAFI,KAAsB,MAAkB,GAAS,EACrD,IAAe,GACf,IAAM,OAAO,sBAAsB,EAAK;KACtC,QACS,OAAO,qBAAqB,EAAI;;AAE/C,SAAS,EAAoB,GAAU,GAAO;CAC5C,IAAM,IAAiB,EAAe,EAAS,EACzC,IAAmB,EAAO,OAAO,EAAE;AAEzC,QADA,EAAO,sBAAsB,OAAO,aAAa,EAAiB,QAAQ,EAAE,EAAE,CAAC,EACxE,EAAO,kBAAkB;AAE9B,EADA,OAAO,aAAa,EAAiB,QAAQ,EAC7C,EAAiB,UAAU,OAAO,WAAW,GAAgB,EAAM;IAClE,CAAC,GAAgB,EAAM,CAAC;;AAE7B,SAAS,EAAkB,GAAS,GAAU;CAC5C,IAAM,IAAe,EAAe,EAAS;AAC7C,SAAsB;EACpB,IAAI,IAAM;AACV,MAAI,GAAS;GACX,IAAM,IAAiB,IAAI,qBAAqB;AAE9C,IADA,qBAAqB,EAAI,EACzB,IAAM,OAAO,sBAAsB,EAAa;KAChD;AAEF,UADA,EAAe,QAAQ,EAAQ,QAClB;AAEX,IADA,OAAO,qBAAqB,EAAI,EAChC,EAAe,UAAU,EAAQ;;;IAGpC,CAAC,GAAS,EAAa,CAAC;;AAE7B,IAAI,IAAOA,GACP,IAAW,GAGX,IAAS;;;AC/sBb,SAAS,GAAW,EAClB,cACA,aACA,GAAG,KACqD;AACxD,QACE,kBAAC,GAAD;EACE,aAAU;EACV,WAAW,EAAG,4BAA4B,EAAU;EACpD,GAAI;YAHN;GAKE,kBAAC,GAAD;IACE,aAAU;IACV,WAAU;IAET;IAC4B,CAAA;GAC/B,kBAAC,GAAD,EAAa,CAAA;GACb,kBAAC,GAAD,EAA8B,CAAA;GACL;;;AAI/B,SAAS,EAAU,EACjB,cACA,iBAAc,YACd,GAAG,KACoE;AACvE,QACE,kBAAC,GAAD;EACE,aAAU;EACG;EACb,WAAW,EACT,iDACA,MAAgB,cAAc,mDAC9B,MAAgB,gBAAgB,qDAChC,EACD;EACD,GAAI;YAEJ,kBAAC,GAAD;GACE,aAAU;GACV,WAAU;GACV,CAAA;EACsC,CAAA"}
1
+ {"version":3,"file":"scroll-area-C_oeG0js.js","names":["React","ScrollArea"],"sources":["../node_modules/@radix-ui/react-scroll-area/dist/index.mjs","../src/react/primitives/scroll-area.tsx"],"sourcesContent":["\"use client\";\n\n// src/scroll-area.tsx\nimport * as React2 from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { clamp } from \"@radix-ui/number\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\n\n// src/use-state-machine.ts\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/scroll-area.tsx\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar SCROLL_AREA_NAME = \"ScrollArea\";\nvar [createScrollAreaContext, createScrollAreaScope] = createContextScope(SCROLL_AREA_NAME);\nvar [ScrollAreaProvider, useScrollAreaContext] = createScrollAreaContext(SCROLL_AREA_NAME);\nvar ScrollArea = React2.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeScrollArea,\n type = \"hover\",\n dir,\n scrollHideDelay = 600,\n ...scrollAreaProps\n } = props;\n const [scrollArea, setScrollArea] = React2.useState(null);\n const [viewport, setViewport] = React2.useState(null);\n const [content, setContent] = React2.useState(null);\n const [scrollbarX, setScrollbarX] = React2.useState(null);\n const [scrollbarY, setScrollbarY] = React2.useState(null);\n const [cornerWidth, setCornerWidth] = React2.useState(0);\n const [cornerHeight, setCornerHeight] = React2.useState(0);\n const [scrollbarXEnabled, setScrollbarXEnabled] = React2.useState(false);\n const [scrollbarYEnabled, setScrollbarYEnabled] = React2.useState(false);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setScrollArea(node));\n const direction = useDirection(dir);\n return /* @__PURE__ */ jsx(\n ScrollAreaProvider,\n {\n scope: __scopeScrollArea,\n type,\n dir: direction,\n scrollHideDelay,\n scrollArea,\n viewport,\n onViewportChange: setViewport,\n content,\n onContentChange: setContent,\n scrollbarX,\n onScrollbarXChange: setScrollbarX,\n scrollbarXEnabled,\n onScrollbarXEnabledChange: setScrollbarXEnabled,\n scrollbarY,\n onScrollbarYChange: setScrollbarY,\n scrollbarYEnabled,\n onScrollbarYEnabledChange: setScrollbarYEnabled,\n onCornerWidthChange: setCornerWidth,\n onCornerHeightChange: setCornerHeight,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n dir: direction,\n ...scrollAreaProps,\n ref: composedRefs,\n style: {\n position: \"relative\",\n // Pass corner sizes as CSS vars to reduce re-renders of context consumers\n [\"--radix-scroll-area-corner-width\"]: cornerWidth + \"px\",\n [\"--radix-scroll-area-corner-height\"]: cornerHeight + \"px\",\n ...props.style\n }\n }\n )\n }\n );\n }\n);\nScrollArea.displayName = SCROLL_AREA_NAME;\nvar VIEWPORT_NAME = \"ScrollAreaViewport\";\nvar ScrollAreaViewport = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, children, nonce, ...viewportProps } = props;\n const context = useScrollAreaContext(VIEWPORT_NAME, __scopeScrollArea);\n const ref = React2.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onViewportChange);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(\n \"style\",\n {\n dangerouslySetInnerHTML: {\n __html: `[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}`\n },\n nonce\n }\n ),\n /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-radix-scroll-area-viewport\": \"\",\n ...viewportProps,\n ref: composedRefs,\n style: {\n /**\n * We don't support `visible` because the intention is to have at least one scrollbar\n * if this component is used and `visible` will behave like `auto` in that case\n * https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#description\n *\n * We don't handle `auto` because the intention is for the native implementation\n * to be hidden if using this component. We just want to ensure the node is scrollable\n * so could have used either `scroll` or `auto` here. We picked `scroll` to prevent\n * the browser from having to work out whether to render native scrollbars or not,\n * we tell it to with the intention of hiding them in CSS.\n */\n overflowX: context.scrollbarXEnabled ? \"scroll\" : \"hidden\",\n overflowY: context.scrollbarYEnabled ? \"scroll\" : \"hidden\",\n ...props.style\n },\n children: /* @__PURE__ */ jsx(\"div\", { ref: context.onContentChange, style: { minWidth: \"100%\", display: \"table\" }, children })\n }\n )\n ] });\n }\n);\nScrollAreaViewport.displayName = VIEWPORT_NAME;\nvar SCROLLBAR_NAME = \"ScrollAreaScrollbar\";\nvar ScrollAreaScrollbar = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { onScrollbarXEnabledChange, onScrollbarYEnabledChange } = context;\n const isHorizontal = props.orientation === \"horizontal\";\n React2.useEffect(() => {\n isHorizontal ? onScrollbarXEnabledChange(true) : onScrollbarYEnabledChange(true);\n return () => {\n isHorizontal ? onScrollbarXEnabledChange(false) : onScrollbarYEnabledChange(false);\n };\n }, [isHorizontal, onScrollbarXEnabledChange, onScrollbarYEnabledChange]);\n return context.type === \"hover\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarHover, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"scroll\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarScroll, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"auto\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarAuto, { ...scrollbarProps, ref: forwardedRef, forceMount }) : context.type === \"always\" ? /* @__PURE__ */ jsx(ScrollAreaScrollbarVisible, { ...scrollbarProps, ref: forwardedRef }) : null;\n }\n);\nScrollAreaScrollbar.displayName = SCROLLBAR_NAME;\nvar ScrollAreaScrollbarHover = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [visible, setVisible] = React2.useState(false);\n React2.useEffect(() => {\n const scrollArea = context.scrollArea;\n let hideTimer = 0;\n if (scrollArea) {\n const handlePointerEnter = () => {\n window.clearTimeout(hideTimer);\n setVisible(true);\n };\n const handlePointerLeave = () => {\n hideTimer = window.setTimeout(() => setVisible(false), context.scrollHideDelay);\n };\n scrollArea.addEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.addEventListener(\"pointerleave\", handlePointerLeave);\n return () => {\n window.clearTimeout(hideTimer);\n scrollArea.removeEventListener(\"pointerenter\", handlePointerEnter);\n scrollArea.removeEventListener(\"pointerleave\", handlePointerLeave);\n };\n }\n }, [context.scrollArea, context.scrollHideDelay]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarAuto,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarScroll = React2.forwardRef((props, forwardedRef) => {\n const { forceMount, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const isHorizontal = props.orientation === \"horizontal\";\n const debounceScrollEnd = useDebounceCallback(() => send(\"SCROLL_END\"), 100);\n const [state, send] = useStateMachine(\"hidden\", {\n hidden: {\n SCROLL: \"scrolling\"\n },\n scrolling: {\n SCROLL_END: \"idle\",\n POINTER_ENTER: \"interacting\"\n },\n interacting: {\n SCROLL: \"interacting\",\n POINTER_LEAVE: \"idle\"\n },\n idle: {\n HIDE: \"hidden\",\n SCROLL: \"scrolling\",\n POINTER_ENTER: \"interacting\"\n }\n });\n React2.useEffect(() => {\n if (state === \"idle\") {\n const hideTimer = window.setTimeout(() => send(\"HIDE\"), context.scrollHideDelay);\n return () => window.clearTimeout(hideTimer);\n }\n }, [state, context.scrollHideDelay, send]);\n React2.useEffect(() => {\n const viewport = context.viewport;\n const scrollDirection = isHorizontal ? \"scrollLeft\" : \"scrollTop\";\n if (viewport) {\n let prevScrollPos = viewport[scrollDirection];\n const handleScroll = () => {\n const scrollPos = viewport[scrollDirection];\n const hasScrollInDirectionChanged = prevScrollPos !== scrollPos;\n if (hasScrollInDirectionChanged) {\n send(\"SCROLL\");\n debounceScrollEnd();\n }\n prevScrollPos = scrollPos;\n };\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [context.viewport, isHorizontal, send, debounceScrollEnd]);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || state !== \"hidden\", children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": state === \"hidden\" ? \"hidden\" : \"visible\",\n ...scrollbarProps,\n ref: forwardedRef,\n onPointerEnter: composeEventHandlers(props.onPointerEnter, () => send(\"POINTER_ENTER\")),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => send(\"POINTER_LEAVE\"))\n }\n ) });\n});\nvar ScrollAreaScrollbarAuto = React2.forwardRef((props, forwardedRef) => {\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const { forceMount, ...scrollbarProps } = props;\n const [visible, setVisible] = React2.useState(false);\n const isHorizontal = props.orientation === \"horizontal\";\n const handleResize = useDebounceCallback(() => {\n if (context.viewport) {\n const isOverflowX = context.viewport.offsetWidth < context.viewport.scrollWidth;\n const isOverflowY = context.viewport.offsetHeight < context.viewport.scrollHeight;\n setVisible(isHorizontal ? isOverflowX : isOverflowY);\n }\n }, 10);\n useResizeObserver(context.viewport, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || visible, children: /* @__PURE__ */ jsx(\n ScrollAreaScrollbarVisible,\n {\n \"data-state\": visible ? \"visible\" : \"hidden\",\n ...scrollbarProps,\n ref: forwardedRef\n }\n ) });\n});\nvar ScrollAreaScrollbarVisible = React2.forwardRef((props, forwardedRef) => {\n const { orientation = \"vertical\", ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const thumbRef = React2.useRef(null);\n const pointerOffsetRef = React2.useRef(0);\n const [sizes, setSizes] = React2.useState({\n content: 0,\n viewport: 0,\n scrollbar: { size: 0, paddingStart: 0, paddingEnd: 0 }\n });\n const thumbRatio = getThumbRatio(sizes.viewport, sizes.content);\n const commonProps = {\n ...scrollbarProps,\n sizes,\n onSizesChange: setSizes,\n hasThumb: Boolean(thumbRatio > 0 && thumbRatio < 1),\n onThumbChange: (thumb) => thumbRef.current = thumb,\n onThumbPointerUp: () => pointerOffsetRef.current = 0,\n onThumbPointerDown: (pointerPos) => pointerOffsetRef.current = pointerPos\n };\n function getScrollPosition(pointerPos, dir) {\n return getScrollPositionFromPointer(pointerPos, pointerOffsetRef.current, sizes, dir);\n }\n if (orientation === \"horizontal\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarX,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollLeft;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes, context.dir);\n thumbRef.current.style.transform = `translate3d(${offset}px, 0, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollLeft = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) {\n context.viewport.scrollLeft = getScrollPosition(pointerPos, context.dir);\n }\n }\n }\n );\n }\n if (orientation === \"vertical\") {\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarY,\n {\n ...commonProps,\n ref: forwardedRef,\n onThumbPositionChange: () => {\n if (context.viewport && thumbRef.current) {\n const scrollPos = context.viewport.scrollTop;\n const offset = getThumbOffsetFromScroll(scrollPos, sizes);\n thumbRef.current.style.transform = `translate3d(0, ${offset}px, 0)`;\n }\n },\n onWheelScroll: (scrollPos) => {\n if (context.viewport) context.viewport.scrollTop = scrollPos;\n },\n onDragScroll: (pointerPos) => {\n if (context.viewport) context.viewport.scrollTop = getScrollPosition(pointerPos);\n }\n }\n );\n }\n return null;\n});\nvar ScrollAreaScrollbarX = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarXChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"horizontal\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n bottom: 0,\n left: context.dir === \"rtl\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n right: context.dir === \"ltr\" ? \"var(--radix-scroll-area-corner-width)\" : 0,\n [\"--radix-scroll-area-thumb-width\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.x),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.x),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollLeft + event.deltaX;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollWidth,\n viewport: context.viewport.offsetWidth,\n scrollbar: {\n size: ref.current.clientWidth,\n paddingStart: toInt(computedStyle.paddingLeft),\n paddingEnd: toInt(computedStyle.paddingRight)\n }\n });\n }\n }\n }\n );\n});\nvar ScrollAreaScrollbarY = React2.forwardRef((props, forwardedRef) => {\n const { sizes, onSizesChange, ...scrollbarProps } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, props.__scopeScrollArea);\n const [computedStyle, setComputedStyle] = React2.useState();\n const ref = React2.useRef(null);\n const composeRefs = useComposedRefs(forwardedRef, ref, context.onScrollbarYChange);\n React2.useEffect(() => {\n if (ref.current) setComputedStyle(getComputedStyle(ref.current));\n }, [ref]);\n return /* @__PURE__ */ jsx(\n ScrollAreaScrollbarImpl,\n {\n \"data-orientation\": \"vertical\",\n ...scrollbarProps,\n ref: composeRefs,\n sizes,\n style: {\n top: 0,\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: \"var(--radix-scroll-area-corner-height)\",\n [\"--radix-scroll-area-thumb-height\"]: getThumbSize(sizes) + \"px\",\n ...props.style\n },\n onThumbPointerDown: (pointerPos) => props.onThumbPointerDown(pointerPos.y),\n onDragScroll: (pointerPos) => props.onDragScroll(pointerPos.y),\n onWheelScroll: (event, maxScrollPos) => {\n if (context.viewport) {\n const scrollPos = context.viewport.scrollTop + event.deltaY;\n props.onWheelScroll(scrollPos);\n if (isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos)) {\n event.preventDefault();\n }\n }\n },\n onResize: () => {\n if (ref.current && context.viewport && computedStyle) {\n onSizesChange({\n content: context.viewport.scrollHeight,\n viewport: context.viewport.offsetHeight,\n scrollbar: {\n size: ref.current.clientHeight,\n paddingStart: toInt(computedStyle.paddingTop),\n paddingEnd: toInt(computedStyle.paddingBottom)\n }\n });\n }\n }\n }\n );\n});\nvar [ScrollbarProvider, useScrollbarContext] = createScrollAreaContext(SCROLLBAR_NAME);\nvar ScrollAreaScrollbarImpl = React2.forwardRef((props, forwardedRef) => {\n const {\n __scopeScrollArea,\n sizes,\n hasThumb,\n onThumbChange,\n onThumbPointerUp,\n onThumbPointerDown,\n onThumbPositionChange,\n onDragScroll,\n onWheelScroll,\n onResize,\n ...scrollbarProps\n } = props;\n const context = useScrollAreaContext(SCROLLBAR_NAME, __scopeScrollArea);\n const [scrollbar, setScrollbar] = React2.useState(null);\n const composeRefs = useComposedRefs(forwardedRef, (node) => setScrollbar(node));\n const rectRef = React2.useRef(null);\n const prevWebkitUserSelectRef = React2.useRef(\"\");\n const viewport = context.viewport;\n const maxScrollPos = sizes.content - sizes.viewport;\n const handleWheelScroll = useCallbackRef(onWheelScroll);\n const handleThumbPositionChange = useCallbackRef(onThumbPositionChange);\n const handleResize = useDebounceCallback(onResize, 10);\n function handleDragScroll(event) {\n if (rectRef.current) {\n const x = event.clientX - rectRef.current.left;\n const y = event.clientY - rectRef.current.top;\n onDragScroll({ x, y });\n }\n }\n React2.useEffect(() => {\n const handleWheel = (event) => {\n const element = event.target;\n const isScrollbarWheel = scrollbar?.contains(element);\n if (isScrollbarWheel) handleWheelScroll(event, maxScrollPos);\n };\n document.addEventListener(\"wheel\", handleWheel, { passive: false });\n return () => document.removeEventListener(\"wheel\", handleWheel, { passive: false });\n }, [viewport, scrollbar, maxScrollPos, handleWheelScroll]);\n React2.useEffect(handleThumbPositionChange, [sizes, handleThumbPositionChange]);\n useResizeObserver(scrollbar, handleResize);\n useResizeObserver(context.content, handleResize);\n return /* @__PURE__ */ jsx(\n ScrollbarProvider,\n {\n scope: __scopeScrollArea,\n scrollbar,\n hasThumb,\n onThumbChange: useCallbackRef(onThumbChange),\n onThumbPointerUp: useCallbackRef(onThumbPointerUp),\n onThumbPositionChange: handleThumbPositionChange,\n onThumbPointerDown: useCallbackRef(onThumbPointerDown),\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...scrollbarProps,\n ref: composeRefs,\n style: { position: \"absolute\", ...scrollbarProps.style },\n onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n const mainPointer = 0;\n if (event.button === mainPointer) {\n const element = event.target;\n element.setPointerCapture(event.pointerId);\n rectRef.current = scrollbar.getBoundingClientRect();\n prevWebkitUserSelectRef.current = document.body.style.webkitUserSelect;\n document.body.style.webkitUserSelect = \"none\";\n if (context.viewport) context.viewport.style.scrollBehavior = \"auto\";\n handleDragScroll(event);\n }\n }),\n onPointerMove: composeEventHandlers(props.onPointerMove, handleDragScroll),\n onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n const element = event.target;\n if (element.hasPointerCapture(event.pointerId)) {\n element.releasePointerCapture(event.pointerId);\n }\n document.body.style.webkitUserSelect = prevWebkitUserSelectRef.current;\n if (context.viewport) context.viewport.style.scrollBehavior = \"\";\n rectRef.current = null;\n })\n }\n )\n }\n );\n});\nvar THUMB_NAME = \"ScrollAreaThumb\";\nvar ScrollAreaThumb = React2.forwardRef(\n (props, forwardedRef) => {\n const { forceMount, ...thumbProps } = props;\n const scrollbarContext = useScrollbarContext(THUMB_NAME, props.__scopeScrollArea);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || scrollbarContext.hasThumb, children: /* @__PURE__ */ jsx(ScrollAreaThumbImpl, { ref: forwardedRef, ...thumbProps }) });\n }\n);\nvar ScrollAreaThumbImpl = React2.forwardRef(\n (props, forwardedRef) => {\n const { __scopeScrollArea, style, ...thumbProps } = props;\n const scrollAreaContext = useScrollAreaContext(THUMB_NAME, __scopeScrollArea);\n const scrollbarContext = useScrollbarContext(THUMB_NAME, __scopeScrollArea);\n const { onThumbPositionChange } = scrollbarContext;\n const composedRef = useComposedRefs(\n forwardedRef,\n (node) => scrollbarContext.onThumbChange(node)\n );\n const removeUnlinkedScrollListenerRef = React2.useRef(void 0);\n const debounceScrollEnd = useDebounceCallback(() => {\n if (removeUnlinkedScrollListenerRef.current) {\n removeUnlinkedScrollListenerRef.current();\n removeUnlinkedScrollListenerRef.current = void 0;\n }\n }, 100);\n React2.useEffect(() => {\n const viewport = scrollAreaContext.viewport;\n if (viewport) {\n const handleScroll = () => {\n debounceScrollEnd();\n if (!removeUnlinkedScrollListenerRef.current) {\n const listener = addUnlinkedScrollListener(viewport, onThumbPositionChange);\n removeUnlinkedScrollListenerRef.current = listener;\n onThumbPositionChange();\n }\n };\n onThumbPositionChange();\n viewport.addEventListener(\"scroll\", handleScroll);\n return () => viewport.removeEventListener(\"scroll\", handleScroll);\n }\n }, [scrollAreaContext.viewport, debounceScrollEnd, onThumbPositionChange]);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": scrollbarContext.hasThumb ? \"visible\" : \"hidden\",\n ...thumbProps,\n ref: composedRef,\n style: {\n width: \"var(--radix-scroll-area-thumb-width)\",\n height: \"var(--radix-scroll-area-thumb-height)\",\n ...style\n },\n onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, (event) => {\n const thumb = event.target;\n const thumbRect = thumb.getBoundingClientRect();\n const x = event.clientX - thumbRect.left;\n const y = event.clientY - thumbRect.top;\n scrollbarContext.onThumbPointerDown({ x, y });\n }),\n onPointerUp: composeEventHandlers(props.onPointerUp, scrollbarContext.onThumbPointerUp)\n }\n );\n }\n);\nScrollAreaThumb.displayName = THUMB_NAME;\nvar CORNER_NAME = \"ScrollAreaCorner\";\nvar ScrollAreaCorner = React2.forwardRef(\n (props, forwardedRef) => {\n const context = useScrollAreaContext(CORNER_NAME, props.__scopeScrollArea);\n const hasBothScrollbarsVisible = Boolean(context.scrollbarX && context.scrollbarY);\n const hasCorner = context.type !== \"scroll\" && hasBothScrollbarsVisible;\n return hasCorner ? /* @__PURE__ */ jsx(ScrollAreaCornerImpl, { ...props, ref: forwardedRef }) : null;\n }\n);\nScrollAreaCorner.displayName = CORNER_NAME;\nvar ScrollAreaCornerImpl = React2.forwardRef((props, forwardedRef) => {\n const { __scopeScrollArea, ...cornerProps } = props;\n const context = useScrollAreaContext(CORNER_NAME, __scopeScrollArea);\n const [width, setWidth] = React2.useState(0);\n const [height, setHeight] = React2.useState(0);\n const hasSize = Boolean(width && height);\n useResizeObserver(context.scrollbarX, () => {\n const height2 = context.scrollbarX?.offsetHeight || 0;\n context.onCornerHeightChange(height2);\n setHeight(height2);\n });\n useResizeObserver(context.scrollbarY, () => {\n const width2 = context.scrollbarY?.offsetWidth || 0;\n context.onCornerWidthChange(width2);\n setWidth(width2);\n });\n return hasSize ? /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...cornerProps,\n ref: forwardedRef,\n style: {\n width,\n height,\n position: \"absolute\",\n right: context.dir === \"ltr\" ? 0 : void 0,\n left: context.dir === \"rtl\" ? 0 : void 0,\n bottom: 0,\n ...props.style\n }\n }\n ) : null;\n});\nfunction toInt(value) {\n return value ? parseInt(value, 10) : 0;\n}\nfunction getThumbRatio(viewportSize, contentSize) {\n const ratio = viewportSize / contentSize;\n return isNaN(ratio) ? 0 : ratio;\n}\nfunction getThumbSize(sizes) {\n const ratio = getThumbRatio(sizes.viewport, sizes.content);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const thumbSize = (sizes.scrollbar.size - scrollbarPadding) * ratio;\n return Math.max(thumbSize, 18);\n}\nfunction getScrollPositionFromPointer(pointerPos, pointerOffset, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const thumbCenter = thumbSizePx / 2;\n const offset = pointerOffset || thumbCenter;\n const thumbOffsetFromEnd = thumbSizePx - offset;\n const minPointerPos = sizes.scrollbar.paddingStart + offset;\n const maxPointerPos = sizes.scrollbar.size - sizes.scrollbar.paddingEnd - thumbOffsetFromEnd;\n const maxScrollPos = sizes.content - sizes.viewport;\n const scrollRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const interpolate = linearScale([minPointerPos, maxPointerPos], scrollRange);\n return interpolate(pointerPos);\n}\nfunction getThumbOffsetFromScroll(scrollPos, sizes, dir = \"ltr\") {\n const thumbSizePx = getThumbSize(sizes);\n const scrollbarPadding = sizes.scrollbar.paddingStart + sizes.scrollbar.paddingEnd;\n const scrollbar = sizes.scrollbar.size - scrollbarPadding;\n const maxScrollPos = sizes.content - sizes.viewport;\n const maxThumbPos = scrollbar - thumbSizePx;\n const scrollClampRange = dir === \"ltr\" ? [0, maxScrollPos] : [maxScrollPos * -1, 0];\n const scrollWithoutMomentum = clamp(scrollPos, scrollClampRange);\n const interpolate = linearScale([0, maxScrollPos], [0, maxThumbPos]);\n return interpolate(scrollWithoutMomentum);\n}\nfunction linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\nfunction isScrollingWithinScrollbarBounds(scrollPos, maxScrollPos) {\n return scrollPos > 0 && scrollPos < maxScrollPos;\n}\nvar addUnlinkedScrollListener = (node, handler = () => {\n}) => {\n let prevPosition = { left: node.scrollLeft, top: node.scrollTop };\n let rAF = 0;\n (function loop() {\n const position = { left: node.scrollLeft, top: node.scrollTop };\n const isHorizontalScroll = prevPosition.left !== position.left;\n const isVerticalScroll = prevPosition.top !== position.top;\n if (isHorizontalScroll || isVerticalScroll) handler();\n prevPosition = position;\n rAF = window.requestAnimationFrame(loop);\n })();\n return () => window.cancelAnimationFrame(rAF);\n};\nfunction useDebounceCallback(callback, delay) {\n const handleCallback = useCallbackRef(callback);\n const debounceTimerRef = React2.useRef(0);\n React2.useEffect(() => () => window.clearTimeout(debounceTimerRef.current), []);\n return React2.useCallback(() => {\n window.clearTimeout(debounceTimerRef.current);\n debounceTimerRef.current = window.setTimeout(handleCallback, delay);\n }, [handleCallback, delay]);\n}\nfunction useResizeObserver(element, onResize) {\n const handleResize = useCallbackRef(onResize);\n useLayoutEffect(() => {\n let rAF = 0;\n if (element) {\n const resizeObserver = new ResizeObserver(() => {\n cancelAnimationFrame(rAF);\n rAF = window.requestAnimationFrame(handleResize);\n });\n resizeObserver.observe(element);\n return () => {\n window.cancelAnimationFrame(rAF);\n resizeObserver.unobserve(element);\n };\n }\n }, [element, handleResize]);\n}\nvar Root = ScrollArea;\nvar Viewport = ScrollAreaViewport;\nvar Scrollbar = ScrollAreaScrollbar;\nvar Thumb = ScrollAreaThumb;\nvar Corner = ScrollAreaCorner;\nexport {\n Corner,\n Root,\n ScrollArea,\n ScrollAreaCorner,\n ScrollAreaScrollbar,\n ScrollAreaThumb,\n ScrollAreaViewport,\n Scrollbar,\n Thumb,\n Viewport,\n createScrollAreaScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from 'react'\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area'\n\nimport { cn } from './utils'\n\nfunction ScrollArea({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={cn('relative overflow-hidden', className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className=\"h-full w-full rounded-[inherit] [&>div]:!block\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n )\n}\n\nfunction ScrollBar({\n className,\n orientation = 'vertical',\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation={orientation}\n className={cn(\n 'flex touch-none select-none transition-colors',\n orientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent p-px',\n orientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent p-px',\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot=\"scroll-area-thumb\"\n className=\"bg-border-glass relative flex-1 rounded-full\"\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n )\n}\n\nexport { ScrollArea, ScrollBar }\n"],"x_google_ignoreList":[0],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { t as e } from "./createLucideIcon-wKpAnzBe.js";
1
+ import { t as e } from "./createLucideIcon-Cfb5CZJx.js";
2
2
  var t = e("search", [["path", {
3
3
  d: "m21 21-4.34-4.34",
4
4
  key: "14j7rj"
@@ -11,4 +11,4 @@ var t = e("search", [["path", {
11
11
  //#endregion
12
12
  export { t };
13
13
 
14
- //# sourceMappingURL=search-CrxnZfZ5.js.map
14
+ //# sourceMappingURL=search-Cu20LdaQ.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-CrxnZfZ5.js","names":[],"sources":["../node_modules/lucide-react/dist/esm/icons/search.js"],"sourcesContent":["/**\n * @license lucide-react v1.6.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"m21 21-4.34-4.34\", key: \"14j7rj\" }],\n [\"circle\", { cx: \"11\", cy: \"11\", r: \"8\", key: \"4ej97u\" }]\n];\nconst Search = createLucideIcon(\"search\", __iconNode);\n\nexport { __iconNode, Search as default };\n//# sourceMappingURL=search.js.map\n"],"x_google_ignoreList":[0],"mappings":";AAaA,IAAM,IAAS,EAAiB,UAJb,CACjB,CAAC,QAAQ;CAAE,GAAG;CAAoB,KAAK;CAAU,CAAC,EAClD,CAAC,UAAU;CAAE,IAAI;CAAM,IAAI;CAAM,GAAG;CAAK,KAAK;CAAU,CAAC,CAC1D,CACoD"}
1
+ {"version":3,"file":"search-Cu20LdaQ.js","names":[],"sources":["../node_modules/lucide-react/dist/esm/icons/search.js"],"sourcesContent":["/**\n * @license lucide-react v1.6.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst __iconNode = [\n [\"path\", { d: \"m21 21-4.34-4.34\", key: \"14j7rj\" }],\n [\"circle\", { cx: \"11\", cy: \"11\", r: \"8\", key: \"4ej97u\" }]\n];\nconst Search = createLucideIcon(\"search\", __iconNode);\n\nexport { __iconNode, Search as default };\n//# sourceMappingURL=search.js.map\n"],"x_google_ignoreList":[0],"mappings":";AAaA,IAAM,IAAS,EAAiB,UAJb,CACjB,CAAC,QAAQ;CAAE,GAAG;CAAoB,KAAK;CAAU,CAAC,EAClD,CAAC,UAAU;CAAE,IAAI;CAAM,IAAI;CAAM,GAAG;CAAK,KAAK;CAAU,CAAC,CAC1D,CACoD"}
@@ -2,6 +2,8 @@
2
2
  * Security - Security-specific components
3
3
  * @countermeasure/web-components/security
4
4
  */
5
+ export { MITRE_TACTICS, TACTIC_SHORT_NAMES, TACTIC_IDS_BY_NAME } from './mitre-data';
6
+ export type { MitreTacticDef } from './mitre-data';
5
7
  export { CvssBadge } from './cvss-badge/index';
6
8
  export type { CvssBadgeConfig } from './cvss-badge/types';
7
9
  export { VulnerabilityCard } from './vulnerability-card/index';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAG5F,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGvE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAG7E,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/security/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACpF,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAGlD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,YAAY,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAGzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAC9D,YAAY,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAA;AAG5F,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAGvE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAG7E,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA"}
@@ -1,6 +1,7 @@
1
- import { CvssBadge as e } from "./cvss-badge/index.js";
2
- import { VulnerabilityCard as t } from "./vulnerability-card/index.js";
3
- import { AttackPath as n } from "./attack-path/index.js";
4
- import { MitreMatrix as r } from "./mitre-matrix/index.js";
5
- import { DetectionStatus as i } from "./detection-status/index.js";
6
- export { n as AttackPath, e as CvssBadge, i as DetectionStatus, r as MitreMatrix, t as VulnerabilityCard };
1
+ import { n as e, r as t, t as n } from "../security-AzmGrY2-.js";
2
+ import { CvssBadge as r } from "./cvss-badge/index.js";
3
+ import { VulnerabilityCard as i } from "./vulnerability-card/index.js";
4
+ import { AttackPath as a } from "./attack-path/index.js";
5
+ import { MitreMatrix as o } from "./mitre-matrix/index.js";
6
+ import { DetectionStatus as s } from "./detection-status/index.js";
7
+ export { a as AttackPath, r as CvssBadge, s as DetectionStatus, n as MITRE_TACTICS, o as MitreMatrix, e as TACTIC_IDS_BY_NAME, t as TACTIC_SHORT_NAMES, i as VulnerabilityCard };
@@ -0,0 +1,38 @@
1
+ /**
2
+ * MITRE ATT&CK Reference Data
3
+ *
4
+ * Shared constants for all 14 ATT&CK Enterprise tactics.
5
+ * Canonical source of tactic IDs, names, and abbreviations
6
+ * consumed by tenant-ui, threat-library, and web-components.
7
+ *
8
+ * @countermeasure/web-components/security/mitre-data
9
+ */
10
+ /** A single MITRE ATT&CK tactic definition */
11
+ export interface MitreTacticDef {
12
+ /** ATT&CK tactic ID (e.g. TA0001) */
13
+ readonly id: string;
14
+ /** Full tactic name (e.g. "Initial Access") */
15
+ readonly name: string;
16
+ /** Abbreviated name for compact UIs (e.g. "Initial") */
17
+ readonly shortName: string;
18
+ }
19
+ /**
20
+ * All 14 MITRE ATT&CK Enterprise tactics in kill-chain order.
21
+ *
22
+ * Order follows the official ATT&CK matrix:
23
+ * Reconnaissance -> Resource Development -> Initial Access -> ... -> Impact
24
+ */
25
+ export declare const MITRE_TACTICS: readonly MitreTacticDef[];
26
+ /**
27
+ * Map of full tactic name to its short abbreviation.
28
+ *
29
+ * Example: `TACTIC_SHORT_NAMES['Defense Evasion']` -> `'DefEvas'`
30
+ */
31
+ export declare const TACTIC_SHORT_NAMES: Readonly<Record<string, string>>;
32
+ /**
33
+ * Map of full tactic name to its ATT&CK ID.
34
+ *
35
+ * Example: `TACTIC_IDS_BY_NAME['Initial Access']` -> `'TA0001'`
36
+ */
37
+ export declare const TACTIC_IDS_BY_NAME: Readonly<Record<string, string>>;
38
+ //# sourceMappingURL=mitre-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mitre-data.d.ts","sourceRoot":"","sources":["../../src/security/mitre-data.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,qCAAqC;IACrC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,wDAAwD;IACxD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,cAAc,EAezC,CAAA;AAEV;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE/D,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE/D,CAAA"}
@@ -0,0 +1,77 @@
1
+ //#region src/security/mitre-data.ts
2
+ var e = [
3
+ {
4
+ id: "TA0043",
5
+ name: "Reconnaissance",
6
+ shortName: "Recon"
7
+ },
8
+ {
9
+ id: "TA0042",
10
+ name: "Resource Development",
11
+ shortName: "Resource"
12
+ },
13
+ {
14
+ id: "TA0001",
15
+ name: "Initial Access",
16
+ shortName: "Initial"
17
+ },
18
+ {
19
+ id: "TA0002",
20
+ name: "Execution",
21
+ shortName: "Exec"
22
+ },
23
+ {
24
+ id: "TA0003",
25
+ name: "Persistence",
26
+ shortName: "Persist"
27
+ },
28
+ {
29
+ id: "TA0004",
30
+ name: "Privilege Escalation",
31
+ shortName: "PrivEsc"
32
+ },
33
+ {
34
+ id: "TA0005",
35
+ name: "Defense Evasion",
36
+ shortName: "DefEvas"
37
+ },
38
+ {
39
+ id: "TA0006",
40
+ name: "Credential Access",
41
+ shortName: "Creds"
42
+ },
43
+ {
44
+ id: "TA0007",
45
+ name: "Discovery",
46
+ shortName: "Disc"
47
+ },
48
+ {
49
+ id: "TA0008",
50
+ name: "Lateral Movement",
51
+ shortName: "LatMov"
52
+ },
53
+ {
54
+ id: "TA0009",
55
+ name: "Collection",
56
+ shortName: "Collect"
57
+ },
58
+ {
59
+ id: "TA0011",
60
+ name: "Command and Control",
61
+ shortName: "C2"
62
+ },
63
+ {
64
+ id: "TA0010",
65
+ name: "Exfiltration",
66
+ shortName: "Exfil"
67
+ },
68
+ {
69
+ id: "TA0040",
70
+ name: "Impact",
71
+ shortName: "Impact"
72
+ }
73
+ ], t = Object.fromEntries(e.map((e) => [e.name, e.shortName])), n = Object.fromEntries(e.map((e) => [e.name, e.id]));
74
+ //#endregion
75
+ export { n, t as r, e as t };
76
+
77
+ //# sourceMappingURL=security-AzmGrY2-.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security-AzmGrY2-.js","names":[],"sources":["../src/security/mitre-data.ts"],"sourcesContent":["/**\n * MITRE ATT&CK Reference Data\n *\n * Shared constants for all 14 ATT&CK Enterprise tactics.\n * Canonical source of tactic IDs, names, and abbreviations\n * consumed by tenant-ui, threat-library, and web-components.\n *\n * @countermeasure/web-components/security/mitre-data\n */\n\n/** A single MITRE ATT&CK tactic definition */\nexport interface MitreTacticDef {\n /** ATT&CK tactic ID (e.g. TA0001) */\n readonly id: string\n /** Full tactic name (e.g. \"Initial Access\") */\n readonly name: string\n /** Abbreviated name for compact UIs (e.g. \"Initial\") */\n readonly shortName: string\n}\n\n/**\n * All 14 MITRE ATT&CK Enterprise tactics in kill-chain order.\n *\n * Order follows the official ATT&CK matrix:\n * Reconnaissance -> Resource Development -> Initial Access -> ... -> Impact\n */\nexport const MITRE_TACTICS: readonly MitreTacticDef[] = [\n { id: 'TA0043', name: 'Reconnaissance', shortName: 'Recon' },\n { id: 'TA0042', name: 'Resource Development', shortName: 'Resource' },\n { id: 'TA0001', name: 'Initial Access', shortName: 'Initial' },\n { id: 'TA0002', name: 'Execution', shortName: 'Exec' },\n { id: 'TA0003', name: 'Persistence', shortName: 'Persist' },\n { id: 'TA0004', name: 'Privilege Escalation', shortName: 'PrivEsc' },\n { id: 'TA0005', name: 'Defense Evasion', shortName: 'DefEvas' },\n { id: 'TA0006', name: 'Credential Access', shortName: 'Creds' },\n { id: 'TA0007', name: 'Discovery', shortName: 'Disc' },\n { id: 'TA0008', name: 'Lateral Movement', shortName: 'LatMov' },\n { id: 'TA0009', name: 'Collection', shortName: 'Collect' },\n { id: 'TA0011', name: 'Command and Control', shortName: 'C2' },\n { id: 'TA0010', name: 'Exfiltration', shortName: 'Exfil' },\n { id: 'TA0040', name: 'Impact', shortName: 'Impact' },\n] as const\n\n/**\n * Map of full tactic name to its short abbreviation.\n *\n * Example: `TACTIC_SHORT_NAMES['Defense Evasion']` -> `'DefEvas'`\n */\nexport const TACTIC_SHORT_NAMES: Readonly<Record<string, string>> = Object.fromEntries(\n MITRE_TACTICS.map((t) => [t.name, t.shortName]),\n)\n\n/**\n * Map of full tactic name to its ATT&CK ID.\n *\n * Example: `TACTIC_IDS_BY_NAME['Initial Access']` -> `'TA0001'`\n */\nexport const TACTIC_IDS_BY_NAME: Readonly<Record<string, string>> = Object.fromEntries(\n MITRE_TACTICS.map((t) => [t.name, t.id]),\n)\n"],"mappings":";AA0BA,IAAa,IAA2C;CACtD;EAAE,IAAI;EAAU,MAAM;EAAkB,WAAW;EAAS;CAC5D;EAAE,IAAI;EAAU,MAAM;EAAwB,WAAW;EAAY;CACrE;EAAE,IAAI;EAAU,MAAM;EAAkB,WAAW;EAAW;CAC9D;EAAE,IAAI;EAAU,MAAM;EAAa,WAAW;EAAQ;CACtD;EAAE,IAAI;EAAU,MAAM;EAAe,WAAW;EAAW;CAC3D;EAAE,IAAI;EAAU,MAAM;EAAwB,WAAW;EAAW;CACpE;EAAE,IAAI;EAAU,MAAM;EAAmB,WAAW;EAAW;CAC/D;EAAE,IAAI;EAAU,MAAM;EAAqB,WAAW;EAAS;CAC/D;EAAE,IAAI;EAAU,MAAM;EAAa,WAAW;EAAQ;CACtD;EAAE,IAAI;EAAU,MAAM;EAAoB,WAAW;EAAU;CAC/D;EAAE,IAAI;EAAU,MAAM;EAAc,WAAW;EAAW;CAC1D;EAAE,IAAI;EAAU,MAAM;EAAuB,WAAW;EAAM;CAC9D;EAAE,IAAI;EAAU,MAAM;EAAgB,WAAW;EAAS;CAC1D;EAAE,IAAI;EAAU,MAAM;EAAU,WAAW;EAAU;CACtD,EAOY,IAAuD,OAAO,YACzE,EAAc,KAAK,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAChD,EAOY,IAAuD,OAAO,YACzE,EAAc,KAAK,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CACzC"}
@@ -1,21 +1,21 @@
1
- import { t as e } from "./utils-B7XIe3qq.js";
2
- import { t } from "./check-CybgTpDT.js";
3
- import { t as n } from "./chevron-down-C_008JAH.js";
4
- import { t as r } from "./chevron-up-BY5jyuW2.js";
5
- import { n as i, t as a } from "./dist-CTlQcJNK.js";
6
- import { a as o, o as s, r as c, t as l } from "./dist-koa_pEtu.js";
7
- import { t as u } from "./dist-CpMqmV-i.js";
8
- import { t as d } from "./dist-C0wG5dwG.js";
9
- import { t as f } from "./dist-RmXz0NYF.js";
10
- import { t as p } from "./dist-BBVMDH9A.js";
11
- import { i as m, n as h, r as g, t as _ } from "./es2015-Bv2aaatg.js";
12
- import { t as v } from "./dist-DGayZ3ok2.js";
13
- import { t as y } from "./dist-cMlzVrN6.js";
14
- import { t as b } from "./dist-CVCn7F_m.js";
15
- import { a as x, i as S, n as C, r as w, t as T } from "./dist-CbqFryer.js";
16
- import { t as E } from "./dist-Cao8o5bZ.js";
17
- import { t as D } from "./dist-Dm7Xaded.js";
18
- import { n as O } from "./dist-CcNjOWyQ.js";
1
+ import { t as e } from "./utils-DcOSDVkb.js";
2
+ import { t } from "./check-cGnuDoWp.js";
3
+ import { t as n } from "./chevron-down-m05raooX.js";
4
+ import { t as r } from "./chevron-up-CtvY7fRK.js";
5
+ import { n as i, t as a } from "./dist-W53Bo1BJ.js";
6
+ import { a as o, o as s, r as c, t as l } from "./dist-CjZz16VT.js";
7
+ import { t as u } from "./dist-r_mYhsAH.js";
8
+ import { t as d } from "./dist-DYQiYO9a.js";
9
+ import { t as f } from "./dist-GA_FAY5r.js";
10
+ import { t as p } from "./dist-DN5XnB8I.js";
11
+ import { i as m, n as h, r as g, t as _ } from "./es2015-CJnm4_FQ.js";
12
+ import { t as v } from "./dist-e5OOjxMa.js";
13
+ import { t as y } from "./dist-M-TigQUP.js";
14
+ import { t as b } from "./dist-CetkIu6m.js";
15
+ import { a as x, i as S, n as C, r as w, t as T } from "./dist-BhO08NBU.js";
16
+ import { t as E } from "./dist-DFW2ymX5.js";
17
+ import { t as D } from "./dist-DHTh2jaC.js";
18
+ import { n as O } from "./dist-Br_I_YIY.js";
19
19
  import * as k from "react";
20
20
  import { Fragment as A, jsx as j, jsxs as M } from "react/jsx-runtime";
21
21
  import * as N from "react-dom";
@@ -833,4 +833,4 @@ function Ct({ className: t, ...r }) {
833
833
  //#endregion
834
834
  export { yt as a, xt as c, bt as i, _t as l, vt as n, Ct as o, ht as r, St as s, mt as t, gt as u };
835
835
 
836
- //# sourceMappingURL=select-BX7KT3VP.js.map
836
+ //# sourceMappingURL=select-Bc7Gn3Oa.js.map