@countermeasure-platform/web-components 1.2.1-dev.4.1 → 1.2.1-dev.6.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":"toast-DRNPdj-R.js","names":[],"sources":["../node_modules/lucide-react/dist/esm/icons/info.js","../src/react/primitives/toast.tsx"],"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 [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 16v-4\", key: \"1dtifu\" }],\n [\"path\", { d: \"M12 8h.01\", key: \"e9boi3\" }]\n];\nconst Info = createLucideIcon(\"info\", __iconNode);\n\nexport { __iconNode, Info as default };\n//# sourceMappingURL=info.js.map\n","import * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { XIcon, CheckCircle2Icon, AlertTriangleIcon, InfoIcon, XCircleIcon } from 'lucide-react'\n\nimport { cn } from './utils'\n\n/* ------------------------------------------------------------------ */\n/* Types */\n/* ------------------------------------------------------------------ */\n\nexport type ToastLevel = 'success' | 'error' | 'warning' | 'info'\n\nexport type ToastPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'\n\nexport interface ToastData {\n id: string\n level: ToastLevel\n title: string\n description?: string\n action?: React.ReactNode\n duration?: number\n persistent?: boolean\n}\n\n/* ------------------------------------------------------------------ */\n/* Toast Variants */\n/* ------------------------------------------------------------------ */\n\nconst toastVariants = cva(\n 'group pointer-events-auto relative flex w-full items-start gap-3 overflow-hidden rounded-xl border p-4 shadow-xl backdrop-blur-xl transition-all',\n {\n variants: {\n level: {\n success: 'border-accent-cyan/30 bg-accent-cyan/5 text-foreground',\n error: 'border-accent-rose/30 bg-accent-rose/5 text-foreground',\n warning: 'border-accent-amber/30 bg-accent-amber/5 text-foreground',\n info: 'border-border-glass bg-glass text-foreground',\n },\n },\n defaultVariants: {\n level: 'info',\n },\n }\n)\n\n/* ------------------------------------------------------------------ */\n/* Context & Hook */\n/* ------------------------------------------------------------------ */\n\ninterface ToastContextValue {\n toasts: ToastData[]\n toast: (data: Omit<ToastData, 'id'>) => string\n success: (title: string, description?: string) => string\n error: (title: string, description?: string) => string\n warning: (title: string, description?: string) => string\n info: (title: string, description?: string) => string\n dismiss: (id: string) => void\n dismissAll: () => void\n}\n\nconst ToastContext = React.createContext<ToastContextValue | null>(null)\n\nfunction useToast(): ToastContextValue {\n const ctx = React.useContext(ToastContext)\n if (!ctx) {\n throw new Error('useToast must be used within a <ToastProvider>')\n }\n return ctx\n}\n\n/* ------------------------------------------------------------------ */\n/* Provider */\n/* ------------------------------------------------------------------ */\n\nlet toastCounter = 0\n\ninterface ToastProviderProps {\n children: React.ReactNode\n /** Position of the toast viewport */\n position?: ToastPosition\n /** Maximum number of visible toasts */\n maxVisible?: number\n /** Default auto-dismiss duration in ms */\n defaultDuration?: number\n}\n\nfunction ToastProvider({\n children,\n position = 'top-right',\n maxVisible = 5,\n defaultDuration = 5000,\n}: ToastProviderProps) {\n const [toasts, setToasts] = React.useState<ToastData[]>([])\n\n const dismiss = React.useCallback((id: string) => {\n setToasts(prev => prev.filter(t => t.id !== id))\n }, [])\n\n const dismissAll = React.useCallback(() => {\n setToasts([])\n }, [])\n\n const addToast = React.useCallback(\n (data: Omit<ToastData, 'id'>) => {\n const id = `toast-${String(++toastCounter)}`\n const entry: ToastData = { id, ...data }\n\n setToasts(prev => {\n const next = [...prev, entry]\n // Enforce max visible\n if (next.length > maxVisible) {\n return next.slice(next.length - maxVisible)\n }\n return next\n })\n\n return id\n },\n [maxVisible]\n )\n\n const toast = React.useCallback((data: Omit<ToastData, 'id'>) => addToast(data), [addToast])\n\n const success = React.useCallback(\n (title: string, description?: string) => {\n const data: Omit<ToastData, 'id'> = { level: 'success', title }\n if (description !== undefined) data.description = description\n return addToast(data)\n },\n [addToast]\n )\n\n const error = React.useCallback(\n (title: string, description?: string) => {\n const data: Omit<ToastData, 'id'> = { level: 'error', title }\n if (description !== undefined) data.description = description\n return addToast(data)\n },\n [addToast]\n )\n\n const warning = React.useCallback(\n (title: string, description?: string) => {\n const data: Omit<ToastData, 'id'> = { level: 'warning', title }\n if (description !== undefined) data.description = description\n return addToast(data)\n },\n [addToast]\n )\n\n const info = React.useCallback(\n (title: string, description?: string) => {\n const data: Omit<ToastData, 'id'> = { level: 'info', title }\n if (description !== undefined) data.description = description\n return addToast(data)\n },\n [addToast]\n )\n\n const value = React.useMemo(\n () => ({ toasts, toast, success, error, warning, info, dismiss, dismissAll }),\n [toasts, toast, success, error, warning, info, dismiss, dismissAll]\n )\n\n return (\n <ToastContext.Provider value={value}>\n {children}\n <ToastViewport\n position={position}\n toasts={toasts}\n dismiss={dismiss}\n defaultDuration={defaultDuration}\n />\n </ToastContext.Provider>\n )\n}\n\n/* ------------------------------------------------------------------ */\n/* Viewport */\n/* ------------------------------------------------------------------ */\n\ninterface ToastViewportProps {\n position: ToastPosition\n toasts: ToastData[]\n dismiss: (id: string) => void\n defaultDuration: number\n}\n\nfunction ToastViewport({ position, toasts, dismiss, defaultDuration }: ToastViewportProps) {\n const positionClasses: Record<ToastPosition, string> = {\n 'top-right': 'top-4 right-4',\n 'top-left': 'top-4 left-4',\n 'bottom-right': 'bottom-4 right-4',\n 'bottom-left': 'bottom-4 left-4',\n }\n\n return (\n <div\n data-slot=\"toast-viewport\"\n role=\"region\"\n aria-label=\"Notifications\"\n aria-live=\"polite\"\n className={cn(\n 'fixed z-[9999] flex flex-col gap-2 pointer-events-none w-full max-w-sm',\n positionClasses[position]\n )}\n >\n {toasts.map(t => (\n <Toast\n key={t.id}\n data={t}\n onDismiss={() => {\n dismiss(t.id)\n }}\n defaultDuration={defaultDuration}\n />\n ))}\n </div>\n )\n}\n\n/* ------------------------------------------------------------------ */\n/* Toast */\n/* ------------------------------------------------------------------ */\n\nfunction Toast({\n data,\n onDismiss,\n defaultDuration,\n}: {\n data: ToastData\n onDismiss: () => void\n defaultDuration: number\n}) {\n const duration = data.duration ?? defaultDuration\n const timerRef = React.useRef<ReturnType<typeof setTimeout> | null>(null)\n const startRef = React.useRef(Date.now())\n const remainingRef = React.useRef(duration)\n\n // Keep onDismiss in a ref so that changes to the callback identity don't\n // restart the auto-dismiss timer. The parent's ToastViewport creates a\n // new `() => dismiss(id)` closure on every render; without this ref the\n // timer would reset every time any toast is added/removed.\n const onDismissRef = React.useRef(onDismiss)\n React.useEffect(() => {\n onDismissRef.current = onDismiss\n }, [onDismiss])\n\n const startTimer = React.useCallback(() => {\n if (data.persistent === true) return\n // Clear any existing timer to prevent stacked timeouts (e.g. when\n // onBlur fires without a preceding onFocus/onMouseEnter pause).\n if (timerRef.current) {\n clearTimeout(timerRef.current)\n timerRef.current = null\n }\n // Guard against negative or zero remaining time — the toast has\n // already been auto-dismissed; do not schedule another callback.\n if (remainingRef.current <= 0) return\n startRef.current = Date.now()\n timerRef.current = setTimeout(() => {\n timerRef.current = null\n onDismissRef.current()\n }, remainingRef.current)\n }, [data.persistent])\n\n const pauseTimer = React.useCallback(() => {\n if (timerRef.current) {\n clearTimeout(timerRef.current)\n timerRef.current = null\n remainingRef.current -= Date.now() - startRef.current\n // Clamp to zero so a subsequent startTimer is a no-op.\n if (remainingRef.current < 0) remainingRef.current = 0\n }\n }, [])\n\n React.useEffect(() => {\n startTimer()\n return () => {\n if (timerRef.current) clearTimeout(timerRef.current)\n }\n }, [startTimer])\n\n const iconMap: Record<ToastLevel, React.ReactNode> = {\n success: <CheckCircle2Icon className=\"size-5 text-accent-cyan shrink-0\" />,\n error: <XCircleIcon className=\"size-5 text-accent-rose shrink-0\" />,\n warning: <AlertTriangleIcon className=\"size-5 text-accent-amber shrink-0\" />,\n info: <InfoIcon className=\"size-5 text-foreground-secondary shrink-0\" />,\n }\n\n return (\n <div\n data-slot=\"toast\"\n role={data.level === 'error' || data.level === 'warning' ? 'alert' : 'status'}\n aria-live={data.level === 'error' ? 'assertive' : 'polite'}\n aria-atomic=\"true\"\n className={toastVariants({ level: data.level })}\n onMouseEnter={pauseTimer}\n onMouseLeave={startTimer}\n onFocus={pauseTimer}\n onBlur={startTimer}\n onKeyDown={e => {\n if (e.key === 'Escape') {\n e.preventDefault()\n onDismiss()\n }\n }}\n tabIndex={0}\n >\n {iconMap[data.level]}\n\n <div className=\"flex-1 min-w-0\">\n <ToastTitle>{data.title}</ToastTitle>\n {data.description !== undefined && <ToastDescription>{data.description}</ToastDescription>}\n {data.action !== undefined && <div className=\"mt-2\">{data.action}</div>}\n </div>\n\n <ToastClose onClick={onDismiss} />\n </div>\n )\n}\n\n/* ------------------------------------------------------------------ */\n/* Subcomponents */\n/* ------------------------------------------------------------------ */\n\nfunction ToastTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div data-slot=\"toast-title\" className={cn('text-sm font-semibold', className)} {...props} />\n )\n}\n\nfunction ToastDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"toast-description\"\n className={cn('text-sm text-foreground-secondary mt-0.5', className)}\n {...props}\n />\n )\n}\n\nfunction ToastAction({ className, ...props }: React.ComponentProps<'button'>) {\n return (\n <button\n data-slot=\"toast-action\"\n type=\"button\"\n className={cn(\n 'inline-flex h-7 items-center rounded-lg border border-border-glass bg-glass px-3 text-xs font-medium transition-colors hover:bg-glass-hover',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ToastClose({ className, onClick, ...props }: React.ComponentProps<'button'>) {\n return (\n <button\n data-slot=\"toast-close\"\n type=\"button\"\n aria-label=\"Dismiss notification\"\n onClick={onClick}\n className={cn(\n 'shrink-0 rounded-lg p-1 text-foreground-muted opacity-60 transition-opacity hover:opacity-100',\n className\n )}\n {...props}\n >\n <XIcon className=\"size-4\" />\n </button>\n )\n}\n\nexport {\n ToastProvider,\n Toast,\n ToastTitle,\n ToastDescription,\n ToastAction,\n ToastClose,\n useToast,\n toastVariants,\n}\nexport type { ToastData as ToastProps, VariantProps }\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"toast-CawTm-7V.js","names":[],"sources":["../node_modules/lucide-react/dist/esm/icons/info.js","../src/react/primitives/toast.tsx"],"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 [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"path\", { d: \"M12 16v-4\", key: \"1dtifu\" }],\n [\"path\", { d: \"M12 8h.01\", key: \"e9boi3\" }]\n];\nconst Info = createLucideIcon(\"info\", __iconNode);\n\nexport { __iconNode, Info as default };\n//# sourceMappingURL=info.js.map\n","import * as React from 'react'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { XIcon, CheckCircle2Icon, AlertTriangleIcon, InfoIcon, XCircleIcon } from 'lucide-react'\n\nimport { cn } from './utils'\n\n/* ------------------------------------------------------------------ */\n/* Types */\n/* ------------------------------------------------------------------ */\n\nexport type ToastLevel = 'success' | 'error' | 'warning' | 'info'\n\nexport type ToastPosition = 'top-right' | 'top-left' | 'bottom-right' | 'bottom-left'\n\nexport interface ToastData {\n id: string\n level: ToastLevel\n title: string\n description?: string\n action?: React.ReactNode\n duration?: number\n persistent?: boolean\n}\n\n/* ------------------------------------------------------------------ */\n/* Toast Variants */\n/* ------------------------------------------------------------------ */\n\nconst toastVariants = cva(\n 'group pointer-events-auto relative flex w-full items-start gap-3 overflow-hidden rounded-xl border p-4 shadow-xl backdrop-blur-xl transition-all',\n {\n variants: {\n level: {\n success: 'border-accent-cyan/30 bg-accent-cyan/5 text-foreground',\n error: 'border-accent-rose/30 bg-accent-rose/5 text-foreground',\n warning: 'border-accent-amber/30 bg-accent-amber/5 text-foreground',\n info: 'border-border-glass bg-glass text-foreground',\n },\n },\n defaultVariants: {\n level: 'info',\n },\n }\n)\n\n/* ------------------------------------------------------------------ */\n/* Context & Hook */\n/* ------------------------------------------------------------------ */\n\ninterface ToastContextValue {\n toasts: ToastData[]\n toast: (data: Omit<ToastData, 'id'>) => string\n success: (title: string, description?: string) => string\n error: (title: string, description?: string) => string\n warning: (title: string, description?: string) => string\n info: (title: string, description?: string) => string\n dismiss: (id: string) => void\n dismissAll: () => void\n}\n\nconst ToastContext = React.createContext<ToastContextValue | null>(null)\n\nfunction useToast(): ToastContextValue {\n const ctx = React.useContext(ToastContext)\n if (!ctx) {\n throw new Error('useToast must be used within a <ToastProvider>')\n }\n return ctx\n}\n\n/* ------------------------------------------------------------------ */\n/* Provider */\n/* ------------------------------------------------------------------ */\n\nlet toastCounter = 0\n\ninterface ToastProviderProps {\n children: React.ReactNode\n /** Position of the toast viewport */\n position?: ToastPosition\n /** Maximum number of visible toasts */\n maxVisible?: number\n /** Default auto-dismiss duration in ms */\n defaultDuration?: number\n}\n\nfunction ToastProvider({\n children,\n position = 'top-right',\n maxVisible = 5,\n defaultDuration = 5000,\n}: ToastProviderProps) {\n const [toasts, setToasts] = React.useState<ToastData[]>([])\n\n const dismiss = React.useCallback((id: string) => {\n setToasts(prev => prev.filter(t => t.id !== id))\n }, [])\n\n const dismissAll = React.useCallback(() => {\n setToasts([])\n }, [])\n\n const addToast = React.useCallback(\n (data: Omit<ToastData, 'id'>) => {\n const id = `toast-${String(++toastCounter)}`\n const entry: ToastData = { id, ...data }\n\n setToasts(prev => {\n const next = [...prev, entry]\n // Enforce max visible\n if (next.length > maxVisible) {\n return next.slice(next.length - maxVisible)\n }\n return next\n })\n\n return id\n },\n [maxVisible]\n )\n\n const toast = React.useCallback((data: Omit<ToastData, 'id'>) => addToast(data), [addToast])\n\n const success = React.useCallback(\n (title: string, description?: string) => {\n const data: Omit<ToastData, 'id'> = { level: 'success', title }\n if (description !== undefined) data.description = description\n return addToast(data)\n },\n [addToast]\n )\n\n const error = React.useCallback(\n (title: string, description?: string) => {\n const data: Omit<ToastData, 'id'> = { level: 'error', title }\n if (description !== undefined) data.description = description\n return addToast(data)\n },\n [addToast]\n )\n\n const warning = React.useCallback(\n (title: string, description?: string) => {\n const data: Omit<ToastData, 'id'> = { level: 'warning', title }\n if (description !== undefined) data.description = description\n return addToast(data)\n },\n [addToast]\n )\n\n const info = React.useCallback(\n (title: string, description?: string) => {\n const data: Omit<ToastData, 'id'> = { level: 'info', title }\n if (description !== undefined) data.description = description\n return addToast(data)\n },\n [addToast]\n )\n\n const value = React.useMemo(\n () => ({ toasts, toast, success, error, warning, info, dismiss, dismissAll }),\n [toasts, toast, success, error, warning, info, dismiss, dismissAll]\n )\n\n return (\n <ToastContext.Provider value={value}>\n {children}\n <ToastViewport\n position={position}\n toasts={toasts}\n dismiss={dismiss}\n defaultDuration={defaultDuration}\n />\n </ToastContext.Provider>\n )\n}\n\n/* ------------------------------------------------------------------ */\n/* Viewport */\n/* ------------------------------------------------------------------ */\n\ninterface ToastViewportProps {\n position: ToastPosition\n toasts: ToastData[]\n dismiss: (id: string) => void\n defaultDuration: number\n}\n\nfunction ToastViewport({ position, toasts, dismiss, defaultDuration }: ToastViewportProps) {\n const positionClasses: Record<ToastPosition, string> = {\n 'top-right': 'top-4 right-4',\n 'top-left': 'top-4 left-4',\n 'bottom-right': 'bottom-4 right-4',\n 'bottom-left': 'bottom-4 left-4',\n }\n\n return (\n <div\n data-slot=\"toast-viewport\"\n role=\"region\"\n aria-label=\"Notifications\"\n aria-live=\"polite\"\n className={cn(\n 'fixed z-[9999] flex flex-col gap-2 pointer-events-none w-full max-w-sm',\n positionClasses[position]\n )}\n >\n {toasts.map(t => (\n <Toast\n key={t.id}\n data={t}\n onDismiss={() => {\n dismiss(t.id)\n }}\n defaultDuration={defaultDuration}\n />\n ))}\n </div>\n )\n}\n\n/* ------------------------------------------------------------------ */\n/* Toast */\n/* ------------------------------------------------------------------ */\n\nfunction Toast({\n data,\n onDismiss,\n defaultDuration,\n}: {\n data: ToastData\n onDismiss: () => void\n defaultDuration: number\n}) {\n const duration = data.duration ?? defaultDuration\n const timerRef = React.useRef<ReturnType<typeof setTimeout> | null>(null)\n const startRef = React.useRef(Date.now())\n const remainingRef = React.useRef(duration)\n\n // Keep onDismiss in a ref so that changes to the callback identity don't\n // restart the auto-dismiss timer. The parent's ToastViewport creates a\n // new `() => dismiss(id)` closure on every render; without this ref the\n // timer would reset every time any toast is added/removed.\n const onDismissRef = React.useRef(onDismiss)\n React.useEffect(() => {\n onDismissRef.current = onDismiss\n }, [onDismiss])\n\n const startTimer = React.useCallback(() => {\n if (data.persistent === true) return\n // Clear any existing timer to prevent stacked timeouts (e.g. when\n // onBlur fires without a preceding onFocus/onMouseEnter pause).\n if (timerRef.current) {\n clearTimeout(timerRef.current)\n timerRef.current = null\n }\n // Guard against negative or zero remaining time — the toast has\n // already been auto-dismissed; do not schedule another callback.\n if (remainingRef.current <= 0) return\n startRef.current = Date.now()\n timerRef.current = setTimeout(() => {\n timerRef.current = null\n onDismissRef.current()\n }, remainingRef.current)\n }, [data.persistent])\n\n const pauseTimer = React.useCallback(() => {\n if (timerRef.current) {\n clearTimeout(timerRef.current)\n timerRef.current = null\n remainingRef.current -= Date.now() - startRef.current\n // Clamp to zero so a subsequent startTimer is a no-op.\n if (remainingRef.current < 0) remainingRef.current = 0\n }\n }, [])\n\n React.useEffect(() => {\n startTimer()\n return () => {\n if (timerRef.current) clearTimeout(timerRef.current)\n }\n }, [startTimer])\n\n const iconMap: Record<ToastLevel, React.ReactNode> = {\n success: <CheckCircle2Icon className=\"size-5 text-accent-cyan shrink-0\" />,\n error: <XCircleIcon className=\"size-5 text-accent-rose shrink-0\" />,\n warning: <AlertTriangleIcon className=\"size-5 text-accent-amber shrink-0\" />,\n info: <InfoIcon className=\"size-5 text-foreground-secondary shrink-0\" />,\n }\n\n return (\n <div\n data-slot=\"toast\"\n role={data.level === 'error' || data.level === 'warning' ? 'alert' : 'status'}\n aria-live={data.level === 'error' ? 'assertive' : 'polite'}\n aria-atomic=\"true\"\n className={toastVariants({ level: data.level })}\n onMouseEnter={pauseTimer}\n onMouseLeave={startTimer}\n onFocus={pauseTimer}\n onBlur={startTimer}\n onKeyDown={e => {\n if (e.key === 'Escape') {\n e.preventDefault()\n onDismiss()\n }\n }}\n tabIndex={0}\n >\n {iconMap[data.level]}\n\n <div className=\"flex-1 min-w-0\">\n <ToastTitle>{data.title}</ToastTitle>\n {data.description !== undefined && <ToastDescription>{data.description}</ToastDescription>}\n {data.action !== undefined && <div className=\"mt-2\">{data.action}</div>}\n </div>\n\n <ToastClose onClick={onDismiss} />\n </div>\n )\n}\n\n/* ------------------------------------------------------------------ */\n/* Subcomponents */\n/* ------------------------------------------------------------------ */\n\nfunction ToastTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div data-slot=\"toast-title\" className={cn('text-sm font-semibold', className)} {...props} />\n )\n}\n\nfunction ToastDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"toast-description\"\n className={cn('text-sm text-foreground-secondary mt-0.5', className)}\n {...props}\n />\n )\n}\n\nfunction ToastAction({ className, ...props }: React.ComponentProps<'button'>) {\n return (\n <button\n data-slot=\"toast-action\"\n type=\"button\"\n className={cn(\n 'inline-flex h-7 items-center rounded-lg border border-border-glass bg-glass px-3 text-xs font-medium transition-colors hover:bg-glass-hover',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ToastClose({ className, onClick, ...props }: React.ComponentProps<'button'>) {\n return (\n <button\n data-slot=\"toast-close\"\n type=\"button\"\n aria-label=\"Dismiss notification\"\n onClick={onClick}\n className={cn(\n 'shrink-0 rounded-lg p-1 text-foreground-muted opacity-60 transition-opacity hover:opacity-100',\n className\n )}\n {...props}\n >\n <XIcon className=\"size-4\" />\n </button>\n )\n}\n\nexport {\n ToastProvider,\n Toast,\n ToastTitle,\n ToastDescription,\n ToastAction,\n ToastClose,\n useToast,\n toastVariants,\n}\nexport type { ToastData as ToastProps, VariantProps }\n"],"x_google_ignoreList":[0],"mappings":";;;;;;;AAcA,IAAM,IAAO,EAAiB,QALX;CACjB,CAAC,UAAU;EAAE,IAAI;EAAM,IAAI;EAAM,GAAG;EAAM,KAAK;EAAU,CAAC;CAC1D,CAAC,QAAQ;EAAE,GAAG;EAAa,KAAK;EAAU,CAAC;CAC3C,CAAC,QAAQ;EAAE,GAAG;EAAa,KAAK;EAAU,CAAC;CAC5C,CACgD,ECc3C,IAAgB,EACpB,oJACA;CACE,UAAU,EACR,OAAO;EACL,SAAS;EACT,OAAO;EACP,SAAS;EACT,MAAM;EACP,EACF;CACD,iBAAiB,EACf,OAAO,QACR;CACF,CACF,EAiBK,IAAe,EAAM,cAAwC,KAAK;AAExE,SAAS,IAA8B;CACrC,IAAM,IAAM,EAAM,WAAW,EAAa;AAC1C,KAAI,CAAC,EACH,OAAU,MAAM,iDAAiD;AAEnE,QAAO;;AAOT,IAAI,IAAe;AAYnB,SAAS,EAAc,EACrB,aACA,cAAW,aACX,gBAAa,GACb,qBAAkB,OACG;CACrB,IAAM,CAAC,GAAQ,KAAa,EAAM,SAAsB,EAAE,CAAC,EAErD,IAAU,EAAM,aAAa,MAAe;AAChD,KAAU,MAAQ,EAAK,QAAO,MAAK,EAAE,OAAO,EAAG,CAAC;IAC/C,EAAE,CAAC,EAEA,IAAa,EAAM,kBAAkB;AACzC,IAAU,EAAE,CAAC;IACZ,EAAE,CAAC,EAEA,IAAW,EAAM,aACpB,MAAgC;EAC/B,IAAM,IAAK,SAAS,OAAO,EAAE,EAAa,IACpC,IAAmB;GAAE;GAAI,GAAG;GAAM;AAWxC,SATA,GAAU,MAAQ;GAChB,IAAM,IAAO,CAAC,GAAG,GAAM,EAAM;AAK7B,UAHI,EAAK,SAAS,IACT,EAAK,MAAM,EAAK,SAAS,EAAW,GAEtC;IACP,EAEK;IAET,CAAC,EAAW,CACb,EAEK,IAAQ,EAAM,aAAa,MAAgC,EAAS,EAAK,EAAE,CAAC,EAAS,CAAC,EAEtF,IAAU,EAAM,aACnB,GAAe,MAAyB;EACvC,IAAM,IAA8B;GAAE,OAAO;GAAW;GAAO;AAE/D,SADI,MAAgB,KAAA,MAAW,EAAK,cAAc,IAC3C,EAAS,EAAK;IAEvB,CAAC,EAAS,CACX,EAEK,IAAQ,EAAM,aACjB,GAAe,MAAyB;EACvC,IAAM,IAA8B;GAAE,OAAO;GAAS;GAAO;AAE7D,SADI,MAAgB,KAAA,MAAW,EAAK,cAAc,IAC3C,EAAS,EAAK;IAEvB,CAAC,EAAS,CACX,EAEK,IAAU,EAAM,aACnB,GAAe,MAAyB;EACvC,IAAM,IAA8B;GAAE,OAAO;GAAW;GAAO;AAE/D,SADI,MAAgB,KAAA,MAAW,EAAK,cAAc,IAC3C,EAAS,EAAK;IAEvB,CAAC,EAAS,CACX,EAEK,IAAO,EAAM,aAChB,GAAe,MAAyB;EACvC,IAAM,IAA8B;GAAE,OAAO;GAAQ;GAAO;AAE5D,SADI,MAAgB,KAAA,MAAW,EAAK,cAAc,IAC3C,EAAS,EAAK;IAEvB,CAAC,EAAS,CACX,EAEK,IAAQ,EAAM,eACX;EAAE;EAAQ;EAAO;EAAS;EAAO;EAAS;EAAM;EAAS;EAAY,GAC5E;EAAC;EAAQ;EAAO;EAAS;EAAO;EAAS;EAAM;EAAS;EAAW,CACpE;AAED,QACE,kBAAC,EAAa,UAAd;EAA8B;YAA9B,CACG,GACD,kBAAC,GAAD;GACY;GACF;GACC;GACQ;GACjB,CAAA,CACoB;;;AAe5B,SAAS,EAAc,EAAE,aAAU,WAAQ,YAAS,sBAAuC;CACzF,IAAM,IAAiD;EACrD,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,eAAe;EAChB;AAED,QACE,kBAAC,OAAD;EACE,aAAU;EACV,MAAK;EACL,cAAW;EACX,aAAU;EACV,WAAW,EACT,0EACA,EAAgB,GACjB;YAEA,EAAO,KAAI,MACV,kBAAC,GAAD;GAEE,MAAM;GACN,iBAAiB;AACf,MAAQ,EAAE,GAAG;;GAEE;GACjB,EANK,EAAE,GAMP,CACF;EACE,CAAA;;AAQV,SAAS,EAAM,EACb,SACA,cACA,sBAKC;CACD,IAAM,IAAW,EAAK,YAAY,GAC5B,IAAW,EAAM,OAA6C,KAAK,EACnE,IAAW,EAAM,OAAO,KAAK,KAAK,CAAC,EACnC,IAAe,EAAM,OAAO,EAAS,EAMrC,IAAe,EAAM,OAAO,EAAU;AAC5C,GAAM,gBAAgB;AACpB,IAAa,UAAU;IACtB,CAAC,EAAU,CAAC;CAEf,IAAM,IAAa,EAAM,kBAAkB;AACrC,IAAK,eAAe,OAGxB,AAEE,EAAS,aADT,aAAa,EAAS,QAAQ,EACX,OAIjB,IAAa,WAAW,OAC5B,EAAS,UAAU,KAAK,KAAK,EAC7B,EAAS,UAAU,iBAAiB;AAElC,GADA,EAAS,UAAU,MACnB,EAAa,SAAS;KACrB,EAAa,QAAQ;IACvB,CAAC,EAAK,WAAW,CAAC,EAEf,IAAa,EAAM,kBAAkB;AACzC,EAAI,EAAS,YACX,aAAa,EAAS,QAAQ,EAC9B,EAAS,UAAU,MACnB,EAAa,WAAW,KAAK,KAAK,GAAG,EAAS,SAE1C,EAAa,UAAU,MAAG,EAAa,UAAU;IAEtD,EAAE,CAAC;AAEN,GAAM,iBACJ,GAAY,QACC;AACX,EAAI,EAAS,WAAS,aAAa,EAAS,QAAQ;KAErD,CAAC,EAAW,CAAC;CAEhB,IAAM,IAA+C;EACnD,SAAS,kBAAC,GAAD,EAAkB,WAAU,oCAAqC,CAAA;EAC1E,OAAO,kBAAC,GAAD,EAAa,WAAU,oCAAqC,CAAA;EACnE,SAAS,kBAAC,GAAD,EAAmB,WAAU,qCAAsC,CAAA;EAC5E,MAAM,kBAAC,GAAD,EAAU,WAAU,6CAA8C,CAAA;EACzE;AAED,QACE,kBAAC,OAAD;EACE,aAAU;EACV,MAAM,EAAK,UAAU,WAAW,EAAK,UAAU,YAAY,UAAU;EACrE,aAAW,EAAK,UAAU,UAAU,cAAc;EAClD,eAAY;EACZ,WAAW,EAAc,EAAE,OAAO,EAAK,OAAO,CAAC;EAC/C,cAAc;EACd,cAAc;EACd,SAAS;EACT,QAAQ;EACR,YAAW,MAAK;AACd,GAAI,EAAE,QAAQ,aACZ,EAAE,gBAAgB,EAClB,GAAW;;EAGf,UAAU;YAhBZ;GAkBG,EAAQ,EAAK;GAEd,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,GAAD,EAAA,UAAa,EAAK,OAAmB,CAAA;KACpC,EAAK,gBAAgB,KAAA,KAAa,kBAAC,GAAD,EAAA,UAAmB,EAAK,aAA+B,CAAA;KACzF,EAAK,WAAW,KAAA,KAAa,kBAAC,OAAD;MAAK,WAAU;gBAAQ,EAAK;MAAa,CAAA;KACnE;;GAEN,kBAAC,GAAD,EAAY,SAAS,GAAa,CAAA;GAC9B;;;AAQV,SAAS,EAAW,EAAE,cAAW,GAAG,KAAsC;AACxE,QACE,kBAAC,OAAD;EAAK,aAAU;EAAc,WAAW,EAAG,yBAAyB,EAAU;EAAE,GAAI;EAAS,CAAA;;AAIjG,SAAS,EAAiB,EAAE,cAAW,GAAG,KAAsC;AAC9E,QACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EAAG,4CAA4C,EAAU;EACpE,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAY,EAAE,cAAW,GAAG,KAAyC;AAC5E,QACE,kBAAC,UAAD;EACE,aAAU;EACV,MAAK;EACL,WAAW,EACT,+IACA,EACD;EACD,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAW,EAAE,cAAW,YAAS,GAAG,KAAyC;AACpF,QACE,kBAAC,UAAD;EACE,aAAU;EACV,MAAK;EACL,cAAW;EACF;EACT,WAAW,EACT,iGACA,EACD;EACD,GAAI;YAEJ,kBAAC,GAAD,EAAO,WAAU,UAAW,CAAA;EACrB,CAAA"}
@@ -1,9 +1,9 @@
1
- import { t as e } from "./utils-B7XIe3qq.js";
2
- import { t } from "./dist-BCCeHAQm.js";
3
- import { a as n, o as r, t as i } from "./dist-koa_pEtu.js";
4
- import { t as a } from "./dist-C0wG5dwG.js";
5
- import { t as o } from "./dist-CVCn7F_m.js";
6
- import { n as s, r as c, t as l } from "./dist-B1veE5DO.js";
1
+ import { t as e } from "./utils-DcOSDVkb.js";
2
+ import { t } from "./dist-CWPamCJD.js";
3
+ import { a as n, o as r, t as i } from "./dist-CjZz16VT.js";
4
+ import { t as a } from "./dist-DYQiYO9a.js";
5
+ import { t as o } from "./dist-CetkIu6m.js";
6
+ import { n as s, r as c, t as l } from "./dist-bUQfhez2.js";
7
7
  import * as u from "react";
8
8
  import d from "react";
9
9
  import { jsx as f } from "react/jsx-runtime";
@@ -201,4 +201,4 @@ function L({ className: t, variant: n, size: r, children: i, ...a }) {
201
201
  //#endregion
202
202
  export { N as i, I as n, L as r, P as t };
203
203
 
204
- //# sourceMappingURL=toggle-DJJEPXXE.js.map
204
+ //# sourceMappingURL=toggle-C8sazHXX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-DJJEPXXE.js","names":["Toggle","React","ToggleGroup","ToggleGroupContext","RovingFocusGroup.Root","ToggleGroupItem","RovingFocusGroup.Item","Toggle"],"sources":["../node_modules/@radix-ui/react-toggle/dist/index.mjs","../node_modules/@radix-ui/react-toggle-group/dist/index.mjs","../src/react/primitives/toggle.tsx"],"sourcesContent":["\"use client\";\n\n// src/toggle.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Toggle\";\nvar Toggle = React.forwardRef((props, forwardedRef) => {\n const { pressed: pressedProp, defaultPressed, onPressedChange, ...buttonProps } = props;\n const [pressed, setPressed] = useControllableState({\n prop: pressedProp,\n onChange: onPressedChange,\n defaultProp: defaultPressed ?? false,\n caller: NAME\n });\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-pressed\": pressed,\n \"data-state\": pressed ? \"on\" : \"off\",\n \"data-disabled\": props.disabled ? \"\" : void 0,\n ...buttonProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => {\n if (!props.disabled) {\n setPressed(!pressed);\n }\n })\n }\n );\n});\nToggle.displayName = NAME;\nvar Root = Toggle;\nexport {\n Root,\n Toggle\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/toggle-group.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Toggle } from \"@radix-ui/react-toggle\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TOGGLE_GROUP_NAME = \"ToggleGroup\";\nvar [createToggleGroupContext, createToggleGroupScope] = createContextScope(TOGGLE_GROUP_NAME, [\n createRovingFocusGroupScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar ToggleGroup = React.forwardRef((props, forwardedRef) => {\n const { type, ...toggleGroupProps } = props;\n if (type === \"single\") {\n const singleProps = toggleGroupProps;\n return /* @__PURE__ */ jsx(ToggleGroupImplSingle, { ...singleProps, ref: forwardedRef });\n }\n if (type === \"multiple\") {\n const multipleProps = toggleGroupProps;\n return /* @__PURE__ */ jsx(ToggleGroupImplMultiple, { ...multipleProps, ref: forwardedRef });\n }\n throw new Error(`Missing prop \\`type\\` expected on \\`${TOGGLE_GROUP_NAME}\\``);\n});\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\nvar [ToggleGroupValueProvider, useToggleGroupValueContext] = createToggleGroupContext(TOGGLE_GROUP_NAME);\nvar ToggleGroupImplSingle = React.forwardRef((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n ...toggleGroupSingleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? \"\",\n onChange: onValueChange,\n caller: TOGGLE_GROUP_NAME\n });\n return /* @__PURE__ */ jsx(\n ToggleGroupValueProvider,\n {\n scope: props.__scopeToggleGroup,\n type: \"single\",\n value: React.useMemo(() => value ? [value] : [], [value]),\n onItemActivate: setValue,\n onItemDeactivate: React.useCallback(() => setValue(\"\"), [setValue]),\n children: /* @__PURE__ */ jsx(ToggleGroupImpl, { ...toggleGroupSingleProps, ref: forwardedRef })\n }\n );\n});\nvar ToggleGroupImplMultiple = React.forwardRef((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n ...toggleGroupMultipleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? [],\n onChange: onValueChange,\n caller: TOGGLE_GROUP_NAME\n });\n const handleButtonActivate = React.useCallback(\n (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n const handleButtonDeactivate = React.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),\n [setValue]\n );\n return /* @__PURE__ */ jsx(\n ToggleGroupValueProvider,\n {\n scope: props.__scopeToggleGroup,\n type: \"multiple\",\n value,\n onItemActivate: handleButtonActivate,\n onItemDeactivate: handleButtonDeactivate,\n children: /* @__PURE__ */ jsx(ToggleGroupImpl, { ...toggleGroupMultipleProps, ref: forwardedRef })\n }\n );\n});\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\nvar [ToggleGroupContext, useToggleGroupContext] = createToggleGroupContext(TOGGLE_GROUP_NAME);\nvar ToggleGroupImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeToggleGroup,\n disabled = false,\n rovingFocus = true,\n orientation,\n dir,\n loop = true,\n ...toggleGroupProps\n } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeToggleGroup);\n const direction = useDirection(dir);\n const commonProps = { role: \"group\", dir: direction, ...toggleGroupProps };\n return /* @__PURE__ */ jsx(ToggleGroupContext, { scope: __scopeToggleGroup, rovingFocus, disabled, children: rovingFocus ? /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation,\n dir: direction,\n loop,\n children: /* @__PURE__ */ jsx(Primitive.div, { ...commonProps, ref: forwardedRef })\n }\n ) : /* @__PURE__ */ jsx(Primitive.div, { ...commonProps, ref: forwardedRef }) });\n }\n);\nvar ITEM_NAME = \"ToggleGroupItem\";\nvar ToggleGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const valueContext = useToggleGroupValueContext(ITEM_NAME, props.__scopeToggleGroup);\n const context = useToggleGroupContext(ITEM_NAME, props.__scopeToggleGroup);\n const rovingFocusGroupScope = useRovingFocusGroupScope(props.__scopeToggleGroup);\n const pressed = valueContext.value.includes(props.value);\n const disabled = context.disabled || props.disabled;\n const commonProps = { ...props, pressed, disabled };\n const ref = React.useRef(null);\n return context.rovingFocus ? /* @__PURE__ */ jsx(\n RovingFocusGroup.Item,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !disabled,\n active: pressed,\n ref,\n children: /* @__PURE__ */ jsx(ToggleGroupItemImpl, { ...commonProps, ref: forwardedRef })\n }\n ) : /* @__PURE__ */ jsx(ToggleGroupItemImpl, { ...commonProps, ref: forwardedRef });\n }\n);\nToggleGroupItem.displayName = ITEM_NAME;\nvar ToggleGroupItemImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeToggleGroup, value, ...itemProps } = props;\n const valueContext = useToggleGroupValueContext(ITEM_NAME, __scopeToggleGroup);\n const singleProps = { role: \"radio\", \"aria-checked\": props.pressed, \"aria-pressed\": void 0 };\n const typeProps = valueContext.type === \"single\" ? singleProps : void 0;\n return /* @__PURE__ */ jsx(\n Toggle,\n {\n ...typeProps,\n ...itemProps,\n ref: forwardedRef,\n onPressedChange: (pressed) => {\n if (pressed) {\n valueContext.onItemActivate(value);\n } else {\n valueContext.onItemDeactivate(value);\n }\n }\n }\n );\n }\n);\nvar Root2 = ToggleGroup;\nvar Item2 = ToggleGroupItem;\nexport {\n Item2 as Item,\n Root2 as Root,\n ToggleGroup,\n ToggleGroupItem,\n createToggleGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from 'react'\nimport * as TogglePrimitive from '@radix-ui/react-toggle'\nimport * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from './utils'\n\nconst toggleVariants = cva(\n cn(\n 'inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors',\n 'hover:bg-accent hover:text-accent-foreground',\n 'focus-visible:ring-ring focus-visible:ring-offset-background focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none',\n 'disabled:pointer-events-none disabled:opacity-50',\n 'data-[state=on]:bg-accent data-[state=on]:text-accent-foreground',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\"size-\"])]:size-4'\n ),\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n outline:\n 'border-border-glass bg-transparent border shadow-sm hover:bg-accent hover:text-accent-foreground',\n },\n size: {\n default: 'h-9 min-w-9 px-3',\n sm: 'h-8 min-w-8 px-2',\n lg: 'h-10 min-w-10 px-4',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\nfunction Toggle({\n className,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>) {\n return (\n <TogglePrimitive.Root\n data-slot=\"toggle\"\n className={cn(toggleVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nconst ToggleGroupContext = React.createContext<VariantProps<typeof toggleVariants>>({\n size: 'default',\n variant: 'default',\n})\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Root> & VariantProps<typeof toggleVariants>) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n className={cn(\n 'flex items-center gap-1',\n props.orientation === 'vertical' && 'flex-col',\n className\n )}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n )\n}\n\nfunction ToggleGroupItem({\n className,\n variant,\n size,\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>) {\n const context = React.useContext(ToggleGroupContext)\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n className={cn(\n toggleVariants({\n variant: variant ?? context.variant,\n size: size ?? context.size,\n }),\n className\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n )\n}\n\nexport { Toggle, ToggleGroup, ToggleGroupItem, toggleVariants }\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
1
+ {"version":3,"file":"toggle-C8sazHXX.js","names":["Toggle","React","ToggleGroup","ToggleGroupContext","RovingFocusGroup.Root","ToggleGroupItem","RovingFocusGroup.Item","Toggle"],"sources":["../node_modules/@radix-ui/react-toggle/dist/index.mjs","../node_modules/@radix-ui/react-toggle-group/dist/index.mjs","../src/react/primitives/toggle.tsx"],"sourcesContent":["\"use client\";\n\n// src/toggle.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Toggle\";\nvar Toggle = React.forwardRef((props, forwardedRef) => {\n const { pressed: pressedProp, defaultPressed, onPressedChange, ...buttonProps } = props;\n const [pressed, setPressed] = useControllableState({\n prop: pressedProp,\n onChange: onPressedChange,\n defaultProp: defaultPressed ?? false,\n caller: NAME\n });\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-pressed\": pressed,\n \"data-state\": pressed ? \"on\" : \"off\",\n \"data-disabled\": props.disabled ? \"\" : void 0,\n ...buttonProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => {\n if (!props.disabled) {\n setPressed(!pressed);\n }\n })\n }\n );\n});\nToggle.displayName = NAME;\nvar Root = Toggle;\nexport {\n Root,\n Toggle\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/toggle-group.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { Toggle } from \"@radix-ui/react-toggle\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar TOGGLE_GROUP_NAME = \"ToggleGroup\";\nvar [createToggleGroupContext, createToggleGroupScope] = createContextScope(TOGGLE_GROUP_NAME, [\n createRovingFocusGroupScope\n]);\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar ToggleGroup = React.forwardRef((props, forwardedRef) => {\n const { type, ...toggleGroupProps } = props;\n if (type === \"single\") {\n const singleProps = toggleGroupProps;\n return /* @__PURE__ */ jsx(ToggleGroupImplSingle, { ...singleProps, ref: forwardedRef });\n }\n if (type === \"multiple\") {\n const multipleProps = toggleGroupProps;\n return /* @__PURE__ */ jsx(ToggleGroupImplMultiple, { ...multipleProps, ref: forwardedRef });\n }\n throw new Error(`Missing prop \\`type\\` expected on \\`${TOGGLE_GROUP_NAME}\\``);\n});\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\nvar [ToggleGroupValueProvider, useToggleGroupValueContext] = createToggleGroupContext(TOGGLE_GROUP_NAME);\nvar ToggleGroupImplSingle = React.forwardRef((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n ...toggleGroupSingleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? \"\",\n onChange: onValueChange,\n caller: TOGGLE_GROUP_NAME\n });\n return /* @__PURE__ */ jsx(\n ToggleGroupValueProvider,\n {\n scope: props.__scopeToggleGroup,\n type: \"single\",\n value: React.useMemo(() => value ? [value] : [], [value]),\n onItemActivate: setValue,\n onItemDeactivate: React.useCallback(() => setValue(\"\"), [setValue]),\n children: /* @__PURE__ */ jsx(ToggleGroupImpl, { ...toggleGroupSingleProps, ref: forwardedRef })\n }\n );\n});\nvar ToggleGroupImplMultiple = React.forwardRef((props, forwardedRef) => {\n const {\n value: valueProp,\n defaultValue,\n onValueChange = () => {\n },\n ...toggleGroupMultipleProps\n } = props;\n const [value, setValue] = useControllableState({\n prop: valueProp,\n defaultProp: defaultValue ?? [],\n onChange: onValueChange,\n caller: TOGGLE_GROUP_NAME\n });\n const handleButtonActivate = React.useCallback(\n (itemValue) => setValue((prevValue = []) => [...prevValue, itemValue]),\n [setValue]\n );\n const handleButtonDeactivate = React.useCallback(\n (itemValue) => setValue((prevValue = []) => prevValue.filter((value2) => value2 !== itemValue)),\n [setValue]\n );\n return /* @__PURE__ */ jsx(\n ToggleGroupValueProvider,\n {\n scope: props.__scopeToggleGroup,\n type: \"multiple\",\n value,\n onItemActivate: handleButtonActivate,\n onItemDeactivate: handleButtonDeactivate,\n children: /* @__PURE__ */ jsx(ToggleGroupImpl, { ...toggleGroupMultipleProps, ref: forwardedRef })\n }\n );\n});\nToggleGroup.displayName = TOGGLE_GROUP_NAME;\nvar [ToggleGroupContext, useToggleGroupContext] = createToggleGroupContext(TOGGLE_GROUP_NAME);\nvar ToggleGroupImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeToggleGroup,\n disabled = false,\n rovingFocus = true,\n orientation,\n dir,\n loop = true,\n ...toggleGroupProps\n } = props;\n const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeToggleGroup);\n const direction = useDirection(dir);\n const commonProps = { role: \"group\", dir: direction, ...toggleGroupProps };\n return /* @__PURE__ */ jsx(ToggleGroupContext, { scope: __scopeToggleGroup, rovingFocus, disabled, children: rovingFocus ? /* @__PURE__ */ jsx(\n RovingFocusGroup.Root,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n orientation,\n dir: direction,\n loop,\n children: /* @__PURE__ */ jsx(Primitive.div, { ...commonProps, ref: forwardedRef })\n }\n ) : /* @__PURE__ */ jsx(Primitive.div, { ...commonProps, ref: forwardedRef }) });\n }\n);\nvar ITEM_NAME = \"ToggleGroupItem\";\nvar ToggleGroupItem = React.forwardRef(\n (props, forwardedRef) => {\n const valueContext = useToggleGroupValueContext(ITEM_NAME, props.__scopeToggleGroup);\n const context = useToggleGroupContext(ITEM_NAME, props.__scopeToggleGroup);\n const rovingFocusGroupScope = useRovingFocusGroupScope(props.__scopeToggleGroup);\n const pressed = valueContext.value.includes(props.value);\n const disabled = context.disabled || props.disabled;\n const commonProps = { ...props, pressed, disabled };\n const ref = React.useRef(null);\n return context.rovingFocus ? /* @__PURE__ */ jsx(\n RovingFocusGroup.Item,\n {\n asChild: true,\n ...rovingFocusGroupScope,\n focusable: !disabled,\n active: pressed,\n ref,\n children: /* @__PURE__ */ jsx(ToggleGroupItemImpl, { ...commonProps, ref: forwardedRef })\n }\n ) : /* @__PURE__ */ jsx(ToggleGroupItemImpl, { ...commonProps, ref: forwardedRef });\n }\n);\nToggleGroupItem.displayName = ITEM_NAME;\nvar ToggleGroupItemImpl = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeToggleGroup, value, ...itemProps } = props;\n const valueContext = useToggleGroupValueContext(ITEM_NAME, __scopeToggleGroup);\n const singleProps = { role: \"radio\", \"aria-checked\": props.pressed, \"aria-pressed\": void 0 };\n const typeProps = valueContext.type === \"single\" ? singleProps : void 0;\n return /* @__PURE__ */ jsx(\n Toggle,\n {\n ...typeProps,\n ...itemProps,\n ref: forwardedRef,\n onPressedChange: (pressed) => {\n if (pressed) {\n valueContext.onItemActivate(value);\n } else {\n valueContext.onItemDeactivate(value);\n }\n }\n }\n );\n }\n);\nvar Root2 = ToggleGroup;\nvar Item2 = ToggleGroupItem;\nexport {\n Item2 as Item,\n Root2 as Root,\n ToggleGroup,\n ToggleGroupItem,\n createToggleGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from 'react'\nimport * as TogglePrimitive from '@radix-ui/react-toggle'\nimport * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from './utils'\n\nconst toggleVariants = cva(\n cn(\n 'inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium transition-colors',\n 'hover:bg-accent hover:text-accent-foreground',\n 'focus-visible:ring-ring focus-visible:ring-offset-background focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none',\n 'disabled:pointer-events-none disabled:opacity-50',\n 'data-[state=on]:bg-accent data-[state=on]:text-accent-foreground',\n '[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*=\"size-\"])]:size-4'\n ),\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n outline:\n 'border-border-glass bg-transparent border shadow-sm hover:bg-accent hover:text-accent-foreground',\n },\n size: {\n default: 'h-9 min-w-9 px-3',\n sm: 'h-8 min-w-8 px-2',\n lg: 'h-10 min-w-10 px-4',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n }\n)\n\nfunction Toggle({\n className,\n variant,\n size,\n ...props\n}: React.ComponentProps<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>) {\n return (\n <TogglePrimitive.Root\n data-slot=\"toggle\"\n className={cn(toggleVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nconst ToggleGroupContext = React.createContext<VariantProps<typeof toggleVariants>>({\n size: 'default',\n variant: 'default',\n})\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Root> & VariantProps<typeof toggleVariants>) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n className={cn(\n 'flex items-center gap-1',\n props.orientation === 'vertical' && 'flex-col',\n className\n )}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n )\n}\n\nfunction ToggleGroupItem({\n className,\n variant,\n size,\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Item> & VariantProps<typeof toggleVariants>) {\n const context = React.useContext(ToggleGroupContext)\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n className={cn(\n toggleVariants({\n variant: variant ?? context.variant,\n size: size ?? context.size,\n }),\n className\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n )\n}\n\nexport { Toggle, ToggleGroup, ToggleGroupItem, toggleVariants }\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
@@ -120,4 +120,4 @@ var r = class {
120
120
  //#endregion
121
121
  export { r as n, i as t };
122
122
 
123
- //# sourceMappingURL=toggle-D-WMiAg3.js.map
123
+ //# sourceMappingURL=toggle-IUUynh_v.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-D-WMiAg3.js","names":[],"sources":["../src/primitives/toggle/toggle-group.ts","../src/primitives/toggle/index.ts"],"sourcesContent":["/**\n * ToggleGroup - Groups toggle buttons for single or multiple selection\n * @countermeasure/web-components/primitives/toggle\n */\n\nimport { type ToggleGroupConfig, type ToggleGroupItem, type ToggleGroupType } from './types'\nimport { resolveContainer, uniqueId } from '../utils'\nimport { setSafeIconHtml } from '../../utils/sanitize'\n\ninterface ManagedToggle {\n value: string\n el: HTMLButtonElement\n handler: () => void\n}\n\nexport class ToggleGroup {\n public readonly el: HTMLDivElement\n\n private readonly groupId: string\n private readonly groupType: ToggleGroupType\n private readonly orientation: 'horizontal' | 'vertical'\n private readonly toggles: ManagedToggle[] = []\n private selectedValues: Set<string>\n private isDisabled = false\n private readonly onChangeCallback: ((value: string | string[]) => void) | undefined\n\n constructor(config: ToggleGroupConfig) {\n this.groupId = uniqueId('cmm-toggle-group')\n this.groupType = config.type ?? 'single'\n this.orientation = config.orientation ?? 'horizontal'\n this.onChangeCallback = config.onChange\n\n // Initialize selected values\n this.selectedValues = new Set<string>()\n if (config.value !== undefined) {\n if (Array.isArray(config.value)) {\n for (const v of config.value) {\n this.selectedValues.add(v)\n }\n } else {\n this.selectedValues.add(config.value)\n }\n }\n\n // Create container\n this.el = document.createElement('div')\n this.el.id = this.groupId\n this.el.className = this.buildClassName(config.className)\n this.el.setAttribute('role', 'group')\n\n if (config.ariaLabel !== undefined) {\n this.el.setAttribute('aria-label', config.ariaLabel)\n }\n\n // Disabled state\n if (config.disabled === true) {\n this.isDisabled = true\n }\n\n // Mount if container provided\n if (config.container !== undefined) {\n const parent = resolveContainer(config.container)\n parent.appendChild(this.el)\n }\n }\n\n /** Add a single toggle item to the group */\n addItem(item: ToggleGroupItem): void {\n const btn = document.createElement('button')\n btn.type = 'button'\n btn.className = 'cmm-toggle cmm-toggle--outline'\n btn.dataset.value = item.value\n btn.setAttribute('aria-pressed', String(this.selectedValues.has(item.value)))\n\n if (item.ariaLabel !== undefined) {\n btn.setAttribute('aria-label', item.ariaLabel)\n }\n\n if (item.disabled === true || this.isDisabled) {\n btn.disabled = true\n }\n\n // Build content\n if (item.icon !== undefined) {\n const iconEl = document.createElement('span')\n iconEl.className = 'cmm-toggle__icon'\n setSafeIconHtml(iconEl, item.icon)\n btn.appendChild(iconEl)\n }\n\n if (item.label !== undefined) {\n const labelEl = document.createElement('span')\n labelEl.className = 'cmm-toggle__label'\n labelEl.textContent = item.label\n btn.appendChild(labelEl)\n }\n\n // Apply pressed class if initially selected\n if (this.selectedValues.has(item.value)) {\n btn.classList.add('cmm-toggle--pressed')\n }\n\n // Click handler\n const handler = () => {\n this.handleToggleClick(item.value)\n }\n btn.addEventListener('click', handler)\n\n const managed: ManagedToggle = { value: item.value, el: btn, handler }\n this.toggles.push(managed)\n this.el.appendChild(btn)\n }\n\n /** Replace all items */\n setItems(items: ToggleGroupItem[]): void {\n this.clearItems()\n for (const item of items) {\n this.addItem(item)\n }\n }\n\n /** Get current value(s) */\n getValue(): string | string[] {\n if (this.groupType === 'single') {\n const values = [...this.selectedValues]\n return values[0] ?? ''\n }\n return [...this.selectedValues]\n }\n\n /** Set current value(s) */\n setValue(value: string | string[]): void {\n this.selectedValues.clear()\n if (Array.isArray(value)) {\n for (const v of value) {\n this.selectedValues.add(v)\n }\n } else {\n this.selectedValues.add(value)\n }\n this.syncToggles()\n }\n\n /** Set the disabled state for all toggles */\n setDisabled(disabled: boolean): void {\n this.isDisabled = disabled\n for (const managed of this.toggles) {\n managed.el.disabled = disabled\n }\n }\n\n /** Remove from DOM and clean up */\n destroy(): void {\n for (const managed of this.toggles) {\n managed.el.removeEventListener('click', managed.handler)\n }\n this.toggles.length = 0\n this.el.remove()\n }\n\n private handleToggleClick(value: string): void {\n if (this.groupType === 'single') {\n // In single mode, if already selected, deselect; otherwise select only this one\n if (this.selectedValues.has(value)) {\n this.selectedValues.delete(value)\n } else {\n this.selectedValues.clear()\n this.selectedValues.add(value)\n }\n } else {\n // In multiple mode, toggle the clicked value\n if (this.selectedValues.has(value)) {\n this.selectedValues.delete(value)\n } else {\n this.selectedValues.add(value)\n }\n }\n\n this.syncToggles()\n this.onChangeCallback?.(this.getValue())\n }\n\n private syncToggles(): void {\n for (const managed of this.toggles) {\n const isSelected = this.selectedValues.has(managed.value)\n managed.el.setAttribute('aria-pressed', String(isSelected))\n if (isSelected) {\n managed.el.classList.add('cmm-toggle--pressed')\n } else {\n managed.el.classList.remove('cmm-toggle--pressed')\n }\n }\n }\n\n private clearItems(): void {\n for (const managed of this.toggles) {\n managed.el.removeEventListener('click', managed.handler)\n managed.el.remove()\n }\n this.toggles.length = 0\n }\n\n private buildClassName(extra?: string): string {\n const classes = ['cmm-toggle-group', `cmm-toggle-group--${this.orientation}`]\n if (extra) {\n classes.push(extra)\n }\n return classes.join(' ')\n }\n}\n","/**\n * Toggle - Pressable toggle button component\n * @countermeasure/web-components/primitives/toggle\n */\n\nimport { type ToggleConfig, type ToggleVariant } from './types'\nimport { resolveContainer, uniqueId } from '../utils'\nimport { setSafeIconHtml } from '../../utils/sanitize'\n\nexport type {\n ToggleConfig,\n ToggleVariant,\n ToggleGroupType,\n ToggleGroupConfig,\n ToggleGroupItem,\n} from './types'\nexport { ToggleGroup } from './toggle-group'\n\nexport class Toggle {\n public readonly el: HTMLButtonElement\n\n private readonly toggleId: string\n private currentVariant: ToggleVariant\n private pressed: boolean\n private readonly clickHandler: () => void\n private readonly onChangeCallback: ((pressed: boolean) => void) | undefined\n\n constructor(config: ToggleConfig) {\n this.toggleId = uniqueId('cmm-toggle')\n this.currentVariant = config.variant ?? 'default'\n this.pressed = config.pressed === true\n this.onChangeCallback = config.onChange\n\n // Create the button element\n this.el = document.createElement('button')\n this.el.type = 'button'\n this.el.id = this.toggleId\n this.el.className = this.buildClassName(config.className)\n this.el.setAttribute('aria-pressed', String(this.pressed))\n\n if (config.ariaLabel !== undefined) {\n this.el.setAttribute('aria-label', config.ariaLabel)\n }\n\n // Build inner content\n if (config.icon !== undefined) {\n const iconEl = document.createElement('span')\n iconEl.className = 'cmm-toggle__icon'\n setSafeIconHtml(iconEl, config.icon)\n this.el.appendChild(iconEl)\n }\n\n if (config.label !== undefined) {\n const labelEl = document.createElement('span')\n labelEl.className = 'cmm-toggle__label'\n labelEl.textContent = config.label\n this.el.appendChild(labelEl)\n }\n\n // Disabled state\n if (config.disabled === true) {\n this.el.disabled = true\n }\n\n // Click handler\n this.clickHandler = () => {\n this.pressed = !this.pressed\n this.updatePressedState()\n this.onChangeCallback?.(this.pressed)\n }\n this.el.addEventListener('click', this.clickHandler)\n\n // Mount if container provided\n if (config.container !== undefined) {\n const parent = resolveContainer(config.container)\n parent.appendChild(this.el)\n }\n }\n\n /** Returns whether the toggle is pressed */\n isPressed(): boolean {\n return this.pressed\n }\n\n /** Programmatically set the pressed state */\n setPressed(pressed: boolean): void {\n if (pressed !== this.pressed) {\n this.pressed = pressed\n this.updatePressedState()\n }\n }\n\n /** Set the disabled state */\n setDisabled(disabled: boolean): void {\n this.el.disabled = disabled\n }\n\n /** Change the variant */\n setVariant(variant: ToggleVariant): void {\n this.el.classList.remove(`cmm-toggle--${this.currentVariant}`)\n this.currentVariant = variant\n this.el.classList.add(`cmm-toggle--${this.currentVariant}`)\n }\n\n /** Remove from DOM and clean up */\n destroy(): void {\n this.el.removeEventListener('click', this.clickHandler)\n this.el.remove()\n }\n\n private updatePressedState(): void {\n this.el.setAttribute('aria-pressed', String(this.pressed))\n if (this.pressed) {\n this.el.classList.add('cmm-toggle--pressed')\n } else {\n this.el.classList.remove('cmm-toggle--pressed')\n }\n }\n\n private buildClassName(extra?: string): string {\n const classes = ['cmm-toggle', `cmm-toggle--${this.currentVariant}`]\n if (this.pressed) {\n classes.push('cmm-toggle--pressed')\n }\n if (extra) {\n classes.push(extra)\n }\n return classes.join(' ')\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"toggle-IUUynh_v.js","names":[],"sources":["../src/primitives/toggle/toggle-group.ts","../src/primitives/toggle/index.ts"],"sourcesContent":["/**\n * ToggleGroup - Groups toggle buttons for single or multiple selection\n * @countermeasure/web-components/primitives/toggle\n */\n\nimport { type ToggleGroupConfig, type ToggleGroupItem, type ToggleGroupType } from './types'\nimport { resolveContainer, uniqueId } from '../utils'\nimport { setSafeIconHtml } from '../../utils/sanitize'\n\ninterface ManagedToggle {\n value: string\n el: HTMLButtonElement\n handler: () => void\n}\n\nexport class ToggleGroup {\n public readonly el: HTMLDivElement\n\n private readonly groupId: string\n private readonly groupType: ToggleGroupType\n private readonly orientation: 'horizontal' | 'vertical'\n private readonly toggles: ManagedToggle[] = []\n private selectedValues: Set<string>\n private isDisabled = false\n private readonly onChangeCallback: ((value: string | string[]) => void) | undefined\n\n constructor(config: ToggleGroupConfig) {\n this.groupId = uniqueId('cmm-toggle-group')\n this.groupType = config.type ?? 'single'\n this.orientation = config.orientation ?? 'horizontal'\n this.onChangeCallback = config.onChange\n\n // Initialize selected values\n this.selectedValues = new Set<string>()\n if (config.value !== undefined) {\n if (Array.isArray(config.value)) {\n for (const v of config.value) {\n this.selectedValues.add(v)\n }\n } else {\n this.selectedValues.add(config.value)\n }\n }\n\n // Create container\n this.el = document.createElement('div')\n this.el.id = this.groupId\n this.el.className = this.buildClassName(config.className)\n this.el.setAttribute('role', 'group')\n\n if (config.ariaLabel !== undefined) {\n this.el.setAttribute('aria-label', config.ariaLabel)\n }\n\n // Disabled state\n if (config.disabled === true) {\n this.isDisabled = true\n }\n\n // Mount if container provided\n if (config.container !== undefined) {\n const parent = resolveContainer(config.container)\n parent.appendChild(this.el)\n }\n }\n\n /** Add a single toggle item to the group */\n addItem(item: ToggleGroupItem): void {\n const btn = document.createElement('button')\n btn.type = 'button'\n btn.className = 'cmm-toggle cmm-toggle--outline'\n btn.dataset.value = item.value\n btn.setAttribute('aria-pressed', String(this.selectedValues.has(item.value)))\n\n if (item.ariaLabel !== undefined) {\n btn.setAttribute('aria-label', item.ariaLabel)\n }\n\n if (item.disabled === true || this.isDisabled) {\n btn.disabled = true\n }\n\n // Build content\n if (item.icon !== undefined) {\n const iconEl = document.createElement('span')\n iconEl.className = 'cmm-toggle__icon'\n setSafeIconHtml(iconEl, item.icon)\n btn.appendChild(iconEl)\n }\n\n if (item.label !== undefined) {\n const labelEl = document.createElement('span')\n labelEl.className = 'cmm-toggle__label'\n labelEl.textContent = item.label\n btn.appendChild(labelEl)\n }\n\n // Apply pressed class if initially selected\n if (this.selectedValues.has(item.value)) {\n btn.classList.add('cmm-toggle--pressed')\n }\n\n // Click handler\n const handler = () => {\n this.handleToggleClick(item.value)\n }\n btn.addEventListener('click', handler)\n\n const managed: ManagedToggle = { value: item.value, el: btn, handler }\n this.toggles.push(managed)\n this.el.appendChild(btn)\n }\n\n /** Replace all items */\n setItems(items: ToggleGroupItem[]): void {\n this.clearItems()\n for (const item of items) {\n this.addItem(item)\n }\n }\n\n /** Get current value(s) */\n getValue(): string | string[] {\n if (this.groupType === 'single') {\n const values = [...this.selectedValues]\n return values[0] ?? ''\n }\n return [...this.selectedValues]\n }\n\n /** Set current value(s) */\n setValue(value: string | string[]): void {\n this.selectedValues.clear()\n if (Array.isArray(value)) {\n for (const v of value) {\n this.selectedValues.add(v)\n }\n } else {\n this.selectedValues.add(value)\n }\n this.syncToggles()\n }\n\n /** Set the disabled state for all toggles */\n setDisabled(disabled: boolean): void {\n this.isDisabled = disabled\n for (const managed of this.toggles) {\n managed.el.disabled = disabled\n }\n }\n\n /** Remove from DOM and clean up */\n destroy(): void {\n for (const managed of this.toggles) {\n managed.el.removeEventListener('click', managed.handler)\n }\n this.toggles.length = 0\n this.el.remove()\n }\n\n private handleToggleClick(value: string): void {\n if (this.groupType === 'single') {\n // In single mode, if already selected, deselect; otherwise select only this one\n if (this.selectedValues.has(value)) {\n this.selectedValues.delete(value)\n } else {\n this.selectedValues.clear()\n this.selectedValues.add(value)\n }\n } else {\n // In multiple mode, toggle the clicked value\n if (this.selectedValues.has(value)) {\n this.selectedValues.delete(value)\n } else {\n this.selectedValues.add(value)\n }\n }\n\n this.syncToggles()\n this.onChangeCallback?.(this.getValue())\n }\n\n private syncToggles(): void {\n for (const managed of this.toggles) {\n const isSelected = this.selectedValues.has(managed.value)\n managed.el.setAttribute('aria-pressed', String(isSelected))\n if (isSelected) {\n managed.el.classList.add('cmm-toggle--pressed')\n } else {\n managed.el.classList.remove('cmm-toggle--pressed')\n }\n }\n }\n\n private clearItems(): void {\n for (const managed of this.toggles) {\n managed.el.removeEventListener('click', managed.handler)\n managed.el.remove()\n }\n this.toggles.length = 0\n }\n\n private buildClassName(extra?: string): string {\n const classes = ['cmm-toggle-group', `cmm-toggle-group--${this.orientation}`]\n if (extra) {\n classes.push(extra)\n }\n return classes.join(' ')\n }\n}\n","/**\n * Toggle - Pressable toggle button component\n * @countermeasure/web-components/primitives/toggle\n */\n\nimport { type ToggleConfig, type ToggleVariant } from './types'\nimport { resolveContainer, uniqueId } from '../utils'\nimport { setSafeIconHtml } from '../../utils/sanitize'\n\nexport type {\n ToggleConfig,\n ToggleVariant,\n ToggleGroupType,\n ToggleGroupConfig,\n ToggleGroupItem,\n} from './types'\nexport { ToggleGroup } from './toggle-group'\n\nexport class Toggle {\n public readonly el: HTMLButtonElement\n\n private readonly toggleId: string\n private currentVariant: ToggleVariant\n private pressed: boolean\n private readonly clickHandler: () => void\n private readonly onChangeCallback: ((pressed: boolean) => void) | undefined\n\n constructor(config: ToggleConfig) {\n this.toggleId = uniqueId('cmm-toggle')\n this.currentVariant = config.variant ?? 'default'\n this.pressed = config.pressed === true\n this.onChangeCallback = config.onChange\n\n // Create the button element\n this.el = document.createElement('button')\n this.el.type = 'button'\n this.el.id = this.toggleId\n this.el.className = this.buildClassName(config.className)\n this.el.setAttribute('aria-pressed', String(this.pressed))\n\n if (config.ariaLabel !== undefined) {\n this.el.setAttribute('aria-label', config.ariaLabel)\n }\n\n // Build inner content\n if (config.icon !== undefined) {\n const iconEl = document.createElement('span')\n iconEl.className = 'cmm-toggle__icon'\n setSafeIconHtml(iconEl, config.icon)\n this.el.appendChild(iconEl)\n }\n\n if (config.label !== undefined) {\n const labelEl = document.createElement('span')\n labelEl.className = 'cmm-toggle__label'\n labelEl.textContent = config.label\n this.el.appendChild(labelEl)\n }\n\n // Disabled state\n if (config.disabled === true) {\n this.el.disabled = true\n }\n\n // Click handler\n this.clickHandler = () => {\n this.pressed = !this.pressed\n this.updatePressedState()\n this.onChangeCallback?.(this.pressed)\n }\n this.el.addEventListener('click', this.clickHandler)\n\n // Mount if container provided\n if (config.container !== undefined) {\n const parent = resolveContainer(config.container)\n parent.appendChild(this.el)\n }\n }\n\n /** Returns whether the toggle is pressed */\n isPressed(): boolean {\n return this.pressed\n }\n\n /** Programmatically set the pressed state */\n setPressed(pressed: boolean): void {\n if (pressed !== this.pressed) {\n this.pressed = pressed\n this.updatePressedState()\n }\n }\n\n /** Set the disabled state */\n setDisabled(disabled: boolean): void {\n this.el.disabled = disabled\n }\n\n /** Change the variant */\n setVariant(variant: ToggleVariant): void {\n this.el.classList.remove(`cmm-toggle--${this.currentVariant}`)\n this.currentVariant = variant\n this.el.classList.add(`cmm-toggle--${this.currentVariant}`)\n }\n\n /** Remove from DOM and clean up */\n destroy(): void {\n this.el.removeEventListener('click', this.clickHandler)\n this.el.remove()\n }\n\n private updatePressedState(): void {\n this.el.setAttribute('aria-pressed', String(this.pressed))\n if (this.pressed) {\n this.el.classList.add('cmm-toggle--pressed')\n } else {\n this.el.classList.remove('cmm-toggle--pressed')\n }\n }\n\n private buildClassName(extra?: string): string {\n const classes = ['cmm-toggle', `cmm-toggle--${this.currentVariant}`]\n if (this.pressed) {\n classes.push('cmm-toggle--pressed')\n }\n if (extra) {\n classes.push(extra)\n }\n return classes.join(' ')\n }\n}\n"],"mappings":";;;AAeA,IAAa,IAAb,MAAyB;CACvB;CAEA;CACA;CACA;CACA,UAA4C,EAAE;CAC9C;CACA,aAAqB;CACrB;CAEA,YAAY,GAA2B;AAQrC,MAPA,KAAK,UAAU,EAAS,mBAAmB,EAC3C,KAAK,YAAY,EAAO,QAAQ,UAChC,KAAK,cAAc,EAAO,eAAe,cACzC,KAAK,mBAAmB,EAAO,UAG/B,KAAK,iCAAiB,IAAI,KAAa,EACnC,EAAO,UAAU,KAAA,EACnB,KAAI,MAAM,QAAQ,EAAO,MAAM,CAC7B,MAAK,IAAM,KAAK,EAAO,MACrB,MAAK,eAAe,IAAI,EAAE;MAG5B,MAAK,eAAe,IAAI,EAAO,MAAM;AAoBzC,EAfA,KAAK,KAAK,SAAS,cAAc,MAAM,EACvC,KAAK,GAAG,KAAK,KAAK,SAClB,KAAK,GAAG,YAAY,KAAK,eAAe,EAAO,UAAU,EACzD,KAAK,GAAG,aAAa,QAAQ,QAAQ,EAEjC,EAAO,cAAc,KAAA,KACvB,KAAK,GAAG,aAAa,cAAc,EAAO,UAAU,EAIlD,EAAO,aAAa,OACtB,KAAK,aAAa,KAIhB,EAAO,cAAc,KAAA,KACR,EAAiB,EAAO,UAAU,CAC1C,YAAY,KAAK,GAAG;;CAK/B,QAAQ,GAA6B;EACnC,IAAM,IAAM,SAAS,cAAc,SAAS;AAe5C,MAdA,EAAI,OAAO,UACX,EAAI,YAAY,kCAChB,EAAI,QAAQ,QAAQ,EAAK,OACzB,EAAI,aAAa,gBAAgB,OAAO,KAAK,eAAe,IAAI,EAAK,MAAM,CAAC,CAAC,EAEzE,EAAK,cAAc,KAAA,KACrB,EAAI,aAAa,cAAc,EAAK,UAAU,GAG5C,EAAK,aAAa,MAAQ,KAAK,gBACjC,EAAI,WAAW,KAIb,EAAK,SAAS,KAAA,GAAW;GAC3B,IAAM,IAAS,SAAS,cAAc,OAAO;AAG7C,GAFA,EAAO,YAAY,oBACnB,EAAgB,GAAQ,EAAK,KAAK,EAClC,EAAI,YAAY,EAAO;;AAGzB,MAAI,EAAK,UAAU,KAAA,GAAW;GAC5B,IAAM,IAAU,SAAS,cAAc,OAAO;AAG9C,GAFA,EAAQ,YAAY,qBACpB,EAAQ,cAAc,EAAK,OAC3B,EAAI,YAAY,EAAQ;;AAI1B,EAAI,KAAK,eAAe,IAAI,EAAK,MAAM,IACrC,EAAI,UAAU,IAAI,sBAAsB;EAI1C,IAAM,UAAgB;AACpB,QAAK,kBAAkB,EAAK,MAAM;;AAEpC,IAAI,iBAAiB,SAAS,EAAQ;EAEtC,IAAM,IAAyB;GAAE,OAAO,EAAK;GAAO,IAAI;GAAK;GAAS;AAEtE,EADA,KAAK,QAAQ,KAAK,EAAQ,EAC1B,KAAK,GAAG,YAAY,EAAI;;CAI1B,SAAS,GAAgC;AACvC,OAAK,YAAY;AACjB,OAAK,IAAM,KAAQ,EACjB,MAAK,QAAQ,EAAK;;CAKtB,WAA8B;AAK5B,SAJI,KAAK,cAAc,WACN,CAAC,GAAG,KAAK,eAAe,CACzB,MAAM,KAEf,CAAC,GAAG,KAAK,eAAe;;CAIjC,SAAS,GAAgC;AAEvC,MADA,KAAK,eAAe,OAAO,EACvB,MAAM,QAAQ,EAAM,CACtB,MAAK,IAAM,KAAK,EACd,MAAK,eAAe,IAAI,EAAE;MAG5B,MAAK,eAAe,IAAI,EAAM;AAEhC,OAAK,aAAa;;CAIpB,YAAY,GAAyB;AACnC,OAAK,aAAa;AAClB,OAAK,IAAM,KAAW,KAAK,QACzB,GAAQ,GAAG,WAAW;;CAK1B,UAAgB;AACd,OAAK,IAAM,KAAW,KAAK,QACzB,GAAQ,GAAG,oBAAoB,SAAS,EAAQ,QAAQ;AAG1D,EADA,KAAK,QAAQ,SAAS,GACtB,KAAK,GAAG,QAAQ;;CAGlB,kBAA0B,GAAqB;AAmB7C,EAlBI,KAAK,cAAc,WAEjB,KAAK,eAAe,IAAI,EAAM,GAChC,KAAK,eAAe,OAAO,EAAM,IAEjC,KAAK,eAAe,OAAO,EAC3B,KAAK,eAAe,IAAI,EAAM,IAI5B,KAAK,eAAe,IAAI,EAAM,GAChC,KAAK,eAAe,OAAO,EAAM,GAEjC,KAAK,eAAe,IAAI,EAAM,EAIlC,KAAK,aAAa,EAClB,KAAK,mBAAmB,KAAK,UAAU,CAAC;;CAG1C,cAA4B;AAC1B,OAAK,IAAM,KAAW,KAAK,SAAS;GAClC,IAAM,IAAa,KAAK,eAAe,IAAI,EAAQ,MAAM;AAEzD,GADA,EAAQ,GAAG,aAAa,gBAAgB,OAAO,EAAW,CAAC,EACvD,IACF,EAAQ,GAAG,UAAU,IAAI,sBAAsB,GAE/C,EAAQ,GAAG,UAAU,OAAO,sBAAsB;;;CAKxD,aAA2B;AACzB,OAAK,IAAM,KAAW,KAAK,QAEzB,CADA,EAAQ,GAAG,oBAAoB,SAAS,EAAQ,QAAQ,EACxD,EAAQ,GAAG,QAAQ;AAErB,OAAK,QAAQ,SAAS;;CAGxB,eAAuB,GAAwB;EAC7C,IAAM,IAAU,CAAC,oBAAoB,qBAAqB,KAAK,cAAc;AAI7E,SAHI,KACF,EAAQ,KAAK,EAAM,EAEd,EAAQ,KAAK,IAAI;;GC7Lf,IAAb,MAAoB;CAClB;CAEA;CACA;CACA;CACA;CACA;CAEA,YAAY,GAAsB;AAkBhC,MAjBA,KAAK,WAAW,EAAS,aAAa,EACtC,KAAK,iBAAiB,EAAO,WAAW,WACxC,KAAK,UAAU,EAAO,YAAY,IAClC,KAAK,mBAAmB,EAAO,UAG/B,KAAK,KAAK,SAAS,cAAc,SAAS,EAC1C,KAAK,GAAG,OAAO,UACf,KAAK,GAAG,KAAK,KAAK,UAClB,KAAK,GAAG,YAAY,KAAK,eAAe,EAAO,UAAU,EACzD,KAAK,GAAG,aAAa,gBAAgB,OAAO,KAAK,QAAQ,CAAC,EAEtD,EAAO,cAAc,KAAA,KACvB,KAAK,GAAG,aAAa,cAAc,EAAO,UAAU,EAIlD,EAAO,SAAS,KAAA,GAAW;GAC7B,IAAM,IAAS,SAAS,cAAc,OAAO;AAG7C,GAFA,EAAO,YAAY,oBACnB,EAAgB,GAAQ,EAAO,KAAK,EACpC,KAAK,GAAG,YAAY,EAAO;;AAG7B,MAAI,EAAO,UAAU,KAAA,GAAW;GAC9B,IAAM,IAAU,SAAS,cAAc,OAAO;AAG9C,GAFA,EAAQ,YAAY,qBACpB,EAAQ,cAAc,EAAO,OAC7B,KAAK,GAAG,YAAY,EAAQ;;AAiB9B,EAbI,EAAO,aAAa,OACtB,KAAK,GAAG,WAAW,KAIrB,KAAK,qBAAqB;AAGxB,GAFA,KAAK,UAAU,CAAC,KAAK,SACrB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,KAAK,QAAQ;KAEvC,KAAK,GAAG,iBAAiB,SAAS,KAAK,aAAa,EAGhD,EAAO,cAAc,KAAA,KACR,EAAiB,EAAO,UAAU,CAC1C,YAAY,KAAK,GAAG;;CAK/B,YAAqB;AACnB,SAAO,KAAK;;CAId,WAAW,GAAwB;AACjC,EAAI,MAAY,KAAK,YACnB,KAAK,UAAU,GACf,KAAK,oBAAoB;;CAK7B,YAAY,GAAyB;AACnC,OAAK,GAAG,WAAW;;CAIrB,WAAW,GAA8B;AAGvC,EAFA,KAAK,GAAG,UAAU,OAAO,eAAe,KAAK,iBAAiB,EAC9D,KAAK,iBAAiB,GACtB,KAAK,GAAG,UAAU,IAAI,eAAe,KAAK,iBAAiB;;CAI7D,UAAgB;AAEd,EADA,KAAK,GAAG,oBAAoB,SAAS,KAAK,aAAa,EACvD,KAAK,GAAG,QAAQ;;CAGlB,qBAAmC;AAEjC,EADA,KAAK,GAAG,aAAa,gBAAgB,OAAO,KAAK,QAAQ,CAAC,EACtD,KAAK,UACP,KAAK,GAAG,UAAU,IAAI,sBAAsB,GAE5C,KAAK,GAAG,UAAU,OAAO,sBAAsB;;CAInD,eAAuB,GAAwB;EAC7C,IAAM,IAAU,CAAC,cAAc,eAAe,KAAK,iBAAiB;AAOpE,SANI,KAAK,WACP,EAAQ,KAAK,sBAAsB,EAEjC,KACF,EAAQ,KAAK,EAAM,EAEd,EAAQ,KAAK,IAAI"}
@@ -1,13 +1,13 @@
1
- import { t as e } from "./utils-B7XIe3qq.js";
2
- import { n as t } from "./dist-CTlQcJNK.js";
3
- import { a as n, o as r, t as i } from "./dist-koa_pEtu.js";
4
- import { t as a } from "./dist-CpMqmV-i.js";
5
- import { t as o } from "./dist-C0wG5dwG.js";
6
- import { t as s } from "./dist-BBVMDH9A.js";
7
- import { t as c } from "./dist-DGayZ3ok2.js";
8
- import { t as l } from "./dist-DxtM7vvP.js";
9
- import { a as u, i as d, n as f, r as p, t as m } from "./dist-CbqFryer.js";
10
- import { t as h } from "./dist-CcNjOWyQ.js";
1
+ import { t as e } from "./utils-DcOSDVkb.js";
2
+ import { n as t } from "./dist-W53Bo1BJ.js";
3
+ import { a as n, o as r, t as i } from "./dist-CjZz16VT.js";
4
+ import { t as a } from "./dist-r_mYhsAH.js";
5
+ import { t as o } from "./dist-DYQiYO9a.js";
6
+ import { t as s } from "./dist-DN5XnB8I.js";
7
+ import { t as c } from "./dist-e5OOjxMa.js";
8
+ import { t as l } from "./dist-QzxcNtrD.js";
9
+ import { a as u, i as d, n as f, r as p, t as m } from "./dist-BhO08NBU.js";
10
+ import { t as h } from "./dist-Br_I_YIY.js";
11
11
  import * as g from "react";
12
12
  import { Fragment as _, jsx as v, jsxs as y } from "react/jsx-runtime";
13
13
  //#region node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot/dist/index.mjs
@@ -382,4 +382,4 @@ function fe({ className: t, ...n }) {
382
382
  //#endregion
383
383
  export { ue as a, ce as i, fe as n, de as r, le as t };
384
384
 
385
- //# sourceMappingURL=tooltip-DuC73a5E.js.map
385
+ //# sourceMappingURL=tooltip-NKOSxS28.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tooltip-DuC73a5E.js","names":["Fragment2","TooltipProvider","React","Tooltip","useId","PopperPrimitive.Root","TooltipTrigger","PopperPrimitive.Anchor","PortalPrimitive","TooltipContent","PopperPrimitive.Content","VisuallyHiddenPrimitive.Root","TooltipArrow","PopperPrimitive.Arrow"],"sources":["../node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot/dist/index.mjs","../node_modules/@radix-ui/react-tooltip/dist/index.mjs","../src/react/primitives/tooltip.tsx"],"sourcesContent":["// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/tooltip.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlottable } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHiddenPrimitive from \"@radix-ui/react-visually-hidden\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar [createTooltipContext, createTooltipScope] = createContextScope(\"Tooltip\", [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar PROVIDER_NAME = \"TooltipProvider\";\nvar DEFAULT_DELAY_DURATION = 700;\nvar TOOLTIP_OPEN = \"tooltip.open\";\nvar [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);\nvar TooltipProvider = (props) => {\n const {\n __scopeTooltip,\n delayDuration = DEFAULT_DELAY_DURATION,\n skipDelayDuration = 300,\n disableHoverableContent = false,\n children\n } = props;\n const isOpenDelayedRef = React.useRef(true);\n const isPointerInTransitRef = React.useRef(false);\n const skipDelayTimerRef = React.useRef(0);\n React.useEffect(() => {\n const skipDelayTimer = skipDelayTimerRef.current;\n return () => window.clearTimeout(skipDelayTimer);\n }, []);\n return /* @__PURE__ */ jsx(\n TooltipProviderContextProvider,\n {\n scope: __scopeTooltip,\n isOpenDelayedRef,\n delayDuration,\n onOpen: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n isOpenDelayedRef.current = false;\n }, []),\n onClose: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => isOpenDelayedRef.current = true,\n skipDelayDuration\n );\n }, [skipDelayDuration]),\n isPointerInTransitRef,\n onPointerInTransitChange: React.useCallback((inTransit) => {\n isPointerInTransitRef.current = inTransit;\n }, []),\n disableHoverableContent,\n children\n }\n );\n};\nTooltipProvider.displayName = PROVIDER_NAME;\nvar TOOLTIP_NAME = \"Tooltip\";\nvar [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);\nvar Tooltip = (props) => {\n const {\n __scopeTooltip,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n disableHoverableContent: disableHoverableContentProp,\n delayDuration: delayDurationProp\n } = props;\n const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const [trigger, setTrigger] = React.useState(null);\n const contentId = useId();\n const openTimerRef = React.useRef(0);\n const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;\n const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n const wasOpenDelayedRef = React.useRef(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: (open2) => {\n if (open2) {\n providerContext.onOpen();\n document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n } else {\n providerContext.onClose();\n }\n onOpenChange?.(open2);\n },\n caller: TOOLTIP_NAME\n });\n const stateAttribute = React.useMemo(() => {\n return open ? wasOpenDelayedRef.current ? \"delayed-open\" : \"instant-open\" : \"closed\";\n }, [open]);\n const handleOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n wasOpenDelayedRef.current = false;\n setOpen(true);\n }, [setOpen]);\n const handleClose = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n setOpen(false);\n }, [setOpen]);\n const handleDelayedOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = window.setTimeout(() => {\n wasOpenDelayedRef.current = true;\n setOpen(true);\n openTimerRef.current = 0;\n }, delayDuration);\n }, [delayDuration, setOpen]);\n React.useEffect(() => {\n return () => {\n if (openTimerRef.current) {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n TooltipContextProvider,\n {\n scope: __scopeTooltip,\n contentId,\n open,\n stateAttribute,\n trigger,\n onTriggerChange: setTrigger,\n onTriggerEnter: React.useCallback(() => {\n if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();\n else handleOpen();\n }, [providerContext.isOpenDelayedRef, handleDelayedOpen, handleOpen]),\n onTriggerLeave: React.useCallback(() => {\n if (disableHoverableContent) {\n handleClose();\n } else {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n }, [handleClose, disableHoverableContent]),\n onOpen: handleOpen,\n onClose: handleClose,\n disableHoverableContent,\n children\n }\n ) });\n};\nTooltip.displayName = TOOLTIP_NAME;\nvar TRIGGER_NAME = \"TooltipTrigger\";\nvar TooltipTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...triggerProps } = props;\n const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);\n const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n const isPointerDownRef = React.useRef(false);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const handlePointerUp = React.useCallback(() => isPointerDownRef.current = false, []);\n React.useEffect(() => {\n return () => document.removeEventListener(\"pointerup\", handlePointerUp);\n }, [handlePointerUp]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n \"aria-describedby\": context.open ? context.contentId : void 0,\n \"data-state\": context.stateAttribute,\n ...triggerProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === \"touch\") return;\n if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n context.onTriggerEnter();\n hasPointerMoveOpenedRef.current = true;\n }\n }),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, () => {\n if (context.open) {\n context.onClose();\n }\n isPointerDownRef.current = true;\n document.addEventListener(\"pointerup\", handlePointerUp, { once: true });\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n if (!isPointerDownRef.current) context.onOpen();\n }),\n onBlur: composeEventHandlers(props.onBlur, context.onClose),\n onClick: composeEventHandlers(props.onClick, context.onClose)\n }\n ) });\n }\n);\nTooltipTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"TooltipPortal\";\nvar [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar TooltipPortal = (props) => {\n const { __scopeTooltip, forceMount, children, container } = props;\n const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nTooltipPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"TooltipContent\";\nvar TooltipContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);\n const { forceMount = portalContext.forceMount, side = \"top\", ...contentProps } = props;\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });\n }\n);\nvar TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [pointerGraceArea, setPointerGraceArea] = React.useState(null);\n const { trigger, onClose } = context;\n const content = ref.current;\n const { onPointerInTransitChange } = providerContext;\n const handleRemoveGraceArea = React.useCallback(() => {\n setPointerGraceArea(null);\n onPointerInTransitChange(false);\n }, [onPointerInTransitChange]);\n const handleCreateGraceArea = React.useCallback(\n (event, hoverTarget) => {\n const currentTarget = event.currentTarget;\n const exitPoint = { x: event.clientX, y: event.clientY };\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n setPointerGraceArea(graceArea);\n onPointerInTransitChange(true);\n },\n [onPointerInTransitChange]\n );\n React.useEffect(() => {\n return () => handleRemoveGraceArea();\n }, [handleRemoveGraceArea]);\n React.useEffect(() => {\n if (trigger && content) {\n const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);\n const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);\n trigger.addEventListener(\"pointerleave\", handleTriggerLeave);\n content.addEventListener(\"pointerleave\", handleContentLeave);\n return () => {\n trigger.removeEventListener(\"pointerleave\", handleTriggerLeave);\n content.removeEventListener(\"pointerleave\", handleContentLeave);\n };\n }\n }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n React.useEffect(() => {\n if (pointerGraceArea) {\n const handleTrackPointerGrace = (event) => {\n const target = event.target;\n const pointerPosition = { x: event.clientX, y: event.clientY };\n const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);\n if (hasEnteredTarget) {\n handleRemoveGraceArea();\n } else if (isPointerOutsideGraceArea) {\n handleRemoveGraceArea();\n onClose();\n }\n };\n document.addEventListener(\"pointermove\", handleTrackPointerGrace);\n return () => document.removeEventListener(\"pointermove\", handleTrackPointerGrace);\n }\n }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n return /* @__PURE__ */ jsx(TooltipContentImpl, { ...props, ref: composedRefs });\n});\nvar [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });\nvar Slottable = createSlottable(\"TooltipContent\");\nvar TooltipContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTooltip,\n children,\n \"aria-label\": ariaLabel,\n onEscapeKeyDown,\n onPointerDownOutside,\n ...contentProps\n } = props;\n const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const { onClose } = context;\n React.useEffect(() => {\n document.addEventListener(TOOLTIP_OPEN, onClose);\n return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n }, [onClose]);\n React.useEffect(() => {\n if (context.trigger) {\n const handleScroll = (event) => {\n const target = event.target;\n if (target?.contains(context.trigger)) onClose();\n };\n window.addEventListener(\"scroll\", handleScroll, { capture: true });\n return () => window.removeEventListener(\"scroll\", handleScroll, { capture: true });\n }\n }, [context.trigger, onClose]);\n return /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: onClose,\n children: /* @__PURE__ */ jsxs(\n PopperPrimitive.Content,\n {\n \"data-state\": context.stateAttribute,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-tooltip-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-tooltip-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-tooltip-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-tooltip-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-tooltip-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n },\n children: [\n /* @__PURE__ */ jsx(Slottable, { children }),\n /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(VisuallyHiddenPrimitive.Root, { id: context.contentId, role: \"tooltip\", children: ariaLabel || children }) })\n ]\n }\n )\n }\n );\n }\n);\nTooltipContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"TooltipArrow\";\nvar TooltipArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeTooltip);\n const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n ARROW_NAME,\n __scopeTooltip\n );\n return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nTooltipArrow.displayName = ARROW_NAME;\nfunction getExitSideFromRect(point, rect) {\n const top = Math.abs(rect.top - point.y);\n const bottom = Math.abs(rect.bottom - point.y);\n const right = Math.abs(rect.right - point.x);\n const left = Math.abs(rect.left - point.x);\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return \"left\";\n case right:\n return \"right\";\n case top:\n return \"top\";\n case bottom:\n return \"bottom\";\n default:\n throw new Error(\"unreachable\");\n }\n}\nfunction getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n const paddedExitPoints = [];\n switch (exitSide) {\n case \"top\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"bottom\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding }\n );\n break;\n case \"left\":\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"right\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding }\n );\n break;\n }\n return paddedExitPoints;\n}\nfunction getPointsFromRect(rect) {\n const { top, right, bottom, left } = rect;\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom }\n ];\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction getHull(points) {\n const newPoints = points.slice();\n newPoints.sort((a, b) => {\n if (a.x < b.x) return -1;\n else if (a.x > b.x) return 1;\n else if (a.y < b.y) return -1;\n else if (a.y > b.y) return 1;\n else return 0;\n });\n return getHullPresorted(newPoints);\n}\nfunction getHullPresorted(points) {\n if (points.length <= 1) return points.slice();\n const upperHull = [];\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1];\n const r = upperHull[upperHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();\n else break;\n }\n upperHull.push(p);\n }\n upperHull.pop();\n const lowerHull = [];\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1];\n const r = lowerHull[lowerHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();\n else break;\n }\n lowerHull.push(p);\n }\n lowerHull.pop();\n if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {\n return upperHull;\n } else {\n return upperHull.concat(lowerHull);\n }\n}\nvar Provider = TooltipProvider;\nvar Root3 = Tooltip;\nvar Trigger = TooltipTrigger;\nvar Portal = TooltipPortal;\nvar Content2 = TooltipContent;\nvar Arrow2 = TooltipArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Portal,\n Provider,\n Root3 as Root,\n Tooltip,\n TooltipArrow,\n TooltipContent,\n TooltipPortal,\n TooltipProvider,\n TooltipTrigger,\n Trigger,\n createTooltipScope\n};\n//# sourceMappingURL=index.mjs.map\n","/**\n * Tooltip Component\n *\n * Radix-based tooltip for showing contextual information on hover.\n * Follows the glass morphism design system.\n */\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport * as React from 'react'\n\nimport { cn } from './utils'\n\nfunction TooltipProvider({\n delayDuration = 300,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return <TooltipPrimitive.Provider delayDuration={delayDuration} {...props} />\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root {...props} />\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 6,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n sideOffset={sideOffset}\n className={cn(\n 'z-50 overflow-hidden rounded-lg px-3 py-1.5 text-xs',\n 'border-border-glass bg-surface-secondary/95 border shadow-lg backdrop-blur-xl',\n 'text-content-primary',\n 'animate-in fade-in-0 zoom-in-95',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n 'data-[side=top]:slide-in-from-bottom-2',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n className\n )}\n {...props}\n />\n </TooltipPrimitive.Portal>\n )\n}\n\nfunction TooltipArrow({\n className,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Arrow>) {\n return (\n <TooltipPrimitive.Arrow className={cn('fill-surface-secondary/95', className)} {...props} />\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider, TooltipArrow }\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
1
+ {"version":3,"file":"tooltip-NKOSxS28.js","names":["Fragment2","TooltipProvider","React","Tooltip","useId","PopperPrimitive.Root","TooltipTrigger","PopperPrimitive.Anchor","PortalPrimitive","TooltipContent","PopperPrimitive.Content","VisuallyHiddenPrimitive.Root","TooltipArrow","PopperPrimitive.Arrow"],"sources":["../node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot/dist/index.mjs","../node_modules/@radix-ui/react-tooltip/dist/index.mjs","../src/react/primitives/tooltip.tsx"],"sourcesContent":["// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/tooltip.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlottable } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHiddenPrimitive from \"@radix-ui/react-visually-hidden\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar [createTooltipContext, createTooltipScope] = createContextScope(\"Tooltip\", [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar PROVIDER_NAME = \"TooltipProvider\";\nvar DEFAULT_DELAY_DURATION = 700;\nvar TOOLTIP_OPEN = \"tooltip.open\";\nvar [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);\nvar TooltipProvider = (props) => {\n const {\n __scopeTooltip,\n delayDuration = DEFAULT_DELAY_DURATION,\n skipDelayDuration = 300,\n disableHoverableContent = false,\n children\n } = props;\n const isOpenDelayedRef = React.useRef(true);\n const isPointerInTransitRef = React.useRef(false);\n const skipDelayTimerRef = React.useRef(0);\n React.useEffect(() => {\n const skipDelayTimer = skipDelayTimerRef.current;\n return () => window.clearTimeout(skipDelayTimer);\n }, []);\n return /* @__PURE__ */ jsx(\n TooltipProviderContextProvider,\n {\n scope: __scopeTooltip,\n isOpenDelayedRef,\n delayDuration,\n onOpen: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n isOpenDelayedRef.current = false;\n }, []),\n onClose: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => isOpenDelayedRef.current = true,\n skipDelayDuration\n );\n }, [skipDelayDuration]),\n isPointerInTransitRef,\n onPointerInTransitChange: React.useCallback((inTransit) => {\n isPointerInTransitRef.current = inTransit;\n }, []),\n disableHoverableContent,\n children\n }\n );\n};\nTooltipProvider.displayName = PROVIDER_NAME;\nvar TOOLTIP_NAME = \"Tooltip\";\nvar [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);\nvar Tooltip = (props) => {\n const {\n __scopeTooltip,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n disableHoverableContent: disableHoverableContentProp,\n delayDuration: delayDurationProp\n } = props;\n const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const [trigger, setTrigger] = React.useState(null);\n const contentId = useId();\n const openTimerRef = React.useRef(0);\n const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;\n const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n const wasOpenDelayedRef = React.useRef(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: (open2) => {\n if (open2) {\n providerContext.onOpen();\n document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n } else {\n providerContext.onClose();\n }\n onOpenChange?.(open2);\n },\n caller: TOOLTIP_NAME\n });\n const stateAttribute = React.useMemo(() => {\n return open ? wasOpenDelayedRef.current ? \"delayed-open\" : \"instant-open\" : \"closed\";\n }, [open]);\n const handleOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n wasOpenDelayedRef.current = false;\n setOpen(true);\n }, [setOpen]);\n const handleClose = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n setOpen(false);\n }, [setOpen]);\n const handleDelayedOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = window.setTimeout(() => {\n wasOpenDelayedRef.current = true;\n setOpen(true);\n openTimerRef.current = 0;\n }, delayDuration);\n }, [delayDuration, setOpen]);\n React.useEffect(() => {\n return () => {\n if (openTimerRef.current) {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n TooltipContextProvider,\n {\n scope: __scopeTooltip,\n contentId,\n open,\n stateAttribute,\n trigger,\n onTriggerChange: setTrigger,\n onTriggerEnter: React.useCallback(() => {\n if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();\n else handleOpen();\n }, [providerContext.isOpenDelayedRef, handleDelayedOpen, handleOpen]),\n onTriggerLeave: React.useCallback(() => {\n if (disableHoverableContent) {\n handleClose();\n } else {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n }, [handleClose, disableHoverableContent]),\n onOpen: handleOpen,\n onClose: handleClose,\n disableHoverableContent,\n children\n }\n ) });\n};\nTooltip.displayName = TOOLTIP_NAME;\nvar TRIGGER_NAME = \"TooltipTrigger\";\nvar TooltipTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...triggerProps } = props;\n const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);\n const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n const isPointerDownRef = React.useRef(false);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const handlePointerUp = React.useCallback(() => isPointerDownRef.current = false, []);\n React.useEffect(() => {\n return () => document.removeEventListener(\"pointerup\", handlePointerUp);\n }, [handlePointerUp]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n \"aria-describedby\": context.open ? context.contentId : void 0,\n \"data-state\": context.stateAttribute,\n ...triggerProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === \"touch\") return;\n if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n context.onTriggerEnter();\n hasPointerMoveOpenedRef.current = true;\n }\n }),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, () => {\n if (context.open) {\n context.onClose();\n }\n isPointerDownRef.current = true;\n document.addEventListener(\"pointerup\", handlePointerUp, { once: true });\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n if (!isPointerDownRef.current) context.onOpen();\n }),\n onBlur: composeEventHandlers(props.onBlur, context.onClose),\n onClick: composeEventHandlers(props.onClick, context.onClose)\n }\n ) });\n }\n);\nTooltipTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"TooltipPortal\";\nvar [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar TooltipPortal = (props) => {\n const { __scopeTooltip, forceMount, children, container } = props;\n const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nTooltipPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"TooltipContent\";\nvar TooltipContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);\n const { forceMount = portalContext.forceMount, side = \"top\", ...contentProps } = props;\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });\n }\n);\nvar TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [pointerGraceArea, setPointerGraceArea] = React.useState(null);\n const { trigger, onClose } = context;\n const content = ref.current;\n const { onPointerInTransitChange } = providerContext;\n const handleRemoveGraceArea = React.useCallback(() => {\n setPointerGraceArea(null);\n onPointerInTransitChange(false);\n }, [onPointerInTransitChange]);\n const handleCreateGraceArea = React.useCallback(\n (event, hoverTarget) => {\n const currentTarget = event.currentTarget;\n const exitPoint = { x: event.clientX, y: event.clientY };\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n setPointerGraceArea(graceArea);\n onPointerInTransitChange(true);\n },\n [onPointerInTransitChange]\n );\n React.useEffect(() => {\n return () => handleRemoveGraceArea();\n }, [handleRemoveGraceArea]);\n React.useEffect(() => {\n if (trigger && content) {\n const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);\n const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);\n trigger.addEventListener(\"pointerleave\", handleTriggerLeave);\n content.addEventListener(\"pointerleave\", handleContentLeave);\n return () => {\n trigger.removeEventListener(\"pointerleave\", handleTriggerLeave);\n content.removeEventListener(\"pointerleave\", handleContentLeave);\n };\n }\n }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n React.useEffect(() => {\n if (pointerGraceArea) {\n const handleTrackPointerGrace = (event) => {\n const target = event.target;\n const pointerPosition = { x: event.clientX, y: event.clientY };\n const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);\n if (hasEnteredTarget) {\n handleRemoveGraceArea();\n } else if (isPointerOutsideGraceArea) {\n handleRemoveGraceArea();\n onClose();\n }\n };\n document.addEventListener(\"pointermove\", handleTrackPointerGrace);\n return () => document.removeEventListener(\"pointermove\", handleTrackPointerGrace);\n }\n }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n return /* @__PURE__ */ jsx(TooltipContentImpl, { ...props, ref: composedRefs });\n});\nvar [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });\nvar Slottable = createSlottable(\"TooltipContent\");\nvar TooltipContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTooltip,\n children,\n \"aria-label\": ariaLabel,\n onEscapeKeyDown,\n onPointerDownOutside,\n ...contentProps\n } = props;\n const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const { onClose } = context;\n React.useEffect(() => {\n document.addEventListener(TOOLTIP_OPEN, onClose);\n return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n }, [onClose]);\n React.useEffect(() => {\n if (context.trigger) {\n const handleScroll = (event) => {\n const target = event.target;\n if (target?.contains(context.trigger)) onClose();\n };\n window.addEventListener(\"scroll\", handleScroll, { capture: true });\n return () => window.removeEventListener(\"scroll\", handleScroll, { capture: true });\n }\n }, [context.trigger, onClose]);\n return /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: onClose,\n children: /* @__PURE__ */ jsxs(\n PopperPrimitive.Content,\n {\n \"data-state\": context.stateAttribute,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-tooltip-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-tooltip-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-tooltip-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-tooltip-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-tooltip-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n },\n children: [\n /* @__PURE__ */ jsx(Slottable, { children }),\n /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(VisuallyHiddenPrimitive.Root, { id: context.contentId, role: \"tooltip\", children: ariaLabel || children }) })\n ]\n }\n )\n }\n );\n }\n);\nTooltipContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"TooltipArrow\";\nvar TooltipArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeTooltip);\n const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n ARROW_NAME,\n __scopeTooltip\n );\n return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nTooltipArrow.displayName = ARROW_NAME;\nfunction getExitSideFromRect(point, rect) {\n const top = Math.abs(rect.top - point.y);\n const bottom = Math.abs(rect.bottom - point.y);\n const right = Math.abs(rect.right - point.x);\n const left = Math.abs(rect.left - point.x);\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return \"left\";\n case right:\n return \"right\";\n case top:\n return \"top\";\n case bottom:\n return \"bottom\";\n default:\n throw new Error(\"unreachable\");\n }\n}\nfunction getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n const paddedExitPoints = [];\n switch (exitSide) {\n case \"top\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"bottom\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding }\n );\n break;\n case \"left\":\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"right\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding }\n );\n break;\n }\n return paddedExitPoints;\n}\nfunction getPointsFromRect(rect) {\n const { top, right, bottom, left } = rect;\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom }\n ];\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction getHull(points) {\n const newPoints = points.slice();\n newPoints.sort((a, b) => {\n if (a.x < b.x) return -1;\n else if (a.x > b.x) return 1;\n else if (a.y < b.y) return -1;\n else if (a.y > b.y) return 1;\n else return 0;\n });\n return getHullPresorted(newPoints);\n}\nfunction getHullPresorted(points) {\n if (points.length <= 1) return points.slice();\n const upperHull = [];\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1];\n const r = upperHull[upperHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();\n else break;\n }\n upperHull.push(p);\n }\n upperHull.pop();\n const lowerHull = [];\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1];\n const r = lowerHull[lowerHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();\n else break;\n }\n lowerHull.push(p);\n }\n lowerHull.pop();\n if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {\n return upperHull;\n } else {\n return upperHull.concat(lowerHull);\n }\n}\nvar Provider = TooltipProvider;\nvar Root3 = Tooltip;\nvar Trigger = TooltipTrigger;\nvar Portal = TooltipPortal;\nvar Content2 = TooltipContent;\nvar Arrow2 = TooltipArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Portal,\n Provider,\n Root3 as Root,\n Tooltip,\n TooltipArrow,\n TooltipContent,\n TooltipPortal,\n TooltipProvider,\n TooltipTrigger,\n Trigger,\n createTooltipScope\n};\n//# sourceMappingURL=index.mjs.map\n","/**\n * Tooltip Component\n *\n * Radix-based tooltip for showing contextual information on hover.\n * Follows the glass morphism design system.\n */\n\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\nimport * as React from 'react'\n\nimport { cn } from './utils'\n\nfunction TooltipProvider({\n delayDuration = 300,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return <TooltipPrimitive.Provider delayDuration={delayDuration} {...props} />\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root {...props} />\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 6,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n sideOffset={sideOffset}\n className={cn(\n 'z-50 overflow-hidden rounded-lg px-3 py-1.5 text-xs',\n 'border-border-glass bg-surface-secondary/95 border shadow-lg backdrop-blur-xl',\n 'text-content-primary',\n 'animate-in fade-in-0 zoom-in-95',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95',\n 'data-[side=top]:slide-in-from-bottom-2',\n 'data-[side=bottom]:slide-in-from-top-2',\n 'data-[side=left]:slide-in-from-right-2',\n 'data-[side=right]:slide-in-from-left-2',\n className\n )}\n {...props}\n />\n </TooltipPrimitive.Portal>\n )\n}\n\nfunction TooltipArrow({\n className,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Arrow>) {\n return (\n <TooltipPrimitive.Arrow className={cn('fill-surface-secondary/95', className)} {...props} />\n )\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider, TooltipArrow }\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { a as e, s as t, t as n } from "./chunk-NBPlniwU.js";
2
- import { t as r } from "./createLucideIcon-wKpAnzBe.js";
3
- import { n as i, r as a, t as o } from "./triangle-alert-CKjGAvtd.js";
2
+ import { t as r } from "./createLucideIcon-Cfb5CZJx.js";
3
+ import { n as i, r as a, t as o } from "./triangle-alert-BtwDDOUp.js";
4
4
  import { FlowNodeCard as s } from "./react/threat-visuals.js";
5
- import { C as c, S as l, T as u, _ as d, b as f, i as p, n as m, r as h, t as g, v as _, w as v, x as y, y as b } from "./src-BEYP07TO.js";
6
- import { t as x } from "./value-CybtvyUg.js";
5
+ import { C as c, S as l, T as u, _ as d, b as f, i as p, n as m, r as h, t as g, v as _, w as v, x as y, y as b } from "./src-D1EMXotX.js";
6
+ import { t as x } from "./value-gSPnIECy.js";
7
7
  import S, { Component as C, createContext as w, forwardRef as T, memo as E, useCallback as D, useContext as O, useEffect as k, useLayoutEffect as A, useMemo as j, useRef as M, useState as N } from "react";
8
8
  import { Fragment as P, jsx as F, jsxs as I } from "react/jsx-runtime";
9
9
  import "react-dom";
@@ -6704,4 +6704,4 @@ var Ds = "\n .topology-edge-animated {\n animation: topology-dash 1.2s linea
6704
6704
  //#endregion
6705
6705
  export { Jo as C, Bo as S, Wo as _, os as a, Uo as b, $o as c, Fo as d, Io as f, Ro as g, Vo as h, us as i, rs as l, Ho as m, Es as n, cs as o, qo as p, Ts as r, es as s, Ds as t, Ko as u, zo as v, Lo as x, Go as y };
6706
6706
 
6707
- //# sourceMappingURL=topology-C4Q_kT9X.js.map
6707
+ //# sourceMappingURL=topology-C8cyIHlB.js.map