@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.
- package/dist/{_basePickBy-BlpD3CIQ.js → _basePickBy-BQMPE4-n.js} +3 -3
- package/dist/{_basePickBy-BlpD3CIQ.js.map → _basePickBy-BQMPE4-n.js.map} +1 -1
- package/dist/{_baseUniq-CO35kH5B.js → _baseUniq-Bdp_vFUv.js} +3 -3
- package/dist/{_baseUniq-CO35kH5B.js.map → _baseUniq-Bdp_vFUv.js.map} +1 -1
- package/dist/{alert-dialog-DXa-O6E4.js → alert-dialog-C4dLk25S.js} +5 -5
- package/dist/{alert-dialog-DXa-O6E4.js.map → alert-dialog-C4dLk25S.js.map} +1 -1
- package/dist/{arc-DyfKNDOh.js → arc-jVbrWVYZ.js} +3 -3
- package/dist/{arc-DyfKNDOh.js.map → arc-jVbrWVYZ.js.map} +1 -1
- package/dist/architecture-PBZL5I3N-Zk3GmKE8.js +3 -0
- package/dist/{architectureDiagram-2XIMDMQ5-B4qk6eh9.js → architectureDiagram-2XIMDMQ5-D5q0ma9h.js} +10 -10
- package/dist/{architectureDiagram-2XIMDMQ5-B4qk6eh9.js.map → architectureDiagram-2XIMDMQ5-D5q0ma9h.js.map} +1 -1
- package/dist/{array-DPBIBG3p.js → array-DXadUs1s.js} +1 -1
- package/dist/{array-DPBIBG3p.js.map → array-DXadUs1s.js.map} +1 -1
- package/dist/{arrow-up-BhjinjWg.js → arrow-up-CJJ5q2ht.js} +2 -2
- package/dist/{arrow-up-BhjinjWg.js.map → arrow-up-CJJ5q2ht.js.map} +1 -1
- package/dist/{avatar-CZGZhjvv.js → avatar-DIhd5zYT.js} +1 -1
- package/dist/{avatar-CZGZhjvv.js.map → avatar-DIhd5zYT.js.map} +1 -1
- package/dist/{badge-CAvV5GE2.js → badge-C2kAwL41.js} +1 -1
- package/dist/{badge-CAvV5GE2.js.map → badge-C2kAwL41.js.map} +1 -1
- package/dist/{blockDiagram-WCTKOSBZ-DdPMGZ7X.js → blockDiagram-WCTKOSBZ-BH3jwWeU.js} +13 -13
- package/dist/{blockDiagram-WCTKOSBZ-DdPMGZ7X.js.map → blockDiagram-WCTKOSBZ-BH3jwWeU.js.map} +1 -1
- package/dist/{button-19KWzy7c.js → button-BtTc7Ncu.js} +1 -1
- package/dist/{button-19KWzy7c.js.map → button-BtTc7Ncu.js.map} +1 -1
- package/dist/{c4Diagram-IC4MRINW-Du1j-C4R.js → c4Diagram-IC4MRINW-OFLrunYI.js} +7 -7
- package/dist/{c4Diagram-IC4MRINW-Du1j-C4R.js.map → c4Diagram-IC4MRINW-OFLrunYI.js.map} +1 -1
- package/dist/{carousel-CJ5lxMYs.js → carousel-T96UFALA.js} +3 -3
- package/dist/{carousel-CJ5lxMYs.js.map → carousel-T96UFALA.js.map} +1 -1
- package/dist/{channel-BHvJxX8j.js → channel-LRbq43st.js} +2 -2
- package/dist/{channel-BHvJxX8j.js.map → channel-LRbq43st.js.map} +1 -1
- package/dist/charts/area/index.js +1 -1
- package/dist/charts/bar/index.js +1 -1
- package/dist/charts/index.js +2 -2
- package/dist/charts/line/index.js +1 -1
- package/dist/charts/pie/index.js +1 -1
- package/dist/charts/radar/index.js +1 -1
- package/dist/charts/scatter/index.js +1 -1
- package/dist/charts/waterfall/index.js +1 -1
- package/dist/{check-CybgTpDT.js → check-cGnuDoWp.js} +2 -2
- package/dist/{check-CybgTpDT.js.map → check-cGnuDoWp.js.map} +1 -1
- package/dist/{chevron-down-C_008JAH.js → chevron-down-m05raooX.js} +2 -2
- package/dist/{chevron-down-C_008JAH.js.map → chevron-down-m05raooX.js.map} +1 -1
- package/dist/{chevron-right-DuHRAn8w.js → chevron-right-ByWVa5XY.js} +2 -2
- package/dist/{chevron-right-DuHRAn8w.js.map → chevron-right-ByWVa5XY.js.map} +1 -1
- package/dist/{chevron-up-BY5jyuW2.js → chevron-up-CtvY7fRK.js} +2 -2
- package/dist/{chevron-up-BY5jyuW2.js.map → chevron-up-CtvY7fRK.js.map} +1 -1
- package/dist/{chunk-4BX2VUAB-CL-dnlxR.js → chunk-4BX2VUAB-BS9gpN-y.js} +2 -2
- package/dist/{chunk-4BX2VUAB-CL-dnlxR.js.map → chunk-4BX2VUAB-BS9gpN-y.js.map} +1 -1
- package/dist/{chunk-55IACEB6-DxNTqHZ8.js → chunk-55IACEB6-DZ-UBhHX.js} +3 -3
- package/dist/{chunk-55IACEB6-DxNTqHZ8.js.map → chunk-55IACEB6-DZ-UBhHX.js.map} +1 -1
- package/dist/{chunk-7E7YKBS2-Bewg8t99.js → chunk-7E7YKBS2-BsywoVTt.js} +2 -2
- package/dist/{chunk-7E7YKBS2-Bewg8t99.js.map → chunk-7E7YKBS2-BsywoVTt.js.map} +1 -1
- package/dist/{chunk-7R4GIKGN-DiZ1HYFd.js → chunk-7R4GIKGN-DJmroLCH.js} +3 -3
- package/dist/{chunk-7R4GIKGN-DiZ1HYFd.js.map → chunk-7R4GIKGN-DJmroLCH.js.map} +1 -1
- package/dist/{chunk-C72U2L5F-BqOejReq.js → chunk-C72U2L5F-BwPwVDcP.js} +2 -2
- package/dist/{chunk-C72U2L5F-BqOejReq.js.map → chunk-C72U2L5F-BwPwVDcP.js.map} +1 -1
- package/dist/{chunk-EGIJ26TM-1-wU_wPi.js → chunk-EGIJ26TM-DKd5cEgn.js} +2 -2
- package/dist/{chunk-EGIJ26TM-1-wU_wPi.js.map → chunk-EGIJ26TM-DKd5cEgn.js.map} +1 -1
- package/dist/{chunk-FMBD7UC4-7bd068zf.js → chunk-FMBD7UC4-1IxrpdPX.js} +2 -2
- package/dist/{chunk-FMBD7UC4-7bd068zf.js.map → chunk-FMBD7UC4-1IxrpdPX.js.map} +1 -1
- package/dist/{chunk-GEFDOKGD-bXEkwPrJ.js → chunk-GEFDOKGD-DGJJEGSm.js} +7 -7
- package/dist/{chunk-GEFDOKGD-bXEkwPrJ.js.map → chunk-GEFDOKGD-DGJJEGSm.js.map} +1 -1
- package/dist/{chunk-GLR3WWYH-GIQ55uMn.js → chunk-GLR3WWYH-BDwmgwCA.js} +8 -8
- package/dist/{chunk-GLR3WWYH-GIQ55uMn.js.map → chunk-GLR3WWYH-BDwmgwCA.js.map} +1 -1
- package/dist/{chunk-HHEYEP7N-BdiTBCvb.js → chunk-HHEYEP7N-DJ1b-gA8.js} +4 -4
- package/dist/{chunk-HHEYEP7N-BdiTBCvb.js.map → chunk-HHEYEP7N-DJ1b-gA8.js.map} +1 -1
- package/dist/{chunk-JSJVCQXG-p-BUVvps.js → chunk-JSJVCQXG-Do17yYig.js} +5 -5
- package/dist/{chunk-JSJVCQXG-p-BUVvps.js.map → chunk-JSJVCQXG-Do17yYig.js.map} +1 -1
- package/dist/{chunk-KX2RTZJC-DopwIbE1.js → chunk-KX2RTZJC-d9jFqUAY.js} +3 -3
- package/dist/{chunk-KX2RTZJC-DopwIbE1.js.map → chunk-KX2RTZJC-d9jFqUAY.js.map} +1 -1
- package/dist/{chunk-KYZI473N-4Y4_4kXL.js → chunk-KYZI473N-BXYCe83A.js} +9 -9
- package/dist/{chunk-KYZI473N-4Y4_4kXL.js.map → chunk-KYZI473N-BXYCe83A.js.map} +1 -1
- package/dist/{chunk-L3YUKLVL-U6LYvPh7.js → chunk-L3YUKLVL-Y5k8UNMf.js} +2 -2
- package/dist/{chunk-L3YUKLVL-U6LYvPh7.js.map → chunk-L3YUKLVL-Y5k8UNMf.js.map} +1 -1
- package/dist/{chunk-MX3YWQON-DnBlqD44.js → chunk-MX3YWQON-D43mcq1f.js} +2 -2
- package/dist/{chunk-MX3YWQON-DnBlqD44.js.map → chunk-MX3YWQON-D43mcq1f.js.map} +1 -1
- package/dist/{chunk-NQ4KR5QH-BSylMz0X.js → chunk-NQ4KR5QH-C0nWShNk.js} +7 -7
- package/dist/{chunk-NQ4KR5QH-BSylMz0X.js.map → chunk-NQ4KR5QH-C0nWShNk.js.map} +1 -1
- package/dist/{chunk-O4XLMI2P-BcKxBhcn.js → chunk-O4XLMI2P-DtGEm9QX.js} +12 -12
- package/dist/{chunk-O4XLMI2P-BcKxBhcn.js.map → chunk-O4XLMI2P-DtGEm9QX.js.map} +1 -1
- package/dist/{chunk-OZEHJAEY-D6S6KbwY.js → chunk-OZEHJAEY-BsQ56PV-.js} +2 -2
- package/dist/{chunk-OZEHJAEY-D6S6KbwY.js.map → chunk-OZEHJAEY-BsQ56PV-.js.map} +1 -1
- package/dist/{chunk-PQ6SQG4A-DPz_e-Es.js → chunk-PQ6SQG4A-Cpfc5F4u.js} +3 -3
- package/dist/{chunk-PQ6SQG4A-DPz_e-Es.js.map → chunk-PQ6SQG4A-Cpfc5F4u.js.map} +1 -1
- package/dist/{chunk-PU5JKC2W-CAfe4Tg3.js → chunk-PU5JKC2W-DNpn_Yik.js} +5 -5
- package/dist/{chunk-PU5JKC2W-CAfe4Tg3.js.map → chunk-PU5JKC2W-DNpn_Yik.js.map} +1 -1
- package/dist/{chunk-QZHKN3VN-DMkPzlbH.js → chunk-QZHKN3VN-kDNdTVLo.js} +2 -2
- package/dist/{chunk-QZHKN3VN-DMkPzlbH.js.map → chunk-QZHKN3VN-kDNdTVLo.js.map} +1 -1
- package/dist/{chunk-R5LLSJPH-C90VQC8y.js → chunk-R5LLSJPH-c1IfaK5D.js} +2 -2
- package/dist/{chunk-R5LLSJPH-C90VQC8y.js.map → chunk-R5LLSJPH-c1IfaK5D.js.map} +1 -1
- package/dist/{chunk-WL4C6EOR-B2OMxQLL.js → chunk-WL4C6EOR-BV-op7zg.js} +10 -10
- package/dist/{chunk-WL4C6EOR-B2OMxQLL.js.map → chunk-WL4C6EOR-BV-op7zg.js.map} +1 -1
- package/dist/{chunk-XIRO2GV7-D1_jT4ch.js → chunk-XIRO2GV7-Bv1hlNLi.js} +2 -2
- package/dist/{chunk-XIRO2GV7-D1_jT4ch.js.map → chunk-XIRO2GV7-Bv1hlNLi.js.map} +1 -1
- package/dist/{chunk-XPW4576I-DkznIIIK.js → chunk-XPW4576I-BqiPnb3d.js} +2 -2
- package/dist/{chunk-XPW4576I-DkznIIIK.js.map → chunk-XPW4576I-BqiPnb3d.js.map} +1 -1
- package/dist/{chunk-XZSTWKYB-BZB_wvbZ.js → chunk-XZSTWKYB-C7maKWEr.js} +6 -6
- package/dist/{chunk-XZSTWKYB-BZB_wvbZ.js.map → chunk-XZSTWKYB-C7maKWEr.js.map} +1 -1
- package/dist/{chunk-YBOYWFTD-DVqQ1pen.js → chunk-YBOYWFTD-DkjEOcgZ.js} +4 -4
- package/dist/{chunk-YBOYWFTD-DVqQ1pen.js.map → chunk-YBOYWFTD-DkjEOcgZ.js.map} +1 -1
- package/dist/classDiagram-VBA2DB6C-DZfC0xPM.js +31 -0
- package/dist/{classDiagram-VBA2DB6C-DFfohpM0.js.map → classDiagram-VBA2DB6C-DZfC0xPM.js.map} +1 -1
- package/dist/classDiagram-v2-RAHNMMFH-CtWRD1ax.js +31 -0
- package/dist/{classDiagram-v2-RAHNMMFH-kUMm28FB.js.map → classDiagram-v2-RAHNMMFH-CtWRD1ax.js.map} +1 -1
- package/dist/{clone-DxI1nSTP.js → clone-CliVdNc8.js} +2 -2
- package/dist/{clone-DxI1nSTP.js.map → clone-CliVdNc8.js.map} +1 -1
- package/dist/{component-x2UxdKEC.js → component-C1Jiz1Ki.js} +1 -1
- package/dist/{component-x2UxdKEC.js.map → component-C1Jiz1Ki.js.map} +1 -1
- package/dist/components/index.js +3 -3
- package/dist/components/theme/accent-switcher.d.ts +2 -0
- package/dist/components/theme/accent-switcher.d.ts.map +1 -1
- package/dist/components/theme/accent-switcher.js +5 -1
- package/dist/components/theme/accent-switcher.js.map +1 -1
- package/dist/components/theme/density-switcher.d.ts +2 -0
- package/dist/components/theme/density-switcher.d.ts.map +1 -1
- package/dist/components/theme/density-switcher.js +5 -1
- package/dist/components/theme/density-switcher.js.map +1 -1
- package/dist/components/theme/font-stack-picker.d.ts +2 -0
- package/dist/components/theme/font-stack-picker.d.ts.map +1 -1
- package/dist/components/theme/font-stack-picker.js +5 -1
- package/dist/components/theme/font-stack-picker.js.map +1 -1
- package/dist/components/theme/glass-slider.d.ts +2 -0
- package/dist/components/theme/glass-slider.d.ts.map +1 -1
- package/dist/components/theme/glass-slider.js +21 -15
- package/dist/components/theme/glass-slider.js.map +1 -1
- package/dist/components/theme/icon-gallery-browser.d.ts +16 -0
- package/dist/components/theme/icon-gallery-browser.d.ts.map +1 -0
- package/dist/components/theme/icon-set-picker.d.ts +2 -0
- package/dist/components/theme/icon-set-picker.d.ts.map +1 -1
- package/dist/components/theme/icon-set-picker.js +29 -24
- package/dist/components/theme/icon-set-picker.js.map +1 -1
- package/dist/components/theme/icon-usage-matrix.d.ts +2 -0
- package/dist/components/theme/icon-usage-matrix.d.ts.map +1 -1
- package/dist/components/theme/icon-usage-matrix.js +11 -7
- package/dist/components/theme/icon-usage-matrix.js.map +1 -1
- package/dist/components/theme/index.js +3 -3
- package/dist/components/theme/radius-slider.d.ts +2 -0
- package/dist/components/theme/radius-slider.d.ts.map +1 -1
- package/dist/components/theme/radius-slider.js +17 -12
- package/dist/components/theme/radius-slider.js.map +1 -1
- package/dist/components/theme/theme-preset-grid.d.ts +2 -0
- package/dist/components/theme/theme-preset-grid.d.ts.map +1 -1
- package/dist/components/theme/theme-preset-grid.js +6 -2
- package/dist/components/theme/theme-preset-grid.js.map +1 -1
- package/dist/components/theme/theme-preview-tile.d.ts +2 -0
- package/dist/components/theme/theme-preview-tile.d.ts.map +1 -1
- package/dist/components/theme/theme-preview-tile.js +9 -5
- package/dist/components/theme/theme-preview-tile.js.map +1 -1
- package/dist/components/theme/theme-studio.d.ts +4 -0
- package/dist/components/theme/theme-studio.d.ts.map +1 -1
- package/dist/components/theme/theme-studio.js +2 -93
- package/dist/components/theme/theme-switcher.d.ts +2 -0
- package/dist/components/theme/theme-switcher.d.ts.map +1 -1
- package/dist/components/theme/theme-switcher.js +5 -1
- package/dist/components/theme/theme-switcher.js.map +1 -1
- package/dist/composites/metrics-card.js +1 -1
- package/dist/composites/per-case-stats-table.js +1 -1
- package/dist/composites/run-monitor.js +2 -2
- package/dist/{copy-Hv8btfHH.js → copy-CP6UzCoj.js} +2 -2
- package/dist/{copy-Hv8btfHH.js.map → copy-CP6UzCoj.js.map} +1 -1
- package/dist/{cose-bilkent-S5V4N54A-DSIl5_e8.js → cose-bilkent-S5V4N54A-DxM02fly.js} +4 -4
- package/dist/{cose-bilkent-S5V4N54A-DSIl5_e8.js.map → cose-bilkent-S5V4N54A-DxM02fly.js.map} +1 -1
- package/dist/{createLucideIcon-wKpAnzBe.js → createLucideIcon-Cfb5CZJx.js} +1 -1
- package/dist/{createLucideIcon-wKpAnzBe.js.map → createLucideIcon-Cfb5CZJx.js.map} +1 -1
- package/dist/{cytoscape.esm-klxrH6H1.js → cytoscape.esm-2vKMh7AJ.js} +1 -1
- package/dist/{cytoscape.esm-klxrH6H1.js.map → cytoscape.esm-2vKMh7AJ.js.map} +1 -1
- package/dist/{dagre-Bm7BZZKB.js → dagre-BqC9mhMk.js} +7 -7
- package/dist/{dagre-Bm7BZZKB.js.map → dagre-BqC9mhMk.js.map} +1 -1
- package/dist/{dagre-KLK3FWXG-B0rbfsw9.js → dagre-KLK3FWXG-DTKcsol6.js} +15 -15
- package/dist/{dagre-KLK3FWXG-B0rbfsw9.js.map → dagre-KLK3FWXG-DTKcsol6.js.map} +1 -1
- package/dist/{defaultLocale-Cql_qCPq.js → defaultLocale-PLHpRrsr.js} +1 -1
- package/dist/{defaultLocale-Cql_qCPq.js.map → defaultLocale-PLHpRrsr.js.map} +1 -1
- package/dist/{diagram-E7M64L7V-DWS26Zbm.js → diagram-E7M64L7V-Co7O3gub.js} +12 -12
- package/dist/{diagram-E7M64L7V-DWS26Zbm.js.map → diagram-E7M64L7V-Co7O3gub.js.map} +1 -1
- package/dist/{diagram-IFDJBPK2--zOQrB5O.js → diagram-IFDJBPK2-D-Enf1mK.js} +7 -7
- package/dist/{diagram-IFDJBPK2--zOQrB5O.js.map → diagram-IFDJBPK2-D-Enf1mK.js.map} +1 -1
- package/dist/{diagram-P4PSJMXO-DjNveg1t.js → diagram-P4PSJMXO-O8g_RIkM.js} +7 -7
- package/dist/{diagram-P4PSJMXO-DjNveg1t.js.map → diagram-P4PSJMXO-O8g_RIkM.js.map} +1 -1
- package/dist/display/avatar/index.js +1 -1
- package/dist/display/badge/index.js +1 -1
- package/dist/display/index.js +3 -3
- package/dist/display/markdown-viewer/index.js +1 -1
- package/dist/{dist-Dq1IoZXt.js → dist-B-HCSak9.js} +13 -13
- package/dist/{dist-Dq1IoZXt.js.map → dist-B-HCSak9.js.map} +1 -1
- package/dist/{dist-CbqFryer.js → dist-BhO08NBU.js} +5 -5
- package/dist/{dist-CbqFryer.js.map → dist-BhO08NBU.js.map} +1 -1
- package/dist/{dist-D0fg6pif.js → dist-BlNMcPtC.js} +2 -2
- package/dist/{dist-D0fg6pif.js.map → dist-BlNMcPtC.js.map} +1 -1
- package/dist/{dist-CSE7pO-4.js → dist-BrNloUiz.js} +1 -1
- package/dist/{dist-CSE7pO-4.js.map → dist-BrNloUiz.js.map} +1 -1
- package/dist/{dist-CcNjOWyQ.js → dist-Br_I_YIY.js} +2 -2
- package/dist/{dist-CcNjOWyQ.js.map → dist-Br_I_YIY.js.map} +1 -1
- package/dist/{dist-D0hHNX_3.js → dist-CDa1xTf4.js} +9 -9
- package/dist/{dist-D0hHNX_3.js.map → dist-CDa1xTf4.js.map} +1 -1
- package/dist/{dist-BCCeHAQm.js → dist-CWPamCJD.js} +2 -2
- package/dist/{dist-BCCeHAQm.js.map → dist-CWPamCJD.js.map} +1 -1
- package/dist/{dist-CVCn7F_m.js → dist-CetkIu6m.js} +1 -1
- package/dist/{dist-CVCn7F_m.js.map → dist-CetkIu6m.js.map} +1 -1
- package/dist/{dist-koa_pEtu.js → dist-CjZz16VT.js} +2 -2
- package/dist/{dist-koa_pEtu.js.map → dist-CjZz16VT.js.map} +1 -1
- package/dist/{dist-D5o6xae2.js → dist-DDlxLS_M.js} +2 -2
- package/dist/{dist-D5o6xae2.js.map → dist-DDlxLS_M.js.map} +1 -1
- package/dist/{dist-Cao8o5bZ.js → dist-DFW2ymX5.js} +1 -1
- package/dist/{dist-Cao8o5bZ.js.map → dist-DFW2ymX5.js.map} +1 -1
- package/dist/{dist-Dm7Xaded.js → dist-DHTh2jaC.js} +1 -1
- package/dist/{dist-Dm7Xaded.js.map → dist-DHTh2jaC.js.map} +1 -1
- package/dist/{dist-BBVMDH9A.js → dist-DN5XnB8I.js} +4 -4
- package/dist/{dist-BBVMDH9A.js.map → dist-DN5XnB8I.js.map} +1 -1
- package/dist/{dist-C0wG5dwG.js → dist-DYQiYO9a.js} +2 -2
- package/dist/{dist-C0wG5dwG.js.map → dist-DYQiYO9a.js.map} +1 -1
- package/dist/{dist-RmXz0NYF.js → dist-GA_FAY5r.js} +1 -1
- package/dist/{dist-RmXz0NYF.js.map → dist-GA_FAY5r.js.map} +1 -1
- package/dist/{dist-cMlzVrN6.js → dist-M-TigQUP.js} +3 -3
- package/dist/{dist-cMlzVrN6.js.map → dist-M-TigQUP.js.map} +1 -1
- package/dist/{dist-DxtM7vvP.js → dist-QzxcNtrD.js} +3 -3
- package/dist/{dist-DxtM7vvP.js.map → dist-QzxcNtrD.js.map} +1 -1
- package/dist/{dist-CTlQcJNK.js → dist-W53Bo1BJ.js} +1 -1
- package/dist/{dist-CTlQcJNK.js.map → dist-W53Bo1BJ.js.map} +1 -1
- package/dist/{dist-B1veE5DO.js → dist-bUQfhez2.js} +8 -8
- package/dist/{dist-B1veE5DO.js.map → dist-bUQfhez2.js.map} +1 -1
- package/dist/{dist-DGayZ3ok2.js → dist-e5OOjxMa.js} +2 -2
- package/dist/dist-e5OOjxMa.js.map +1 -0
- package/dist/{dist-CpMqmV-i.js → dist-r_mYhsAH.js} +2 -2
- package/dist/{dist-CpMqmV-i.js.map → dist-r_mYhsAH.js.map} +1 -1
- package/dist/{dropdown-menu-ChWWguC6.js → dropdown-menu-CxFMDZns.js} +7 -7
- package/dist/{dropdown-menu-ChWWguC6.js.map → dropdown-menu-CxFMDZns.js.map} +1 -1
- package/dist/{ellipsis-QzwbUxFu.js → ellipsis-CLIG9-2m.js} +2 -2
- package/dist/{ellipsis-QzwbUxFu.js.map → ellipsis-CLIG9-2m.js.map} +1 -1
- package/dist/{erDiagram-INFDFZHY-Ccs6kW39.js → erDiagram-INFDFZHY-C42JeR9I.js} +15 -15
- package/dist/{erDiagram-INFDFZHY-Ccs6kW39.js.map → erDiagram-INFDFZHY-C42JeR9I.js.map} +1 -1
- package/dist/{es2015-Bv2aaatg.js → es2015-CJnm4_FQ.js} +4 -4
- package/dist/{es2015-Bv2aaatg.js.map → es2015-CJnm4_FQ.js.map} +1 -1
- package/dist/{flowDiagram-PKNHOUZH-BFdCj6uy.js → flowDiagram-PKNHOUZH-DInJjOz3.js} +18 -18
- package/dist/{flowDiagram-PKNHOUZH-BFdCj6uy.js.map → flowDiagram-PKNHOUZH-DInJjOz3.js.map} +1 -1
- package/dist/{ganttDiagram-A5KZAMGK-11X4ChEO.js → ganttDiagram-A5KZAMGK-Dgp-4Yss.js} +8 -8
- package/dist/{ganttDiagram-A5KZAMGK-11X4ChEO.js.map → ganttDiagram-A5KZAMGK-Dgp-4Yss.js.map} +1 -1
- package/dist/gitGraph-HDMCJU4V-D_QsK6Rt.js +3 -0
- package/dist/{gitGraphDiagram-K3NZZRJ6-BaZX5GA5.js → gitGraphDiagram-K3NZZRJ6-Dr_X0dND.js} +8 -8
- package/dist/{gitGraphDiagram-K3NZZRJ6-BaZX5GA5.js.map → gitGraphDiagram-K3NZZRJ6-Dr_X0dND.js.map} +1 -1
- package/dist/{graphlib-DmFENmkJ.js → graphlib-ecencZTG.js} +4 -4
- package/dist/{graphlib-DmFENmkJ.js.map → graphlib-ecencZTG.js.map} +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +121 -121
- package/dist/info-3K5VOQVL-BbLiZXwn.js +3 -0
- package/dist/{infoDiagram-LFFYTUFH-iswGOIAk.js → infoDiagram-LFFYTUFH-DajJJRvc.js} +5 -5
- package/dist/{infoDiagram-LFFYTUFH-iswGOIAk.js.map → infoDiagram-LFFYTUFH-DajJJRvc.js.map} +1 -1
- package/dist/{init-Bdvvvy1Z.js → init-DcLTaNW1.js} +1 -1
- package/dist/{init-Bdvvvy1Z.js.map → init-DcLTaNW1.js.map} +1 -1
- package/dist/{input-DwHjxF_w.js → input-BrmncNsd.js} +1 -1
- package/dist/{input-DwHjxF_w.js.map → input-BrmncNsd.js.map} +1 -1
- package/dist/{interactive-C6OMqZhG.js → interactive-CXfIDzyh.js} +1 -1
- package/dist/{interactive-C6OMqZhG.js.map → interactive-CXfIDzyh.js.map} +1 -1
- package/dist/{isArrayLikeObject-uEhZQuCW.js → isArrayLikeObject-Bjsxaqj7.js} +1 -1
- package/dist/{isArrayLikeObject-uEhZQuCW.js.map → isArrayLikeObject-Bjsxaqj7.js.map} +1 -1
- package/dist/{isEmpty-SB7gHWzg.js → isEmpty-CeZZUVts.js} +2 -2
- package/dist/{isEmpty-SB7gHWzg.js.map → isEmpty-CeZZUVts.js.map} +1 -1
- package/dist/{ishikawaDiagram-PHBUUO56-BYrA8GRt.js → ishikawaDiagram-PHBUUO56-qHBJm2LT.js} +6 -6
- package/dist/{ishikawaDiagram-PHBUUO56-BYrA8GRt.js.map → ishikawaDiagram-PHBUUO56-qHBJm2LT.js.map} +1 -1
- package/dist/{journeyDiagram-4ABVD52K-BlCQNVun.js → journeyDiagram-4ABVD52K-PgfYdoDM.js} +7 -7
- package/dist/{journeyDiagram-4ABVD52K-BlCQNVun.js.map → journeyDiagram-4ABVD52K-PgfYdoDM.js.map} +1 -1
- package/dist/{kanban-definition-K7BYSVSG-85hLaVO4.js → kanban-definition-K7BYSVSG-DFRT8j7A.js} +11 -11
- package/dist/{kanban-definition-K7BYSVSG-85hLaVO4.js.map → kanban-definition-K7BYSVSG-DFRT8j7A.js.map} +1 -1
- package/dist/{katex-DyctUUDD.js → katex-BZdHnXin.js} +1 -1
- package/dist/{katex-DyctUUDD.js.map → katex-BZdHnXin.js.map} +1 -1
- package/dist/{label-DaoC8KCo.js → label-D_TX0q0F.js} +4 -4
- package/dist/{label-DaoC8KCo.js.map → label-D_TX0q0F.js.map} +1 -1
- package/dist/layout-DJ2E8nU0.js +135 -0
- package/dist/layout-DJ2E8nU0.js.map +1 -0
- package/dist/{line-xLJn8e8J.js → line-Cq1AZT4f.js} +4 -4
- package/dist/{line-xLJn8e8J.js.map → line-Cq1AZT4f.js.map} +1 -1
- package/dist/{linear-BePtLBEt.js → linear-BnJD01Xn.js} +5 -5
- package/dist/{linear-BePtLBEt.js.map → linear-BnJD01Xn.js.map} +1 -1
- package/dist/{markdown-viewer-DrwjEcXp.js → markdown-viewer-CBRQVRMp.js} +1 -1
- package/dist/{markdown-viewer-DrwjEcXp.js.map → markdown-viewer-CBRQVRMp.js.map} +1 -1
- package/dist/{math--xT1IZMK.js → math-D4gdAuwG.js} +1 -1
- package/dist/{math--xT1IZMK.js.map → math-D4gdAuwG.js.map} +1 -1
- package/dist/{menubar-CZie7LCj.js → menubar-lQZ-0ckw.js} +13 -13
- package/dist/{menubar-CZie7LCj.js.map → menubar-lQZ-0ckw.js.map} +1 -1
- package/dist/{mermaid-parser.core-Bd7Ghv5c.js → mermaid-parser.core-Dz5qv4CI.js} +16 -16
- package/dist/{mermaid-parser.core-Bd7Ghv5c.js.map → mermaid-parser.core-Dz5qv4CI.js.map} +1 -1
- package/dist/{mermaid.core-beWmNAWY.js → mermaid.core-DTiIXVKa.js} +44 -44
- package/dist/{mermaid.core-beWmNAWY.js.map → mermaid.core-DTiIXVKa.js.map} +1 -1
- package/dist/{mindmap-definition-YRQLILUH-CNBsYwDI.js → mindmap-definition-YRQLILUH-D95OPRMh.js} +13 -13
- package/dist/{mindmap-definition-YRQLILUH-CNBsYwDI.js.map → mindmap-definition-YRQLILUH-D95OPRMh.js.map} +1 -1
- package/dist/{navigation-menu-Db2QQ70P.js → navigation-menu-BpZTlEU0.js} +14 -14
- package/dist/{navigation-menu-Db2QQ70P.js.map → navigation-menu-BpZTlEU0.js.map} +1 -1
- package/dist/{ordinal-BKo-UFaW.js → ordinal-CC9tfh_g.js} +2 -2
- package/dist/{ordinal-BKo-UFaW.js.map → ordinal-CC9tfh_g.js.map} +1 -1
- package/dist/packet-RMMSAZCW-D72DRs1N.js +3 -0
- package/dist/{pagination-BmFjVnmV.js → pagination-CCjNavtQ.js} +5 -5
- package/dist/{pagination-BmFjVnmV.js.map → pagination-CCjNavtQ.js.map} +1 -1
- package/dist/{path-Z-HG_8i_.js → path-y0uQCOMW.js} +1 -1
- package/dist/{path-Z-HG_8i_.js.map → path-y0uQCOMW.js.map} +1 -1
- package/dist/pie-UPGHQEXC-C8RDLrEi.js +3 -0
- package/dist/{pieDiagram-SKSYHLDU-BMrGgUAv.js → pieDiagram-SKSYHLDU-BREEn_Sk.js} +12 -12
- package/dist/{pieDiagram-SKSYHLDU-BMrGgUAv.js.map → pieDiagram-SKSYHLDU-BREEn_Sk.js.map} +1 -1
- package/dist/primitives/button/index.js +1 -1
- package/dist/primitives/index.js +3 -3
- package/dist/primitives/input/index.js +1 -1
- package/dist/primitives/live-log-tail.js +1 -1
- package/dist/primitives/phase-progress.js +1 -1
- package/dist/primitives/sse-live-badge.js +1 -1
- package/dist/primitives/toggle/index.js +1 -1
- package/dist/primitives/yaml-override-editor.js +1 -1
- package/dist/primitives-BzQ6EvIx.js +380 -0
- package/dist/primitives-BzQ6EvIx.js.map +1 -0
- package/dist/{quadrantDiagram-337W2JSQ-kFO50yPy.js → quadrantDiagram-337W2JSQ-CcKc-h2o.js} +5 -5
- package/dist/{quadrantDiagram-337W2JSQ-kFO50yPy.js.map → quadrantDiagram-337W2JSQ-CcKc-h2o.js.map} +1 -1
- package/dist/radar-KQ55EAFF-DhmvjiyN.js +3 -0
- package/dist/{radio-group-Dum8cfXo.js → radio-group-8GO9_jRN.js} +10 -10
- package/dist/{radio-group-Dum8cfXo.js.map → radio-group-8GO9_jRN.js.map} +1 -1
- package/dist/react/app-switcher.js +1 -1
- package/dist/react/brand.js +1 -1
- package/dist/react/consent/preferences.js +1 -1
- package/dist/react/editors/code-editor.js +1 -1
- package/dist/react/editors/diff-viewer.js +1 -1
- package/dist/react/editors/json-viewer.js +1 -1
- package/dist/react/editors/log-viewer.js +1 -1
- package/dist/react/editors/yaml-editor.js +1 -1
- package/dist/react/feedback/notification-banner.js +2 -2
- package/dist/react/hooks/useSSE.js +1 -1
- package/dist/react/hooks/useStorage.js +1 -1
- package/dist/react/layout/app-shell.js +1 -1
- package/dist/react/layout/browser-layout.d.ts +12 -0
- package/dist/react/layout/browser-layout.d.ts.map +1 -0
- package/dist/react/layout/detail-header.d.ts +13 -0
- package/dist/react/layout/detail-header.d.ts.map +1 -0
- package/dist/react/layout/index.d.ts +4 -0
- package/dist/react/layout/index.d.ts.map +1 -1
- package/dist/react/layout/index.js +3 -2
- package/dist/react/layout/page-frame.d.ts +11 -0
- package/dist/react/layout/page-frame.d.ts.map +1 -0
- package/dist/react/layout/page-header.js +1 -1
- package/dist/react/layout/sub-nav.d.ts +15 -0
- package/dist/react/layout/sub-nav.d.ts.map +1 -0
- package/dist/react/primitives/alert-dialog.js +1 -1
- package/dist/react/primitives/alert.js +3 -3
- package/dist/react/primitives/animated-counter.js +1 -1
- package/dist/react/primitives/aspect-ratio.js +1 -1
- package/dist/react/primitives/attack-path.d.ts +1 -1
- package/dist/react/primitives/attack-path.js +2 -2
- package/dist/react/primitives/avatar.js +2 -2
- package/dist/react/primitives/badge.d.ts +1 -1
- package/dist/react/primitives/badge.js +3 -3
- package/dist/react/primitives/breadcrumb.js +3 -3
- package/dist/react/primitives/button.js +3 -3
- package/dist/react/primitives/calendar.js +1 -1
- package/dist/react/primitives/card.js +1 -1
- package/dist/react/primitives/carousel.js +1 -1
- package/dist/react/primitives/chart-area.js +1 -1
- package/dist/react/primitives/chart-bar.js +1 -1
- package/dist/react/primitives/chart-candlestick.js +1 -1
- package/dist/react/primitives/chart-frame.d.ts +14 -0
- package/dist/react/primitives/chart-frame.d.ts.map +1 -0
- package/dist/react/primitives/chart-funnel.js +1 -1
- package/dist/react/primitives/chart-gauge.js +1 -1
- package/dist/react/primitives/chart-heatmap.js +1 -1
- package/dist/react/primitives/chart-line.js +1 -1
- package/dist/react/primitives/chart-pie.js +1 -1
- package/dist/react/primitives/chart-radar.js +1 -1
- package/dist/react/primitives/chart-sankey.js +1 -1
- package/dist/react/primitives/chart-scatter.js +1 -1
- package/dist/react/primitives/chart-sparkline.js +1 -1
- package/dist/react/primitives/chart-treemap.js +1 -1
- package/dist/react/primitives/chart-waterfall.js +1 -1
- package/dist/react/primitives/chat-drawer.d.ts +13 -0
- package/dist/react/primitives/chat-drawer.d.ts.map +1 -0
- package/dist/react/primitives/chat-input.d.ts +10 -0
- package/dist/react/primitives/chat-input.d.ts.map +1 -0
- package/dist/react/primitives/checkbox.js +1 -1
- package/dist/react/primitives/code-block.js +3 -3
- package/dist/react/primitives/code-viewer.js +3 -3
- package/dist/react/primitives/collapsible.js +3 -3
- package/dist/react/primitives/color-picker.js +1 -1
- package/dist/react/primitives/context-menu.js +1 -1
- package/dist/react/primitives/copy-button.js +4 -4
- package/dist/react/primitives/cron-editor.js +1 -1
- package/dist/react/primitives/cvss-badge.d.ts +1 -1
- package/dist/react/primitives/cvss-badge.js +2 -2
- package/dist/react/primitives/dashboard-metric-card.d.ts +18 -0
- package/dist/react/primitives/dashboard-metric-card.d.ts.map +1 -0
- package/dist/react/primitives/data-field.d.ts +13 -0
- package/dist/react/primitives/data-field.d.ts.map +1 -0
- package/dist/react/primitives/data-grid.js +4 -4
- package/dist/react/primitives/data-table.js +2 -2
- package/dist/react/primitives/date-picker.js +1 -1
- package/dist/react/primitives/detection-status.d.ts +1 -1
- package/dist/react/primitives/detection-status.js +2 -2
- package/dist/react/primitives/dialog.js +3 -3
- package/dist/react/primitives/drawer.js +3 -3
- package/dist/react/primitives/dropdown-menu.js +1 -1
- package/dist/react/primitives/empty-state.js +1 -1
- package/dist/react/primitives/field.js +1 -1
- package/dist/react/primitives/file-tree.js +1 -1
- package/dist/react/primitives/flow-diagram.js +1 -1
- package/dist/react/primitives/heatmap-legend.js +1 -1
- package/dist/react/primitives/heatmap-toolbar.js +2 -2
- package/dist/react/primitives/hover-card.js +1 -1
- package/dist/react/primitives/index.d.ts +8 -0
- package/dist/react/primitives/index.d.ts.map +1 -1
- package/dist/react/primitives/index.js +84 -83
- package/dist/react/primitives/input.js +1 -1
- package/dist/react/primitives/json-path-browser.js +1 -1
- package/dist/react/primitives/kanban.js +1 -1
- package/dist/react/primitives/kbd.js +1 -1
- package/dist/react/primitives/label.js +1 -1
- package/dist/react/primitives/map.js +1 -1
- package/dist/react/primitives/markdown-viewer.js +0 -0
- package/dist/react/primitives/menubar.js +1 -1
- package/dist/react/primitives/mermaid-diagram.js +1 -1
- package/dist/react/primitives/metric-tile.js +1 -1
- package/dist/react/primitives/mitre-matrix.d.ts +1 -1
- package/dist/react/primitives/mitre-matrix.js +2 -2
- package/dist/react/primitives/modal.js +3 -3
- package/dist/react/primitives/navigation-menu.js +1 -1
- package/dist/react/primitives/network-graph.js +1 -1
- package/dist/react/primitives/notification-center.js +4 -4
- package/dist/react/primitives/notification-center.js.map +1 -1
- package/dist/react/primitives/pagination.js +1 -1
- package/dist/react/primitives/popover.js +1 -1
- package/dist/react/primitives/progress.js +2 -2
- package/dist/react/primitives/query-boundary.d.ts +15 -0
- package/dist/react/primitives/query-boundary.d.ts.map +1 -0
- package/dist/react/primitives/radio-group.js +1 -1
- package/dist/react/primitives/rule-editor.js +1 -1
- package/dist/react/primitives/score-ring.d.ts +13 -0
- package/dist/react/primitives/score-ring.d.ts.map +1 -0
- package/dist/react/primitives/scroll-area.js +1 -1
- package/dist/react/primitives/search.js +3 -3
- package/dist/react/primitives/section-panel.d.ts +11 -0
- package/dist/react/primitives/section-panel.d.ts.map +1 -0
- package/dist/react/primitives/select.js +1 -1
- package/dist/react/primitives/separator.js +1 -1
- package/dist/react/primitives/severity-indicator.d.ts +1 -1
- package/dist/react/primitives/severity-indicator.js +2 -2
- package/dist/react/primitives/sheet.js +3 -3
- package/dist/react/primitives/skeleton.js +1 -1
- package/dist/react/primitives/slide-panel.js +2 -2
- package/dist/react/primitives/slider.js +1 -1
- package/dist/react/primitives/spinner.js +1 -1
- package/dist/react/primitives/split-pane.js +1 -1
- package/dist/react/primitives/stat-card.js +2 -2
- package/dist/react/primitives/status-bar.js +1 -1
- package/dist/react/primitives/status-dot.js +1 -1
- package/dist/react/primitives/stepper.js +3 -3
- package/dist/react/primitives/switch.js +1 -1
- package/dist/react/primitives/table.js +1 -1
- package/dist/react/primitives/tabs.js +1 -1
- package/dist/react/primitives/tag-input.js +1 -1
- package/dist/react/primitives/terminal.js +1 -1
- package/dist/react/primitives/textarea.js +1 -1
- package/dist/react/primitives/timeline.js +1 -1
- package/dist/react/primitives/toast.js +1 -1
- package/dist/react/primitives/toggle.js +1 -1
- package/dist/react/primitives/tooltip.js +1 -1
- package/dist/react/primitives/tree-view.js +2 -2
- package/dist/react/primitives/typography.js +1 -1
- package/dist/react/primitives/uptime-bar.js +1 -1
- package/dist/react/primitives/vulnerability-card.d.ts +1 -1
- package/dist/react/primitives/vulnerability-card.js +2 -2
- package/dist/react/sidebar.js +2 -2
- package/dist/react/theme-studio.js +1 -1
- package/dist/react/theme-toggle.js +1 -1
- package/dist/react/topology.js +1 -1
- package/dist/react.js +103 -103
- package/dist/{requirementDiagram-Z7DCOOCP-D2Oxfw6G.js → requirementDiagram-Z7DCOOCP-aPcaPduF.js} +13 -13
- package/dist/{requirementDiagram-Z7DCOOCP-D2Oxfw6G.js.map → requirementDiagram-Z7DCOOCP-aPcaPduF.js.map} +1 -1
- package/dist/{rough.esm-Czyj4U3Q.js → rough.esm-C9rQ9YkE.js} +1 -1
- package/dist/{rough.esm-Czyj4U3Q.js.map → rough.esm-C9rQ9YkE.js.map} +1 -1
- package/dist/{sankeyDiagram-WA2Y5GQK-q1_lwNBY.js → sankeyDiagram-WA2Y5GQK-CO_lUqQX.js} +5 -5
- package/dist/{sankeyDiagram-WA2Y5GQK-q1_lwNBY.js.map → sankeyDiagram-WA2Y5GQK-CO_lUqQX.js.map} +1 -1
- package/dist/{scroll-area-CR1iK8Af.js → scroll-area-C_oeG0js.js} +8 -8
- package/dist/{scroll-area-CR1iK8Af.js.map → scroll-area-C_oeG0js.js.map} +1 -1
- package/dist/{search-CrxnZfZ5.js → search-Cu20LdaQ.js} +2 -2
- package/dist/{search-CrxnZfZ5.js.map → search-Cu20LdaQ.js.map} +1 -1
- package/dist/security/index.d.ts +2 -0
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +7 -6
- package/dist/security/mitre-data.d.ts +38 -0
- package/dist/security/mitre-data.d.ts.map +1 -0
- package/dist/security-AzmGrY2-.js +77 -0
- package/dist/security-AzmGrY2-.js.map +1 -0
- package/dist/{select-BX7KT3VP.js → select-Bc7Gn3Oa.js} +19 -19
- package/dist/{select-BX7KT3VP.js.map → select-Bc7Gn3Oa.js.map} +1 -1
- package/dist/{separator-C6KfB7ww.js → separator-C-OWzLst.js} +3 -3
- package/dist/{separator-C6KfB7ww.js.map → separator-C-OWzLst.js.map} +1 -1
- package/dist/{sequenceDiagram-2WXFIKYE-BCEaH0s_.js → sequenceDiagram-2WXFIKYE-D7Vh1Zld.js} +9 -9
- package/dist/{sequenceDiagram-2WXFIKYE-BCEaH0s_.js.map → sequenceDiagram-2WXFIKYE-D7Vh1Zld.js.map} +1 -1
- package/dist/{series-DMc2ZYyj.js → series-DrBALkNS.js} +2 -2
- package/dist/{series-DMc2ZYyj.js.map → series-DrBALkNS.js.map} +1 -1
- package/dist/services/index.js +2 -2
- package/dist/services/sse-react.js +1 -1
- package/dist/services/sse.js +1 -1
- package/dist/services/theme-engine/engine.d.ts.map +1 -1
- package/dist/services/theme-engine/fonts.d.ts.map +1 -1
- package/dist/services/theme-engine/icons.d.ts.map +1 -1
- package/dist/services/theme-engine/index.js +120 -48
- package/dist/services/theme-engine/index.js.map +1 -1
- package/dist/services/theme-engine/test-helpers.d.ts +13 -0
- package/dist/services/theme-engine/test-helpers.d.ts.map +1 -0
- package/dist/services/toast-react.js +2 -2
- package/dist/sidebar/index.js +1 -1
- package/dist/{slider-CLgdcoKC.js → slider-CJoWbXQt.js} +10 -10
- package/dist/{slider-CLgdcoKC.js.map → slider-CJoWbXQt.js.map} +1 -1
- package/dist/{src-hxErHTV1.js → src-BhNgmpel.js} +2 -2
- package/dist/{src-hxErHTV1.js.map → src-BhNgmpel.js.map} +1 -1
- package/dist/{src-BEYP07TO.js → src-D1EMXotX.js} +1 -1
- package/dist/{src-BEYP07TO.js.map → src-D1EMXotX.js.map} +1 -1
- package/dist/{sse-D0HLjufB.js → sse-DCaj9UFJ.js} +1 -1
- package/dist/{sse-D0HLjufB.js.map → sse-DCaj9UFJ.js.map} +1 -1
- package/dist/{stateDiagram-RAJIS63D-B-Mu-_BR.js → stateDiagram-RAJIS63D-DdiY5cf3.js} +18 -18
- package/dist/{stateDiagram-RAJIS63D-B-Mu-_BR.js.map → stateDiagram-RAJIS63D-DdiY5cf3.js.map} +1 -1
- package/dist/stateDiagram-v2-FVOUBMTO-CAWy0Pkh.js +29 -0
- package/dist/{stateDiagram-v2-FVOUBMTO-Cnp2uGxd.js.map → stateDiagram-v2-FVOUBMTO-CAWy0Pkh.js.map} +1 -1
- package/dist/{storage-B-gK537W.js → storage-BUlr2J4R.js} +1 -1
- package/dist/{storage-B-gK537W.js.map → storage-BUlr2J4R.js.map} +1 -1
- package/dist/styles/layout.css +18 -18
- package/dist/styles/sidebar.css +31 -19
- package/dist/styles/tenant-ui.css +34 -34
- package/dist/styles/theme-engine.css +546 -23
- package/dist/styles/theme.css +1 -0
- package/dist/styles/tokens.css +69 -34
- package/dist/styles/ui.css +5 -5
- package/dist/{switch-CoTkNGEB.js → switch-Dcd3Fyw_.js} +7 -7
- package/dist/{switch-CoTkNGEB.js.map → switch-Dcd3Fyw_.js.map} +1 -1
- package/dist/{tabs-BT2WAQcK.js → tabs-8AT2ntg_.js} +8 -8
- package/dist/{tabs-BT2WAQcK.js.map → tabs-8AT2ntg_.js.map} +1 -1
- package/dist/theme-studio-CN9Ipb9W.js +236 -0
- package/dist/theme-studio-CN9Ipb9W.js.map +1 -0
- package/dist/{theme-toggle-Csyj-tLm.js → theme-toggle-glKWbKG8.js} +2 -2
- package/dist/{theme-toggle-Csyj-tLm.js.map → theme-toggle-glKWbKG8.js.map} +1 -1
- package/dist/{timeline-definition-YZTLITO2-B0SegHNN.js → timeline-definition-YZTLITO2-CjxxCuOg.js} +5 -5
- package/dist/{timeline-definition-YZTLITO2-B0SegHNN.js.map → timeline-definition-YZTLITO2-CjxxCuOg.js.map} +1 -1
- package/dist/{toast-DRNPdj-R.js → toast-CawTm-7V.js} +6 -6
- package/dist/{toast-DRNPdj-R.js.map → toast-CawTm-7V.js.map} +1 -1
- package/dist/{toggle-DJJEPXXE.js → toggle-C8sazHXX.js} +7 -7
- package/dist/{toggle-DJJEPXXE.js.map → toggle-C8sazHXX.js.map} +1 -1
- package/dist/{toggle-D-WMiAg3.js → toggle-IUUynh_v.js} +1 -1
- package/dist/{toggle-D-WMiAg3.js.map → toggle-IUUynh_v.js.map} +1 -1
- package/dist/{tooltip-DuC73a5E.js → tooltip-NKOSxS28.js} +11 -11
- package/dist/{tooltip-DuC73a5E.js.map → tooltip-NKOSxS28.js.map} +1 -1
- package/dist/{topology-C4Q_kT9X.js → topology-C8cyIHlB.js} +5 -5
- package/dist/{topology-C4Q_kT9X.js.map → topology-C8cyIHlB.js.map} +1 -1
- package/dist/treemap-KZPCXAKY-BvLvHb2t.js +3 -0
- package/dist/{triangle-alert-CKjGAvtd.js → triangle-alert-BtwDDOUp.js} +2 -2
- package/dist/{triangle-alert-CKjGAvtd.js.map → triangle-alert-BtwDDOUp.js.map} +1 -1
- package/dist/types/confidence.d.ts +66 -0
- package/dist/types/confidence.d.ts.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +6 -6
- package/dist/utils/sage-analysis.d.ts +51 -0
- package/dist/utils/sage-analysis.d.ts.map +1 -0
- package/dist/utils/score.d.ts +58 -0
- package/dist/utils/score.d.ts.map +1 -0
- package/dist/utils/status-tone.d.ts +4 -0
- package/dist/utils/status-tone.d.ts.map +1 -0
- package/dist/{utils-B7XIe3qq.js → utils-DcOSDVkb.js} +1 -1
- package/dist/{utils-B7XIe3qq.js.map → utils-DcOSDVkb.js.map} +1 -1
- package/dist/{utils-CHEq9Vpx.js → utils-JB2cYPor.js} +120 -2
- package/dist/utils-JB2cYPor.js.map +1 -0
- package/dist/{value-CybtvyUg.js → value-gSPnIECy.js} +2 -2
- package/dist/{value-CybtvyUg.js.map → value-gSPnIECy.js.map} +1 -1
- package/dist/{vennDiagram-LZ73GAT5-ClN0stHq.js → vennDiagram-LZ73GAT5-FqpGoq2s.js} +7 -7
- package/dist/{vennDiagram-LZ73GAT5-ClN0stHq.js.map → vennDiagram-LZ73GAT5-FqpGoq2s.js.map} +1 -1
- package/dist/visualization/mermaid-diagram/index.js +1 -1
- package/dist/{x-BleQvk5v.js → x-D2ovnRiN.js} +2 -2
- package/dist/{x-BleQvk5v.js.map → x-D2ovnRiN.js.map} +1 -1
- package/dist/{xychartDiagram-JWTSCODW-DjFaG2VD.js → xychartDiagram-JWTSCODW-BNEAK79X.js} +10 -10
- package/dist/{xychartDiagram-JWTSCODW-DjFaG2VD.js.map → xychartDiagram-JWTSCODW-BNEAK79X.js.map} +1 -1
- package/package.json +1 -1
- package/src/components/theme/accent-switcher.ts +9 -2
- package/src/components/theme/density-switcher.ts +7 -1
- package/src/components/theme/font-stack-picker.ts +7 -1
- package/src/components/theme/glass-slider.ts +19 -8
- package/src/components/theme/icon-gallery-browser.ts +191 -0
- package/src/components/theme/icon-set-picker.ts +19 -8
- package/src/components/theme/icon-usage-matrix.ts +15 -1
- package/src/components/theme/radius-slider.ts +14 -6
- package/src/components/theme/theme-preset-grid.ts +8 -2
- package/src/components/theme/theme-preview-tile.ts +11 -3
- package/src/components/theme/theme-studio-review.test.ts +253 -0
- package/src/components/theme/theme-studio.ts +100 -61
- package/src/components/theme/theme-switcher.ts +7 -1
- package/src/index.ts +11 -0
- package/src/react/layout/browser-layout.tsx +54 -0
- package/src/react/layout/detail-header.tsx +42 -0
- package/src/react/layout/index.ts +4 -0
- package/src/react/layout/page-frame.tsx +32 -0
- package/src/react/layout/sub-nav.tsx +72 -0
- package/src/react/primitives/chart-frame.tsx +51 -0
- package/src/react/primitives/chat-drawer.tsx +94 -0
- package/src/react/primitives/chat-input.tsx +134 -0
- package/src/react/primitives/dashboard-metric-card.tsx +78 -0
- package/src/react/primitives/data-field.tsx +54 -0
- package/src/react/primitives/index.ts +13 -0
- package/src/react/primitives/notification-center.tsx +3 -3
- package/src/react/primitives/query-boundary.tsx +71 -0
- package/src/react/primitives/score-ring.tsx +78 -0
- package/src/react/primitives/section-panel.tsx +42 -0
- package/src/security/index.ts +4 -0
- package/src/security/mitre-data.ts +60 -0
- package/src/services/theme-engine/engine.test.ts +3 -25
- package/src/services/theme-engine/engine.ts +35 -9
- package/src/services/theme-engine/fonts.ts +4 -0
- package/src/services/theme-engine/icons.ts +76 -9
- package/src/services/theme-engine/palettes.ts +2 -2
- package/src/services/theme-engine/test-helpers.ts +37 -0
- package/src/styles/layout.css +18 -18
- package/src/styles/sidebar.css +31 -19
- package/src/styles/tenant-ui.css +34 -34
- package/src/styles/theme-engine.css +546 -23
- package/src/styles/theme.css +1 -0
- package/src/styles/tokens.css +69 -34
- package/src/styles/ui.css +5 -5
- package/src/types/confidence.ts +72 -0
- package/src/types/index.ts +9 -0
- package/src/utils/__tests__/sage-analysis.test.ts +41 -0
- package/src/utils/__tests__/score.test.ts +232 -0
- package/src/utils/__tests__/status-tone.test.ts +164 -0
- package/src/utils/index.ts +29 -0
- package/src/utils/sage-analysis.ts +62 -0
- package/src/utils/score.ts +123 -0
- package/src/utils/status-tone.ts +48 -0
- package/dist/architecture-PBZL5I3N-gCfUhEfQ.js +0 -3
- package/dist/classDiagram-VBA2DB6C-DFfohpM0.js +0 -31
- package/dist/classDiagram-v2-RAHNMMFH-kUMm28FB.js +0 -31
- package/dist/components/theme/theme-studio.js.map +0 -1
- package/dist/dist-DGayZ3ok2.js.map +0 -1
- package/dist/gitGraph-HDMCJU4V--53HTu2M.js +0 -3
- package/dist/info-3K5VOQVL-CmVeZuiG.js +0 -3
- package/dist/packet-RMMSAZCW-jFj7IW8A.js +0 -3
- package/dist/pie-UPGHQEXC-osqmeuax.js +0 -3
- package/dist/radar-KQ55EAFF-Dj2g5Z-W.js +0 -3
- package/dist/stateDiagram-v2-FVOUBMTO-Cnp2uGxd.js +0 -29
- package/dist/treemap-KZPCXAKY-DQ1GEudW.js +0 -3
- package/dist/utils-CHEq9Vpx.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { f as e } from "./chunk-GEFDOKGD-
|
|
2
|
-
import { n as t } from "./src-
|
|
3
|
-
import { b as n, d as r } from "./chunk-7R4GIKGN-
|
|
1
|
+
import { f as e } from "./chunk-GEFDOKGD-DGJJEGSm.js";
|
|
2
|
+
import { n as t } from "./src-BhNgmpel.js";
|
|
3
|
+
import { b as n, d as r } from "./chunk-7R4GIKGN-DJmroLCH.js";
|
|
4
4
|
//#region node_modules/mermaid/dist/chunks/mermaid.core/chunk-YBOYWFTD.mjs
|
|
5
5
|
var i = /* @__PURE__ */ t(({ flowchart: e }) => {
|
|
6
6
|
let t = e?.subGraphTitleMargin?.top ?? 0, n = e?.subGraphTitleMargin?.bottom ?? 0;
|
|
@@ -31,4 +31,4 @@ t(a, "configureLabelImages");
|
|
|
31
31
|
//#endregion
|
|
32
32
|
export { i as n, a as t };
|
|
33
33
|
|
|
34
|
-
//# sourceMappingURL=chunk-YBOYWFTD-
|
|
34
|
+
//# sourceMappingURL=chunk-YBOYWFTD-DkjEOcgZ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunk-YBOYWFTD-
|
|
1
|
+
{"version":3,"file":"chunk-YBOYWFTD-DkjEOcgZ.js","names":["getConfig"],"sources":["../node_modules/mermaid/dist/chunks/mermaid.core/chunk-YBOYWFTD.mjs"],"sourcesContent":["import {\n parseFontSize\n} from \"./chunk-GEFDOKGD.mjs\";\nimport {\n defaultConfig_default,\n getConfig2 as getConfig\n} from \"./chunk-7R4GIKGN.mjs\";\nimport {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/utils/subGraphTitleMargins.ts\nvar getSubGraphTitleMargins = /* @__PURE__ */ __name(({\n flowchart\n}) => {\n const subGraphTitleTopMargin = flowchart?.subGraphTitleMargin?.top ?? 0;\n const subGraphTitleBottomMargin = flowchart?.subGraphTitleMargin?.bottom ?? 0;\n const subGraphTitleTotalMargin = subGraphTitleTopMargin + subGraphTitleBottomMargin;\n return {\n subGraphTitleTopMargin,\n subGraphTitleBottomMargin,\n subGraphTitleTotalMargin\n };\n}, \"getSubGraphTitleMargins\");\n\n// src/rendering-util/rendering-elements/shapes/labelImageUtils.ts\nasync function configureLabelImages(container, labelText) {\n const images = container.getElementsByTagName(\"img\");\n if (!images || images.length === 0) {\n return;\n }\n const noImgText = labelText.replace(/<img[^>]*>/g, \"\").trim() === \"\";\n await Promise.all(\n [...images].map(\n (img) => new Promise((res) => {\n function setupImage() {\n img.style.display = \"flex\";\n img.style.flexDirection = \"column\";\n if (noImgText) {\n const bodyFontSize = getConfig().fontSize ? getConfig().fontSize : window.getComputedStyle(document.body).fontSize;\n const enlargingFactor = 5;\n const [parsedBodyFontSize = defaultConfig_default.fontSize] = parseFontSize(bodyFontSize);\n const width = parsedBodyFontSize * enlargingFactor + \"px\";\n img.style.minWidth = width;\n img.style.maxWidth = width;\n } else {\n img.style.width = \"100%\";\n }\n res(img);\n }\n __name(setupImage, \"setupImage\");\n setTimeout(() => {\n if (img.complete) {\n setupImage();\n }\n });\n img.addEventListener(\"error\", setupImage);\n img.addEventListener(\"load\", setupImage);\n })\n )\n );\n}\n__name(configureLabelImages, \"configureLabelImages\");\n\nexport {\n configureLabelImages,\n getSubGraphTitleMargins\n};\n"],"x_google_ignoreList":[0],"mappings":";;;;AAYA,IAAI,IAA0C,mBAAQ,EACpD,mBACI;CACJ,IAAM,IAAyB,GAAW,qBAAqB,OAAO,GAChE,IAA4B,GAAW,qBAAqB,UAAU;AAE5E,QAAO;EACL;EACA;EACA,0BAJ+B,IAAyB;EAKzD;GACA,0BAA0B;AAG7B,eAAe,EAAqB,GAAW,GAAW;CACxD,IAAM,IAAS,EAAU,qBAAqB,MAAM;AACpD,KAAI,CAAC,KAAU,EAAO,WAAW,EAC/B;CAEF,IAAM,IAAY,EAAU,QAAQ,eAAe,GAAG,CAAC,MAAM,KAAK;AAClE,OAAM,QAAQ,IACZ,CAAC,GAAG,EAAO,CAAC,KACT,MAAQ,IAAI,SAAS,MAAQ;EAC5B,SAAS,IAAa;AAGpB,OAFA,EAAI,MAAM,UAAU,QACpB,EAAI,MAAM,gBAAgB,UACtB,GAAW;IACb,IAEM,CAAC,IAAqB,EAAsB,YAAY,EAFzCA,GAAW,CAAC,WAAWA,GAAW,CAAC,WAAW,OAAO,iBAAiB,SAAS,KAAK,CAAC,SAEjB,EACnF,IAAQ,IAAqB,IAAkB;AAErD,IADA,EAAI,MAAM,WAAW,GACrB,EAAI,MAAM,WAAW;SAErB,GAAI,MAAM,QAAQ;AAEpB,KAAI,EAAI;;AASV,EAPA,EAAO,GAAY,aAAa,EAChC,iBAAiB;AACf,GAAI,EAAI,YACN,GAAY;IAEd,EACF,EAAI,iBAAiB,SAAS,EAAW,EACzC,EAAI,iBAAiB,QAAQ,EAAW;GACxC,CACH,CACF;;AAEH,EAAO,GAAsB,uBAAuB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import "./chunk-GEFDOKGD-DGJJEGSm.js";
|
|
2
|
+
import { n as e } from "./src-BhNgmpel.js";
|
|
3
|
+
import "./chunk-7R4GIKGN-DJmroLCH.js";
|
|
4
|
+
import "./chunk-PU5JKC2W-DNpn_Yik.js";
|
|
5
|
+
import "./chunk-FMBD7UC4-1IxrpdPX.js";
|
|
6
|
+
import "./chunk-MX3YWQON-D43mcq1f.js";
|
|
7
|
+
import "./chunk-YBOYWFTD-DkjEOcgZ.js";
|
|
8
|
+
import "./chunk-JSJVCQXG-Do17yYig.js";
|
|
9
|
+
import "./chunk-55IACEB6-DZ-UBhHX.js";
|
|
10
|
+
import "./chunk-KX2RTZJC-d9jFqUAY.js";
|
|
11
|
+
import "./chunk-PQ6SQG4A-Cpfc5F4u.js";
|
|
12
|
+
import "./chunk-KYZI473N-BXYCe83A.js";
|
|
13
|
+
import "./chunk-O4XLMI2P-DtGEm9QX.js";
|
|
14
|
+
import "./chunk-GLR3WWYH-BDwmgwCA.js";
|
|
15
|
+
import { i as t, n, r, t as i } from "./chunk-WL4C6EOR-BV-op7zg.js";
|
|
16
|
+
//#region node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-VBA2DB6C.mjs
|
|
17
|
+
var a = {
|
|
18
|
+
parser: n,
|
|
19
|
+
get db() {
|
|
20
|
+
return new i();
|
|
21
|
+
},
|
|
22
|
+
renderer: r,
|
|
23
|
+
styles: t,
|
|
24
|
+
init: /* @__PURE__ */ e((e) => {
|
|
25
|
+
e.class ||= {}, e.class.arrowMarkerAbsolute = e.arrowMarkerAbsolute;
|
|
26
|
+
}, "init")
|
|
27
|
+
};
|
|
28
|
+
//#endregion
|
|
29
|
+
export { a as diagram };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=classDiagram-VBA2DB6C-DZfC0xPM.js.map
|
package/dist/{classDiagram-VBA2DB6C-DFfohpM0.js.map → classDiagram-VBA2DB6C-DZfC0xPM.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classDiagram-VBA2DB6C-
|
|
1
|
+
{"version":3,"file":"classDiagram-VBA2DB6C-DZfC0xPM.js","names":[],"sources":["../node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-VBA2DB6C.mjs"],"sourcesContent":["import {\n ClassDB,\n classDiagram_default,\n classRenderer_v3_unified_default,\n styles_default\n} from \"./chunk-WL4C6EOR.mjs\";\nimport \"./chunk-FMBD7UC4.mjs\";\nimport \"./chunk-JSJVCQXG.mjs\";\nimport \"./chunk-55IACEB6.mjs\";\nimport \"./chunk-KX2RTZJC.mjs\";\nimport \"./chunk-GLR3WWYH.mjs\";\nimport \"./chunk-O4XLMI2P.mjs\";\nimport \"./chunk-MX3YWQON.mjs\";\nimport \"./chunk-KYZI473N.mjs\";\nimport \"./chunk-YBOYWFTD.mjs\";\nimport \"./chunk-PQ6SQG4A.mjs\";\nimport \"./chunk-PU5JKC2W.mjs\";\nimport \"./chunk-GEFDOKGD.mjs\";\nimport \"./chunk-7R4GIKGN.mjs\";\nimport {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/class/classDiagram.ts\nvar diagram = {\n parser: classDiagram_default,\n get db() {\n return new ClassDB();\n },\n renderer: classRenderer_v3_unified_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.class) {\n cnf.class = {};\n }\n cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n }, \"init\")\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;;;AAwBA,IAAI,IAAU;CACZ,QAAQ;CACR,IAAI,KAAK;AACP,SAAO,IAAI,GAAS;;CAEtB,UAAU;CACV,QAAQ;CACR,MAAsB,mBAAQ,MAAQ;AAIpC,EAHA,AACE,EAAI,UAAQ,EAAE,EAEhB,EAAI,MAAM,sBAAsB,EAAI;IACnC,OAAO;CACX"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import "./chunk-GEFDOKGD-DGJJEGSm.js";
|
|
2
|
+
import { n as e } from "./src-BhNgmpel.js";
|
|
3
|
+
import "./chunk-7R4GIKGN-DJmroLCH.js";
|
|
4
|
+
import "./chunk-PU5JKC2W-DNpn_Yik.js";
|
|
5
|
+
import "./chunk-FMBD7UC4-1IxrpdPX.js";
|
|
6
|
+
import "./chunk-MX3YWQON-D43mcq1f.js";
|
|
7
|
+
import "./chunk-YBOYWFTD-DkjEOcgZ.js";
|
|
8
|
+
import "./chunk-JSJVCQXG-Do17yYig.js";
|
|
9
|
+
import "./chunk-55IACEB6-DZ-UBhHX.js";
|
|
10
|
+
import "./chunk-KX2RTZJC-d9jFqUAY.js";
|
|
11
|
+
import "./chunk-PQ6SQG4A-Cpfc5F4u.js";
|
|
12
|
+
import "./chunk-KYZI473N-BXYCe83A.js";
|
|
13
|
+
import "./chunk-O4XLMI2P-DtGEm9QX.js";
|
|
14
|
+
import "./chunk-GLR3WWYH-BDwmgwCA.js";
|
|
15
|
+
import { i as t, n, r, t as i } from "./chunk-WL4C6EOR-BV-op7zg.js";
|
|
16
|
+
//#region node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-v2-RAHNMMFH.mjs
|
|
17
|
+
var a = {
|
|
18
|
+
parser: n,
|
|
19
|
+
get db() {
|
|
20
|
+
return new i();
|
|
21
|
+
},
|
|
22
|
+
renderer: r,
|
|
23
|
+
styles: t,
|
|
24
|
+
init: /* @__PURE__ */ e((e) => {
|
|
25
|
+
e.class ||= {}, e.class.arrowMarkerAbsolute = e.arrowMarkerAbsolute;
|
|
26
|
+
}, "init")
|
|
27
|
+
};
|
|
28
|
+
//#endregion
|
|
29
|
+
export { a as diagram };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=classDiagram-v2-RAHNMMFH-CtWRD1ax.js.map
|
package/dist/{classDiagram-v2-RAHNMMFH-kUMm28FB.js.map → classDiagram-v2-RAHNMMFH-CtWRD1ax.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"classDiagram-v2-RAHNMMFH-
|
|
1
|
+
{"version":3,"file":"classDiagram-v2-RAHNMMFH-CtWRD1ax.js","names":[],"sources":["../node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-v2-RAHNMMFH.mjs"],"sourcesContent":["import {\n ClassDB,\n classDiagram_default,\n classRenderer_v3_unified_default,\n styles_default\n} from \"./chunk-WL4C6EOR.mjs\";\nimport \"./chunk-FMBD7UC4.mjs\";\nimport \"./chunk-JSJVCQXG.mjs\";\nimport \"./chunk-55IACEB6.mjs\";\nimport \"./chunk-KX2RTZJC.mjs\";\nimport \"./chunk-GLR3WWYH.mjs\";\nimport \"./chunk-O4XLMI2P.mjs\";\nimport \"./chunk-MX3YWQON.mjs\";\nimport \"./chunk-KYZI473N.mjs\";\nimport \"./chunk-YBOYWFTD.mjs\";\nimport \"./chunk-PQ6SQG4A.mjs\";\nimport \"./chunk-PU5JKC2W.mjs\";\nimport \"./chunk-GEFDOKGD.mjs\";\nimport \"./chunk-7R4GIKGN.mjs\";\nimport {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/class/classDiagram-v2.ts\nvar diagram = {\n parser: classDiagram_default,\n get db() {\n return new ClassDB();\n },\n renderer: classRenderer_v3_unified_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.class) {\n cnf.class = {};\n }\n cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n }, \"init\")\n};\nexport {\n diagram\n};\n"],"x_google_ignoreList":[0],"mappings":";;;;;;;;;;;;;;;;AAwBA,IAAI,IAAU;CACZ,QAAQ;CACR,IAAI,KAAK;AACP,SAAO,IAAI,GAAS;;CAEtB,UAAU;CACV,QAAQ;CACR,MAAsB,mBAAQ,MAAQ;AAIpC,EAHA,AACE,EAAI,UAAQ,EAAE,EAEhB,EAAI,MAAM,sBAAsB,EAAI;IACnC,OAAO;CACX"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { y as e } from "./_baseUniq-
|
|
1
|
+
import { y as e } from "./_baseUniq-Bdp_vFUv.js";
|
|
2
2
|
//#region node_modules/lodash-es/clone.js
|
|
3
3
|
var t = 4;
|
|
4
4
|
function n(n) {
|
|
@@ -7,4 +7,4 @@ function n(n) {
|
|
|
7
7
|
//#endregion
|
|
8
8
|
export { n as t };
|
|
9
9
|
|
|
10
|
-
//# sourceMappingURL=clone-
|
|
10
|
+
//# sourceMappingURL=clone-CliVdNc8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clone-
|
|
1
|
+
{"version":3,"file":"clone-CliVdNc8.js","names":[],"sources":["../node_modules/lodash-es/clone.js"],"sourcesContent":["import baseClone from './_baseClone.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_SYMBOLS_FLAG = 4;\n\n/**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\nfunction clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n}\n\nexport default clone;\n"],"x_google_ignoreList":[0],"mappings":";;AAGA,IAAI,IAAqB;AA4BzB,SAAS,EAAM,GAAO;AACpB,QAAO,EAAU,GAAO,EAAmB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-x2UxdKEC.js","names":[],"sources":["../src/sidebar/component.ts"],"sourcesContent":["/**\n * SidebarComponent - Programmatic sidebar with sections, badges, and footer\n * @countermeasure/web-components/sidebar/component\n *\n * Unlike sidebar/enhance (which enhances server-rendered HTML), this module\n * builds the sidebar DOM from a config object. Use it when the sidebar\n * structure is driven entirely by client-side data.\n *\n * Usage:\n * import { SidebarComponent } from '@countermeasure/web-components/sidebar/component'\n *\n * const sidebar = new SidebarComponent({\n * container: '#sidebar-root',\n * sections: [{ id: 'main', label: 'Nav', items: [...] }],\n * user: { name: 'Alice' },\n * onNavigate: item => console.log(item.id),\n * })\n * sidebar.setActive('dashboard')\n */\n\nimport { getIconSvgInner, type IconSet } from '../icons/index'\nimport { resolveContainer } from '../primitives/utils'\nimport { type SidebarComponentConfig } from './types'\n\n/** Create an SVG element populated with icon content from the registry. */\nfunction createIconSvg(iconSet: IconSet, name: string): SVGElement {\n const svgNs = 'http://www.w3.org/2000/svg'\n const svg = document.createElementNS(svgNs, 'svg')\n svg.setAttribute('xmlns', svgNs)\n svg.setAttribute('width', '18')\n svg.setAttribute('height', '18')\n svg.setAttribute('viewBox', '0 0 24 24')\n svg.setAttribute('fill', 'none')\n svg.setAttribute('stroke', 'currentColor')\n svg.setAttribute('stroke-width', '2')\n svg.setAttribute('stroke-linecap', 'round')\n svg.setAttribute('stroke-linejoin', 'round')\n svg.classList.add('sidebar__item-icon')\n svg.setAttribute('data-icon', name)\n svg.setAttribute('aria-hidden', 'true')\n\n const inner = getIconSvgInner(iconSet, name)\n if (inner) {\n svg.innerHTML = inner\n }\n\n return svg\n}\n\nexport class SidebarComponent {\n private readonly container: HTMLElement\n private readonly aside: HTMLElement\n private readonly config: SidebarComponentConfig\n private readonly iconSet: IconSet\n\n constructor(config: SidebarComponentConfig) {\n this.config = config\n this.container = resolveContainer(config.container)\n this.iconSet = config.iconSet ?? 'lucide'\n\n this.aside = document.createElement('aside')\n this.aside.classList.add('sidebar')\n this.aside.setAttribute('data-sidebar', config.variant ?? 'app')\n\n this.render()\n this.container.appendChild(this.aside)\n }\n\n private render(): void {\n for (const section of this.config.sections) {\n const sectionEl = document.createElement('div')\n sectionEl.classList.add('sidebar__section')\n\n if (section.label) {\n const labelEl = document.createElement('div')\n labelEl.classList.add('sidebar__section-label')\n labelEl.textContent = section.label\n sectionEl.appendChild(labelEl)\n }\n\n for (const item of section.items) {\n const link = document.createElement('a')\n link.classList.add('sidebar__item')\n link.setAttribute('data-item-id', item.id)\n\n if (item.icon) {\n const icon = createIconSvg(this.iconSet, item.icon)\n link.appendChild(icon)\n }\n\n const label = document.createElement('span')\n label.classList.add('sidebar__item-label')\n label.textContent = item.label\n link.appendChild(label)\n\n if (item.badge !== undefined && item.badge > 0) {\n const badge = document.createElement('span')\n badge.classList.add('sidebar__badge')\n badge.setAttribute('data-badge', item.id)\n badge.textContent = String(item.badge)\n link.appendChild(badge)\n }\n\n link.addEventListener('click', () => {\n if (this.config.onNavigate) {\n this.config.onNavigate(item)\n }\n if (item.onClick) {\n item.onClick()\n }\n })\n\n sectionEl.appendChild(link)\n }\n\n this.aside.appendChild(sectionEl)\n }\n\n this.renderFooter()\n }\n\n private renderFooter(): void {\n const hasUser = this.config.user !== undefined\n const hasActions =\n this.config.footerActions !== undefined && this.config.footerActions.length > 0\n\n if (!hasUser && !hasActions) {\n return\n }\n\n const footer = document.createElement('div')\n footer.classList.add('sidebar__footer')\n\n const footerBar = document.createElement('div')\n footerBar.classList.add('sidebar__footer-bar')\n\n if (hasUser && this.config.user) {\n const userSpan = document.createElement('span')\n userSpan.classList.add('sidebar__footer-user')\n\n const nameSpan = document.createElement('span')\n nameSpan.classList.add('sidebar__footer-name')\n nameSpan.textContent = this.config.user.name\n userSpan.appendChild(nameSpan)\n\n footerBar.appendChild(userSpan)\n }\n\n if (hasActions && this.config.footerActions) {\n const iconsSpan = document.createElement('span')\n iconsSpan.classList.add('sidebar__footer-icons')\n\n for (const action of this.config.footerActions) {\n const button = document.createElement('button')\n button.classList.add('sidebar__footer-icon')\n if (action.danger === true) {\n button.classList.add('sidebar__footer-icon--danger')\n }\n button.setAttribute('aria-label', action.label)\n\n const icon = createIconSvg(this.iconSet, action.icon)\n button.appendChild(icon)\n\n if (action.onClick) {\n const handler = action.onClick\n button.addEventListener('click', () => {\n handler()\n })\n }\n\n iconsSpan.appendChild(button)\n }\n\n footerBar.appendChild(iconsSpan)\n }\n\n footer.appendChild(footerBar)\n this.aside.appendChild(footer)\n }\n\n /** Mark a nav item as active, removing active state from all others. */\n setActive(itemId: string): void {\n this.aside.querySelectorAll<HTMLElement>('.sidebar__item').forEach(el => {\n el.classList.remove('sidebar__item--active')\n })\n\n const target = this.aside.querySelector<HTMLElement>(`[data-item-id=\"${itemId}\"]`)\n if (target) {\n target.classList.add('sidebar__item--active')\n }\n }\n\n /** Update the badge count for a nav item (empty string when count is 0). */\n updateBadge(itemId: string, count: number): void {\n const badge = this.aside.querySelector<HTMLElement>(`[data-badge=\"${itemId}\"]`)\n if (badge) {\n badge.textContent = count > 0 ? String(count) : ''\n }\n }\n\n /** Toggle the sidebar between collapsed and expanded states. */\n toggleCollapse(): void {\n const isCollapsed = this.aside.classList.toggle('sidebar--collapsed')\n if (this.config.onCollapse) {\n this.config.onCollapse(isCollapsed)\n }\n }\n\n /** Collapse the sidebar. */\n collapse(): void {\n this.aside.classList.add('sidebar--collapsed')\n }\n\n /** Expand the sidebar. */\n expand(): void {\n this.aside.classList.remove('sidebar--collapsed')\n }\n\n /** Remove the sidebar from the DOM. */\n destroy(): void {\n this.aside.remove()\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"component-C1Jiz1Ki.js","names":[],"sources":["../src/sidebar/component.ts"],"sourcesContent":["/**\n * SidebarComponent - Programmatic sidebar with sections, badges, and footer\n * @countermeasure/web-components/sidebar/component\n *\n * Unlike sidebar/enhance (which enhances server-rendered HTML), this module\n * builds the sidebar DOM from a config object. Use it when the sidebar\n * structure is driven entirely by client-side data.\n *\n * Usage:\n * import { SidebarComponent } from '@countermeasure/web-components/sidebar/component'\n *\n * const sidebar = new SidebarComponent({\n * container: '#sidebar-root',\n * sections: [{ id: 'main', label: 'Nav', items: [...] }],\n * user: { name: 'Alice' },\n * onNavigate: item => console.log(item.id),\n * })\n * sidebar.setActive('dashboard')\n */\n\nimport { getIconSvgInner, type IconSet } from '../icons/index'\nimport { resolveContainer } from '../primitives/utils'\nimport { type SidebarComponentConfig } from './types'\n\n/** Create an SVG element populated with icon content from the registry. */\nfunction createIconSvg(iconSet: IconSet, name: string): SVGElement {\n const svgNs = 'http://www.w3.org/2000/svg'\n const svg = document.createElementNS(svgNs, 'svg')\n svg.setAttribute('xmlns', svgNs)\n svg.setAttribute('width', '18')\n svg.setAttribute('height', '18')\n svg.setAttribute('viewBox', '0 0 24 24')\n svg.setAttribute('fill', 'none')\n svg.setAttribute('stroke', 'currentColor')\n svg.setAttribute('stroke-width', '2')\n svg.setAttribute('stroke-linecap', 'round')\n svg.setAttribute('stroke-linejoin', 'round')\n svg.classList.add('sidebar__item-icon')\n svg.setAttribute('data-icon', name)\n svg.setAttribute('aria-hidden', 'true')\n\n const inner = getIconSvgInner(iconSet, name)\n if (inner) {\n svg.innerHTML = inner\n }\n\n return svg\n}\n\nexport class SidebarComponent {\n private readonly container: HTMLElement\n private readonly aside: HTMLElement\n private readonly config: SidebarComponentConfig\n private readonly iconSet: IconSet\n\n constructor(config: SidebarComponentConfig) {\n this.config = config\n this.container = resolveContainer(config.container)\n this.iconSet = config.iconSet ?? 'lucide'\n\n this.aside = document.createElement('aside')\n this.aside.classList.add('sidebar')\n this.aside.setAttribute('data-sidebar', config.variant ?? 'app')\n\n this.render()\n this.container.appendChild(this.aside)\n }\n\n private render(): void {\n for (const section of this.config.sections) {\n const sectionEl = document.createElement('div')\n sectionEl.classList.add('sidebar__section')\n\n if (section.label) {\n const labelEl = document.createElement('div')\n labelEl.classList.add('sidebar__section-label')\n labelEl.textContent = section.label\n sectionEl.appendChild(labelEl)\n }\n\n for (const item of section.items) {\n const link = document.createElement('a')\n link.classList.add('sidebar__item')\n link.setAttribute('data-item-id', item.id)\n\n if (item.icon) {\n const icon = createIconSvg(this.iconSet, item.icon)\n link.appendChild(icon)\n }\n\n const label = document.createElement('span')\n label.classList.add('sidebar__item-label')\n label.textContent = item.label\n link.appendChild(label)\n\n if (item.badge !== undefined && item.badge > 0) {\n const badge = document.createElement('span')\n badge.classList.add('sidebar__badge')\n badge.setAttribute('data-badge', item.id)\n badge.textContent = String(item.badge)\n link.appendChild(badge)\n }\n\n link.addEventListener('click', () => {\n if (this.config.onNavigate) {\n this.config.onNavigate(item)\n }\n if (item.onClick) {\n item.onClick()\n }\n })\n\n sectionEl.appendChild(link)\n }\n\n this.aside.appendChild(sectionEl)\n }\n\n this.renderFooter()\n }\n\n private renderFooter(): void {\n const hasUser = this.config.user !== undefined\n const hasActions =\n this.config.footerActions !== undefined && this.config.footerActions.length > 0\n\n if (!hasUser && !hasActions) {\n return\n }\n\n const footer = document.createElement('div')\n footer.classList.add('sidebar__footer')\n\n const footerBar = document.createElement('div')\n footerBar.classList.add('sidebar__footer-bar')\n\n if (hasUser && this.config.user) {\n const userSpan = document.createElement('span')\n userSpan.classList.add('sidebar__footer-user')\n\n const nameSpan = document.createElement('span')\n nameSpan.classList.add('sidebar__footer-name')\n nameSpan.textContent = this.config.user.name\n userSpan.appendChild(nameSpan)\n\n footerBar.appendChild(userSpan)\n }\n\n if (hasActions && this.config.footerActions) {\n const iconsSpan = document.createElement('span')\n iconsSpan.classList.add('sidebar__footer-icons')\n\n for (const action of this.config.footerActions) {\n const button = document.createElement('button')\n button.classList.add('sidebar__footer-icon')\n if (action.danger === true) {\n button.classList.add('sidebar__footer-icon--danger')\n }\n button.setAttribute('aria-label', action.label)\n\n const icon = createIconSvg(this.iconSet, action.icon)\n button.appendChild(icon)\n\n if (action.onClick) {\n const handler = action.onClick\n button.addEventListener('click', () => {\n handler()\n })\n }\n\n iconsSpan.appendChild(button)\n }\n\n footerBar.appendChild(iconsSpan)\n }\n\n footer.appendChild(footerBar)\n this.aside.appendChild(footer)\n }\n\n /** Mark a nav item as active, removing active state from all others. */\n setActive(itemId: string): void {\n this.aside.querySelectorAll<HTMLElement>('.sidebar__item').forEach(el => {\n el.classList.remove('sidebar__item--active')\n })\n\n const target = this.aside.querySelector<HTMLElement>(`[data-item-id=\"${itemId}\"]`)\n if (target) {\n target.classList.add('sidebar__item--active')\n }\n }\n\n /** Update the badge count for a nav item (empty string when count is 0). */\n updateBadge(itemId: string, count: number): void {\n const badge = this.aside.querySelector<HTMLElement>(`[data-badge=\"${itemId}\"]`)\n if (badge) {\n badge.textContent = count > 0 ? String(count) : ''\n }\n }\n\n /** Toggle the sidebar between collapsed and expanded states. */\n toggleCollapse(): void {\n const isCollapsed = this.aside.classList.toggle('sidebar--collapsed')\n if (this.config.onCollapse) {\n this.config.onCollapse(isCollapsed)\n }\n }\n\n /** Collapse the sidebar. */\n collapse(): void {\n this.aside.classList.add('sidebar--collapsed')\n }\n\n /** Expand the sidebar. */\n expand(): void {\n this.aside.classList.remove('sidebar--collapsed')\n }\n\n /** Remove the sidebar from the DOM. */\n destroy(): void {\n this.aside.remove()\n }\n}\n"],"mappings":"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"}
|
package/dist/components/index.js
CHANGED
|
@@ -21,7 +21,7 @@ import { IconUsageMatrix as S } from "./theme/icon-usage-matrix.js";
|
|
|
21
21
|
import { RadiusSlider as C } from "./theme/radius-slider.js";
|
|
22
22
|
import { ThemePresetGrid as w } from "./theme/theme-preset-grid.js";
|
|
23
23
|
import { ThemePreviewTile as T } from "./theme/theme-preview-tile.js";
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
24
|
+
import { n as E, t as D } from "../theme-studio-CN9Ipb9W.js";
|
|
25
|
+
import { ThemeSwitcher as O } from "./theme/theme-switcher.js";
|
|
26
26
|
import { CONNECTOR_LOGO_PALETTE as k, ConnectorLogo as A, Diamond as j, Wordmark as M, createDiamondSvg as N, createWordmarkSvg as P, getBrandSizeClass as F, getConnectorLogoColor as I, getConnectorLogoInitial as L, getConnectorLogoSizeClass as R, getConnectorLogoTone as z } from "./brand/index.js";
|
|
27
|
-
export { m as AccentSwitcher, k as CONNECTOR_LOGO_PALETTE, o as CommandPalette, A as ConnectorLogo, d as ContextMenu, l as CopyButton, e as DataTable, v as DensitySwitcher, p as DetailHeader, j as Diamond, y as FontStackPicker, b as GlassSlider, x as IconSetPicker, S as IconUsageMatrix, f as LogToolbar, i as Modal, c as Pagination, C as RadiusSlider, s as SearchInput, r as SplitPane, u as StatusBar, n as TabPanel, w as ThemePresetGrid, T as ThemePreviewTile, D as ThemeStudio,
|
|
27
|
+
export { m as AccentSwitcher, k as CONNECTOR_LOGO_PALETTE, o as CommandPalette, A as ConnectorLogo, d as ContextMenu, l as CopyButton, e as DataTable, v as DensitySwitcher, p as DetailHeader, j as Diamond, y as FontStackPicker, b as GlassSlider, x as IconSetPicker, S as IconUsageMatrix, f as LogToolbar, i as Modal, c as Pagination, C as RadiusSlider, s as SearchInput, r as SplitPane, u as StatusBar, n as TabPanel, w as ThemePresetGrid, T as ThemePreviewTile, D as ThemeStudio, O as ThemeSwitcher, a as ToastManager, t as TreeView, M as Wordmark, h as applyAccentFromUrl, N as createDiamondSvg, P as createWordmarkSvg, F as getBrandSizeClass, I as getConnectorLogoColor, L as getConnectorLogoInitial, R as getConnectorLogoSizeClass, z as getConnectorLogoTone, g as getCurrentAccent, E as renderThemeStudio, _ as setPreviewAccent };
|
|
@@ -4,7 +4,9 @@ export declare function setPreviewAccent(accent: AccentId): void;
|
|
|
4
4
|
export declare function applyAccentFromUrl(): void;
|
|
5
5
|
export declare class AccentSwitcher {
|
|
6
6
|
readonly el: HTMLElement;
|
|
7
|
+
private readonly _onThemeChange;
|
|
7
8
|
constructor();
|
|
9
|
+
destroy(): void;
|
|
8
10
|
private updateActive;
|
|
9
11
|
}
|
|
10
12
|
//# sourceMappingURL=accent-switcher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accent-switcher.d.ts","sourceRoot":"","sources":["../../../src/components/theme/accent-switcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAe3D,wBAAgB,gBAAgB,IAAI,QAAQ,CAE3C;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAKvD;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAMzC;AAED,qBAAa,cAAc;IACzB,SAAgB,EAAE,EAAE,WAAW,CAAA
|
|
1
|
+
{"version":3,"file":"accent-switcher.d.ts","sourceRoot":"","sources":["../../../src/components/theme/accent-switcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AAe3D,wBAAgB,gBAAgB,IAAI,QAAQ,CAE3C;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAKvD;AAED,wBAAgB,kBAAkB,IAAI,IAAI,CAMzC;AAED,qBAAa,cAAc;IACzB,SAAgB,EAAE,EAAE,WAAW,CAAA;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAY;;IAyC3C,OAAO,IAAI,IAAI;IAKf,OAAO,CAAC,YAAY;CASrB"}
|
|
@@ -48,6 +48,7 @@ function s() {
|
|
|
48
48
|
}
|
|
49
49
|
var c = class {
|
|
50
50
|
el;
|
|
51
|
+
_onThemeChange;
|
|
51
52
|
constructor() {
|
|
52
53
|
this.el = document.createElement("div"), this.el.className = "preview-accent-switcher";
|
|
53
54
|
let e = document.createElement("span");
|
|
@@ -62,7 +63,10 @@ var c = class {
|
|
|
62
63
|
o(e.id);
|
|
63
64
|
}), t.appendChild(n);
|
|
64
65
|
}
|
|
65
|
-
this.el.appendChild(t), document.addEventListener("preview:accent-change",
|
|
66
|
+
this.el.appendChild(t), this._onThemeChange = () => this.updateActive(), document.addEventListener("preview:accent-change", this._onThemeChange), document.addEventListener("cm:theme-change", this._onThemeChange), this.updateActive();
|
|
67
|
+
}
|
|
68
|
+
destroy() {
|
|
69
|
+
document.removeEventListener("preview:accent-change", this._onThemeChange), document.removeEventListener("cm:theme-change", this._onThemeChange);
|
|
66
70
|
}
|
|
67
71
|
updateActive() {
|
|
68
72
|
let e = a(), t = this.el.querySelectorAll(".preview-accent-switcher__btn");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accent-switcher.js","names":[],"sources":["../../../src/components/theme/accent-switcher.ts"],"sourcesContent":["/**\n * Accent Switcher — preview-only accent selector for design-system adoption checks.\n *\n * Reads/writes through the theme engine. Listens to `cm:theme-change` to\n * refresh pressed state when presets / theme studio change the accent.\n */\n\nimport { ACCENT_PALETTES, getTheme, setThemePartial } from '../../services/theme-engine'\nimport type { AccentId } from '../../services/theme-engine'\n\nconst ACCENTS: ReadonlyArray<{ id: AccentId; label: string; color: string }> = [\n { id: 'orange', label: 'Orange', color: ACCENT_PALETTES.orange.brand },\n { id: 'cyan', label: 'Cyan', color: ACCENT_PALETTES.cyan.brand },\n { id: 'violet', label: 'Violet', color: ACCENT_PALETTES.violet.brand },\n { id: 'rose', label: 'Rose', color: ACCENT_PALETTES.rose.brand },\n { id: 'emerald', label: 'Emerald', color: ACCENT_PALETTES.emerald.brand },\n { id: 'amber', label: 'Amber', color: ACCENT_PALETTES.amber.brand },\n]\n\nfunction isAccent(value: string | null | undefined): value is AccentId {\n return ACCENTS.some(accent => accent.id === value)\n}\n\nexport function getCurrentAccent(): AccentId {\n return getTheme().accent\n}\n\nexport function setPreviewAccent(accent: AccentId): void {\n setThemePartial({ accent })\n if (typeof document !== 'undefined') {\n document.dispatchEvent(new CustomEvent('preview:accent-change', { detail: { accent } }))\n }\n}\n\nexport function applyAccentFromUrl(): void {\n if (typeof window === 'undefined') return\n const accent = new URLSearchParams(window.location.search).get('accent')\n if (isAccent(accent)) {\n setPreviewAccent(accent)\n }\n}\n\nexport class AccentSwitcher {\n public readonly el: HTMLElement\n\n constructor() {\n this.el = document.createElement('div')\n this.el.className = 'preview-accent-switcher'\n\n const label = document.createElement('span')\n label.className = 'preview-accent-switcher__label'\n label.textContent = 'Accent'\n this.el.appendChild(label)\n\n const buttons = document.createElement('div')\n buttons.className = 'preview-accent-switcher__buttons'\n\n for (const accent of ACCENTS) {\n const btn = document.createElement('button')\n btn.type = 'button'\n btn.className = 'preview-accent-switcher__btn'\n btn.dataset.accent = accent.id\n btn.title = accent.label\n btn.setAttribute('aria-label', `Use ${accent.label} accent`)\n\n const swatch = document.createElement('span')\n swatch.className = 'preview-accent-swatch'\n swatch.style.background = accent.color\n btn.appendChild(swatch)\n\n btn.addEventListener('click', () => {\n setPreviewAccent(accent.id)\n })\n\n buttons.appendChild(btn)\n }\n\n this.el.appendChild(buttons)\n document.addEventListener('preview:accent-change',
|
|
1
|
+
{"version":3,"file":"accent-switcher.js","names":[],"sources":["../../../src/components/theme/accent-switcher.ts"],"sourcesContent":["/**\n * Accent Switcher — preview-only accent selector for design-system adoption checks.\n *\n * Reads/writes through the theme engine. Listens to `cm:theme-change` to\n * refresh pressed state when presets / theme studio change the accent.\n */\n\nimport { ACCENT_PALETTES, getTheme, setThemePartial } from '../../services/theme-engine'\nimport type { AccentId } from '../../services/theme-engine'\n\nconst ACCENTS: ReadonlyArray<{ id: AccentId; label: string; color: string }> = [\n { id: 'orange', label: 'Orange', color: ACCENT_PALETTES.orange.brand },\n { id: 'cyan', label: 'Cyan', color: ACCENT_PALETTES.cyan.brand },\n { id: 'violet', label: 'Violet', color: ACCENT_PALETTES.violet.brand },\n { id: 'rose', label: 'Rose', color: ACCENT_PALETTES.rose.brand },\n { id: 'emerald', label: 'Emerald', color: ACCENT_PALETTES.emerald.brand },\n { id: 'amber', label: 'Amber', color: ACCENT_PALETTES.amber.brand },\n]\n\nfunction isAccent(value: string | null | undefined): value is AccentId {\n return ACCENTS.some(accent => accent.id === value)\n}\n\nexport function getCurrentAccent(): AccentId {\n return getTheme().accent\n}\n\nexport function setPreviewAccent(accent: AccentId): void {\n setThemePartial({ accent })\n if (typeof document !== 'undefined') {\n document.dispatchEvent(new CustomEvent('preview:accent-change', { detail: { accent } }))\n }\n}\n\nexport function applyAccentFromUrl(): void {\n if (typeof window === 'undefined') return\n const accent = new URLSearchParams(window.location.search).get('accent')\n if (isAccent(accent)) {\n setPreviewAccent(accent)\n }\n}\n\nexport class AccentSwitcher {\n public readonly el: HTMLElement\n private readonly _onThemeChange: () => void\n\n constructor() {\n this.el = document.createElement('div')\n this.el.className = 'preview-accent-switcher'\n\n const label = document.createElement('span')\n label.className = 'preview-accent-switcher__label'\n label.textContent = 'Accent'\n this.el.appendChild(label)\n\n const buttons = document.createElement('div')\n buttons.className = 'preview-accent-switcher__buttons'\n\n for (const accent of ACCENTS) {\n const btn = document.createElement('button')\n btn.type = 'button'\n btn.className = 'preview-accent-switcher__btn'\n btn.dataset.accent = accent.id\n btn.title = accent.label\n btn.setAttribute('aria-label', `Use ${accent.label} accent`)\n\n const swatch = document.createElement('span')\n swatch.className = 'preview-accent-swatch'\n swatch.style.background = accent.color\n btn.appendChild(swatch)\n\n btn.addEventListener('click', () => {\n setPreviewAccent(accent.id)\n })\n\n buttons.appendChild(btn)\n }\n\n this.el.appendChild(buttons)\n this._onThemeChange = () => this.updateActive()\n document.addEventListener('preview:accent-change', this._onThemeChange)\n document.addEventListener('cm:theme-change', this._onThemeChange)\n this.updateActive()\n }\n\n destroy(): void {\n document.removeEventListener('preview:accent-change', this._onThemeChange)\n document.removeEventListener('cm:theme-change', this._onThemeChange)\n }\n\n private updateActive(): void {\n const current = getCurrentAccent()\n const buttons = this.el.querySelectorAll<HTMLButtonElement>('.preview-accent-switcher__btn')\n for (const btn of buttons) {\n const isActive = btn.dataset.accent === current\n btn.classList.toggle('preview-accent-switcher__btn--active', isActive)\n btn.setAttribute('aria-pressed', String(isActive))\n }\n }\n}\n"],"mappings":";;AAUA,IAAM,IAAyE;CAC7E;EAAE,IAAI;EAAU,OAAO;EAAU,OAAO,EAAgB,OAAO;EAAO;CACtE;EAAE,IAAI;EAAQ,OAAO;EAAQ,OAAO,EAAgB,KAAK;EAAO;CAChE;EAAE,IAAI;EAAU,OAAO;EAAU,OAAO,EAAgB,OAAO;EAAO;CACtE;EAAE,IAAI;EAAQ,OAAO;EAAQ,OAAO,EAAgB,KAAK;EAAO;CAChE;EAAE,IAAI;EAAW,OAAO;EAAW,OAAO,EAAgB,QAAQ;EAAO;CACzE;EAAE,IAAI;EAAS,OAAO;EAAS,OAAO,EAAgB,MAAM;EAAO;CACpE;AAED,SAAS,EAAS,GAAqD;AACrE,QAAO,EAAQ,MAAK,MAAU,EAAO,OAAO,EAAM;;AAGpD,SAAgB,IAA6B;AAC3C,QAAO,GAAU,CAAC;;AAGpB,SAAgB,EAAiB,GAAwB;AAEvD,CADA,EAAgB,EAAE,WAAQ,CAAC,EACvB,OAAO,WAAa,OACtB,SAAS,cAAc,IAAI,YAAY,yBAAyB,EAAE,QAAQ,EAAE,WAAQ,EAAE,CAAC,CAAC;;AAI5F,SAAgB,IAA2B;AACzC,KAAI,OAAO,SAAW,IAAa;CACnC,IAAM,IAAS,IAAI,gBAAgB,OAAO,SAAS,OAAO,CAAC,IAAI,SAAS;AACxE,CAAI,EAAS,EAAO,IAClB,EAAiB,EAAO;;AAI5B,IAAa,IAAb,MAA4B;CAC1B;CACA;CAEA,cAAc;AAEZ,EADA,KAAK,KAAK,SAAS,cAAc,MAAM,EACvC,KAAK,GAAG,YAAY;EAEpB,IAAM,IAAQ,SAAS,cAAc,OAAO;AAG5C,EAFA,EAAM,YAAY,kCAClB,EAAM,cAAc,UACpB,KAAK,GAAG,YAAY,EAAM;EAE1B,IAAM,IAAU,SAAS,cAAc,MAAM;AAC7C,IAAQ,YAAY;AAEpB,OAAK,IAAM,KAAU,GAAS;GAC5B,IAAM,IAAM,SAAS,cAAc,SAAS;AAK5C,GAJA,EAAI,OAAO,UACX,EAAI,YAAY,gCAChB,EAAI,QAAQ,SAAS,EAAO,IAC5B,EAAI,QAAQ,EAAO,OACnB,EAAI,aAAa,cAAc,OAAO,EAAO,MAAM,SAAS;GAE5D,IAAM,IAAS,SAAS,cAAc,OAAO;AAS7C,GARA,EAAO,YAAY,yBACnB,EAAO,MAAM,aAAa,EAAO,OACjC,EAAI,YAAY,EAAO,EAEvB,EAAI,iBAAiB,eAAe;AAClC,MAAiB,EAAO,GAAG;KAC3B,EAEF,EAAQ,YAAY,EAAI;;AAO1B,EAJA,KAAK,GAAG,YAAY,EAAQ,EAC5B,KAAK,uBAAuB,KAAK,cAAc,EAC/C,SAAS,iBAAiB,yBAAyB,KAAK,eAAe,EACvE,SAAS,iBAAiB,mBAAmB,KAAK,eAAe,EACjE,KAAK,cAAc;;CAGrB,UAAgB;AAEd,EADA,SAAS,oBAAoB,yBAAyB,KAAK,eAAe,EAC1E,SAAS,oBAAoB,mBAAmB,KAAK,eAAe;;CAGtE,eAA6B;EAC3B,IAAM,IAAU,GAAkB,EAC5B,IAAU,KAAK,GAAG,iBAAoC,gCAAgC;AAC5F,OAAK,IAAM,KAAO,GAAS;GACzB,IAAM,IAAW,EAAI,QAAQ,WAAW;AAExC,GADA,EAAI,UAAU,OAAO,wCAAwC,EAAS,EACtE,EAAI,aAAa,gBAAgB,OAAO,EAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"density-switcher.d.ts","sourceRoot":"","sources":["../../../src/components/theme/density-switcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,qBAAa,eAAe;IAC1B,SAAgB,EAAE,EAAE,WAAW,CAAA
|
|
1
|
+
{"version":3,"file":"density-switcher.d.ts","sourceRoot":"","sources":["../../../src/components/theme/density-switcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,qBAAa,eAAe;IAC1B,SAAgB,EAAE,EAAE,WAAW,CAAA;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAY;;IAkC3C,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,YAAY;CASrB"}
|
|
@@ -18,6 +18,7 @@ var n = [
|
|
|
18
18
|
}
|
|
19
19
|
], r = class {
|
|
20
20
|
el;
|
|
21
|
+
_onThemeChange;
|
|
21
22
|
constructor() {
|
|
22
23
|
this.el = document.createElement("div"), this.el.className = "preview-density-switcher";
|
|
23
24
|
let e = document.createElement("span");
|
|
@@ -30,7 +31,10 @@ var n = [
|
|
|
30
31
|
t({ density: e.id });
|
|
31
32
|
}), r.appendChild(n);
|
|
32
33
|
}
|
|
33
|
-
this.el.appendChild(r), document.addEventListener("cm:theme-change",
|
|
34
|
+
this.el.appendChild(r), this._onThemeChange = () => this.updateActive(), document.addEventListener("cm:theme-change", this._onThemeChange), this.updateActive();
|
|
35
|
+
}
|
|
36
|
+
destroy() {
|
|
37
|
+
document.removeEventListener("cm:theme-change", this._onThemeChange);
|
|
34
38
|
}
|
|
35
39
|
updateActive() {
|
|
36
40
|
let t = e().density, n = this.el.querySelectorAll(".preview-density-switcher__btn");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"density-switcher.js","names":[],"sources":["../../../src/components/theme/density-switcher.ts"],"sourcesContent":["/**\n * Density Switcher — three-state pill (compact / comfortable / cozy).\n * Drives `density` on the theme engine; the engine writes `--density-row`.\n *\n * Mirrors Theme.jsx density step: 32 / 36 / 42px row heights.\n */\n\nimport { getTheme, setThemePartial } from '../../services/theme-engine'\nimport type { Density } from '../../services/theme-engine'\n\nconst DENSITIES: ReadonlyArray<{ id: Density; label: string; px: number }> = [\n { id: 'compact', label: 'Compact', px: 32 },\n { id: 'comfortable', label: 'Comfortable', px: 36 },\n { id: 'cozy', label: 'Cozy', px: 42 },\n]\n\nexport class DensitySwitcher {\n public readonly el: HTMLElement\n\n constructor() {\n this.el = document.createElement('div')\n this.el.className = 'preview-density-switcher'\n\n const label = document.createElement('span')\n label.className = 'preview-density-switcher__label'\n label.textContent = 'Density'\n this.el.appendChild(label)\n\n const buttons = document.createElement('div')\n buttons.className = 'preview-density-switcher__buttons'\n\n for (const d of DENSITIES) {\n const btn = document.createElement('button')\n btn.type = 'button'\n btn.className = 'preview-density-switcher__btn'\n btn.dataset.density = d.id\n btn.textContent = d.label\n btn.title = `${d.label} (${d.px}px)`\n btn.setAttribute('aria-label', `Use ${d.label} density`)\n btn.addEventListener('click', () => {\n setThemePartial({ density: d.id })\n })\n buttons.appendChild(btn)\n }\n\n this.el.appendChild(buttons)\n document.addEventListener('cm:theme-change',
|
|
1
|
+
{"version":3,"file":"density-switcher.js","names":[],"sources":["../../../src/components/theme/density-switcher.ts"],"sourcesContent":["/**\n * Density Switcher — three-state pill (compact / comfortable / cozy).\n * Drives `density` on the theme engine; the engine writes `--density-row`.\n *\n * Mirrors Theme.jsx density step: 32 / 36 / 42px row heights.\n */\n\nimport { getTheme, setThemePartial } from '../../services/theme-engine'\nimport type { Density } from '../../services/theme-engine'\n\nconst DENSITIES: ReadonlyArray<{ id: Density; label: string; px: number }> = [\n { id: 'compact', label: 'Compact', px: 32 },\n { id: 'comfortable', label: 'Comfortable', px: 36 },\n { id: 'cozy', label: 'Cozy', px: 42 },\n]\n\nexport class DensitySwitcher {\n public readonly el: HTMLElement\n private readonly _onThemeChange: () => void\n\n constructor() {\n this.el = document.createElement('div')\n this.el.className = 'preview-density-switcher'\n\n const label = document.createElement('span')\n label.className = 'preview-density-switcher__label'\n label.textContent = 'Density'\n this.el.appendChild(label)\n\n const buttons = document.createElement('div')\n buttons.className = 'preview-density-switcher__buttons'\n\n for (const d of DENSITIES) {\n const btn = document.createElement('button')\n btn.type = 'button'\n btn.className = 'preview-density-switcher__btn'\n btn.dataset.density = d.id\n btn.textContent = d.label\n btn.title = `${d.label} (${d.px}px)`\n btn.setAttribute('aria-label', `Use ${d.label} density`)\n btn.addEventListener('click', () => {\n setThemePartial({ density: d.id })\n })\n buttons.appendChild(btn)\n }\n\n this.el.appendChild(buttons)\n this._onThemeChange = () => this.updateActive()\n document.addEventListener('cm:theme-change', this._onThemeChange)\n this.updateActive()\n }\n\n destroy(): void {\n document.removeEventListener('cm:theme-change', this._onThemeChange)\n }\n\n private updateActive(): void {\n const current = getTheme().density\n const buttons = this.el.querySelectorAll<HTMLButtonElement>('.preview-density-switcher__btn')\n for (const btn of buttons) {\n const active = btn.dataset.density === current\n btn.classList.toggle('preview-density-switcher__btn--active', active)\n btn.setAttribute('aria-pressed', String(active))\n }\n }\n}\n"],"mappings":";;AAUA,IAAM,IAAuE;CAC3E;EAAE,IAAI;EAAW,OAAO;EAAW,IAAI;EAAI;CAC3C;EAAE,IAAI;EAAe,OAAO;EAAe,IAAI;EAAI;CACnD;EAAE,IAAI;EAAQ,OAAO;EAAQ,IAAI;EAAI;CACtC,EAEY,IAAb,MAA6B;CAC3B;CACA;CAEA,cAAc;AAEZ,EADA,KAAK,KAAK,SAAS,cAAc,MAAM,EACvC,KAAK,GAAG,YAAY;EAEpB,IAAM,IAAQ,SAAS,cAAc,OAAO;AAG5C,EAFA,EAAM,YAAY,mCAClB,EAAM,cAAc,WACpB,KAAK,GAAG,YAAY,EAAM;EAE1B,IAAM,IAAU,SAAS,cAAc,MAAM;AAC7C,IAAQ,YAAY;AAEpB,OAAK,IAAM,KAAK,GAAW;GACzB,IAAM,IAAM,SAAS,cAAc,SAAS;AAU5C,GATA,EAAI,OAAO,UACX,EAAI,YAAY,iCAChB,EAAI,QAAQ,UAAU,EAAE,IACxB,EAAI,cAAc,EAAE,OACpB,EAAI,QAAQ,GAAG,EAAE,MAAM,IAAI,EAAE,GAAG,MAChC,EAAI,aAAa,cAAc,OAAO,EAAE,MAAM,UAAU,EACxD,EAAI,iBAAiB,eAAe;AAClC,MAAgB,EAAE,SAAS,EAAE,IAAI,CAAC;KAClC,EACF,EAAQ,YAAY,EAAI;;AAM1B,EAHA,KAAK,GAAG,YAAY,EAAQ,EAC5B,KAAK,uBAAuB,KAAK,cAAc,EAC/C,SAAS,iBAAiB,mBAAmB,KAAK,eAAe,EACjE,KAAK,cAAc;;CAGrB,UAAgB;AACd,WAAS,oBAAoB,mBAAmB,KAAK,eAAe;;CAGtE,eAA6B;EAC3B,IAAM,IAAU,GAAU,CAAC,SACrB,IAAU,KAAK,GAAG,iBAAoC,iCAAiC;AAC7F,OAAK,IAAM,KAAO,GAAS;GACzB,IAAM,IAAS,EAAI,QAAQ,YAAY;AAEvC,GADA,EAAI,UAAU,OAAO,yCAAyC,EAAO,EACrE,EAAI,aAAa,gBAAgB,OAAO,EAAO,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"font-stack-picker.d.ts","sourceRoot":"","sources":["../../../src/components/theme/font-stack-picker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,qBAAa,eAAe;IAC1B,SAAgB,EAAE,EAAE,WAAW,CAAA
|
|
1
|
+
{"version":3,"file":"font-stack-picker.d.ts","sourceRoot":"","sources":["../../../src/components/theme/font-stack-picker.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAUH,qBAAa,eAAe;IAC1B,SAAgB,EAAE,EAAE,WAAW,CAAA;IAC/B,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAY;;IAU3C,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,MAAM;IAqCd,OAAO,CAAC,YAAY;CASrB"}
|
|
@@ -2,8 +2,12 @@ import { FONT_STACKS as e, ensureGoogleFont as t, getTheme as n, setThemePartial
|
|
|
2
2
|
//#region src/components/theme/font-stack-picker.ts
|
|
3
3
|
var i = class {
|
|
4
4
|
el;
|
|
5
|
+
_onThemeChange;
|
|
5
6
|
constructor() {
|
|
6
|
-
this.el = document.createElement("div"), this.el.className = "theme-studio-fonts", this.render(), document.addEventListener("cm:theme-change",
|
|
7
|
+
this.el = document.createElement("div"), this.el.className = "theme-studio-fonts", this.render(), this._onThemeChange = () => this.updateActive(), document.addEventListener("cm:theme-change", this._onThemeChange);
|
|
8
|
+
}
|
|
9
|
+
destroy() {
|
|
10
|
+
document.removeEventListener("cm:theme-change", this._onThemeChange);
|
|
7
11
|
}
|
|
8
12
|
render() {
|
|
9
13
|
this.el.innerHTML = "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"font-stack-picker.js","names":[],"sources":["../../../src/components/theme/font-stack-picker.ts"],"sourcesContent":["/**\n * Font Stack Picker — 5 typography tiles (Inter / Sora / Roboto / JetBrains Mono / System).\n *\n * Each tile renders the actual font, a sample line, and a one-line description.\n * Hovering preloads the Google Font so the click feels instant. Clicking\n * commits the selection to the theme engine.\n */\n\nimport {\n FONT_STACKS,\n ensureGoogleFont,\n getTheme,\n setThemePartial,\n} from '../../services/theme-engine'\nimport type { FontId } from '../../services/theme-engine'\n\nexport class FontStackPicker {\n public readonly el: HTMLElement\n\n constructor() {\n this.el = document.createElement('div')\n this.el.className = 'theme-studio-fonts'\n this.render()\n document.addEventListener('cm:theme-change', ()
|
|
1
|
+
{"version":3,"file":"font-stack-picker.js","names":[],"sources":["../../../src/components/theme/font-stack-picker.ts"],"sourcesContent":["/**\n * Font Stack Picker — 5 typography tiles (Inter / Sora / Roboto / JetBrains Mono / System).\n *\n * Each tile renders the actual font, a sample line, and a one-line description.\n * Hovering preloads the Google Font so the click feels instant. Clicking\n * commits the selection to the theme engine.\n */\n\nimport {\n FONT_STACKS,\n ensureGoogleFont,\n getTheme,\n setThemePartial,\n} from '../../services/theme-engine'\nimport type { FontId } from '../../services/theme-engine'\n\nexport class FontStackPicker {\n public readonly el: HTMLElement\n private readonly _onThemeChange: () => void\n\n constructor() {\n this.el = document.createElement('div')\n this.el.className = 'theme-studio-fonts'\n this.render()\n this._onThemeChange = () => this.updateActive()\n document.addEventListener('cm:theme-change', this._onThemeChange)\n }\n\n destroy(): void {\n document.removeEventListener('cm:theme-change', this._onThemeChange)\n }\n\n private render(): void {\n this.el.innerHTML = ''\n const current = getTheme().font\n for (const id of Object.keys(FONT_STACKS) as FontId[]) {\n const stack = FONT_STACKS[id]\n const tile = document.createElement('button')\n tile.type = 'button'\n tile.className = 'theme-studio-font-tile'\n tile.dataset.font = id\n if (id === current) tile.classList.add('is-active')\n tile.setAttribute('aria-pressed', String(id === current))\n tile.setAttribute('aria-label', `Use ${stack.label} typeface`)\n tile.style.fontFamily = stack.display\n\n const name = document.createElement('div')\n name.className = 'theme-studio-font-tile__name'\n name.textContent = stack.label\n tile.appendChild(name)\n\n const sample = document.createElement('div')\n sample.className = 'theme-studio-font-tile__sample'\n sample.textContent = stack.sample\n tile.appendChild(sample)\n\n const desc = document.createElement('div')\n desc.className = 'theme-studio-font-tile__desc'\n desc.textContent = stack.description\n tile.appendChild(desc)\n\n tile.addEventListener('mouseenter', () => ensureGoogleFont(stack.google), { once: true })\n tile.addEventListener('focus', () => ensureGoogleFont(stack.google), { once: true })\n tile.addEventListener('click', () => setThemePartial({ font: id }))\n\n this.el.appendChild(tile)\n }\n }\n\n private updateActive(): void {\n const current = getTheme().font\n const tiles = this.el.querySelectorAll<HTMLButtonElement>('.theme-studio-font-tile')\n for (const tile of tiles) {\n const isActive = tile.dataset.font === current\n tile.classList.toggle('is-active', isActive)\n tile.setAttribute('aria-pressed', String(isActive))\n }\n }\n}\n"],"mappings":";;AAgBA,IAAa,IAAb,MAA6B;CAC3B;CACA;CAEA,cAAc;AAKZ,EAJA,KAAK,KAAK,SAAS,cAAc,MAAM,EACvC,KAAK,GAAG,YAAY,sBACpB,KAAK,QAAQ,EACb,KAAK,uBAAuB,KAAK,cAAc,EAC/C,SAAS,iBAAiB,mBAAmB,KAAK,eAAe;;CAGnE,UAAgB;AACd,WAAS,oBAAoB,mBAAmB,KAAK,eAAe;;CAGtE,SAAuB;AACrB,OAAK,GAAG,YAAY;EACpB,IAAM,IAAU,GAAU,CAAC;AAC3B,OAAK,IAAM,KAAM,OAAO,KAAK,EAAY,EAAc;GACrD,IAAM,IAAQ,EAAY,IACpB,IAAO,SAAS,cAAc,SAAS;AAO7C,GANA,EAAK,OAAO,UACZ,EAAK,YAAY,0BACjB,EAAK,QAAQ,OAAO,GAChB,MAAO,KAAS,EAAK,UAAU,IAAI,YAAY,EACnD,EAAK,aAAa,gBAAgB,OAAO,MAAO,EAAQ,CAAC,EACzD,EAAK,aAAa,cAAc,OAAO,EAAM,MAAM,WAAW,EAC9D,EAAK,MAAM,aAAa,EAAM;GAE9B,IAAM,IAAO,SAAS,cAAc,MAAM;AAG1C,GAFA,EAAK,YAAY,gCACjB,EAAK,cAAc,EAAM,OACzB,EAAK,YAAY,EAAK;GAEtB,IAAM,IAAS,SAAS,cAAc,MAAM;AAG5C,GAFA,EAAO,YAAY,kCACnB,EAAO,cAAc,EAAM,QAC3B,EAAK,YAAY,EAAO;GAExB,IAAM,IAAO,SAAS,cAAc,MAAM;AAS1C,GARA,EAAK,YAAY,gCACjB,EAAK,cAAc,EAAM,aACzB,EAAK,YAAY,EAAK,EAEtB,EAAK,iBAAiB,oBAAoB,EAAiB,EAAM,OAAO,EAAE,EAAE,MAAM,IAAM,CAAC,EACzF,EAAK,iBAAiB,eAAe,EAAiB,EAAM,OAAO,EAAE,EAAE,MAAM,IAAM,CAAC,EACpF,EAAK,iBAAiB,eAAe,EAAgB,EAAE,MAAM,GAAI,CAAC,CAAC,EAEnE,KAAK,GAAG,YAAY,EAAK;;;CAI7B,eAA6B;EAC3B,IAAM,IAAU,GAAU,CAAC,MACrB,IAAQ,KAAK,GAAG,iBAAoC,0BAA0B;AACpF,OAAK,IAAM,KAAQ,GAAO;GACxB,IAAM,IAAW,EAAK,QAAQ,SAAS;AAEvC,GADA,EAAK,UAAU,OAAO,aAAa,EAAS,EAC5C,EAAK,aAAa,gBAAgB,OAAO,EAAS,CAAC"}
|
|
@@ -16,7 +16,9 @@ export declare class GlassSlider {
|
|
|
16
16
|
readonly el: HTMLElement;
|
|
17
17
|
private readonly input;
|
|
18
18
|
private readonly value;
|
|
19
|
+
private readonly _onThemeChange;
|
|
19
20
|
constructor(options?: GlassSliderOptions);
|
|
21
|
+
destroy(): void;
|
|
20
22
|
private applySliderFill;
|
|
21
23
|
}
|
|
22
24
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glass-slider.d.ts","sourceRoot":"","sources":["../../../src/components/theme/glass-slider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"glass-slider.d.ts","sourceRoot":"","sources":["../../../src/components/theme/glass-slider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAYH,UAAU,kBAAkB;IAC1B,yFAAyF;IACzF,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,qBAAa,WAAW;IACtB,SAAgB,EAAE,EAAE,WAAW,CAAA;IAC/B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAkB;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAY;gBAE/B,OAAO,GAAE,kBAAuB;IAuE5C,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,eAAe;CAIxB"}
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { getTheme as e, setThemePartial as t } from "../../services/theme-engine/index.js";
|
|
2
2
|
//#region src/components/theme/glass-slider.ts
|
|
3
|
-
|
|
3
|
+
function n(e, t, n) {
|
|
4
|
+
return Math.max(t, Math.min(n, e));
|
|
5
|
+
}
|
|
6
|
+
var r = 0, i = .2, a = .01, o = class {
|
|
4
7
|
el;
|
|
5
8
|
input;
|
|
6
9
|
value;
|
|
7
|
-
|
|
8
|
-
|
|
10
|
+
_onThemeChange;
|
|
11
|
+
constructor(o = {}) {
|
|
12
|
+
let c = o.expanded === !0, l = n(e().transparency, r, i);
|
|
9
13
|
if (this.el = document.createElement("div"), this.el.className = c ? "preview-glass-slider preview-glass-slider--expanded" : "preview-glass-slider", !c) {
|
|
10
14
|
let e = document.createElement("span");
|
|
11
15
|
e.className = "preview-glass-slider__label", e.textContent = "Glass", this.el.appendChild(e);
|
|
@@ -15,29 +19,31 @@ var n = 0, r = .2, i = .01, a = class {
|
|
|
15
19
|
let e = document.createElement("span");
|
|
16
20
|
e.className = "preview-glass-slider__edge", e.textContent = "Solid", u.appendChild(e);
|
|
17
21
|
}
|
|
18
|
-
|
|
22
|
+
this.input = document.createElement("input"), this.input.type = "range", this.input.min = String(r), this.input.max = String(i), this.input.step = String(a), this.input.value = String(l), this.input.className = "preview-glass-slider__input", this.input.setAttribute("aria-label", "Surface transparency");
|
|
23
|
+
let d = `cm-glass-value-${Math.random().toString(36).slice(2, 8)}`;
|
|
24
|
+
if (this.input.setAttribute("aria-describedby", d), this.input.setAttribute("aria-valuetext", `${Math.round(l * 100)}% transparency`), u.appendChild(this.input), c) {
|
|
19
25
|
let e = document.createElement("span");
|
|
20
26
|
e.className = "preview-glass-slider__edge", e.textContent = "Frosted", u.appendChild(e);
|
|
21
27
|
}
|
|
22
|
-
this.value = document.createElement("span"), this.value.className = "preview-glass-slider__value", this.value.textContent = s(l), u.appendChild(this.value), this.el.appendChild(u), this.applySliderFill(l), this.input.addEventListener("input", () => {
|
|
23
|
-
t({ transparency:
|
|
24
|
-
}),
|
|
25
|
-
let t =
|
|
26
|
-
|
|
27
|
-
});
|
|
28
|
+
this.value = document.createElement("span"), this.value.className = "preview-glass-slider__value", this.value.id = d, this.value.setAttribute("aria-live", "polite"), this.value.textContent = s(l), u.appendChild(this.value), this.el.appendChild(u), this.applySliderFill(l), this.input.addEventListener("input", () => {
|
|
29
|
+
t({ transparency: n(Number(this.input.value), r, i) });
|
|
30
|
+
}), this._onThemeChange = () => {
|
|
31
|
+
let t = n(e().transparency, r, i);
|
|
32
|
+
this.input.value !== String(t) && (this.input.value = String(t)), this.input.setAttribute("aria-valuetext", `${Math.round(t * 100)}% transparency`), this.value.textContent = s(t), this.applySliderFill(t);
|
|
33
|
+
}, document.addEventListener("cm:theme-change", this._onThemeChange);
|
|
34
|
+
}
|
|
35
|
+
destroy() {
|
|
36
|
+
document.removeEventListener("cm:theme-change", this._onThemeChange);
|
|
28
37
|
}
|
|
29
38
|
applySliderFill(e) {
|
|
30
|
-
let t = (e -
|
|
39
|
+
let t = (e - r) / (i - r) * 100;
|
|
31
40
|
this.input.style.setProperty("--slider-pct", `${t}%`);
|
|
32
41
|
}
|
|
33
42
|
};
|
|
34
|
-
function o(e, t, n) {
|
|
35
|
-
return Number.isFinite(e) ? Math.max(t, Math.min(n, e)) : t;
|
|
36
|
-
}
|
|
37
43
|
function s(e) {
|
|
38
44
|
return `${Math.round(e * 100)}%`;
|
|
39
45
|
}
|
|
40
46
|
//#endregion
|
|
41
|
-
export {
|
|
47
|
+
export { o as GlassSlider };
|
|
42
48
|
|
|
43
49
|
//# sourceMappingURL=glass-slider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"glass-slider.js","names":[],"sources":["../../../src/components/theme/glass-slider.ts"],"sourcesContent":["/**\n * Glass Slider — surface-transparency slider that drives `transparency` on the\n * theme engine; the engine writes `--bg-glass`, `--bg-glass-2`, `--bg-glass-3`.\n *\n * Mirrors Theme.jsx applyTheme L354-358:\n * const t = clamp(transparency, 0, 0.30);\n * root.style.setProperty('--bg-glass', `rgba(${tint}, ${t * 0.5})`);\n * root.style.setProperty('--bg-glass-2', `rgba(${tint}, ${t})`);\n * root.style.setProperty('--bg-glass-3', `rgba(${tint}, ${t * 1.75})`);\n */\n\nimport { getTheme, setThemePartial } from '../../services/theme-engine'\n\nconst MIN = 0\nconst MAX = 0.2\nconst STEP = 0.01\n\ninterface GlassSliderOptions {\n /** When true, render an inline \"Solid · slider · Frosted\" layout (Theme Studio body). */\n expanded?: boolean\n}\n\nexport class GlassSlider {\n public readonly el: HTMLElement\n private readonly input: HTMLInputElement\n private readonly value: HTMLSpanElement\n\n constructor(options: GlassSliderOptions = {}) {\n const expanded = options.expanded === true\n const initial = clamp(getTheme().transparency, MIN, MAX)\n\n this.el = document.createElement('div')\n this.el.className = expanded\n ? 'preview-glass-slider preview-glass-slider--expanded'\n : 'preview-glass-slider'\n\n if (!expanded) {\n const label = document.createElement('span')\n label.className = 'preview-glass-slider__label'\n label.textContent = 'Glass'\n this.el.appendChild(label)\n }\n\n const row = document.createElement('div')\n row.className = 'preview-glass-slider__row'\n\n if (expanded) {\n const left = document.createElement('span')\n left.className = 'preview-glass-slider__edge'\n left.textContent = 'Solid'\n row.appendChild(left)\n }\n\n this.input = document.createElement('input')\n this.input.type = 'range'\n this.input.min = String(MIN)\n this.input.max = String(MAX)\n this.input.step = String(STEP)\n this.input.value = String(initial)\n this.input.className = 'preview-glass-slider__input'\n this.input.setAttribute('aria-label', 'Surface transparency')\n row.appendChild(this.input)\n\n if (expanded) {\n const right = document.createElement('span')\n right.className = 'preview-glass-slider__edge'\n right.textContent = 'Frosted'\n row.appendChild(right)\n }\n\n this.value = document.createElement('span')\n this.value.className = 'preview-glass-slider__value'\n this.value.textContent = formatLevel(initial)\n row.appendChild(this.value)\n\n this.el.appendChild(row)\n this.applySliderFill(initial)\n\n this.input.addEventListener('input', () => {\n const next = clamp(Number(this.input.value), MIN, MAX)\n setThemePartial({ transparency: next })\n })\n\n
|
|
1
|
+
{"version":3,"file":"glass-slider.js","names":[],"sources":["../../../src/components/theme/glass-slider.ts"],"sourcesContent":["/**\n * Glass Slider — surface-transparency slider that drives `transparency` on the\n * theme engine; the engine writes `--bg-glass`, `--bg-glass-2`, `--bg-glass-3`.\n *\n * Mirrors Theme.jsx applyTheme L354-358:\n * const t = clamp(transparency, 0, 0.30);\n * root.style.setProperty('--bg-glass', `rgba(${tint}, ${t * 0.5})`);\n * root.style.setProperty('--bg-glass-2', `rgba(${tint}, ${t})`);\n * root.style.setProperty('--bg-glass-3', `rgba(${tint}, ${t * 1.75})`);\n */\n\nimport { getTheme, setThemePartial } from '../../services/theme-engine'\n\nfunction clamp(v: number, min: number, max: number): number {\n return Math.max(min, Math.min(max, v))\n}\n\nconst MIN = 0\nconst MAX = 0.2\nconst STEP = 0.01\n\ninterface GlassSliderOptions {\n /** When true, render an inline \"Solid · slider · Frosted\" layout (Theme Studio body). */\n expanded?: boolean\n}\n\nexport class GlassSlider {\n public readonly el: HTMLElement\n private readonly input: HTMLInputElement\n private readonly value: HTMLSpanElement\n private readonly _onThemeChange: () => void\n\n constructor(options: GlassSliderOptions = {}) {\n const expanded = options.expanded === true\n const initial = clamp(getTheme().transparency, MIN, MAX)\n\n this.el = document.createElement('div')\n this.el.className = expanded\n ? 'preview-glass-slider preview-glass-slider--expanded'\n : 'preview-glass-slider'\n\n if (!expanded) {\n const label = document.createElement('span')\n label.className = 'preview-glass-slider__label'\n label.textContent = 'Glass'\n this.el.appendChild(label)\n }\n\n const row = document.createElement('div')\n row.className = 'preview-glass-slider__row'\n\n if (expanded) {\n const left = document.createElement('span')\n left.className = 'preview-glass-slider__edge'\n left.textContent = 'Solid'\n row.appendChild(left)\n }\n\n this.input = document.createElement('input')\n this.input.type = 'range'\n this.input.min = String(MIN)\n this.input.max = String(MAX)\n this.input.step = String(STEP)\n this.input.value = String(initial)\n this.input.className = 'preview-glass-slider__input'\n this.input.setAttribute('aria-label', 'Surface transparency')\n const valueId = `cm-glass-value-${Math.random().toString(36).slice(2, 8)}`\n this.input.setAttribute('aria-describedby', valueId)\n this.input.setAttribute('aria-valuetext', `${Math.round(initial * 100)}% transparency`)\n row.appendChild(this.input)\n\n if (expanded) {\n const right = document.createElement('span')\n right.className = 'preview-glass-slider__edge'\n right.textContent = 'Frosted'\n row.appendChild(right)\n }\n\n this.value = document.createElement('span')\n this.value.className = 'preview-glass-slider__value'\n this.value.id = valueId\n this.value.setAttribute('aria-live', 'polite')\n this.value.textContent = formatLevel(initial)\n row.appendChild(this.value)\n\n this.el.appendChild(row)\n this.applySliderFill(initial)\n\n this.input.addEventListener('input', () => {\n const next = clamp(Number(this.input.value), MIN, MAX)\n setThemePartial({ transparency: next })\n })\n\n this._onThemeChange = () => {\n const t = clamp(getTheme().transparency, MIN, MAX)\n if (this.input.value !== String(t)) this.input.value = String(t)\n this.input.setAttribute('aria-valuetext', `${Math.round(t * 100)}% transparency`)\n this.value.textContent = formatLevel(t)\n this.applySliderFill(t)\n }\n document.addEventListener('cm:theme-change', this._onThemeChange)\n }\n\n destroy(): void {\n document.removeEventListener('cm:theme-change', this._onThemeChange)\n }\n\n private applySliderFill(level: number): void {\n const pct = ((level - MIN) / (MAX - MIN)) * 100\n this.input.style.setProperty('--slider-pct', `${pct}%`)\n }\n}\n\nfunction formatLevel(level: number): string {\n return `${Math.round(level * 100)}%`\n}\n"],"mappings":";;AAaA,SAAS,EAAM,GAAW,GAAa,GAAqB;AAC1D,QAAO,KAAK,IAAI,GAAK,KAAK,IAAI,GAAK,EAAE,CAAC;;AAGxC,IAAM,IAAM,GACN,IAAM,IACN,IAAO,KAOA,IAAb,MAAyB;CACvB;CACA;CACA;CACA;CAEA,YAAY,IAA8B,EAAE,EAAE;EAC5C,IAAM,IAAW,EAAQ,aAAa,IAChC,IAAU,EAAM,GAAU,CAAC,cAAc,GAAK,EAAI;AAOxD,MALA,KAAK,KAAK,SAAS,cAAc,MAAM,EACvC,KAAK,GAAG,YAAY,IAChB,wDACA,wBAEA,CAAC,GAAU;GACb,IAAM,IAAQ,SAAS,cAAc,OAAO;AAG5C,GAFA,EAAM,YAAY,+BAClB,EAAM,cAAc,SACpB,KAAK,GAAG,YAAY,EAAM;;EAG5B,IAAM,IAAM,SAAS,cAAc,MAAM;AAGzC,MAFA,EAAI,YAAY,6BAEZ,GAAU;GACZ,IAAM,IAAO,SAAS,cAAc,OAAO;AAG3C,GAFA,EAAK,YAAY,8BACjB,EAAK,cAAc,SACnB,EAAI,YAAY,EAAK;;AAUvB,EAPA,KAAK,QAAQ,SAAS,cAAc,QAAQ,EAC5C,KAAK,MAAM,OAAO,SAClB,KAAK,MAAM,MAAM,OAAO,EAAI,EAC5B,KAAK,MAAM,MAAM,OAAO,EAAI,EAC5B,KAAK,MAAM,OAAO,OAAO,EAAK,EAC9B,KAAK,MAAM,QAAQ,OAAO,EAAQ,EAClC,KAAK,MAAM,YAAY,+BACvB,KAAK,MAAM,aAAa,cAAc,uBAAuB;EAC7D,IAAM,IAAU,kBAAkB,KAAK,QAAQ,CAAC,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE;AAKxE,MAJA,KAAK,MAAM,aAAa,oBAAoB,EAAQ,EACpD,KAAK,MAAM,aAAa,kBAAkB,GAAG,KAAK,MAAM,IAAU,IAAI,CAAC,gBAAgB,EACvF,EAAI,YAAY,KAAK,MAAM,EAEvB,GAAU;GACZ,IAAM,IAAQ,SAAS,cAAc,OAAO;AAG5C,GAFA,EAAM,YAAY,8BAClB,EAAM,cAAc,WACpB,EAAI,YAAY,EAAM;;AAyBxB,EAtBA,KAAK,QAAQ,SAAS,cAAc,OAAO,EAC3C,KAAK,MAAM,YAAY,+BACvB,KAAK,MAAM,KAAK,GAChB,KAAK,MAAM,aAAa,aAAa,SAAS,EAC9C,KAAK,MAAM,cAAc,EAAY,EAAQ,EAC7C,EAAI,YAAY,KAAK,MAAM,EAE3B,KAAK,GAAG,YAAY,EAAI,EACxB,KAAK,gBAAgB,EAAQ,EAE7B,KAAK,MAAM,iBAAiB,eAAe;AAEzC,KAAgB,EAAE,cADL,EAAM,OAAO,KAAK,MAAM,MAAM,EAAE,GAAK,EAAI,EAChB,CAAC;IACvC,EAEF,KAAK,uBAAuB;GAC1B,IAAM,IAAI,EAAM,GAAU,CAAC,cAAc,GAAK,EAAI;AAIlD,GAHI,KAAK,MAAM,UAAU,OAAO,EAAE,KAAE,KAAK,MAAM,QAAQ,OAAO,EAAE,GAChE,KAAK,MAAM,aAAa,kBAAkB,GAAG,KAAK,MAAM,IAAI,IAAI,CAAC,gBAAgB,EACjF,KAAK,MAAM,cAAc,EAAY,EAAE,EACvC,KAAK,gBAAgB,EAAE;KAEzB,SAAS,iBAAiB,mBAAmB,KAAK,eAAe;;CAGnE,UAAgB;AACd,WAAS,oBAAoB,mBAAmB,KAAK,eAAe;;CAGtE,gBAAwB,GAAqB;EAC3C,IAAM,KAAQ,IAAQ,MAAQ,IAAM,KAAQ;AAC5C,OAAK,MAAM,MAAM,YAAY,gBAAgB,GAAG,EAAI,GAAG;;;AAI3D,SAAS,EAAY,GAAuB;AAC1C,QAAO,GAAG,KAAK,MAAM,IAAQ,IAAI,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare class IconGalleryBrowser {
|
|
2
|
+
readonly el: HTMLElement;
|
|
3
|
+
private gallery;
|
|
4
|
+
private toggle;
|
|
5
|
+
private expanded;
|
|
6
|
+
private readonly onThemeChange;
|
|
7
|
+
constructor();
|
|
8
|
+
destroy(): void;
|
|
9
|
+
private render;
|
|
10
|
+
private toggleGallery;
|
|
11
|
+
private renderGallery;
|
|
12
|
+
private buildBrandGallerySection;
|
|
13
|
+
private buildGallerySection;
|
|
14
|
+
private buildSectionShell;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=icon-gallery-browser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-gallery-browser.d.ts","sourceRoot":"","sources":["../../../src/components/theme/icon-gallery-browser.ts"],"names":[],"mappings":"AAoEA,qBAAa,kBAAkB;IAC7B,SAAgB,EAAE,EAAE,WAAW,CAAA;IAC/B,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,MAAM,CAAiC;IAC/C,OAAO,CAAC,QAAQ,CAAQ;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAY;;IAY1C,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,MAAM;IAsCd,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,wBAAwB;IAgBhC,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,iBAAiB;CAe1B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-set-picker.d.ts","sourceRoot":"","sources":["../../../src/components/theme/icon-set-picker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"icon-set-picker.d.ts","sourceRoot":"","sources":["../../../src/components/theme/icon-set-picker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmDH,qBAAa,aAAa;IACxB,SAAgB,EAAE,EAAE,WAAW,CAAA;IAC/B,OAAO,CAAC,cAAc,CAA4B;;IASlD,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,MAAM;IA0Cd,OAAO,CAAC,YAAY;CASrB"}
|