chordia-ui 3.3.8 → 3.3.9
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/AgentLiftCard.cjs.js.map +1 -1
- package/dist/AgentLiftCard.es.js +5 -3
- package/dist/AgentLiftCard.es.js.map +1 -1
- package/dist/CustomFilterChips.cjs.js.map +1 -1
- package/dist/CustomFilterChips.es.js +2 -1
- package/dist/CustomFilterChips.es.js.map +1 -1
- package/dist/FileUploadingState.cjs.js.map +1 -1
- package/dist/FileUploadingState.es.js +16 -10
- package/dist/FileUploadingState.es.js.map +1 -1
- package/dist/IntegrationCard.cjs.js.map +1 -1
- package/dist/IntegrationCard.es.js +3 -3
- package/dist/IntegrationCard.es.js.map +1 -1
- package/dist/SectionLabel.cjs.js.map +1 -1
- package/dist/SectionLabel.es.js.map +1 -1
- package/dist/SmallButton.cjs.js.map +1 -1
- package/dist/SmallButton.es.js +16 -16
- package/dist/SmallButton.es.js.map +1 -1
- package/dist/SummarySection.cjs.js.map +1 -1
- package/dist/SummarySection.es.js +11 -9
- package/dist/SummarySection.es.js.map +1 -1
- package/dist/TextInput.cjs.js.map +1 -1
- package/dist/TextInput.es.js.map +1 -1
- package/dist/Timeline.cjs.js.map +1 -1
- package/dist/Timeline.es.js +14 -8
- package/dist/Timeline.es.js.map +1 -1
- package/dist/Tooltip.cjs.js +1 -1
- package/dist/Tooltip.cjs.js.map +1 -1
- package/dist/Tooltip.es.js +31 -20
- package/dist/Tooltip.es.js.map +1 -1
- package/dist/TourGuideTooltip.cjs.js.map +1 -1
- package/dist/TourGuideTooltip.es.js +2 -1
- package/dist/TourGuideTooltip.es.js.map +1 -1
- package/dist/UpdatedInteractionRecording.cjs.js +1 -1
- package/dist/UpdatedInteractionRecording.cjs.js.map +1 -1
- package/dist/UpdatedInteractionRecording.es.js +79 -97
- package/dist/UpdatedInteractionRecording.es.js.map +1 -1
- package/dist/UploadInteraction.cjs.js.map +1 -1
- package/dist/UploadInteraction.es.js.map +1 -1
- package/dist/colors.cjs.js +2 -0
- package/dist/colors.cjs.js.map +1 -0
- package/dist/colors.es.js +2 -0
- package/dist/colors.es.js.map +1 -0
- package/dist/components/UpdatedInteractionDetails.cjs.js +10 -1
- package/dist/components/UpdatedInteractionDetails.cjs.js.map +1 -1
- package/dist/components/UpdatedInteractionDetails.es.js +1531 -9
- package/dist/components/UpdatedInteractionDetails.es.js.map +1 -1
- package/dist/components/chat.cjs.js +30 -1
- package/dist/components/chat.cjs.js.map +1 -1
- package/dist/components/chat.es.js +2222 -7
- package/dist/components/chat.es.js.map +1 -1
- package/dist/components/common.cjs.js +1 -1
- package/dist/components/common.es.js +32 -25
- package/dist/components/common.es.js.map +1 -1
- package/dist/components/data.cjs.js +1 -1
- package/dist/components/data.cjs.js.map +1 -1
- package/dist/components/data.es.js +1033 -4
- package/dist/components/data.es.js.map +1 -1
- package/dist/components/layout.cjs.js +3 -1
- package/dist/components/layout.cjs.js.map +1 -1
- package/dist/components/layout.es.js +1533 -8
- package/dist/components/layout.es.js.map +1 -1
- package/dist/components/login.cjs.js +1 -1
- package/dist/components/login.es.js +6 -2
- package/dist/components/login.es.js.map +1 -1
- package/dist/components/media.cjs.js +1 -1
- package/dist/components/media.cjs.js.map +1 -1
- package/dist/components/media.es.js +220 -6
- package/dist/components/media.es.js.map +1 -1
- package/dist/components/models.cjs.js +1 -1
- package/dist/components/models.cjs.js.map +1 -1
- package/dist/components/models.es.js +91 -2
- package/dist/components/models.es.js.map +1 -1
- package/dist/components/navigation.cjs.js +1 -1
- package/dist/components/navigation.cjs.js.map +1 -1
- package/dist/components/navigation.es.js +766 -7
- package/dist/components/navigation.es.js.map +1 -1
- package/dist/components/notifications.cjs.js +1 -1
- package/dist/components/notifications.cjs.js.map +1 -1
- package/dist/components/notifications.es.js +368 -3
- package/dist/components/notifications.es.js.map +1 -1
- package/dist/components/onboarding.cjs.js +1 -1
- package/dist/components/onboarding.cjs.js.map +1 -1
- package/dist/components/onboarding.es.js +985 -7
- package/dist/components/onboarding.es.js.map +1 -1
- package/dist/components/primitives.cjs.js +1 -1
- package/dist/components/primitives.cjs.js.map +1 -1
- package/dist/components/primitives.es.js +635 -25
- package/dist/components/primitives.es.js.map +1 -1
- package/dist/debugger-wc.cjs.js +4 -4
- package/dist/debugger-wc.cjs.js.map +1 -1
- package/dist/debugger-wc.es.js +15 -11
- package/dist/debugger-wc.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs2.js +2 -49
- package/dist/index.cjs2.js.map +1 -1
- package/dist/index.cjs3.js +50 -0
- package/dist/index.cjs3.js.map +1 -0
- package/dist/index.es.js +104 -99
- package/dist/index.es.js.map +1 -1
- package/dist/index.es2.js +2632 -1776
- package/dist/index.es2.js.map +1 -1
- package/dist/index.es3.js +1944 -0
- package/dist/index.es3.js.map +1 -0
- package/dist/pages/interactionDetails.cjs.js +1 -1
- package/dist/pages/interactionDetails.cjs.js.map +1 -1
- package/dist/pages/interactionDetails.es.js +70 -47
- package/dist/pages/interactionDetails.es.js.map +1 -1
- package/dist/sortable.esm.cjs.js +1 -1
- package/dist/sortable.esm.cjs.js.map +1 -1
- package/dist/sortable.esm.es.js +55 -53
- package/dist/sortable.esm.es.js.map +1 -1
- package/dist/{chordia-ui.css → style.css} +1 -1
- package/package.json +1 -1
- package/src/components/UpdatedInteractionDetails/UpdatedInteractionDetails.jsx +318 -77
- package/src/components/UpdatedInteractionDetails/UpdatedInteractionRecording.jsx +7 -17
- package/dist/ChartRenderer.cjs.js +0 -31
- package/dist/ChartRenderer.cjs.js.map +0 -1
- package/dist/ChartRenderer.es.js +0 -2210
- package/dist/ChartRenderer.es.js.map +0 -1
- package/dist/GettingStarted.cjs.js +0 -2
- package/dist/GettingStarted.cjs.js.map +0 -1
- package/dist/GettingStarted.es.js +0 -983
- package/dist/GettingStarted.es.js.map +0 -1
- package/dist/InlineConfirm.cjs.js +0 -2
- package/dist/InlineConfirm.cjs.js.map +0 -1
- package/dist/InlineConfirm.es.js +0 -618
- package/dist/InlineConfirm.es.js.map +0 -1
- package/dist/InteractionSummaryCard.cjs.js +0 -2
- package/dist/InteractionSummaryCard.cjs.js.map +0 -1
- package/dist/InteractionSummaryCard.es.js +0 -216
- package/dist/InteractionSummaryCard.es.js.map +0 -1
- package/dist/LoginPage.cjs.js +0 -3
- package/dist/LoginPage.cjs.js.map +0 -1
- package/dist/LoginPage.es.js +0 -2618
- package/dist/LoginPage.es.js.map +0 -1
- package/dist/NavigationBar.cjs.js +0 -2
- package/dist/NavigationBar.cjs.js.map +0 -1
- package/dist/NavigationBar.es.js +0 -762
- package/dist/NavigationBar.es.js.map +0 -1
- package/dist/NotificationPanel.cjs.js +0 -2
- package/dist/NotificationPanel.cjs.js.map +0 -1
- package/dist/NotificationPanel.es.js +0 -371
- package/dist/NotificationPanel.es.js.map +0 -1
- package/dist/OverlayPanel.cjs.js +0 -2
- package/dist/OverlayPanel.cjs.js.map +0 -1
- package/dist/OverlayPanel.es.js +0 -93
- package/dist/OverlayPanel.es.js.map +0 -1
- package/dist/SplitPane.cjs.js +0 -4
- package/dist/SplitPane.cjs.js.map +0 -1
- package/dist/SplitPane.es.js +0 -1531
- package/dist/SplitPane.es.js.map +0 -1
- package/dist/SummaryStatsPanel.cjs.js +0 -2
- package/dist/SummaryStatsPanel.cjs.js.map +0 -1
- package/dist/SummaryStatsPanel.es.js +0 -1027
- package/dist/SummaryStatsPanel.es.js.map +0 -1
- package/dist/UpdatedInteractionDetails.cjs.js +0 -11
- package/dist/UpdatedInteractionDetails.cjs.js.map +0 -1
- package/dist/UpdatedInteractionDetails.es.js +0 -1310
- package/dist/UpdatedInteractionDetails.es.js.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";const r=require("react/jsx-runtime"),p=require("react"),o=require("lucide-react"),L=require("./Tooltip.cjs.js"),G="data:image/svg+xml,%3csvg%20width='146'%20height='47'%20viewBox='0%200%20146%2047'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M39.7345%2023.0879C39.7345%2018.3264%2037.9562%2013.9806%2035.0265%2010.6778C31.5984%206.81303%2026.5961%204.37995%2021.0255%204.37991C15.55%204.37991%2010.626%206.73155%207.20325%2010.4815C4.16732%2013.8086%202.31752%2018.2312%202.3175%2023.0889C2.3175%2028.4704%204.58936%2033.3215%208.22864%2036.7354L8.54602%2037.0264C11.8643%2039.9919%2016.3774%2041.7969%2021.0265%2041.7969C25.8285%2041.7969%2030.2069%2039.9892%2033.5197%2037.0147C37.3363%2033.5875%2039.7345%2028.6181%2039.7345%2023.0879ZM41.0978%2023.0879C41.0978%2029.021%2038.522%2034.3537%2034.4298%2038.0284C30.8767%2041.2187%2026.1773%2043.1602%2021.0265%2043.1602C15.8732%2043.1602%2010.8875%2041.0989%207.29602%2037.7295C3.3936%2034.0688%200.954224%2028.8623%200.954224%2023.0889C0.954235%2017.8782%202.94042%2013.1308%206.19641%209.56253C9.86631%205.5418%2015.1511%203.01663%2021.0255%203.01663C27.0021%203.01666%2032.3702%205.63032%2036.046%209.77444C39.1881%2013.3168%2041.0978%2017.9806%2041.0978%2023.0879Z'%20fill='%23E8D4A3'/%3e%3cpath%20d='M37.2872%2023.0891C37.2872%2018.8698%2035.6769%2015.0268%2033.0372%2012.1418L33.0352%2012.1399C30.0667%208.87501%2025.7861%206.82644%2021.0255%206.8264C16.2546%206.8264%2011.9647%208.88061%208.98932%2012.1535C6.36338%2015.0421%204.76276%2018.878%204.76276%2023.0891C4.7628%2027.7174%207.02253%2031.472%2010.2159%2034.4739C13.1704%2037.2518%2016.8607%2039.3508%2021.0255%2039.3508C25.2429%2039.3508%2029.0852%2037.7442%2031.9737%2035.1096L32.2764%2034.8274C35.3652%2031.8686%2037.2871%2027.7034%2037.2872%2023.0891ZM38.4796%2023.0891C38.4795%2028.2015%2036.2794%2032.8019%2032.7764%2035.9914C29.677%2038.8182%2025.5513%2040.5432%2021.0255%2040.5432C16.4464%2040.5432%2012.4784%2038.2379%209.39948%2035.343C6.05168%2032.196%203.5714%2028.1479%203.57135%2023.0891C3.57135%2018.5701%205.28909%2014.4512%208.10651%2011.3518C11.2983%207.84074%2015.9047%205.63499%2021.0255%205.63499C26.135%205.63503%2030.7311%207.834%2033.9161%2011.3362C36.7493%2014.4324%2038.4796%2018.5602%2038.4796%2023.0891Z'%20fill='%23C1D89F'/%3e%3cpath%20d='M34.8411%2023.0891C34.8411%2019.4103%2033.3913%2016.0763%2031.0461%2013.6008C28.5281%2010.9427%2024.9743%209.27276%2021.0256%209.27272C16.9594%209.27272%2013.3036%2011.0285%2010.7756%2013.8245C8.5585%2016.2757%207.20923%2019.5246%207.20923%2023.0891C7.2093%2026.9684%209.4469%2029.6116%2012.2053%2032.2132C14.7815%2034.6424%2017.4826%2036.9046%2021.0256%2036.9046C24.6597%2036.9045%2027.9657%2035.4993%2030.4299%2033.2034C33.1437%2030.6832%2034.841%2027.085%2034.8411%2023.0891ZM35.8635%2023.0891C35.8635%2027.3807%2034.0383%2031.246%2031.1252%2033.9514C28.4794%2036.4165%2024.9284%2037.927%2021.0256%2037.927C17.0315%2037.927%2014.0595%2035.365%2011.5051%2032.9563H11.5042C8.72167%2030.3321%206.18782%2027.427%206.18774%2023.0891C6.18774%2019.2616%207.63735%2015.7707%2010.0178%2013.1389L10.2756%2012.8616C12.9772%2010.0221%2016.795%208.25124%2021.0256%208.25124C25.2694%208.25128%2029.0874%2010.0466%2031.7883%2012.8977C34.304%2015.5531%2035.8635%2019.1356%2035.8635%2023.0891Z'%20fill='%239BDB9C'/%3e%3cpath%20d='M32.3938%2023.088C32.3938%2019.9508%2031.1134%2017.1184%2029.0569%2015.0607C27.0004%2013.0032%2024.1649%2011.719%2021.0256%2011.7189H20.9465C17.6174%2011.7412%2014.6276%2013.1939%2012.5617%2015.4953C10.7546%2017.5092%209.65549%2020.1693%209.65549%2023.088C9.65553%2024.6571%2010.2083%2025.8214%2011.0461%2026.8664C11.9056%2027.9384%2013.0249%2028.8441%2014.1936%2029.9503C14.7288%2030.4574%2015.2521%2031.0081%2015.7639%2031.5275C16.2811%2032.0524%2016.7943%2032.5543%2017.3352%2032.9914C18.4123%2033.8616%2019.5737%2034.4582%2021.0246%2034.4582C24.0754%2034.4581%2026.8439%2033.255%2028.884%2031.298V31.297C31.0464%2029.2308%2032.3937%2026.2248%2032.3938%2023.088ZM33.2453%2023.088C33.2453%2026.3577%2031.8876%2029.4879%2029.6877%2031.7013L29.4729%2031.9123C27.2807%2034.015%2024.3039%2035.3096%2021.0246%2035.3097C19.3103%2035.3097%2017.9649%2034.5946%2016.8%2033.6535C16.22%2033.1848%2015.6792%2032.6547%2015.1574%2032.1251C14.6302%2031.59%2014.1297%2031.0622%2013.6086%2030.5685V30.5695C12.5058%2029.5256%2011.2893%2028.5314%2010.3811%2027.3986C9.45133%2026.2388%208.80397%2024.8924%208.80392%2023.088C8.80392%2019.951%209.986%2017.0899%2011.9279%2014.9259H11.9289C14.1656%2012.4345%2017.4126%2010.8664%2021.0246%2010.8664H21.2004L21.2033%2010.8703C24.5095%2010.9179%2027.4896%2012.2893%2029.6584%2014.4591L30.0627%2014.883C32.0334%2017.0499%2033.2453%2019.9242%2033.2453%2023.088Z'%20fill='%2374DF98'/%3e%3cpath%20d='M29.9485%2023.0892C29.9485%2020.4916%2028.8388%2018.1542%2027.0677%2016.5228C25.488%2015.068%2023.3836%2014.1776%2021.0696%2014.1663H21.0247C18.368%2014.1663%2015.9836%2015.3261%2014.3489%2017.1683C12.9504%2018.7437%2012.1018%2020.8168%2012.1018%2023.0892C12.1019%2024.2725%2012.629%2024.9743%2013.4055%2025.6058C13.8042%2025.93%2014.2541%2026.2238%2014.7395%2026.5579C15.218%2026.8873%2015.7196%2027.2494%2016.1829%2027.6908C16.622%2028.1089%2017.0022%2028.6035%2017.3577%2029.0941C17.7193%2029.593%2018.0503%2030.0792%2018.4124%2030.5218C19.1297%2031.3986%2019.8969%2032.012%2021.0247%2032.012C23.4912%2032.0119%2025.7232%2031.011%2027.3391%2029.3929C28.9518%2027.7781%2029.9485%2025.5503%2029.9485%2023.0892ZM30.6292%2023.0892C30.6291%2025.738%2029.5566%2028.137%2027.8216%2029.8743C26.0831%2031.6152%2023.6794%2032.6926%2021.0247%2032.6927C19.5916%2032.6927%2018.6502%2031.8887%2017.885%2030.9534C17.5061%2030.4902%2017.1516%2029.9714%2016.8059%2029.4945C16.5421%2029.1304%2016.2793%2028.7851%2015.9993%2028.4779L15.7132%2028.1839C15.2908%2027.7816%2014.8264%2027.4448%2014.3538%2027.1195C13.8884%2026.7991%2013.4023%2026.4817%2012.9759%2026.1351C12.1019%2025.4244%2011.4203%2024.5457%2011.4202%2023.0892C11.4202%2020.6439%2012.3343%2018.4115%2013.8391%2016.7161L14.178%2016.3529C15.8861%2014.6167%2018.2509%2013.5307%2020.8704%2013.4896L20.8753%2013.4837H21.0257C23.5346%2013.4838%2025.8181%2014.4465%2027.5286%2016.0218C29.434%2017.7768%2030.6292%2020.2931%2030.6292%2023.0892Z'%20fill='%234DE294'/%3e%3cpath%20d='M136.209%2032.5971C134.942%2032.5971%20133.917%2032.2887%20133.134%2031.6721C132.351%2031.0554%20131.959%2030.1721%20131.959%2029.0221C131.959%2027.8721%20132.359%2026.9637%20133.159%2026.2971C133.976%2025.6304%20135.159%2025.2971%20136.709%2025.2971H138.334C139.467%2025.2971%20140.267%2025.1471%20140.734%2024.8471C141.217%2024.5471%20141.459%2024.0971%20141.459%2023.4971C141.459%2022.9804%20141.242%2022.5304%20140.809%2022.1471C140.376%2021.7637%20139.692%2021.5721%20138.759%2021.5721C137.892%2021.5721%20137.184%2021.7887%20136.634%2022.2221C136.101%2022.6554%20135.776%2023.2804%20135.659%2024.0971H132.109C132.276%2022.4637%20132.942%2021.1887%20134.109%2020.2721C135.276%2019.3554%20136.834%2018.8971%20138.784%2018.8971C140.734%2018.8971%20142.251%2019.3137%20143.334%2020.1471C144.417%2020.9637%20144.959%2022.1137%20144.959%2023.5971V32.1971H141.509L141.459%2029.0721H141.334C141.051%2030.1054%20140.434%2030.9554%20139.484%2031.6221C138.551%2032.2721%20137.459%2032.5971%20136.209%2032.5971ZM135.559%2028.7221C135.559%2029.2221%20135.734%2029.6054%20136.084%2029.8721C136.451%2030.1387%20136.967%2030.2721%20137.634%2030.2721C138.367%2030.2721%20139.026%2030.0971%20139.609%2029.7471C140.192%2029.3971%20140.642%2028.9387%20140.959%2028.3721C141.292%2027.8054%20141.459%2027.1971%20141.459%2026.5471V25.3721H141.334C141.184%2025.9887%20140.859%2026.4471%20140.359%2026.7471C139.859%2027.0304%20139.151%2027.1721%20138.234%2027.1721H137.359C136.776%2027.1721%20136.326%2027.3137%20136.009%2027.5971C135.709%2027.8637%20135.559%2028.2387%20135.559%2028.7221Z'%20fill='%23FAF5E9'/%3e%3cpath%20d='M129.685%2019.2971V32.1971H126.11V19.2971H129.685ZM125.785%2015.5221C125.785%2014.9554%20125.993%2014.4721%20126.41%2014.0721C126.827%2013.6554%20127.318%2013.4471%20127.885%2013.4471C128.468%2013.4471%20128.96%2013.6471%20129.36%2014.0471C129.76%2014.4471%20129.96%2014.9387%20129.96%2015.5221C129.96%2016.0887%20129.76%2016.5721%20129.36%2016.9721C128.96%2017.3721%20128.468%2017.5721%20127.885%2017.5721C127.302%2017.5721%20126.802%2017.3721%20126.385%2016.9721C125.985%2016.5721%20125.785%2016.0887%20125.785%2015.5221Z'%20fill='%23FAF5E9'/%3e%3cpath%20d='M109.232%2025.7471C109.232%2024.3804%20109.457%2023.1804%20109.907%2022.1471C110.373%2021.1137%20111.032%2020.3137%20111.882%2019.7471C112.732%2019.1804%20113.723%2018.8971%20114.857%2018.8971C115.907%2018.8971%20116.84%2019.1971%20117.657%2019.7971C118.473%2020.3971%20119.073%2021.2221%20119.457%2022.2721H119.607V14.6971H123.157V32.1971H119.707L119.607%2029.2471H119.457C119.057%2030.2971%20118.448%2031.1221%20117.632%2031.7221C116.815%2032.3054%20115.89%2032.5971%20114.857%2032.5971C113.723%2032.5971%20112.732%2032.3221%20111.882%2031.7721C111.032%2031.2054%20110.373%2030.4054%20109.907%2029.3721C109.457%2028.3387%20109.232%2027.1304%20109.232%2025.7471ZM112.807%2025.7471C112.807%2027.0804%20113.115%2028.1471%20113.732%2028.9471C114.348%2029.7304%20115.173%2030.1221%20116.207%2030.1221C117.223%2030.1221%20118.04%2029.7887%20118.657%2029.1221C119.29%2028.4387%20119.607%2027.5721%20119.607%2026.5221V24.9971C119.607%2023.9304%20119.298%2023.0637%20118.682%2022.3971C118.065%2021.7137%20117.24%2021.3721%20116.207%2021.3721C115.173%2021.3721%20114.348%2021.7721%20113.732%2022.5721C113.115%2023.3554%20112.807%2024.4137%20112.807%2025.7471Z'%20fill='%23FAF5E9'/%3e%3cpath%20d='M99.5882%2019.2971H103.038L103.138%2023.3471H103.263C103.463%2022.3304%20103.755%2021.5221%20104.138%2020.9221C104.522%2020.3054%20105.063%2019.8471%20105.763%2019.5471C106.48%2019.2304%20107.422%2019.0721%20108.588%2019.0721V22.0721C106.755%2022.1387%20105.43%2022.4887%20104.613%2023.1221C104.097%2023.5054%20103.722%2024.0304%20103.488%2024.6971C103.255%2025.3637%20103.138%2026.2137%20103.138%2027.2471V32.1971H99.5882V19.2971Z'%20fill='%23FAF5E9'/%3e%3cpath%20d='M90.4743%2032.5971C89.1743%2032.5971%2087.9827%2032.3221%2086.8993%2031.7721C85.8327%2031.2054%2084.991%2030.3971%2084.3743%2029.3471C83.7577%2028.2971%2083.4493%2027.0804%2083.4493%2025.6971C83.4493%2024.3471%2083.7577%2023.1554%2084.3743%2022.1221C85.0077%2021.0887%2085.8577%2020.2971%2086.9243%2019.7471C87.991%2019.1804%2089.1743%2018.8971%2090.4743%2018.8971C91.7743%2018.8971%2092.9577%2019.1804%2094.0243%2019.7471C95.1077%2020.2971%2095.9577%2021.0887%2096.5743%2022.1221C97.2077%2023.1554%2097.5243%2024.3471%2097.5243%2025.6971C97.5243%2027.0804%2097.2077%2028.2971%2096.5743%2029.3471C95.9577%2030.3971%2095.1077%2031.2054%2094.0243%2031.7721C92.9577%2032.3221%2091.7743%2032.5971%2090.4743%2032.5971ZM87.0243%2025.6971C87.0243%2027.0637%2087.3243%2028.1054%2087.9243%2028.8221C88.541%2029.5387%2089.391%2029.8971%2090.4743%2029.8971C91.5577%2029.8971%2092.3993%2029.5387%2092.9993%2028.8221C93.616%2028.1054%2093.9243%2027.0637%2093.9243%2025.6971C93.9243%2024.3637%2093.616%2023.3471%2092.9993%2022.6471C92.3993%2021.9471%2091.5577%2021.5971%2090.4743%2021.5971C89.391%2021.5971%2088.541%2021.9471%2087.9243%2022.6471C87.3243%2023.3471%2087.0243%2024.3637%2087.0243%2025.6971Z'%20fill='%23FAF5E9'/%3e%3cpath%20d='M68.1419%2014.6971H71.6919V22.3721H71.8419C72.1919%2021.2554%2072.7752%2020.3971%2073.5919%2019.7971C74.4252%2019.1971%2075.4252%2018.8971%2076.5919%2018.8971C77.4586%2018.8971%2078.2502%2019.0971%2078.9669%2019.4971C79.7002%2019.8804%2080.2752%2020.4471%2080.6919%2021.1971C81.1252%2021.9471%2081.3419%2022.8387%2081.3419%2023.8721V32.1971H77.7919V24.8721C77.7919%2023.8221%2077.5419%2023.0304%2077.0419%2022.4971C76.5586%2021.9637%2075.8336%2021.6971%2074.8669%2021.6971C73.8836%2021.6971%2073.1086%2022.0304%2072.5419%2022.6971C71.9752%2023.3637%2071.6919%2024.2804%2071.6919%2025.4471V32.1971H68.1419V14.6971Z'%20fill='%23FAF5E9'/%3e%3cpath%20d='M57.7978%2032.597C56.0311%2032.597%2054.4894%2032.2304%2053.1728%2031.497C51.8728%2030.7637%2050.8644%2029.7054%2050.1478%2028.3221C49.4478%2026.9387%2049.0978%2025.3054%2049.0978%2023.4221C49.0978%2021.5387%2049.4478%2019.9137%2050.1478%2018.5471C50.8644%2017.1637%2051.8728%2016.1137%2053.1728%2015.397C54.4728%2014.6637%2056.0144%2014.2971%2057.7978%2014.2971C60.0644%2014.2971%2061.9144%2014.8721%2063.3478%2016.0221C64.7978%2017.1554%2065.6811%2018.7054%2065.9978%2020.6721H62.0478C61.7811%2019.6387%2061.2811%2018.8221%2060.5478%2018.2221C59.8144%2017.6221%2058.8978%2017.3221%2057.7978%2017.3221C56.3311%2017.3221%2055.1728%2017.8637%2054.3228%2018.9471C53.4894%2020.0137%2053.0728%2021.5054%2053.0728%2023.4221C53.0728%2025.3387%2053.5061%2026.8471%2054.3728%2027.9471C55.2394%2029.0304%2056.4228%2029.5721%2057.9228%2029.5721C59.1061%2029.5721%2060.0728%2029.1971%2060.8228%2028.4471C61.5894%2027.6971%2062.0478%2026.6971%2062.1978%2025.4471H66.0978C65.9644%2026.8971%2065.5478%2028.1637%2064.8478%2029.2471C64.1644%2030.3137%2063.2228%2031.1387%2062.0228%2031.722C60.8228%2032.3054%2059.4144%2032.597%2057.7978%2032.597Z'%20fill='%23FAF5E9'/%3e%3c/svg%3e",q={home:o.Home,projects:o.FolderClosed,folder:o.FolderClosed,organization:o.Users,users:o.Users,dashboard:o.LayoutDashboard,history:o.Clock3,sessions:o.Clock3,monitoring:o.Activity,activity:o.Activity,insights:o.Lightbulb,notifications:o.Bell,integrations:o.Plug,settings:o.Settings,usage:o.BarChart3,docs:o.FileText,documentation:o.FileText,agents:o.Headphones,security:o.Shield,configuration:o.Sliders,workflow:o.Workflow};function F(e){if(e)return`sidebar-nav-${String(e)}`}function Z(e){return e?typeof e=="string"?q[e.toLowerCase()]||o.SquareDot:e:o.SquareDot}function $({menuItems:e=[],activeId:t,onNavigate:i,collapsed:l,onToggleCollapse:g,header:v,footer:C,width:y=244,collapsedWidth:b=56,expandedParentId:a=void 0,defaultExpandedParentId:h=null,onExpandedParentChange:k,singleExpand:f=!1}){const[j,s]=p.useState(!1),u=l!==void 0?l:j,V=g||(()=>s(!j)),[W,D]=p.useState(()=>{const n={};return e.forEach(d=>{var c;if((c=d.children)!=null&&c.length){const x=d.children.some(S=>S.id===t||S.active);n[d.id]=x}}),n}),m=p.useMemo(()=>new Set(e.filter(n=>{var d;return(d=n.children)==null?void 0:d.length}).map(n=>n.id)),[e]),B=p.useMemo(()=>{const n=e.find(d=>{var c;return((c=d.children)==null?void 0:c.length)&&(d.id===t||!!d.active||d.children.some(x=>x.id===t||x.active))});return(n==null?void 0:n.id)??null},[e,t]),[w,A]=p.useState(()=>{const n=new Set(e.filter(c=>{var x;return(x=c.children)==null?void 0:x.length}).map(c=>c.id));if(h!=null&&n.has(h))return h;const d=e.find(c=>{var x;return((x=c.children)==null?void 0:x.length)&&(c.id===t||!!c.active||c.children.some(S=>S.id===t||S.active))});return(d==null?void 0:d.id)??null}),T=a!==void 0,M=T?a??null:m.has(w)?w:B??null;p.useEffect(()=>{if(T||!f)return;(w==null||!m.has(w))&&A(B??null)},[B,T,f,w,m]);const E=n=>{T||A(n),k==null||k(n)},I=n=>{if(f){E(M===n?null:n);return}D(d=>({...d,[n]:!d[n]}))},P=n=>f?M===n:!!W[n],O=n=>{if(f){M!==n.id&&E(n.id),i==null||i(n.href||n.id);return}I(n.id)},z=u?b:y;return r.jsxs("nav",{style:{width:z,minWidth:z,height:"100%",display:"flex",flexDirection:"column",alignItems:"flex-start",padding:u?"0":"0 0 24px 24px",gap:24,background:"var(--Background-Inverse, #0B0B0B)",fontFamily:"var(--font-sans)",transition:"width 0.2s ease, min-width 0.2s ease",overflow:"hidden",flexShrink:0},children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:u?"center":"space-between",padding:u?"12px 0":"12px 0 0",flexShrink:0,width:"100%"},children:[!u&&r.jsx("div",{style:{flexShrink:0},children:v!==void 0?v:r.jsx("img",{src:G,alt:"Chordia",style:{height:28,objectFit:"contain"}})}),r.jsx("button",{onClick:V,title:u?"Expand sidebar":"Collapse sidebar",style:{display:"flex",alignItems:"center",justifyContent:"center",width:28,height:28,borderRadius:"var(--radius-sm)",border:"none",background:"transparent",color:"rgba(255, 255, 255, 0.5)",cursor:"pointer",transition:"background 0.15s ease, color 0.15s ease",flexShrink:0},onMouseEnter:n=>{n.currentTarget.style.background="rgba(255, 255, 255, 0.08)",n.currentTarget.style.color="rgba(255, 255, 255, 0.8)"},onMouseLeave:n=>{n.currentTarget.style.background="transparent",n.currentTarget.style.color="rgba(255, 255, 255, 0.5)"},children:u?r.jsx(o.PanelLeft,{size:16}):r.jsx(o.PanelLeftClose,{size:16})})]}),r.jsx("div",{className:"custom-thin-scrollbar",style:{flex:1,overflowY:"auto",overflowX:"hidden",padding:u?"0 8px":"0",width:"100%"},children:e.map((n,d)=>{var c;return r.jsxs(p.Fragment,{children:[n.section&&!u&&r.jsx("div",{style:{fontSize:"var(--text-xs)",fontWeight:650,letterSpacing:"0.08em",textTransform:"uppercase",color:"rgba(255, 255, 255, 0.35)",padding:"16px 8px 6px",lineHeight:1},children:n.section}),(c=n.children)!=null&&c.length?r.jsx(U,{item:n,activeId:t,expanded:P(n.id),onPrimaryClick:()=>O(n),onToggleOnly:()=>I(n.id),onNavigate:i,collapsed:u,singleExpand:f}):r.jsx(R,{item:n,active:n.id===t||n.active,onNavigate:i,collapsed:u})]},n.id||d)})}),C&&!u&&r.jsx("div",{style:{padding:"12px 16px",borderTop:"1px solid rgba(255, 255, 255, 0.08)",flexShrink:0,width:"100%"},children:C})]})}function R({item:e,active:t,onNavigate:i,collapsed:l}){const g=Z(e.icon),v=typeof e.icon!="string"&&typeof e.icon<"u",C=p.useRef(null),[y,b]=p.useState(!1);return p.useEffect(()=>{if(l)return;const a=()=>{C.current&&b(C.current.scrollWidth>C.current.clientWidth)};return a(),window.addEventListener("resize",a),()=>window.removeEventListener("resize",a)},[e.label,l]),r.jsxs("button",{id:F(e.id),onClick:()=>i==null?void 0:i(e.href||e.id),title:l||y?e.label:void 0,style:{display:"flex",alignItems:"center",gap:l?0:12,justifyContent:l?"center":"flex-start",width:"100%",padding:l?"10px 0":"12px 24px 12px 12px",borderRadius:t?"4px 0 0 4px":"4px",borderRight:t?"2px solid #00A66E":"2px solid transparent",borderTop:"none",borderBottom:"none",borderLeft:"none",background:t?"var(--Background-MonoPressed, #323232)":"transparent",color:t?"var(--Brand-400, #33B88B)":"var(--Content-TertiaryInverse, #B2AEA8)",fontWeight:500,fontSize:"12px",fontStyle:"normal",lineHeight:"120%",textTransform:"uppercase",fontFamily:"var(--font-sans)",cursor:"pointer",textAlign:"left",transition:"background 0.15s ease, color 0.1s ease, border-color 0.15s ease",marginBottom:2},onMouseEnter:a=>{t||(a.currentTarget.style.background="var(--Background-MonoPressed, #323232)",a.currentTarget.style.color="var(--Brand-400, #33B88B)")},onMouseLeave:a=>{t||(a.currentTarget.style.background="transparent",a.currentTarget.style.color="var(--Content-TertiaryInverse, #B2AEA8)")},children:[v?r.jsx("span",{style:{flexShrink:0,display:"flex"},children:e.icon}):r.jsx(g,{size:18,style:{flexShrink:0,color:"inherit",cursor:"pointer"},onClick:a=>{a.stopPropagation(),onToggleOnly()}}),!l&&r.jsx("span",{ref:C,style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.label})]})}function U({item:e,activeId:t,expanded:i,onPrimaryClick:l,onToggleOnly:g,onNavigate:v,collapsed:C,singleExpand:y}){var j;const b=Z(e.icon),a=e.id===t||!!e.active||((j=e.children)==null?void 0:j.some(s=>s.id===t||s.active)),h=p.useRef(null),[k,f]=p.useState(!1);return p.useEffect(()=>{if(C)return;const s=()=>{h.current&&f(h.current.scrollWidth>h.current.clientWidth)};return s(),window.addEventListener("resize",s),()=>window.removeEventListener("resize",s)},[e.label,C]),C?r.jsx("button",{id:F(e.id),onClick:l,style:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%",padding:"10px 0",borderRadius:"4px",border:"none",background:a?"var(--Background-MonoPressed, #323232)":"transparent",color:a?"var(--Brand-400, #33B88B)":"var(--Content-TertiaryInverse, #B2AEA8)",cursor:"pointer",marginBottom:2,transition:"background 0.15s ease"},onMouseEnter:s=>{a||(s.currentTarget.style.background="var(--Background-MonoPressed, #323232)",s.currentTarget.style.color="var(--Brand-400, #33B88B)")},onMouseLeave:s=>{a||(s.currentTarget.style.background="transparent",s.currentTarget.style.color="var(--Content-TertiaryInverse, #B2AEA8)")},children:r.jsx(b,{size:18,style:{color:"inherit"}})}):r.jsxs("div",{style:{marginBottom:2},children:[r.jsxs("button",{id:F(e.id),onClick:l,style:{display:"flex",alignItems:"center",gap:12,width:"100%",padding:"12px 24px 12px 12px",borderRadius:"4px",border:"none",background:"transparent",color:a?"var(--Brand-400, #33B88B)":"var(--Content-TertiaryInverse, #B2AEA8)",fontWeight:700,fontSize:"12px",fontStyle:"normal",lineHeight:"120%",textTransform:"uppercase",fontFamily:"var(--font-sans)",cursor:"pointer",textAlign:"left",transition:"background 0.15s ease, color 0.15s ease"},onMouseEnter:s=>{s.currentTarget.style.background="var(--Background-MonoPressed, #323232)",s.currentTarget.style.color="var(--Brand-400, #33B88B)"},onMouseLeave:s=>{s.currentTarget.style.background="transparent",a?s.currentTarget.style.color="var(--Brand-400, #33B88B)":s.currentTarget.style.color="var(--Content-TertiaryInverse, #B2AEA8)"},children:[r.jsx(b,{size:18,style:{flexShrink:0,color:"inherit"}}),k?r.jsxs(L.Tooltip,{children:[r.jsx(L.TooltipTrigger,{asChild:!0,children:r.jsx("span",{ref:h,style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.label})}),r.jsx(L.TooltipContent,{side:"top",className:"max-w-[28ch] whitespace-normal break-words",children:e.label})]}):r.jsx("span",{ref:h,style:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.label}),r.jsx(o.ChevronDown,{size:14,onClick:s=>{s.stopPropagation(),g()},style:{flexShrink:0,color:"inherit",opacity:.7,transform:i?"rotate(0deg)":"rotate(-90deg)",transition:"transform 0.2s ease",cursor:y?"pointer":"inherit"}})]}),i&&r.jsx("div",{style:{paddingLeft:18,marginTop:2},children:e.children.map((s,u)=>r.jsx(R,{item:s,active:s.id===t||s.active,onNavigate:v,collapsed:!1},s.id||u))})]})}const H=["#5a8a6e","#b07d4f","#7a8fa6","#c47a5a","#6a9a8a","#a0785a","#5a7a9a","#9a7a5a"];function N(e){if(!e)return H[0];let t=0;for(let i=0;i<e.length;i++)t=(t<<5)-t+e.charCodeAt(i)|0;return H[Math.abs(t)%H.length]}function Y({logo:e,title:t,userName:i,userEmail:l,userInitials:g,userRole:v,onSignOut:C,children:y,trailing:b,userMenu:a,height:h=48,style:k}){const f=i||l||"",j=g||Q(f);return r.jsxs("header",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 20px",height:h,borderBottom:"1px solid var(--border)",background:"var(--primary-foreground)",flexShrink:0,fontFamily:"var(--font-sans)",position:"sticky",top:0,zIndex:1e3,...k},children:[r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,flexShrink:0},children:[e!==void 0?e:r.jsx("span",{style:{fontSize:"var(--text-lg)",fontWeight:700,fontFamily:"var(--font-display)",color:"var(--text-ink)",letterSpacing:"-0.01em"},children:"Chordia"}),t&&r.jsxs(r.Fragment,{children:[r.jsx("span",{style:{width:1,height:18,background:"var(--border)",flexShrink:0}}),r.jsx("span",{style:{fontSize:"var(--text-md)",fontWeight:500,color:"var(--text-muted)"},children:t})]})]}),y&&r.jsx("div",{style:{display:"flex",alignItems:"center",gap:8,flex:1,justifyContent:"center",minWidth:0},children:y}),r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:10,flexShrink:0},children:[b,a||f&&r.jsxs("div",{style:{display:"flex",alignItems:"center",gap:8},children:[r.jsx("div",{style:{width:30,height:30,borderRadius:"50%",background:N(f),display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0},children:r.jsx("span",{style:{fontSize:11,fontWeight:600,color:"#fff",letterSpacing:"0.02em",lineHeight:1},children:j})}),r.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:1},children:[r.jsx("span",{style:{fontSize:"var(--text-sm)",fontWeight:550,color:"var(--text-strong)",lineHeight:1.2},children:f}),v&&r.jsx("span",{style:{fontSize:"var(--text-xs)",color:"var(--text-muted)",lineHeight:1.2},children:v})]}),C&&r.jsx("button",{onClick:C,title:"Sign out",style:{display:"flex",alignItems:"center",justifyContent:"center",width:28,height:28,borderRadius:"var(--radius-sm)",border:"none",background:"transparent",color:"var(--text-faint)",cursor:"pointer",transition:"background 0.15s ease, color 0.15s ease"},onMouseEnter:s=>{s.currentTarget.style.background="var(--hover-warm)",s.currentTarget.style.color="var(--text-muted)"},onMouseLeave:s=>{s.currentTarget.style.background="transparent",s.currentTarget.style.color="var(--text-faint)"},children:r.jsx(o.LogOut,{size:14})})]})]})]})}function _({label:e,color:t="var(--text-muted)",active:i,onClick:l}){return r.jsxs("button",{onClick:l,style:{display:"flex",alignItems:"center",gap:4,fontSize:"var(--text-sm)",fontWeight:500,fontFamily:"var(--font-sans)",padding:"4px 10px",borderRadius:"var(--radius-sm)",border:`1px solid color-mix(in srgb, ${t} 30%, transparent)`,background:`color-mix(in srgb, ${t} 10%, transparent)`,color:t,cursor:"pointer",transition:"background 0.15s ease, border-color 0.15s ease"},onMouseEnter:g=>{g.currentTarget.style.background=`color-mix(in srgb, ${t} 18%, transparent)`},onMouseLeave:g=>{g.currentTarget.style.background=`color-mix(in srgb, ${t} 10%, transparent)`},children:[e,r.jsx(o.ChevronDown,{size:12,style:{transform:i?"rotate(180deg)":"rotate(0deg)",transition:"transform 0.2s ease",opacity:.7}})]})}function X({open:e,onClose:t,children:i,align:l="left"}){return e?r.jsxs(r.Fragment,{children:[r.jsx("div",{onClick:t,style:{position:"fixed",inset:0,zIndex:99,background:"rgba(0,0,0,0.03)"}}),r.jsx("div",{style:{position:"absolute",top:"100%",[l==="right"?"right":"left"]:0,marginTop:4,zIndex:100,background:"#fff",border:"1px solid var(--border)",borderRadius:"var(--radius)",padding:4,minWidth:200,maxHeight:280,overflowY:"auto",boxShadow:"0 8px 24px rgba(0,0,0,0.12)"},children:i})]}):null}function J({label:e,active:t,onClick:i}){return r.jsx("div",{onClick:i,style:{padding:"8px 10px",borderRadius:"var(--radius-sm)",cursor:"pointer",fontSize:"var(--text-sm)",color:t?"var(--text-ink)":"var(--text-base)",fontWeight:t?600:400,fontFamily:"var(--font-sans)",background:t?"var(--hover-warm)":"transparent",transition:"background 0.1s ease"},onMouseEnter:l=>{t||(l.currentTarget.style.background="var(--hover-warm-subtle)")},onMouseLeave:l=>{t||(l.currentTarget.style.background="transparent")},children:e})}function K({connected:e,label:t}){const i=t||(e?"Connected":"Disconnected");return r.jsx("span",{style:{fontSize:"var(--text-xs)",fontFamily:"var(--font-sans)",padding:"3px 10px",borderRadius:12,border:`1px solid ${e?"var(--state-present)":"var(--border)"}`,color:e?"var(--state-present)":"var(--text-faint)",background:e?"rgba(37,163,114,0.08)":"transparent",transition:"all 0.2s ease"},children:i})}function Q(e){if(!e)return"?";const t=e.trim().split(/\s+/);return t.length>=2?(t[0][0]+t[t.length-1][0]).toUpperCase():e.slice(0,2).toUpperCase()}exports.NavDropdown=X;exports.NavDropdownItem=J;exports.NavPill=_;exports.NavigationBar=Y;exports.Sidebar=$;exports.StatusIndicator=K;
|
|
2
|
-
//# sourceMappingURL=NavigationBar.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationBar.cjs.js","sources":["../src/assets/LogoChordia.svg","../src/components/navigation/Sidebar.jsx","../src/components/navigation/NavigationBar.jsx"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20width='146'%20height='47'%20viewBox='0%200%20146%2047'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M39.7345%2023.0879C39.7345%2018.3264%2037.9562%2013.9806%2035.0265%2010.6778C31.5984%206.81303%2026.5961%204.37995%2021.0255%204.37991C15.55%204.37991%2010.626%206.73155%207.20325%2010.4815C4.16732%2013.8086%202.31752%2018.2312%202.3175%2023.0889C2.3175%2028.4704%204.58936%2033.3215%208.22864%2036.7354L8.54602%2037.0264C11.8643%2039.9919%2016.3774%2041.7969%2021.0265%2041.7969C25.8285%2041.7969%2030.2069%2039.9892%2033.5197%2037.0147C37.3363%2033.5875%2039.7345%2028.6181%2039.7345%2023.0879ZM41.0978%2023.0879C41.0978%2029.021%2038.522%2034.3537%2034.4298%2038.0284C30.8767%2041.2187%2026.1773%2043.1602%2021.0265%2043.1602C15.8732%2043.1602%2010.8875%2041.0989%207.29602%2037.7295C3.3936%2034.0688%200.954224%2028.8623%200.954224%2023.0889C0.954235%2017.8782%202.94042%2013.1308%206.19641%209.56253C9.86631%205.5418%2015.1511%203.01663%2021.0255%203.01663C27.0021%203.01666%2032.3702%205.63032%2036.046%209.77444C39.1881%2013.3168%2041.0978%2017.9806%2041.0978%2023.0879Z'%20fill='%23E8D4A3'/%3e%3cpath%20d='M37.2872%2023.0891C37.2872%2018.8698%2035.6769%2015.0268%2033.0372%2012.1418L33.0352%2012.1399C30.0667%208.87501%2025.7861%206.82644%2021.0255%206.8264C16.2546%206.8264%2011.9647%208.88061%208.98932%2012.1535C6.36338%2015.0421%204.76276%2018.878%204.76276%2023.0891C4.7628%2027.7174%207.02253%2031.472%2010.2159%2034.4739C13.1704%2037.2518%2016.8607%2039.3508%2021.0255%2039.3508C25.2429%2039.3508%2029.0852%2037.7442%2031.9737%2035.1096L32.2764%2034.8274C35.3652%2031.8686%2037.2871%2027.7034%2037.2872%2023.0891ZM38.4796%2023.0891C38.4795%2028.2015%2036.2794%2032.8019%2032.7764%2035.9914C29.677%2038.8182%2025.5513%2040.5432%2021.0255%2040.5432C16.4464%2040.5432%2012.4784%2038.2379%209.39948%2035.343C6.05168%2032.196%203.5714%2028.1479%203.57135%2023.0891C3.57135%2018.5701%205.28909%2014.4512%208.10651%2011.3518C11.2983%207.84074%2015.9047%205.63499%2021.0255%205.63499C26.135%205.63503%2030.7311%207.834%2033.9161%2011.3362C36.7493%2014.4324%2038.4796%2018.5602%2038.4796%2023.0891Z'%20fill='%23C1D89F'/%3e%3cpath%20d='M34.8411%2023.0891C34.8411%2019.4103%2033.3913%2016.0763%2031.0461%2013.6008C28.5281%2010.9427%2024.9743%209.27276%2021.0256%209.27272C16.9594%209.27272%2013.3036%2011.0285%2010.7756%2013.8245C8.5585%2016.2757%207.20923%2019.5246%207.20923%2023.0891C7.2093%2026.9684%209.4469%2029.6116%2012.2053%2032.2132C14.7815%2034.6424%2017.4826%2036.9046%2021.0256%2036.9046C24.6597%2036.9045%2027.9657%2035.4993%2030.4299%2033.2034C33.1437%2030.6832%2034.841%2027.085%2034.8411%2023.0891ZM35.8635%2023.0891C35.8635%2027.3807%2034.0383%2031.246%2031.1252%2033.9514C28.4794%2036.4165%2024.9284%2037.927%2021.0256%2037.927C17.0315%2037.927%2014.0595%2035.365%2011.5051%2032.9563H11.5042C8.72167%2030.3321%206.18782%2027.427%206.18774%2023.0891C6.18774%2019.2616%207.63735%2015.7707%2010.0178%2013.1389L10.2756%2012.8616C12.9772%2010.0221%2016.795%208.25124%2021.0256%208.25124C25.2694%208.25128%2029.0874%2010.0466%2031.7883%2012.8977C34.304%2015.5531%2035.8635%2019.1356%2035.8635%2023.0891Z'%20fill='%239BDB9C'/%3e%3cpath%20d='M32.3938%2023.088C32.3938%2019.9508%2031.1134%2017.1184%2029.0569%2015.0607C27.0004%2013.0032%2024.1649%2011.719%2021.0256%2011.7189H20.9465C17.6174%2011.7412%2014.6276%2013.1939%2012.5617%2015.4953C10.7546%2017.5092%209.65549%2020.1693%209.65549%2023.088C9.65553%2024.6571%2010.2083%2025.8214%2011.0461%2026.8664C11.9056%2027.9384%2013.0249%2028.8441%2014.1936%2029.9503C14.7288%2030.4574%2015.2521%2031.0081%2015.7639%2031.5275C16.2811%2032.0524%2016.7943%2032.5543%2017.3352%2032.9914C18.4123%2033.8616%2019.5737%2034.4582%2021.0246%2034.4582C24.0754%2034.4581%2026.8439%2033.255%2028.884%2031.298V31.297C31.0464%2029.2308%2032.3937%2026.2248%2032.3938%2023.088ZM33.2453%2023.088C33.2453%2026.3577%2031.8876%2029.4879%2029.6877%2031.7013L29.4729%2031.9123C27.2807%2034.015%2024.3039%2035.3096%2021.0246%2035.3097C19.3103%2035.3097%2017.9649%2034.5946%2016.8%2033.6535C16.22%2033.1848%2015.6792%2032.6547%2015.1574%2032.1251C14.6302%2031.59%2014.1297%2031.0622%2013.6086%2030.5685V30.5695C12.5058%2029.5256%2011.2893%2028.5314%2010.3811%2027.3986C9.45133%2026.2388%208.80397%2024.8924%208.80392%2023.088C8.80392%2019.951%209.986%2017.0899%2011.9279%2014.9259H11.9289C14.1656%2012.4345%2017.4126%2010.8664%2021.0246%2010.8664H21.2004L21.2033%2010.8703C24.5095%2010.9179%2027.4896%2012.2893%2029.6584%2014.4591L30.0627%2014.883C32.0334%2017.0499%2033.2453%2019.9242%2033.2453%2023.088Z'%20fill='%2374DF98'/%3e%3cpath%20d='M29.9485%2023.0892C29.9485%2020.4916%2028.8388%2018.1542%2027.0677%2016.5228C25.488%2015.068%2023.3836%2014.1776%2021.0696%2014.1663H21.0247C18.368%2014.1663%2015.9836%2015.3261%2014.3489%2017.1683C12.9504%2018.7437%2012.1018%2020.8168%2012.1018%2023.0892C12.1019%2024.2725%2012.629%2024.9743%2013.4055%2025.6058C13.8042%2025.93%2014.2541%2026.2238%2014.7395%2026.5579C15.218%2026.8873%2015.7196%2027.2494%2016.1829%2027.6908C16.622%2028.1089%2017.0022%2028.6035%2017.3577%2029.0941C17.7193%2029.593%2018.0503%2030.0792%2018.4124%2030.5218C19.1297%2031.3986%2019.8969%2032.012%2021.0247%2032.012C23.4912%2032.0119%2025.7232%2031.011%2027.3391%2029.3929C28.9518%2027.7781%2029.9485%2025.5503%2029.9485%2023.0892ZM30.6292%2023.0892C30.6291%2025.738%2029.5566%2028.137%2027.8216%2029.8743C26.0831%2031.6152%2023.6794%2032.6926%2021.0247%2032.6927C19.5916%2032.6927%2018.6502%2031.8887%2017.885%2030.9534C17.5061%2030.4902%2017.1516%2029.9714%2016.8059%2029.4945C16.5421%2029.1304%2016.2793%2028.7851%2015.9993%2028.4779L15.7132%2028.1839C15.2908%2027.7816%2014.8264%2027.4448%2014.3538%2027.1195C13.8884%2026.7991%2013.4023%2026.4817%2012.9759%2026.1351C12.1019%2025.4244%2011.4203%2024.5457%2011.4202%2023.0892C11.4202%2020.6439%2012.3343%2018.4115%2013.8391%2016.7161L14.178%2016.3529C15.8861%2014.6167%2018.2509%2013.5307%2020.8704%2013.4896L20.8753%2013.4837H21.0257C23.5346%2013.4838%2025.8181%2014.4465%2027.5286%2016.0218C29.434%2017.7768%2030.6292%2020.2931%2030.6292%2023.0892Z'%20fill='%234DE294'/%3e%3cpath%20d='M136.209%2032.5971C134.942%2032.5971%20133.917%2032.2887%20133.134%2031.6721C132.351%2031.0554%20131.959%2030.1721%20131.959%2029.0221C131.959%2027.8721%20132.359%2026.9637%20133.159%2026.2971C133.976%2025.6304%20135.159%2025.2971%20136.709%2025.2971H138.334C139.467%2025.2971%20140.267%2025.1471%20140.734%2024.8471C141.217%2024.5471%20141.459%2024.0971%20141.459%2023.4971C141.459%2022.9804%20141.242%2022.5304%20140.809%2022.1471C140.376%2021.7637%20139.692%2021.5721%20138.759%2021.5721C137.892%2021.5721%20137.184%2021.7887%20136.634%2022.2221C136.101%2022.6554%20135.776%2023.2804%20135.659%2024.0971H132.109C132.276%2022.4637%20132.942%2021.1887%20134.109%2020.2721C135.276%2019.3554%20136.834%2018.8971%20138.784%2018.8971C140.734%2018.8971%20142.251%2019.3137%20143.334%2020.1471C144.417%2020.9637%20144.959%2022.1137%20144.959%2023.5971V32.1971H141.509L141.459%2029.0721H141.334C141.051%2030.1054%20140.434%2030.9554%20139.484%2031.6221C138.551%2032.2721%20137.459%2032.5971%20136.209%2032.5971ZM135.559%2028.7221C135.559%2029.2221%20135.734%2029.6054%20136.084%2029.8721C136.451%2030.1387%20136.967%2030.2721%20137.634%2030.2721C138.367%2030.2721%20139.026%2030.0971%20139.609%2029.7471C140.192%2029.3971%20140.642%2028.9387%20140.959%2028.3721C141.292%2027.8054%20141.459%2027.1971%20141.459%2026.5471V25.3721H141.334C141.184%2025.9887%20140.859%2026.4471%20140.359%2026.7471C139.859%2027.0304%20139.151%2027.1721%20138.234%2027.1721H137.359C136.776%2027.1721%20136.326%2027.3137%20136.009%2027.5971C135.709%2027.8637%20135.559%2028.2387%20135.559%2028.7221Z'%20fill='%23FAF5E9'/%3e%3cpath%20d='M129.685%2019.2971V32.1971H126.11V19.2971H129.685ZM125.785%2015.5221C125.785%2014.9554%20125.993%2014.4721%20126.41%2014.0721C126.827%2013.6554%20127.318%2013.4471%20127.885%2013.4471C128.468%2013.4471%20128.96%2013.6471%20129.36%2014.0471C129.76%2014.4471%20129.96%2014.9387%20129.96%2015.5221C129.96%2016.0887%20129.76%2016.5721%20129.36%2016.9721C128.96%2017.3721%20128.468%2017.5721%20127.885%2017.5721C127.302%2017.5721%20126.802%2017.3721%20126.385%2016.9721C125.985%2016.5721%20125.785%2016.0887%20125.785%2015.5221Z'%20fill='%23FAF5E9'/%3e%3cpath%20d='M109.232%2025.7471C109.232%2024.3804%20109.457%2023.1804%20109.907%2022.1471C110.373%2021.1137%20111.032%2020.3137%20111.882%2019.7471C112.732%2019.1804%20113.723%2018.8971%20114.857%2018.8971C115.907%2018.8971%20116.84%2019.1971%20117.657%2019.7971C118.473%2020.3971%20119.073%2021.2221%20119.457%2022.2721H119.607V14.6971H123.157V32.1971H119.707L119.607%2029.2471H119.457C119.057%2030.2971%20118.448%2031.1221%20117.632%2031.7221C116.815%2032.3054%20115.89%2032.5971%20114.857%2032.5971C113.723%2032.5971%20112.732%2032.3221%20111.882%2031.7721C111.032%2031.2054%20110.373%2030.4054%20109.907%2029.3721C109.457%2028.3387%20109.232%2027.1304%20109.232%2025.7471ZM112.807%2025.7471C112.807%2027.0804%20113.115%2028.1471%20113.732%2028.9471C114.348%2029.7304%20115.173%2030.1221%20116.207%2030.1221C117.223%2030.1221%20118.04%2029.7887%20118.657%2029.1221C119.29%2028.4387%20119.607%2027.5721%20119.607%2026.5221V24.9971C119.607%2023.9304%20119.298%2023.0637%20118.682%2022.3971C118.065%2021.7137%20117.24%2021.3721%20116.207%2021.3721C115.173%2021.3721%20114.348%2021.7721%20113.732%2022.5721C113.115%2023.3554%20112.807%2024.4137%20112.807%2025.7471Z'%20fill='%23FAF5E9'/%3e%3cpath%20d='M99.5882%2019.2971H103.038L103.138%2023.3471H103.263C103.463%2022.3304%20103.755%2021.5221%20104.138%2020.9221C104.522%2020.3054%20105.063%2019.8471%20105.763%2019.5471C106.48%2019.2304%20107.422%2019.0721%20108.588%2019.0721V22.0721C106.755%2022.1387%20105.43%2022.4887%20104.613%2023.1221C104.097%2023.5054%20103.722%2024.0304%20103.488%2024.6971C103.255%2025.3637%20103.138%2026.2137%20103.138%2027.2471V32.1971H99.5882V19.2971Z'%20fill='%23FAF5E9'/%3e%3cpath%20d='M90.4743%2032.5971C89.1743%2032.5971%2087.9827%2032.3221%2086.8993%2031.7721C85.8327%2031.2054%2084.991%2030.3971%2084.3743%2029.3471C83.7577%2028.2971%2083.4493%2027.0804%2083.4493%2025.6971C83.4493%2024.3471%2083.7577%2023.1554%2084.3743%2022.1221C85.0077%2021.0887%2085.8577%2020.2971%2086.9243%2019.7471C87.991%2019.1804%2089.1743%2018.8971%2090.4743%2018.8971C91.7743%2018.8971%2092.9577%2019.1804%2094.0243%2019.7471C95.1077%2020.2971%2095.9577%2021.0887%2096.5743%2022.1221C97.2077%2023.1554%2097.5243%2024.3471%2097.5243%2025.6971C97.5243%2027.0804%2097.2077%2028.2971%2096.5743%2029.3471C95.9577%2030.3971%2095.1077%2031.2054%2094.0243%2031.7721C92.9577%2032.3221%2091.7743%2032.5971%2090.4743%2032.5971ZM87.0243%2025.6971C87.0243%2027.0637%2087.3243%2028.1054%2087.9243%2028.8221C88.541%2029.5387%2089.391%2029.8971%2090.4743%2029.8971C91.5577%2029.8971%2092.3993%2029.5387%2092.9993%2028.8221C93.616%2028.1054%2093.9243%2027.0637%2093.9243%2025.6971C93.9243%2024.3637%2093.616%2023.3471%2092.9993%2022.6471C92.3993%2021.9471%2091.5577%2021.5971%2090.4743%2021.5971C89.391%2021.5971%2088.541%2021.9471%2087.9243%2022.6471C87.3243%2023.3471%2087.0243%2024.3637%2087.0243%2025.6971Z'%20fill='%23FAF5E9'/%3e%3cpath%20d='M68.1419%2014.6971H71.6919V22.3721H71.8419C72.1919%2021.2554%2072.7752%2020.3971%2073.5919%2019.7971C74.4252%2019.1971%2075.4252%2018.8971%2076.5919%2018.8971C77.4586%2018.8971%2078.2502%2019.0971%2078.9669%2019.4971C79.7002%2019.8804%2080.2752%2020.4471%2080.6919%2021.1971C81.1252%2021.9471%2081.3419%2022.8387%2081.3419%2023.8721V32.1971H77.7919V24.8721C77.7919%2023.8221%2077.5419%2023.0304%2077.0419%2022.4971C76.5586%2021.9637%2075.8336%2021.6971%2074.8669%2021.6971C73.8836%2021.6971%2073.1086%2022.0304%2072.5419%2022.6971C71.9752%2023.3637%2071.6919%2024.2804%2071.6919%2025.4471V32.1971H68.1419V14.6971Z'%20fill='%23FAF5E9'/%3e%3cpath%20d='M57.7978%2032.597C56.0311%2032.597%2054.4894%2032.2304%2053.1728%2031.497C51.8728%2030.7637%2050.8644%2029.7054%2050.1478%2028.3221C49.4478%2026.9387%2049.0978%2025.3054%2049.0978%2023.4221C49.0978%2021.5387%2049.4478%2019.9137%2050.1478%2018.5471C50.8644%2017.1637%2051.8728%2016.1137%2053.1728%2015.397C54.4728%2014.6637%2056.0144%2014.2971%2057.7978%2014.2971C60.0644%2014.2971%2061.9144%2014.8721%2063.3478%2016.0221C64.7978%2017.1554%2065.6811%2018.7054%2065.9978%2020.6721H62.0478C61.7811%2019.6387%2061.2811%2018.8221%2060.5478%2018.2221C59.8144%2017.6221%2058.8978%2017.3221%2057.7978%2017.3221C56.3311%2017.3221%2055.1728%2017.8637%2054.3228%2018.9471C53.4894%2020.0137%2053.0728%2021.5054%2053.0728%2023.4221C53.0728%2025.3387%2053.5061%2026.8471%2054.3728%2027.9471C55.2394%2029.0304%2056.4228%2029.5721%2057.9228%2029.5721C59.1061%2029.5721%2060.0728%2029.1971%2060.8228%2028.4471C61.5894%2027.6971%2062.0478%2026.6971%2062.1978%2025.4471H66.0978C65.9644%2026.8971%2065.5478%2028.1637%2064.8478%2029.2471C64.1644%2030.3137%2063.2228%2031.1387%2062.0228%2031.722C60.8228%2032.3054%2059.4144%2032.597%2057.7978%2032.597Z'%20fill='%23FAF5E9'/%3e%3c/svg%3e\"","\"use client\";\n\nimport React, { useEffect, useMemo, useRef, useState } from \"react\";\nimport {\n Home, FolderClosed, Users, Settings, ChevronDown,\n LayoutDashboard, Clock3, Activity, Lightbulb, Bell, Plug, BarChart3,\n FileText, Headphones, Shield, Sliders, Workflow, SquareDot,\n PanelLeftClose, PanelLeft,\n} from \"lucide-react\";\nimport { Tooltip, TooltipTrigger, TooltipContent } from \"../primitives/Tooltip\";\n\nimport chordiaLogoSvg from \"../../assets/LogoChordia.svg\";\n\n/**\n * Sidebar — collapsible navigation sidebar.\n *\n * Slot-based: pass menuItems as data, component handles rendering + expand/collapse.\n * No framework dependencies (no router, no auth, no API calls).\n *\n * Props:\n * - menuItems Array<MenuItem> Navigation items (see shape below)\n * - activeId string Currently active item id\n * - onNavigate function(href) Navigation callback\n * - collapsed boolean External collapsed state (controlled)\n * - onToggleCollapse function Toggle callback\n * - header ReactNode Optional header slot (logo, brand)\n * - footer ReactNode Optional footer slot (user, settings)\n * - width number Expanded width (default 240)\n * - collapsedWidth number Collapsed width (default 56)\n *\n * MenuItem shape:\n * - id string\n * - label string\n * - icon string (key from ICON_MAP) or ReactNode\n * - href string\n * - active boolean (override)\n * - children Array<MenuItem> (nested group)\n * - section string (section label above this item)\n */\n\nconst ICON_MAP = {\n home: Home,\n projects: FolderClosed,\n folder: FolderClosed,\n organization: Users,\n users: Users,\n dashboard: LayoutDashboard,\n history: Clock3,\n sessions: Clock3,\n monitoring: Activity,\n activity: Activity,\n insights: Lightbulb,\n notifications: Bell,\n integrations: Plug,\n settings: Settings,\n usage: BarChart3,\n docs: FileText,\n documentation: FileText,\n agents: Headphones,\n security: Shield,\n configuration: Sliders,\n workflow: Workflow,\n};\n\nfunction sidebarNavId(id) {\n if (!id) return undefined;\n return `sidebar-nav-${String(id)}`;\n}\n\nfunction resolveIcon(icon) {\n if (!icon) return SquareDot;\n if (typeof icon === \"string\") return ICON_MAP[icon.toLowerCase()] || SquareDot;\n return icon;\n}\n\nexport default function Sidebar({\n menuItems = [],\n activeId,\n onNavigate,\n collapsed: controlledCollapsed,\n onToggleCollapse,\n header,\n footer,\n width = 244,\n collapsedWidth = 56,\n expandedParentId = undefined,\n defaultExpandedParentId = null,\n onExpandedParentChange,\n singleExpand = false,\n}) {\n const [internalCollapsed, setInternalCollapsed] = useState(false);\n const collapsed = controlledCollapsed !== undefined ? controlledCollapsed : internalCollapsed;\n const toggleCollapse = onToggleCollapse || (() => setInternalCollapsed(!internalCollapsed));\n\n const [expandedGroups, setExpandedGroups] = useState(() => {\n const initial = {};\n menuItems.forEach((item) => {\n if (item.children?.length) {\n // Auto-expand groups that contain the active item\n const hasActive = item.children.some((c) => c.id === activeId || c.active);\n initial[item.id] = hasActive;\n }\n });\n return initial;\n });\n\n const parentItemIds = useMemo(\n () => new Set(menuItems.filter((item) => item.children?.length).map((item) => item.id)),\n [menuItems]\n );\n\n const autoExpandedParentId = useMemo(() => {\n const activeParent = menuItems.find(\n (item) =>\n item.children?.length &&\n (item.id === activeId ||\n !!item.active ||\n item.children.some((c) => c.id === activeId || c.active))\n );\n return activeParent?.id ?? null;\n }, [menuItems, activeId]);\n\n const [internalExpandedParentId, setInternalExpandedParentId] = useState(() => {\n const initialParentIds = new Set(\n menuItems.filter((item) => item.children?.length).map((item) => item.id)\n );\n if (defaultExpandedParentId != null && initialParentIds.has(defaultExpandedParentId)) {\n return defaultExpandedParentId;\n }\n const initialActiveParent = menuItems.find(\n (item) =>\n item.children?.length &&\n (item.id === activeId ||\n !!item.active ||\n item.children.some((c) => c.id === activeId || c.active))\n );\n return initialActiveParent?.id ?? null;\n });\n\n const isExpandedParentControlled = expandedParentId !== undefined;\n const currentExpandedParentId = isExpandedParentControlled\n ? (expandedParentId ?? null)\n : (parentItemIds.has(internalExpandedParentId) ? internalExpandedParentId : (autoExpandedParentId ?? null));\n\n useEffect(() => {\n if (isExpandedParentControlled || !singleExpand) return;\n const isMissingOrInvalid =\n internalExpandedParentId == null || !parentItemIds.has(internalExpandedParentId);\n if (isMissingOrInvalid) {\n setInternalExpandedParentId(autoExpandedParentId ?? null);\n }\n }, [\n autoExpandedParentId,\n isExpandedParentControlled,\n singleExpand,\n internalExpandedParentId,\n parentItemIds,\n ]);\n\n const setExpandedParent = (nextId) => {\n if (!isExpandedParentControlled) setInternalExpandedParentId(nextId);\n onExpandedParentChange?.(nextId);\n };\n\n const toggleGroup = (id) => {\n if (singleExpand) {\n const isExpanded = currentExpandedParentId === id;\n setExpandedParent(isExpanded ? null : id);\n return;\n }\n setExpandedGroups((prev) => ({ ...prev, [id]: !prev[id] }));\n };\n\n const isGroupExpanded = (id) => {\n if (singleExpand) return currentExpandedParentId === id;\n return !!expandedGroups[id];\n };\n\n const handleGroupPrimaryClick = (item) => {\n if (singleExpand) {\n if (currentExpandedParentId !== item.id) setExpandedParent(item.id);\n onNavigate?.(item.href || item.id);\n return;\n }\n toggleGroup(item.id);\n };\n\n const currentWidth = collapsed ? collapsedWidth : width;\n\n return (\n <nav\n style={{\n width: currentWidth,\n minWidth: currentWidth,\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n padding: collapsed ? \"0\" : \"0 0 24px 24px\",\n gap: 24,\n background: \"var(--Background-Inverse, #0B0B0B)\",\n fontFamily: \"var(--font-sans)\",\n transition: \"width 0.2s ease, min-width 0.2s ease\",\n overflow: \"hidden\",\n flexShrink: 0,\n }}\n >\n {/* Header + Collapse toggle in one row */}\n <div\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: collapsed ? \"center\" : \"space-between\",\n padding: collapsed ? \"12px 0\" : \"12px 0 0\",\n flexShrink: 0,\n width: \"100%\",\n }}\n >\n {!collapsed && (\n <div style={{ flexShrink: 0 }}>\n {header !== undefined ? header : <img src={chordiaLogoSvg} alt=\"Chordia\" style={{ height: 28, objectFit: \"contain\" }} />}\n </div>\n )}\n <button\n onClick={toggleCollapse}\n title={collapsed ? \"Expand sidebar\" : \"Collapse sidebar\"}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: 28,\n height: 28,\n borderRadius: \"var(--radius-sm)\",\n border: \"none\",\n background: \"transparent\",\n color: \"rgba(255, 255, 255, 0.5)\",\n cursor: \"pointer\",\n transition: \"background 0.15s ease, color 0.15s ease\",\n flexShrink: 0,\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.background = \"rgba(255, 255, 255, 0.08)\";\n e.currentTarget.style.color = \"rgba(255, 255, 255, 0.8)\";\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.background = \"transparent\";\n e.currentTarget.style.color = \"rgba(255, 255, 255, 0.5)\";\n }}\n >\n {collapsed ? <PanelLeft size={16} /> : <PanelLeftClose size={16} />}\n </button>\n </div>\n\n {/* Menu items */}\n <div\n className=\"custom-thin-scrollbar\"\n style={{\n flex: 1,\n overflowY: \"auto\",\n overflowX: \"hidden\",\n padding: collapsed ? \"0 8px\" : \"0\",\n width: \"100%\",\n }}\n >\n {menuItems.map((item, idx) => (\n <React.Fragment key={item.id || idx}>\n {/* Section label */}\n {item.section && !collapsed && (\n <div\n style={{\n fontSize: \"var(--text-xs)\",\n fontWeight: 650,\n letterSpacing: \"0.08em\",\n textTransform: \"uppercase\",\n color: \"rgba(255, 255, 255, 0.35)\",\n padding: \"16px 8px 6px\",\n lineHeight: 1,\n }}\n >\n {item.section}\n </div>\n )}\n\n {item.children?.length ? (\n <SidebarGroup\n item={item}\n activeId={activeId}\n expanded={isGroupExpanded(item.id)}\n onPrimaryClick={() => handleGroupPrimaryClick(item)}\n onToggleOnly={() => toggleGroup(item.id)}\n onNavigate={onNavigate}\n collapsed={collapsed}\n singleExpand={singleExpand}\n />\n ) : (\n <SidebarItem\n item={item}\n active={item.id === activeId || item.active}\n onNavigate={onNavigate}\n collapsed={collapsed}\n />\n )}\n </React.Fragment>\n ))}\n </div>\n\n {/* Footer slot */}\n {footer && !collapsed && (\n <div\n style={{\n padding: \"12px 16px\",\n borderTop: \"1px solid rgba(255, 255, 255, 0.08)\",\n flexShrink: 0,\n width: \"100%\",\n }}\n >\n {footer}\n </div>\n )}\n </nav>\n );\n}\n\nfunction SidebarItem({ item, active, onNavigate, collapsed }) {\n const Icon = resolveIcon(item.icon);\n const isReactIcon = typeof item.icon !== \"string\" && typeof item.icon !== \"undefined\";\n const labelRef = useRef(null);\n const [isLabelTruncated, setIsLabelTruncated] = useState(false);\n\n useEffect(() => {\n if (collapsed) return;\n\n const checkTruncation = () => {\n if (!labelRef.current) return;\n setIsLabelTruncated(labelRef.current.scrollWidth > labelRef.current.clientWidth);\n };\n\n checkTruncation();\n window.addEventListener(\"resize\", checkTruncation);\n return () => window.removeEventListener(\"resize\", checkTruncation);\n }, [item.label, collapsed]);\n\n return (\n <button\n id={sidebarNavId(item.id)}\n onClick={() => onNavigate?.(item.href || item.id)}\n title={collapsed || isLabelTruncated ? item.label : undefined}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: collapsed ? 0 : 12,\n justifyContent: collapsed ? \"center\" : \"flex-start\",\n width: \"100%\",\n padding: collapsed ? \"10px 0\" : \"12px 24px 12px 12px\",\n borderRadius: active ? \"4px 0 0 4px\" : \"4px\",\n borderRight: active ? \"2px solid #00A66E\" : \"2px solid transparent\",\n borderTop: \"none\",\n borderBottom: \"none\",\n borderLeft: \"none\",\n background: active ? \"var(--Background-MonoPressed, #323232)\" : \"transparent\",\n color: active ? \"var(--Brand-400, #33B88B)\" : \"var(--Content-TertiaryInverse, #B2AEA8)\",\n fontWeight: 500,\n fontSize: \"12px\",\n fontStyle: \"normal\",\n lineHeight: \"120%\",\n textTransform: \"uppercase\",\n fontFamily: \"var(--font-sans)\",\n cursor: \"pointer\",\n textAlign: \"left\",\n transition: \"background 0.15s ease, color 0.1s ease, border-color 0.15s ease\",\n marginBottom: 2,\n }}\n onMouseEnter={(e) => {\n if (!active) {\n e.currentTarget.style.background = \"var(--Background-MonoPressed, #323232)\";\n e.currentTarget.style.color = \"var(--Brand-400, #33B88B)\";\n }\n }}\n onMouseLeave={(e) => {\n if (!active) {\n e.currentTarget.style.background = \"transparent\";\n e.currentTarget.style.color = \"var(--Content-TertiaryInverse, #B2AEA8)\";\n }\n }}\n >\n {isReactIcon ? (\n <span style={{ flexShrink: 0, display: \"flex\" }}>{item.icon}</span>\n ) : (\n <Icon\n size={18}\n style={{\n flexShrink: 0,\n color: \"inherit\",\n cursor: \"pointer\",\n }}\n onClick={(e) => {\n e.stopPropagation();\n onToggleOnly();\n }}\n />\n )}\n {!collapsed && (\n <span\n ref={labelRef}\n style={{\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }}\n >\n {item.label}\n </span>\n )}\n </button>\n );\n}\n\nfunction SidebarGroup({\n item,\n activeId,\n expanded,\n onPrimaryClick,\n onToggleOnly,\n onNavigate,\n collapsed,\n singleExpand,\n}) {\n const Icon = resolveIcon(item.icon);\n const hasActiveGroupItem =\n item.id === activeId || !!item.active || item.children?.some((c) => c.id === activeId || c.active);\n const groupLabelRef = useRef(null);\n const [isGroupLabelTruncated, setIsGroupLabelTruncated] = useState(false);\n\n useEffect(() => {\n if (collapsed) return;\n\n const checkTruncation = () => {\n if (!groupLabelRef.current) return;\n setIsGroupLabelTruncated(groupLabelRef.current.scrollWidth > groupLabelRef.current.clientWidth);\n };\n\n checkTruncation();\n window.addEventListener(\"resize\", checkTruncation);\n return () => window.removeEventListener(\"resize\", checkTruncation);\n }, [item.label, collapsed]);\n\n if (collapsed) {\n // In collapsed mode, show just the group icon\n return (\n <button\n id={sidebarNavId(item.id)}\n onClick={onPrimaryClick}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"100%\",\n padding: \"10px 0\",\n borderRadius: \"4px\",\n border: \"none\",\n background: hasActiveGroupItem ? \"var(--Background-MonoPressed, #323232)\" : \"transparent\",\n color: hasActiveGroupItem ? \"var(--Brand-400, #33B88B)\" : \"var(--Content-TertiaryInverse, #B2AEA8)\",\n cursor: \"pointer\",\n marginBottom: 2,\n transition: \"background 0.15s ease\",\n }}\n onMouseEnter={(e) => {\n if (!hasActiveGroupItem) {\n e.currentTarget.style.background = \"var(--Background-MonoPressed, #323232)\";\n e.currentTarget.style.color = \"var(--Brand-400, #33B88B)\";\n }\n }}\n onMouseLeave={(e) => {\n if (!hasActiveGroupItem) {\n e.currentTarget.style.background = \"transparent\";\n e.currentTarget.style.color = \"var(--Content-TertiaryInverse, #B2AEA8)\";\n }\n }}\n >\n <Icon\n size={18}\n style={{ color: \"inherit\" }}\n />\n </button>\n );\n }\n\n return (\n <div style={{ marginBottom: 2 }}>\n {/* Group header */}\n <button\n id={sidebarNavId(item.id)}\n onClick={onPrimaryClick}\n style={{\n display: \"flex\",\n alignItems: \"center\",\n gap: 12,\n width: \"100%\",\n padding: \"12px 24px 12px 12px\",\n borderRadius: \"4px\",\n border: \"none\",\n background: \"transparent\",\n color: hasActiveGroupItem ? \"var(--Brand-400, #33B88B)\" : \"var(--Content-TertiaryInverse, #B2AEA8)\",\n fontWeight: 700,\n fontSize: \"12px\",\n fontStyle: \"normal\",\n lineHeight: \"120%\",\n textTransform: \"uppercase\",\n fontFamily: \"var(--font-sans)\",\n cursor: \"pointer\",\n textAlign: \"left\",\n transition: \"background 0.15s ease, color 0.15s ease\",\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.background = \"var(--Background-MonoPressed, #323232)\";\n e.currentTarget.style.color = \"var(--Brand-400, #33B88B)\";\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.background = \"transparent\";\n if (!hasActiveGroupItem) e.currentTarget.style.color = \"var(--Content-TertiaryInverse, #B2AEA8)\";\n else e.currentTarget.style.color = \"var(--Brand-400, #33B88B)\";\n }}\n >\n <Icon\n size={18}\n style={{\n flexShrink: 0,\n color: \"inherit\",\n }}\n />\n {isGroupLabelTruncated ? (\n <Tooltip>\n <TooltipTrigger asChild>\n <span\n ref={groupLabelRef}\n style={{\n flex: 1,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }}\n >\n {item.label}\n </span>\n </TooltipTrigger>\n <TooltipContent side=\"top\" className=\"max-w-[28ch] whitespace-normal break-words\">\n {item.label}\n </TooltipContent>\n </Tooltip>\n ) : (\n <span\n ref={groupLabelRef}\n style={{\n flex: 1,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n }}\n >\n {item.label}\n </span>\n )}\n <ChevronDown\n size={14}\n onClick={(e) => {\n e.stopPropagation();\n onToggleOnly();\n }}\n style={{\n flexShrink: 0,\n color: \"inherit\",\n opacity: 0.7,\n transform: expanded ? \"rotate(0deg)\" : \"rotate(-90deg)\",\n transition: \"transform 0.2s ease\",\n cursor: singleExpand ? \"pointer\" : \"inherit\",\n }}\n />\n </button>\n\n {/* Children */}\n {expanded && (\n <div style={{ paddingLeft: 18, marginTop: 2 }}>\n {item.children.map((child, idx) => (\n <SidebarItem\n key={child.id || idx}\n item={child}\n active={child.id === activeId || child.active}\n onNavigate={onNavigate}\n collapsed={false}\n />\n ))}\n </div>\n )}\n </div>\n );\n}\n","import React from 'react';\nimport { LogOut, ChevronDown } from 'lucide-react';\n\n// Stable avatar colors — warm/neutral palette, no purple\nconst AVATAR_COLORS = [\n '#5a8a6e', // sage green\n '#b07d4f', // warm amber\n '#7a8fa6', // slate blue\n '#c47a5a', // terracotta\n '#6a9a8a', // teal\n '#a0785a', // clay\n '#5a7a9a', // steel blue\n '#9a7a5a', // caramel\n];\n\nfunction avatarColor(name) {\n if (!name) return AVATAR_COLORS[0];\n let hash = 0;\n for (let i = 0; i < name.length; i++) hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0;\n return AVATAR_COLORS[Math.abs(hash) % AVATAR_COLORS.length];\n}\n\n/**\n * NavigationBar — top-level app header bar.\n *\n * Slot-based composition: pass children for center content, trailing for right content,\n * or use the built-in user/switcher/actions props for the standard Chordia layout.\n *\n * Props:\n * - logo ReactNode Left-side branding (defaults to \"Chordia\" wordmark)\n * - title string App title shown after logo\n * - userName string User's display name\n * - userEmail string Fallback if no userName\n * - userRole string Role badge (e.g. \"Admin\")\n * - onSignOut function Sign out callback (renders sign out button)\n * - children ReactNode Center slot — switchers, breadcrumbs, tabs, anything\n * - trailing ReactNode Right slot — status indicators, extra actions\n * - userMenu ReactNode Optional custom user menu (replaces built-in user block)\n * - height number Bar height in px (default 48)\n * - style object Style overrides on the root element\n */\nexport default function NavigationBar({\n logo,\n title,\n userName,\n userEmail,\n userInitials,\n userRole,\n onSignOut,\n children,\n trailing,\n userMenu,\n height = 48,\n style,\n}) {\n const displayName = userName || userEmail || '';\n const initials = userInitials || getInitials(displayName);\n\n return (\n <header\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '0 20px',\n height,\n borderBottom: '1px solid var(--border)',\n background: 'var(--primary-foreground)',\n flexShrink: 0,\n fontFamily: 'var(--font-sans)',\n position: 'sticky',\n top: 0,\n zIndex: 1000,\n ...style,\n }}\n >\n {/* ─── Left: Logo + Title ─── */}\n <div style={{ display: 'flex', alignItems: 'center', gap: 10, flexShrink: 0 }}>\n {logo !== undefined ? logo : (\n <span style={{\n fontSize: 'var(--text-lg)',\n fontWeight: 700,\n fontFamily: 'var(--font-display)',\n color: 'var(--text-ink)',\n letterSpacing: '-0.01em',\n }}>\n Chordia\n </span>\n )}\n {title && (\n <>\n <span style={{\n width: 1,\n height: 18,\n background: 'var(--border)',\n flexShrink: 0,\n }} />\n <span style={{\n fontSize: 'var(--text-md)',\n fontWeight: 500,\n color: 'var(--text-muted)',\n }}>\n {title}\n </span>\n </>\n )}\n </div>\n\n {/* ─── Center: Slot for switchers, breadcrumbs, tabs ─── */}\n {children && (\n <div style={{\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n flex: 1,\n justifyContent: 'center',\n minWidth: 0,\n }}>\n {children}\n </div>\n )}\n\n {/* ─── Right: User + trailing ─── */}\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 10,\n flexShrink: 0,\n }}\n >\n {trailing}\n\n {userMenu\n ? userMenu\n : displayName && (\n <div style={{ display: 'flex', alignItems: 'center', gap: 8 }}>\n {/* Initials avatar */}\n <div style={{\n width: 30,\n height: 30,\n borderRadius: '50%',\n background: avatarColor(displayName),\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n }}>\n <span style={{\n fontSize: 11,\n fontWeight: 600,\n color: '#fff',\n letterSpacing: '0.02em',\n lineHeight: 1,\n }}>\n {initials}\n </span>\n </div>\n\n {/* Name + role */}\n <div style={{ display: 'flex', flexDirection: 'column', gap: 1 }}>\n <span style={{\n fontSize: 'var(--text-sm)',\n fontWeight: 550,\n color: 'var(--text-strong)',\n lineHeight: 1.2,\n }}>\n {displayName}\n </span>\n {userRole && (\n <span style={{\n fontSize: 'var(--text-xs)',\n color: 'var(--text-muted)',\n lineHeight: 1.2,\n }}>\n {userRole}\n </span>\n )}\n </div>\n\n {/* Sign out */}\n {onSignOut && (\n <button\n onClick={onSignOut}\n title=\"Sign out\"\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 28,\n height: 28,\n borderRadius: 'var(--radius-sm)',\n border: 'none',\n background: 'transparent',\n color: 'var(--text-faint)',\n cursor: 'pointer',\n transition: 'background 0.15s ease, color 0.15s ease',\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.background = 'var(--hover-warm)';\n e.currentTarget.style.color = 'var(--text-muted)';\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.background = 'transparent';\n e.currentTarget.style.color = 'var(--text-faint)';\n }}\n >\n <LogOut size={14} />\n </button>\n )}\n </div>\n )}\n </div>\n </header>\n );\n}\n\n/**\n * NavPill — compact switcher button for use inside NavigationBar.\n *\n * Props:\n * - label string Display text\n * - color string Rail color token (e.g. \"var(--rail-discovery)\")\n * - active boolean Whether dropdown is open\n * - onClick function Toggle callback\n */\nexport function NavPill({ label, color = 'var(--text-muted)', active, onClick }) {\n return (\n <button\n onClick={onClick}\n style={{\n display: 'flex',\n alignItems: 'center',\n gap: 4,\n fontSize: 'var(--text-sm)',\n fontWeight: 500,\n fontFamily: 'var(--font-sans)',\n padding: '4px 10px',\n borderRadius: 'var(--radius-sm)',\n border: `1px solid color-mix(in srgb, ${color} 30%, transparent)`,\n background: `color-mix(in srgb, ${color} 10%, transparent)`,\n color: color,\n cursor: 'pointer',\n transition: 'background 0.15s ease, border-color 0.15s ease',\n }}\n onMouseEnter={(e) => {\n e.currentTarget.style.background = `color-mix(in srgb, ${color} 18%, transparent)`;\n }}\n onMouseLeave={(e) => {\n e.currentTarget.style.background = `color-mix(in srgb, ${color} 10%, transparent)`;\n }}\n >\n {label}\n <ChevronDown\n size={12}\n style={{\n transform: active ? 'rotate(180deg)' : 'rotate(0deg)',\n transition: 'transform 0.2s ease',\n opacity: 0.7,\n }}\n />\n </button>\n );\n}\n\n/**\n * NavDropdown — dropdown panel that attaches to a NavPill.\n * Wrap around NavPill and the dropdown content.\n *\n * Props:\n * - open boolean Whether dropdown is visible\n * - onClose function Close callback\n * - children ReactNode Dropdown items\n * - align string \"left\" | \"right\" (default \"left\")\n */\nexport function NavDropdown({ open, onClose, children, align = 'left' }) {\n if (!open) return null;\n return (\n <>\n <div\n onClick={onClose}\n style={{ position: 'fixed', inset: 0, zIndex: 99, background: 'rgba(0,0,0,0.03)' }}\n />\n <div style={{\n position: 'absolute',\n top: '100%',\n [align === 'right' ? 'right' : 'left']: 0,\n marginTop: 4,\n zIndex: 100,\n background: '#fff',\n border: '1px solid var(--border)',\n borderRadius: 'var(--radius)',\n padding: 4,\n minWidth: 200,\n maxHeight: 280,\n overflowY: 'auto',\n boxShadow: '0 8px 24px rgba(0,0,0,0.12)',\n }}>\n {children}\n </div>\n </>\n );\n}\n\n/**\n * NavDropdownItem — single item inside NavDropdown.\n *\n * Props:\n * - label string\n * - active boolean\n * - onClick function\n */\nexport function NavDropdownItem({ label, active, onClick }) {\n return (\n <div\n onClick={onClick}\n style={{\n padding: '8px 10px',\n borderRadius: 'var(--radius-sm)',\n cursor: 'pointer',\n fontSize: 'var(--text-sm)',\n color: active ? 'var(--text-ink)' : 'var(--text-base)',\n fontWeight: active ? 600 : 400,\n fontFamily: 'var(--font-sans)',\n background: active ? 'var(--hover-warm)' : 'transparent',\n transition: 'background 0.1s ease',\n }}\n onMouseEnter={(e) => {\n if (!active) e.currentTarget.style.background = 'var(--hover-warm-subtle)';\n }}\n onMouseLeave={(e) => {\n if (!active) e.currentTarget.style.background = 'transparent';\n }}\n >\n {label}\n </div>\n );\n}\n\n/**\n * StatusIndicator — connection/status pill for trailing slot.\n *\n * Props:\n * - connected boolean\n * - label string (optional, defaults to Connected/Disconnected)\n */\nexport function StatusIndicator({ connected, label }) {\n const text = label || (connected ? 'Connected' : 'Disconnected');\n return (\n <span style={{\n fontSize: 'var(--text-xs)',\n fontFamily: 'var(--font-sans)',\n padding: '3px 10px',\n borderRadius: 12,\n border: `1px solid ${connected ? 'var(--state-present)' : 'var(--border)'}`,\n color: connected ? 'var(--state-present)' : 'var(--text-faint)',\n background: connected ? 'rgba(37,163,114,0.08)' : 'transparent',\n transition: 'all 0.2s ease',\n }}>\n {text}\n </span>\n );\n}\n\nfunction getInitials(name) {\n if (!name) return '?';\n const parts = name.trim().split(/\\s+/);\n if (parts.length >= 2) {\n return (parts[0][0] + parts[parts.length - 1][0]).toUpperCase();\n }\n return name.slice(0, 2).toUpperCase();\n}\n"],"names":["chordiaLogoSvg","ICON_MAP","Home","FolderClosed","Users","LayoutDashboard","Clock3","Activity","Lightbulb","Bell","Plug","Settings","BarChart3","FileText","Headphones","Shield","Sliders","Workflow","sidebarNavId","id","resolveIcon","icon","SquareDot","Sidebar","menuItems","activeId","onNavigate","controlledCollapsed","onToggleCollapse","header","footer","width","collapsedWidth","expandedParentId","defaultExpandedParentId","onExpandedParentChange","singleExpand","internalCollapsed","setInternalCollapsed","useState","collapsed","toggleCollapse","expandedGroups","setExpandedGroups","initial","item","_a","hasActive","c","parentItemIds","useMemo","autoExpandedParentId","activeParent","internalExpandedParentId","setInternalExpandedParentId","initialParentIds","initialActiveParent","isExpandedParentControlled","currentExpandedParentId","useEffect","setExpandedParent","nextId","toggleGroup","prev","isGroupExpanded","handleGroupPrimaryClick","currentWidth","jsxs","jsx","e","PanelLeft","PanelLeftClose","idx","React","SidebarGroup","SidebarItem","active","Icon","isReactIcon","labelRef","useRef","isLabelTruncated","setIsLabelTruncated","checkTruncation","expanded","onPrimaryClick","onToggleOnly","hasActiveGroupItem","groupLabelRef","isGroupLabelTruncated","setIsGroupLabelTruncated","Tooltip","TooltipTrigger","TooltipContent","ChevronDown","child","AVATAR_COLORS","avatarColor","name","hash","NavigationBar","logo","title","userName","userEmail","userInitials","userRole","onSignOut","children","trailing","userMenu","height","style","displayName","initials","getInitials","Fragment","LogOut","NavPill","label","color","onClick","NavDropdown","open","onClose","align","NavDropdownItem","StatusIndicator","connected","text","parts"],"mappings":"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"}
|