cortex-react-components 3.2.2 → 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-5GFRQ4NR.mjs → chunk-2BKXIIFJ.mjs} +183 -36
- package/dist/{chunk-LQPN7L4Z.mjs → chunk-3DWDGYDG.mjs} +1 -1
- package/dist/{chunk-PTDP7PZK.mjs → chunk-3G7VLQG5.mjs} +1 -1
- package/dist/{chunk-56NFUKPK.mjs → chunk-3K6EVFOW.mjs} +1 -1
- package/dist/{chunk-PFA2P52R.mjs → chunk-3RYHYKVQ.mjs} +1 -1
- package/dist/{chunk-XDV7AVPQ.mjs → chunk-4JSM5VYZ.mjs} +2 -2
- package/dist/{chunk-VMYEV3FG.mjs → chunk-4YRR74Y4.mjs} +1 -1
- package/dist/{chunk-I4MTJN23.mjs → chunk-6A7T3O6T.mjs} +6 -5
- package/dist/{chunk-G46GZ57S.mjs → chunk-6LF4K7ER.mjs} +5 -5
- package/dist/{chunk-2363JAWB.mjs → chunk-6S7EQDLL.mjs} +1 -1
- package/dist/{chunk-ZBCZGWDU.mjs → chunk-7HHLKQE4.mjs} +1 -1
- package/dist/{chunk-YUBPY7L4.mjs → chunk-7LM2P6N3.mjs} +1 -1
- package/dist/{chunk-VMDVXNP5.mjs → chunk-AKMJBGUU.mjs} +16 -16
- package/dist/{chunk-V4I6U2SE.mjs → chunk-AVNBD2X5.mjs} +1 -1
- package/dist/{chunk-2L6AWG6R.mjs → chunk-AZ5MV7NO.mjs} +2 -2
- package/dist/{chunk-YOKF4FEM.mjs → chunk-BMZG77IE.mjs} +1 -1
- package/dist/chunk-BXEALHGJ.mjs +142 -0
- package/dist/{chunk-V6YEUAIH.mjs → chunk-CV7GOXGO.mjs} +2 -2
- package/dist/{chunk-YKX5AGFQ.mjs → chunk-D3AHBPI5.mjs} +1 -1
- package/dist/{chunk-2VF2D4DL.mjs → chunk-DGDELNS3.mjs} +1 -1
- package/dist/{chunk-RJZMTP7J.mjs → chunk-DHB2L7O2.mjs} +1 -1
- package/dist/{chunk-ZED4UNH7.mjs → chunk-DPTILX6A.mjs} +2 -2
- package/dist/{chunk-RQGM66Q4.mjs → chunk-DRLNETNN.mjs} +1 -1
- package/dist/{chunk-673GELPP.mjs → chunk-DVWMM7AI.mjs} +3 -3
- package/dist/{chunk-O633TXQG.mjs → chunk-EEVXIKNB.mjs} +1 -1
- package/dist/{chunk-EQYJUXKZ.mjs → chunk-EGCBZZGV.mjs} +1 -1
- package/dist/{chunk-HK2DQNBU.mjs → chunk-ETV6EEYB.mjs} +4 -4
- package/dist/{chunk-ORWAJNJO.mjs → chunk-F6SQTC6R.mjs} +3 -3
- package/dist/{chunk-25EF7VEC.mjs → chunk-F7JPOQIC.mjs} +1 -1
- package/dist/{chunk-JQNNFILH.mjs → chunk-FWRVXOCU.mjs} +1 -1
- package/dist/{chunk-4YSV633W.mjs → chunk-GAWBCR4S.mjs} +1 -1
- package/dist/{chunk-ZWV2O6CK.mjs → chunk-GR45UN4U.mjs} +3 -3
- package/dist/chunk-GXN5ZNBZ.mjs +135 -0
- package/dist/{chunk-CIFGBEFV.mjs → chunk-HNBHBFLY.mjs} +1 -1
- package/dist/{chunk-USEHRJFR.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-QOYK2HBL.mjs → chunk-IM5B557Z.mjs} +19 -19
- package/dist/{chunk-J5ZETWHG.mjs → chunk-IQ67MHAY.mjs} +2 -2
- package/dist/{chunk-UFBLZW2N.mjs → chunk-IWQEM5KO.mjs} +2 -2
- package/dist/{chunk-UJI3Y73K.mjs → chunk-J5GM5CJK.mjs} +3 -3
- package/dist/chunk-JCSRFM37.mjs +595 -0
- package/dist/{chunk-QMFGV3M5.mjs → chunk-JOGVCBYP.mjs} +1 -1
- package/dist/{chunk-K6N5K2A7.mjs → chunk-JWMQOARK.mjs} +4 -4
- package/dist/{chunk-DSVXGGGV.mjs → chunk-K5ZNBHQO.mjs} +1 -1
- package/dist/{chunk-UYUP2DAL.mjs → chunk-KHFPDDTO.mjs} +1 -1
- package/dist/{chunk-CVH5TDS6.mjs → chunk-KJVAS4I7.mjs} +27 -12
- package/dist/{chunk-4PC77ZEN.mjs → chunk-KMGTUNRZ.mjs} +1 -1
- package/dist/{chunk-LVLEZS7Q.mjs → chunk-KYY7BMXI.mjs} +1 -1
- package/dist/{chunk-GDMWNNYC.mjs → chunk-LRMDRQRJ.mjs} +2 -2
- package/dist/{chunk-CIXAM7LW.mjs → chunk-LRTEGIZ7.mjs} +12 -12
- package/dist/{chunk-XGHUG2WQ.mjs → chunk-MDG2I4PB.mjs} +1 -1
- package/dist/{chunk-S27KJUKF.mjs → chunk-N5HTSJLI.mjs} +1 -1
- package/dist/{chunk-MPFWWJYT.mjs → chunk-N5Q2DYUR.mjs} +2 -2
- package/dist/{chunk-3W5H36HK.mjs → chunk-NNH7EC5Z.mjs} +1 -1
- package/dist/{chunk-5Z7JRCOM.mjs → chunk-NSYYRG6A.mjs} +1 -1
- package/dist/{chunk-JD7SR5V3.mjs → chunk-NUAJQK4H.mjs} +64 -8
- package/dist/{chunk-SSF2CAW7.mjs → chunk-OR3XMMEK.mjs} +9 -9
- package/dist/{chunk-RC6YHGVV.mjs → chunk-PE7KJR4A.mjs} +1 -1
- package/dist/{chunk-V2BZ7RE7.mjs → chunk-PLFX66EX.mjs} +1 -1
- package/dist/{chunk-E6M7XAYT.mjs → chunk-Q45EN2QB.mjs} +1 -1
- package/dist/{chunk-22E2TZBE.mjs → chunk-QDO6BAAN.mjs} +13 -5
- package/dist/{chunk-P4P6J2SW.mjs → chunk-QJGBUBSB.mjs} +2 -2
- package/dist/{chunk-TIGSOXUA.mjs → chunk-QJQ66DYZ.mjs} +1 -1
- package/dist/{chunk-ZF2DELZ5.mjs → chunk-QXOHY4AT.mjs} +39 -3
- package/dist/{chunk-NF4JWFAZ.mjs → chunk-RFMER577.mjs} +1 -1
- package/dist/{chunk-PIGOOCU6.mjs → chunk-RNHGLZYP.mjs} +1 -1
- package/dist/{chunk-QUGB53Z3.mjs → chunk-RV4VRLGN.mjs} +1 -1
- package/dist/{chunk-KCPLIAIF.mjs → chunk-SJI6X5DK.mjs} +2 -2
- package/dist/{chunk-B63AROCU.mjs → chunk-SMX6BH2N.mjs} +1 -1
- package/dist/{chunk-L3SZS7PC.mjs → chunk-SNUES6JA.mjs} +1 -1
- package/dist/{chunk-6R3QP53O.mjs → chunk-TZH6L2OH.mjs} +2 -2
- package/dist/{chunk-EJJNYV7C.mjs → chunk-U6ZFUE5O.mjs} +2 -2
- package/dist/{chunk-OPJMXB4K.mjs → chunk-UCK4TW63.mjs} +4 -4
- package/dist/{chunk-HI6QOZHR.mjs → chunk-V6VAVPKH.mjs} +1 -1
- package/dist/{chunk-PRMR24PY.mjs → chunk-WAR2OXXK.mjs} +4 -4
- package/dist/{chunk-4PFDNMLD.mjs → chunk-WEIPDZOJ.mjs} +1 -1
- package/dist/{chunk-TLCSKAWQ.mjs → chunk-WZBXR7J3.mjs} +5 -5
- package/dist/{chunk-FECAR2TE.mjs → chunk-X4GP2O3Y.mjs} +2 -2
- package/dist/{chunk-UNEYYMLL.mjs → chunk-XCZCWSOY.mjs} +2 -2
- package/dist/{chunk-QE3XE3LW.mjs → chunk-Y4KJTMKO.mjs} +1 -1
- package/dist/{chunk-AOSO2JVA.mjs → chunk-YUZYLKBD.mjs} +1 -1
- package/dist/{chunk-YFOEG4PP.mjs → chunk-Z6MYLHDW.mjs} +1 -1
- package/dist/{chunk-TP5AUT7W.mjs → chunk-ZJB7AFL5.mjs} +2 -2
- 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/AdvancedComponents/user-selection.d.ts +1 -1
- package/dist/components/AdvancedComponents/user-selection.js +1 -1
- package/dist/components/AdvancedComponents/user-selection.mjs +1 -1
- package/dist/components/Blocks/Banner.mjs +3 -3
- package/dist/components/Blocks/CallToAction.mjs +3 -3
- package/dist/components/Blocks/CollapsibleArea.mjs +4 -4
- package/dist/components/Blocks/Content.mjs +4 -4
- package/dist/components/Blocks/FeaturesBlock.mjs +3 -3
- package/dist/components/Blocks/RelatedPosts.mjs +4 -4
- package/dist/components/Blocks/RenderBlocks.mjs +6 -6
- package/dist/components/Blocks/ReusableContentBlock.mjs +6 -6
- package/dist/components/Blocks/index.mjs +7 -7
- package/dist/components/Cards/ContentCard.mjs +3 -3
- package/dist/components/Cards/FeatureCard.mjs +3 -3
- package/dist/components/Cards/index.mjs +3 -3
- package/dist/components/Chat/CopilotInterface.d.ts +1 -1
- package/dist/components/Chat/CopilotInterface.js +527 -330
- package/dist/components/Chat/CopilotInterface.mjs +5 -5
- 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 +5 -5
- package/dist/components/Chat/demo-tests.js +527 -330
- package/dist/components/Chat/demo-tests.mjs +5 -5
- package/dist/components/Chat/demo.js +527 -330
- package/dist/components/Chat/demo.mjs +5 -5
- package/dist/components/Chat/example-usage.js +527 -330
- package/dist/components/Chat/example-usage.mjs +6 -6
- package/dist/components/Chat/example-with-vercel-ai.js +527 -330
- package/dist/components/Chat/example-with-vercel-ai.mjs +5 -5
- package/dist/components/Chat/index.js +527 -330
- package/dist/components/Chat/index.mjs +8 -8
- 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/{Foundary → Foundry}/AppSidebarLeft.js +3 -3
- package/dist/components/{DigitalColleagues → Foundry}/AppSidebarLeft.mjs +3 -3
- package/dist/components/{Foundary → Foundry}/DashboardHeader.js +2 -2
- package/dist/components/{Foundary → Foundry}/DashboardHeader.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/Knowledge/add-knowledge-modal.js +2 -2
- package/dist/components/{Foundary → Foundry}/Knowledge/add-knowledge-modal.mjs +4 -4
- package/dist/components/{Foundary → Foundry}/Knowledge/add-team-context.js +3 -3
- package/dist/components/{Foundary → Foundry}/Knowledge/add-team-context.mjs +4 -4
- package/dist/components/{Foundary → Foundry}/Knowledge/manage-team-context.js +2 -2
- package/dist/components/{Foundary → Foundry}/Knowledge/manage-team-context.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/LandingMenu.js +2 -2
- package/dist/components/{Foundary → Foundry}/LandingMenu.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/Login.js +2 -2
- package/dist/components/{Foundary → Foundry}/Login.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/MainPage.js +4 -4
- package/dist/components/{DigitalColleagues → Foundry}/MainPage.mjs +9 -9
- package/dist/components/{DigitalColleagues → Foundry}/ManagementSidebar.d.ts +2 -2
- package/dist/components/{Foundary → Foundry}/ManagementSidebar.js +12 -4
- package/dist/components/{DigitalColleagues → Foundry}/ManagementSidebar.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/Pages/dashboardpage.js +1860 -2162
- package/dist/components/{Foundary → Foundry}/Pages/dashboardpage.mjs +42 -41
- package/dist/components/{Foundary → Foundry}/README-document-edit.js +1 -1
- package/dist/components/{Foundary → Foundry}/README-document-edit.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/README-document-preview.js +1 -1
- package/dist/components/{Foundary → Foundry}/README-document-preview.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/RichText/Icons/Bold.js +1 -1
- package/dist/components/{Foundary → Foundry}/RichText/Icons/Bold.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/RichText/Icons/Headings.js +1 -1
- package/dist/components/{Foundary → Foundry}/RichText/Icons/Headings.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/RichText/Icons/Italic.js +1 -1
- package/dist/components/{Foundary → Foundry}/RichText/Icons/Italic.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/RichText/Icons/StrikeThrough.js +1 -1
- package/dist/components/{Foundary → Foundry}/RichText/Icons/StrikeThrough.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/RichText/Icons/Subscript.js +1 -1
- package/dist/components/{Foundary → Foundry}/RichText/Icons/Subscript.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/RichText/Icons/Superscript.js +1 -1
- package/dist/components/{Foundary → Foundry}/RichText/Icons/Superscript.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/RichText/Icons/Underline.js +1 -1
- package/dist/components/{Foundary → Foundry}/RichText/Icons/Underline.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/RichText/components/RawUploadComponent/index.js +2 -2
- package/dist/components/{Foundary → Foundry}/RichText/components/RawUploadComponent/index.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/RichText/index.js +18 -18
- package/dist/components/{Foundary → Foundry}/RichText/index.mjs +12 -12
- package/dist/components/{Foundary → Foundry}/RichText/nodes/image-node.js +4 -4
- package/dist/components/{Foundary → Foundry}/RichText/nodes/image-node.mjs +2 -2
- package/dist/components/{Foundary → Foundry}/RichText/plugins/image-plugin.js +7 -7
- package/dist/components/{Foundary → Foundry}/RichText/plugins/image-plugin.mjs +3 -3
- package/dist/components/{Foundary → Foundry}/RichText/plugins/toolbar-plugin.js +16 -16
- package/dist/components/{Foundary → Foundry}/RichText/plugins/toolbar-plugin.mjs +11 -11
- package/dist/components/{Foundary → Foundry}/SearchableSelect.js +2 -2
- package/dist/components/{DigitalColleagues → Foundry}/SearchableSelect.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/Views/ColleaguesView.d.ts +4 -2
- package/dist/components/{Foundary → Foundry}/Views/ColleaguesView.js +526 -211
- package/dist/components/{Foundary → Foundry}/Views/ColleaguesView.mjs +12 -10
- package/dist/components/Foundry/Views/KnowledgeView.docs.js +2 -0
- package/dist/components/Foundry/Views/KnowledgeView.docs.mjs +7 -0
- package/dist/components/{Foundary → Foundry}/Views/KnowledgeView.js +29 -29
- package/dist/components/{Foundary → Foundry}/Views/KnowledgeView.mjs +21 -21
- package/dist/components/{Foundary → Foundry}/Views/TeamsIndexView.js +9 -8
- package/dist/components/{Foundary → Foundry}/Views/TeamsIndexView.mjs +4 -4
- package/dist/components/{Foundary → Foundry}/Views/index.js +2929 -2050
- package/dist/components/{Foundary → Foundry}/Views/index.mjs +64 -61
- package/dist/components/Foundry/add-colleague-to-team-form.d.ts +10 -0
- package/dist/components/{DigitalColleagues/colleague-type-selection.js → Foundry/add-colleague-to-team-form.js} +156 -91
- package/dist/components/{DigitalColleagues/colleague-card.mjs → Foundry/add-colleague-to-team-form.mjs} +3 -4
- package/dist/components/{.archive → Foundry}/app-card.d.ts +1 -1
- package/dist/components/Foundry/app-card.js +2669 -0
- package/dist/components/{DigitalColleagues/digital-colleague-options.mjs → Foundry/app-card.mjs} +5 -3
- package/dist/components/{Foundary → Foundry}/colleague-card.js +2 -2
- package/dist/components/{Foundary → Foundry}/colleague-card.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/colleague-form.js +4 -4
- package/dist/components/{Foundary → Foundry}/colleague-form.mjs +2 -2
- package/dist/components/{Foundary → Foundry}/colleague-type-selection.js +2 -2
- package/dist/components/{DigitalColleagues → Foundry}/colleague-type-selection.mjs +1 -1
- package/dist/components/Foundry/digital-colleague-selection.d.ts +9 -0
- package/dist/components/{DigitalColleagues/digital-colleague-clone.js → Foundry/digital-colleague-selection.js} +59 -100
- package/dist/components/{DigitalColleagues/digital-colleague-clone.mjs → Foundry/digital-colleague-selection.mjs} +3 -3
- package/dist/components/{Foundary → Foundry}/document-edit.js +20 -20
- package/dist/components/{Foundary → Foundry}/document-edit.mjs +13 -13
- package/dist/components/{Foundary → Foundry}/document-preview-examples.js +24 -24
- package/dist/components/{Foundary → Foundry}/document-preview-examples.mjs +15 -15
- package/dist/components/{Foundary → Foundry}/document-preview.js +22 -22
- package/dist/components/{Foundary → Foundry}/document-preview.mjs +14 -14
- package/dist/components/{Foundary → Foundry}/file-edit.js +20 -20
- package/dist/components/{Foundary → Foundry}/file-edit.mjs +16 -16
- package/dist/components/{Foundary → Foundry}/foundary-clone.js +3 -3
- package/dist/components/{Foundary → Foundry}/foundary-clone.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/foundary-layout.d.ts +3 -3
- package/dist/components/{Foundary → Foundry}/foundary-layout.js +485 -306
- package/dist/components/{Foundary → Foundry}/foundary-layout.mjs +6 -6
- package/dist/components/{Foundary → Foundry}/foundary-options.d.ts +2 -1
- package/dist/components/{Foundary → Foundry}/foundary-options.js +39 -3
- package/dist/components/{Foundary → Foundry}/foundary-options.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/index.d.ts +3 -1
- package/dist/components/{Foundary → Foundry}/index.js +3465 -3267
- package/dist/components/{Foundary → Foundry}/index.mjs +102 -95
- package/dist/components/{Foundary → Foundry}/knowledge-browser.js +24 -24
- package/dist/components/{Foundary → Foundry}/knowledge-browser.mjs +15 -15
- package/dist/components/{Foundary → Foundry}/knowledge-search.js +2 -2
- package/dist/components/{DigitalColleagues → Foundry}/knowledge-search.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/team-form.js +2 -2
- package/dist/components/{Foundary → Foundry}/team-form.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/test-data.js +1 -1
- package/dist/components/{Foundary → Foundry}/test-data.mjs +1 -1
- package/dist/components/{Foundary → Foundry}/types.d.ts +26 -0
- package/dist/components/{Foundary → Foundry}/types.js +1 -1
- package/dist/components/HeaderFooter/Header.mjs +1 -1
- package/dist/components/HeaderFooter/SectionHeading.mjs +4 -4
- package/dist/components/HeaderFooter/index.mjs +11 -11
- 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 +4 -4
- package/dist/components/Heros/LowImpact/index.mjs +4 -4
- package/dist/components/Heros/MediumImpact/index.mjs +4 -4
- package/dist/components/Heros/PostHero/index.mjs +3 -3
- package/dist/components/Heros/RenderHero.mjs +7 -7
- package/dist/components/Heros/index.js +5 -4
- package/dist/components/Heros/index.mjs +14 -14
- package/dist/components/Layouts/OutputHeaderFooter.mjs +4 -4
- package/dist/components/Layouts/Print.mjs +8 -8
- package/dist/components/Layouts/SlideShow.mjs +9 -9
- package/dist/components/Layouts/index.mjs +13 -13
- 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/RichText/index.mjs +3 -3
- package/dist/components/Payload/RichText/serialize.mjs +3 -3
- package/dist/components/Payload/index.mjs +3 -3
- package/dist/components/Projects/AddEpicModal.d.ts +1 -1
- package/dist/components/Projects/AddSprintModal.d.ts +1 -1
- package/dist/components/Projects/AddTaskModal.d.ts +1 -1
- 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.d.ts +1 -1
- package/dist/components/Projects/FileView.js +24 -23
- package/dist/components/Projects/FileView.mjs +20 -20
- package/dist/components/Projects/GanttView.d.ts +13 -0
- package/dist/components/{DigitalColleagues/colleague-card.js → Projects/GanttView.js} +559 -260
- package/dist/components/Projects/GanttView.mjs +20 -0
- package/dist/components/Projects/KanbanBoardView.d.ts +1 -1
- package/dist/components/Projects/KanbanBoardView.js +25 -24
- package/dist/components/Projects/KanbanBoardView.mjs +26 -26
- package/dist/components/Projects/KanbanColumn.d.ts +1 -1
- package/dist/components/Projects/PlanningView.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 +3 -3
- package/dist/components/Projects/ProjectPage.js +1744 -983
- package/dist/components/Projects/ProjectPage.mjs +39 -38
- package/dist/components/Projects/ProjectView.d.ts +2 -2
- package/dist/components/Projects/ProjectView.js +1227 -662
- package/dist/components/Projects/ProjectView.mjs +34 -33
- package/dist/components/Projects/ProjectsIndexView.d.ts +1 -1
- package/dist/components/Projects/ProjectsIndexView.js +5 -4
- package/dist/components/Projects/ProjectsIndexView.mjs +4 -4
- package/dist/components/Projects/SprintBoardView.d.ts +4 -1
- package/dist/components/Projects/SprintBoardView.js +271 -129
- package/dist/components/Projects/SprintBoardView.mjs +26 -26
- package/dist/components/Projects/TaskCard.d.ts +1 -1
- package/dist/components/Projects/TaskDetailsModal.d.ts +1 -1
- package/dist/components/Projects/TaskDetailsModal.js +20 -20
- package/dist/components/Projects/TaskDetailsModal.mjs +20 -20
- package/dist/components/Projects/TaskSidebar.d.ts +1 -1
- package/dist/components/Projects/TaskSidebar.js +2 -2
- package/dist/components/Projects/TaskSidebar.mjs +2 -2
- package/dist/components/Projects/TasksView.d.ts +1 -1
- 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.d.ts +1 -1
- package/dist/components/Projects/file-list.js +19 -19
- package/dist/components/Projects/file-list.mjs +17 -17
- package/dist/components/Projects/index.js +557 -250
- package/dist/components/Projects/index.mjs +35 -35
- 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 +3773 -3007
- package/dist/components/dc-temp/index.mjs +35 -33
- package/dist/components/dc-temp/mock-data.d.ts +2 -2
- package/dist/components/index.d.ts +1 -1
- package/dist/components/index.js +3337 -3100
- package/dist/components/index.mjs +163 -157
- 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 +99 -99
- 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 +3345 -3108
- package/dist/index.mjs +174 -168
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/pages/Blog.mjs +12 -12
- package/dist/pages/Documentation.mjs +9 -9
- package/dist/pages/IndexPage.mjs +17 -17
- package/dist/pages/Intranet.mjs +3 -3
- package/dist/pages/LandingPage.mjs +111 -111
- package/dist/pages/Page.mjs +16 -16
- package/dist/pages/Publish.mjs +100 -100
- package/dist/pages/Website.mjs +19 -19
- package/dist/sections/AboutSection.mjs +5 -5
- package/dist/sections/BlogDetail.mjs +4 -4
- package/dist/sections/BlogList.mjs +5 -5
- package/dist/sections/BlogListSection.mjs +5 -5
- package/dist/sections/ContactSection.mjs +5 -5
- package/dist/sections/PageSections.mjs +109 -109
- package/dist/sections/PricingSection.mjs +5 -5
- package/dist/sections/ServiceDetail.mjs +4 -4
- package/dist/sections/ServiceDetailSection.mjs +4 -4
- package/dist/sections/ServiceSection.mjs +100 -100
- package/dist/sections/form/index.mjs +2 -2
- package/dist/sections/index.mjs +109 -109
- 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-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-G7SFQSC7.mjs +0 -306
- 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-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-UHOCECJY.mjs +0 -365
- package/dist/chunk-VY6L37RQ.mjs +0 -103
- package/dist/chunk-X6UI73UN.mjs +0 -262
- package/dist/components/DigitalColleagues/AppSidebarLeft.js +0 -3407
- package/dist/components/DigitalColleagues/DashboardHeader.js +0 -2756
- package/dist/components/DigitalColleagues/DashboardHeader.mjs +0 -15
- 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.js +0 -4080
- package/dist/components/DigitalColleagues/ManagementSidebar.js +0 -99
- 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.js +0 -2745
- 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.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.js +0 -12284
- package/dist/components/DigitalColleagues/Views/index.mjs +0 -114
- 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/digital-colleague-clone.d.ts +0 -9
- 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/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.js +0 -3433
- package/dist/components/DigitalColleagues/document-preview-examples.mjs +0 -151
- 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.mjs +0 -200
- 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.d.ts +0 -12
- package/dist/components/DigitalColleagues/knowledge-search.js +0 -2819
- 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/components/Foundary/AppSidebarLeft.css +0 -917
- package/dist/components/Foundary/AppSidebarLeft.d.ts +0 -47
- package/dist/components/Foundary/AppSidebarLeft.mjs +0 -23
- package/dist/components/Foundary/DashboardHeader.css +0 -917
- package/dist/components/Foundary/DashboardHeader.d.ts +0 -8
- package/dist/components/Foundary/MainPage.css +0 -917
- package/dist/components/Foundary/MainPage.d.ts +0 -3
- package/dist/components/Foundary/MainPage.mjs +0 -46
- package/dist/components/Foundary/ManagementSidebar.d.ts +0 -8
- package/dist/components/Foundary/ManagementSidebar.mjs +0 -9
- package/dist/components/Foundary/Pages/dashboardpage.css +0 -917
- package/dist/components/Foundary/SearchableSelect.css +0 -917
- package/dist/components/Foundary/SearchableSelect.d.ts +0 -16
- package/dist/components/Foundary/SearchableSelect.mjs +0 -16
- package/dist/components/Foundary/Views/ColleaguesView.css +0 -917
- package/dist/components/Foundary/Views/KnowledgeView.css +0 -917
- package/dist/components/Foundary/Views/KnowledgeView.docs.js +0 -2
- package/dist/components/Foundary/Views/KnowledgeView.docs.mjs +0 -7
- package/dist/components/Foundary/Views/index.css +0 -917
- package/dist/components/Foundary/Views/index.d.ts +0 -7
- package/dist/components/Foundary/colleague-card.d.ts +0 -12
- package/dist/components/Foundary/colleague-form.css +0 -917
- package/dist/components/Foundary/colleague-type-selection.css +0 -917
- package/dist/components/Foundary/colleague-type-selection.d.ts +0 -7
- package/dist/components/Foundary/colleague-type-selection.mjs +0 -16
- package/dist/components/Foundary/document-edit.css +0 -917
- package/dist/components/Foundary/document-preview-examples.css +0 -917
- package/dist/components/Foundary/document-preview-examples.d.ts +0 -12
- package/dist/components/Foundary/document-preview.css +0 -917
- package/dist/components/Foundary/index.css +0 -917
- package/dist/components/Foundary/knowledge-browser.css +0 -917
- package/dist/components/Foundary/knowledge-search.css +0 -917
- package/dist/components/Foundary/knowledge-search.mjs +0 -20
- package/dist/components/Foundary/team-form.css +0 -917
- package/dist/{chunk-AEFGMCK3.mjs → chunk-D5KV6INF.mjs} +3 -3
- package/dist/{chunk-SNG6OKEL.mjs → chunk-FTVOJKVA.mjs} +3 -3
- package/dist/{chunk-OT2SSFKS.mjs → chunk-GSG52WU5.mjs} +3 -3
- /package/dist/components/{DigitalColleagues → Foundry}/AppSidebarLeft.css +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/AppSidebarLeft.d.ts +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/DashboardHeader.css +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/DashboardHeader.d.ts +0 -0
- /package/dist/components/{Foundary → Foundry}/Knowledge/add-knowledge-modal.css +0 -0
- /package/dist/components/{Foundary → Foundry}/Knowledge/add-knowledge-modal.d.ts +0 -0
- /package/dist/components/{Foundary → Foundry}/Knowledge/add-team-context.css +0 -0
- /package/dist/components/{Foundary → Foundry}/Knowledge/add-team-context.d.ts +0 -0
- /package/dist/components/{Foundary → Foundry}/Knowledge/manage-team-context.css +0 -0
- /package/dist/components/{Foundary → Foundry}/Knowledge/manage-team-context.d.ts +0 -0
- /package/dist/components/{Foundary → Foundry}/LandingMenu.css +0 -0
- /package/dist/components/{Foundary → Foundry}/LandingMenu.d.ts +0 -0
- /package/dist/components/{Foundary → Foundry}/Login.css +0 -0
- /package/dist/components/{Foundary → Foundry}/Login.d.ts +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/MainPage.css +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/MainPage.d.ts +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/Pages/dashboardpage.css +0 -0
- /package/dist/components/{Foundary → Foundry}/Pages/dashboardpage.d.ts +0 -0
- /package/dist/components/{Foundary → Foundry}/RichText/Icons/Bold.d.ts +0 -0
- /package/dist/components/{Foundary → Foundry}/RichText/Icons/Headings.d.ts +0 -0
- /package/dist/components/{Foundary → Foundry}/RichText/Icons/Italic.d.ts +0 -0
- /package/dist/components/{Foundary → Foundry}/RichText/Icons/StrikeThrough.d.ts +0 -0
- /package/dist/components/{Foundary → Foundry}/RichText/Icons/Subscript.d.ts +0 -0
- /package/dist/components/{Foundary → Foundry}/RichText/Icons/Superscript.d.ts +0 -0
- /package/dist/components/{Foundary → Foundry}/RichText/Icons/Underline.d.ts +0 -0
- /package/dist/components/{DigitalColleagues/Views → Foundry/RichText/components/RawUploadComponent}/index.css +0 -0
- /package/dist/components/{Foundary → Foundry}/RichText/components/RawUploadComponent/index.d.ts +0 -0
- /package/dist/components/{DigitalColleagues → Foundry/RichText}/index.css +0 -0
- /package/dist/components/{Foundary → Foundry}/RichText/index.d.ts +0 -0
- /package/dist/components/{Foundary → Foundry}/RichText/nodes/image-node.css +0 -0
- /package/dist/components/{Foundary → Foundry}/RichText/nodes/image-node.d.ts +0 -0
- /package/dist/components/{Foundary → Foundry}/RichText/plugins/image-plugin.css +0 -0
- /package/dist/components/{Foundary → Foundry}/RichText/plugins/image-plugin.d.ts +0 -0
- /package/dist/components/{Foundary → Foundry}/RichText/plugins/toolbar-plugin.css +0 -0
- /package/dist/components/{Foundary → Foundry}/RichText/plugins/toolbar-plugin.d.ts +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/SearchableSelect.css +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/SearchableSelect.d.ts +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/Views/ColleaguesView.css +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/Views/KnowledgeView.css +0 -0
- /package/dist/components/{Foundary → Foundry}/Views/KnowledgeView.d.ts +0 -0
- /package/dist/components/{Foundary → Foundry}/Views/TeamsIndexView.css +0 -0
- /package/dist/components/{Foundary → Foundry}/Views/TeamsIndexView.d.ts +0 -0
- /package/dist/components/{Foundary/RichText/components/RawUploadComponent → Foundry/Views}/index.css +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/Views/index.d.ts +0 -0
- /package/dist/components/{DigitalColleagues/DigitalColleageusLayout.css → Foundry/add-colleague-to-team-form.css} +0 -0
- /package/dist/components/{DigitalColleagues/colleague-card.css → Foundry/app-card.css} +0 -0
- /package/dist/components/{Foundary → Foundry}/colleague-card.css +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/colleague-card.d.ts +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/colleague-form.css +0 -0
- /package/dist/components/{Foundary → Foundry}/colleague-form.d.ts +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/colleague-type-selection.css +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/colleague-type-selection.d.ts +0 -0
- /package/dist/components/{DigitalColleagues/digital-colleague-clone.css → Foundry/digital-colleague-selection.css} +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/document-edit.css +0 -0
- /package/dist/components/{Foundary → Foundry}/document-edit.d.ts +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/document-preview-examples.css +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/document-preview-examples.d.ts +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/document-preview.css +0 -0
- /package/dist/components/{Foundary → Foundry}/document-preview.d.ts +0 -0
- /package/dist/components/{Foundary → Foundry}/file-edit.css +0 -0
- /package/dist/components/{Foundary → Foundry}/file-edit.d.ts +0 -0
- /package/dist/components/{Foundary → Foundry}/foundary-clone.css +0 -0
- /package/dist/components/{Foundary → Foundry}/foundary-clone.d.ts +0 -0
- /package/dist/components/{Foundary → Foundry}/foundary-layout.css +0 -0
- /package/dist/components/{Foundary → Foundry}/foundary-options.css +0 -0
- /package/dist/components/{Foundary/RichText → Foundry}/index.css +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/knowledge-browser.css +0 -0
- /package/dist/components/{Foundary → Foundry}/knowledge-browser.d.ts +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/knowledge-search.css +0 -0
- /package/dist/components/{Foundary → Foundry}/knowledge-search.d.ts +0 -0
- /package/dist/components/{DigitalColleagues → Foundry}/team-form.css +0 -0
- /package/dist/components/{Foundary → Foundry}/team-form.d.ts +0 -0
- /package/dist/components/{Foundary → Foundry}/test-data.d.ts +0 -0
- /package/dist/components/{DigitalColleagues/digital-colleague-options.css → Projects/GanttView.css} +0 -0
|
@@ -3649,7 +3649,7 @@ var TaskSelect = ({
|
|
|
3649
3649
|
] });
|
|
3650
3650
|
};
|
|
3651
3651
|
|
|
3652
|
-
// src/components/
|
|
3652
|
+
// src/components/Foundry/SearchableSelect.tsx
|
|
3653
3653
|
var import_react6 = require("react");
|
|
3654
3654
|
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
3655
3655
|
var SearchableSelect = ({
|
|
@@ -4060,12 +4060,12 @@ var import_react14 = require("motion/react");
|
|
|
4060
4060
|
var import_lucide_react12 = require("lucide-react");
|
|
4061
4061
|
var DialogPrimitive2 = __toESM(require("@radix-ui/react-dialog"));
|
|
4062
4062
|
|
|
4063
|
-
// src/components/
|
|
4063
|
+
// src/components/Foundry/file-edit.tsx
|
|
4064
4064
|
var import_react12 = require("motion/react");
|
|
4065
4065
|
var import_lucide_react11 = require("lucide-react");
|
|
4066
4066
|
var import_react13 = require("react");
|
|
4067
4067
|
|
|
4068
|
-
// src/components/
|
|
4068
|
+
// src/components/Foundry/RichText/index.tsx
|
|
4069
4069
|
var import_LexicalAutoFocusPlugin = require("@payloadcms/richtext-lexical/lexical/react/LexicalAutoFocusPlugin");
|
|
4070
4070
|
var import_LexicalComposer = require("@payloadcms/richtext-lexical/lexical/react/LexicalComposer");
|
|
4071
4071
|
var import_LexicalContentEditable = require("@payloadcms/richtext-lexical/lexical/react/LexicalContentEditable");
|
|
@@ -4078,7 +4078,7 @@ var import_rich_text2 = require("@payloadcms/richtext-lexical/lexical/rich-text"
|
|
|
4078
4078
|
var import_LexicalOnChangePlugin = require("@payloadcms/richtext-lexical/lexical/react/LexicalOnChangePlugin");
|
|
4079
4079
|
var import_react11 = require("react");
|
|
4080
4080
|
|
|
4081
|
-
// src/components/
|
|
4081
|
+
// src/components/Foundry/RichText/plugins/toolbar-plugin.tsx
|
|
4082
4082
|
var import_LexicalComposerContext3 = require("@payloadcms/richtext-lexical/lexical/react/LexicalComposerContext");
|
|
4083
4083
|
var import_utils16 = require("@payloadcms/richtext-lexical/lexical/utils");
|
|
4084
4084
|
var import_lexical3 = require("@payloadcms/richtext-lexical/lexical");
|
|
@@ -4088,7 +4088,7 @@ var import_lucide_react10 = require("lucide-react");
|
|
|
4088
4088
|
var import_react10 = require("react");
|
|
4089
4089
|
var import_rich_text = require("@payloadcms/richtext-lexical/lexical/rich-text");
|
|
4090
4090
|
|
|
4091
|
-
// src/components/
|
|
4091
|
+
// src/components/Foundry/RichText/plugins/image-plugin.tsx
|
|
4092
4092
|
var import_LexicalComposerContext2 = require("@payloadcms/richtext-lexical/lexical/react/LexicalComposerContext");
|
|
4093
4093
|
var import_utils14 = require("@payloadcms/richtext-lexical/lexical/utils");
|
|
4094
4094
|
var import_lexical2 = require("@payloadcms/richtext-lexical/lexical");
|
|
@@ -4096,11 +4096,11 @@ var import_react9 = require("react");
|
|
|
4096
4096
|
var import_react_dialog = require("@radix-ui/react-dialog");
|
|
4097
4097
|
var import_client2 = require("@payloadcms/richtext-lexical/client");
|
|
4098
4098
|
|
|
4099
|
-
// src/components/
|
|
4099
|
+
// src/components/Foundry/RichText/nodes/image-node.tsx
|
|
4100
4100
|
var import_client = require("@payloadcms/richtext-lexical/client");
|
|
4101
4101
|
var import_bson_objectid = __toESM(require("bson-objectid"));
|
|
4102
4102
|
|
|
4103
|
-
// src/components/
|
|
4103
|
+
// src/components/Foundry/RichText/components/RawUploadComponent/index.tsx
|
|
4104
4104
|
var import_ui = require("@payloadcms/ui");
|
|
4105
4105
|
var import_react8 = require("react");
|
|
4106
4106
|
var import_LexicalComposerContext = require("@payloadcms/richtext-lexical/lexical/react/LexicalComposerContext");
|
|
@@ -4128,7 +4128,7 @@ var TooltipContent = React18.forwardRef(({ className, sideOffset = 4, ...props }
|
|
|
4128
4128
|
) }));
|
|
4129
4129
|
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
4130
4130
|
|
|
4131
|
-
// src/components/
|
|
4131
|
+
// src/components/Foundry/RichText/components/RawUploadComponent/index.tsx
|
|
4132
4132
|
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
4133
4133
|
var Component = (props) => {
|
|
4134
4134
|
const {
|
|
@@ -4224,7 +4224,7 @@ var Component = (props) => {
|
|
|
4224
4224
|
};
|
|
4225
4225
|
var RawUploadComponent_default = Component;
|
|
4226
4226
|
|
|
4227
|
-
// src/components/
|
|
4227
|
+
// src/components/Foundry/RichText/nodes/image-node.tsx
|
|
4228
4228
|
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
4229
4229
|
function $convertUploadElement(domNode) {
|
|
4230
4230
|
if (domNode.hasAttribute("data-lexical-upload-relation-to") && domNode.hasAttribute("data-lexical-upload-id")) {
|
|
@@ -4272,7 +4272,7 @@ function $createMyUploadNode(data) {
|
|
|
4272
4272
|
return new UploadNode({ data });
|
|
4273
4273
|
}
|
|
4274
4274
|
|
|
4275
|
-
// src/components/
|
|
4275
|
+
// src/components/Foundry/RichText/plugins/image-plugin.tsx
|
|
4276
4276
|
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
4277
4277
|
var CAN_USE_DOM = typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined";
|
|
4278
4278
|
var getDOMSelection = (targetWindow) => CAN_USE_DOM ? (targetWindow || window).getSelection() : null;
|
|
@@ -4505,7 +4505,7 @@ function getDragSelection(event) {
|
|
|
4505
4505
|
return range;
|
|
4506
4506
|
}
|
|
4507
4507
|
|
|
4508
|
-
// src/components/
|
|
4508
|
+
// src/components/Foundry/RichText/Icons/Bold.tsx
|
|
4509
4509
|
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
4510
4510
|
var Bold = () => {
|
|
4511
4511
|
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
@@ -4531,7 +4531,7 @@ var Bold = () => {
|
|
|
4531
4531
|
};
|
|
4532
4532
|
var Bold_default = Bold;
|
|
4533
4533
|
|
|
4534
|
-
// src/components/
|
|
4534
|
+
// src/components/Foundry/RichText/Icons/Italic.tsx
|
|
4535
4535
|
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
4536
4536
|
var Italic = () => {
|
|
4537
4537
|
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
@@ -4557,7 +4557,7 @@ var Italic = () => {
|
|
|
4557
4557
|
};
|
|
4558
4558
|
var Italic_default = Italic;
|
|
4559
4559
|
|
|
4560
|
-
// src/components/
|
|
4560
|
+
// src/components/Foundry/RichText/Icons/Underline.tsx
|
|
4561
4561
|
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
4562
4562
|
var Underline = () => {
|
|
4563
4563
|
return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
@@ -4586,7 +4586,7 @@ var Underline = () => {
|
|
|
4586
4586
|
};
|
|
4587
4587
|
var Underline_default = Underline;
|
|
4588
4588
|
|
|
4589
|
-
// src/components/
|
|
4589
|
+
// src/components/Foundry/RichText/Icons/StrikeThrough.tsx
|
|
4590
4590
|
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
4591
4591
|
var Strikethrough = () => {
|
|
4592
4592
|
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
@@ -4615,7 +4615,7 @@ var Strikethrough = () => {
|
|
|
4615
4615
|
};
|
|
4616
4616
|
var StrikeThrough_default = Strikethrough;
|
|
4617
4617
|
|
|
4618
|
-
// src/components/
|
|
4618
|
+
// src/components/Foundry/RichText/Icons/Subscript.tsx
|
|
4619
4619
|
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
4620
4620
|
var Subscript = () => {
|
|
4621
4621
|
return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
@@ -4641,7 +4641,7 @@ var Subscript = () => {
|
|
|
4641
4641
|
};
|
|
4642
4642
|
var Subscript_default = Subscript;
|
|
4643
4643
|
|
|
4644
|
-
// src/components/
|
|
4644
|
+
// src/components/Foundry/RichText/Icons/Superscript.tsx
|
|
4645
4645
|
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
4646
4646
|
var Superscript = () => {
|
|
4647
4647
|
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
@@ -4667,7 +4667,7 @@ var Superscript = () => {
|
|
|
4667
4667
|
};
|
|
4668
4668
|
var Superscript_default = Superscript;
|
|
4669
4669
|
|
|
4670
|
-
// src/components/
|
|
4670
|
+
// src/components/Foundry/RichText/Icons/Headings.tsx
|
|
4671
4671
|
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
4672
4672
|
var TextIcon = () => {
|
|
4673
4673
|
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
@@ -4899,7 +4899,7 @@ var DropdownMenuShortcut = ({ className, ...props }) => {
|
|
|
4899
4899
|
};
|
|
4900
4900
|
DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
4901
4901
|
|
|
4902
|
-
// src/components/
|
|
4902
|
+
// src/components/Foundry/RichText/plugins/toolbar-plugin.tsx
|
|
4903
4903
|
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
4904
4904
|
var LowPriority = 1;
|
|
4905
4905
|
function Divider() {
|
|
@@ -5289,7 +5289,7 @@ function ToolbarPlugin() {
|
|
|
5289
5289
|
] }) });
|
|
5290
5290
|
}
|
|
5291
5291
|
|
|
5292
|
-
// src/components/
|
|
5292
|
+
// src/components/Foundry/RichText/index.tsx
|
|
5293
5293
|
var import_LexicalComposerContext4 = require("@payloadcms/richtext-lexical/lexical/react/LexicalComposerContext");
|
|
5294
5294
|
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
5295
5295
|
var RichTextContent = ({ setValue, value, name, editable = true }) => {
|
|
@@ -5476,7 +5476,7 @@ function Calendar3({ className, classNames, showOutsideDays = true, ...props })
|
|
|
5476
5476
|
}
|
|
5477
5477
|
Calendar3.displayName = "Calendar";
|
|
5478
5478
|
|
|
5479
|
-
// src/components/
|
|
5479
|
+
// src/components/Foundry/file-edit.tsx
|
|
5480
5480
|
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
5481
5481
|
var isFileType = (doc) => {
|
|
5482
5482
|
return "mimeType" in doc && "url" in doc && !("format" in doc);
|
|
@@ -6893,15 +6893,16 @@ function useLocalStorage(key, initialValue) {
|
|
|
6893
6893
|
return initialValue;
|
|
6894
6894
|
}
|
|
6895
6895
|
});
|
|
6896
|
-
const setValue = (value) => {
|
|
6896
|
+
const setValue = (0, import_react19.useCallback)((value) => {
|
|
6897
6897
|
try {
|
|
6898
|
-
|
|
6898
|
+
const valueToStore = value instanceof Function ? value(storedValue) : value;
|
|
6899
|
+
setStoredValue(valueToStore);
|
|
6899
6900
|
if (typeof window !== "undefined") {
|
|
6900
|
-
window.localStorage.setItem(key, JSON.stringify(
|
|
6901
|
+
window.localStorage.setItem(key, JSON.stringify(valueToStore));
|
|
6901
6902
|
}
|
|
6902
6903
|
} catch (error) {
|
|
6903
6904
|
}
|
|
6904
|
-
};
|
|
6905
|
+
}, [key, storedValue]);
|
|
6905
6906
|
(0, import_react19.useEffect)(() => {
|
|
6906
6907
|
setValue(storedValue);
|
|
6907
6908
|
}, []);
|
|
@@ -8317,6 +8318,7 @@ var import_react25 = __toESM(require("react"));
|
|
|
8317
8318
|
var import_lucide_react18 = require("lucide-react");
|
|
8318
8319
|
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
8319
8320
|
var SprintBoardView = ({
|
|
8321
|
+
projectId,
|
|
8320
8322
|
initialTasks = [],
|
|
8321
8323
|
initialEpics = [],
|
|
8322
8324
|
initialSprints = [],
|
|
@@ -8332,6 +8334,8 @@ var SprintBoardView = ({
|
|
|
8332
8334
|
onAddEpic,
|
|
8333
8335
|
// Sprint handlers
|
|
8334
8336
|
onAddSprint,
|
|
8337
|
+
onUpdateSprint,
|
|
8338
|
+
onDeleteSprint,
|
|
8335
8339
|
onAddComment,
|
|
8336
8340
|
onUploadFile,
|
|
8337
8341
|
onDeleteFile,
|
|
@@ -8343,9 +8347,16 @@ var SprintBoardView = ({
|
|
|
8343
8347
|
const [colleagues, setColleagues] = (0, import_react25.useState)([]);
|
|
8344
8348
|
const [users, setUsers] = (0, import_react25.useState)([]);
|
|
8345
8349
|
const [selectedSprintIds, setSelectedSprintIds] = useLocalStorage(
|
|
8346
|
-
|
|
8350
|
+
`sprintBoardView_selectedSprints${projectId ? `_${projectId}` : ""}`,
|
|
8347
8351
|
[]
|
|
8348
8352
|
);
|
|
8353
|
+
const [editingSprintId, setEditingSprintId] = (0, import_react25.useState)(null);
|
|
8354
|
+
const [sprintEditForm, setSprintEditForm] = (0, import_react25.useState)({
|
|
8355
|
+
name: "",
|
|
8356
|
+
description: "",
|
|
8357
|
+
startDate: "",
|
|
8358
|
+
endDate: ""
|
|
8359
|
+
});
|
|
8349
8360
|
const [isAddTaskModalOpen, setIsAddTaskModalOpen] = (0, import_react25.useState)(false);
|
|
8350
8361
|
const [isAddEpicModalOpen, setIsAddEpicModalOpen] = (0, import_react25.useState)(false);
|
|
8351
8362
|
const [isAddSprintModalOpen, setIsAddSprintModalOpen] = (0, import_react25.useState)(false);
|
|
@@ -8392,6 +8403,8 @@ var SprintBoardView = ({
|
|
|
8392
8403
|
const next = getHash(initialSprints);
|
|
8393
8404
|
if (next !== prevSprintHash.current) {
|
|
8394
8405
|
setSprints(initialSprints);
|
|
8406
|
+
const validIds = new Set(initialSprints.map((s) => s.id.toString()));
|
|
8407
|
+
setSelectedSprintIds(selectedSprintIds.filter((id) => validIds.has(id)));
|
|
8395
8408
|
prevSprintHash.current = next;
|
|
8396
8409
|
}
|
|
8397
8410
|
}, [initialSprints]);
|
|
@@ -8536,6 +8549,34 @@ var SprintBoardView = ({
|
|
|
8536
8549
|
onAddSprint?.(sprintData);
|
|
8537
8550
|
setIsAddSprintModalOpen(false);
|
|
8538
8551
|
};
|
|
8552
|
+
const handleSprintEditStart = (sprint) => {
|
|
8553
|
+
setEditingSprintId(sprint.id.toString());
|
|
8554
|
+
setSprintEditForm({
|
|
8555
|
+
name: sprint.name,
|
|
8556
|
+
description: sprint.description || "",
|
|
8557
|
+
startDate: sprint.startDate ? new Date(sprint.startDate).toISOString().split("T")[0] : "",
|
|
8558
|
+
endDate: sprint.endDate ? new Date(sprint.endDate).toISOString().split("T")[0] : ""
|
|
8559
|
+
});
|
|
8560
|
+
};
|
|
8561
|
+
const handleSprintEditSave = () => {
|
|
8562
|
+
if (!editingSprintId) return;
|
|
8563
|
+
onUpdateSprint?.(editingSprintId, sprintEditForm);
|
|
8564
|
+
setSprints(
|
|
8565
|
+
(prev) => prev.map(
|
|
8566
|
+
(s) => s.id.toString() === editingSprintId ? { ...s, ...sprintEditForm } : s
|
|
8567
|
+
)
|
|
8568
|
+
);
|
|
8569
|
+
setEditingSprintId(null);
|
|
8570
|
+
};
|
|
8571
|
+
const handleSprintEditCancel = () => {
|
|
8572
|
+
setEditingSprintId(null);
|
|
8573
|
+
setSprintEditForm({ name: "", description: "", startDate: "", endDate: "" });
|
|
8574
|
+
};
|
|
8575
|
+
const handleDeleteSprint = (sprintId) => {
|
|
8576
|
+
onDeleteSprint?.(sprintId);
|
|
8577
|
+
setSprints((prev) => prev.filter((s) => s.id.toString() !== sprintId));
|
|
8578
|
+
setSelectedSprintIds(selectedSprintIds.filter((id) => id !== sprintId));
|
|
8579
|
+
};
|
|
8539
8580
|
const handleTaskClick = (task) => {
|
|
8540
8581
|
setSelectedTask(task);
|
|
8541
8582
|
onTaskClick?.(task);
|
|
@@ -8666,37 +8707,138 @@ var SprintBoardView = ({
|
|
|
8666
8707
|
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
8667
8708
|
"div",
|
|
8668
8709
|
{
|
|
8669
|
-
className: `p-3 rounded-lg border
|
|
8670
|
-
|
|
8671
|
-
|
|
8672
|
-
|
|
8673
|
-
|
|
8674
|
-
|
|
8675
|
-
|
|
8676
|
-
|
|
8677
|
-
|
|
8678
|
-
|
|
8679
|
-
|
|
8680
|
-
|
|
8681
|
-
|
|
8682
|
-
|
|
8683
|
-
|
|
8684
|
-
|
|
8685
|
-
|
|
8686
|
-
|
|
8687
|
-
|
|
8688
|
-
]
|
|
8710
|
+
className: `p-3 rounded-lg border transition-all ${isSelected ? "bg-primary/10 border-primary/30 ring-1 ring-primary/20" : canSelect ? "bg-card border-border" : "bg-muted/30 border-border/30 opacity-60"}`,
|
|
8711
|
+
children: editingSprintId === sprint.id.toString() ? /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "space-y-3", children: [
|
|
8712
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
8713
|
+
Input,
|
|
8714
|
+
{
|
|
8715
|
+
value: sprintEditForm.name,
|
|
8716
|
+
onChange: (e) => setSprintEditForm((prev) => ({ ...prev, name: e.target.value })),
|
|
8717
|
+
className: "text-sm",
|
|
8718
|
+
placeholder: "Sprint name"
|
|
8719
|
+
}
|
|
8720
|
+
),
|
|
8721
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
8722
|
+
Textarea,
|
|
8723
|
+
{
|
|
8724
|
+
value: sprintEditForm.description,
|
|
8725
|
+
onChange: (e) => setSprintEditForm((prev) => ({
|
|
8726
|
+
...prev,
|
|
8727
|
+
description: e.target.value
|
|
8728
|
+
})),
|
|
8729
|
+
className: "text-sm min-h-[60px]",
|
|
8730
|
+
placeholder: "Sprint description"
|
|
8731
|
+
}
|
|
8732
|
+
),
|
|
8733
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "grid grid-cols-2 gap-2", children: [
|
|
8734
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { children: [
|
|
8735
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("label", { className: "text-xs text-muted-foreground block mb-1", children: "Start Date" }),
|
|
8736
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
8737
|
+
Input,
|
|
8738
|
+
{
|
|
8739
|
+
type: "date",
|
|
8740
|
+
value: sprintEditForm.startDate,
|
|
8741
|
+
onChange: (e) => setSprintEditForm((prev) => ({
|
|
8742
|
+
...prev,
|
|
8743
|
+
startDate: e.target.value
|
|
8744
|
+
})),
|
|
8745
|
+
className: "text-sm"
|
|
8746
|
+
}
|
|
8747
|
+
)
|
|
8748
|
+
] }),
|
|
8749
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { children: [
|
|
8750
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("label", { className: "text-xs text-muted-foreground block mb-1", children: "End Date" }),
|
|
8751
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
8752
|
+
Input,
|
|
8753
|
+
{
|
|
8754
|
+
type: "date",
|
|
8755
|
+
value: sprintEditForm.endDate,
|
|
8756
|
+
onChange: (e) => setSprintEditForm((prev) => ({
|
|
8757
|
+
...prev,
|
|
8758
|
+
endDate: e.target.value
|
|
8759
|
+
})),
|
|
8760
|
+
className: "text-sm"
|
|
8761
|
+
}
|
|
8762
|
+
)
|
|
8689
8763
|
] })
|
|
8690
8764
|
] }),
|
|
8691
|
-
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "
|
|
8692
|
-
/* @__PURE__ */ (0, import_jsx_runtime47.
|
|
8693
|
-
|
|
8694
|
-
|
|
8765
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex gap-2", children: [
|
|
8766
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
8767
|
+
Button,
|
|
8768
|
+
{
|
|
8769
|
+
size: "sm",
|
|
8770
|
+
onClick: handleSprintEditSave,
|
|
8771
|
+
className: "flex-1",
|
|
8772
|
+
children: [
|
|
8773
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react18.Check, { className: "h-3 w-3 mr-1" }),
|
|
8774
|
+
"Save"
|
|
8775
|
+
]
|
|
8776
|
+
}
|
|
8777
|
+
),
|
|
8778
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
8779
|
+
Button,
|
|
8695
8780
|
{
|
|
8696
|
-
|
|
8781
|
+
size: "sm",
|
|
8782
|
+
variant: "outline",
|
|
8783
|
+
onClick: handleSprintEditCancel,
|
|
8784
|
+
className: "flex-1",
|
|
8785
|
+
children: [
|
|
8786
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react18.X, { className: "h-3 w-3 mr-1" }),
|
|
8787
|
+
"Cancel"
|
|
8788
|
+
]
|
|
8697
8789
|
}
|
|
8698
8790
|
)
|
|
8699
8791
|
] })
|
|
8792
|
+
] }) : /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { children: [
|
|
8793
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-start justify-between", children: [
|
|
8794
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex-1 min-w-0", children: [
|
|
8795
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "font-medium text-sm text-foreground truncate", children: sprint.name }),
|
|
8796
|
+
sprint.description && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("p", { className: "text-xs text-muted-foreground line-clamp-2 mt-1", children: sprint.description }),
|
|
8797
|
+
sprint.startDate && sprint.endDate && /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "flex items-center gap-1 mt-2 text-xs text-muted-foreground", children: [
|
|
8798
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react18.Calendar, { className: "h-3 w-3" }),
|
|
8799
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("span", { children: [
|
|
8800
|
+
new Date(sprint.startDate).toLocaleDateString(),
|
|
8801
|
+
" -",
|
|
8802
|
+
" ",
|
|
8803
|
+
new Date(sprint.endDate).toLocaleDateString()
|
|
8804
|
+
] })
|
|
8805
|
+
] })
|
|
8806
|
+
] }),
|
|
8807
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsxs)("div", { className: "ml-2 flex items-center gap-1", children: [
|
|
8808
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(Badge, { variant: "secondary", className: "text-xs", children: taskCount }),
|
|
8809
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
8810
|
+
Button,
|
|
8811
|
+
{
|
|
8812
|
+
size: "sm",
|
|
8813
|
+
variant: "ghost",
|
|
8814
|
+
onClick: () => handleSprintEditStart(sprint),
|
|
8815
|
+
className: "h-6 w-6 p-0",
|
|
8816
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react18.Edit2, { className: "h-3 w-3" })
|
|
8817
|
+
}
|
|
8818
|
+
),
|
|
8819
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
8820
|
+
Button,
|
|
8821
|
+
{
|
|
8822
|
+
size: "sm",
|
|
8823
|
+
variant: "ghost",
|
|
8824
|
+
onClick: () => handleDeleteSprint(sprint.id.toString()),
|
|
8825
|
+
className: "h-6 w-6 p-0 text-destructive hover:text-destructive",
|
|
8826
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(import_lucide_react18.Trash2, { className: "h-3 w-3" })
|
|
8827
|
+
}
|
|
8828
|
+
)
|
|
8829
|
+
] })
|
|
8830
|
+
] }),
|
|
8831
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
8832
|
+
Button,
|
|
8833
|
+
{
|
|
8834
|
+
variant: isSelected ? "default" : "outline",
|
|
8835
|
+
size: "sm",
|
|
8836
|
+
className: "w-full mt-2 text-xs h-7",
|
|
8837
|
+
onClick: () => toggleSprintView(sprint.id.toString()),
|
|
8838
|
+
disabled: !isSelected && selectedSprintIds.length >= 3,
|
|
8839
|
+
children: isSelected ? "Deselect" : selectedSprintIds.length >= 3 ? "Limit reached" : "Select"
|
|
8840
|
+
}
|
|
8841
|
+
)
|
|
8700
8842
|
] })
|
|
8701
8843
|
},
|
|
8702
8844
|
sprint.id
|
|
@@ -9612,17 +9754,25 @@ var import_react27 = require("react");
|
|
|
9612
9754
|
var import_lucide_react20 = require("lucide-react");
|
|
9613
9755
|
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
9614
9756
|
var EpicsView = ({
|
|
9757
|
+
projectId,
|
|
9615
9758
|
tasks,
|
|
9616
9759
|
epics,
|
|
9617
9760
|
sprints,
|
|
9761
|
+
colleagues = [],
|
|
9618
9762
|
onUpdateTask,
|
|
9619
9763
|
onTaskClick,
|
|
9620
9764
|
onAddTaskToEpic,
|
|
9621
9765
|
onAddEpic,
|
|
9622
9766
|
onUpdateEpic,
|
|
9623
|
-
onDeleteEpic
|
|
9767
|
+
onDeleteEpic,
|
|
9768
|
+
onDeleteTask,
|
|
9769
|
+
onAddComment,
|
|
9770
|
+
onUploadFile,
|
|
9771
|
+
onDeleteFile,
|
|
9772
|
+
onFileUpdate
|
|
9624
9773
|
}) => {
|
|
9625
9774
|
const [availableEpics, setAvailableEpics] = (0, import_react27.useState)(epics);
|
|
9775
|
+
const [availableTasks, setAvailableTasks] = (0, import_react27.useState)(tasks);
|
|
9626
9776
|
const [draggedTask, setDraggedTask] = (0, import_react27.useState)(null);
|
|
9627
9777
|
const [editingEpic, setEditingEpic] = (0, import_react27.useState)(null);
|
|
9628
9778
|
const [editForm, setEditForm] = (0, import_react27.useState)({});
|
|
@@ -9630,16 +9780,29 @@ var EpicsView = ({
|
|
|
9630
9780
|
const [isAddEpicModalOpen, setIsAddEpicModalOpen] = (0, import_react27.useState)(false);
|
|
9631
9781
|
const [isAddTaskModalOpen, setIsAddTaskModalOpen] = (0, import_react27.useState)(false);
|
|
9632
9782
|
const [addTaskEpic, setAddTaskEpic] = (0, import_react27.useState)(null);
|
|
9783
|
+
const [selectedTask, setSelectedTask] = (0, import_react27.useState)(null);
|
|
9784
|
+
const [selectedEpicIds, setSelectedEpicIds] = useLocalStorage(
|
|
9785
|
+
`epicsView_selectedEpics${projectId ? `_${projectId}` : ""}`,
|
|
9786
|
+
[]
|
|
9787
|
+
);
|
|
9788
|
+
const [isEpicSelectorOpen, setIsEpicSelectorOpen] = (0, import_react27.useState)(false);
|
|
9633
9789
|
const heroRef = (0, import_react27.useRef)(null);
|
|
9634
9790
|
const containerRef = (0, import_react27.useRef)(null);
|
|
9635
9791
|
(0, import_react27.useEffect)(() => {
|
|
9636
9792
|
setAvailableEpics(epics);
|
|
9793
|
+
const validIds = new Set(epics.map((e) => e.id.toString()));
|
|
9794
|
+
setSelectedEpicIds((prev) => prev.filter((id) => validIds.has(id)));
|
|
9637
9795
|
}, [epics]);
|
|
9796
|
+
(0, import_react27.useEffect)(() => {
|
|
9797
|
+
setAvailableTasks(tasks);
|
|
9798
|
+
if (selectedTask) {
|
|
9799
|
+
setSelectedTask(tasks.find((t) => t.id === selectedTask.id) || null);
|
|
9800
|
+
}
|
|
9801
|
+
}, [tasks]);
|
|
9638
9802
|
(0, import_react27.useEffect)(() => {
|
|
9639
9803
|
const measureHeroHeight = () => {
|
|
9640
9804
|
if (heroRef.current) {
|
|
9641
|
-
|
|
9642
|
-
setHeroHeight(height);
|
|
9805
|
+
setHeroHeight(heroRef.current.offsetHeight);
|
|
9643
9806
|
}
|
|
9644
9807
|
};
|
|
9645
9808
|
measureHeroHeight();
|
|
@@ -9664,6 +9827,12 @@ var EpicsView = ({
|
|
|
9664
9827
|
}, 300);
|
|
9665
9828
|
return () => clearTimeout(timer);
|
|
9666
9829
|
}, [editingEpic]);
|
|
9830
|
+
const visibleEpics = selectedEpicIds.length === 0 ? availableEpics : availableEpics.filter((e) => selectedEpicIds.includes(e.id.toString()));
|
|
9831
|
+
const toggleEpicView = (epicId) => {
|
|
9832
|
+
setSelectedEpicIds(
|
|
9833
|
+
(prev) => prev.includes(epicId) ? prev.filter((id) => id !== epicId) : [...prev, epicId]
|
|
9834
|
+
);
|
|
9835
|
+
};
|
|
9667
9836
|
const handleDragStart = (task) => {
|
|
9668
9837
|
setDraggedTask(task);
|
|
9669
9838
|
};
|
|
@@ -9673,14 +9842,41 @@ var EpicsView = ({
|
|
|
9673
9842
|
const handleDrop = (e, epicId) => {
|
|
9674
9843
|
e.preventDefault();
|
|
9675
9844
|
if (draggedTask && extractId(draggedTask.epic).toString() !== epicId) {
|
|
9676
|
-
onUpdateTask(draggedTask.id.toString(), {
|
|
9677
|
-
|
|
9678
|
-
|
|
9845
|
+
onUpdateTask(draggedTask.id.toString(), { epic: Number(epicId) });
|
|
9846
|
+
setAvailableTasks(
|
|
9847
|
+
(prev) => prev.map((t) => t.id === draggedTask.id ? { ...t, epic: Number(epicId) } : t)
|
|
9848
|
+
);
|
|
9679
9849
|
setDraggedTask(null);
|
|
9680
9850
|
}
|
|
9681
9851
|
};
|
|
9682
9852
|
const getTasksByEpic = (epicId) => {
|
|
9683
|
-
return
|
|
9853
|
+
return availableTasks.filter((task) => extractId(task.epic).toString() === epicId);
|
|
9854
|
+
};
|
|
9855
|
+
const handleTaskClick = (task) => {
|
|
9856
|
+
setSelectedTask(task);
|
|
9857
|
+
onTaskClick?.(task);
|
|
9858
|
+
};
|
|
9859
|
+
const handleUpdateTask = async (taskId, updates) => {
|
|
9860
|
+
setAvailableTasks(
|
|
9861
|
+
(prev) => prev.map((t) => t.id === Number(taskId) ? { ...t, ...updates } : t)
|
|
9862
|
+
);
|
|
9863
|
+
if (selectedTask?.id === Number(taskId)) {
|
|
9864
|
+
setSelectedTask((prev) => prev ? { ...prev, ...updates } : null);
|
|
9865
|
+
}
|
|
9866
|
+
await onUpdateTask(taskId, updates);
|
|
9867
|
+
};
|
|
9868
|
+
const handleDeleteTask = async (taskId) => {
|
|
9869
|
+
setAvailableTasks((prev) => prev.filter((t) => t.id !== Number(taskId)));
|
|
9870
|
+
if (selectedTask?.id === Number(taskId)) {
|
|
9871
|
+
setSelectedTask(null);
|
|
9872
|
+
}
|
|
9873
|
+
await onDeleteTask?.(taskId);
|
|
9874
|
+
};
|
|
9875
|
+
const handleRemoveFromEpic = (task) => {
|
|
9876
|
+
onUpdateTask(task.id.toString(), { epic: null });
|
|
9877
|
+
setAvailableTasks(
|
|
9878
|
+
(prev) => prev.map((t) => t.id === task.id ? { ...t, epic: null } : t)
|
|
9879
|
+
);
|
|
9684
9880
|
};
|
|
9685
9881
|
const handleEditEpic = (epic) => {
|
|
9686
9882
|
setEditingEpic(epic.id.toString());
|
|
@@ -9689,19 +9885,15 @@ var EpicsView = ({
|
|
|
9689
9885
|
description: epic.description,
|
|
9690
9886
|
confidence: epic.confidence,
|
|
9691
9887
|
phase: epic.phase
|
|
9692
|
-
// progress: epic.progress || 0, // This is a number, not a string
|
|
9693
9888
|
});
|
|
9694
9889
|
};
|
|
9695
9890
|
const handleSaveEdit = async () => {
|
|
9696
9891
|
if (editingEpic && editForm.name) {
|
|
9697
9892
|
await onUpdateEpic(editingEpic.toString(), editForm);
|
|
9698
9893
|
setAvailableEpics(
|
|
9699
|
-
(prev) => prev.map(
|
|
9700
|
-
|
|
9701
|
-
|
|
9702
|
-
}
|
|
9703
|
-
return epic;
|
|
9704
|
-
})
|
|
9894
|
+
(prev) => prev.map(
|
|
9895
|
+
(epic) => epic.id.toString() === editingEpic ? { ...epic, ...editForm } : epic
|
|
9896
|
+
)
|
|
9705
9897
|
);
|
|
9706
9898
|
setEditingEpic(null);
|
|
9707
9899
|
setEditForm({});
|
|
@@ -9717,6 +9909,7 @@ var EpicsView = ({
|
|
|
9717
9909
|
)) {
|
|
9718
9910
|
await onDeleteEpic(epicId);
|
|
9719
9911
|
setAvailableEpics((prev) => prev.filter((epic) => epic.id.toString() !== epicId));
|
|
9912
|
+
setSelectedEpicIds((prev) => prev.filter((id) => id !== epicId));
|
|
9720
9913
|
}
|
|
9721
9914
|
};
|
|
9722
9915
|
const getPhaseLabel = (phase) => {
|
|
@@ -9759,218 +9952,315 @@ var EpicsView = ({
|
|
|
9759
9952
|
}
|
|
9760
9953
|
}
|
|
9761
9954
|
) }),
|
|
9762
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex-1 min-h-0 mt-8", children: /* @__PURE__ */ (0, import_jsx_runtime49.
|
|
9955
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex-1 min-h-0 mt-8", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
9763
9956
|
"div",
|
|
9764
9957
|
{
|
|
9765
|
-
className: "h-full overflow-y-auto",
|
|
9958
|
+
className: "h-full overflow-y-auto no-scrollbar",
|
|
9766
9959
|
style: {
|
|
9767
9960
|
height: heroHeight > 0 ? `calc(100vh - ${heroHeight + 120}px)` : "calc(100vh - 12rem)"
|
|
9768
9961
|
},
|
|
9769
|
-
children:
|
|
9770
|
-
|
|
9771
|
-
|
|
9772
|
-
|
|
9773
|
-
|
|
9774
|
-
|
|
9775
|
-
|
|
9776
|
-
|
|
9777
|
-
|
|
9778
|
-
|
|
9779
|
-
|
|
9780
|
-
|
|
9781
|
-
|
|
9782
|
-
|
|
9783
|
-
|
|
9784
|
-
|
|
9785
|
-
|
|
9786
|
-
children: [
|
|
9787
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "p-4 border-b border-border", children: editingEpic === epic.id.toString() ? (
|
|
9788
|
-
/* Edit Mode */
|
|
9789
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "space-y-4", children: [
|
|
9790
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center justify-between", children: [
|
|
9791
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
9792
|
-
Input,
|
|
9793
|
-
{
|
|
9794
|
-
value: editForm.name || "",
|
|
9795
|
-
onChange: (e) => setEditForm({ ...editForm, name: e.target.value }),
|
|
9796
|
-
placeholder: "Epic name",
|
|
9797
|
-
className: "font-semibold"
|
|
9798
|
-
}
|
|
9799
|
-
),
|
|
9800
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex gap-2 ml-2", children: [
|
|
9801
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
9802
|
-
Button,
|
|
9803
|
-
{
|
|
9804
|
-
size: "sm",
|
|
9805
|
-
variant: "ghost",
|
|
9806
|
-
onClick: handleSaveEdit,
|
|
9807
|
-
className: "p-1 h-8 w-8",
|
|
9808
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react20.Check, { className: "h-4 w-4" })
|
|
9809
|
-
}
|
|
9810
|
-
),
|
|
9962
|
+
children: [
|
|
9963
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "mb-4", children: [
|
|
9964
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Card, { className: "p-3 bg-card shadow-sm", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center justify-between", children: [
|
|
9965
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center gap-3", children: [
|
|
9966
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { children: [
|
|
9967
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("h3", { className: "font-semibold text-foreground text-sm", children: "Epics" }),
|
|
9968
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("p", { className: "text-xs text-muted-foreground", children: selectedEpicIds.length === 0 ? "All showing" : `${selectedEpicIds.length}/${availableEpics.length} selected` })
|
|
9969
|
+
] }),
|
|
9970
|
+
selectedEpicIds.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
9971
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "text-xs text-muted-foreground", children: "Viewing:" }),
|
|
9972
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex flex-wrap gap-1", children: visibleEpics.map((epic) => /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
9973
|
+
"div",
|
|
9974
|
+
{
|
|
9975
|
+
className: "flex items-center gap-1 bg-primary/10 text-primary px-2 py-0.5 rounded text-xs",
|
|
9976
|
+
children: [
|
|
9977
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: `w-2 h-2 rounded-full ${epic.color}` }),
|
|
9978
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "max-w-[80px] truncate", children: epic.name }),
|
|
9811
9979
|
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
9812
|
-
|
|
9980
|
+
"button",
|
|
9813
9981
|
{
|
|
9814
|
-
|
|
9815
|
-
|
|
9816
|
-
onClick: handleCancelEdit,
|
|
9817
|
-
className: "p-1 h-8 w-8",
|
|
9982
|
+
onClick: () => toggleEpicView(epic.id.toString()),
|
|
9983
|
+
className: "ml-0.5 hover:bg-primary/20 h-8 rounded p-0.5",
|
|
9818
9984
|
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react20.X, { className: "h-4 w-4" })
|
|
9819
9985
|
}
|
|
9820
9986
|
)
|
|
9821
|
-
]
|
|
9987
|
+
]
|
|
9988
|
+
},
|
|
9989
|
+
epic.id
|
|
9990
|
+
)) })
|
|
9991
|
+
] })
|
|
9992
|
+
] }),
|
|
9993
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
9994
|
+
Button,
|
|
9995
|
+
{
|
|
9996
|
+
onClick: () => setIsEpicSelectorOpen(!isEpicSelectorOpen),
|
|
9997
|
+
variant: "outline",
|
|
9998
|
+
size: "sm",
|
|
9999
|
+
className: "gap-1",
|
|
10000
|
+
children: [
|
|
10001
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react20.Layers, { className: "h-3 w-3" }),
|
|
10002
|
+
isEpicSelectorOpen ? "Close" : "Select"
|
|
10003
|
+
]
|
|
10004
|
+
}
|
|
10005
|
+
)
|
|
10006
|
+
] }) }),
|
|
10007
|
+
isEpicSelectorOpen && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
10008
|
+
"div",
|
|
10009
|
+
{
|
|
10010
|
+
className: "fixed inset-0 bg-black/20 z-[5]",
|
|
10011
|
+
onClick: () => setIsEpicSelectorOpen(false)
|
|
10012
|
+
}
|
|
10013
|
+
),
|
|
10014
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
10015
|
+
"div",
|
|
10016
|
+
{
|
|
10017
|
+
className: `fixed top-0 right-0 h-full w-80 bg-background border-l shadow-xl z-10 transition-all duration-300 ease-in-out ${isEpicSelectorOpen ? "translate-x-0 opacity-100 visible" : "translate-x-full opacity-0 invisible"}`,
|
|
10018
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Card, { className: "h-full rounded-none border-0 flex flex-col", children: [
|
|
10019
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "p-4 border-b bg-muted/30 flex-shrink-0", children: [
|
|
10020
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center justify-between", children: [
|
|
10021
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("h3", { className: "font-semibold text-foreground text-base", children: "Select Epics" }),
|
|
10022
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
10023
|
+
Button,
|
|
10024
|
+
{
|
|
10025
|
+
variant: "ghost",
|
|
10026
|
+
size: "sm",
|
|
10027
|
+
onClick: () => setIsEpicSelectorOpen(false),
|
|
10028
|
+
className: "h-8 w-8 p-0",
|
|
10029
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react20.X, { className: "h-4 w-4" })
|
|
10030
|
+
}
|
|
10031
|
+
)
|
|
9822
10032
|
] }),
|
|
9823
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
9824
|
-
|
|
10033
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("p", { className: "text-sm text-muted-foreground mt-1", children: "Filter which epics to display. Select none to show all." })
|
|
10034
|
+
] }),
|
|
10035
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex flex-col flex-1 p-4 min-h-0", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "space-y-2 flex-1 overflow-y-auto no-scrollbar", children: availableEpics.length > 0 ? availableEpics.map((epic) => {
|
|
10036
|
+
const isSelected = selectedEpicIds.includes(epic.id.toString());
|
|
10037
|
+
const taskCount = availableTasks.filter(
|
|
10038
|
+
(t) => extractId(t.epic) === epic.id
|
|
10039
|
+
).length;
|
|
10040
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
10041
|
+
"div",
|
|
9825
10042
|
{
|
|
9826
|
-
|
|
9827
|
-
|
|
9828
|
-
|
|
9829
|
-
|
|
9830
|
-
|
|
9831
|
-
|
|
9832
|
-
|
|
9833
|
-
|
|
9834
|
-
|
|
9835
|
-
|
|
9836
|
-
|
|
9837
|
-
|
|
9838
|
-
|
|
9839
|
-
|
|
9840
|
-
|
|
9841
|
-
|
|
9842
|
-
|
|
9843
|
-
|
|
9844
|
-
|
|
9845
|
-
|
|
9846
|
-
|
|
9847
|
-
|
|
9848
|
-
|
|
9849
|
-
|
|
9850
|
-
|
|
9851
|
-
|
|
9852
|
-
|
|
9853
|
-
|
|
9854
|
-
|
|
9855
|
-
|
|
9856
|
-
|
|
9857
|
-
|
|
9858
|
-
|
|
9859
|
-
|
|
9860
|
-
|
|
9861
|
-
|
|
9862
|
-
|
|
9863
|
-
|
|
9864
|
-
|
|
9865
|
-
|
|
9866
|
-
|
|
9867
|
-
|
|
9868
|
-
|
|
9869
|
-
|
|
9870
|
-
|
|
9871
|
-
|
|
9872
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center gap-2 mb-2", children: [
|
|
9873
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: `w-4 h-4 rounded-full ${epic.color}` }),
|
|
9874
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("h3", { className: "font-semibold text-foreground select-none flex-1", children: epic.name }),
|
|
9875
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex gap-1", children: [
|
|
10043
|
+
className: `p-3 rounded-lg border transition-all ${isSelected ? "bg-primary/10 border-primary/30 ring-1 ring-primary/20" : "bg-card border-border"}`,
|
|
10044
|
+
children: [
|
|
10045
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center justify-between", children: [
|
|
10046
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center gap-2 flex-1 min-w-0", children: [
|
|
10047
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: `w-3 h-3 rounded-full flex-shrink-0 ${epic.color}` }),
|
|
10048
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("p", { className: "font-medium text-sm text-foreground truncate", children: epic.name })
|
|
10049
|
+
] }),
|
|
10050
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "ml-2 flex items-center gap-1", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Badge, { variant: "secondary", className: "text-xs", children: taskCount }) })
|
|
10051
|
+
] }),
|
|
10052
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
10053
|
+
Button,
|
|
10054
|
+
{
|
|
10055
|
+
variant: isSelected ? "default" : "outline",
|
|
10056
|
+
size: "sm",
|
|
10057
|
+
className: "w-full mt-2 text-xs h-7",
|
|
10058
|
+
onClick: () => toggleEpicView(epic.id.toString()),
|
|
10059
|
+
children: isSelected ? "Deselect" : "Select"
|
|
10060
|
+
}
|
|
10061
|
+
)
|
|
10062
|
+
]
|
|
10063
|
+
},
|
|
10064
|
+
epic.id
|
|
10065
|
+
);
|
|
10066
|
+
}) : /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("p", { className: "text-sm text-muted-foreground text-center py-8", children: "No epics yet. Add one to get started." }) }) })
|
|
10067
|
+
] })
|
|
10068
|
+
}
|
|
10069
|
+
)
|
|
10070
|
+
] }),
|
|
10071
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5 2xl:grid-cols-6 gap-3 auto-rows-max", children: visibleEpics.map((epic) => {
|
|
10072
|
+
const epicTasks = getTasksByEpic(epic.id.toString());
|
|
10073
|
+
const totalPoints = epicTasks.reduce(
|
|
10074
|
+
(sum, task) => sum + (task.storyPoints || 0),
|
|
10075
|
+
0
|
|
10076
|
+
);
|
|
10077
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
10078
|
+
Card,
|
|
10079
|
+
{
|
|
10080
|
+
className: "flex flex-col bg-card shadow-sm",
|
|
10081
|
+
style: { maxHeight: "420px" },
|
|
10082
|
+
onDragOver: handleDragOver,
|
|
10083
|
+
onDrop: (e) => handleDrop(e, epic.id.toString()),
|
|
10084
|
+
children: [
|
|
10085
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "p-3 border-b border-border flex-shrink-0", children: editingEpic === epic.id.toString() ? (
|
|
10086
|
+
/* Edit Mode */
|
|
10087
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "space-y-3", children: [
|
|
10088
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center justify-between", children: [
|
|
9876
10089
|
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
9877
|
-
|
|
10090
|
+
Input,
|
|
9878
10091
|
{
|
|
9879
|
-
|
|
9880
|
-
|
|
9881
|
-
|
|
9882
|
-
className: "
|
|
9883
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react20.Edit2, { className: "h-3 w-3" })
|
|
10092
|
+
value: editForm.name || "",
|
|
10093
|
+
onChange: (e) => setEditForm({ ...editForm, name: e.target.value }),
|
|
10094
|
+
placeholder: "Epic name",
|
|
10095
|
+
className: "font-semibold text-sm"
|
|
9884
10096
|
}
|
|
9885
10097
|
),
|
|
9886
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.
|
|
9887
|
-
|
|
9888
|
-
|
|
9889
|
-
|
|
9890
|
-
|
|
9891
|
-
|
|
9892
|
-
|
|
9893
|
-
|
|
9894
|
-
|
|
9895
|
-
|
|
9896
|
-
|
|
9897
|
-
|
|
9898
|
-
|
|
9899
|
-
|
|
9900
|
-
|
|
9901
|
-
|
|
9902
|
-
|
|
9903
|
-
|
|
9904
|
-
|
|
9905
|
-
|
|
10098
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex gap-1 ml-2", children: [
|
|
10099
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
10100
|
+
Button,
|
|
10101
|
+
{
|
|
10102
|
+
size: "sm",
|
|
10103
|
+
variant: "ghost",
|
|
10104
|
+
onClick: handleSaveEdit,
|
|
10105
|
+
className: "p-1 h-7 w-7",
|
|
10106
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react20.Check, { className: "h-3 w-3" })
|
|
10107
|
+
}
|
|
10108
|
+
),
|
|
10109
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
10110
|
+
Button,
|
|
10111
|
+
{
|
|
10112
|
+
size: "sm",
|
|
10113
|
+
variant: "ghost",
|
|
10114
|
+
onClick: handleCancelEdit,
|
|
10115
|
+
className: "p-1 h-7 w-7",
|
|
10116
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react20.X, { className: "h-3 w-3" })
|
|
10117
|
+
}
|
|
10118
|
+
)
|
|
10119
|
+
] })
|
|
9906
10120
|
] }),
|
|
9907
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.
|
|
9908
|
-
|
|
10121
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
10122
|
+
Textarea,
|
|
9909
10123
|
{
|
|
9910
|
-
|
|
9911
|
-
|
|
9912
|
-
|
|
9913
|
-
|
|
9914
|
-
" tasks"
|
|
9915
|
-
]
|
|
10124
|
+
value: editForm.description || "",
|
|
10125
|
+
onChange: (e) => setEditForm({ ...editForm, description: e.target.value }),
|
|
10126
|
+
placeholder: "Epic description",
|
|
10127
|
+
className: "text-xs min-h-[50px]"
|
|
9916
10128
|
}
|
|
9917
10129
|
),
|
|
10130
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "grid grid-cols-2 gap-2", children: [
|
|
10131
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { children: [
|
|
10132
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("label", { className: "text-xs text-muted-foreground", children: "Confidence" }),
|
|
10133
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
10134
|
+
"select",
|
|
10135
|
+
{
|
|
10136
|
+
value: editForm.confidence || epic.confidence,
|
|
10137
|
+
onChange: (e) => setEditForm({
|
|
10138
|
+
...editForm,
|
|
10139
|
+
confidence: e.target.value
|
|
10140
|
+
}),
|
|
10141
|
+
className: "flex h-7 w-full rounded-md border border-input bg-background px-2 py-1 text-xs ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
10142
|
+
children: [
|
|
10143
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("option", { value: "low", children: "Low" }),
|
|
10144
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("option", { value: "medium", children: "Medium" }),
|
|
10145
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("option", { value: "high", children: "High" })
|
|
10146
|
+
]
|
|
10147
|
+
}
|
|
10148
|
+
)
|
|
10149
|
+
] }),
|
|
10150
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { children: [
|
|
10151
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("label", { className: "text-xs text-muted-foreground", children: "Phase" }),
|
|
10152
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
10153
|
+
"select",
|
|
10154
|
+
{
|
|
10155
|
+
value: editForm.phase?.toString() || epic.phase.toString(),
|
|
10156
|
+
onChange: (e) => setEditForm({ ...editForm, phase: parseInt(e.target.value) }),
|
|
10157
|
+
className: "flex h-7 w-full rounded-md border border-input bg-background px-2 py-1 text-xs ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
|
|
10158
|
+
children: [1, 2, 3, 4, 5, 6, 7, 8, 9].map((phase) => /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("option", { value: phase.toString(), children: [
|
|
10159
|
+
"Phase ",
|
|
10160
|
+
phase
|
|
10161
|
+
] }, phase))
|
|
10162
|
+
}
|
|
10163
|
+
)
|
|
10164
|
+
] })
|
|
10165
|
+
] })
|
|
10166
|
+
] })
|
|
10167
|
+
) : (
|
|
10168
|
+
/* Display Mode */
|
|
10169
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_jsx_runtime49.Fragment, { children: [
|
|
10170
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center gap-1.5 mb-1.5", children: [
|
|
10171
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: `w-3 h-3 rounded-full flex-shrink-0 ${epic.color}` }),
|
|
10172
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("h3", { className: "font-semibold text-foreground text-sm select-none flex-1 truncate", children: epic.name }),
|
|
10173
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex gap-0.5", children: [
|
|
10174
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
10175
|
+
Button,
|
|
10176
|
+
{
|
|
10177
|
+
size: "sm",
|
|
10178
|
+
variant: "ghost",
|
|
10179
|
+
onClick: () => handleEditEpic(epic),
|
|
10180
|
+
className: "p-1 h-6 w-6",
|
|
10181
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react20.Edit2, { className: "h-3 w-3" })
|
|
10182
|
+
}
|
|
10183
|
+
),
|
|
10184
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
10185
|
+
Button,
|
|
10186
|
+
{
|
|
10187
|
+
size: "sm",
|
|
10188
|
+
variant: "ghost",
|
|
10189
|
+
onClick: () => handleDeleteEpic(epic.id.toString()),
|
|
10190
|
+
className: "p-1 h-6 w-6 hover:bg-destructive/10 hover:text-destructive",
|
|
10191
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react20.Trash2, { className: "h-3 w-3" })
|
|
10192
|
+
}
|
|
10193
|
+
)
|
|
10194
|
+
] })
|
|
10195
|
+
] }),
|
|
10196
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex flex-wrap gap-1 mb-2", children: [
|
|
10197
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Badge, { className: `text-xs px-1.5 py-0 ${getConfidenceColor(epic.confidence)}`, children: epic.confidence }),
|
|
10198
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Badge, { variant: "outline", className: "text-xs px-1.5 py-0", children: getPhaseLabel(epic.phase) }),
|
|
10199
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Badge, { variant: "secondary", className: "text-xs px-1.5 py-0 bg-muted text-muted-foreground", children: [
|
|
10200
|
+
epicTasks.length,
|
|
10201
|
+
"t \xB7 ",
|
|
10202
|
+
totalPoints,
|
|
10203
|
+
"pt"
|
|
10204
|
+
] })
|
|
10205
|
+
] }),
|
|
10206
|
+
epic.description && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("p", { className: "text-xs text-muted-foreground mb-2 select-none line-clamp-2", children: epic.description }),
|
|
9918
10207
|
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
|
|
9919
|
-
|
|
10208
|
+
Button,
|
|
9920
10209
|
{
|
|
9921
|
-
|
|
9922
|
-
|
|
10210
|
+
onClick: () => {
|
|
10211
|
+
setIsAddTaskModalOpen(true);
|
|
10212
|
+
setAddTaskEpic(epic);
|
|
10213
|
+
},
|
|
10214
|
+
variant: "outline",
|
|
10215
|
+
size: "sm",
|
|
10216
|
+
className: "w-full gap-1 h-7 text-xs",
|
|
9923
10217
|
children: [
|
|
9924
|
-
|
|
9925
|
-
"
|
|
10218
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react20.Plus, { className: "h-3 w-3" }),
|
|
10219
|
+
"Add Task"
|
|
9926
10220
|
]
|
|
9927
10221
|
}
|
|
9928
10222
|
)
|
|
9929
|
-
] })
|
|
9930
|
-
|
|
9931
|
-
|
|
9932
|
-
|
|
9933
|
-
|
|
9934
|
-
|
|
9935
|
-
|
|
9936
|
-
|
|
9937
|
-
}
|
|
9938
|
-
|
|
9939
|
-
|
|
9940
|
-
|
|
9941
|
-
|
|
9942
|
-
|
|
9943
|
-
|
|
9944
|
-
|
|
9945
|
-
|
|
9946
|
-
|
|
9947
|
-
|
|
9948
|
-
|
|
9949
|
-
|
|
9950
|
-
|
|
9951
|
-
|
|
9952
|
-
|
|
9953
|
-
|
|
9954
|
-
|
|
9955
|
-
|
|
9956
|
-
|
|
9957
|
-
|
|
9958
|
-
|
|
9959
|
-
|
|
9960
|
-
|
|
9961
|
-
|
|
9962
|
-
|
|
9963
|
-
|
|
9964
|
-
|
|
9965
|
-
|
|
9966
|
-
|
|
9967
|
-
|
|
9968
|
-
|
|
9969
|
-
|
|
9970
|
-
},
|
|
9971
|
-
epic.id
|
|
9972
|
-
);
|
|
9973
|
-
}) })
|
|
10223
|
+
] })
|
|
10224
|
+
) }),
|
|
10225
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex-1 p-2 overflow-y-auto no-scrollbar min-h-0", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
10226
|
+
"div",
|
|
10227
|
+
{
|
|
10228
|
+
className: `space-y-2 min-h-[80px] border-2 border-dashed rounded p-2 transition-colors ${draggedTask ? "border-primary bg-primary/10" : "border-border"}`,
|
|
10229
|
+
children: epicTasks.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex flex-col items-center justify-center h-16 text-muted-foreground", children: [
|
|
10230
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react20.Move, { className: "h-5 w-5 mb-1" }),
|
|
10231
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("span", { className: "text-xs select-none", children: "Drop tasks here" })
|
|
10232
|
+
] }) : epicTasks.map((task) => /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "relative group", children: [
|
|
10233
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
10234
|
+
TaskCard,
|
|
10235
|
+
{
|
|
10236
|
+
task,
|
|
10237
|
+
epic,
|
|
10238
|
+
onDragStart: handleDragStart,
|
|
10239
|
+
onTaskClick: handleTaskClick,
|
|
10240
|
+
isCompact: true
|
|
10241
|
+
}
|
|
10242
|
+
),
|
|
10243
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
10244
|
+
"button",
|
|
10245
|
+
{
|
|
10246
|
+
onClick: (e) => {
|
|
10247
|
+
e.stopPropagation();
|
|
10248
|
+
handleRemoveFromEpic(task);
|
|
10249
|
+
},
|
|
10250
|
+
title: "Remove from epic",
|
|
10251
|
+
className: "absolute top-1 right-1 opacity-0 group-hover:opacity-100 transition-opacity bg-background/80 hover:bg-destructive/10 hover:text-destructive rounded p-0.5",
|
|
10252
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react20.X, { className: "h-3 w-3" })
|
|
10253
|
+
}
|
|
10254
|
+
)
|
|
10255
|
+
] }, task.id))
|
|
10256
|
+
}
|
|
10257
|
+
) })
|
|
10258
|
+
]
|
|
10259
|
+
},
|
|
10260
|
+
epic.id
|
|
10261
|
+
);
|
|
10262
|
+
}) })
|
|
10263
|
+
]
|
|
9974
10264
|
}
|
|
9975
10265
|
) })
|
|
9976
10266
|
] }),
|
|
@@ -9993,6 +10283,23 @@ var EpicsView = ({
|
|
|
9993
10283
|
defaultEpicId: addTaskEpic?.id.toString() || "",
|
|
9994
10284
|
sprints
|
|
9995
10285
|
}
|
|
10286
|
+
),
|
|
10287
|
+
selectedTask && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
10288
|
+
TaskDetailsModal,
|
|
10289
|
+
{
|
|
10290
|
+
isOpen: !!selectedTask,
|
|
10291
|
+
onClose: () => setSelectedTask(null),
|
|
10292
|
+
initialTask: selectedTask,
|
|
10293
|
+
epics: availableEpics,
|
|
10294
|
+
sprints,
|
|
10295
|
+
onUpdateTask: handleUpdateTask,
|
|
10296
|
+
onDeleteTask: handleDeleteTask,
|
|
10297
|
+
onAddComment,
|
|
10298
|
+
colleagues,
|
|
10299
|
+
onUploadFile,
|
|
10300
|
+
onDeleteFile,
|
|
10301
|
+
onFileUpdate
|
|
10302
|
+
}
|
|
9996
10303
|
)
|
|
9997
10304
|
] });
|
|
9998
10305
|
};
|