uigraph 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.mjs +134 -56911
- package/dist/viewer/assets/abnfDiagram-VCTEODGH-D7zWJuPJ.js +1 -0
- package/dist/viewer/assets/actor-avatar-Bu-mKKXB.js +1 -0
- package/dist/viewer/assets/{api-adapters-CnQpLiWI.js → api-adapters-tfr51BsS.js} +1 -1
- package/dist/viewer/assets/{api-endpoints-DCA5GNpC.js → api-endpoints-D-Whnnwd.js} +9 -9
- package/dist/viewer/assets/{api-group-endpoints-page-Di42W69y.js → api-group-endpoints-page-B9R1EI4i.js} +9 -9
- package/dist/viewer/assets/{arc-Cn8owoDw.js → arc-DauzQXFu.js} +1 -1
- package/dist/viewer/assets/architectureDiagram-5GKGNRK7-CXzgHd-c.js +36 -0
- package/dist/viewer/assets/{arrow-left-DWcMgM2U.js → arrow-left-DpQqmf17.js} +1 -1
- package/dist/viewer/assets/avatar-DAFUyk1i.js +43 -0
- package/dist/viewer/assets/badge-hR3QvPWv.js +1 -0
- package/dist/viewer/assets/better-delete-confirmation-modal-CGEQ5O4X.js +1 -0
- package/dist/viewer/assets/better-dialog-DcIxFWwk.js +1 -0
- package/dist/viewer/assets/{blockDiagram-I7D4REHJ-CbYzOsL_.js → blockDiagram-I7D4REHJ-CFHWUw4z.js} +2 -2
- package/dist/viewer/assets/{brands-Bd4RklRx.js → brands-DtmA1AhP.js} +1 -1
- package/dist/viewer/assets/button-DZj74qS7.js +1 -0
- package/dist/viewer/assets/{c4Diagram-7LVT6UL2-CLkVbphC.js → c4Diagram-7LVT6UL2-BHSggPKI.js} +6 -6
- package/dist/viewer/assets/{calendar-C0xdI_ag.js → calendar-Bolgc8E5.js} +1 -1
- package/dist/viewer/assets/channel-CNRSofFP.js +1 -0
- package/dist/viewer/assets/{check-XjanpAFg.js → check-BpmCQNbj.js} +1 -1
- package/dist/viewer/assets/checkbox-CFJfXL6R.js +1 -0
- package/dist/viewer/assets/{chevron-down-R7pQzyLD.js → chevron-down-DDsUE_xz.js} +1 -1
- package/dist/viewer/assets/{chevron-up-CRPypfOs.js → chevron-up-DVznKMGv.js} +1 -1
- package/dist/viewer/assets/{chunk-2Q5K7J3B-CcvtugCu.js → chunk-2Q5K7J3B-CNfz5YDQ.js} +1 -1
- package/dist/viewer/assets/{chunk-5VM5RSS4-CpZHHr12.js → chunk-5VM5RSS4-CwIhjvMe.js} +1 -1
- package/dist/viewer/assets/{chunk-F27PBJKO-DeAl4iOc.js → chunk-F27PBJKO-YFexFJof.js} +1 -1
- package/dist/viewer/assets/{chunk-IMKFNOWR-BfrPe7pS.js → chunk-IMKFNOWR-GY2yrvuo.js} +1 -1
- package/dist/viewer/assets/{chunk-JWPE2WC7-DDjyvUmZ.js → chunk-JWPE2WC7-xd0JGvne.js} +1 -1
- package/dist/viewer/assets/chunk-OB3PAWPO-DJIP1M4r.js +12 -0
- package/dist/viewer/assets/{chunk-POPQ4Y6H-DkDb0mzz.js → chunk-POPQ4Y6H-Bh6rizEy.js} +1 -1
- package/dist/viewer/assets/{chunk-SVP7TREG-D-K2XIGs.js → chunk-SVP7TREG-DtNrjvpq.js} +1 -1
- package/dist/viewer/assets/{chunk-TICWLB2K-DWMQQx6z.js → chunk-TICWLB2K-DrERwtw8.js} +1 -1
- package/dist/viewer/assets/{chunk-XXDRQBXY-DfkljAyM.js → chunk-XXDRQBXY-fYo04iwY.js} +1 -1
- package/dist/viewer/assets/{circle-alert-pm13M-Ef.js → circle-alert-Bl7DXYD_.js} +1 -1
- package/dist/viewer/assets/classDiagram-ZZMXUADV-D7PO-ME9.js +1 -0
- package/dist/viewer/assets/classDiagram-v2-VYDZK3BY-D7PO-ME9.js +1 -0
- package/dist/viewer/assets/color-input-ClkkG_kZ.js +11 -0
- package/dist/viewer/assets/{common-Y7ySZBdh.js → common-DLCsGQ-t.js} +1 -1
- package/dist/viewer/assets/{component-icons-D1BDAuEt.js → component-icons-MJ61E9nt.js} +2 -2
- package/dist/viewer/assets/{copy-CN4K2f_R.js → copy-DMJJonQF.js} +1 -1
- package/dist/viewer/assets/cose-bilkent-JH36ORCC-Dplz8nVT.js +1 -0
- package/dist/viewer/assets/cross-button-D5qst1tj.js +1 -0
- package/dist/viewer/assets/{cynefin-OW5HDTMX-yz-uw9Kz.js → cynefin-OW5HDTMX-DiBs4CI8.js} +1 -1
- package/dist/viewer/assets/cynefinDiagram-5FMLGOSQ-COXS8-dI.js +62 -0
- package/dist/viewer/assets/{dagre-GXQ25YYZ-zjZDwXOe.js → dagre-GXQ25YYZ-K8qvfG8D.js} +2 -2
- package/dist/viewer/assets/dashboard-diagrams-page-Cb0xNr4W.js +2 -0
- package/dist/viewer/assets/dashboard-diagrams-page-inner-CD--zr5q.js +1 -0
- package/dist/viewer/assets/dashboard-docs-page-BfWR9Ai9.js +2 -0
- package/dist/viewer/assets/dashboard-docs-page-inner-BLbX-YwF.js +67 -0
- package/dist/viewer/assets/dashboard-layout-sTeeHNsZ.js +1 -0
- package/dist/viewer/assets/dashboard-lens-layout-D-tu_4kn.js +1 -0
- package/dist/viewer/assets/dashboard-map-frame-page-7pDmbTSe.js +1 -0
- package/dist/viewer/assets/dashboard-plans-page-CfwOZ34A.js +1 -0
- package/dist/viewer/assets/dashboard-service-apis-k93fjW51.js +1 -0
- package/dist/viewer/assets/{dashboard-service-diagrams-CIjk95Jk.js → dashboard-service-diagrams-BIWUxX-Y.js} +3 -3
- package/dist/viewer/assets/dashboard-service-docs-CnniTD6Q.js +1 -0
- package/dist/viewer/assets/{dashboard-service-overview-CzePVPjl.js → dashboard-service-overview-CGBu4omY.js} +5 -5
- package/dist/viewer/assets/dashboard-services-DEscIO2O.js +1 -0
- package/dist/viewer/assets/{db-type-badge-DOgu1Pyc.js → db-type-badge-UbPgpwQf.js} +2 -2
- package/dist/viewer/assets/debounce-Cp8eREM4-D7o-Pzb-.js +2 -0
- package/dist/viewer/assets/{dependencies-CYdEztHw.js → dependencies-DK2GDlhQ.js} +1 -1
- package/dist/viewer/assets/{dependency-graph-DbyfN-rC.js → dependency-graph-xBEnCS0J.js} +3 -3
- package/dist/viewer/assets/{diagram-S7CK7UJ4-q-NHkUCx.js → diagram-S7CK7UJ4-D-liadVe.js} +2 -2
- package/dist/viewer/assets/diagram-UQ7AKVKN-CnA8mgXp.js +41 -0
- package/dist/viewer/assets/{diagram-VSXAHHWV-DZc1kHGx.js → diagram-VSXAHHWV-Ck7dgRFR.js} +2 -2
- package/dist/viewer/assets/diagram-VX7I27RA-Cm1LHbu3.js +24 -0
- package/dist/viewer/assets/diagram-Z3DM3KII-DV3yBUCB.js +24 -0
- package/dist/viewer/assets/diagram-live-preview-DzJ7Nxp1.js +2 -0
- package/dist/viewer/assets/{diagram-portal-page-CWxuok9E.js → diagram-portal-page-gguGLULH.js} +24 -24
- package/dist/viewer/assets/{diagrams-C1xkRPqT.js → diagrams-BqBSv2eb.js} +4 -4
- package/dist/viewer/assets/dialog-D7wzTt0L.js +6 -0
- package/dist/viewer/assets/{doc-file-content-B06roi8L.js → doc-file-content-Be0au9Vo.js} +4 -4
- package/dist/viewer/assets/{download-CLdCXVsO.js → download-DhyZ3g4F.js} +1 -1
- package/dist/viewer/assets/ebnfDiagram-PWID7BFC-BXbHVQvG.js +1 -0
- package/dist/viewer/assets/{editor-vqK4qAnB.js → editor-F9o4zoeB.js} +2 -2
- package/dist/viewer/assets/{erDiagram-RLTQ6QDP-BWuA-aqV.js → erDiagram-RLTQ6QDP-DMfiWput.js} +2 -2
- package/dist/viewer/assets/{file-text-BvszilVL.js → file-text-BFqJQ67P.js} +1 -1
- package/dist/viewer/assets/flow-diagram-preview-B83UU1n_.js +1 -0
- package/dist/viewer/assets/{flowDiagram-HODETNUW-Db0QtNj4.js → flowDiagram-HODETNUW-BNFS2Mkr.js} +1 -1
- package/dist/viewer/assets/ganttDiagram-EL5Y4UJY-DFDsYJNp.js +292 -0
- package/dist/viewer/assets/gitGraphDiagram-WWUBYQGX-BVHabPDp.js +106 -0
- package/dist/viewer/assets/global-loader-XJO9_e0l.js +1 -0
- package/dist/viewer/assets/{globe-Jl6eIZmG.js → globe-CJ35KsQW.js} +1 -1
- package/dist/viewer/assets/gql-FFIj8zdp.js +1 -0
- package/dist/viewer/assets/{grid-scroll-body-CPqSxU6-.js → grid-scroll-body-DC5pYDPJ.js} +2 -2
- package/dist/viewer/assets/iconBase-DtqdW2XR.js +1 -0
- package/dist/viewer/assets/index-B6MxYIzs.js +1 -0
- package/dist/viewer/assets/index-BC5xdBQU.js +48 -0
- package/dist/viewer/assets/index-BIrx3oY4.js +1 -0
- package/dist/viewer/assets/{index-jm22RWpY.js → index-BZGsDmUx.js} +5 -5
- package/dist/viewer/assets/{index-Poftp9f1.js → index-BZXhpoWr.js} +4 -4
- package/dist/viewer/assets/index-Bn2bqqMd.js +1 -0
- package/dist/viewer/assets/{index-HU5pz3kj.js → index-BpCVYTvP.js} +36 -36
- package/dist/viewer/assets/{index-Bt2YHgxl.js → index-CBOYhBKJ.js} +1 -1
- package/dist/viewer/assets/index-CH7cEAxj.js +17 -0
- package/dist/viewer/assets/index-CIf0GId3.js +74 -0
- package/dist/viewer/assets/{index-D7MEHpJf.js → index-Ck66Ic_p.js} +4 -4
- package/dist/viewer/assets/index-Cp9mIQ8F.js +1 -0
- package/dist/viewer/assets/{index-c6Bxcoqm.js → index-DDmBuMKI.js} +1 -1
- package/dist/viewer/assets/{index-BSyJbFDG.js → index-DY3BFyb6.js} +1 -1
- package/dist/viewer/assets/{index-BS94XVnd.js → index-DkzZ-ZvR.js} +1 -1
- package/dist/viewer/assets/{index-C_43VC19.js → index-PglMbhys.js} +1 -1
- package/dist/viewer/assets/infoDiagram-27XIBGKW-CG-wwxBf.js +2 -0
- package/dist/viewer/assets/input--C59pq6j.js +1 -0
- package/dist/viewer/assets/{ishikawaDiagram-5VMMS53U-C4PzFnZ4.js → ishikawaDiagram-5VMMS53U-BlgV7ceJ.js} +2 -2
- package/dist/viewer/assets/{journeyDiagram-3NMN7TZE-Dpn3bBNo.js → journeyDiagram-3NMN7TZE-Cn03_Xl6.js} +2 -2
- package/dist/viewer/assets/{kanban-definition-UXKFOSKX-CJ99H4G6.js → kanban-definition-UXKFOSKX-CJogvDPY.js} +6 -6
- package/dist/viewer/assets/{layout-Bfvxt_D5.js → layout-B26eC4yQ.js} +1 -1
- package/dist/viewer/assets/{lens-run-page-DZneics-.js → lens-run-page-Ba1ppzJt.js} +3 -3
- package/dist/viewer/assets/lens-runs-page-BnUS57LM.js +1 -0
- package/dist/viewer/assets/{link-2-C75goIOt.js → link-2-D1e0xznG.js} +1 -1
- package/dist/viewer/assets/linked-project-dot-BY1gEES9.js +543 -0
- package/dist/viewer/assets/{loader-circle-C5jZoM7X.js → loader-circle-CiqyoJF7.js} +1 -1
- package/dist/viewer/assets/{merge-Cy7YkrN7.js → merge-BhOMvhW1.js} +1 -1
- package/dist/viewer/assets/mermaid.core-BDgZg3kW.js +312 -0
- package/dist/viewer/assets/method-badge-DErZP7y5.js +1 -0
- package/dist/viewer/assets/{mindmap-definition-YA3MSWOX-yQCKA-K4.js → mindmap-definition-YA3MSWOX-DFkLu0ac.js} +2 -2
- package/dist/viewer/assets/nav-links-DZWMpwMR.js +61 -0
- package/dist/viewer/assets/{network-COWNXGMM.js → network-B1apzT1s.js} +1 -1
- package/dist/viewer/assets/{nosql-editor-modal-DTiWkc_r.js → nosql-editor-modal-CvH0SWAi.js} +5 -5
- package/dist/viewer/assets/not-found-page-C-fn8QeM.js +1 -0
- package/dist/viewer/assets/organization-dependency-graph-page-BryP-iJL.js +1 -0
- package/dist/viewer/assets/pegDiagram-XKGWAZYB-g1cM14-L.js +1 -0
- package/dist/viewer/assets/{pieDiagram-E7YTZNPT-DqnkpCX4.js → pieDiagram-E7YTZNPT-WEnDsMY3.js} +2 -2
- package/dist/viewer/assets/{plus-DQakmTjA.js → plus-DbyuOgKB.js} +1 -1
- package/dist/viewer/assets/popover-476u3TN0.js +1 -0
- package/dist/viewer/assets/preload-helper-BlTxHScW.js +1 -0
- package/dist/viewer/assets/{quadrantDiagram-AXDQQJYC-iQjJfars.js → quadrantDiagram-AXDQQJYC-NdfQCpzF.js} +2 -2
- package/dist/viewer/assets/query-D9oj6LGx.js +50 -0
- package/dist/viewer/assets/{quill-rCHj4fCw.js → quill-Cde5JMRD.js} +1 -1
- package/dist/viewer/assets/railroadDiagram-O6MQD6OU-BYhlXlMY.js +1 -0
- package/dist/viewer/assets/{react-BNzYaZuG.js → react-Bx48XWN4.js} +1 -1
- package/dist/viewer/assets/react-flow-wrapper-BcbvHgxz.js +277 -0
- package/dist/viewer/assets/{requirementDiagram-BXWQKSXE-Bv-Vh1dW.js → requirementDiagram-BXWQKSXE-C25Bcm2L.js} +2 -2
- package/dist/viewer/assets/{sankeyDiagram-P5KCCOFB-C__uD07f.js → sankeyDiagram-P5KCCOFB-h8LiCsgk.js} +2 -2
- package/dist/viewer/assets/scroll-area-RagrStGj.js +6 -0
- package/dist/viewer/assets/{search-DW-qhXLk.js → search-vw7ucoOs.js} +1 -1
- package/dist/viewer/assets/section-loader-C4hOfhQS.js +1 -0
- package/dist/viewer/assets/section-not-found-BnrXiPog.js +1 -0
- package/dist/viewer/assets/select-D9fbrr7O.js +1 -0
- package/dist/viewer/assets/{sequenceDiagram-WJ2MYXX4-1RbvcHwO.js → sequenceDiagram-WJ2MYXX4-CDRVvD30.js} +2 -2
- package/dist/viewer/assets/{service-context-C17u_Fw9.js → service-context-D5nBtU18.js} +1 -1
- package/dist/viewer/assets/{service-database-list-page-cYuDHIls.js → service-database-list-page-DBjaDLVy.js} +2 -2
- package/dist/viewer/assets/service-database-page-CenNCgwf.js +2 -0
- package/dist/viewer/assets/service-database-page-inner-gS51TQTZ.js +85 -0
- package/dist/viewer/assets/{service-doc-Dir8g83J.js → service-doc-C-jHqT1U.js} +4 -4
- package/dist/viewer/assets/{service-doc-preview-modal-bJ6tJ5YR.js → service-doc-preview-modal-5sX6FOu1.js} +2 -2
- package/dist/viewer/assets/service-layout-Bf0vZBCH.js +1 -0
- package/dist/viewer/assets/service-pages-CFikvX4t.js +1 -0
- package/dist/viewer/assets/{services-Crqkffr5.js → services-Ivav34WC.js} +4 -4
- package/dist/viewer/assets/{share-2-BmYmqN4k.js → share-2-CQEaWbfH.js} +1 -1
- package/dist/viewer/assets/sizeCapture-INFHLROL-BJ6ndnPM.js +1 -0
- package/dist/viewer/assets/stateDiagram-D77RDMKH-B_tNCX3o.js +1 -0
- package/dist/viewer/assets/stateDiagram-v2-MP3YSRHH-Dl9wqdli.js +1 -0
- package/dist/viewer/assets/{style-DgSU0bQl.js → style-BPesJvJr.js} +8 -8
- package/dist/viewer/assets/super-circle-loader-DSkos6uP.js +1 -0
- package/dist/viewer/assets/super-logo-loader-Cxlbn6MB.js +1 -0
- package/dist/viewer/assets/swimlanes-42K2YHIH-CzURzYwf.js +1 -0
- package/dist/viewer/assets/swimlanesDiagram-VR7AAH4N-DrIlwFtk.js +8 -0
- package/dist/viewer/assets/table-B4pFND-o.js +1 -0
- package/dist/viewer/assets/textarea-Clgdv3Oi.js +1 -0
- package/dist/viewer/assets/{timeline-definition-24CTP7MA-C4yuLwUH.js → timeline-definition-24CTP7MA-D0YXQE1U.js} +2 -2
- package/dist/viewer/assets/ui-graph-logo-gHowu5gP.js +1 -0
- package/dist/viewer/assets/{upload-CRsS43j9.js → upload-CYb3nN_5.js} +1 -1
- package/dist/viewer/assets/{uploads-BOQHX9l4.js → uploads-CX2kdXbM.js} +8 -8
- package/dist/viewer/assets/{use-debounced-value-Ba-kkCUY.js → use-debounced-value-BpNFJd3C.js} +1 -1
- package/dist/viewer/assets/{use-localstorage-DIisTx-J.js → use-localstorage-D233xVb0.js} +1 -1
- package/dist/viewer/assets/use-permissions-BvmxJJ5r.js +1 -0
- package/dist/viewer/assets/{use-scoped-storage-C4RzED-E.js → use-scoped-storage-DL1XVp1j.js} +1 -1
- package/dist/viewer/assets/useMutation-D5ZHwHsx.js +1 -0
- package/dist/viewer/assets/useQuery-Dhe6uxrL.js +1 -0
- package/dist/viewer/assets/{vennDiagram-4TSXK5OY-BCtqXZqe.js → vennDiagram-4TSXK5OY-SSjHlqCQ.js} +2 -2
- package/dist/viewer/assets/{wardleyDiagram-VM6X3IG4-D3OtZJoT.js → wardleyDiagram-VM6X3IG4-CZWNdQxH.js} +2 -2
- package/dist/viewer/assets/{xychartDiagram-S5SC5T6Z-DxLL2CHH.js → xychartDiagram-S5SC5T6Z-B2qAGeb0.js} +2 -2
- package/dist/viewer/assets/zod-BMU4UTQt.js +1 -0
- package/dist/viewer/index.html +10 -1
- package/package.json +56 -56
- package/dist/abort-signals-B4fc3ahg.mjs +0 -34
- package/dist/anthropic-messages-KPxCHqBN.mjs +0 -14327
- package/dist/auth-storage-BvNH97p9.mjs +0 -2180
- package/dist/azure-openai-config-BbeCSg4y.mjs +0 -55
- package/dist/azure-openai-responses-BRzy8RfL.mjs +0 -182
- package/dist/classifier-shared-DBUHiTGw.mjs +0 -105
- package/dist/cli-2R6QQFp1.mjs +0 -451
- package/dist/cloudflare-workers-ai-system-one-BfqwmRQf.mjs +0 -44
- package/dist/config-D8DMGzIq.mjs +0 -647
- package/dist/cross-spawn-B2jIQPlu.mjs +0 -404
- package/dist/diagnostics-xdSgQR8t.mjs +0 -131
- package/dist/dist-BRyghrKX.mjs +0 -404
- package/dist/dist-D0EzrblG.mjs +0 -12161
- package/dist/dist-EKhnHWHG.mjs +0 -140221
- package/dist/dist-pQtuusFv.mjs +0 -1243
- package/dist/easter-egg-3d-C9_btlWn.mjs +0 -1225
- package/dist/env-api-keys-uytNub6O.mjs +0 -122
- package/dist/error-body-FhmCtR7m.mjs +0 -101
- package/dist/esm-D5isprgl.mjs +0 -1533
- package/dist/esm-DnqE4pfM.mjs +0 -104876
- package/dist/execute-BoTKl80U.mjs +0 -1715
- package/dist/github-copilot-headers-DWcTgoXr.mjs +0 -22
- package/dist/google-generative-ai-Brs5YpJo.mjs +0 -332
- package/dist/google-shared-2CyYa4VE.mjs +0 -33438
- package/dist/google-vertex-DZDUQPKa.mjs +0 -378
- package/dist/hash-DN7ukSfd.mjs +0 -16
- package/dist/headers-GhQHLk-3.mjs +0 -17
- package/dist/jiti-9kWALm4Y.mjs +0 -5439
- package/dist/jiti-loader-f21DrY1K.mjs +0 -27
- package/dist/jiti-static-loader-BI_w28l7.mjs +0 -41704
- package/dist/json-parse-B2mHg7o7.mjs +0 -381
- package/dist/keybinding-hints-D0nLU3ZH.mjs +0 -17899
- package/dist/lib-Dj1gKQJc.mjs +0 -24379
- package/dist/llama-cpp-classify-C73BoMYd.mjs +0 -344
- package/dist/mistral-conversations-DXVR7znL.mjs +0 -698
- package/dist/models-DBdii9gQ.mjs +0 -1255
- package/dist/multipart-parser-DLw9Z0uJ.mjs +0 -298
- package/dist/node-B0NU8X55.mjs +0 -2479
- package/dist/node-B8gaKm9g.mjs +0 -23
- package/dist/openai-I3_AqKDX.mjs +0 -17357
- package/dist/openai-codex-responses-PcZHDuBD.mjs +0 -1198
- package/dist/openai-completions-a_mH01ii.mjs +0 -994
- package/dist/openai-decisions-Du8y4mQG.mjs +0 -142
- package/dist/openai-prompt-cache-Bc6qNWt0.mjs +0 -8
- package/dist/openai-responses-a9lV_U7O.mjs +0 -270
- package/dist/openai-responses-shared-CDs_PBiH.mjs +0 -598
- package/dist/openrouter-images-D0Zc8Cjs.mjs +0 -125
- package/dist/photon_rs-DCvMOMu0.mjs +0 -4252
- package/dist/pi-messages-B5ietIBq.mjs +0 -306
- package/dist/provider-env-BJhgA66g.mjs +0 -37
- package/dist/provider-retry-DXYM7rVE.mjs +0 -79
- package/dist/runtime-DTkBxiaM.mjs +0 -2822
- package/dist/sanitize-unicode-CqChtoM6.mjs +0 -26
- package/dist/shell-836_JFnI.mjs +0 -162
- package/dist/source-CKPndhKl.mjs +0 -478
- package/dist/src-DNm2QRm3.mjs +0 -5028
- package/dist/system-one-shared-DUAFtNa8.mjs +0 -75
- package/dist/token-DEUkymby.mjs +0 -56
- package/dist/token-util-Cx5S4eKt.mjs +0 -3
- package/dist/tool-DHDYqsyG.mjs +0 -6673
- package/dist/transform-messages-BClk99Vn.mjs +0 -477
- package/dist/typesafe-system-one-D2d8j8hZ.mjs +0 -24
- package/dist/typescript-Br-vsRJV.mjs +0 -6737
- package/dist/uuid-CNCZqNBb.mjs +0 -49
- package/dist/v2-1z8ijsD3.mjs +0 -6120
- package/dist/viewer/assets/abnfDiagram-VCTEODGH-j5YaKnl9.js +0 -1
- package/dist/viewer/assets/actor-avatar-DqmoY8Xc.js +0 -1
- package/dist/viewer/assets/architectureDiagram-5GKGNRK7-D80cJKz_.js +0 -36
- package/dist/viewer/assets/avatar-BI7D-Aia.js +0 -43
- package/dist/viewer/assets/badge-870-A4Y6.js +0 -1
- package/dist/viewer/assets/better-delete-confirmation-modal-Dib31LVb.js +0 -1
- package/dist/viewer/assets/better-dialog-D3AAiahr.js +0 -1
- package/dist/viewer/assets/button-DadqadpO.js +0 -1
- package/dist/viewer/assets/channel-DRkt3LIn.js +0 -1
- package/dist/viewer/assets/checkbox-BXpR079x.js +0 -1
- package/dist/viewer/assets/classDiagram-ZZMXUADV-G5CebNaC.js +0 -1
- package/dist/viewer/assets/classDiagram-v2-VYDZK3BY-G5CebNaC.js +0 -1
- package/dist/viewer/assets/color-input-Efm-lxDy.js +0 -11
- package/dist/viewer/assets/cose-bilkent-JH36ORCC-CrSHFmnp.js +0 -1
- package/dist/viewer/assets/cross-button-5Sr5rWVP.js +0 -1
- package/dist/viewer/assets/cynefinDiagram-5FMLGOSQ-Bdl_eBdu.js +0 -62
- package/dist/viewer/assets/dashboard-diagrams-page-DMupOe1m.js +0 -2
- package/dist/viewer/assets/dashboard-diagrams-page-inner-Dh0yKh2A.js +0 -1
- package/dist/viewer/assets/dashboard-docs-page-DWJ1qOQz.js +0 -2
- package/dist/viewer/assets/dashboard-docs-page-inner-Fs6G3oGo.js +0 -67
- package/dist/viewer/assets/dashboard-layout-D36InAaB.js +0 -1
- package/dist/viewer/assets/dashboard-lens-layout-Cv1Xx3hY.js +0 -1
- package/dist/viewer/assets/dashboard-map-frame-page-CTn61NUO.js +0 -1
- package/dist/viewer/assets/dashboard-plans-page-DxFJkrgK.js +0 -1
- package/dist/viewer/assets/dashboard-service-apis-BHtD9s5z.js +0 -1
- package/dist/viewer/assets/dashboard-service-docs-Uv_1uxxO.js +0 -1
- package/dist/viewer/assets/dashboard-services-CUP-L4Jg.js +0 -1
- package/dist/viewer/assets/diagram-UQ7AKVKN-DhFcurW6.js +0 -41
- package/dist/viewer/assets/diagram-VX7I27RA-DE1nREE8.js +0 -24
- package/dist/viewer/assets/diagram-Z3DM3KII-CSrYcCbc.js +0 -24
- package/dist/viewer/assets/diagram-live-preview-i5doxXLH.js +0 -2
- package/dist/viewer/assets/dialog-D_HtNS17.js +0 -6
- package/dist/viewer/assets/ebnfDiagram-PWID7BFC-BfL8m_sf.js +0 -1
- package/dist/viewer/assets/flow-diagram-preview-T0Z4iMVU.js +0 -1
- package/dist/viewer/assets/ganttDiagram-EL5Y4UJY-CsITpniw.js +0 -292
- package/dist/viewer/assets/gitGraphDiagram-WWUBYQGX-B4eCBGoe.js +0 -106
- package/dist/viewer/assets/iconBase-BoDZfJgC.js +0 -1
- package/dist/viewer/assets/index-5E1tJ7yK.js +0 -125
- package/dist/viewer/assets/index-7XpV2DRw.js +0 -1
- package/dist/viewer/assets/index-C0Rs3s9Z.js +0 -1
- package/dist/viewer/assets/index-CzHjJWeV.js +0 -1
- package/dist/viewer/assets/index-DcEA6SIV.js +0 -74
- package/dist/viewer/assets/infoDiagram-27XIBGKW-lTebN5Ix.js +0 -2
- package/dist/viewer/assets/input-YvHTVS0E.js +0 -1
- package/dist/viewer/assets/lens-runs-page-DoAOObxx.js +0 -1
- package/dist/viewer/assets/linked-project-dot-Ds2uEmJ9.js +0 -543
- package/dist/viewer/assets/mermaid.core-BCRBv8Us.js +0 -312
- package/dist/viewer/assets/method-badge-DMYDKdDZ.js +0 -1
- package/dist/viewer/assets/nav-links-8vT2ixiI.js +0 -61
- package/dist/viewer/assets/not-found-page-CnfLlhS4.js +0 -1
- package/dist/viewer/assets/organization-dependency-graph-page-3xqIxjNx.js +0 -1
- package/dist/viewer/assets/pegDiagram-XKGWAZYB-CMXqeAum.js +0 -1
- package/dist/viewer/assets/popover-CN9ni1N3.js +0 -1
- package/dist/viewer/assets/railroadDiagram-O6MQD6OU-CfqToX3W.js +0 -1
- package/dist/viewer/assets/react-flow-wrapper-BPlRstyO.js +0 -276
- package/dist/viewer/assets/scroll-area-BodE-n7W.js +0 -6
- package/dist/viewer/assets/section-loader-BzpYM_Nx.js +0 -1
- package/dist/viewer/assets/select-DDtnmSET.js +0 -1
- package/dist/viewer/assets/service-database-page-CMi1wF4h.js +0 -2
- package/dist/viewer/assets/service-database-page-inner-CoqAj93L.js +0 -85
- package/dist/viewer/assets/service-layout-0NMm_bKG.js +0 -1
- package/dist/viewer/assets/service-pages-dfnc91SU.js +0 -1
- package/dist/viewer/assets/sizeCapture-INFHLROL-BRJi3gCg.js +0 -1
- package/dist/viewer/assets/stateDiagram-D77RDMKH-DdLsfxgy.js +0 -1
- package/dist/viewer/assets/stateDiagram-v2-MP3YSRHH-DFwg8Qki.js +0 -1
- package/dist/viewer/assets/super-circle-loader-D8MElOMh.js +0 -1
- package/dist/viewer/assets/super-logo-loader-DJYiRbCS.js +0 -1
- package/dist/viewer/assets/swimlanes-42K2YHIH-AuYjrPqh.js +0 -1
- package/dist/viewer/assets/swimlanesDiagram-VR7AAH4N-0nIGA8_4.js +0 -8
- package/dist/viewer/assets/table-Bi4Auk9Z.js +0 -1
- package/dist/viewer/assets/textarea-MgxZ5x6-.js +0 -1
- package/dist/viewer/assets/ui-graph-logo-D4jRhd4z.js +0 -1
- package/dist/viewer/assets/use-permissions-6JVET753.js +0 -1
- package/dist/viewer/assets/useMutation-CmVaR9zz.js +0 -1
- package/dist/viewer/assets/useQuery-B8yYhO0c.js +0 -1
- package/dist/viewer/assets/zod-Dc4H6VVJ.js +0 -1
- package/dist/virtual-modules-DnCx0Gdx.mjs +0 -340
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import{p as ht}from"./chunk-JWPE2WC7-xd0JGvne.js";import{s as gt,g as $t,n as bt,m as wt,a as Ct,b as vt,_ as i,l as O,F as Dt,d as kt,o as At,z as U,x as Q,A as Tt,W as ot}from"./mermaid.core-BDgZg3kW.js";import{p as Bt}from"./cynefin-OW5HDTMX-DiBs4CI8.js";import"./preload-helper-BlTxHScW.js";import"./index-CH7cEAxj.js";import"./transform-BqqRT-Iy.js";var rt=i(()=>({domains:new Map,transitions:[]}),"createDefaultData"),H=rt(),St=i(()=>H.domains,"getDomains"),Mt=i(()=>H.transitions,"getTransitions"),zt=i(t=>{if(t)for(const e of t){const n=e.domain,a=(e.items??[]).map(c=>({label:c.label}));H.domains.set(n,{name:n,items:a})}},"setDomains"),Lt=i(t=>{t&&(H.transitions=t.filter(e=>e.from===e.to?(O.warn(`Cynefin: self-loop transition on domain "${e.from}" is not meaningful and will be skipped.`),!1):!0).map(e=>({from:e.from,to:e.to,label:e.label||void 0})))},"setTransitions"),Nt=i(()=>U({...Tt.cynefin,...Q().cynefin}),"getConfig"),Pt=i(()=>{At(),H=rt()},"clear"),Y={getDomains:St,getTransitions:Mt,setDomains:zt,setTransitions:Lt,getConfig:Nt,clear:Pt,setAccTitle:vt,getAccTitle:Ct,setDiagramTitle:wt,getDiagramTitle:bt,getAccDescription:$t,setAccDescription:gt},Wt=i(t=>{ht(t,Y),Y.setDomains(t.domains),Y.setTransitions(t.transitions)},"populate"),It={parse:i(async t=>{const e=await Bt("cynefin",t);O.debug(e),Wt(e)},"parse")};function E(t){let e=t+1831565813|0;return e=Math.imul(e^e>>>15,e|1),e^=e+Math.imul(e^e>>>7,e|61),((e^e>>>14)>>>0)/4294967296}i(E,"seededRandom");function it(t){let e=0;for(let n=0;n<t.length;n++){const a=t.charCodeAt(n);e=(e<<5)-e+a,e|=0}return e}i(it,"hashString");function st(t,e){return typeof t=="number"&&Number.isFinite(t)&&t!==0?t:it(e)}i(st,"resolveSeed");function ct(t,e,n,a){const c=t/2,m=a??t*.015,v=7,I=e/v,d=[];for(let o=0;o<=v;o++){const p=E(n+o*17)*m*2-m;d.push({x:c+p,y:o*I})}let D=`M${d[0].x},${d[0].y}`;for(let o=0;o<d.length-1;o++){const p=d[o],s=d[o+1],f=(p.y+s.y)/2,b=o%2===0?1:-1,x=m*1.5*b*E(n+o*31+7),F=p.x+x,R=f,_=s.x-x;D+=` C${F},${R} ${_},${f} ${s.x},${s.y}`}return D}i(ct,"generateFoldPath");function lt(t,e,n,a){const c=e/2,m=a??e*.015,v=7,I=t/v,d=[];for(let o=0;o<=v;o++){const p=E(n+o*23)*m*2-m;d.push({x:o*I,y:c+p})}let D=`M${d[0].x},${d[0].y}`;for(let o=0;o<d.length-1;o++){const p=d[o],s=d[o+1],f=(p.x+s.x)/2,b=o%2===0?1:-1,x=m*1.5*b*E(n+o*37+11),F=f,R=p.y+x,_=f,z=s.y-x;D+=` C${F},${R} ${_},${z} ${s.x},${s.y}`}return D}i(lt,"generateHorizontalBoundary");function dt(t,e){const n=t/2,a=e*.5,c=e,m=t*.03;return[`M${n},${a}`,`C${n+m},${a+(c-a)*.2}`,`${n-m*1.5},${a+(c-a)*.55}`,`${n+m*.5},${a+(c-a)*.75}`,`C${n-m},${a+(c-a)*.85}`,`${n+m*.3},${a+(c-a)*.95}`,`${n},${c}`].join(" ")}i(dt,"generateCliffPath");function ft(t,e,n,a){return[`M${t-n},${e}`,`A${n},${a} 0 1,1 ${t+n},${e}`,`A${n},${a} 0 1,1 ${t-n},${e}`,"Z"].join(" ")}i(ft,"generateConfusionPath");var at={complex:{model:"Probe → Sense → Respond",practice:"Emergent Practices"},complicated:{model:"Sense → Analyse → Respond",practice:"Good Practices"},clear:{model:"Sense → Categorise → Respond",practice:"Best Practices"},chaotic:{model:"Act → Sense → Respond",practice:"Novel Practices"},confusion:{model:"",practice:"Disorder"}},Ft=i((t,e)=>{const n=t/2,a=e/2;return{complex:{cx:n/2,cy:a/2,x:0,y:0,w:n,h:a},complicated:{cx:n+n/2,cy:a/2,x:n,y:0,w:n,h:a},chaotic:{cx:n/2,cy:a+a/2,x:0,y:a,w:n,h:a},clear:{cx:n+n/2,cy:a+a/2,x:n,y:a,w:n,h:a},confusion:{cx:n,cy:a,x:n*.7,y:a*.7,w:n*.6,h:a*.6}}},"getDomainLayouts"),Rt=i(()=>{const t=ot(),e=Q();return U(t,e.themeVariables).cynefin},"getCynefinDomainColors"),q=3,_t=i((t,e,n,a)=>{const c=a.db,m=c.getDomains(),v=c.getTransitions(),I=c.getDiagramTitle(),d=c.getAccTitle(),D=c.getAccDescription(),o=c.getConfig(),p=Rt();O.debug("Rendering Cynefin diagram");const s=o.width,f=o.height,b=o.padding,x=o.showDomainDescriptions,F=o.boundaryAmplitude,R=s+b*2,_=f+b*2,z={complex:p.complexBg,complicated:p.complicatedBg,clear:p.clearBg,chaotic:p.chaoticBg,confusion:p.confusionBg},k=Dt(e);kt(k,_,R,o.useMaxWidth??!0),k.attr("viewBox",`0 0 ${R} ${_}`),d&&k.append("title").text(d),D&&k.append("desc").text(D);const A=k.append("g").attr("transform",`translate(${b}, ${b})`),V=Ft(s,f),Z=st(o.seed,e),mt=A.append("g").attr("class","cynefin-backgrounds"),X=["complex","complicated","chaotic","clear"];for(const l of X){const r=V[l];mt.append("rect").attr("class","cynefinDomain").attr("x",r.x).attr("y",r.y).attr("width",r.w).attr("height",r.h).attr("fill",z[l]).attr("fill-opacity",.4).attr("stroke","none")}const j=A.append("g").attr("class","cynefin-boundaries");j.append("path").attr("class","cynefinBoundary").attr("d",ct(s,f,Z,F)).attr("fill","none"),j.append("path").attr("class","cynefinBoundary").attr("d",lt(s,f,Z+100,F)).attr("fill","none"),j.append("path").attr("class","cynefinCliff").attr("d",dt(s,f)).attr("fill","none");const pt=s*.15,yt=f*.15;A.append("path").attr("class","cynefinConfusion").attr("d",ft(s/2,f/2,pt,yt)).attr("fill",z.confusion).attr("fill-opacity",.5);const J=A.append("g").attr("class","cynefin-labels");for(const l of X){const r=V[l];J.append("text").attr("class","cynefinDomainLabel").attr("x",r.cx).attr("y",x?r.cy-30:r.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(l.charAt(0).toUpperCase()+l.slice(1))}if(J.append("text").attr("class","cynefinDomainLabel").attr("x",s/2).attr("y",x?f/2-10:f/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),x){const l=A.append("g").attr("class","cynefin-subtitles");for(const r of X){const u=V[r],y=at[r];l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.model),l.append("text").attr("class","cynefinSubtitle").attr("x",u.cx).attr("y",u.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(y.practice)}l.append("text").attr("class","cynefinSubtitle").attr("x",s/2).attr("y",f/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(at.confusion.practice)}const K=A.append("g").attr("class","cynefin-items"),T=26,tt=10,ut=["complex","complicated","chaotic","clear","confusion"];for(const l of ut){const r=m.get(l);if(!r||r.items.length===0)continue;const u=V[l],y=l==="confusion";let L=r.items,N=0;y&&r.items.length>q&&(N=r.items.length-q,L=r.items.slice(0,q));let B;if(y){const g=x?22:14;B=u.cy+g}else B=u.cy+(x?25:15);if([...L].forEach((g,S)=>{const w=B+S*(T+4),M=K.append("g"),P=M.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",T/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(g.label);let $=g.label.length*7;const h=P.node();if(h&&typeof h.getBBox=="function"){const G=h.getBBox();G.width>0&&($=G.width)}const C=$+tt*2,W=u.cx-C/2;M.attr("transform",`translate(${W}, ${w})`),M.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",C).attr("height",T).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.95),P.attr("x",C/2).attr("y",T/2)}),N>0){const g=B+L.length*(T+4),S=`+${N} more`,w=K.append("g"),M=w.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",T/2).attr("text-anchor","middle").attr("dominant-baseline","central").text(S);let P=S.length*7;const $=M.node();if($&&typeof $.getBBox=="function"){const W=$.getBBox();W.width>0&&(P=W.width)}const h=P+tt*2,C=u.cx-h/2;w.attr("transform",`translate(${C}, ${g})`),w.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",h).attr("height",T).attr("rx",4).attr("ry",4).attr("fill",z[l]).attr("fill-opacity",.6),M.attr("x",h/2).attr("y",T/2)}}if(v.length>0){const l=k.select("defs").empty()?k.append("defs"):k.select("defs"),r=`cynefin-arrow-${e}`;l.append("marker").attr("id",r).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","cynefinArrowHead");const u=A.append("g").attr("class","cynefin-arrows");v.forEach(y=>{const L=V[y.from],N=V[y.to];if(!L||!N)return;if(y.from===y.to){O.warn(`Cynefin renderer: skipping self-loop on domain "${y.from}"`);return}const B=L.cx,g=L.cy,S=N.cx,w=N.cy,M=(B+S)/2,P=(g+w)/2,$=S-B,h=w-g,C=Math.sqrt($*$+h*h),W=C*.15,G=-h/C,xt=$/C,et=M+G*W,nt=P+xt*W;u.append("path").attr("class","cynefinArrowLine").attr("d",`M${B},${g} Q${et},${nt} ${S},${w}`).attr("fill","none").attr("marker-end",`url(#${r})`),y.label&&u.append("text").attr("class","cynefinArrowLabel").attr("x",et).attr("y",nt-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(y.label)})}I&&A.append("text").attr("class","cynefinTitle").attr("x",s/2).attr("y",-b/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(I)},"draw"),Vt={draw:_t},Et=i(()=>{const t=ot(),e=Q();return U(t,e.themeVariables).cynefin},"getCynefinTheme"),Ht=i(()=>{const t=Et();return`
|
|
2
|
+
.cynefinDomain {
|
|
3
|
+
stroke: none;
|
|
4
|
+
}
|
|
5
|
+
.cynefinDomainLabel {
|
|
6
|
+
font-size: ${t.domainFontSize}px;
|
|
7
|
+
font-weight: bold;
|
|
8
|
+
fill: ${t.labelColor};
|
|
9
|
+
}
|
|
10
|
+
.cynefinSubtitle {
|
|
11
|
+
font-size: ${t.itemFontSize-1}px;
|
|
12
|
+
fill: ${t.textColor};
|
|
13
|
+
font-style: italic;
|
|
14
|
+
}
|
|
15
|
+
.cynefinItem {
|
|
16
|
+
fill-opacity: 0.95;
|
|
17
|
+
stroke: ${t.boundaryColor};
|
|
18
|
+
stroke-width: 1;
|
|
19
|
+
}
|
|
20
|
+
.cynefinItemText {
|
|
21
|
+
font-size: ${t.itemFontSize}px;
|
|
22
|
+
fill: ${t.textColor};
|
|
23
|
+
}
|
|
24
|
+
.cynefinItemOverflow {
|
|
25
|
+
fill-opacity: 0.6;
|
|
26
|
+
stroke: ${t.boundaryColor};
|
|
27
|
+
stroke-width: 1;
|
|
28
|
+
stroke-dasharray: 3 2;
|
|
29
|
+
}
|
|
30
|
+
.cynefinBoundary {
|
|
31
|
+
stroke: ${t.boundaryColor};
|
|
32
|
+
stroke-width: ${t.boundaryWidth};
|
|
33
|
+
stroke-dasharray: 6 3;
|
|
34
|
+
}
|
|
35
|
+
.cynefinCliff {
|
|
36
|
+
stroke: ${t.cliffColor};
|
|
37
|
+
stroke-width: ${t.cliffWidth};
|
|
38
|
+
}
|
|
39
|
+
.cynefinConfusion {
|
|
40
|
+
stroke: ${t.boundaryColor};
|
|
41
|
+
stroke-width: 1.5;
|
|
42
|
+
stroke-dasharray: 4 2;
|
|
43
|
+
}
|
|
44
|
+
.cynefinArrowLine {
|
|
45
|
+
stroke: ${t.arrowColor};
|
|
46
|
+
stroke-width: ${t.arrowWidth};
|
|
47
|
+
fill: none;
|
|
48
|
+
}
|
|
49
|
+
.cynefinArrowHead {
|
|
50
|
+
fill: ${t.arrowColor};
|
|
51
|
+
stroke: none;
|
|
52
|
+
}
|
|
53
|
+
.cynefinArrowLabel {
|
|
54
|
+
font-size: ${t.itemFontSize-1}px;
|
|
55
|
+
fill: ${t.textColor};
|
|
56
|
+
}
|
|
57
|
+
.cynefinTitle {
|
|
58
|
+
font-size: ${t.domainFontSize+2}px;
|
|
59
|
+
font-weight: bold;
|
|
60
|
+
fill: ${t.labelColor};
|
|
61
|
+
}
|
|
62
|
+
`},"styles"),Gt=Ht,Qt={parser:It,db:Y,renderer:Vt,styles:Gt};export{Qt as diagram};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as m,an as x,c as k,a7 as O,l as p,ao as A,ap as Y,aq as b,ar as _,as as z,at as H,au as D,av as J,aw as T,ax as X,ai as R,ag as F,ay as q,az as W}from"./mermaid.core-
|
|
1
|
+
import{_ as m,an as x,c as k,a7 as O,l as p,ao as A,ap as Y,aq as b,ar as _,as as z,at as H,au as D,av as J,aw as T,ax as X,ai as R,ag as F,ay as q,az as W}from"./mermaid.core-BDgZg3kW.js";import{l as j}from"./layout-B26eC4yQ.js";import"./preload-helper-BlTxHScW.js";import"./index-CH7cEAxj.js";import"./transform-BqqRT-Iy.js";import"./merge-BhOMvhW1.js";import"./last-DXTTfs9a.js";var C=m((t,e,r)=>Math.max(e,Math.min(r,t)),"clamp"),P=m((t="TB")=>{switch(t){case"BT":return"bottom";case"LR":return"right";case"RL":return"left";case"TB":default:return"top"}},"getDefaultSelfLoopSide"),U=m(t=>t==="flowchart"||t==="flowchart-v2"||t==="stateDiagram"||t==="er"||t==="classDiagram","shouldMergeSelfLoopSegments"),K=["x","y","width","height","labelBBox","intersect","calcIntersect","diff","clusterNode"],Q=m((t,e,r,d,a)=>{const f=[],u=new Set;if(r.forEach(({start:i,end:o})=>{i!==d&&u.add(i),o!==d&&u.add(o)}),u.forEach(i=>{const o=t.node(i);typeof o?.x=="number"&&typeof o?.y=="number"&&f.push(o)}),f.length===0&&r.forEach(({edge:i})=>{(i.points??[]).forEach(o=>{typeof o?.x=="number"&&typeof o?.y=="number"&&f.push(o)})}),f.length===0)return P(a);const c=f.reduce((i,o)=>({x:i.x+o.x/f.length,y:i.y+o.y/f.length}),{x:0,y:0}),l=c.x-e.x,s=c.y-e.y;return Math.abs(l)>Math.abs(s)?l>0?"right":"left":Math.abs(s)>0?s>0?"bottom":"top":P(a)},"getSelfLoopSide"),V=m((t,e="top",r=0,d=0)=>{const a=t.x,f=t.y-r,u=t.width/2,c=t.height/2,l=Math.max(36,Math.min(100,t.width*.8)),s=C(Math.max(d,t.width*.35),36,l),i=C(Math.min(t.width,t.height)*.45,24,48);switch(e){case"bottom":{const o=f+c;return[{x:a-s/2,y:o},{x:a-s/2,y:o+i},{x:a+s/2,y:o+i},{x:a+s/2,y:o}]}case"right":{const o=a+u;return[{x:o,y:f-s/2},{x:o+i,y:f-s/2},{x:o+i,y:f+s/2},{x:o,y:f+s/2}]}case"left":{const o=a-u;return[{x:o,y:f-s/2},{x:o-i,y:f-s/2},{x:o-i,y:f+s/2},{x:o,y:f+s/2}]}case"top":default:{const o=f-c;return[{x:a-s/2,y:o},{x:a-s/2,y:o-i},{x:a+s/2,y:o-i},{x:a+s/2,y:o}]}}},"getSelfLoopPoints"),Z=m((t,e,r="top",d=0,a={})=>{const u=t.x,c=t.y-d,l=a.width??0,s=a.height??0;switch(r){case"bottom":return{x:u,y:Math.max(...e.map(i=>i.y))+s/2+4};case"right":return{x:Math.max(...e.map(i=>i.x))+l/2+4,y:c};case"left":return{x:Math.min(...e.map(i=>i.x))-l/2-4,y:c};case"top":default:return{x:u,y:Math.min(...e.map(i=>i.y))-s/2-4}}},"getSelfLoopLabelPosition"),B=m((t,e=0,{mergeSelfLoops:r=!0}={})=>{const d=new Map,a=[],f=t.graph()?.rankdir;return t.edges().forEach(u=>{const c=t.edge(u);if(r&&c.selfLoop){const l=c.selfLoop.id;d.has(l)||d.set(l,[]),d.get(l).push({edge:c,start:u.v,end:u.w})}else a.push({edge:c,start:u.v,end:u.w})}),d.forEach(u=>{if(u.length!==3){u.forEach(h=>a.push(h));return}u.sort((h,E)=>h.edge.selfLoop.order-E.edge.selfLoop.order);const[c,l,s]=u,i=c.edge.originalEdge??l.edge.originalEdge??s.edge.originalEdge??l.edge,o=t.node(i.start);if(!o){u.forEach(h=>a.push(h));return}const n={width:l.edge.width,height:l.edge.height},L=Q(t,o,u,i.start,f),w=V(o,L,e,n.width??0),y=Z(o,w,L,e,n),g={...l.edge,...i,id:i.id,points:w,start:i.start,end:i.end,x:y.x,y:y.y,width:n.width,height:n.height,labelStyle:l.edge.labelStyle,fromCluster:c.edge.fromCluster??l.edge.fromCluster??s.edge.fromCluster,toCluster:c.edge.toCluster??l.edge.toCluster??s.edge.toCluster};delete g.selfLoop,delete g.originalEdge,a.push({edge:g,start:g.start,end:g.end})}),a},"getEdgesToRender"),I=m(async({element:t,graph:e,diagramType:r,id:d,parentCluster:a,siteConfig:f})=>{const u=e.graph().rankdir;p.trace("Dir in recursive render - dir:",u);const{clusters:c,edgePaths:l,edgeLabels:s,nodes:i,rootGroups:o}=_(t,{edgePathsClass:"edgePaths"});e.nodes()?p.info("Recursive render XXX",e.nodes()):p.info("No nodes found for",e),e.edges().length>0&&p.info("Recursive edges",e.edge(e.edges()[0]));const n=U(r);await Promise.all(e.nodes().map(async function(y){const g=e.node(y);if(a!==void 0){const h=JSON.parse(JSON.stringify(a.clusterData));p.trace(`Setting data for parent cluster XXX
|
|
2
2
|
Node.id = `,y,`
|
|
3
3
|
data=`,h.height,`
|
|
4
|
-
Parent cluster`,a.height),e.setNode(a.id,h),e.parent(y)||(p.trace("Setting parent",y,a.id),e.setParent(y,a.id,h))}if(p.info("(Insert) Node XXX"+y+": "+JSON.stringify(e.node(y))),g?.clusterNode){p.info("Cluster identified XBX",y,g.width,e.node(y));const{ranksep:h,nodesep:E}=e.graph();g.graph.setGraph({...g.graph.graph(),ranksep:h+25,nodesep:E});const S=await oe({element:i,graph:g.graph,diagramType:r,id:d,parentCluster:e.node(y),siteConfig:f}),N=S.elem;z(g,N),g.diff=S.diff||0,p.info("New compound node after recursive render XAX",y,"width",g.width,"height",g.height),H(N,g)}else e.children(y).length>0?(p.trace("Cluster - the non recursive path XBX",y,g.id,g,g.width,"Graph:",e),p.trace(D(g.id,e)),b.set(g.id,{id:D(g.id,e),node:g})):(p.trace("Node - the non recursive path XAX",y,i,e.node(y),u),await J(i,e.node(y),{config:f,dir:u}))})),await m(async()=>{const y=e.edges().map(async function(g){const h=e.edge(g.v,g.w,g.name);if(p.info("Edge "+g.v+" -> "+g.w+": "+JSON.stringify(g)),p.info("Edge "+g.v+" -> "+g.w+": ",g," ",JSON.stringify(e.edge(g))),p.info("Fix",b,"ids:",g.v,g.w,"Translating: ",b.get(g.v),b.get(g.w)),n&&h.selfLoop){if(h.selfLoop.order!==1)return;const E={...h.originalEdge,...h,id:h.selfLoop.id,startLabelLeft:h.originalEdge?.startLabelLeft??h.startLabelLeft,startLabelRight:h.originalEdge?.startLabelRight??h.startLabelRight,endLabelLeft:h.originalEdge?.endLabelLeft??h.endLabelLeft,endLabelRight:h.originalEdge?.endLabelRight??h.endLabelRight};await X(s,E),h.width=E.width,h.height=E.height,h.labelStyle=E.labelStyle;return}await X(s,h)});await Promise.all(y)},"processEdges")();const{subGraphTitleTotalMargin:w}=T(f);return{elem:o,graph:e,groups:{clusters:c,edgePaths:l,edgeLabels:s,nodes:i,rootGroups:o},diagramType:r,id:d,mergeSelfLoops:n,subGraphTitleTotalMargin:w}},"measureDagreGraph"),M=m(t=>{p.info("############################################# XXX"),p.info("### Layout ### XXX"),p.info("############################################# XXX"),j(t)},"runDagreGraphLayout"),$=m((t,e,r)=>{const d=t.node(e);if(!d)return;const a={...d};return d?.clusterNode?a.y=(d.y??0)+r:t.children(e).length>0?a.height=(d.height??0)+r:a.y=(d.y??0)+r/2,a},"normalizeDagreNode"),v=m((t,e)=>{K.forEach(r=>{e[r]!==void 0&&(t[r]=e[r])})},"applyDagreNodeLayout"),ee=m((t,e,r,d)=>({...t,start:t.start??e,end:t.end??r,points:(t.points??[]).map(a=>({...a,y:typeof a.y=="number"?a.y+d:a.y}))}),"normalizeDagreEdge"),te=m((t,e)=>{const{graph:r,mergeSelfLoops:d,subGraphTitleTotalMargin:a=0}=e,f=new Map(t.nodes.map(c=>[c.id,c]));x(r).forEach(c=>{const l=$(r,c,a);if(!l)return;v(r.node(c),l);const s=f.get(c);s&&v(s,l)});const u=a/2;return t.edges=B(r,u,{mergeSelfLoops:d}).map(({edge:c,start:l,end:s})=>ee(c,l,s,u)),t},"applyDagreLayoutResult"),re=m(async({elem:t,graph:e,groups:{clusters:r,edgePaths:d},diagramType:a,id:f,mergeSelfLoops:u,subGraphTitleTotalMargin:c})=>{let l=0;await Promise.all(x(e).map(async function(o){const n=e.node(o);if(p.info("Position XBX => "+o+": ("+n.x,","+n.y,") width: ",n.width," height: ",n.height),n?.clusterNode)n.y+=c,p.info("A tainted cluster node XBX1",o,n.id,n.width,n.height,n.x,n.y,e.parent(o)),b.get(n.id).node=n,R(n);else if(e.children(o).length>0){p.info("A pure cluster node XBX1",o,n.id,n.x,n.y,n.width,n.height,e.parent(o)),n.height+=c,e.node(n.parentId);const L=n?.padding/2||0,w=n?.labelBBox?.height||0,y=w-L||0;p.debug("OffsetY",y,"labelHeight",w,"halfPadding",L),await F(r,n),b.get(n.id).node=n}else{const L=e.node(n.parentId);n.y+=c/2,p.info("A regular node XBX1 - using the padding",n.id,"parent",n.parentId,n.width,n.height,n.x,n.y,"offsetY",n.offsetY,"parent",L,L?.offsetY,n),R(n)}}));const s=c/2;return B(e,s,{mergeSelfLoops:u}).forEach(function({edge:o,start:n,end:L}){p.info("Edge "+n+" -> "+L+": "+JSON.stringify(o),o),o.points.forEach(h=>h.y+=s);const w=e.node(n),y=e.node(L),g=q(d,o,b,a,w,y,f);W(o,g)}),e.nodes().forEach(function(o){const n=e.node(o);p.info(o,n.type,n.diff),n.isGroup&&(l=n.diff)}),p.warn("Returning from recursive render XAX",t,l),{elem:t,diff:l}},"paintDagreLayoutCore"),oe=m(async t=>{const e=await I(t);return M(e.graph),await re(e)},"renderDagreSubgraph"),G=m(t=>{const e=new O({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.nodeSpacing||t.config?.flowchart?.nodeSpacing,ranksep:t.config?.rankSpacing||t.rankSpacing||t.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return t.nodes.forEach(r=>{e.setNode(r.id,{...r}),r.parentId&&e.setParent(r.id,r.parentId)}),p.debug("Edges:",t.edges),t.edges.forEach(r=>{if(r.start===r.end){const d=r.start,a=d+"---"+d+"---1",f=d+"---"+d+"---2",u=e.node(d);e.setNode(a,{domId:a,id:a,parentId:u.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),e.setParent(a,u.parentId),e.setNode(f,{domId:f,id:f,parentId:u.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),e.setParent(f,u.parentId);const c=structuredClone(r),l=structuredClone(r),s=structuredClone(r),i=structuredClone(r);l.originalEdge=c,l.selfLoop={id:c.id,order:0},s.originalEdge=c,s.selfLoop={id:c.id,order:1},i.originalEdge=c,i.selfLoop={id:c.id,order:2},l.label="",l.arrowTypeEnd="none",l.endLabelLeft="",l.endLabelRight="",l.startLabelLeft="",l.id=d+"-cyclic-special-1",s.startLabelRight="",s.startLabelLeft="",s.endLabelLeft="",s.endLabelRight="",s.arrowTypeStart="none",s.arrowTypeEnd="none",s.id=d+"-cyclic-special-mid",i.label="",i.startLabelRight="",i.startLabelLeft="",i.arrowTypeStart="none",u.isGroup&&(l.fromCluster=d,i.toCluster=d),i.id=d+"-cyclic-special-2",i.arrowTypeStart="none",e.setEdge(d,a,l,d+"-cyclic-special-0"),e.setEdge(a,f,s,d+"-cyclic-special-1"),e.setEdge(f,d,i,d+"-cyclic-special-2")}else e.setEdge(r.start,r.end,{...r},r.id)}),A(e),{graph:e}},"prepareLayoutForDagre"),ae=m(async(t,{element:e,preparedLayout:r})=>{const d=r??G(t),a=k(),f=await I({element:e,graph:d.graph,diagramType:t.type,id:t.diagramId,parentCluster:void 0,siteConfig:a});return d.measuredLayout=f,f},"measureDagreLayout"),ne=m((t,e)=>{const r=e.preparedLayout?.measuredLayout;if(!r)throw new Error("runDagreLayoutCore requires measureDagreLayout to run first");return M(r.graph),te(t,r),r},"runDagreLayoutCore"),se=m((t,{measure:e})=>x(e.graph).map(r=>e.graph.node(r)).filter(Boolean),"getDagrePaintNodes"),ie=m((t,e,{measure:r})=>t?r.graph.node(t):void 0,"getDagreEdgeNode"),
|
|
4
|
+
Parent cluster`,a.height),e.setNode(a.id,h),e.parent(y)||(p.trace("Setting parent",y,a.id),e.setParent(y,a.id,h))}if(p.info("(Insert) Node XXX"+y+": "+JSON.stringify(e.node(y))),g?.clusterNode){p.info("Cluster identified XBX",y,g.width,e.node(y));const{ranksep:h,nodesep:E}=e.graph();g.graph.setGraph({...g.graph.graph(),ranksep:h+25,nodesep:E});const S=await oe({element:i,graph:g.graph,diagramType:r,id:d,parentCluster:e.node(y),siteConfig:f}),N=S.elem;z(g,N),g.diff=S.diff||0,p.info("New compound node after recursive render XAX",y,"width",g.width,"height",g.height),H(N,g)}else e.children(y).length>0?(p.trace("Cluster - the non recursive path XBX",y,g.id,g,g.width,"Graph:",e),p.trace(D(g.id,e)),b.set(g.id,{id:D(g.id,e),node:g})):(p.trace("Node - the non recursive path XAX",y,i,e.node(y),u),await J(i,e.node(y),{config:f,dir:u}))})),await m(async()=>{const y=e.edges().map(async function(g){const h=e.edge(g.v,g.w,g.name);if(p.info("Edge "+g.v+" -> "+g.w+": "+JSON.stringify(g)),p.info("Edge "+g.v+" -> "+g.w+": ",g," ",JSON.stringify(e.edge(g))),p.info("Fix",b,"ids:",g.v,g.w,"Translating: ",b.get(g.v),b.get(g.w)),n&&h.selfLoop){if(h.selfLoop.order!==1)return;const E={...h.originalEdge,...h,id:h.selfLoop.id,startLabelLeft:h.originalEdge?.startLabelLeft??h.startLabelLeft,startLabelRight:h.originalEdge?.startLabelRight??h.startLabelRight,endLabelLeft:h.originalEdge?.endLabelLeft??h.endLabelLeft,endLabelRight:h.originalEdge?.endLabelRight??h.endLabelRight};await X(s,E),h.width=E.width,h.height=E.height,h.labelStyle=E.labelStyle;return}await X(s,h)});await Promise.all(y)},"processEdges")();const{subGraphTitleTotalMargin:w}=T(f);return{elem:o,graph:e,groups:{clusters:c,edgePaths:l,edgeLabels:s,nodes:i,rootGroups:o},diagramType:r,id:d,mergeSelfLoops:n,subGraphTitleTotalMargin:w}},"measureDagreGraph"),M=m(t=>{p.info("############################################# XXX"),p.info("### Layout ### XXX"),p.info("############################################# XXX"),j(t)},"runDagreGraphLayout"),$=m((t,e,r)=>{const d=t.node(e);if(!d)return;const a={...d};return d?.clusterNode?a.y=(d.y??0)+r:t.children(e).length>0?a.height=(d.height??0)+r:a.y=(d.y??0)+r/2,a},"normalizeDagreNode"),v=m((t,e)=>{K.forEach(r=>{e[r]!==void 0&&(t[r]=e[r])})},"applyDagreNodeLayout"),ee=m((t,e,r,d)=>({...t,start:t.start??e,end:t.end??r,points:(t.points??[]).map(a=>({...a,y:typeof a.y=="number"?a.y+d:a.y}))}),"normalizeDagreEdge"),te=m((t,e)=>{const{graph:r,mergeSelfLoops:d,subGraphTitleTotalMargin:a=0}=e,f=new Map(t.nodes.map(c=>[c.id,c]));x(r).forEach(c=>{const l=$(r,c,a);if(!l)return;v(r.node(c),l);const s=f.get(c);s&&v(s,l)});const u=a/2;return t.edges=B(r,u,{mergeSelfLoops:d}).map(({edge:c,start:l,end:s})=>ee(c,l,s,u)),t},"applyDagreLayoutResult"),re=m(async({elem:t,graph:e,groups:{clusters:r,edgePaths:d},diagramType:a,id:f,mergeSelfLoops:u,subGraphTitleTotalMargin:c})=>{let l=0;await Promise.all(x(e).map(async function(o){const n=e.node(o);if(p.info("Position XBX => "+o+": ("+n.x,","+n.y,") width: ",n.width," height: ",n.height),n?.clusterNode)n.y+=c,p.info("A tainted cluster node XBX1",o,n.id,n.width,n.height,n.x,n.y,e.parent(o)),b.get(n.id).node=n,R(n);else if(e.children(o).length>0){p.info("A pure cluster node XBX1",o,n.id,n.x,n.y,n.width,n.height,e.parent(o)),n.height+=c,e.node(n.parentId);const L=n?.padding/2||0,w=n?.labelBBox?.height||0,y=w-L||0;p.debug("OffsetY",y,"labelHeight",w,"halfPadding",L),await F(r,n),b.get(n.id).node=n}else{const L=e.node(n.parentId);n.y+=c/2,p.info("A regular node XBX1 - using the padding",n.id,"parent",n.parentId,n.width,n.height,n.x,n.y,"offsetY",n.offsetY,"parent",L,L?.offsetY,n),R(n)}}));const s=c/2;return B(e,s,{mergeSelfLoops:u}).forEach(function({edge:o,start:n,end:L}){p.info("Edge "+n+" -> "+L+": "+JSON.stringify(o),o),o.points.forEach(h=>h.y+=s);const w=e.node(n),y=e.node(L),g=q(d,o,b,a,w,y,f);W(o,g)}),e.nodes().forEach(function(o){const n=e.node(o);p.info(o,n.type,n.diff),n.isGroup&&(l=n.diff)}),p.warn("Returning from recursive render XAX",t,l),{elem:t,diff:l}},"paintDagreLayoutCore"),oe=m(async t=>{const e=await I(t);return M(e.graph),await re(e)},"renderDagreSubgraph"),G=m(t=>{const e=new O({multigraph:!0,compound:!0}).setGraph({rankdir:t.direction,nodesep:t.config?.nodeSpacing||t.nodeSpacing||t.config?.flowchart?.nodeSpacing,ranksep:t.config?.rankSpacing||t.rankSpacing||t.config?.flowchart?.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});return t.nodes.forEach(r=>{e.setNode(r.id,{...r}),r.parentId&&e.setParent(r.id,r.parentId)}),p.debug("Edges:",t.edges),t.edges.forEach(r=>{if(r.start===r.end){const d=r.start,a=d+"---"+d+"---1",f=d+"---"+d+"---2",u=e.node(d);e.setNode(a,{domId:a,id:a,parentId:u.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),e.setParent(a,u.parentId),e.setNode(f,{domId:f,id:f,parentId:u.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),e.setParent(f,u.parentId);const c=structuredClone(r),l=structuredClone(r),s=structuredClone(r),i=structuredClone(r);l.originalEdge=c,l.selfLoop={id:c.id,order:0},s.originalEdge=c,s.selfLoop={id:c.id,order:1},i.originalEdge=c,i.selfLoop={id:c.id,order:2},l.label="",l.arrowTypeEnd="none",l.endLabelLeft="",l.endLabelRight="",l.startLabelLeft="",l.id=d+"-cyclic-special-1",s.startLabelRight="",s.startLabelLeft="",s.endLabelLeft="",s.endLabelRight="",s.arrowTypeStart="none",s.arrowTypeEnd="none",s.id=d+"-cyclic-special-mid",i.label="",i.startLabelRight="",i.startLabelLeft="",i.arrowTypeStart="none",u.isGroup&&(l.fromCluster=d,i.toCluster=d),i.id=d+"-cyclic-special-2",i.arrowTypeStart="none",e.setEdge(d,a,l,d+"-cyclic-special-0"),e.setEdge(a,f,s,d+"-cyclic-special-1"),e.setEdge(f,d,i,d+"-cyclic-special-2")}else e.setEdge(r.start,r.end,{...r},r.id)}),A(e),{graph:e}},"prepareLayoutForDagre"),ae=m(async(t,{element:e,preparedLayout:r})=>{const d=r??G(t),a=k(),f=await I({element:e,graph:d.graph,diagramType:t.type,id:t.diagramId,parentCluster:void 0,siteConfig:a});return d.measuredLayout=f,f},"measureDagreLayout"),ne=m((t,e)=>{const r=e.preparedLayout?.measuredLayout;if(!r)throw new Error("runDagreLayoutCore requires measureDagreLayout to run first");return M(r.graph),te(t,r),r},"runDagreLayoutCore"),se=m((t,{measure:e})=>x(e.graph).map(r=>e.graph.node(r)).filter(Boolean),"getDagrePaintNodes"),ie=m((t,e,{measure:r})=>t?r.graph.node(t):void 0,"getDagreEdgeNode"),pe=Y({prepareLayout:G,measureLayout:ae,runLayoutCore:ne,paintOptions:{clusterDb:b,getNodes:se,getEdgeNode:ie,skipNode:m((t,{measure:e})=>!e.graph.hasNode(t.id),"skipNode"),isCluster:m((t,{measure:e})=>e.graph.hasNode(t.id)&&(e.graph.children(t.id)??[]).length>0,"isCluster")}});export{te as applyDagreLayoutResult,B as getEdgesToRender,ae as measureDagreLayout,G as prepareLayoutForDagre,pe as render,ne as runDagreLayoutCore};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dashboard-diagrams-page-inner-CD--zr5q.js","assets/index-CH7cEAxj.js","assets/common-DLCsGQ-t.js","assets/better-dialog-DcIxFWwk.js","assets/chunk-OB3PAWPO-DJIP1M4r.js","assets/button-DZj74qS7.js","assets/iconBase-DtqdW2XR.js","assets/dialog-D7wzTt0L.js","assets/nav-links-DZWMpwMR.js","assets/query-D9oj6LGx.js","assets/loader-circle-CiqyoJF7.js","assets/better-dialog-B58_5-Gn.css","assets/input--C59pq6j.js","assets/index-Bn2bqqMd.js","assets/scroll-area-RagrStGj.js","assets/ui-graph-logo-gHowu5gP.js","assets/dashboard-layout-sTeeHNsZ.js","assets/grid-scroll-body-DC5pYDPJ.js","assets/popover-476u3TN0.js","assets/index-B6MxYIzs.js","assets/diagrams-BqBSv2eb.js","assets/gql-FFIj8zdp.js","assets/use-debounced-value-BpNFJd3C.js","assets/index-Dj_05fqk.js","assets/react-Bx48XWN4.js","assets/useQuery-Dhe6uxrL.js","assets/section-loader-C4hOfhQS.js","assets/super-logo-loader-Cxlbn6MB.js","assets/section-not-found-BnrXiPog.js","assets/actor-avatar-Bu-mKKXB.js","assets/avatar-DAFUyk1i.js","assets/git-BilAlIQ8.js","assets/better-delete-confirmation-modal-CGEQ5O4X.js","assets/super-circle-loader-DSkos6uP.js","assets/diagram-live-preview-DzJ7Nxp1.js","assets/preload-helper-BlTxHScW.js","assets/use-permissions-BvmxJJ5r.js","assets/calendar-Bolgc8E5.js","assets/format-BquKoU4D.js","assets/en-US-B1Lg1a1H.js","assets/useMutation-D5ZHwHsx.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as s}from"./preload-helper-BlTxHScW.js";import{j as r,r as a}from"./index-CH7cEAxj.js";const o=a.lazy(()=>s(()=>import("./dashboard-diagrams-page-inner-CD--zr5q.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40])).then(e=>({default:e.DashboardDiagramsPageInner})));function i(){return r.jsx(a.Suspense,{children:r.jsx(o,{})})}export{i as DashboardDiagramsPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as m,j as e}from"./index-CH7cEAxj.js";import{C as w}from"./common-DLCsGQ-t.js";import{B as v,a as D}from"./better-dialog-DcIxFWwk.js";import{B as u}from"./button-DZj74qS7.js";import{I as g}from"./input--C59pq6j.js";import{u as x}from"./query-D9oj6LGx.js";import{M as C}from"./nav-links-DZWMpwMR.js";import{DashboardPageSectionLayout as y}from"./index-Bn2bqqMd.js";import{t as p}from"./index-B6MxYIzs.js";import{D as N,a as A,C as S}from"./diagrams-BqBSv2eb.js";import{u as F}from"./use-debounced-value-BpNFJd3C.js";import{a as I}from"./index-Dj_05fqk.js";import{c as _}from"./react-Bx48XWN4.js";import{u as M}from"./useQuery-Dhe6uxrL.js";import{S as k}from"./section-loader-C4hOfhQS.js";import{S as B}from"./section-not-found-BnrXiPog.js";import{L as E,c as b}from"./chunk-OB3PAWPO-DJIP1M4r.js";import{A as P}from"./actor-avatar-Bu-mKKXB.js";import{B as L}from"./better-delete-confirmation-modal-CGEQ5O4X.js";import{D as O,a as R,b as Q,c as T}from"./scroll-area-RagrStGj.js";import{D as z}from"./diagram-live-preview-DzJ7Nxp1.js";import{u as G}from"./use-permissions-BvmxJJ5r.js";import{C as H}from"./calendar-Bolgc8E5.js";import{f as $}from"./format-BquKoU4D.js";import{u as j}from"./useMutation-D5ZHwHsx.js";import"./dialog-D7wzTt0L.js";import"./iconBase-DtqdW2XR.js";import"./loader-circle-CiqyoJF7.js";import"./dashboard-layout-sTeeHNsZ.js";import"./grid-scroll-body-DC5pYDPJ.js";import"./popover-476u3TN0.js";import"./gql-FFIj8zdp.js";import"./super-logo-loader-Cxlbn6MB.js";import"./avatar-DAFUyk1i.js";import"./git-BilAlIQ8.js";import"./super-circle-loader-DSkos6uP.js";import"./ui-graph-logo-gHowu5gP.js";import"./preload-helper-BlTxHScW.js";import"./en-US-B1Lg1a1H.js";const h=24,[V,W]=_(()=>{const t=x().id,[r,s]=m.useState(""),i=F(r),[n,o]=m.useState(0);m.useEffect(()=>{o(0)},[i]);const a=M(N,{fetchPolicy:"cache-and-network",variables:{orgId:t,folderId:null,teamId:null,search:i||null,sortBy:"name",sortDir:"asc",limit:h,offset:n*h}}),l=m.useMemo(()=>I(a.data?.diagrams.items??[]),[a.data?.diagrams.items]),c=a.data?.diagrams.totalCount??0,d=a.loading&&!a.data?.diagrams;return{diagrams:l,totalCount:c,pageSize:h,page:n,setPage:o,isLoading:d,search:r,setSearch:s}});function q({diagram:t}){const{canWrite:r}=G(),s=x().id,[i,n]=m.useState(!1),[o,a]=m.useState(!1),[l]=j(A,{awaitRefetchQueries:!0,refetchQueries:["Diagrams"]}),c=t.id?`/diagram/${t.id}`:"#",d=t.updatedAt?new Date(t.updatedAt):t.createdAt?new Date(t.createdAt):null;return e.jsxs("div",{className:"group relative",children:[e.jsxs(E,{target:"_blank",to:c,draggable:!1,className:"relative block cursor-pointer overflow-hidden rounded-[1.4525rem] bg-[#141925] shadow-[0_1px_3px_rgba(0,0,0,0.3),0_1px_2px_rgba(0,0,0,0.2)] ring-1 ring-[#2A3242] transition-all duration-300 hover:shadow-[0_0_0_3px_rgba(59,107,255,0.22),0_8px_24px_rgba(0,0,0,0.4)] hover:ring-2 hover:ring-[#3B6BFF]",children:[e.jsxs("div",{className:"relative aspect-[16/10] w-full bg-[#1A2030] transition-colors duration-300",children:[e.jsx(z,{diagramId:t.id}),e.jsx("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 h-6 bg-gradient-to-t from-black/30 to-transparent"})]}),e.jsx("div",{className:"h-px bg-[#2A3242]"}),e.jsxs("div",{className:"px-4 py-3",children:[e.jsx("h4",{className:"line-clamp-1 text-sm font-semibold text-[#F4F7FC]",children:t.name?t.name.charAt(0).toUpperCase()+t.name.slice(1):e.jsx("span",{className:"text-[#586378]",children:"Blank Diagram"})}),e.jsxs("div",{className:"mt-2 flex min-h-[1.75rem] items-center justify-between gap-2",children:[d?e.jsxs("div",{className:"flex min-w-0 items-center gap-1.5 text-[#586378]",children:[e.jsx(H,{className:"h-3 w-3 shrink-0"}),e.jsx("span",{className:"text-[11px]",children:$(d,"dd MMM yyyy")})]}):e.jsx("span",{}),e.jsx(P,{actor:t.updatedByActor??t.createdByActor,commitHash:t.updatedByActor?t.updatedByCommitHash:t.createdByCommitHash,className:"shrink-0"})]})]})]}),e.jsxs(O,{open:i,onOpenChange:n,children:[e.jsx(R,{asChild:!0,children:e.jsx(u,{size:"icon",variant:"ghost",className:b("absolute top-2 right-2 h-7 w-7 rounded-lg bg-[#1E2533]/80 opacity-0 shadow-sm backdrop-blur-sm transition-opacity group-hover:opacity-100 hover:bg-[#2A3242]",i&&"opacity-100"),children:e.jsx(C,{className:"h-3.5 w-3.5 text-[#828DA3]"})})}),e.jsx(Q,{align:"end",children:e.jsx(T,{variant:"destructive",disabled:!r,onClick:()=>a(!0),children:"Delete"})})]}),e.jsx(L,{open:o,onOpenChange:a,title:"Do you want to delete this flow diagram?",description:"Deleting this flow diagram removes its files from the project and cannot be undone.",onConfirm:async()=>{try{await l({variables:{orgId:s,id:t.id}}),p.success("Diagram deleted"),a(!1)}catch(f){p.error(f instanceof Error?f.message:"Failed to delete diagram")}}})]})}function U(){const{diagrams:t,totalCount:r,pageSize:s,page:i,setPage:n,isLoading:o,search:a,setSearch:l}=W();return e.jsxs("div",{className:"space-y-6 pb-4",children:[e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(g,{value:a,onChange:c=>l(c.target.value),placeholder:"Search flows",className:"h-11 max-w-sm flex-1 rounded-[16px] border-[#2A3242] bg-transparent px-6 text-sm text-[#F4F7FC] shadow-none placeholder:text-[#586378] focus-visible:border-[#5C84FF]"})}),o?e.jsx(k,{label:"Loading flows..."}):t.length>0?e.jsx(J,{diagrams:t,page:i,pageSize:s,totalCount:r,onPageChange:n}):e.jsx(B,{label:a?"No flows match your search.":"The .uigraph artifacts have no diagrams."})]})}function Z(t,r){if(r<=5)return Array.from({length:r},(o,a)=>a);const s=[];s.push(0);const i=Math.max(1,t-1),n=Math.min(r-2,t+1);i>1&&s.push("...");for(let o=i;o<=n;o++)s.push(o);return n<r-2&&s.push("..."),s.push(r-1),s}function J({diagrams:t,page:r,pageSize:s,totalCount:i,onPageChange:n}){const o=Math.ceil(i/s);return e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"grid gap-4 pb-4",style:{gridTemplateColumns:"repeat(auto-fill, minmax(280px, 1fr))"},children:t.map(a=>e.jsx(q,{diagram:a},a.id))}),o>1&&e.jsxs("div",{className:"flex items-center justify-center gap-2 pt-2",children:[e.jsx(u,{preset:"outline",className:"h-8 px-3 text-sm",disabled:r===0,onClick:()=>n(r-1),children:"Previous"}),e.jsx("div",{className:"flex items-center gap-1",children:Z(r,o).map((a,l)=>a==="..."?e.jsx("span",{className:"flex h-8 w-8 items-center justify-center text-sm text-[#586378]",children:"…"},`ellipsis-${l}`):e.jsx("button",{onClick:()=>n(a),className:b("flex h-8 w-8 items-center justify-center rounded-lg text-sm transition-colors",a===r?"bg-primary text-white":"text-[#828DA3] hover:bg-[#2A3242]"),children:a+1},a))}),e.jsx(u,{preset:"outline",className:"h-8 px-3 text-sm",disabled:r===o-1,onClick:()=>n(r+1),children:"Next"})]})]})}function Le(){const t=x().id,[r,s]=m.useState(!1),[i,n]=m.useState(""),[o,{loading:a}]=j(S,{refetchQueries:["Diagrams"],awaitRefetchQueries:!0});async function l(){if(i.trim()===""){p.error("Name is required");return}try{const{data:c}=await o({variables:{orgId:t,input:{name:i.trim(),content:"{}"}}}),d=c?.createDiagram?.id;if(!d)throw new Error;window.open(`/diagram/${d}`,"_blank"),s(!1),n(""),p.success("Diagram created")}catch{p.error("Failed to create diagram")}}return e.jsx(V,{children:e.jsxs(y,{title:"System Flows",description:"Diagrams from your registered projects and ~/.uigraph.",crumbs:[{to:"/dashboard/diagrams",label:"Diagrams"}],headerContent:e.jsxs(u,{preset:"cta",onClick:()=>s(!0),children:[e.jsx(w,{}),"Create Flow"]}),children:[e.jsx(U,{}),e.jsx(v,{open:r,onOpenChange:s,children:e.jsx(D,{title:"Create Flow",description:"The flow is saved in ~/.uigraph and isn't part of any service.",footerSubmit:"Create Flow",footerSubmitLoading:a,onFooterSubmitClick:l,footerCancel:!0,children:e.jsx("form",{onSubmit:c=>{c.preventDefault(),l()},children:e.jsx(g,{value:i,onChange:c=>n(c.target.value),placeholder:"Enter flow name",className:"h-[56px] rounded-[16px] border border-[#2A3242] bg-transparent px-6 focus:outline-none",autoComplete:"off"})})})})]})})}export{Le as DashboardDiagramsPageInner};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dashboard-docs-page-inner-BLbX-YwF.js","assets/index-CH7cEAxj.js","assets/common-DLCsGQ-t.js","assets/better-dialog-DcIxFWwk.js","assets/chunk-OB3PAWPO-DJIP1M4r.js","assets/button-DZj74qS7.js","assets/iconBase-DtqdW2XR.js","assets/dialog-D7wzTt0L.js","assets/nav-links-DZWMpwMR.js","assets/query-D9oj6LGx.js","assets/loader-circle-CiqyoJF7.js","assets/better-dialog-B58_5-Gn.css","assets/index-Bn2bqqMd.js","assets/scroll-area-RagrStGj.js","assets/ui-graph-logo-gHowu5gP.js","assets/dashboard-layout-sTeeHNsZ.js","assets/grid-scroll-body-DC5pYDPJ.js","assets/popover-476u3TN0.js","assets/service-doc-preview-modal-5sX6FOu1.js","assets/component-icons-MJ61E9nt.js","assets/component-icons-BD8MpcyB.css","assets/input--C59pq6j.js","assets/textarea-Clgdv3Oi.js","assets/select-D9fbrr7O.js","assets/chevron-down-DDsUE_xz.js","assets/check-BpmCQNbj.js","assets/chevron-up-DVznKMGv.js","assets/uploads-CX2kdXbM.js","assets/gql-FFIj8zdp.js","assets/zod-BMU4UTQt.js","assets/index-Dj_05fqk.js","assets/index-CBOYhBKJ.js","assets/doc-file-content-Be0au9Vo.js","assets/file-text-BFqJQ67P.js","assets/globe-CJ35KsQW.js","assets/index-BZGsDmUx.js","assets/index-CIf0GId3.js","assets/mermaid.core-BDgZg3kW.js","assets/preload-helper-BlTxHScW.js","assets/transform-BqqRT-Iy.js","assets/index-DDmBuMKI.js","assets/index-DY3BFyb6.js","assets/index-B6MxYIzs.js","assets/katex-HP8lGamR.js","assets/doc-file-content-Cp579UoJ.css","assets/use-permissions-BvmxJJ5r.js","assets/use-debounced-value-BpNFJd3C.js","assets/react-Bx48XWN4.js","assets/index-Ck66Ic_p.js","assets/useQuery-Dhe6uxrL.js","assets/useMutation-D5ZHwHsx.js","assets/section-loader-C4hOfhQS.js","assets/super-logo-loader-Cxlbn6MB.js","assets/section-not-found-BnrXiPog.js","assets/better-delete-confirmation-modal-CGEQ5O4X.js","assets/super-circle-loader-DSkos6uP.js","assets/calendar-Bolgc8E5.js","assets/format-BquKoU4D.js","assets/en-US-B1Lg1a1H.js","assets/download-DhyZ3g4F.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{_ as s}from"./preload-helper-BlTxHScW.js";import{j as r,r as o}from"./index-CH7cEAxj.js";const a=o.lazy(()=>s(()=>import("./dashboard-docs-page-inner-BLbX-YwF.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59])).then(e=>({default:e.DashboardDocsPageInner})));function i(){return r.jsx(o.Suspense,{children:r.jsx(a,{})})}export{i as DashboardDocsPage};
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import{r as l,j as e}from"./index-CH7cEAxj.js";import{C as V}from"./common-DLCsGQ-t.js";import{B as O}from"./better-dialog-DcIxFWwk.js";import{B as I}from"./button-DZj74qS7.js";import{u as T}from"./query-D9oj6LGx.js";import{M as q}from"./nav-links-DZWMpwMR.js";import{DashboardPageSectionLayout as K}from"./index-Bn2bqqMd.js";import{E as G,S as Q,C as Z}from"./service-doc-preview-modal-5sX6FOu1.js";import{u as B}from"./use-permissions-BvmxJJ5r.js";import{t as S}from"./index-B6MxYIzs.js";import{u as J}from"./use-debounced-value-BpNFJd3C.js";import{a as X}from"./index-Dj_05fqk.js";import{c as Y}from"./react-Bx48XWN4.js";import{g as W}from"./gql-FFIj8zdp.js";import{g as R}from"./index-Ck66Ic_p.js";import{u as ee}from"./useQuery-Dhe6uxrL.js";import{u as E}from"./useMutation-D5ZHwHsx.js";import{S as te}from"./section-loader-C4hOfhQS.js";import{S as re}from"./section-not-found-BnrXiPog.js";import{I as oe}from"./input--C59pq6j.js";import{b as se,c as C}from"./chunk-OB3PAWPO-DJIP1M4r.js";import{B as ne}from"./better-delete-confirmation-modal-CGEQ5O4X.js";import{D as ae,a as ie,b as le,c as $}from"./scroll-area-RagrStGj.js";import{e as z,g as L,a as de}from"./doc-file-content-Be0au9Vo.js";import{C as ce}from"./calendar-Bolgc8E5.js";import{f as me}from"./format-BquKoU4D.js";import{D as pe}from"./download-DhyZ3g4F.js";import{T as ue}from"./uploads-CX2kdXbM.js";import"./dialog-D7wzTt0L.js";import"./iconBase-DtqdW2XR.js";import"./loader-circle-CiqyoJF7.js";import"./dashboard-layout-sTeeHNsZ.js";import"./grid-scroll-body-DC5pYDPJ.js";import"./popover-476u3TN0.js";import"./component-icons-MJ61E9nt.js";import"./textarea-Clgdv3Oi.js";import"./select-D9fbrr7O.js";import"./chevron-down-DDsUE_xz.js";import"./check-BpmCQNbj.js";import"./chevron-up-DVznKMGv.js";import"./zod-BMU4UTQt.js";import"./index-CBOYhBKJ.js";import"./file-text-BFqJQ67P.js";import"./index-CIf0GId3.js";import"./super-logo-loader-Cxlbn6MB.js";import"./super-circle-loader-DSkos6uP.js";import"./ui-graph-logo-gHowu5gP.js";import"./globe-CJ35KsQW.js";import"./index-BZGsDmUx.js";import"./mermaid.core-BDgZg3kW.js";import"./preload-helper-BlTxHScW.js";import"./transform-BqqRT-Iy.js";import"./index-DDmBuMKI.js";import"./index-DY3BFyb6.js";import"./katex-HP8lGamR.js";import"./en-US-B1Lg1a1H.js";const fe=R(`
|
|
2
|
+
query Docs(
|
|
3
|
+
$orgId: ID!
|
|
4
|
+
$folderId: ID
|
|
5
|
+
$teamId: ID
|
|
6
|
+
$search: String
|
|
7
|
+
$sortBy: String
|
|
8
|
+
$sortDir: String
|
|
9
|
+
$limit: Int
|
|
10
|
+
$offset: Int
|
|
11
|
+
) {
|
|
12
|
+
docs(
|
|
13
|
+
orgId: $orgId
|
|
14
|
+
folderId: $folderId
|
|
15
|
+
teamId: $teamId
|
|
16
|
+
search: $search
|
|
17
|
+
sortBy: $sortBy
|
|
18
|
+
sortDir: $sortDir
|
|
19
|
+
limit: $limit
|
|
20
|
+
offset: $offset
|
|
21
|
+
) {
|
|
22
|
+
totalCount
|
|
23
|
+
items {
|
|
24
|
+
id
|
|
25
|
+
orgId
|
|
26
|
+
folderId
|
|
27
|
+
teamId
|
|
28
|
+
fileAssetId
|
|
29
|
+
fileUrl
|
|
30
|
+
fileName
|
|
31
|
+
serviceName
|
|
32
|
+
fileType
|
|
33
|
+
description
|
|
34
|
+
contentHash
|
|
35
|
+
createdBy
|
|
36
|
+
updatedBy
|
|
37
|
+
createdAt
|
|
38
|
+
updatedAt
|
|
39
|
+
createdByActor {
|
|
40
|
+
id
|
|
41
|
+
type
|
|
42
|
+
name
|
|
43
|
+
email
|
|
44
|
+
avatarUrl
|
|
45
|
+
}
|
|
46
|
+
updatedByActor {
|
|
47
|
+
id
|
|
48
|
+
type
|
|
49
|
+
name
|
|
50
|
+
email
|
|
51
|
+
avatarUrl
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
`),he=W(`
|
|
57
|
+
mutation CreateDoc($orgId: ID!, $input: CreateDocInput!) {
|
|
58
|
+
createDoc(orgId: $orgId, input: $input) {
|
|
59
|
+
id
|
|
60
|
+
fileName
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
`),xe=W(`
|
|
64
|
+
mutation DeleteDoc($orgId: ID!, $id: ID!) {
|
|
65
|
+
deleteDoc(orgId: $orgId, id: $id)
|
|
66
|
+
}
|
|
67
|
+
`),M=24,[ge,F]=Y(()=>{const t=T().id,[s,n]=l.useState(""),i=J(s),[a,r]=l.useState(0);l.useEffect(()=>{r(0)},[i]);const o=ee(fe,{fetchPolicy:"cache-and-network",variables:{orgId:t,folderId:null,teamId:null,search:i||null,sortBy:"name",sortDir:"asc",limit:M,offset:a*M}});function c(){return o.refetch()}const[p]=E(he,{onCompleted:c}),[w]=E(xe,{onCompleted:c}),x=l.useMemo(()=>X(o.data?.docs.items??[]),[o.data?.docs.items]),u=o.data?.docs.totalCount??0,f=o.loading&&!o.data?.docs;return{docs:x,totalCount:u,pageSize:M,page:a,setPage:r,isLoading:f,search:s,setSearch:n,createDoc:p,deleteDoc:w}});function ve({fileURL:t,fileType:s,fileName:n,fallback:i}){const a=s?.toLowerCase()||"",r=n?.toLowerCase()||"",[o,c]=l.useState(null),[p,w]=l.useState(null),[x,u]=l.useState(null),[f,D]=l.useState(null),[g,b]=l.useState(null),[v,N]=l.useState(null),k=a==="image"||/\.(jpg|jpeg|png|gif|svg|webp|bmp|ico)$/i.test(r),m=a==="pdf"||r.endsWith(".pdf"),h=a==="html"||r.endsWith(".html")||r.endsWith(".htm"),A=a==="markdown"||r.endsWith(".md")||r.endsWith(".markdown"),U=a==="audio"||/\.(mp3|wav|ogg|m4a|aac|flac|wma)$/i.test(r),H=a==="video"||/\.(mp4|mov|avi|wmv|flv|mkv|webm)$/i.test(r),P=z(s,n),y=P==="text"||P==="code";return l.useEffect(()=>{!t||!A||fetch(t).then(d=>d.text()).then(c).catch(()=>null)},[t,A]),l.useEffect(()=>{!t||!h||fetch(t).then(d=>d.text()).then(w).catch(()=>null)},[t,h]),l.useEffect(()=>{!t||!y||fetch(t).then(d=>d.text()).then(N).catch(()=>null)},[t,y]),l.useEffect(()=>{if(!t||!m)return;let d=null,_=!1;return fetch(t).then(j=>j.blob()).then(j=>{_||(d=URL.createObjectURL(j.type?j:new Blob([j],{type:"application/pdf"})),u(d))}).catch(()=>null),()=>{_=!0,d&&URL.revokeObjectURL(d),u(null)}},[t,m]),t?k?e.jsx("img",{src:t,alt:n||"",className:"h-full w-full object-cover"}):H?e.jsxs("div",{className:"relative h-full w-full",children:[e.jsx("video",{src:t,muted:!0,playsInline:!0,preload:"metadata",className:"h-full w-full object-cover",onLoadedMetadata:d=>b(d.currentTarget.duration)}),g!==null&&e.jsxs("span",{className:"absolute right-2 bottom-2 rounded-md bg-black/70 px-1.5 py-0.5 font-mono text-[11px] text-white",children:[Math.floor(g/60),":",Math.floor(g%60).toString().padStart(2,"0")]})]}):U?e.jsxs("div",{className:"flex h-full w-full flex-col items-center justify-center gap-3 [&_svg]:size-10 [&_svg]:shrink-0 [&_svg]:stroke-[1.15]",children:[L("audio"),f!==null&&e.jsxs("span",{className:"font-mono text-xs text-[#828DA3]",children:[Math.floor(f/60),":",Math.floor(f%60).toString().padStart(2,"0")]}),e.jsx("audio",{src:t,preload:"metadata",className:"hidden",onLoadedMetadata:d=>D(d.currentTarget.duration),children:e.jsx("track",{kind:"captions"})})]}):m||h?h&&p===null?e.jsx(e.Fragment,{children:i}):m&&x===null?e.jsx(e.Fragment,{children:i}):e.jsx("div",{className:"relative h-full w-full overflow-hidden",children:e.jsx("iframe",{src:m?`${x}#toolbar=0&navpanes=0&scrollbar=0&view=FitH`:void 0,srcDoc:h?p??void 0:void 0,className:"pointer-events-none absolute top-0 left-0",style:{width:"400%",height:"400%",transform:"scale(0.25)",transformOrigin:"0 0",border:"none",backgroundColor:h?"#ffffff":void 0},sandbox:h?"allow-same-origin allow-scripts":void 0,title:"preview"})}):A?e.jsxs("div",{className:"relative h-full w-full overflow-hidden bg-gradient-to-br from-[#1A2030] to-[#141925] p-5",children:[e.jsx("pre",{className:"font-mono text-[10px] leading-relaxed break-words whitespace-pre-wrap text-[#828DA3]",children:o?.slice(0,700)}),e.jsx("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 h-20 bg-gradient-to-t from-[#141925] to-transparent"})]}):y&&v!==null?e.jsxs("div",{className:"relative h-full w-full overflow-hidden bg-gradient-to-br from-[#1A2030] to-[#141925] p-5",children:[e.jsx("pre",{className:"font-mono text-[10px] leading-relaxed break-words whitespace-pre-wrap text-[#828DA3]",children:v.slice(0,700)}),e.jsx("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 h-20 bg-gradient-to-t from-[#141925] to-transparent"})]}):y&&v!==null?e.jsxs("div",{className:"relative h-full w-full overflow-hidden bg-gradient-to-br from-[#1A2030] to-[#141925] p-5",children:[e.jsx("pre",{className:"font-mono text-[10px] leading-relaxed break-words whitespace-pre-wrap text-[#828DA3]",children:v.slice(0,700)}),e.jsx("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 h-20 bg-gradient-to-t from-[#141925] to-transparent"})]}):e.jsx(e.Fragment,{children:i}):e.jsx(e.Fragment,{children:i})}function we(t,s){const n=t?.toLowerCase()||"",i=s?.toLowerCase()||"";return n==="pdf"||i.endsWith(".pdf")?"bg-red-100 text-red-700 border-red-200":n==="html"||i.endsWith(".html")||i.endsWith(".htm")?"bg-blue-100 text-blue-700 border-blue-200":n==="readme"||n==="markdown"||i.endsWith(".md")||i.endsWith(".markdown")?"bg-orange-100 text-orange-700 border-orange-200":"bg-[#1E2533] text-[#D2D9E6] border-[#2A3242]"}function be({doc:t}){const{canWrite:s}=B(),n=T().id,{deleteDoc:i}=F(),[a,r]=l.useState(!1),[o,c]=l.useState(!1),[p,w]=se(),x=p.get("open")===t.id;function u(N){w(k=>{const m=new URLSearchParams(k);return N&&m.set("open",t.id),N||m.delete("open"),m})}function f(){t.fileUrl&&window.open(t.fileUrl,"_blank")}function D(){t.fileUrl&&u(!0)}const g=t.updatedAt?new Date(t.updatedAt):t.createdAt?new Date(t.createdAt):null,b=z(t.fileType,t.fileName),v=b==="audio"?"[--width:min(90vw,38rem)]":b==="video"?"[--width:min(92vw,64rem)]":b==="image"?"[--width:min(92vw,72rem)]":"min-h-[95vh] [--width:min(95vw,100rem)]";return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"group relative",children:[e.jsxs("div",{className:C("relative cursor-pointer overflow-hidden rounded-[1.4525rem] bg-[#141925] shadow-[0_1px_3px_rgba(0,0,0,0.07),0_1px_2px_rgba(0,0,0,0.04)] ring-1 ring-[#2A3242] transition-all duration-300 hover:shadow-[0_0_0_3px_rgba(1,90,235,0.18),0_8px_24px_rgba(0,0,0,0.10)] hover:ring-2 hover:ring-[#015AEB]",!t.fileUrl&&"cursor-default opacity-60"),onClick:t.fileUrl?D:void 0,children:[e.jsx("div",{className:"relative aspect-[16/10] w-full overflow-hidden bg-[#1E2533] transition-colors duration-300",children:e.jsx(ve,{fileURL:t.fileUrl,fileType:t.fileType,fileName:t.fileName,fallback:e.jsx("div",{className:"flex h-full w-full items-center justify-center [&_svg]:size-10 [&_svg]:shrink-0 [&_svg]:stroke-[1.15]",children:L(t.fileType??"")})})}),e.jsx("div",{className:"h-px bg-[#1E2533]"}),e.jsxs("div",{className:"px-4 py-3",children:[e.jsx("h4",{className:"line-clamp-1 text-sm font-semibold text-[#F4F7FC]",children:t.fileName||"Untitled Document"}),e.jsx("p",{className:"text-paragraph mt-1 truncate text-xs",children:t.serviceName??"Standalone doc"}),e.jsxs("div",{className:"mt-2 flex min-h-[1.75rem] items-center justify-between gap-2",children:[e.jsx("span",{className:C("inline-flex shrink-0 items-center rounded-md border px-1.5 py-0.5 font-mono text-[10px] font-medium",we(t.fileType,t.fileName)),children:de(t.fileType??"")}),g&&e.jsxs("div",{className:"flex items-center gap-1.5 text-[#828DA3]",children:[e.jsx(ce,{className:"h-3 w-3 shrink-0"}),e.jsx("span",{className:"text-[11px]",children:me(g,"dd MMM yyyy")})]})]})]})]}),e.jsxs(ae,{open:a,onOpenChange:r,children:[e.jsx(ie,{asChild:!0,children:e.jsx(I,{size:"icon",variant:"ghost",className:C("absolute top-2 right-2 h-7 w-7 rounded-lg bg-[#1E2533]/80 opacity-0 shadow-sm backdrop-blur-sm transition-opacity group-hover:opacity-100 hover:bg-[#141925]",a&&"opacity-100"),children:e.jsx(q,{className:"h-3.5 w-3.5 text-[#555]"})})}),e.jsxs(le,{align:"end",children:[t.fileUrl&&e.jsxs(e.Fragment,{children:[e.jsxs($,{onClick:D,children:[e.jsx(G,{className:"h-4 w-4"}),"Preview"]}),e.jsxs($,{onClick:f,children:[e.jsx(pe,{className:"h-4 w-4"}),"Download"]})]}),e.jsxs($,{variant:"destructive",disabled:!s,onClick:()=>c(!0),children:[e.jsx(ue,{className:"h-4 w-4"}),"Delete"]})]})]})]}),e.jsx(ne,{open:o,onOpenChange:c,title:"Do you want to delete this documentation?",description:"Deleting this documentation is a permanent action and cannot be undone. Please think carefully before proceeding.",onConfirm:async()=>{try{await i({variables:{orgId:n,id:t.id}}),c(!1),S.success("Documentation deleted successfully")}catch{S.error("Failed to delete documentation")}}}),e.jsx(O,{open:x,onOpenChange:u,className:v,children:e.jsx(Q,{fileURL:t.fileUrl||void 0,fileName:t.fileName||void 0,fileType:t.fileType||void 0})})]})}function je(){const{docs:t,totalCount:s,pageSize:n,page:i,setPage:a,isLoading:r,search:o,setSearch:c}=F();return e.jsxs("div",{className:"space-y-6",children:[e.jsx("div",{className:"flex items-center gap-2",children:e.jsx(oe,{value:o,onChange:p=>c(p.target.value),placeholder:"Search docs",className:"h-11 max-w-sm flex-1 rounded-[16px] border-[#2A3242] bg-transparent px-6 text-sm text-[#F4F7FC] shadow-none placeholder:text-[#586378] focus-visible:border-[#5C84FF]"})}),r?e.jsx(te,{label:"Loading docs..."}):t.length>0?e.jsx(Ne,{docs:t,page:i,pageSize:n,totalCount:s,onPageChange:a}):e.jsx(re,{label:o?"No docs match your filters.":"No docs yet."})]})}function De(t,s){if(s<=5)return Array.from({length:s},(r,o)=>o);const n=[];n.push(0);const i=Math.max(1,t-1),a=Math.min(s-2,t+1);i>1&&n.push("...");for(let r=i;r<=a;r++)n.push(r);return a<s-2&&n.push("..."),n.push(s-1),n}function Ne({docs:t,page:s,pageSize:n,totalCount:i,onPageChange:a}){const r=Math.ceil(i/n);return e.jsxs("div",{className:"space-y-4 pb-4",children:[e.jsx("div",{className:"grid gap-4",style:{gridTemplateColumns:"repeat(auto-fill, minmax(280px, 1fr))"},children:t.map(o=>e.jsx(be,{doc:o},o.id))}),r>1&&e.jsxs("div",{className:"flex items-center justify-center gap-2 pt-2",children:[e.jsx(I,{preset:"outline",className:"h-8 px-3 text-sm",disabled:s===0,onClick:()=>a(s-1),children:"Previous"}),e.jsx("div",{className:"flex items-center gap-1",children:De(s,r).map((o,c)=>o==="..."?e.jsx("span",{className:"flex h-8 w-8 items-center justify-center text-sm text-[#586378]",children:"…"},`ellipsis-${c}`):e.jsx("button",{onClick:()=>a(o),className:C("flex h-8 w-8 items-center justify-center rounded-lg text-sm transition-colors",o===s?"bg-primary text-white":"text-[#828DA3] hover:bg-[#2A3242]"),children:o+1},o))}),e.jsx(I,{preset:"outline",className:"h-8 px-3 text-sm",disabled:s===r-1,onClick:()=>a(s+1),children:"Next"})]})]})}function St(){return e.jsx(ge,{children:e.jsx(ye,{})})}function ye(){const t=T().id,{createDoc:s}=F(),{canWrite:n}=B(),[i,a]=l.useState(!1);return e.jsxs(K,{title:"Documentation",description:"Docs from your registered projects and ~/.uigraph.",crumbs:[{to:"/dashboard/docs",label:"Docs"}],headerContent:e.jsxs(I,{preset:"cta",disabled:!n,onClick:()=>a(!0),children:[e.jsx(V,{}),"Upload"]}),children:[e.jsx(je,{}),e.jsx(O,{open:i,onOpenChange:a,children:e.jsx(Z,{mode:"create",orgId:t,onSubmit:async r=>{try{await s({variables:{orgId:t,input:{fileName:r.fileName??"",fileType:r.fileType??"",description:r.description??"",fileAssetId:r.fileId??""}}}),S.success("Documentation uploaded successfully"),a(!1)}catch(o){throw console.error(o),S.error("Failed to upload documentation"),o}}})})]})}export{St as DashboardDocsPageInner};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e}from"./index-CH7cEAxj.js";import{G as t}from"./grid-scroll-body-DC5pYDPJ.js";import{y as u,x as o,z as g,T as c,v as d,w as x,A as j}from"./nav-links-DZWMpwMR.js";import{f as p}from"./scroll-area-RagrStGj.js";import{e as f,L as h,c as l}from"./chunk-OB3PAWPO-DJIP1M4r.js";import{a as i,U as N}from"./query-D9oj6LGx.js";import{P as v,a as y,b as A}from"./popover-476u3TN0.js";function k(){const s=f().pathname,a=i(r=>r.organizations.length>0),m=i(r=>r.user?.isServerAdmin),b=u.filter(r=>(a||r.id!=="/server")&&(!r.serverAdminOnly||m));return e.jsxs("aside",{className:"flex h-full min-h-0 flex-col gap-[1.31rem] bg-[#141925] py-4",children:[e.jsx("div",{className:"shrink-0 px-4",children:e.jsx(h,{to:"/dashboard",className:"flex items-center justify-center",children:e.jsx(N,{size:42})})}),e.jsxs(o,{delayDuration:400,children:[e.jsx("ul",{className:"no-scrollbar flex min-h-0 w-full flex-1 flex-col gap-3 overflow-y-auto px-2",children:b.map(r=>e.jsx(n,{to:r.id,label:r.label,icon:r.icon,isActive:r.isActive(s)},r.id))}),e.jsx("ul",{className:"shrink-0 px-2",children:e.jsx(n,{to:"/plans",label:"Cloud",icon:e.jsx(g,{}),isActive:s.startsWith("/plans")})})]})]})}function n(s){return e.jsx("li",{className:"relative block select-none",children:e.jsxs(c,{children:[e.jsx(d,{asChild:!0,children:e.jsxs(h,{to:s.to,className:l("block rounded-[0.75rem] p-1 transition-all",!s.isActive&&"cursor-pointer hover:bg-[#1E2533]",s.isActive&&"text-primary cursor-default"),children:[e.jsx("span",{className:l("relative mx-auto flex size-10 items-center justify-center bg-transparent text-2xl transition-all *:transition-all",s.isActive&&"bg-primary/5 rounded-[0.75rem]"),children:s.icon}),e.jsx("span",{className:"block text-center text-[10px]",children:s.label})]})}),e.jsx(x,{side:"right",children:s.label})]})})}function S(s){return e.jsxs(v,{children:[e.jsx(o,{delayDuration:400,children:e.jsxs(c,{children:[e.jsx(d,{asChild:!0,children:e.jsx(y,{asChild:!0,children:s.children})}),e.jsx(x,{side:"right",children:s.message})]})}),e.jsxs(A,{side:"right",align:"start",className:"space-y-3",children:[e.jsx("h3",{className:"text-sm font-medium",children:s.label}),e.jsx("p",{className:"text-paragraph text-sm",children:s.message})]})]})}function I({children:s}){return e.jsxs("main",{className:"bg-shading-gray grid h-screen grid-cols-[5.25rem_1fr] grid-rows-[1fr] gap-2 overflow-hidden",children:[e.jsx(k,{}),s]})}function O({children:s}){return e.jsx(D,{crumbs:[{to:"/settings",label:"Settings"}],children:e.jsxs("div",{className:"grid h-full grid-cols-[15rem_1fr] gap-3 p-3",children:[e.jsxs("aside",{className:"border-stock bg-card block rounded-[0.75rem] border",children:[e.jsx("label",{className:"border-stock flex h-14 items-center border-b px-4",children:"Settings"}),e.jsx("ul",{className:"flex flex-col gap-2 px-4 py-2",children:j.map(a=>e.jsx("li",{className:"relative block select-none",children:e.jsx(S,{label:a.label,message:typeof a.disabled=="string"?a.disabled:"Not available in the local version",children:e.jsxs("button",{type:"button","aria-label":`${a.label}: ${a.disabled}`,className:"text-paragraph hover:bg-stock flex h-[2.4375rem] w-full cursor-pointer items-center rounded-[0.5rem] bg-transparent px-3 py-2",children:[e.jsx("span",{className:"block text-base",children:a.icon}),e.jsx("span",{className:"ml-2 block text-sm",children:a.label})]})})},a.id))})]}),e.jsx(t,{className:"border-stock bg-card rounded-[0.75rem] border",children:s})]})})}function D({children:s,crumbs:a}){return e.jsxs("div",{className:"grid h-full min-h-0 grid-rows-[auto_1fr] gap-[0.81rem] pt-3 pr-3",children:[e.jsx(p,{crumbs:a}),e.jsx(t,{className:"bg-shading min-h-0 rounded-t-[1.2rem]",children:s})]})}export{D,I as a,O as b,k as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as o}from"./index-CH7cEAxj.js";import{P as r}from"./nav-links-DZWMpwMR.js";import"./query-D9oj6LGx.js";import{D as t}from"./dashboard-layout-sTeeHNsZ.js";import{O as s}from"./chunk-OB3PAWPO-DJIP1M4r.js";import"./iconBase-DtqdW2XR.js";import"./grid-scroll-body-DC5pYDPJ.js";import"./scroll-area-RagrStGj.js";import"./ui-graph-logo-gHowu5gP.js";import"./popover-476u3TN0.js";function x(){return o.jsx(t,{crumbs:[{to:r.lens.dashboard,label:"Lens"}],children:o.jsx("div",{className:"flex h-full min-h-0 flex-col",children:o.jsx(s,{})})})}export{x as DashboardLensLayout};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as x,j as e}from"./index-CH7cEAxj.js";import{S as W}from"./super-circle-loader-DSkos6uP.js";import{a as Re,c as y}from"./chunk-OB3PAWPO-DJIP1M4r.js";import{S as Te}from"./section-loader-C4hOfhQS.js";import{B as N}from"./button-DZj74qS7.js";import{D as De,a as _e,b as Oe,c as Ge}from"./scroll-area-RagrStGj.js";import{u as Pe}from"./query-D9oj6LGx.js";import{H as Ye,E as ze,G as Xe,I as He}from"./nav-links-DZWMpwMR.js";import{DashboardPageSectionLayout as Qe}from"./index-Bn2bqqMd.js";import{u as Fe}from"./use-permissions-BvmxJJ5r.js";import{A as Ce,b as Ve,c as We}from"./react-flow-wrapper-BcbvHgxz.js";import{P as Se,C as Be}from"./component-icons-MJ61E9nt.js";import{G as K}from"./grid-scroll-body-DC5pYDPJ.js";import{u as Ue,F as qe,M as $e,a as de,b as me,c as ue,C as Ke,U as Ze,D as Je,d as et,e as tt,f as at,g as ot,h as rt,i as st,j as nt,k as ee,l as it,m as te,n as lt,o as ct,p as dt,I as mt,q as ut,L as pt,r as ht,s as xt,t as ft,v as bt,G as gt}from"./linked-project-dot-BY1gEES9.js";import{u as jt}from"./use-localstorage-D233xVb0.js";import{a as X}from"./index-Dj_05fqk.js";import{c as vt}from"./react-Bx48XWN4.js";import{u as L}from"./useQuery-Dhe6uxrL.js";import{u as C}from"./useMutation-D5ZHwHsx.js";import{t as yt}from"./index-B6MxYIzs.js";import{C as ae}from"./cross-button-D5qst1tj.js";import{I as oe}from"./input--C59pq6j.js";import{L as H}from"./textarea-Clgdv3Oi.js";import{P as re,a as se,b as ne}from"./popover-476u3TN0.js";import{u as ie,a as le,C as Q}from"./zod-BMU4UTQt.js";import{o as ce,s as V}from"./index-CIf0GId3.js";import{S as pe,a as he,b as xe,c as fe,d as be}from"./select-D9fbrr7O.js";import{m as B}from"./index-PglMbhys.js";import{H as Pt}from"./index-BZGsDmUx.js";import"./super-logo-loader-Cxlbn6MB.js";import"./iconBase-DtqdW2XR.js";import"./ui-graph-logo-gHowu5gP.js";import"./dashboard-layout-sTeeHNsZ.js";import"./index-BpCVYTvP.js";import"./preload-helper-BlTxHScW.js";import"./mermaid.core-BDgZg3kW.js";import"./transform-BqqRT-Iy.js";import"./last-DXTTfs9a.js";import"./index-BIrx3oY4.js";import"./value-wA6veExk.js";import"./style-BPesJvJr.js";import"./gql-FFIj8zdp.js";import"./index-Ck66Ic_p.js";import"./avatar-DAFUyk1i.js";import"./chevron-down-DDsUE_xz.js";import"./better-delete-confirmation-modal-CGEQ5O4X.js";import"./dialog-D7wzTt0L.js";import"./check-BpmCQNbj.js";import"./badge-hR3QvPWv.js";import"./table-B4pFND-o.js";import"./services-Ivav34WC.js";import"./common-DLCsGQ-t.js";import"./color-input-ClkkG_kZ.js";import"./checkbox-CFJfXL6R.js";import"./en-US-B1Lg1a1H.js";import"./format-BquKoU4D.js";import"./endOfMonth-CMPv5yN4.js";import"./index-CBOYhBKJ.js";import"./uploads-CX2kdXbM.js";import"./index-DkzZ-ZvR.js";import"./index-Cp9mIQ8F.js";import"./better-dialog-DcIxFWwk.js";import"./loader-circle-CiqyoJF7.js";import"./index-DDmBuMKI.js";import"./method-badge-DErZP7y5.js";import"./api-adapters-tfr51BsS.js";import"./api-endpoints-D-Whnnwd.js";import"./diagrams-BqBSv2eb.js";import"./use-debounced-value-BpNFJd3C.js";import"./link-2-D1e0xznG.js";import"./flow-diagram-preview-B83UU1n_.js";import"./getRoundingMethod-DC1wW3rl.js";import"./quill-Cde5JMRD.js";import"./merge-BhOMvhW1.js";import"./doc-file-content-Be0au9Vo.js";import"./file-text-BFqJQ67P.js";import"./globe-CJ35KsQW.js";import"./index-DY3BFyb6.js";import"./katex-HP8lGamR.js";import"./service-doc-C-jHqT1U.js";import"./chevron-up-DVznKMGv.js";const Ft=[["path",{d:"M12 17H8C5.17157 17 3.75736 17 2.87868 16.1213C2 15.2426 2 13.8284 2 11V9C2 6.17157 2 4.75736 2.87868 3.87868C3.75736 3 5.17157 3 8 3H16C18.8284 3 20.2426 3 21.1213 3.87868C21.9466 4.70398 21.9968 6.00173 21.9998 8.5",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",key:"0"}],["path",{d:"M16 14V18C16 19.4142 16 20.1213 16.4393 20.5607C16.8787 21 17.5858 21 19 21C20.4142 21 21.1213 21 21.5607 20.5607C22 20.1213 22 19.4142 22 18V14C22 12.5858 22 11.8787 21.5607 11.4393C21.1213 11 20.4142 11 19 11C17.5858 11 16.8787 11 16.4393 11.4393C16 11.8787 16 12.5858 16 14Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",key:"1"}],["path",{d:"M10 21H8M10 21C10.8284 21 11.5 20.3284 11.5 19.5V17L12 17M10 21H12.5V17L12 17M12 17V21",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"1.5",key:"2"}]],[Ct,k]=vt(()=>{const{frameId:l}=Re(),i=String(l),n=Ue(),r=Pe()?.id,c=L(qe,{fetchPolicy:"cache-first",variables:{orgId:r,id:i},skip:!r||!l}),a=c.data?.frameById??null,s=a?.mapId??"",m=L($e,{fetchPolicy:"cache-first",variables:{orgId:r,id:s},skip:!r||!s}),d=m.data?.map??null,b={orgId:r,mapId:s,frameId:i},v={skip:!r||!s},p=L(de,{fetchPolicy:"cache-and-network",variables:b,...v}),f=L(me,{fetchPolicy:"cache-and-network",variables:b,...v}),j=L(ue,{fetchPolicy:"cache-and-network",variables:b,...v}),[D,_]=x.useState(100),S=`focal-point-preset:${i}`,[A,P]=jt(S,null),[I,F]=x.useState(null),[E,O]=x.useState(null),o=I?.type??E?.type??null;function w(h){if(h==="group"){F(null),O({type:"group",position:null});return}if(O(null),h===null){F(null);return}F({type:h,position:null})}const G=[{query:de,variables:b}],R=[{query:me,variables:b}],t=[{query:ue,variables:b}],u={awaitRefetchQueries:!0},[g]=C(Ke,{...u,refetchQueries:G}),[Y]=C(Ze,{...u,refetchQueries:G}),[U]=C(Je,{...u,refetchQueries:G}),[q]=C(et,{...u,refetchQueries:R}),[we]=C(tt,{...u,refetchQueries:R}),[Ne]=C(at,{...u,refetchQueries:R}),[ke]=C(ot,{...u,refetchQueries:t}),[Me]=C(rt,{...u,refetchQueries:t}),[Le]=C(st,{...u,refetchQueries:t}),T=x.useMemo(()=>X(p.data?.focalPoints),[p.data?.focalPoints]),$=x.useMemo(()=>X(f.data?.frameGroups),[f.data?.frameGroups]),Ae=x.useMemo(()=>X(j.data?.frameLinks),[j.data?.frameLinks]),Ie=x.useMemo(()=>T.find(h=>h.id===n.focalPoint),[T,n.focalPoint]),M=x.useMemo(()=>$.find(h=>h.id===n.frameGroup),[$,n.frameGroup]),Ee=x.useMemo(()=>!M||T.length===0?[]:T.filter(h=>nt({x:M.locationX,y:M.locationY,width:M.width,height:M.height},{x:h.locationX,y:h.locationY})),[T,M]);return{zoom:D,setZoom:_,preset:A,setPreset:P,newPoint:I,setNewPoint:F,drawRectMode:E,setDrawRectMode:O,activeTool:o,setActiveTool:w,canvasTarget:n,selectedFocalPoint:Ie,selectedFrameGroup:M,selectedFrameGroupPoints:Ee,orgId:r,mapId:s,frameId:i,frame:a,frameLoading:!a&&c.loading,map:d,mapLoading:!a&&c.loading||!d&&m.loading,focalPoints:T,frameGroups:$,frameLinks:Ae,createFocalPoint(h){return g({variables:{orgId:r,mapId:s,frameId:i,input:h}})},async updateFocalPoint(h,z){await Y({variables:{orgId:r,mapId:s,frameId:i,id:h,input:z}})},async deleteFocalPoint(h){await U({variables:{orgId:r,mapId:s,frameId:i,id:h}})},createFrameGroup(h){return q({variables:{orgId:r,mapId:s,frameId:i,input:h}})},updateFrameGroup(h,z){return we({variables:{orgId:r,mapId:s,frameId:i,id:h,input:z}})},deleteFrameGroup(h){return Ne({variables:{orgId:r,mapId:s,frameId:i,id:h}})},createFrameLink(h){return ke({variables:{orgId:r,mapId:s,frameId:i,input:h}})},updateFrameLink(h,z){return Me({variables:{orgId:r,mapId:s,frameId:i,id:h,input:z}})},deleteFrameLink(h){return Le({variables:{orgId:r,mapId:s,frameId:i,id:h}})}}});function St(){const{setDrawRectMode:l}=k(),i=x.useRef(null),[n,r]=x.useState(null),[c,a]=x.useState(null),[s,m]=x.useState(null);return x.useEffect(()=>{const d=i.current;if(!d)return;r(d.getBoundingClientRect());let b=null;function v(j){b={x:j.clientX,y:j.clientY},a(b)}function p(j){m({x:j.clientX,y:j.clientY})}function f(j){if(m(null),!b)return a(null);d.removeEventListener("mousedown",v),d.removeEventListener("mousemove",p),d.removeEventListener("mouseup",f);const D=j.clientX,_=j.clientY,S=b.x,A=b.y,P=d.getBoundingClientRect(),I=ee(P.width,{x:S-P.left,y:A-P.top}),F=it(P.width,Math.abs(S-D),Math.abs(A-_));l(E=>({...E,position:{...I,...F}}))}return d.addEventListener("mousedown",v),d.addEventListener("mousemove",p),d.addEventListener("mouseup",f),()=>{d.removeEventListener("mousedown",v),d.removeEventListener("mousemove",p),d.removeEventListener("mouseup",f)}},[l]),e.jsx("div",{ref:i,className:"absolute inset-0 z-50 rounded-[0.75rem] bg-red-500/50 select-none",children:c&&s&&e.jsx("div",{className:"bg-opacity-20 absolute border-2 border-dashed border-blue-500 bg-blue-100",style:{left:c.x-(n?.left??0),top:c.y-(n?.top??0),width:Math.abs(s.x-c.x),height:Math.abs(s.y-c.y)}})})}function ge(){const{setNewPoint:l,canvasTarget:i}=k();function n(r){i.clearTarget();const c=r.currentTarget.getBoundingClientRect(),a=ee(c.width,{x:r.clientX-c.left,y:r.clientY-c.top});l(s=>({...s,position:a}))}return e.jsx("div",{className:"absolute inset-0 z-50 cursor-crosshair rounded-[0.75rem]",onClick:n})}const wt="h-[56px] rounded-[16px] border border-[#2A3242] bg-transparent px-6 focus:outline-none",Nt=ce({name:V().min(1,"Name is required")});function kt({x:l,y:i}){const{createFocalPoint:n,canvasTarget:r,setNewPoint:c}=k(),a=ie({resolver:le(Nt),defaultValues:{name:""}});return e.jsxs(re,{open:!0,children:[e.jsx(se,{asChild:!0,children:e.jsx("div",{className:"absolute",style:te({x:l,y:i}),children:e.jsx("div",{className:"bg-stock absolute top-0 left-0 flex size-12 -translate-x-1/2 -translate-y-1/2 items-center justify-center rounded-full border border-white shadow-[0_4px_6px_rgba(0,0,0,0.1)]",children:e.jsx(Se,{className:"text-[1.25rem]"})})})}),e.jsxs(ne,{align:"start",sideOffset:40,alignOffset:40,className:"w-[24.0625rem] rounded-2xl border border-[#2A3242] bg-[#141925] p-0",children:[e.jsxs("header",{className:"flex h-14 items-center justify-between border-b border-[#2A3242] p-3",children:[e.jsx("h3",{className:"text-sm font-semibold text-[#F4F7FC]",children:"Add Focal Point"}),e.jsx(ae,{onClick:()=>{c(null)}})]}),e.jsxs("form",{className:"space-y-6 p-3",onSubmit:a.handleSubmit(async({name:s})=>{const{data:m}=await n({visibility:"public",name:s,locationX:l,locationY:i}),d=m?.createFocalPoint?.id;d&&r.setTarget("point",d),c(null)}),children:[e.jsx(Q,{name:"name",control:a.control,render:({field:s})=>e.jsxs("div",{className:"space-y-2",children:[e.jsx(H,{htmlFor:"focal-point-name",className:"text-sm font-normal",children:"Name"}),e.jsx(oe,{...s,id:"focal-point-name",disabled:a.formState.isSubmitting,placeholder:"Enter focal point name",className:y(wt,a.formState.errors.name&&"border-red-500"),autoCorrect:"off",autoComplete:"off",autoCapitalize:"off"}),a.formState.errors.name?.message&&e.jsx("p",{className:"text-destructive text-xs",children:a.formState.errors.name.message})]})}),e.jsxs("div",{className:"flex items-center justify-end gap-3",children:[e.jsx(N,{type:"button",preset:"outline",onClick:()=>c(null),children:"Cancel"}),e.jsxs(N,{preset:"primary",type:"submit",disabled:a.formState.isSubmitting,children:[a.formState.isSubmitting&&e.jsx(W,{}),"Save Focal Point"]})]})]})]})]})}const Mt="h-[56px] rounded-[16px] border border-[#2A3242] bg-transparent px-6 focus:outline-none",Lt=ce({name:V().min(1,"Name is required")});function At({y:l,x:i,width:n,height:r}){const{setDrawRectMode:c,createFrameGroup:a}=k(),s=ie({resolver:le(Lt),defaultValues:{name:""}});return e.jsxs(re,{open:!0,children:[e.jsx(se,{asChild:!0,children:e.jsx("div",{className:"bg-destructive/30 absolute rounded-[0.25rem] transition-[box-shadow,background-color]",style:{...te({x:i,y:l}),...lt(n,r)}})}),e.jsxs(ne,{align:"center",className:"w-[24.0625rem] rounded-2xl border border-[#2A3242] bg-[#141925] p-0",children:[e.jsxs("header",{className:"flex h-14 items-center justify-between border-b border-[#2A3242] p-3",children:[e.jsx("h3",{className:"text-sm font-semibold text-[#F4F7FC]",children:"Add Frame Group"}),e.jsx(ae,{onClick:()=>c(null)})]}),e.jsxs("form",{className:"space-y-6 p-3",onSubmit:s.handleSubmit(async({name:m})=>{await a({name:m,locationX:i,locationY:l,width:n,height:r}),c(null)}),children:[e.jsx(Q,{name:"name",control:s.control,render:({field:m})=>e.jsxs("div",{className:"space-y-2",children:[e.jsx(H,{htmlFor:"frame-group-name",className:"text-sm font-normal",children:"Name"}),e.jsx(oe,{...m,id:"frame-group-name",disabled:s.formState.isSubmitting,placeholder:"Enter group name",className:y(Mt,s.formState.errors.name&&"border-red-500"),autoCorrect:"off",autoComplete:"off",autoCapitalize:"off"}),s.formState.errors.name?.message&&e.jsx("p",{className:"text-destructive text-xs",children:s.formState.errors.name.message})]})}),e.jsxs("div",{className:"flex items-center justify-end gap-3",children:[e.jsx(N,{type:"button",preset:"outline",onClick:()=>c(null),children:"Cancel"}),e.jsxs(N,{preset:"primary",type:"submit",disabled:s.formState.isSubmitting,children:[s.formState.isSubmitting&&e.jsx(W,{}),"Save Group"]})]})]})]})]})}const It="h-[56px] rounded-[16px] border border-[#2A3242] bg-transparent px-6 focus:outline-none",je="!h-14 w-full rounded-[16px] border border-[#2A3242] bg-transparent px-6 focus:outline-none",Et=ce({targetMapId:V().min(1,"Map is required"),targetFrameId:V().nullable().optional(),label:V()});function Rt({x:l,y:i}){const n=Pe()?.id,{setNewPoint:r,createFrameLink:c}=k(),a=ie({resolver:le(Et),defaultValues:{label:"",targetMapId:"",targetFrameId:null}}),s=L(ct,{fetchPolicy:"cache-first",variables:{orgId:n},skip:!n}),m=a.watch("targetMapId"),d=L(dt,{fetchPolicy:"cache-first",variables:{orgId:n,mapId:m},skip:!n||!m}),b=x.useMemo(()=>X(s.data?.maps.items),[s.data?.maps.items]),v=x.useMemo(()=>X(d.data?.frames.items),[d.data?.frames.items]);return e.jsxs(re,{open:!0,children:[e.jsx(se,{asChild:!0,children:e.jsx("div",{className:"absolute",style:te({x:l,y:i}),children:e.jsx("div",{className:"bg-stock absolute top-0 left-0 flex size-12 -translate-x-1/2 -translate-y-1/2 items-center justify-center rounded-full border border-white shadow-[0_4px_6px_rgba(0,0,0,0.1)]",children:e.jsx(Se,{className:"text-[1.25rem]"})})})}),e.jsxs(ne,{align:"start",sideOffset:40,alignOffset:40,className:"w-[24.0625rem] rounded-2xl border border-[#2A3242] bg-[#141925] p-0",children:[e.jsxs("header",{className:"flex h-14 items-center justify-between border-b border-[#2A3242] p-3",children:[e.jsx("h3",{className:"text-sm font-semibold text-[#F4F7FC]",children:"Add External Link"}),e.jsx(ae,{onClick:()=>{r(null)}})]}),e.jsxs("form",{className:"space-y-6 p-3",onSubmit:a.handleSubmit(async p=>{p.targetFrameId?await c({kind:"frame",targetFrameId:p.targetFrameId,label:p.label,locationX:l,locationY:i}):await c({kind:"map",targetMapId:p.targetMapId,label:p.label,locationX:l,locationY:i}),r(null)}),children:[e.jsx(Q,{name:"targetMapId",control:a.control,render:({field:p})=>e.jsxs("div",{className:"space-y-2",children:[e.jsx(H,{htmlFor:"link-map",className:"text-sm font-normal",children:"Map"}),e.jsxs(pe,{...p,value:p.value,onValueChange:p.onChange,children:[e.jsx(he,{id:"link-map",className:y(je,a.formState.errors.targetMapId&&"border-red-500"),children:e.jsx(xe,{placeholder:"Select map"})}),e.jsx(fe,{children:b.map(f=>e.jsx(be,{value:f.id,children:f.name},f.id))})]}),a.formState.errors.targetMapId?.message&&e.jsx("p",{className:"text-destructive text-xs",children:a.formState.errors.targetMapId.message})]})}),e.jsx(Q,{name:"targetFrameId",control:a.control,render:({field:p})=>e.jsxs("div",{className:"space-y-2",children:[e.jsx(H,{htmlFor:"link-frame",className:"text-sm font-normal",children:"Frame"}),e.jsxs(pe,{...p,value:p.value??"",onValueChange:p.onChange,children:[e.jsx(he,{id:"link-frame",className:y(je,a.formState.errors.targetFrameId&&"border-red-500"),children:e.jsx(xe,{placeholder:"Select frame"})}),e.jsx(fe,{children:v.map(f=>e.jsx(be,{value:f.id,children:f.name},f.id))})]}),a.formState.errors.targetFrameId?.message&&e.jsx("p",{className:"text-destructive text-xs",children:a.formState.errors.targetFrameId.message})]})}),e.jsx(Q,{name:"label",control:a.control,render:({field:p})=>e.jsxs("div",{className:"space-y-2",children:[e.jsx(H,{htmlFor:"link-label",className:"text-sm font-normal",children:"Label"}),e.jsx(oe,{...p,id:"link-label",value:p.value,onChange:p.onChange,className:y(It,a.formState.errors.label&&"border-red-500"),placeholder:"Enter link label"}),a.formState.errors.label?.message&&e.jsx("p",{className:"text-destructive text-xs",children:a.formState.errors.label.message})]})}),e.jsxs("div",{className:"flex items-center justify-end gap-3",children:[e.jsx(N,{type:"button",preset:"outline",onClick:()=>r(null),children:"Cancel"}),e.jsxs(N,{preset:"primary",type:"submit",disabled:a.formState.isSubmitting,children:[a.formState.isSubmitting&&e.jsx(W,{}),"Save Link"]})]})]})]})]})}function Tt(){const{frame:l,preset:i,newPoint:n,drawRectMode:r,focalPoints:c,frameGroups:a,frameLinks:s,canvasTarget:m,selectedFrameGroup:d,updateFocalPoint:b,updateFrameGroup:v,updateFrameLink:p,deleteFrameLink:f}=k(),{canWrite:j}=Fe(),D=s.filter(t=>t.kind==="frame"),_=s.filter(t=>t.kind==="map"),S=x.useRef(null),[A,P]=x.useState(0),[I,F]=x.useState(0),[E,O]=x.useState(null),[o,w]=x.useState(null);x.useEffect(()=>{const t=S.current,u=t.closest("#focal-point-editor");if(!t||!u)return;const g=new ResizeObserver(()=>{P(t.clientWidth),F(u.clientHeight)});return P(t.clientWidth),F(u.clientHeight),g.observe(t),g.observe(u),()=>g.disconnect()},[S]);function G(t){if(!o||o.isSaving)return;const u=t.currentTarget.getBoundingClientRect(),g=ee(u.width,{x:t.clientX-u.left,y:Math.min(t.clientY-u.top,u.height)});o.type==="point"?w({...o,x:g.x,y:g.y}):o.type==="group"&&w({...o,x:Math.min(o.anchorX,g.x),y:Math.min(o.anchorY,g.y),width:Math.abs(g.x-o.anchorX),height:Math.abs(g.y-o.anchorY)})}async function R(){if(!(!o||o.isSaving)){w({...o,isSaving:!0});try{if(o.type==="point"){m.setTarget("point",o.id);const t=c.find(u=>u.id===o.id);(o.x!==t.locationX||o.y!==t.locationY)&&await b(o.id,{locationX:o.x,locationY:o.y})}else if(o.type==="group"){const t=a.find(g=>g.id===o.id);(o.x!==t.locationX||o.y!==t.locationY||o.width!==t.width||o.height!==t.height)&&o.width>0&&o.height>0&&await v(o.id,{locationX:o.x,locationY:o.y,width:o.width,height:o.height})}}catch{yt.error(o.type==="point"?"Failed to move focal point":"Failed to resize group")}finally{w(null)}}}return e.jsx("div",{ref:S,className:"select-none",children:e.jsx("div",{className:"relative isolate mx-auto",style:{maxWidth:i==="mobile"?"max(500px,30%)":i==="tablet"?"max(768px,50%)":i==="desktop"?"100%":Dt(I,A,E)},children:e.jsx(mt,{frame:l,setCanvasSize:({width:t,height:u})=>O(t/u),onEmptyClick:()=>{m.clearTarget()},content:e.jsxs(e.Fragment,{children:[a.map(t=>e.jsx(ut,{frame:l,frameGroup:o?.type==="group"&&o.id===t.id?{...t,locationX:o.x,locationY:o.y,width:o.width,height:o.height}:t,isSelected:d?.id===t.id,contentSize:"md",onClick:()=>{m.setTarget("group",t.id)},onResizePointerDown:j?u=>{const g=t.locationX,Y=t.locationY,U=g+t.width,q=Y+t.height;w({type:"group",id:t.id,anchorX:u.endsWith("-left")?U:g,anchorY:u.startsWith("top-")?q:Y,x:g,y:Y,width:t.width,height:t.height,isSaving:!1})}:void 0},t.id)),D.map(t=>e.jsx(pt,{pageLink:t,contentSize:"md",deletePageLink:async()=>{await f(t.id)},updatePageLink:async u=>{await p(t.id,{label:u.label})}},t.id)),_.map(t=>e.jsx(ht,{projectLink:t,contentSize:"md",deleteProjectLink:async()=>{await f(t.id)},updateProjectLink:async u=>{await p(t.id,{label:u.label})}},t.id)),c.map(t=>e.jsx(xt,{focalPoint:o?.type==="point"&&o.id===t.id?{...t,locationX:o.x,locationY:o.y}:t,contentSize:"md",onClick:()=>{m.setTarget("point",t.id)},onPointerDown:j?()=>{w({type:"point",id:t.id,x:t.locationX,y:t.locationY,isSaving:!1})}:void 0},t.id)),o&&!o.isSaving&&e.jsx("div",{className:y("absolute inset-0 z-50",o.type==="point"&&"cursor-grabbing",o.type==="group"&&"cursor-crosshair"),onPointerMove:G,onPointerUp:R,onPointerLeave:R}),e.jsx(Ce,{children:(n&&n.position||r&&r.position)&&e.jsx(B.div,{className:"pointer-events-none absolute inset-0 rounded-[0.75rem] bg-black/20 transition-opacity",transition:{duration:.2,ease:"easeOut"},initial:{opacity:0},animate:{opacity:1},exit:{opacity:0}})}),n&&n.type==="focal"&&(n.position?e.jsx(e.Fragment,{children:e.jsx(kt,{x:n.position.x,y:n.position.y})}):e.jsx(ge,{})),n&&n.type==="link"&&(n.position?e.jsx(e.Fragment,{children:e.jsx(Rt,{x:n.position.x,y:n.position.y})}):e.jsx(ge,{})),r&&(r.position?e.jsx(At,{x:r.position.x,y:r.position.y,width:r.position.width,height:r.position.height}):e.jsx(St,{}))]})})})})}function Dt(l,i,n){if(!n)return;const r=i/l;if(n>r)return;const a=l*3*n;return Math.min(i,a,1600)}const ve=[{value:"mobile",label:"Mobile",Icon:Ye},{value:"tablet",label:"Tablet",Icon:ze},{value:"desktop",label:"Desktop",Icon:Ve}],Z={type:"spring",stiffness:500,damping:34};function _t({preset:l,setPreset:i}){const[n,r]=x.useState(!1),c=ve.find(a=>a.value===l);return e.jsx(B.div,{layout:!0,transition:Z,onHoverEnd:()=>r(!1),onHoverStart:()=>r(!0),className:y("absolute top-3 right-3 flex items-center gap-1 overflow-hidden rounded-2xl border border-[#2A3242] bg-[#141925] p-1 shadow-sm",!n&&"p-0"),children:e.jsx(Ce,{mode:"popLayout",initial:!1,children:n?ve.map(a=>{const s=a.value===l;return e.jsx(B.button,{layout:!0,initial:{opacity:0,scale:.6},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.6},transition:Z,onClick:()=>i(s?null:a.value),className:y("flex size-8 items-center justify-center rounded-[0.625rem] border border-[#2A3242] text-[#F4F7FC] transition-colors hover:bg-[#1E2533] [&>svg]:size-4",s&&"border-primary/30 bg-primary/10 text-primary"),children:e.jsx(a.Icon,{})},a.label)}):e.jsx(B.div,{layout:!0,initial:{opacity:0,scale:.6},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.6},transition:Z,className:"flex size-10 items-center justify-center [&>svg]:size-5",children:c?e.jsx(c.Icon,{}):e.jsx(Pt,{icon:Ft})},"collapsed")})})}function Ot(){const{frame:l,mapId:i,preset:n,setPreset:r,updateFocalPoint:c,deleteFocalPoint:a,selectedFocalPoint:s,selectedFrameGroup:m,selectedFrameGroupPoints:d,updateFrameGroup:b,deleteFrameGroup:v}=k(),p=!!(m||s);return e.jsx("div",{className:"h-full p-4",children:e.jsxs("div",{id:"focal-point-editor",className:y("grid h-full transition-[grid-template-columns,gap]",p?"grid-cols-[1fr_27.25rem] gap-2":"grid-cols-[1fr_0] gap-0"),children:[e.jsxs("div",{className:"relative grid",children:[e.jsx(K,{className:"border-stock bg-shading-gray flex-1 rounded-[0.75rem] border p-4 transition-opacity duration-200",children:e.jsx("div",{className:"p-2",children:e.jsx(Tt,{})})}),e.jsx(_t,{preset:n,setPreset:r})]}),e.jsxs("div",{className:"h-full overflow-hidden",children:[s&&e.jsx(K,{className:"border-stock h-full w-[27.25rem] rounded-[0.75rem] border bg-[#141925]",children:e.jsx(ft,{focalPoint:s,mapId:i,children:e.jsx(bt,{focalPoint:s,updateFocalPoint:c,deleteFocalPoint:a})})}),m&&e.jsx(K,{className:"border-stock h-full w-[27.25rem] rounded-[0.75rem] border bg-[#141925]",children:e.jsx(gt,{frame:l,frameGroup:m,frameGroupPoints:d,updateFrameGroup:async f=>{await b(m.id,f)},deleteFrameGroup:async()=>{await v(m.id)}})})]})]})})}const J=[{id:"focal",label:"Add Focal Point",icon:e.jsx(Be,{})},{id:"link",label:"Link Point",icon:e.jsx(He,{})},{id:"group",label:"Add Group",icon:e.jsx(We,{})}],ye="border-primary/30 bg-primary/10 text-primary";function ho(){return e.jsx(Ct,{children:e.jsx(Gt,{})})}function Gt(){const{activeTool:l,setActiveTool:i,frame:n,frameLoading:r,map:c,mapLoading:a}=k(),{canWrite:s}=Fe(),m=J.find(d=>d.id===l)??J[0];return e.jsx(Qe,{noPadding:!0,title:"Focal Point",description:"Allows users to add focal points to an image and input related metadata like implementation and quality details.",crumbs:[{to:"/dashboard/maps",label:"Maps"},{to:`/dashboard/maps/${c?.id}`,label:a?e.jsx(W,{}):c?.name??"Untitled Map"},{to:`/dashboard/frame/${n?.id}`,label:r?e.jsx(W,{}):n?.name??"Frame"}],headerContent:n&&e.jsx("div",{className:"flex items-center gap-2",children:e.jsxs("div",{className:"flex items-center",children:[e.jsxs(N,{preset:l?"outline":"primary",className:y("rounded-r-none border-r-0",l&&ye),disabled:!s,title:l?`Exit ${m.label}`:void 0,onClick:()=>i(l?null:m.id),children:[m.icon,m.label]}),e.jsxs(De,{children:[e.jsx(_e,{asChild:!0,children:e.jsx(N,{preset:l?"outline":"primary",className:y("rounded-l-none px-3 has-[>svg]:px-3",l&&ye),disabled:!s,title:"Canvas tools",children:e.jsx(Xe,{})})}),e.jsx(Oe,{align:"end",children:J.filter(d=>d.id!==m.id).map(d=>e.jsxs(Ge,{onClick:()=>i(d.id),children:[d.icon,d.label]},d.id))})]})]})}),children:n?e.jsx(Ot,{}):e.jsx(e.Fragment,{children:r?e.jsx(Te,{}):e.jsx("div",{className:"text-center text-gray-500",children:"Frame not found"})})})}export{ho as DashboardMapFramePage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{j as e}from"./index-CH7cEAxj.js";import{B as t}from"./button-DZj74qS7.js";import"./query-D9oj6LGx.js";import{L as a}from"./nav-links-DZWMpwMR.js";import{DashboardPageSectionLayout as o}from"./index-Bn2bqqMd.js";import"./iconBase-DtqdW2XR.js";import"./chunk-OB3PAWPO-DJIP1M4r.js";import"./scroll-area-RagrStGj.js";import"./ui-graph-logo-gHowu5gP.js";import"./dashboard-layout-sTeeHNsZ.js";import"./grid-scroll-body-DC5pYDPJ.js";import"./popover-476u3TN0.js";const i=[{name:"Free",description:"Runs locally on your machine.",features:["Unlimited projects","Services, APIs, diagrams and docs","Your data stays in your repository"],action:null},{name:"Cloud",description:"Hosted by UIGraph, ready for your team.",features:["Teams and users","AI Assist and ML Studio","Integrations and cloud connections"],action:{label:"Try for free",href:"https://console.uigraph.app/signup",preset:"primary"}},{name:"Self-hosted / Enterprise",description:"Run UIGraph on your own infrastructure.",features:["Everything in Cloud","SSO","Deploy in your own environment"],action:{label:"Contact us",href:"https://uigraph.app",preset:"outline"}}];function j(){return e.jsx(o,{crumbs:[{to:"/plans",label:"Plans"}],title:"Plans",description:"Compare the local version with UIGraph Cloud and self-hosted UIGraph.",children:e.jsx("div",{className:"grid gap-4 md:grid-cols-3",children:i.map(r=>e.jsxs("div",{className:"border-stock bg-card flex flex-col gap-4 rounded-[0.75rem] border p-5",children:[e.jsxs("div",{className:"space-y-1",children:[e.jsx("h3",{className:"text-base font-semibold text-[#F4F7FC]",children:r.name}),e.jsx("p",{className:"text-paragraph text-sm",children:r.description})]}),e.jsx("ul",{className:"flex flex-1 flex-col gap-2",children:r.features.map(s=>e.jsxs("li",{className:"flex items-center gap-2 text-sm text-[#F4F7FC]",children:[e.jsx(a,{className:"text-primary size-4 shrink-0"}),s]},s))}),r.action?e.jsx(t,{asChild:!0,preset:r.action.preset,children:e.jsx("a",{href:r.action.href,target:"_blank",rel:"noopener noreferrer",children:r.action.label})}):e.jsx("p",{className:"text-paragraph flex h-[2.7938125rem] items-center justify-center text-sm",children:"Current plan"})]},r.name))})})}export{j as DashboardPlansPage};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as o,j as r}from"./index-CH7cEAxj.js";import{S}from"./section-loader-C4hOfhQS.js";import{S as g}from"./section-not-found-BnrXiPog.js";import{I as A}from"./input--C59pq6j.js";import{a as j,u as C,c as I}from"./chunk-OB3PAWPO-DJIP1M4r.js";import{u as F}from"./query-D9oj6LGx.js";import"./nav-links-DZWMpwMR.js";import{DashboardSectionHeader as N,DashboardSectionContent as w}from"./index-Bn2bqqMd.js";import{a as P}from"./api-adapters-tfr51BsS.js";import{A as L}from"./api-endpoints-D-Whnnwd.js";import{a as y}from"./index-Dj_05fqk.js";import{u as D}from"./service-context-D5nBtU18.js";import{O,S as E}from"./brands-DtmA1AhP.js";import{S as G}from"./share-2-CQEaWbfH.js";import{N as _}from"./network-B1apzT1s.js";import{f as q}from"./formatDistanceToNow-DdN6W2RC.js";import{u as R}from"./useQuery-Dhe6uxrL.js";import"./super-logo-loader-Cxlbn6MB.js";import"./iconBase-DtqdW2XR.js";import"./scroll-area-RagrStGj.js";import"./ui-graph-logo-gHowu5gP.js";import"./dashboard-layout-sTeeHNsZ.js";import"./grid-scroll-body-DC5pYDPJ.js";import"./popover-476u3TN0.js";import"./index-BpCVYTvP.js";import"./preload-helper-BlTxHScW.js";import"./index-CIf0GId3.js";import"./mermaid.core-BDgZg3kW.js";import"./transform-BqqRT-Iy.js";import"./last-DXTTfs9a.js";import"./index-BIrx3oY4.js";import"./value-wA6veExk.js";import"./gql-FFIj8zdp.js";import"./react-Bx48XWN4.js";import"./services-Ivav34WC.js";import"./getRoundingMethod-DC1wW3rl.js";import"./en-US-B1Lg1a1H.js";import"./endOfMonth-CMPv5yN4.js";const k={rest:{border:"#2563EB",badge:"rgba(37,99,235,0.15)",text:"#93B4FF"},graphql:{border:"#DB2777",badge:"rgba(219,39,119,0.15)",text:"#F9A8D4"},grpc:{border:"#0D9488",badge:"rgba(13,148,136,0.15)",text:"#5EEAD4"},serverless:{border:"#EA580C",badge:"rgba(234,88,12,0.15)",text:"#FDBA74"}},f={border:"#94A3B8",badge:"rgba(148,163,184,0.15)",text:"#CBD5E1"};function B(e){return e?k[e.toLowerCase()]??f:f}function T(e){return e==="grpc"?"gRPC":e==="graphql"?"GraphQL":e==="rest"?"REST":e==="serverless"?"Serverless":e.toUpperCase()}function Q({group:e}){const{serviceId:n}=j(),i=C(),c=o.useMemo(()=>{const a=[];return e.openApiSpecFileId&&a.push({icon:r.jsx(O,{className:"h-3 w-3"}),label:"OpenAPI"}),e.swaggerSpecFileId&&a.push({icon:r.jsx(E,{className:"h-3 w-3"}),label:"Swagger"}),e.graphqlSpecFileIds&&e.graphqlSpecFileIds.length>0&&a.push({icon:r.jsx(G,{className:"h-3 w-3"}),label:`GraphQL${e.graphqlSpecFileIds.length>1?` (${e.graphqlSpecFileIds.length})`:""}`}),e.grpcSpecFileIds&&e.grpcSpecFileIds.length>0&&a.push({icon:r.jsx(_,{className:"h-3 w-3"}),label:`gRPC${e.grpcSpecFileIds.length>1?` (${e.grpcSpecFileIds.length})`:""}`}),a},[e]),s=o.useMemo(()=>e.protocol?e.protocol.toLowerCase():e.graphqlSpecFileIds&&e.graphqlSpecFileIds.length>0?"graphql":e.grpcSpecFileIds&&e.grpcSpecFileIds.length>0?"grpc":e.openApiSpecFileId||e.swaggerSpecFileId?"rest":null,[e]);function d(){i(`/services/${n}/apis/${e.serviceApiGroupId}`)}const l=B(s);return r.jsx("div",{className:"group relative",children:r.jsx("div",{onClick:d,className:"h-full cursor-pointer overflow-hidden rounded-[16px] bg-[#141925] ring-1 ring-[#2A3242] transition-all duration-200 hover:-translate-y-px hover:shadow-[0_0_0_2px_rgba(37,99,235,0.2),0_6px_20px_rgba(0,0,0,0.08)] hover:ring-[#015AEB]",children:r.jsxs("div",{className:"p-5",children:[r.jsxs("div",{className:"mb-3 flex items-start justify-between gap-2 pr-6",children:[r.jsx("h3",{className:"text-[14px] leading-snug font-semibold tracking-tight text-[#F4F7FC]",children:e.name??e.version??"—"}),s&&r.jsx("span",{className:"mt-0.5 shrink-0 rounded-md px-2 py-0.5 text-[11px] font-semibold",style:{backgroundColor:l.badge,color:l.text},children:T(s)})]}),e.updatedAt&&r.jsxs("p",{className:"text-[12px] text-[#828DA3]",children:["Updated"," ",q(new Date(e.updatedAt),{addSuffix:!0})]}),c.length>0&&r.jsx("div",{className:"mt-4 flex flex-wrap gap-1.5 border-t border-[#2A3242] pt-3",children:c.map(a=>r.jsxs("div",{className:"flex items-center gap-1 rounded-md bg-[#1E2533] px-2 py-1 ring-1 ring-[#2A3242]",children:[a.icon,r.jsx("span",{className:"text-[11px] font-medium text-[#828DA3]",children:a.label})]},a.label))}),!s&&c.length===0&&r.jsx("p",{className:"mt-4 text-[12px] text-[#586378]",children:"No files configured"})]})},e.serviceApiGroupId)})}function Ne(){const{serviceId:e}=D(),n=F().id,[i,c]=o.useState(""),[s,d]=o.useState(null),{data:l,loading:a}=R(L,{fetchPolicy:"cache-first",skip:!n,variables:{orgId:n,serviceId:e}}),v=a&&!l?.apiGroups,p=o.useMemo(()=>y(l?.apiGroups).map(P),[l?.apiGroups]),x=o.useMemo(()=>{const t=new Set;for(const h of p){const m=h.protocol?.toLowerCase();m&&t.add(m)}return Array.from(t)},[p]),u=o.useMemo(()=>p.filter(t=>{const h=!i||(t.name??t.version??"").toLowerCase().includes(i.toLowerCase()),m=!s||t.protocol?.toLowerCase()===s;return h&&m}),[p,i,s]);return r.jsxs("div",{className:"flex h-full flex-col",children:[r.jsx(N,{title:"API & Behavior",description:"API groups and endpoints found in this service's code and specs."}),r.jsx(w,{noPadding:!0,children:v?r.jsx(S,{label:"Loading API groups..."}):p.length===0?r.jsx(g,{plain:!0,label:"The .uigraph artifacts have no API endpoints for this service."}):r.jsxs(r.Fragment,{children:[r.jsxs("div",{className:"flex flex-wrap items-center gap-3 border-b border-[#2A3242] px-6 py-3",children:[r.jsx(A,{value:i,onChange:t=>c(t.target.value),placeholder:"Search groups...",className:"h-8 w-48 rounded-lg border-[#2A3242] bg-[#141925] text-[13px] shadow-none focus-visible:bg-[#141925]"}),x.length>1&&r.jsxs("div",{className:"flex items-center gap-0.5 rounded-lg bg-[#1E2533] p-0.5 ring-1 ring-[#2A3242]",children:[r.jsx(b,{label:"All",active:s===null,onClick:()=>d(null)}),x.map(t=>r.jsx(b,{label:t==="grpc"?"gRPC":t==="graphql"?"GraphQL":t.toUpperCase(),active:s===t,onClick:()=>d(s===t?null:t)},t))]})]}),r.jsx("div",{className:"grid gap-4 p-6",style:{gridTemplateColumns:"repeat(auto-fill, minmax(300px, 1fr))"},children:u.length===0?r.jsx("div",{className:"col-span-full",children:r.jsx(g,{plain:!0,label:"No groups match your search."})}):u.map(t=>r.jsx(Q,{group:t},t.serviceApiGroupId))})]})})]})}function b({label:e,active:n,onClick:i}){return r.jsx("button",{type:"button",onClick:i,className:I("inline-flex h-7 items-center rounded-md px-3 text-[12px] font-medium transition-all duration-150",n?"bg-[#0F172A] text-white":"text-[#828DA3] hover:bg-[#1E2533] hover:text-[#F4F7FC]"),children:e})}export{Ne as DashboardServiceApis};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{j as e,r as v}from"./index-CH7cEAxj.js";import{C as j}from"./common-DLCsGQ-t.js";import{L as w,c as C}from"./chunk-OB3PAWPO-DJIP1M4r.js";import{S as B}from"./super-circle-loader-DSkos6uP.js";import{S as b}from"./section-loader-C4hOfhQS.js";import{S as N}from"./section-not-found-BnrXiPog.js";import{B as u}from"./button-DZj74qS7.js";import{u as S}from"./query-D9oj6LGx.js";import"./nav-links-DZWMpwMR.js";import{DashboardSectionHeader as _,DashboardSectionContent as E}from"./index-Bn2bqqMd.js";import{a as $}from"./index-Dj_05fqk.js";import{t as x}from"./index-B6MxYIzs.js";import{g as I}from"./gql-FFIj8zdp.js";import{u as y}from"./service-context-D5nBtU18.js";import{A as k}from"./actor-avatar-Bu-mKKXB.js";import{D as H}from"./diagram-live-preview-DzJ7Nxp1.js";import{C as F}from"./calendar-Bolgc8E5.js";import{f as M}from"./format-BquKoU4D.js";import{u as P}from"./useQuery-Dhe6uxrL.js";import{u as U}from"./useMutation-D5ZHwHsx.js";import"./super-logo-loader-Cxlbn6MB.js";import"./iconBase-DtqdW2XR.js";import"./scroll-area-RagrStGj.js";import"./ui-graph-logo-gHowu5gP.js";import"./dashboard-layout-sTeeHNsZ.js";import"./grid-scroll-body-DC5pYDPJ.js";import"./popover-476u3TN0.js";import"./react-Bx48XWN4.js";import"./services-Ivav34WC.js";import"./avatar-DAFUyk1i.js";import"./git-BilAlIQ8.js";import"./preload-helper-BlTxHScW.js";import"./en-US-B1Lg1a1H.js";const f=I(`
|
|
2
2
|
query ServiceDiagrams($orgId: ID!, $serviceId: ID!) {
|
|
3
3
|
serviceDiagrams(orgId: $orgId, serviceId: $serviceId) {
|
|
4
4
|
serviceId
|
|
@@ -36,7 +36,7 @@ import{g as f,j as e,L as j,u as w,r as v,c as C,S as B,t as x}from"./index-5E1t
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
|
-
`),L=
|
|
39
|
+
`),L=I(`
|
|
40
40
|
mutation CreateServiceDiagram(
|
|
41
41
|
$orgId: ID!
|
|
42
42
|
$serviceId: ID!
|
|
@@ -47,4 +47,4 @@ import{g as f,j as e,L as j,u as w,r as v,c as C,S as B,t as x}from"./index-5E1t
|
|
|
47
47
|
diagramId
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
`);function R(a){const r=a.diagram;return{serviceDiagram:{serviceDiagramId:`${a.serviceId}:${a.diagramId}`,serviceId:a.serviceId,serviceDiagramDiagramId:a.diagramId,createdBy:a.createdBy,updatedBy:a.updatedBy,createdAt:a.createdAt,updatedAt:a.updatedAt},diagram:r?{diagramId:r.id,organizationId:r.orgId,componentFlowDiagramName:r.name,previewImageFileId:r.previewAssetId,previewImageUrl:r.previewImageUrl,previewContentHash:r.previewContentHash,createdByCommitHash:r.createdByCommitHash,updatedByCommitHash:r.updatedByCommitHash,createdAt:r.createdAt,updatedAt:r.updatedAt,createdByActor:r.createdByActor,updatedByActor:r.updatedByActor}:null}}function T({diagram:a,serviceDiagram:r}){const{service:i}=y(),s=r.updatedAt?new Date(r.updatedAt):null,o="updatedByActor"in a?a.updatedByActor:void 0,d="createdByActor"in a?a.createdByActor:void 0,c=o??d,l=o?a.updatedByCommitHash:a.createdByCommitHash;return e.jsx("div",{className:"group relative",children:e.jsxs(
|
|
50
|
+
`);function R(a){const r=a.diagram;return{serviceDiagram:{serviceDiagramId:`${a.serviceId}:${a.diagramId}`,serviceId:a.serviceId,serviceDiagramDiagramId:a.diagramId,createdBy:a.createdBy,updatedBy:a.updatedBy,createdAt:a.createdAt,updatedAt:a.updatedAt},diagram:r?{diagramId:r.id,organizationId:r.orgId,componentFlowDiagramName:r.name,previewImageFileId:r.previewAssetId,previewImageUrl:r.previewImageUrl,previewContentHash:r.previewContentHash,createdByCommitHash:r.createdByCommitHash,updatedByCommitHash:r.updatedByCommitHash,createdAt:r.createdAt,updatedAt:r.updatedAt,createdByActor:r.createdByActor,updatedByActor:r.updatedByActor}:null}}function T({diagram:a,serviceDiagram:r}){const{service:i}=y(),s=r.updatedAt?new Date(r.updatedAt):null,o="updatedByActor"in a?a.updatedByActor:void 0,d="createdByActor"in a?a.createdByActor:void 0,c=o??d,l=o?a.updatedByCommitHash:a.createdByCommitHash;return e.jsx("div",{className:"group relative",children:e.jsxs(w,{target:"_blank",to:`/diagram/${a.diagramId}`,className:"relative block cursor-pointer overflow-hidden rounded-[1.4525rem] bg-[#141925] shadow-[0_1px_3px_rgba(0,0,0,0.07),0_1px_2px_rgba(0,0,0,0.04)] ring-1 ring-[#2A3242] transition-all duration-300 hover:shadow-[0_0_0_3px_rgba(1,90,235,0.18),0_8px_24px_rgba(0,0,0,0.10)] hover:ring-2 hover:ring-[#015AEB]",children:[e.jsxs("div",{className:"relative aspect-[16/10] w-full bg-[#1E2533] transition-colors duration-300",children:[e.jsx(H,{diagramId:a.diagramId}),e.jsx("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 h-6 bg-gradient-to-t from-black/30 to-transparent"})]}),e.jsx("div",{className:"h-px bg-[#1E2533]"}),e.jsxs("div",{className:"px-4 py-3",children:[e.jsx("h4",{className:"line-clamp-1 text-sm font-semibold text-[#F4F7FC]",children:a.componentFlowDiagramName?a.componentFlowDiagramName.charAt(0).toUpperCase()+a.componentFlowDiagramName.slice(1):e.jsx("span",{className:"text-[#B0B0B2]",children:"Blank Diagram"})}),e.jsxs("div",{className:"mt-2 flex min-h-[1.75rem] items-center justify-between gap-2",children:[s?e.jsxs("div",{className:"flex min-w-0 items-center gap-1.5 text-[#828DA3]",children:[e.jsx(F,{className:"h-3 w-3 shrink-0"}),e.jsx("span",{className:"text-[11px]",children:M(s,"dd MMM yyyy")})]}):e.jsx("span",{}),e.jsx(k,{actor:c,commitHash:l,repoUrl:i?.gitRepoUrl,className:"shrink-0"})]})]})]})})}const m=12;function q(a,r){if(r<=5)return Array.from({length:r},(d,c)=>c);const i=[];i.push(0);const s=Math.max(1,a-1),o=Math.min(r-2,a+1);s>1&&i.push("...");for(let d=s;d<=o;d++)i.push(d);return o<r-2&&i.push("..."),i.push(r-1),i}function Ae(){const{serviceId:a,service:r}=y(),i=S().id,[s,o]=v.useState(0),{data:d,loading:c}=P(f,{errorPolicy:"ignore",fetchPolicy:"cache-first",variables:{orgId:i,serviceId:a},skip:!i||!a}),[l,{loading:h}]=U(L,{awaitRefetchQueries:!0,refetchQueries:[{query:f,variables:{orgId:i,serviceId:a}}]});async function D(){try{const{data:t}=await l({variables:{orgId:i,serviceId:a,input:{name:r?.name?`${r.name} Diagram`:"Untitled Diagram",content:"{}"}}}),n=t?.createServiceDiagram?.diagramId;if(!n)throw new Error;window.open(`/diagram/${n}`,"_blank"),x.success("Diagram created successfully")}catch{x.error("Failed to create diagram")}}const p=v.useMemo(()=>$(d?.serviceDiagrams).map(R).filter(t=>t.diagram?.diagramId),[d?.serviceDiagrams]),g=Math.ceil(p.length/m),A=p.slice(s*m,s*m+m);return e.jsxs("div",{className:"flex h-full flex-col",children:[e.jsx(_,{title:"Diagrams",description:"Architecture diagrams for this service.",children:e.jsxs(u,{preset:"primary",disabled:h,onClick:D,children:[h?e.jsx(B,{}):e.jsx(j,{}),"Create Diagram"]})}),e.jsx(E,{noPadding:!0,children:c?e.jsx(b,{label:"Loading diagrams..."}):p.length>0?e.jsxs("div",{className:"space-y-4 p-6",children:[e.jsx("div",{className:"grid gap-4",style:{gridTemplateColumns:"repeat(auto-fill, minmax(300px, 1fr))"},children:A.map(t=>e.jsx(T,{serviceDiagram:t.serviceDiagram,diagram:t.diagram},t.serviceDiagram?.serviceDiagramId))}),g>1&&e.jsxs("div",{className:"flex items-center justify-center gap-2 pt-2",children:[e.jsx(u,{preset:"outline",className:"h-8 px-3 text-sm",disabled:s===0,onClick:()=>o(t=>t-1),children:"Previous"}),e.jsx("div",{className:"flex items-center gap-1",children:q(s,g).map((t,n)=>t==="..."?e.jsx("span",{className:"flex h-8 w-8 items-center justify-center text-sm text-[#999]",children:"…"},`ellipsis-${n}`):e.jsx("button",{onClick:()=>o(t),className:C("flex h-8 w-8 items-center justify-center rounded-lg text-sm transition-colors",t===s?"bg-primary text-white":"text-[#555] hover:bg-[#1E2533]"),children:t+1},t))}),e.jsx(u,{preset:"outline",className:"h-8 px-3 text-sm",disabled:s===g-1,onClick:()=>o(t=>t+1),children:"Next"})]})]}):e.jsx(N,{plain:!0,label:"The .uigraph artifacts have no diagrams for this service."})})]})}export{Ae as DashboardServiceDiagrams};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as p,j as e}from"./index-CH7cEAxj.js";import{C as O}from"./common-DLCsGQ-t.js";import{B as C}from"./better-dialog-DcIxFWwk.js";import{S as P}from"./section-loader-C4hOfhQS.js";import{S as A}from"./section-not-found-BnrXiPog.js";import{B as N}from"./button-DZj74qS7.js";import{u as S}from"./query-D9oj6LGx.js";import{M as W}from"./nav-links-DZWMpwMR.js";import{DashboardSectionHeader as U,DashboardSectionContent as B}from"./index-Bn2bqqMd.js";import{u as E}from"./use-permissions-BvmxJJ5r.js";import{a as L}from"./index-Dj_05fqk.js";import{t as g}from"./index-B6MxYIzs.js";import{S as y,D as z,C as V}from"./service-doc-C-jHqT1U.js";import{E as Q,S as R,C as H}from"./service-doc-preview-modal-5sX6FOu1.js";import{b as q,c as j}from"./chunk-OB3PAWPO-DJIP1M4r.js";import{B as $}from"./better-delete-confirmation-modal-CGEQ5O4X.js";import{D as G,a as J,b as K,c as D}from"./scroll-area-RagrStGj.js";import{u as k}from"./service-context-D5nBtU18.js";import{g as X,a as Y}from"./doc-file-content-Be0au9Vo.js";import{C as Z}from"./calendar-Bolgc8E5.js";import{f as ee}from"./format-BquKoU4D.js";import{D as re}from"./download-DhyZ3g4F.js";import{T as te}from"./uploads-CX2kdXbM.js";import{u as M}from"./useMutation-D5ZHwHsx.js";import{u as ie}from"./useQuery-Dhe6uxrL.js";import"./dialog-D7wzTt0L.js";import"./iconBase-DtqdW2XR.js";import"./loader-circle-CiqyoJF7.js";import"./super-logo-loader-Cxlbn6MB.js";import"./dashboard-layout-sTeeHNsZ.js";import"./grid-scroll-body-DC5pYDPJ.js";import"./popover-476u3TN0.js";import"./gql-FFIj8zdp.js";import"./component-icons-MJ61E9nt.js";import"./input--C59pq6j.js";import"./textarea-Clgdv3Oi.js";import"./select-D9fbrr7O.js";import"./chevron-down-DDsUE_xz.js";import"./check-BpmCQNbj.js";import"./chevron-up-DVznKMGv.js";import"./zod-BMU4UTQt.js";import"./index-CBOYhBKJ.js";import"./file-text-BFqJQ67P.js";import"./index-CIf0GId3.js";import"./super-circle-loader-DSkos6uP.js";import"./ui-graph-logo-gHowu5gP.js";import"./react-Bx48XWN4.js";import"./services-Ivav34WC.js";import"./globe-CJ35KsQW.js";import"./index-BZGsDmUx.js";import"./mermaid.core-BDgZg3kW.js";import"./preload-helper-BlTxHScW.js";import"./transform-BqqRT-Iy.js";import"./index-DDmBuMKI.js";import"./index-DY3BFyb6.js";import"./katex-HP8lGamR.js";import"./en-US-B1Lg1a1H.js";function oe({fileURL:r,fileType:m,fileName:o,fallback:c}){const s=m?.toLowerCase()||"",i=o?.toLowerCase()||"",[d,f]=p.useState(null),u=s==="image"||/\.(jpg|jpeg|png|gif|svg|webp|bmp|ico)$/i.test(i),n=s==="pdf"||i.endsWith(".pdf"),t=s==="html"||i.endsWith(".html")||i.endsWith(".htm"),a=s==="markdown"||i.endsWith(".md")||i.endsWith(".markdown");return p.useEffect(()=>{!r||!a||fetch(r).then(v=>v.text()).then(f).catch(()=>null)},[r,a]),r?u?e.jsx("img",{src:r,alt:o||"",className:"h-full w-full object-cover"}):n||t?e.jsx("div",{className:"relative h-full w-full overflow-hidden",children:e.jsx("iframe",{src:n?`${r}#toolbar=0&navpanes=0&scrollbar=0&view=FitH`:r,className:"pointer-events-none absolute top-0 left-0",style:{width:"400%",height:"400%",transform:"scale(0.25)",transformOrigin:"0 0",border:"none"},sandbox:t?"allow-same-origin allow-scripts":void 0,title:"preview"})}):a?e.jsxs("div",{className:"relative h-full w-full overflow-hidden bg-gradient-to-br from-[#1A2030] to-[#141925] p-5",children:[e.jsx("pre",{className:"font-mono text-[10px] leading-relaxed break-words whitespace-pre-wrap text-[#828DA3]",children:d?.slice(0,700)}),e.jsx("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 h-20 bg-gradient-to-t from-[#141925] to-transparent"})]}):e.jsx(e.Fragment,{children:c}):e.jsx(e.Fragment,{children:c})}function se({doc:r}){const{canWrite:m}=E(),{serviceId:o}=k(),c=S().id,s={orgId:c,serviceId:o},[i]=M(z,{refetchQueries:[{query:y,variables:s}],awaitRefetchQueries:!0}),[d,f]=p.useState(!1),[u,n]=p.useState(!1),[t,a]=q(),v=t.get("open")===r.id;function w(x){a(b=>{const l=new URLSearchParams(b);return x&&l.set("open",r.id),x||l.delete("open"),l})}function T(x,b){const l=x?.toLowerCase()||"",h=b?.toLowerCase()||"";return l==="pdf"||h.endsWith(".pdf")?"bg-red-100 text-red-700 border-red-200":l==="html"||h.endsWith(".html")||h.endsWith(".htm")?"bg-blue-100 text-blue-700 border-blue-200":l==="readme"||l==="markdown"||h.endsWith(".md")||h.endsWith(".markdown")?"bg-orange-100 text-orange-700 border-orange-200":"bg-[#1E2533] text-[#D2D9E6] border-[#2A3242]"}function _(){r.fileUrl&&window.open(r.fileUrl,"_blank")}function F(){r.fileUrl&&w(!0)}function I(){r.fileUrl&&w(!0)}return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"group relative",children:[e.jsxs("div",{className:j("relative cursor-pointer overflow-hidden rounded-[1.4525rem] bg-[#141925] shadow-[0_1px_3px_rgba(0,0,0,0.07),0_1px_2px_rgba(0,0,0,0.04)] ring-1 ring-[#2A3242] transition-all duration-300 hover:shadow-[0_0_0_3px_rgba(1,90,235,0.18),0_8px_24px_rgba(0,0,0,0.10)] hover:ring-2 hover:ring-[#015AEB]",!r.fileUrl&&"cursor-default opacity-60"),onClick:r.fileUrl?F:void 0,children:[e.jsx("div",{className:"relative aspect-[16/10] w-full overflow-hidden bg-[#1E2533] transition-colors duration-300 group-hover:bg-[#1E2533]",children:e.jsx(oe,{fileURL:r.fileUrl,fileType:r.fileType,fileName:r.fileName,fallback:e.jsx("div",{className:"flex h-full w-full items-center justify-center [&_svg]:size-10 [&_svg]:shrink-0 [&_svg]:stroke-[1.15]",children:X(r.fileType??"")})})}),e.jsx("div",{className:"h-px bg-[#1E2533]"}),e.jsxs("div",{className:"px-4 py-3",children:[e.jsx("h4",{className:"line-clamp-1 text-sm font-semibold text-[#F4F7FC]",children:r.fileName||"Untitled Document"}),e.jsxs("div",{className:"mt-2 flex min-h-[1.75rem] items-center justify-between gap-2",children:[e.jsx("span",{className:j("inline-flex shrink-0 items-center rounded-md border px-1.5 py-0.5 font-mono text-[10px] font-medium",T(r.fileType,r.fileName)),children:Y(r.fileType??"")}),r.updatedAt&&e.jsxs("div",{className:"flex items-center gap-1.5 text-[#828DA3]",children:[e.jsx(Z,{className:"h-3 w-3 shrink-0"}),e.jsx("span",{className:"text-[11px]",children:ee(new Date(r.updatedAt),"dd MMM yyyy")})]})]})]})]}),e.jsxs(G,{open:d,onOpenChange:f,children:[e.jsx(J,{asChild:!0,children:e.jsx(N,{size:"icon",variant:"ghost",className:j("absolute top-2 right-2 h-7 w-7 rounded-lg bg-[#1E2533]/80 opacity-0 shadow-sm backdrop-blur-sm transition-opacity group-hover:opacity-100 hover:bg-[#141925]",d&&"opacity-100"),children:e.jsx(W,{className:"h-3.5 w-3.5 text-[#555]"})})}),e.jsxs(K,{align:"end",children:[r.fileUrl&&e.jsxs(e.Fragment,{children:[e.jsxs(D,{onClick:I,children:[e.jsx(Q,{className:"h-4 w-4"}),"Preview"]}),e.jsxs(D,{onClick:_,children:[e.jsx(re,{className:"h-4 w-4"}),"Download"]})]}),e.jsxs(D,{variant:"destructive",disabled:!m,onClick:()=>n(!0),children:[e.jsx(te,{className:"h-4 w-4"}),"Delete"]})]})]})]}),e.jsx($,{open:u,onOpenChange:n,title:"Do you want to delete this documentation?",description:"Deleting this documentation is a permanent action and cannot be undone. Please think carefully before proceeding.",onConfirm:async()=>{try{await i({variables:{orgId:c,serviceId:o,docId:r.id}}),n(!1),g.success("Documentation deleted successfully")}catch{g.error("Failed to delete documentation")}}}),e.jsx(C,{open:v,onOpenChange:w,className:"min-h-[95vh] [--width:min(95vw,100rem)]",children:e.jsx(R,{fileURL:r.fileUrl||void 0,fileName:r.fileName||void 0,fileType:r.fileType||void 0})})]})}function mr(){const{canWrite:r}=E(),{serviceId:m}=k(),o=S().id,[c,s]=p.useState(!1),i={orgId:o,serviceId:m},{data:d,loading:f}=ie(y,{errorPolicy:"ignore",fetchPolicy:"cache-first",variables:i,skip:!o||!m}),[u]=M(V,{awaitRefetchQueries:!0,refetchQueries:[{query:y,variables:i}]}),n=p.useMemo(()=>L(d?.serviceDocs).map(t=>t.doc).filter(t=>!!t),[d?.serviceDocs]);return e.jsxs("div",{className:"flex h-full flex-col",children:[e.jsxs(U,{title:"Documentation",description:"Upload and manage documentation files like PDFs, READMEs, HTML files, and more.",children:[e.jsxs(N,{preset:"primary",disabled:!r,onClick:()=>s(!0),children:[e.jsx(O,{}),"Upload"]}),e.jsx(C,{open:c,onOpenChange:s,children:e.jsx(H,{mode:"create",orgId:o,onSubmit:async t=>{try{await u({variables:{orgId:o,serviceId:m,input:{fileName:t.fileName??"",fileType:t.fileType??"",description:t.description??"",fileAssetId:t.fileId??""}}}),g.success("Documentation uploaded successfully"),s(!1)}catch(a){throw console.error(a),g.error("Failed to upload documentation"),a}}})})]}),e.jsx(B,{noPadding:!0,children:f?e.jsx(P,{label:"Loading documentation..."}):n.length>0?e.jsx("div",{className:"grid gap-4 p-6",style:{gridTemplateColumns:"repeat(auto-fill, minmax(300px, 1fr))"},children:n.map(t=>e.jsx(se,{doc:t},t.id))}):e.jsx(A,{label:"No documentation uploaded yet."})})]})}export{mr as DashboardServiceDocs};
|