cortex-react-components 3.3.0 → 4.0.2
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/{chunk-SSDRUPMS.mjs → chunk-2BKXIIFJ.mjs} +183 -36
- package/dist/{chunk-XFJPL6FS.mjs → chunk-3DWDGYDG.mjs} +1 -1
- package/dist/{chunk-WX5QYPGU.mjs → chunk-3K6EVFOW.mjs} +1 -1
- package/dist/{chunk-HLEMFDTD.mjs → chunk-3R2LCGLI.mjs} +1 -1
- package/dist/{chunk-JFXWP3RQ.mjs → chunk-3RYHYKVQ.mjs} +1 -1
- package/dist/{chunk-VMYEV3FG.mjs → chunk-4YRR74Y4.mjs} +1 -1
- package/dist/{chunk-PJZ5PWKP.mjs → chunk-5OGDBGXG.mjs} +1 -1
- package/dist/{chunk-I4MTJN23.mjs → chunk-6A7T3O6T.mjs} +6 -5
- package/dist/{chunk-KIZUBPPQ.mjs → chunk-6GO5N6ZP.mjs} +1 -1
- package/dist/{chunk-EJJITIA3.mjs → chunk-6LF4K7ER.mjs} +4 -4
- package/dist/{chunk-URC56DLC.mjs → chunk-6S7EQDLL.mjs} +1 -1
- package/dist/{chunk-EC5I4CIO.mjs → chunk-7HHLKQE4.mjs} +2 -2
- package/dist/{chunk-RFQKQLNT.mjs → chunk-7LM2P6N3.mjs} +4 -4
- package/dist/{chunk-IJ3E6ZXF.mjs → chunk-AZ5MV7NO.mjs} +1 -1
- package/dist/{chunk-V6YEUAIH.mjs → chunk-CV7GOXGO.mjs} +2 -2
- package/dist/{chunk-L4SNPNYU.mjs → chunk-D3AHBPI5.mjs} +2 -2
- package/dist/{chunk-FABRRO2B.mjs → chunk-DRLNETNN.mjs} +1 -1
- package/dist/{chunk-OXP3LJ53.mjs → chunk-DVWMM7AI.mjs} +4 -4
- package/dist/{chunk-HUZCVQP7.mjs → chunk-EEVXIKNB.mjs} +1 -1
- package/dist/{chunk-Z54HOXSV.mjs → chunk-ETV6EEYB.mjs} +1 -1
- package/dist/{chunk-EDYFH3EJ.mjs → chunk-F6SQTC6R.mjs} +4 -4
- package/dist/{chunk-IVOPNDSN.mjs → chunk-G5N5MCLS.mjs} +5 -5
- package/dist/{chunk-NVSA5BFC.mjs → chunk-GR45UN4U.mjs} +2 -2
- package/dist/{chunk-QETXXFRW.mjs → chunk-HNVHGBNE.mjs} +1 -1
- package/dist/{chunk-QPO45D6F.mjs → chunk-I2MVZVXE.mjs} +1 -1
- package/dist/chunk-IC4N2KYF.mjs +401 -0
- package/dist/{chunk-MZVEK6A5.mjs → chunk-IM5B557Z.mjs} +16 -16
- package/dist/{chunk-Q6CUUDUR.mjs → chunk-IQ67MHAY.mjs} +1 -1
- package/dist/{chunk-OCVHSV6Z.mjs → chunk-IWQEM5KO.mjs} +2 -2
- package/dist/{chunk-TDOOQIMQ.mjs → chunk-J5GM5CJK.mjs} +2 -2
- package/dist/chunk-JCSRFM37.mjs +595 -0
- package/dist/{chunk-QMFGV3M5.mjs → chunk-JOGVCBYP.mjs} +1 -1
- package/dist/{chunk-4P5Q6UXF.mjs → chunk-JWMQOARK.mjs} +1 -1
- package/dist/{chunk-DSVXGGGV.mjs → chunk-K5ZNBHQO.mjs} +1 -1
- package/dist/{chunk-YY4VLYYH.mjs → chunk-KJVAS4I7.mjs} +26 -11
- package/dist/{chunk-XZFMQXYJ.mjs → chunk-KMGTUNRZ.mjs} +1 -1
- package/dist/{chunk-ETG5N2OG.mjs → chunk-KYY7BMXI.mjs} +1 -1
- package/dist/{chunk-SSE3MQDP.mjs → chunk-LRMDRQRJ.mjs} +2 -2
- package/dist/{chunk-LGGOEYDB.mjs → chunk-LRTEGIZ7.mjs} +10 -10
- package/dist/{chunk-XGHUG2WQ.mjs → chunk-MDG2I4PB.mjs} +1 -1
- package/dist/{chunk-HMVIQFLN.mjs → chunk-N5HTSJLI.mjs} +1 -1
- package/dist/{chunk-IDMTHUC4.mjs → chunk-N5Q2DYUR.mjs} +1 -1
- package/dist/{chunk-7ZCW4XMR.mjs → chunk-NSYYRG6A.mjs} +1 -1
- package/dist/{chunk-CONYNX7Y.mjs → chunk-NUAJQK4H.mjs} +1 -1
- package/dist/{chunk-LM4J7254.mjs → chunk-OR3XMMEK.mjs} +9 -9
- package/dist/{chunk-EGZL4DVZ.mjs → chunk-PAXCURFR.mjs} +1 -1
- package/dist/{chunk-RC6YHGVV.mjs → chunk-PE7KJR4A.mjs} +1 -1
- package/dist/{chunk-LTDXFLCW.mjs → chunk-QDO6BAAN.mjs} +12 -4
- package/dist/{chunk-NQMJXY3N.mjs → chunk-QJGBUBSB.mjs} +1 -1
- package/dist/{chunk-YD7Q7IZX.mjs → chunk-QJQ66DYZ.mjs} +1 -1
- package/dist/{chunk-WJTVZ6CB.mjs → chunk-RNHGLZYP.mjs} +1 -1
- package/dist/{chunk-2D3EN2AX.mjs → chunk-SJI6X5DK.mjs} +2 -2
- package/dist/{chunk-4JHX6BW6.mjs → chunk-TZH6L2OH.mjs} +1 -1
- package/dist/{chunk-OPJMXB4K.mjs → chunk-UCK4TW63.mjs} +4 -4
- package/dist/{chunk-36W3BORX.mjs → chunk-WAR2OXXK.mjs} +1 -1
- package/dist/{chunk-SM57JU3T.mjs → chunk-WZBXR7J3.mjs} +5 -5
- package/dist/{chunk-LPK5R32M.mjs → chunk-X4GP2O3Y.mjs} +1 -1
- package/dist/{chunk-6NRBLKM4.mjs → chunk-XCZCWSOY.mjs} +2 -2
- package/dist/{chunk-KOK3VCJZ.mjs → chunk-Y4KJTMKO.mjs} +1 -1
- package/dist/{chunk-YFOEG4PP.mjs → chunk-Z6MYLHDW.mjs} +1 -1
- package/dist/components/AdvancedComponents/AppSidebar.d.ts +1 -1
- package/dist/components/AdvancedComponents/AppSidebar.js +480 -301
- package/dist/components/AdvancedComponents/AppSidebar.mjs +3 -3
- package/dist/components/AdvancedComponents/index.js +480 -301
- package/dist/components/AdvancedComponents/index.mjs +3 -3
- package/dist/components/Blocks/Banner.mjs +8 -8
- package/dist/components/Blocks/CallToAction.mjs +8 -8
- package/dist/components/Blocks/CollapsibleArea.mjs +9 -9
- package/dist/components/Blocks/Content.mjs +9 -9
- package/dist/components/Blocks/FeaturesBlock.mjs +8 -8
- package/dist/components/Blocks/ImageBlock.mjs +3 -3
- package/dist/components/Blocks/MediaBlock.mjs +3 -3
- package/dist/components/Blocks/RelatedPosts.mjs +10 -10
- package/dist/components/Blocks/RenderBlocks.mjs +11 -11
- package/dist/components/Blocks/ReusableContentBlock.mjs +11 -11
- package/dist/components/Blocks/index.mjs +18 -18
- package/dist/components/CRM/index.mjs +3 -3
- package/dist/components/Cards/ContentCard.mjs +8 -8
- package/dist/components/Cards/FeatureCard.mjs +8 -8
- package/dist/components/Cards/index.mjs +14 -14
- package/dist/components/Chat/ChatInterface.mjs +11 -11
- package/dist/components/Chat/CopilotInterface.d.ts +1 -1
- package/dist/components/Chat/CopilotInterface.js +527 -330
- package/dist/components/Chat/CopilotInterface.mjs +16 -16
- package/dist/components/Chat/PartTypes/MessageHandler.mjs +9 -9
- package/dist/components/Chat/PartTypes/index.mjs +11 -11
- package/dist/components/Chat/chat-session-sidebar.d.ts +1 -1
- package/dist/components/Chat/demo-long-messages.js +527 -330
- package/dist/components/Chat/demo-long-messages.mjs +16 -16
- package/dist/components/Chat/demo-tests.js +527 -330
- package/dist/components/Chat/demo-tests.mjs +16 -16
- package/dist/components/Chat/demo.js +527 -330
- package/dist/components/Chat/demo.mjs +16 -16
- package/dist/components/Chat/example-usage.js +527 -330
- package/dist/components/Chat/example-usage.mjs +16 -16
- package/dist/components/Chat/example-with-vercel-ai.js +527 -330
- package/dist/components/Chat/example-with-vercel-ai.mjs +16 -16
- package/dist/components/Chat/index.js +527 -330
- package/dist/components/Chat/index.mjs +21 -21
- package/dist/components/DeliveryLead/DeliveryLeadSubmissionWithList.mjs +2 -2
- package/dist/components/DeliveryLead/index.mjs +4 -4
- package/dist/components/DigitalColleagues/Views/TeamsIndexView.d.ts +1 -9
- package/dist/components/DigitalColleagues/Views/TeamsIndexView.js +22 -27
- package/dist/components/DigitalColleagues/Views/TeamsIndexView.mjs +4 -6
- package/dist/components/DigitalColleagues/index.d.ts +0 -18
- package/dist/components/DigitalColleagues/index.js +0 -16754
- package/dist/components/DigitalColleagues/test-data.d.ts +1 -112
- package/dist/components/DigitalColleagues/test-data.js +482 -308
- package/dist/components/DigitalColleagues/test-data.mjs +1 -5
- package/dist/components/Foundry/AppSidebarLeft.mjs +3 -3
- package/dist/components/Foundry/Knowledge/add-knowledge-modal.mjs +3 -3
- package/dist/components/Foundry/Knowledge/add-team-context.mjs +3 -3
- package/dist/components/Foundry/MainPage.mjs +7 -7
- package/dist/components/Foundry/ManagementSidebar.d.ts +2 -2
- package/dist/components/Foundry/ManagementSidebar.js +11 -3
- package/dist/components/Foundry/ManagementSidebar.mjs +1 -1
- package/dist/components/Foundry/Pages/dashboardpage.js +1423 -2039
- package/dist/components/Foundry/Pages/dashboardpage.mjs +23 -24
- package/dist/components/Foundry/RichText/index.mjs +3 -3
- package/dist/components/Foundry/RichText/plugins/toolbar-plugin.mjs +2 -2
- package/dist/components/Foundry/Views/ColleaguesView.js +5 -4
- package/dist/components/Foundry/Views/ColleaguesView.mjs +3 -3
- package/dist/components/Foundry/Views/KnowledgeView.mjs +10 -10
- package/dist/components/Foundry/Views/TeamsIndexView.js +5 -4
- package/dist/components/Foundry/Views/TeamsIndexView.mjs +4 -4
- package/dist/components/Foundry/Views/index.js +1350 -785
- package/dist/components/Foundry/Views/index.mjs +50 -49
- package/dist/components/{.archive → Foundry}/app-card.d.ts +1 -1
- package/dist/components/{DigitalColleagues/colleague-type-selection.js → Foundry/app-card.js} +89 -117
- package/dist/components/{DigitalColleagues/colleague-card.mjs → Foundry/app-card.mjs} +4 -5
- package/dist/components/Foundry/document-edit.mjs +4 -4
- package/dist/components/Foundry/document-preview-examples.mjs +5 -5
- package/dist/components/Foundry/document-preview.mjs +5 -5
- package/dist/components/Foundry/file-edit.mjs +7 -7
- package/dist/components/Foundry/foundary-layout.js +480 -301
- package/dist/components/Foundry/foundary-layout.mjs +4 -4
- package/dist/components/Foundry/index.js +2746 -2866
- package/dist/components/Foundry/index.mjs +78 -79
- package/dist/components/Foundry/knowledge-browser.mjs +6 -6
- package/dist/components/Foundry/types.d.ts +26 -0
- package/dist/components/HeaderFooter/Header.mjs +1 -1
- package/dist/components/HeaderFooter/SectionHeading.mjs +9 -9
- package/dist/components/HeaderFooter/index.mjs +5 -5
- package/dist/components/Heros/DashboardHero/DashboardHero.js +5 -4
- package/dist/components/Heros/DashboardHero/DashboardHero.mjs +2 -2
- package/dist/components/Heros/DashboardHero/index.js +5 -4
- package/dist/components/Heros/DashboardHero/index.mjs +2 -2
- package/dist/components/Heros/HighImpact/index.mjs +9 -9
- package/dist/components/Heros/LowImpact/index.mjs +9 -9
- package/dist/components/Heros/MediumImpact/index.mjs +9 -9
- package/dist/components/Heros/PostHero/index.mjs +3 -3
- package/dist/components/Heros/RenderHero.mjs +12 -12
- package/dist/components/Heros/index.js +5 -4
- package/dist/components/Heros/index.mjs +19 -19
- package/dist/components/Layouts/OutputHeaderFooter.mjs +11 -11
- package/dist/components/Layouts/Print.mjs +15 -15
- package/dist/components/Layouts/SlideShow.mjs +17 -17
- package/dist/components/Layouts/index.mjs +21 -21
- package/dist/components/Menus/SidebarLeft.mjs +3 -3
- package/dist/components/Menus/SidebarLeftMulti.mjs +3 -3
- package/dist/components/Menus/SidebarRight.mjs +3 -3
- package/dist/components/Menus/index.mjs +5 -5
- package/dist/components/Payload/CollectionArchive/index.mjs +4 -4
- package/dist/components/Payload/Media/index.mjs +2 -2
- package/dist/components/Payload/PayloadCard/index.mjs +3 -3
- package/dist/components/Payload/RichText/index.mjs +8 -8
- package/dist/components/Payload/RichText/serialize.mjs +8 -8
- package/dist/components/Payload/index.mjs +10 -10
- package/dist/components/Projects/EpicFilter.d.ts +6 -2
- package/dist/components/Projects/EpicFilter.js +6 -6
- package/dist/components/Projects/EpicFilter.mjs +6 -6
- package/dist/components/Projects/EpicsView.d.ts +12 -2
- package/dist/components/Projects/EpicsView.js +3980 -736
- package/dist/components/Projects/EpicsView.mjs +46 -4
- package/dist/components/Projects/FileView.js +5 -4
- package/dist/components/Projects/FileView.mjs +11 -11
- package/dist/components/Projects/GanttView.d.ts +13 -0
- package/dist/components/{DigitalColleagues/colleague-card.js → Projects/GanttView.js} +559 -260
- package/dist/components/{DigitalColleagues/digital-colleague-clone.mjs → Projects/GanttView.mjs} +7 -6
- package/dist/components/Projects/KanbanBoardView.js +5 -4
- package/dist/components/Projects/KanbanBoardView.mjs +16 -16
- package/dist/components/Projects/KanbanColumn.d.ts +1 -1
- package/dist/components/Projects/PlanningView.js +5 -4
- package/dist/components/Projects/PlanningView.mjs +3 -3
- package/dist/components/Projects/ProjectPage.d.ts +2 -2
- package/dist/components/Projects/ProjectPage.js +1725 -964
- package/dist/components/Projects/ProjectPage.mjs +29 -28
- package/dist/components/Projects/ProjectView.d.ts +1 -1
- package/dist/components/Projects/ProjectView.js +1207 -642
- package/dist/components/Projects/ProjectView.mjs +24 -23
- package/dist/components/Projects/ProjectsIndexView.js +5 -4
- package/dist/components/Projects/ProjectsIndexView.mjs +4 -4
- package/dist/components/Projects/SprintBoardView.d.ts +3 -0
- package/dist/components/Projects/SprintBoardView.js +251 -109
- package/dist/components/Projects/SprintBoardView.mjs +16 -16
- package/dist/components/Projects/TaskDetailsModal.mjs +10 -10
- package/dist/components/Projects/TasksView.js +5 -4
- package/dist/components/Projects/TasksView.mjs +3 -3
- package/dist/components/Projects/business-unit-switcher.d.ts +1 -1
- package/dist/components/Projects/business-units.d.ts +1 -1
- package/dist/components/Projects/file-list.mjs +8 -8
- package/dist/components/Projects/index.js +537 -230
- package/dist/components/Projects/index.mjs +24 -24
- package/dist/components/Projects/project-card.d.ts +1 -1
- package/dist/components/Projects/project-form.d.ts +1 -1
- package/dist/components/Projects/team-card.d.ts +1 -1
- package/dist/components/Projects/team-switcher-bar.d.ts +1 -1
- package/dist/components/Projects/test-data.d.ts +448 -29
- package/dist/components/dc-temp/dashboard-integration-example.js +497 -325
- package/dist/components/dc-temp/dashboard-integration-example.mjs +6 -6
- package/dist/components/dc-temp/index.d.ts +3 -3
- package/dist/components/dc-temp/index.js +3745 -2979
- package/dist/components/dc-temp/index.mjs +24 -22
- package/dist/components/dc-temp/mock-data.d.ts +1 -1
- package/dist/components/index.js +4128 -4209
- package/dist/components/index.mjs +176 -178
- package/dist/components/ui/index.mjs +9 -9
- package/dist/components/ui/sidebar.mjs +2 -2
- package/dist/decorators/Intranet.css +54 -14
- package/dist/decorators/Intranet.mjs +103 -105
- package/dist/globals.css +54 -14
- package/dist/hooks/use-local-storage.d.ts +2 -1
- package/dist/hooks/use-local-storage.js +5 -4
- package/dist/hooks/use-local-storage.mjs +1 -1
- package/dist/index.js +4124 -4205
- package/dist/index.mjs +187 -189
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/pages/Blog.mjs +15 -15
- package/dist/pages/Documentation.mjs +7 -7
- package/dist/pages/IndexPage.mjs +20 -20
- package/dist/pages/Intranet.mjs +4 -4
- package/dist/pages/LandingPage.mjs +113 -115
- package/dist/pages/Page.mjs +19 -19
- package/dist/pages/Publish.mjs +104 -106
- package/dist/pages/Website.mjs +20 -20
- package/dist/sections/AboutSection.mjs +10 -10
- package/dist/sections/BlogDetail.mjs +9 -9
- package/dist/sections/BlogList.mjs +10 -10
- package/dist/sections/BlogListSection.mjs +5 -5
- package/dist/sections/ContactSection.mjs +10 -10
- package/dist/sections/PageSections.mjs +113 -115
- package/dist/sections/PricingSection.mjs +10 -10
- package/dist/sections/ServiceDetail.mjs +9 -9
- package/dist/sections/ServiceDetailSection.mjs +9 -9
- package/dist/sections/ServiceSection.mjs +104 -106
- package/dist/sections/index.mjs +113 -115
- package/package.json +5 -2
- package/dist/chunk-5MMSWFVA.mjs +0 -364
- package/dist/chunk-7TDXZ32Q.mjs +0 -197
- package/dist/chunk-APXXTGT4.mjs +0 -424
- package/dist/chunk-BZENEU5C.mjs +0 -160
- package/dist/chunk-C444TUVA.mjs +0 -306
- package/dist/chunk-CNQTT5P3.mjs +0 -276
- package/dist/chunk-CQKCEXF2.mjs +0 -82
- package/dist/chunk-EKQB7NJA.mjs +0 -194
- package/dist/chunk-G4WW3ZTX.mjs +0 -1063
- package/dist/chunk-IWG2URAU.mjs +0 -74
- package/dist/chunk-IWSATDRG.mjs +0 -118
- package/dist/chunk-JRNDRMIC.mjs +0 -73
- package/dist/chunk-K2C4VMGF.mjs +0 -121
- package/dist/chunk-LQQ6C7FN.mjs +0 -365
- package/dist/chunk-M6ELOAGS.mjs +0 -136
- package/dist/chunk-NAUBZM7P.mjs +0 -183
- package/dist/chunk-NHDPHK6D.mjs +0 -72
- package/dist/chunk-R5MJWISX.mjs +0 -194
- package/dist/chunk-RKYMAFRJ.mjs +0 -92
- package/dist/chunk-SZBUXY6L.mjs +0 -121
- package/dist/chunk-VY6L37RQ.mjs +0 -103
- package/dist/chunk-X6UI73UN.mjs +0 -262
- package/dist/components/DigitalColleagues/AppSidebarLeft.d.ts +0 -47
- package/dist/components/DigitalColleagues/AppSidebarLeft.js +0 -3407
- package/dist/components/DigitalColleagues/AppSidebarLeft.mjs +0 -23
- package/dist/components/DigitalColleagues/DashboardHeader.d.ts +0 -8
- package/dist/components/DigitalColleagues/DashboardHeader.js +0 -2756
- package/dist/components/DigitalColleagues/DashboardHeader.mjs +0 -15
- package/dist/components/DigitalColleagues/DigitalColleageusLayout.css +0 -917
- package/dist/components/DigitalColleagues/DigitalColleageusLayout.d.ts +0 -28
- package/dist/components/DigitalColleagues/DigitalColleageusLayout.js +0 -4417
- package/dist/components/DigitalColleagues/DigitalColleageusLayout.mjs +0 -31
- package/dist/components/DigitalColleagues/MainPage.css +0 -917
- package/dist/components/DigitalColleagues/MainPage.d.ts +0 -3
- package/dist/components/DigitalColleagues/MainPage.js +0 -4080
- package/dist/components/DigitalColleagues/MainPage.mjs +0 -46
- package/dist/components/DigitalColleagues/ManagementSidebar.d.ts +0 -8
- package/dist/components/DigitalColleagues/ManagementSidebar.js +0 -99
- package/dist/components/DigitalColleagues/ManagementSidebar.mjs +0 -9
- package/dist/components/DigitalColleagues/Pages/dashboardpage.css +0 -917
- package/dist/components/DigitalColleagues/Pages/dashboardpage.d.ts +0 -18
- package/dist/components/DigitalColleagues/Pages/dashboardpage.js +0 -8514
- package/dist/components/DigitalColleagues/Pages/dashboardpage.mjs +0 -78
- package/dist/components/DigitalColleagues/README-document-edit.js +0 -2
- package/dist/components/DigitalColleagues/README-document-edit.mjs +0 -7
- package/dist/components/DigitalColleagues/README-document-preview.js +0 -2
- package/dist/components/DigitalColleagues/README-document-preview.mjs +0 -7
- package/dist/components/DigitalColleagues/SearchableSelect.css +0 -917
- package/dist/components/DigitalColleagues/SearchableSelect.d.ts +0 -16
- package/dist/components/DigitalColleagues/SearchableSelect.js +0 -2745
- package/dist/components/DigitalColleagues/SearchableSelect.mjs +0 -16
- package/dist/components/DigitalColleagues/Views/ColleaguesView.css +0 -917
- package/dist/components/DigitalColleagues/Views/ColleaguesView.d.ts +0 -14
- package/dist/components/DigitalColleagues/Views/ColleaguesView.js +0 -3795
- package/dist/components/DigitalColleagues/Views/ColleaguesView.mjs +0 -28
- package/dist/components/DigitalColleagues/Views/KnowledgeView.css +0 -917
- package/dist/components/DigitalColleagues/Views/KnowledgeView.d.ts +0 -11
- package/dist/components/DigitalColleagues/Views/KnowledgeView.docs.js +0 -2
- package/dist/components/DigitalColleagues/Views/KnowledgeView.docs.mjs +0 -7
- package/dist/components/DigitalColleagues/Views/KnowledgeView.js +0 -3935
- package/dist/components/DigitalColleagues/Views/KnowledgeView.mjs +0 -26
- package/dist/components/DigitalColleagues/Views/index.css +0 -917
- package/dist/components/DigitalColleagues/Views/index.d.ts +0 -7
- package/dist/components/DigitalColleagues/Views/index.js +0 -12284
- package/dist/components/DigitalColleagues/Views/index.mjs +0 -114
- package/dist/components/DigitalColleagues/colleague-card.css +0 -917
- package/dist/components/DigitalColleagues/colleague-card.d.ts +0 -12
- package/dist/components/DigitalColleagues/colleague-form.css +0 -917
- package/dist/components/DigitalColleagues/colleague-form.d.ts +0 -14
- package/dist/components/DigitalColleagues/colleague-form.js +0 -3086
- package/dist/components/DigitalColleagues/colleague-form.mjs +0 -22
- package/dist/components/DigitalColleagues/colleague-type-selection.css +0 -917
- package/dist/components/DigitalColleagues/colleague-type-selection.d.ts +0 -7
- package/dist/components/DigitalColleagues/colleague-type-selection.mjs +0 -16
- package/dist/components/DigitalColleagues/digital-colleague-clone.css +0 -917
- package/dist/components/DigitalColleagues/digital-colleague-clone.d.ts +0 -9
- package/dist/components/DigitalColleagues/digital-colleague-clone.js +0 -2828
- package/dist/components/DigitalColleagues/digital-colleague-options.css +0 -917
- package/dist/components/DigitalColleagues/digital-colleague-options.d.ts +0 -7
- package/dist/components/DigitalColleagues/digital-colleague-options.js +0 -2697
- package/dist/components/DigitalColleagues/digital-colleague-options.mjs +0 -16
- package/dist/components/DigitalColleagues/document-edit.css +0 -917
- package/dist/components/DigitalColleagues/document-edit.d.ts +0 -10
- package/dist/components/DigitalColleagues/document-edit.js +0 -3112
- package/dist/components/DigitalColleagues/document-edit.mjs +0 -20
- package/dist/components/DigitalColleagues/document-preview-examples.css +0 -917
- package/dist/components/DigitalColleagues/document-preview-examples.d.ts +0 -12
- package/dist/components/DigitalColleagues/document-preview-examples.js +0 -3433
- package/dist/components/DigitalColleagues/document-preview-examples.mjs +0 -151
- package/dist/components/DigitalColleagues/document-preview.css +0 -917
- package/dist/components/DigitalColleagues/document-preview.d.ts +0 -18
- package/dist/components/DigitalColleagues/document-preview.js +0 -3296
- package/dist/components/DigitalColleagues/document-preview.mjs +0 -21
- package/dist/components/DigitalColleagues/index.css +0 -917
- package/dist/components/DigitalColleagues/index.mjs +0 -200
- package/dist/components/DigitalColleagues/knowledge-browser.css +0 -917
- package/dist/components/DigitalColleagues/knowledge-browser.d.ts +0 -13
- package/dist/components/DigitalColleagues/knowledge-browser.js +0 -3581
- package/dist/components/DigitalColleagues/knowledge-browser.mjs +0 -23
- package/dist/components/DigitalColleagues/knowledge-search.css +0 -917
- package/dist/components/DigitalColleagues/knowledge-search.d.ts +0 -12
- package/dist/components/DigitalColleagues/knowledge-search.js +0 -2819
- package/dist/components/DigitalColleagues/knowledge-search.mjs +0 -20
- package/dist/components/DigitalColleagues/team-form.css +0 -917
- package/dist/components/DigitalColleagues/team-form.d.ts +0 -24
- package/dist/components/DigitalColleagues/team-form.js +0 -2836
- package/dist/components/DigitalColleagues/team-form.mjs +0 -20
- package/dist/components/DigitalColleagues/types.d.ts +0 -289
- package/dist/components/DigitalColleagues/types.js +0 -18
- package/dist/{chunk-GGOGMLBY.mjs → chunk-AKMJBGUU.mjs} +3 -3
- package/dist/{chunk-AEFGMCK3.mjs → chunk-D5KV6INF.mjs} +3 -3
- package/dist/{chunk-SNG6OKEL.mjs → chunk-FTVOJKVA.mjs} +3 -3
- package/dist/{chunk-GZGWWPCP.mjs → chunk-L666B5DN.mjs} +12 -12
- package/dist/{chunk-2YHN7ZCJ.mjs → chunk-NKRBXAPF.mjs} +3 -3
- /package/dist/components/{DigitalColleagues/AppSidebarLeft.css → Foundry/app-card.css} +0 -0
- /package/dist/components/{DigitalColleagues/DashboardHeader.css → Projects/GanttView.css} +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
"use strict";
|
|
3
|
+
"use client"
|
|
3
4
|
|
|
4
5
|
"use strict";
|
|
5
6
|
"use client";
|
|
@@ -31,18 +32,15 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
31
32
|
));
|
|
32
33
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
33
34
|
|
|
34
|
-
// src/components/
|
|
35
|
-
var
|
|
36
|
-
__export(
|
|
37
|
-
|
|
35
|
+
// src/components/Projects/GanttView.tsx
|
|
36
|
+
var GanttView_exports = {};
|
|
37
|
+
__export(GanttView_exports, {
|
|
38
|
+
GanttView: () => GanttView
|
|
38
39
|
});
|
|
39
|
-
module.exports = __toCommonJS(
|
|
40
|
-
var
|
|
41
|
-
var
|
|
42
|
-
|
|
43
|
-
// src/components/ui/avatar.tsx
|
|
44
|
-
var React = __toESM(require("react"));
|
|
45
|
-
var AvatarPrimitive = __toESM(require("@radix-ui/react-avatar"));
|
|
40
|
+
module.exports = __toCommonJS(GanttView_exports);
|
|
41
|
+
var import_react4 = require("react");
|
|
42
|
+
var import_date_fns = require("date-fns");
|
|
43
|
+
var import_lucide_react2 = require("lucide-react");
|
|
46
44
|
|
|
47
45
|
// src/utils/cn.ts
|
|
48
46
|
var import_clsx = require("clsx");
|
|
@@ -2512,68 +2510,12 @@ function cn(...inputs) {
|
|
|
2512
2510
|
return twMerge((0, import_clsx.clsx)(inputs));
|
|
2513
2511
|
}
|
|
2514
2512
|
|
|
2515
|
-
// src/components/ui/avatar.tsx
|
|
2516
|
-
var import_jsx_runtime = require("react/jsx-runtime");
|
|
2517
|
-
var Avatar = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
2518
|
-
AvatarPrimitive.Root,
|
|
2519
|
-
{
|
|
2520
|
-
ref,
|
|
2521
|
-
className: cn("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full", className),
|
|
2522
|
-
...props
|
|
2523
|
-
}
|
|
2524
|
-
));
|
|
2525
|
-
Avatar.displayName = AvatarPrimitive.Root.displayName;
|
|
2526
|
-
var AvatarImage = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
2527
|
-
AvatarPrimitive.Image,
|
|
2528
|
-
{
|
|
2529
|
-
ref,
|
|
2530
|
-
className: cn("aspect-square h-full w-full", className),
|
|
2531
|
-
...props
|
|
2532
|
-
}
|
|
2533
|
-
));
|
|
2534
|
-
AvatarImage.displayName = AvatarPrimitive.Image.displayName;
|
|
2535
|
-
var AvatarFallback = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
2536
|
-
AvatarPrimitive.Fallback,
|
|
2537
|
-
{
|
|
2538
|
-
ref,
|
|
2539
|
-
className: cn(
|
|
2540
|
-
"flex h-full w-full items-center justify-center rounded-full bg-muted",
|
|
2541
|
-
className
|
|
2542
|
-
),
|
|
2543
|
-
...props
|
|
2544
|
-
}
|
|
2545
|
-
));
|
|
2546
|
-
AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
|
|
2547
|
-
|
|
2548
|
-
// src/components/ui/badge.tsx
|
|
2549
|
-
var import_class_variance_authority = require("class-variance-authority");
|
|
2550
|
-
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
2551
|
-
var badgeVariants = (0, import_class_variance_authority.cva)(
|
|
2552
|
-
"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
|
2553
|
-
{
|
|
2554
|
-
variants: {
|
|
2555
|
-
variant: {
|
|
2556
|
-
default: "border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",
|
|
2557
|
-
secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
2558
|
-
destructive: "border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",
|
|
2559
|
-
outline: "text-foreground"
|
|
2560
|
-
}
|
|
2561
|
-
},
|
|
2562
|
-
defaultVariants: {
|
|
2563
|
-
variant: "default"
|
|
2564
|
-
}
|
|
2565
|
-
}
|
|
2566
|
-
);
|
|
2567
|
-
function Badge({ className, variant, ...props }) {
|
|
2568
|
-
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: cn(badgeVariants({ variant }), className), ...props });
|
|
2569
|
-
}
|
|
2570
|
-
|
|
2571
2513
|
// src/components/ui/button.tsx
|
|
2572
2514
|
var import_react_slot = require("@radix-ui/react-slot");
|
|
2573
|
-
var
|
|
2574
|
-
var
|
|
2575
|
-
var
|
|
2576
|
-
var buttonVariants = (0,
|
|
2515
|
+
var import_class_variance_authority = require("class-variance-authority");
|
|
2516
|
+
var React = __toESM(require("react"));
|
|
2517
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
2518
|
+
var buttonVariants = (0, import_class_variance_authority.cva)(
|
|
2577
2519
|
"inline-flex items-center justify-center whitespace-nowrap rounded text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",
|
|
2578
2520
|
{
|
|
2579
2521
|
defaultVariants: {
|
|
@@ -2599,64 +2541,81 @@ var buttonVariants = (0, import_class_variance_authority2.cva)(
|
|
|
2599
2541
|
}
|
|
2600
2542
|
}
|
|
2601
2543
|
);
|
|
2602
|
-
var Button =
|
|
2544
|
+
var Button = React.forwardRef(
|
|
2603
2545
|
({ asChild = false, className, size, variant, ...props }, ref) => {
|
|
2604
2546
|
const Comp = asChild ? import_react_slot.Slot : "button";
|
|
2605
|
-
return /* @__PURE__ */ (0,
|
|
2547
|
+
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Comp, { className: cn(buttonVariants({ className, size, variant })), ref, ...props });
|
|
2606
2548
|
}
|
|
2607
2549
|
);
|
|
2608
2550
|
Button.displayName = "Button";
|
|
2609
2551
|
|
|
2610
|
-
// src/components/
|
|
2611
|
-
var
|
|
2612
|
-
var
|
|
2613
|
-
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
|
-
|
|
2617
|
-
|
|
2618
|
-
|
|
2619
|
-
|
|
2552
|
+
// src/components/Heros/DashboardHero/DashboardHero.tsx
|
|
2553
|
+
var import_react2 = require("react");
|
|
2554
|
+
var import_react3 = require("motion/react");
|
|
2555
|
+
|
|
2556
|
+
// src/components/ui/badge.tsx
|
|
2557
|
+
var import_class_variance_authority2 = require("class-variance-authority");
|
|
2558
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
2559
|
+
var badgeVariants = (0, import_class_variance_authority2.cva)(
|
|
2560
|
+
"inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
|
|
2561
|
+
{
|
|
2562
|
+
variants: {
|
|
2563
|
+
variant: {
|
|
2564
|
+
default: "border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",
|
|
2565
|
+
secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
|
|
2566
|
+
destructive: "border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",
|
|
2567
|
+
outline: "text-foreground"
|
|
2568
|
+
}
|
|
2569
|
+
},
|
|
2570
|
+
defaultVariants: {
|
|
2571
|
+
variant: "default"
|
|
2620
2572
|
}
|
|
2621
|
-
|
|
2622
|
-
);
|
|
2623
|
-
Card.displayName = "Card";
|
|
2624
|
-
var CardHeader = React3.forwardRef(
|
|
2625
|
-
({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { ref, className: cn("flex flex-col space-y-1.5 p-6", className), ...props })
|
|
2573
|
+
}
|
|
2626
2574
|
);
|
|
2627
|
-
|
|
2628
|
-
|
|
2629
|
-
|
|
2630
|
-
|
|
2631
|
-
|
|
2632
|
-
|
|
2633
|
-
|
|
2634
|
-
|
|
2575
|
+
function Badge({ className, variant, ...props }) {
|
|
2576
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: cn(badgeVariants({ variant }), className), ...props });
|
|
2577
|
+
}
|
|
2578
|
+
|
|
2579
|
+
// src/hooks/use-local-storage.ts
|
|
2580
|
+
var import_react = require("react");
|
|
2581
|
+
function useLocalStorage(key, initialValue) {
|
|
2582
|
+
const [storedValue, setStoredValue] = (0, import_react.useState)(() => {
|
|
2583
|
+
if (typeof window === "undefined") return initialValue;
|
|
2584
|
+
try {
|
|
2585
|
+
const item = window.localStorage.getItem(key);
|
|
2586
|
+
return item ? JSON.parse(item) : initialValue;
|
|
2587
|
+
} catch (error) {
|
|
2588
|
+
return initialValue;
|
|
2635
2589
|
}
|
|
2636
|
-
)
|
|
2637
|
-
)
|
|
2638
|
-
|
|
2639
|
-
|
|
2640
|
-
|
|
2641
|
-
)
|
|
2642
|
-
|
|
2643
|
-
|
|
2644
|
-
|
|
2645
|
-
|
|
2646
|
-
|
|
2647
|
-
|
|
2648
|
-
|
|
2649
|
-
);
|
|
2650
|
-
|
|
2590
|
+
});
|
|
2591
|
+
const setValue = (0, import_react.useCallback)((value) => {
|
|
2592
|
+
try {
|
|
2593
|
+
const valueToStore = value instanceof Function ? value(storedValue) : value;
|
|
2594
|
+
setStoredValue(valueToStore);
|
|
2595
|
+
if (typeof window !== "undefined") {
|
|
2596
|
+
window.localStorage.setItem(key, JSON.stringify(valueToStore));
|
|
2597
|
+
}
|
|
2598
|
+
} catch (error) {
|
|
2599
|
+
}
|
|
2600
|
+
}, [key, storedValue]);
|
|
2601
|
+
(0, import_react.useEffect)(() => {
|
|
2602
|
+
setValue(storedValue);
|
|
2603
|
+
}, []);
|
|
2604
|
+
return [storedValue, setValue];
|
|
2605
|
+
}
|
|
2606
|
+
|
|
2607
|
+
// src/components/Heros/DashboardHero/DashboardHero.tsx
|
|
2608
|
+
var import_fa = require("react-icons/fa");
|
|
2609
|
+
var import_lucide_react = require("lucide-react");
|
|
2651
2610
|
|
|
2652
2611
|
// src/components/ui/dropdown-menu.tsx
|
|
2653
|
-
var
|
|
2612
|
+
var React2 = __toESM(require("react"));
|
|
2654
2613
|
var DropdownMenuPrimitive = __toESM(require("@radix-ui/react-dropdown-menu"));
|
|
2655
2614
|
var import_react_icons = require("@radix-ui/react-icons");
|
|
2656
|
-
var
|
|
2615
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
2657
2616
|
var DropdownMenu = DropdownMenuPrimitive.Root;
|
|
2658
2617
|
var DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;
|
|
2659
|
-
var DropdownMenuSubTrigger =
|
|
2618
|
+
var DropdownMenuSubTrigger = React2.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
|
2660
2619
|
DropdownMenuPrimitive.SubTrigger,
|
|
2661
2620
|
{
|
|
2662
2621
|
ref,
|
|
@@ -2668,12 +2627,12 @@ var DropdownMenuSubTrigger = React4.forwardRef(({ className, inset, children, ..
|
|
|
2668
2627
|
...props,
|
|
2669
2628
|
children: [
|
|
2670
2629
|
children,
|
|
2671
|
-
/* @__PURE__ */ (0,
|
|
2630
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_icons.ChevronRightIcon, { className: "ml-auto" })
|
|
2672
2631
|
]
|
|
2673
2632
|
}
|
|
2674
2633
|
));
|
|
2675
2634
|
DropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;
|
|
2676
|
-
var DropdownMenuSubContent =
|
|
2635
|
+
var DropdownMenuSubContent = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
2677
2636
|
DropdownMenuPrimitive.SubContent,
|
|
2678
2637
|
{
|
|
2679
2638
|
ref,
|
|
@@ -2685,7 +2644,7 @@ var DropdownMenuSubContent = React4.forwardRef(({ className, ...props }, ref) =>
|
|
|
2685
2644
|
}
|
|
2686
2645
|
));
|
|
2687
2646
|
DropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;
|
|
2688
|
-
var DropdownMenuContent =
|
|
2647
|
+
var DropdownMenuContent = React2.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(DropdownMenuPrimitive.Portal, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
2689
2648
|
DropdownMenuPrimitive.Content,
|
|
2690
2649
|
{
|
|
2691
2650
|
ref,
|
|
@@ -2699,7 +2658,7 @@ var DropdownMenuContent = React4.forwardRef(({ className, sideOffset = 4, ...pro
|
|
|
2699
2658
|
}
|
|
2700
2659
|
) }));
|
|
2701
2660
|
DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;
|
|
2702
|
-
var DropdownMenuItem =
|
|
2661
|
+
var DropdownMenuItem = React2.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
2703
2662
|
DropdownMenuPrimitive.Item,
|
|
2704
2663
|
{
|
|
2705
2664
|
ref,
|
|
@@ -2712,7 +2671,7 @@ var DropdownMenuItem = React4.forwardRef(({ className, inset, ...props }, ref) =
|
|
|
2712
2671
|
}
|
|
2713
2672
|
));
|
|
2714
2673
|
DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
|
|
2715
|
-
var DropdownMenuCheckboxItem =
|
|
2674
|
+
var DropdownMenuCheckboxItem = React2.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
|
2716
2675
|
DropdownMenuPrimitive.CheckboxItem,
|
|
2717
2676
|
{
|
|
2718
2677
|
ref,
|
|
@@ -2723,13 +2682,13 @@ var DropdownMenuCheckboxItem = React4.forwardRef(({ className, children, checked
|
|
|
2723
2682
|
checked,
|
|
2724
2683
|
...props,
|
|
2725
2684
|
children: [
|
|
2726
|
-
/* @__PURE__ */ (0,
|
|
2685
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_icons.CheckIcon, { className: "h-4 w-4" }) }) }),
|
|
2727
2686
|
children
|
|
2728
2687
|
]
|
|
2729
2688
|
}
|
|
2730
2689
|
));
|
|
2731
2690
|
DropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;
|
|
2732
|
-
var DropdownMenuRadioItem =
|
|
2691
|
+
var DropdownMenuRadioItem = React2.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(
|
|
2733
2692
|
DropdownMenuPrimitive.RadioItem,
|
|
2734
2693
|
{
|
|
2735
2694
|
ref,
|
|
@@ -2739,13 +2698,13 @@ var DropdownMenuRadioItem = React4.forwardRef(({ className, children, ...props }
|
|
|
2739
2698
|
),
|
|
2740
2699
|
...props,
|
|
2741
2700
|
children: [
|
|
2742
|
-
/* @__PURE__ */ (0,
|
|
2701
|
+
/* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(DropdownMenuPrimitive.ItemIndicator, { children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_icons.DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
|
|
2743
2702
|
children
|
|
2744
2703
|
]
|
|
2745
2704
|
}
|
|
2746
2705
|
));
|
|
2747
2706
|
DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;
|
|
2748
|
-
var DropdownMenuLabel =
|
|
2707
|
+
var DropdownMenuLabel = React2.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
2749
2708
|
DropdownMenuPrimitive.Label,
|
|
2750
2709
|
{
|
|
2751
2710
|
ref,
|
|
@@ -2754,7 +2713,7 @@ var DropdownMenuLabel = React4.forwardRef(({ className, inset, ...props }, ref)
|
|
|
2754
2713
|
}
|
|
2755
2714
|
));
|
|
2756
2715
|
DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;
|
|
2757
|
-
var DropdownMenuSeparator =
|
|
2716
|
+
var DropdownMenuSeparator = React2.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
2758
2717
|
DropdownMenuPrimitive.Separator,
|
|
2759
2718
|
{
|
|
2760
2719
|
ref,
|
|
@@ -2764,162 +2723,502 @@ var DropdownMenuSeparator = React4.forwardRef(({ className, ...props }, ref) =>
|
|
|
2764
2723
|
));
|
|
2765
2724
|
DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;
|
|
2766
2725
|
var DropdownMenuShortcut = ({ className, ...props }) => {
|
|
2767
|
-
return /* @__PURE__ */ (0,
|
|
2726
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", { className: cn("ml-auto text-xs tracking-widest opacity-60", className), ...props });
|
|
2768
2727
|
};
|
|
2769
2728
|
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
2770
2729
|
|
|
2771
|
-
// src/components/
|
|
2772
|
-
var
|
|
2773
|
-
function
|
|
2774
|
-
|
|
2775
|
-
|
|
2776
|
-
|
|
2777
|
-
|
|
2778
|
-
|
|
2779
|
-
|
|
2730
|
+
// src/components/Heros/DashboardHero/DashboardHero.tsx
|
|
2731
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
2732
|
+
function DashboardHero({
|
|
2733
|
+
title,
|
|
2734
|
+
description,
|
|
2735
|
+
badge,
|
|
2736
|
+
primaryAction,
|
|
2737
|
+
secondaryAction,
|
|
2738
|
+
tertiaryAction,
|
|
2739
|
+
gradient,
|
|
2740
|
+
children,
|
|
2780
2741
|
className
|
|
2781
2742
|
}) {
|
|
2782
|
-
const [
|
|
2783
|
-
|
|
2784
|
-
|
|
2785
|
-
|
|
2786
|
-
|
|
2787
|
-
|
|
2788
|
-
|
|
2789
|
-
|
|
2790
|
-
|
|
2791
|
-
|
|
2792
|
-
|
|
2793
|
-
|
|
2794
|
-
|
|
2795
|
-
|
|
2796
|
-
|
|
2797
|
-
|
|
2798
|
-
|
|
2799
|
-
|
|
2800
|
-
return "Unknown";
|
|
2801
|
-
}
|
|
2802
|
-
};
|
|
2803
|
-
const formatLastActive = (date) => {
|
|
2804
|
-
if (!date) return "Never";
|
|
2805
|
-
const now = /* @__PURE__ */ new Date();
|
|
2806
|
-
const diffInMinutes = Math.floor((now.getTime() - date.getTime()) / (1e3 * 60));
|
|
2807
|
-
if (diffInMinutes < 1) return "Just now";
|
|
2808
|
-
if (diffInMinutes < 60) return `${diffInMinutes}m ago`;
|
|
2809
|
-
if (diffInMinutes < 1440) return `${Math.floor(diffInMinutes / 60)}h ago`;
|
|
2810
|
-
return `${Math.floor(diffInMinutes / 1440)}d ago`;
|
|
2811
|
-
};
|
|
2812
|
-
return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(Card, { className: cn("hover:shadow-md transition-shadow", compact && "p-2", className), children: [
|
|
2813
|
-
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(CardHeader, { className: cn("pb-3", compact && "pb-2"), children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "flex items-start justify-between", children: [
|
|
2814
|
-
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "flex items-center gap-3", children: [
|
|
2815
|
-
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("div", { className: "relative", children: /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)(Avatar, { className: cn("h-12 w-12", compact && "h-8 w-8"), children: [
|
|
2816
|
-
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(AvatarImage, { src: "/placeholder.svg", alt: colleague.name }),
|
|
2817
|
-
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)(AvatarFallback, { children: colleague.name.split(" ").map((n) => n[0]).join("") })
|
|
2818
|
-
] }) }),
|
|
2819
|
-
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "flex-1 min-w-0", children: [
|
|
2820
|
-
/* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
2821
|
-
/* @__PURE__ */ (0, import_jsx_runtime6.jsx)("h3", { className: cn("font-semibold text-sm truncate", compact && "text-xs"), children: colleague.name }),
|
|
2822
|
-
colleague.type === "digital" ? /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_lucide_react.Bot, { className: cn("h-4 w-4 text-blue-500", compact && "h-3 w-3") }) : /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(import_lucide_react.User, { className: cn("h-4 w-4 text-green-500", compact && "h-3 w-3") })
|
|
2743
|
+
const [minimized, setMinimized] = useLocalStorage(
|
|
2744
|
+
`hero-section-minimized-${title.replace(/\s+/g, "-").toLowerCase()}`,
|
|
2745
|
+
!secondaryAction && !description ? true : false
|
|
2746
|
+
);
|
|
2747
|
+
const [actionsMenuOpen, setActionsMenuOpen] = (0, import_react2.useState)(false);
|
|
2748
|
+
const shouldBeMinimized = !secondaryAction && !description || minimized;
|
|
2749
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
|
|
2750
|
+
import_react3.motion.div,
|
|
2751
|
+
{
|
|
2752
|
+
initial: { opacity: 0, y: 20 },
|
|
2753
|
+
animate: { opacity: 1, y: 0 },
|
|
2754
|
+
transition: { duration: 0.5 },
|
|
2755
|
+
className: `overflow-hidden rounded-3xl ${gradient} p-8 text-white ${className || ""}`,
|
|
2756
|
+
children: [
|
|
2757
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex items-center justify-between mb-2", children: [
|
|
2758
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex items-center gap-3", children: [
|
|
2759
|
+
badge && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Badge, { className: "bg-white/20 text-white hover:bg-white/30 rounded-xl", children: badge }),
|
|
2760
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("h2", { className: "text-3xl font-bold m-0", children: title })
|
|
2823
2761
|
] }),
|
|
2824
|
-
/* @__PURE__ */ (0,
|
|
2825
|
-
|
|
2826
|
-
|
|
2827
|
-
|
|
2828
|
-
|
|
2829
|
-
|
|
2762
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex items-center gap-3", children: [
|
|
2763
|
+
shouldBeMinimized && primaryAction && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
2764
|
+
Button,
|
|
2765
|
+
{
|
|
2766
|
+
className: "rounded-2xl bg-white text-indigo-700 hover:bg-white/90",
|
|
2767
|
+
onClick: primaryAction.onClick,
|
|
2768
|
+
children: primaryAction.label
|
|
2769
|
+
}
|
|
2770
|
+
),
|
|
2771
|
+
shouldBeMinimized && (secondaryAction || tertiaryAction) && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(DropdownMenu, { open: actionsMenuOpen, onOpenChange: setActionsMenuOpen, children: [
|
|
2772
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
2773
|
+
Button,
|
|
2774
|
+
{
|
|
2775
|
+
variant: "ghost",
|
|
2776
|
+
size: "sm",
|
|
2777
|
+
className: "rounded-2xl bg-white/20 text-white hover:bg-white/30 p-2",
|
|
2778
|
+
"aria-label": "More actions",
|
|
2779
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_lucide_react.EllipsisVertical, { size: 20 })
|
|
2780
|
+
}
|
|
2781
|
+
) }),
|
|
2782
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(DropdownMenuContent, { align: "end", className: "w-48", children: [
|
|
2783
|
+
secondaryAction && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(DropdownMenuItem, { onClick: secondaryAction.onClick, children: secondaryAction.label }),
|
|
2784
|
+
tertiaryAction && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(DropdownMenuItem, { onClick: tertiaryAction.onClick, children: tertiaryAction.label })
|
|
2785
|
+
] })
|
|
2830
2786
|
] }),
|
|
2831
|
-
/* @__PURE__ */ (0,
|
|
2787
|
+
(secondaryAction || description) && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
2788
|
+
"button",
|
|
2789
|
+
{
|
|
2790
|
+
"aria-label": minimized ? "Expand hero section" : "Minimize hero section",
|
|
2791
|
+
className: "rounded-full bg-white/20 hover:bg-white/30 p-1 text-white transition-colors",
|
|
2792
|
+
onClick: () => setMinimized(!minimized),
|
|
2793
|
+
style: { lineHeight: 0 },
|
|
2794
|
+
children: minimized ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_fa.FaChevronDown, { size: 22 }) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_fa.FaChevronUp, { size: 22 })
|
|
2795
|
+
}
|
|
2796
|
+
)
|
|
2832
2797
|
] })
|
|
2833
|
-
] })
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2843
|
-
|
|
2844
|
-
|
|
2845
|
-
|
|
2798
|
+
] }),
|
|
2799
|
+
!shouldBeMinimized && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex flex-col gap-6 md:flex-row md:items-center md:justify-between", children: [
|
|
2800
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "space-y-4", children: [
|
|
2801
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("p", { className: "max-w-[600px] text-white/80", children: description }),
|
|
2802
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex flex-wrap gap-3", children: [
|
|
2803
|
+
primaryAction && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
2804
|
+
Button,
|
|
2805
|
+
{
|
|
2806
|
+
className: "rounded-2xl bg-white text-indigo-700 hover:bg-white/90",
|
|
2807
|
+
onClick: primaryAction.onClick,
|
|
2808
|
+
children: primaryAction.label
|
|
2809
|
+
}
|
|
2810
|
+
),
|
|
2811
|
+
secondaryAction && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
2812
|
+
Button,
|
|
2813
|
+
{
|
|
2814
|
+
variant: "outline",
|
|
2815
|
+
className: "rounded-2xl bg-transparent border-white text-white hover:bg-white/10",
|
|
2816
|
+
onClick: secondaryAction.onClick,
|
|
2817
|
+
children: secondaryAction.label
|
|
2818
|
+
}
|
|
2819
|
+
),
|
|
2820
|
+
tertiaryAction && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
2821
|
+
Button,
|
|
2822
|
+
{
|
|
2823
|
+
variant: "outline",
|
|
2824
|
+
className: "rounded-2xl bg-transparent border-white text-white hover:bg-white/10",
|
|
2825
|
+
onClick: tertiaryAction.onClick,
|
|
2826
|
+
children: tertiaryAction.label
|
|
2827
|
+
}
|
|
2828
|
+
)
|
|
2846
2829
|
] })
|
|
2847
2830
|
] }),
|
|
2848
|
-
/* @__PURE__ */ (0,
|
|
2849
|
-
|
|
2831
|
+
children && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "hidden lg:block", children })
|
|
2832
|
+
] })
|
|
2833
|
+
]
|
|
2834
|
+
}
|
|
2835
|
+
);
|
|
2836
|
+
}
|
|
2837
|
+
|
|
2838
|
+
// src/utils/extract-id.ts
|
|
2839
|
+
var extractId = (field) => {
|
|
2840
|
+
if (!field) return 0;
|
|
2841
|
+
if (typeof field === "number") return field;
|
|
2842
|
+
if (typeof field === "object" && field && "id" in field) return field.id;
|
|
2843
|
+
return 0;
|
|
2844
|
+
};
|
|
2845
|
+
|
|
2846
|
+
// src/components/Projects/GanttView.tsx
|
|
2847
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
2848
|
+
var PHASE_LABELS = {
|
|
2849
|
+
1: "Plan",
|
|
2850
|
+
2: "Dev",
|
|
2851
|
+
3: "Test",
|
|
2852
|
+
4: "Deploy",
|
|
2853
|
+
5: "Review",
|
|
2854
|
+
6: "Maint.",
|
|
2855
|
+
7: "Complete",
|
|
2856
|
+
8: "Archive",
|
|
2857
|
+
9: "Legacy"
|
|
2858
|
+
};
|
|
2859
|
+
var ZOOM_LEVELS = [
|
|
2860
|
+
{ label: "Quarter", dayWidth: 3 },
|
|
2861
|
+
{ label: "Month", dayWidth: 7 },
|
|
2862
|
+
{ label: "Week", dayWidth: 14 },
|
|
2863
|
+
{ label: "Day", dayWidth: 40 }
|
|
2864
|
+
];
|
|
2865
|
+
var ROW_HEIGHT = 48;
|
|
2866
|
+
var TIME_HEADER_HEIGHT = 60;
|
|
2867
|
+
var GanttView = ({
|
|
2868
|
+
tasks,
|
|
2869
|
+
epics,
|
|
2870
|
+
sprints,
|
|
2871
|
+
onTaskClick
|
|
2872
|
+
}) => {
|
|
2873
|
+
const [dayWidth, setDayWidth] = (0, import_react4.useState)(7);
|
|
2874
|
+
const [isFullscreen, setIsFullscreen] = (0, import_react4.useState)(false);
|
|
2875
|
+
const scrollRef = (0, import_react4.useRef)(null);
|
|
2876
|
+
const heroRef = (0, import_react4.useRef)(null);
|
|
2877
|
+
const [heroHeight, setHeroHeight] = (0, import_react4.useState)(0);
|
|
2878
|
+
(0, import_react4.useEffect)(() => {
|
|
2879
|
+
const measure = () => {
|
|
2880
|
+
if (heroRef.current) setHeroHeight(heroRef.current.offsetHeight);
|
|
2881
|
+
};
|
|
2882
|
+
const observer = new ResizeObserver(measure);
|
|
2883
|
+
if (heroRef.current) observer.observe(heroRef.current);
|
|
2884
|
+
return () => observer.disconnect();
|
|
2885
|
+
}, []);
|
|
2886
|
+
const { timelineStart, timelineEnd, totalDays } = (0, import_react4.useMemo)(() => {
|
|
2887
|
+
if (epics.length === 0) {
|
|
2888
|
+
const today = /* @__PURE__ */ new Date();
|
|
2889
|
+
const start = (0, import_date_fns.addDays)(today, -14);
|
|
2890
|
+
const end = (0, import_date_fns.addDays)(today, 76);
|
|
2891
|
+
return { timelineStart: start, timelineEnd: end, totalDays: 90 };
|
|
2892
|
+
}
|
|
2893
|
+
const allDates = epics.flatMap((e) => [new Date(e.startDate), new Date(e.endDate)]);
|
|
2894
|
+
const minTime = Math.min(...allDates.map((d) => d.getTime()));
|
|
2895
|
+
const maxTime = Math.max(...allDates.map((d) => d.getTime()));
|
|
2896
|
+
const paddedStart = (0, import_date_fns.addDays)(new Date(minTime), -14);
|
|
2897
|
+
const paddedEnd = (0, import_date_fns.addDays)(new Date(maxTime), 14);
|
|
2898
|
+
return {
|
|
2899
|
+
timelineStart: paddedStart,
|
|
2900
|
+
timelineEnd: paddedEnd,
|
|
2901
|
+
totalDays: (0, import_date_fns.differenceInDays)(paddedEnd, paddedStart)
|
|
2902
|
+
};
|
|
2903
|
+
}, [epics]);
|
|
2904
|
+
const { groups, sortedKeys } = (0, import_react4.useMemo)(() => {
|
|
2905
|
+
const groups2 = {};
|
|
2906
|
+
epics.forEach((epic) => {
|
|
2907
|
+
if (!groups2[epic.name]) groups2[epic.name] = [];
|
|
2908
|
+
groups2[epic.name].push(epic);
|
|
2909
|
+
});
|
|
2910
|
+
Object.values(groups2).forEach((list) => list.sort((a, b) => a.phase - b.phase));
|
|
2911
|
+
const sortedKeys2 = Object.keys(groups2).sort((a, b) => {
|
|
2912
|
+
const aMin = Math.min(...groups2[a].map((e) => new Date(e.startDate).getTime()));
|
|
2913
|
+
const bMin = Math.min(...groups2[b].map((e) => new Date(e.startDate).getTime()));
|
|
2914
|
+
return aMin - bMin;
|
|
2915
|
+
});
|
|
2916
|
+
return { groups: groups2, sortedKeys: sortedKeys2 };
|
|
2917
|
+
}, [epics]);
|
|
2918
|
+
const realSprints = (0, import_react4.useMemo)(
|
|
2919
|
+
() => sprints.filter((s) => {
|
|
2920
|
+
const name = s.name.toLowerCase();
|
|
2921
|
+
return name !== "backlog" && name !== "all tasks";
|
|
2922
|
+
}),
|
|
2923
|
+
[sprints]
|
|
2924
|
+
);
|
|
2925
|
+
const monthHeaders = (0, import_react4.useMemo)(
|
|
2926
|
+
() => (0, import_date_fns.eachMonthOfInterval)({ start: timelineStart, end: timelineEnd }).map((month) => ({
|
|
2927
|
+
month,
|
|
2928
|
+
left: (0, import_date_fns.differenceInDays)(month, timelineStart) * dayWidth
|
|
2929
|
+
})),
|
|
2930
|
+
[timelineStart, timelineEnd, dayWidth]
|
|
2931
|
+
);
|
|
2932
|
+
const totalWidth = Math.max(totalDays * dayWidth, 600);
|
|
2933
|
+
const scrollToToday = (0, import_react4.useCallback)(() => {
|
|
2934
|
+
if (scrollRef.current) {
|
|
2935
|
+
const todayOffset = (0, import_date_fns.differenceInDays)(/* @__PURE__ */ new Date(), timelineStart) * dayWidth;
|
|
2936
|
+
scrollRef.current.scrollLeft = Math.max(0, todayOffset - 200);
|
|
2937
|
+
}
|
|
2938
|
+
}, [timelineStart, dayWidth]);
|
|
2939
|
+
const todayLeft = (0, import_date_fns.differenceInDays)(/* @__PURE__ */ new Date(), timelineStart) * dayWidth;
|
|
2940
|
+
const getEpicStats = (epic) => {
|
|
2941
|
+
const epicTasks = tasks.filter((t) => extractId(t.epic) === epic.id);
|
|
2942
|
+
const done = epicTasks.filter((t) => t.status === "done").length;
|
|
2943
|
+
const pct = epicTasks.length > 0 ? Math.round(done / epicTasks.length * 100) : 0;
|
|
2944
|
+
return { total: epicTasks.length, done, pct };
|
|
2945
|
+
};
|
|
2946
|
+
const getGroupStats = (epicList) => {
|
|
2947
|
+
const allTasks = epicList.flatMap(
|
|
2948
|
+
(e) => tasks.filter((t) => extractId(t.epic) === e.id)
|
|
2949
|
+
);
|
|
2950
|
+
const done = allTasks.filter((t) => t.status === "done").length;
|
|
2951
|
+
const pct = allTasks.length > 0 ? Math.round(done / allTasks.length * 100) : 0;
|
|
2952
|
+
return { total: allTasks.length, done, pct };
|
|
2953
|
+
};
|
|
2954
|
+
const isSprintActive = (sprint) => {
|
|
2955
|
+
const today = /* @__PURE__ */ new Date();
|
|
2956
|
+
try {
|
|
2957
|
+
return (0, import_date_fns.isWithinInterval)(today, {
|
|
2958
|
+
start: new Date(sprint.startDate),
|
|
2959
|
+
end: new Date(sprint.endDate)
|
|
2960
|
+
});
|
|
2961
|
+
} catch {
|
|
2962
|
+
return false;
|
|
2963
|
+
}
|
|
2964
|
+
};
|
|
2965
|
+
const chartContent = /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex flex-1 min-h-0 overflow-hidden", children: [
|
|
2966
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "w-52 flex-shrink-0 border-r bg-background z-10 flex flex-col", children: [
|
|
2967
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
2968
|
+
"div",
|
|
2969
|
+
{
|
|
2970
|
+
className: "border-b flex items-end pb-2 px-3 flex-shrink-0 bg-muted/20",
|
|
2971
|
+
style: { height: TIME_HEADER_HEIGHT },
|
|
2972
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "text-xs font-semibold text-muted-foreground tracking-wider uppercase", children: "Epic" })
|
|
2973
|
+
}
|
|
2974
|
+
),
|
|
2975
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "overflow-y-auto flex-1", children: [
|
|
2976
|
+
sortedKeys.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "flex items-center justify-center h-24 text-sm text-muted-foreground", children: "No epics" }),
|
|
2977
|
+
sortedKeys.map((name) => {
|
|
2978
|
+
const stats = getGroupStats(groups[name]);
|
|
2979
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
|
|
2980
|
+
"div",
|
|
2850
2981
|
{
|
|
2851
|
-
|
|
2852
|
-
|
|
2982
|
+
className: "flex flex-col justify-center px-3 border-b",
|
|
2983
|
+
style: { height: ROW_HEIGHT },
|
|
2853
2984
|
children: [
|
|
2854
|
-
/* @__PURE__ */ (0,
|
|
2855
|
-
|
|
2985
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "text-sm font-medium truncate", title: name, children: name }),
|
|
2986
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("span", { className: "text-xs text-muted-foreground", children: [
|
|
2987
|
+
stats.total,
|
|
2988
|
+
" task",
|
|
2989
|
+
stats.total !== 1 ? "s" : "",
|
|
2990
|
+
" \xB7 ",
|
|
2991
|
+
stats.pct,
|
|
2992
|
+
"%"
|
|
2993
|
+
] })
|
|
2856
2994
|
]
|
|
2857
|
-
}
|
|
2858
|
-
|
|
2859
|
-
|
|
2995
|
+
},
|
|
2996
|
+
name
|
|
2997
|
+
);
|
|
2998
|
+
})
|
|
2860
2999
|
] })
|
|
2861
|
-
] })
|
|
2862
|
-
|
|
2863
|
-
/* @__PURE__ */ (0,
|
|
2864
|
-
|
|
2865
|
-
|
|
2866
|
-
|
|
2867
|
-
|
|
2868
|
-
|
|
2869
|
-
|
|
2870
|
-
|
|
2871
|
-
|
|
2872
|
-
|
|
2873
|
-
|
|
2874
|
-
|
|
2875
|
-
|
|
2876
|
-
|
|
2877
|
-
|
|
2878
|
-
|
|
2879
|
-
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
|
|
2892
|
-
|
|
2893
|
-
|
|
2894
|
-
|
|
2895
|
-
|
|
2896
|
-
|
|
3000
|
+
] }),
|
|
3001
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "flex-1 overflow-x-auto overflow-y-auto", ref: scrollRef, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { width: totalWidth, position: "relative" }, children: [
|
|
3002
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
|
|
3003
|
+
"div",
|
|
3004
|
+
{
|
|
3005
|
+
className: "sticky top-0 border-b bg-muted/20 z-20 flex-shrink-0",
|
|
3006
|
+
style: { height: TIME_HEADER_HEIGHT, width: totalWidth },
|
|
3007
|
+
children: [
|
|
3008
|
+
monthHeaders.map(({ month, left }) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
3009
|
+
"div",
|
|
3010
|
+
{
|
|
3011
|
+
className: "absolute top-2 text-xs font-semibold text-muted-foreground select-none",
|
|
3012
|
+
style: { left: left + 4 },
|
|
3013
|
+
children: (0, import_date_fns.format)(month, "MMM yyyy")
|
|
3014
|
+
},
|
|
3015
|
+
month.toISOString()
|
|
3016
|
+
)),
|
|
3017
|
+
realSprints.map((sprint) => {
|
|
3018
|
+
const start = new Date(sprint.startDate);
|
|
3019
|
+
const end = new Date(sprint.endDate);
|
|
3020
|
+
if (start > timelineEnd || end < timelineStart) return null;
|
|
3021
|
+
const left = Math.max(0, (0, import_date_fns.differenceInDays)(start, timelineStart) * dayWidth);
|
|
3022
|
+
const right = Math.min(
|
|
3023
|
+
totalWidth,
|
|
3024
|
+
(0, import_date_fns.differenceInDays)(end, timelineStart) * dayWidth
|
|
3025
|
+
);
|
|
3026
|
+
const width = right - left;
|
|
3027
|
+
if (width <= 0) return null;
|
|
3028
|
+
const active = isSprintActive(sprint);
|
|
3029
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
3030
|
+
"div",
|
|
3031
|
+
{
|
|
3032
|
+
className: `absolute bottom-0 border-l border-t text-xs px-1 overflow-hidden whitespace-nowrap select-none flex items-center ${active ? "border-primary/50 bg-primary/10 text-primary font-medium" : "border-border bg-muted/40 text-muted-foreground"}`,
|
|
3033
|
+
style: { left, width, height: 22 },
|
|
3034
|
+
title: sprint.name,
|
|
3035
|
+
children: sprint.name
|
|
3036
|
+
},
|
|
3037
|
+
`header-sprint-${sprint.id}`
|
|
3038
|
+
);
|
|
3039
|
+
})
|
|
3040
|
+
]
|
|
3041
|
+
}
|
|
3042
|
+
),
|
|
3043
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { style: { position: "relative", width: totalWidth }, children: [
|
|
3044
|
+
realSprints.map((sprint) => {
|
|
3045
|
+
const start = new Date(sprint.startDate);
|
|
3046
|
+
const end = new Date(sprint.endDate);
|
|
3047
|
+
if (start > timelineEnd || end < timelineStart) return null;
|
|
3048
|
+
const left = Math.max(0, (0, import_date_fns.differenceInDays)(start, timelineStart) * dayWidth);
|
|
3049
|
+
const right = Math.min(
|
|
3050
|
+
totalWidth,
|
|
3051
|
+
(0, import_date_fns.differenceInDays)(end, timelineStart) * dayWidth
|
|
3052
|
+
);
|
|
3053
|
+
const width = right - left;
|
|
3054
|
+
if (width <= 0 || !isSprintActive(sprint)) return null;
|
|
3055
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
3056
|
+
"div",
|
|
3057
|
+
{
|
|
3058
|
+
className: "absolute inset-y-0 bg-primary/5 pointer-events-none",
|
|
3059
|
+
style: { left, width }
|
|
3060
|
+
},
|
|
3061
|
+
`bg-${sprint.id}`
|
|
3062
|
+
);
|
|
3063
|
+
}),
|
|
3064
|
+
realSprints.map((sprint) => {
|
|
3065
|
+
const left = (0, import_date_fns.differenceInDays)(new Date(sprint.startDate), timelineStart) * dayWidth;
|
|
3066
|
+
if (left < 0 || left > totalWidth) return null;
|
|
3067
|
+
const active = isSprintActive(sprint);
|
|
3068
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
3069
|
+
"div",
|
|
3070
|
+
{
|
|
3071
|
+
className: `absolute inset-y-0 pointer-events-none ${active ? "border-l border-primary/40" : "border-l border-dashed border-border/60"}`,
|
|
3072
|
+
style: { left }
|
|
3073
|
+
},
|
|
3074
|
+
`line-${sprint.id}`
|
|
3075
|
+
);
|
|
3076
|
+
}),
|
|
3077
|
+
todayLeft >= 0 && todayLeft <= totalWidth && /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
|
|
3078
|
+
"div",
|
|
2897
3079
|
{
|
|
2898
|
-
|
|
2899
|
-
|
|
2900
|
-
|
|
2901
|
-
|
|
2902
|
-
|
|
3080
|
+
className: "absolute inset-y-0 pointer-events-none z-10",
|
|
3081
|
+
style: { left: todayLeft },
|
|
3082
|
+
children: [
|
|
3083
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "absolute inset-y-0 w-0.5 bg-destructive/50" }),
|
|
3084
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "absolute top-1 -translate-x-1/2 w-2 h-2 rounded-full bg-destructive" })
|
|
3085
|
+
]
|
|
2903
3086
|
}
|
|
2904
|
-
)
|
|
2905
|
-
|
|
2906
|
-
|
|
2907
|
-
|
|
2908
|
-
|
|
2909
|
-
|
|
3087
|
+
),
|
|
3088
|
+
monthHeaders.map(({ month, left }) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
3089
|
+
"div",
|
|
3090
|
+
{
|
|
3091
|
+
className: "absolute inset-y-0 border-l border-border/30 pointer-events-none",
|
|
3092
|
+
style: { left }
|
|
3093
|
+
},
|
|
3094
|
+
`grid-${month.toISOString()}`
|
|
3095
|
+
)),
|
|
3096
|
+
sortedKeys.map((name) => {
|
|
3097
|
+
const epicList = groups[name];
|
|
3098
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
3099
|
+
"div",
|
|
3100
|
+
{
|
|
3101
|
+
className: "border-b relative flex items-center",
|
|
3102
|
+
style: { height: ROW_HEIGHT },
|
|
3103
|
+
children: epicList.map((epic) => {
|
|
3104
|
+
const start = new Date(epic.startDate);
|
|
3105
|
+
const end = new Date(epic.endDate);
|
|
3106
|
+
const left = (0, import_date_fns.differenceInDays)(start, timelineStart) * dayWidth;
|
|
3107
|
+
const width = Math.max(8, (0, import_date_fns.differenceInDays)(end, start) * dayWidth);
|
|
3108
|
+
const stats = getEpicStats(epic);
|
|
3109
|
+
const phaseLabel = PHASE_LABELS[epic.phase] ?? `Phase ${epic.phase}`;
|
|
3110
|
+
const showLabel = width >= 50;
|
|
3111
|
+
const tooltip = [
|
|
3112
|
+
`${epic.name} \xB7 ${phaseLabel}`,
|
|
3113
|
+
epic.description ? epic.description : null,
|
|
3114
|
+
`${(0, import_date_fns.format)(start, "dd MMM yyyy")} \u2192 ${(0, import_date_fns.format)(end, "dd MMM yyyy")}`,
|
|
3115
|
+
`${stats.total} tasks \xB7 ${stats.pct}% complete`
|
|
3116
|
+
].filter(Boolean).join("\n");
|
|
3117
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
|
|
3118
|
+
"div",
|
|
3119
|
+
{
|
|
3120
|
+
className: "absolute rounded overflow-hidden cursor-pointer hover:ring-2 hover:ring-white/40 transition-all",
|
|
3121
|
+
style: { left, width, height: 32, top: 8 },
|
|
3122
|
+
title: tooltip,
|
|
3123
|
+
children: [
|
|
3124
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
3125
|
+
"div",
|
|
3126
|
+
{
|
|
3127
|
+
className: `absolute inset-0 ${epic.color}`,
|
|
3128
|
+
style: { opacity: 0.2 }
|
|
3129
|
+
}
|
|
3130
|
+
),
|
|
3131
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
3132
|
+
"div",
|
|
3133
|
+
{
|
|
3134
|
+
className: `absolute inset-y-0 left-0 ${epic.color} transition-all`,
|
|
3135
|
+
style: { width: `${stats.pct}%`, opacity: 0.85 }
|
|
3136
|
+
}
|
|
3137
|
+
),
|
|
3138
|
+
showLabel && /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "absolute inset-0 flex items-center px-2 gap-1.5 z-10", children: [
|
|
3139
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", { className: "text-xs font-semibold text-white drop-shadow truncate", children: phaseLabel }),
|
|
3140
|
+
stats.total > 0 && /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("span", { className: "text-xs text-white/80 drop-shadow shrink-0", children: [
|
|
3141
|
+
stats.pct,
|
|
3142
|
+
"%"
|
|
3143
|
+
] })
|
|
3144
|
+
] })
|
|
3145
|
+
]
|
|
3146
|
+
},
|
|
3147
|
+
epic.id
|
|
3148
|
+
);
|
|
3149
|
+
})
|
|
3150
|
+
},
|
|
3151
|
+
name
|
|
3152
|
+
);
|
|
3153
|
+
}),
|
|
3154
|
+
sortedKeys.length === 0 && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
3155
|
+
"div",
|
|
2910
3156
|
{
|
|
2911
|
-
|
|
2912
|
-
|
|
2913
|
-
|
|
2914
|
-
onClick: () => setIsExpanded(!isExpanded),
|
|
2915
|
-
children: isExpanded ? "Show less" : `+${colleague.capabilities.length - 2} more`
|
|
3157
|
+
className: "flex items-center justify-center text-sm text-muted-foreground",
|
|
3158
|
+
style: { height: 200 },
|
|
3159
|
+
children: "No epics to display on the timeline"
|
|
2916
3160
|
}
|
|
2917
3161
|
)
|
|
2918
|
-
] })
|
|
2919
|
-
] })
|
|
3162
|
+
] })
|
|
3163
|
+
] }) })
|
|
2920
3164
|
] });
|
|
2921
|
-
}
|
|
3165
|
+
const inner = /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: `flex flex-col ${isFullscreen ? "h-screen" : "h-full"} overflow-hidden`, children: [
|
|
3166
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { ref: heroRef, className: "flex-shrink-0", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
3167
|
+
DashboardHero,
|
|
3168
|
+
{
|
|
3169
|
+
title: "Gantt Chart",
|
|
3170
|
+
description: "Epic timeline with sprint alignment and phase-based grouping.",
|
|
3171
|
+
gradient: "bg-gradient-to-r from-indigo-600 via-blue-600 to-cyan-600",
|
|
3172
|
+
badge: `${sortedKeys.length} epic${sortedKeys.length !== 1 ? "s" : ""}`
|
|
3173
|
+
}
|
|
3174
|
+
) }),
|
|
3175
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "flex items-center gap-2 px-4 py-2 border-b bg-background flex-shrink-0", children: [
|
|
3176
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_lucide_react2.BarChart2, { className: "h-4 w-4 text-muted-foreground" }),
|
|
3177
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "flex items-center gap-1", children: ZOOM_LEVELS.map((z) => /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
3178
|
+
Button,
|
|
3179
|
+
{
|
|
3180
|
+
variant: dayWidth === z.dayWidth ? "default" : "outline",
|
|
3181
|
+
size: "sm",
|
|
3182
|
+
className: "h-7 px-2 text-xs",
|
|
3183
|
+
onClick: () => setDayWidth(z.dayWidth),
|
|
3184
|
+
children: z.label
|
|
3185
|
+
},
|
|
3186
|
+
z.label
|
|
3187
|
+
)) }),
|
|
3188
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "flex-1" }),
|
|
3189
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
|
|
3190
|
+
Button,
|
|
3191
|
+
{
|
|
3192
|
+
variant: "outline",
|
|
3193
|
+
size: "sm",
|
|
3194
|
+
className: "h-7 px-2 text-xs",
|
|
3195
|
+
onClick: scrollToToday,
|
|
3196
|
+
children: [
|
|
3197
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_lucide_react2.Calendar, { className: "h-3 w-3 mr-1" }),
|
|
3198
|
+
"Today"
|
|
3199
|
+
]
|
|
3200
|
+
}
|
|
3201
|
+
),
|
|
3202
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
|
|
3203
|
+
Button,
|
|
3204
|
+
{
|
|
3205
|
+
variant: "outline",
|
|
3206
|
+
size: "sm",
|
|
3207
|
+
className: "h-7 w-7 p-0",
|
|
3208
|
+
onClick: () => setIsFullscreen((v) => !v),
|
|
3209
|
+
title: isFullscreen ? "Exit fullscreen" : "Fullscreen",
|
|
3210
|
+
children: isFullscreen ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_lucide_react2.Minimize2, { className: "h-3.5 w-3.5" }) : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_lucide_react2.Maximize2, { className: "h-3.5 w-3.5" })
|
|
3211
|
+
}
|
|
3212
|
+
)
|
|
3213
|
+
] }),
|
|
3214
|
+
chartContent
|
|
3215
|
+
] });
|
|
3216
|
+
if (isFullscreen) {
|
|
3217
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { className: "fixed inset-0 z-50 bg-background overflow-hidden", children: inner });
|
|
3218
|
+
}
|
|
3219
|
+
return inner;
|
|
3220
|
+
};
|
|
2922
3221
|
// Annotate the CommonJS export names for ESM import in node:
|
|
2923
3222
|
0 && (module.exports = {
|
|
2924
|
-
|
|
3223
|
+
GanttView
|
|
2925
3224
|
});
|