@taskmark/ui 0.3.0 → 0.3.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/README.md +1 -1
- package/app/globals.css +25 -0
- package/app/layout.tsx +15 -5
- package/app/setup/page.tsx +1 -1
- package/bin/lib/resolve-board.mjs +1 -4
- package/components/board/app-bar.tsx +3 -0
- package/components/board/board-screen.tsx +61 -117
- package/components/board/changelog-panel.tsx +26 -0
- package/components/board/epic-list.tsx +2 -0
- package/components/board/list-view-switcher.tsx +7 -3
- package/components/board/markdown-content.tsx +21 -1
- package/components/board/mermaid-diagram.tsx +88 -0
- package/components/board/metric-stat-card.tsx +4 -4
- package/components/board/overall-tree-list.tsx +467 -0
- package/components/board/overall-work-items-list.tsx +5 -1
- package/components/board/points-heatmap.tsx +183 -0
- package/components/board/project-status-metrics-strip.tsx +5 -22
- package/components/board/static-board-app.tsx +29 -94
- package/components/board/status-badge.tsx +8 -0
- package/components/board/story-list.tsx +2 -0
- package/components/board/task-list.tsx +5 -1
- package/components/board/work-item-detail-body.tsx +123 -8
- package/components/board/work-items-list.tsx +2 -0
- package/components/theme-provider.tsx +39 -0
- package/components/theme-toggle.tsx +27 -0
- package/components/ui/sonner.tsx +2 -2
- package/dist/prod-next/BUILD_ID +1 -1
- package/dist/prod-next/build-manifest.json +6 -6
- package/dist/prod-next/react-loadable-manifest.json +391 -1
- package/dist/prod-next/server/app/_global-error/page.js +2 -2
- package/dist/prod-next/server/app/_global-error/page.js.nft.json +1 -1
- package/dist/prod-next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/dist/prod-next/server/app/_global-error.html +1 -1
- package/dist/prod-next/server/app/_global-error.rsc +1 -1
- package/dist/prod-next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/prod-next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/dist/prod-next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/dist/prod-next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/prod-next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/prod-next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/prod-next/server/app/_not-found/page.js +2 -2
- package/dist/prod-next/server/app/_not-found/page.js.nft.json +1 -1
- package/dist/prod-next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/prod-next/server/app/_not-found.html +1 -1
- package/dist/prod-next/server/app/_not-found.rsc +19 -17
- package/dist/prod-next/server/app/_not-found.segments/_full.segment.rsc +19 -17
- package/dist/prod-next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dist/prod-next/server/app/_not-found.segments/_index.segment.rsc +8 -6
- package/dist/prod-next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dist/prod-next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dist/prod-next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/dist/prod-next/server/app/api/taskmark-reload/route.js +1 -1
- package/dist/prod-next/server/app/api/taskmark-reload/route.js.nft.json +1 -1
- package/dist/prod-next/server/app/board/page.js +2 -2
- package/dist/prod-next/server/app/board/page.js.nft.json +1 -1
- package/dist/prod-next/server/app/board/page_client-reference-manifest.js +1 -1
- package/dist/prod-next/server/app/favicon.ico/route.js +1 -1
- package/dist/prod-next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/dist/prod-next/server/app/page.js +2 -2
- package/dist/prod-next/server/app/page.js.nft.json +1 -1
- package/dist/prod-next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/prod-next/server/app/setup/page.js +2 -2
- package/dist/prod-next/server/app/setup/page.js.nft.json +1 -1
- package/dist/prod-next/server/app/setup/page_client-reference-manifest.js +1 -1
- package/dist/prod-next/server/chunks/102.js +90 -0
- package/dist/prod-next/server/chunks/11.js +1 -0
- package/dist/prod-next/server/chunks/1286.js +1 -0
- package/dist/prod-next/server/chunks/1412.js +38 -0
- package/dist/prod-next/server/chunks/1605.js +1 -0
- package/dist/prod-next/server/chunks/169.js +1 -0
- package/dist/prod-next/server/chunks/18.js +86 -0
- package/dist/prod-next/server/chunks/2.js +1 -0
- package/dist/prod-next/server/chunks/2022.js +1 -0
- package/dist/prod-next/server/chunks/2156.js +1 -0
- package/dist/prod-next/server/chunks/2157.js +1 -0
- package/dist/prod-next/server/chunks/2325.js +82 -0
- package/dist/prod-next/server/chunks/2838.js +1 -0
- package/dist/prod-next/server/chunks/2897.js +79 -0
- package/dist/prod-next/server/chunks/3227.js +1 -0
- package/dist/prod-next/server/chunks/3266.js +1 -0
- package/dist/prod-next/server/chunks/{192.js → 3307.js} +5 -5
- package/dist/prod-next/server/chunks/3387.js +19 -0
- package/dist/prod-next/server/chunks/3428.js +32 -0
- package/dist/prod-next/server/chunks/3479.js +1 -0
- package/dist/prod-next/server/chunks/367.js +115 -0
- package/dist/prod-next/server/chunks/3698.js +93 -0
- package/dist/prod-next/server/chunks/3709.js +148 -0
- package/dist/prod-next/server/chunks/41.js +1 -0
- package/dist/prod-next/server/chunks/4107.js +62 -0
- package/dist/prod-next/server/chunks/4569.js +34 -0
- package/dist/prod-next/server/chunks/{741.js → 4741.js} +1 -1
- package/dist/prod-next/server/chunks/4755.js +153 -0
- package/dist/prod-next/server/chunks/5002.js +1 -0
- package/dist/prod-next/server/chunks/5112.js +1 -0
- package/dist/prod-next/server/chunks/5289.js +8 -0
- package/dist/prod-next/server/chunks/5318.js +1 -0
- package/dist/prod-next/server/chunks/5452.js +23 -0
- package/dist/prod-next/server/chunks/5453.js +1 -0
- package/dist/prod-next/server/chunks/5749.js +27 -0
- package/dist/prod-next/server/chunks/5782.js +36 -0
- package/dist/prod-next/server/chunks/6163.js +104 -0
- package/dist/prod-next/server/chunks/6169.js +64 -0
- package/dist/prod-next/server/chunks/6208.js +172 -0
- package/dist/prod-next/server/chunks/6399.js +24 -0
- package/dist/prod-next/server/chunks/6496.js +1 -0
- package/dist/prod-next/server/chunks/6823.js +215 -0
- package/dist/prod-next/server/chunks/6888.js +1 -0
- package/dist/prod-next/server/chunks/6980.js +1 -0
- package/dist/prod-next/server/chunks/7245.js +77 -0
- package/dist/prod-next/server/chunks/7307.js +1 -0
- package/dist/prod-next/server/chunks/7372.js +287 -0
- package/dist/prod-next/server/chunks/7384.js +226 -0
- package/dist/prod-next/server/chunks/7516.js +1 -0
- package/dist/prod-next/server/chunks/7531.js +24 -0
- package/dist/prod-next/server/chunks/7591.js +1 -0
- package/dist/prod-next/server/chunks/7755.js +138 -0
- package/dist/prod-next/server/chunks/7916.js +1 -0
- package/dist/prod-next/server/chunks/8078.js +94 -0
- package/dist/prod-next/server/chunks/8253.js +41 -0
- package/dist/prod-next/server/chunks/8635.js +1 -0
- package/dist/prod-next/server/chunks/8688.js +1 -0
- package/dist/prod-next/server/chunks/8872.js +1 -0
- package/dist/prod-next/server/chunks/9006.js +1 -0
- package/dist/prod-next/server/chunks/9018.js +1 -0
- package/dist/prod-next/server/chunks/9047.js +1 -0
- package/dist/prod-next/server/chunks/9108.js +1 -0
- package/dist/prod-next/server/chunks/9280.js +256 -0
- package/dist/prod-next/server/chunks/9419.js +1 -0
- package/dist/prod-next/server/chunks/9430.js +1 -0
- package/dist/prod-next/server/chunks/9586.js +1 -0
- package/dist/prod-next/server/chunks/9775.js +1 -0
- package/dist/prod-next/server/chunks/992.js +1 -0
- package/dist/prod-next/server/chunks/9926.js +1 -0
- package/dist/prod-next/server/chunks/9984.js +8 -0
- package/dist/prod-next/server/middleware-build-manifest.js +1 -1
- package/dist/prod-next/server/middleware-react-loadable-manifest.js +1 -1
- package/dist/prod-next/server/pages/404.html +1 -1
- package/dist/prod-next/server/pages/500.html +1 -1
- package/dist/prod-next/server/server-reference-manifest.js +1 -1
- package/dist/prod-next/server/server-reference-manifest.json +1 -1
- package/dist/prod-next/server/webpack-runtime.js +1 -1
- package/dist/prod-next/static/chunks/1213.e5c6e70a79b5f7e6.js +24 -0
- package/dist/prod-next/static/chunks/1519.2f596e5f5af9ef57.js +62 -0
- package/dist/prod-next/static/chunks/1759-f5b8fb456f8fb420.js +1 -0
- package/dist/prod-next/static/chunks/1974.885c9a133b86d8a4.js +32 -0
- package/dist/prod-next/static/chunks/2280.6a7f540787704698.js +1 -0
- package/dist/prod-next/static/chunks/2521.7f745f50d30076e7.js +77 -0
- package/dist/prod-next/static/chunks/2585.4d6aa847c780c666.js +1 -0
- package/dist/prod-next/static/chunks/2589.1aad68c09021b1ac.js +1 -0
- package/dist/prod-next/static/chunks/2600.45ba17a0f756fc31.js +1 -0
- package/dist/prod-next/static/chunks/2619.9aac8983f30c7c8a.js +1 -0
- package/dist/prod-next/static/chunks/26d302b2.9f6383e42abdfe16.js +122 -0
- package/dist/prod-next/static/chunks/2768.305914f7900745b6.js +1 -0
- package/dist/prod-next/static/chunks/2931.c2acdbf72808b646.js +41 -0
- package/dist/prod-next/static/chunks/3012-838f69b72a0dc1b3.js +1 -0
- package/dist/prod-next/static/chunks/3016.406e568aa95ff867.js +1 -0
- package/dist/prod-next/static/chunks/3022.972047558a20553a.js +172 -0
- package/dist/prod-next/static/chunks/3064.3a2a1e7cd4fdca5f.js +1 -0
- package/dist/prod-next/static/chunks/3174.03fbed7b7d7a8256.js +1 -0
- package/dist/prod-next/static/chunks/3189.b048866768087750.js +1 -0
- package/dist/prod-next/static/chunks/3217.1a053843c58b70b5.js +24 -0
- package/dist/prod-next/static/chunks/3308.30b95d524f9c1daf.js +74 -0
- package/dist/prod-next/static/chunks/331.fc5d78e1e91daf43.js +1 -0
- package/dist/prod-next/static/chunks/3510.5d4d1c79533e080c.js +1 -0
- package/dist/prod-next/static/chunks/364.ce5400a9dd70b9dc.js +1 -0
- package/dist/prod-next/static/chunks/3661-1f08d73aaffb011d.js +1 -0
- package/dist/prod-next/static/chunks/370.57cfa27da8567918.js +1 -0
- package/dist/prod-next/static/chunks/3789.c418b69121761983.js +1 -0
- package/dist/prod-next/static/chunks/3794-c66b3d8325973459.js +32 -0
- package/dist/prod-next/static/chunks/3831.25ae62d10dccc27a.js +1 -0
- package/dist/prod-next/static/chunks/395.b41e9d76613d37b5.js +90 -0
- package/dist/prod-next/static/chunks/3a7aa434.93dbd20997cfd24f.js +82 -0
- package/dist/prod-next/static/chunks/4020.3cc19c463c49f969.js +23 -0
- package/dist/prod-next/static/chunks/4035.0acc428926d5c8dd.js +1 -0
- package/dist/prod-next/static/chunks/405.0902e4f6eb7bd9a2.js +215 -0
- package/dist/prod-next/static/chunks/4159.49ae537ff687bdc6.js +138 -0
- package/dist/prod-next/static/chunks/4208.384b381ca2757643.js +287 -0
- package/dist/prod-next/static/chunks/4263.ffa8d9bd8a0faaae.js +1 -0
- package/dist/prod-next/static/chunks/4561.d1a3aaca8bae3224.js +34 -0
- package/dist/prod-next/static/chunks/4592.d0f37bc216b9d988.js +93 -0
- package/dist/prod-next/static/chunks/4799.0dc7aa21bff2fd2a.js +1 -0
- package/dist/prod-next/static/chunks/4bd1b696-e356ca5ba0218e27.js +1 -0
- package/dist/prod-next/static/chunks/514.b804c51b26f5e126.js +1 -0
- package/dist/prod-next/static/chunks/5270.28592864d38e881c.js +1 -0
- package/dist/prod-next/static/chunks/52733464.3870f99cc446f9ff.js +1 -0
- package/dist/prod-next/static/chunks/5354.b559c717a607dc5c.js +1 -0
- package/dist/prod-next/static/chunks/5448.d3972d9fb464b54f.js +38 -0
- package/dist/prod-next/static/chunks/587.d52737d7288c11b4.js +1 -0
- package/dist/prod-next/static/chunks/5909.9e37f7b495b11995.js +115 -0
- package/dist/prod-next/static/chunks/5949.5504b3545fcc3d34.js +104 -0
- package/dist/prod-next/static/chunks/6322-4e97920c006f7933.js +1 -0
- package/dist/prod-next/static/chunks/6361.893d04ac34fa1b49.js +148 -0
- package/dist/prod-next/static/chunks/6774.8cd53427dbf32cac.js +86 -0
- package/dist/prod-next/static/chunks/6968.b80277c724dbc96e.js +1 -0
- package/dist/prod-next/static/chunks/7113.4b9e7ea870aa300a.js +8 -0
- package/dist/prod-next/static/chunks/7236.55a9728d35f5b8a6.js +1 -0
- package/dist/prod-next/static/chunks/7390.dde9b5bc2f6e24b8.js +1 -0
- package/dist/prod-next/static/chunks/7806.a903780fcfa3a30e.js +1 -0
- package/dist/prod-next/static/chunks/7997.be57e92e583fe635.js +1 -0
- package/dist/prod-next/static/chunks/8216.64a72d4d35ea7be0.js +1 -0
- package/dist/prod-next/static/chunks/830.5d5274d7ad1cb58e.js +1 -0
- package/dist/prod-next/static/chunks/8378.fa91de3406f554c9.js +226 -0
- package/dist/prod-next/static/chunks/8501.cd06aa1b0c7e1c6a.js +79 -0
- package/dist/prod-next/static/chunks/8663.6ec5792fb4952e45.js +27 -0
- package/dist/prod-next/static/chunks/872.96937e758ddce860.js +1 -0
- package/dist/prod-next/static/chunks/8803.75bde095fe3613f5.js +1 -0
- package/dist/prod-next/static/chunks/8863.72f5dbb820a0e4c3.js +1 -0
- package/dist/prod-next/static/chunks/90542734.f7a7b2972ef5a749.js +1 -0
- package/dist/prod-next/static/chunks/9379.5bc9c9343ec5a16c.js +64 -0
- package/dist/prod-next/static/chunks/9389.906fe7aa9cd6a170.js +1 -0
- package/dist/prod-next/static/chunks/9472.8818ee52cfa931a4.js +94 -0
- package/dist/prod-next/static/chunks/966.d6babbf8119162cc.js +1 -0
- package/dist/prod-next/static/chunks/9884.d4ac1a961b3366f1.js +36 -0
- package/dist/prod-next/static/chunks/9909.67cf9940b125243b.js +1 -0
- package/dist/prod-next/static/chunks/app/_global-error/page-8be5492b3b872a4c.js +1 -0
- package/dist/prod-next/static/chunks/app/_not-found/page-799e445a538b0024.js +1 -0
- package/dist/prod-next/static/chunks/app/api/taskmark-reload/route-8be5492b3b872a4c.js +1 -0
- package/dist/prod-next/static/chunks/app/board/page-5c181f45738daf1c.js +1 -0
- package/dist/prod-next/static/chunks/app/layout-21782e6d13a6f275.js +1 -0
- package/dist/prod-next/static/chunks/app/page-51bfe4356fe233e3.js +1 -0
- package/dist/prod-next/static/chunks/app/setup/page-3ccfba00c10f9b17.js +1 -0
- package/dist/prod-next/static/chunks/d3ac728e.7964f816a1ca64e5.js +1 -0
- package/dist/prod-next/static/chunks/e413bedd.3a12a8cb02e28fdf.js +153 -0
- package/dist/prod-next/static/chunks/ea233666.f00b64a7d99b4950.js +62 -0
- package/dist/prod-next/static/chunks/framework-711ef29bc66f648c.js +1 -0
- package/dist/prod-next/static/chunks/main-app-dd26d4f9d120646e.js +1 -0
- package/dist/prod-next/static/chunks/{main-bb33c46a9c25dee8.js → main-df4bcaed74f274eb.js} +2 -2
- package/dist/prod-next/static/chunks/next/dist/client/components/builtin/app-error-8be5492b3b872a4c.js +1 -0
- package/dist/prod-next/static/chunks/next/dist/client/components/builtin/forbidden-8be5492b3b872a4c.js +1 -0
- package/dist/prod-next/static/chunks/next/dist/client/components/builtin/global-error-45a0cf77e03361ed.js +1 -0
- package/dist/prod-next/static/chunks/next/dist/client/components/builtin/not-found-8be5492b3b872a4c.js +1 -0
- package/dist/prod-next/static/chunks/next/dist/client/components/builtin/unauthorized-8be5492b3b872a4c.js +1 -0
- package/dist/prod-next/static/chunks/webpack-713747aaa9716c4c.js +1 -0
- package/dist/prod-next/static/css/cb78d4b0062d9a3f.css +1 -0
- package/dist/public/taskmark-snapshot.json +1 -1
- package/lib/taskmark/board-index.ts +101 -0
- package/lib/taskmark/build-snapshot.ts +28 -7
- package/lib/taskmark/derive-parents.test.ts +23 -0
- package/lib/taskmark/derive-parents.ts +323 -0
- package/lib/taskmark/detail-load.ts +55 -7
- package/lib/taskmark/detail-types.ts +10 -2
- package/lib/taskmark/dev-reload-token.ts +1 -1
- package/lib/taskmark/discover.ts +4 -7
- package/lib/taskmark/epic-types.ts +2 -1
- package/lib/taskmark/flat-work-item-types.ts +1 -4
- package/lib/taskmark/identity.ts +3 -3
- package/lib/taskmark/item-types.ts +2 -1
- package/lib/taskmark/list-filters.test.ts +23 -0
- package/lib/taskmark/list-filters.ts +7 -2
- package/lib/taskmark/list-view-mode.test.ts +45 -0
- package/lib/taskmark/list-view-mode.ts +19 -8
- package/lib/taskmark/load-changelog.test.ts +32 -0
- package/lib/taskmark/load-changelog.ts +18 -0
- package/lib/taskmark/overall-tree.test.ts +196 -0
- package/lib/taskmark/overall-tree.ts +194 -0
- package/lib/taskmark/parse-detail.ts +5 -5
- package/lib/taskmark/parse-epics.ts +19 -16
- package/lib/taskmark/parse-flat-lists.ts +32 -28
- package/lib/taskmark/parse-items.ts +47 -9
- package/lib/taskmark/parse-stories.ts +18 -15
- package/lib/taskmark/points-calendar.test.ts +72 -0
- package/lib/taskmark/points-calendar.ts +86 -0
- package/lib/taskmark/project-metrics.ts +11 -7
- package/lib/taskmark/snapshot-types.ts +2 -0
- package/lib/taskmark/story-types.ts +2 -1
- package/lib/taskmark/table-sort.ts +4 -3
- package/lib/taskmark/timing.ts +29 -18
- package/lib/taskmark/validate.ts +1 -1
- package/lib/theme-cookie.test.ts +27 -0
- package/lib/theme-cookie.ts +43 -0
- package/package.json +3 -1
- package/public/taskmark-snapshot.json +1 -1
- package/dist/prod-next/server/chunks/463.js +0 -1
- package/dist/prod-next/server/chunks/54.js +0 -19
- package/dist/prod-next/server/chunks/57.js +0 -8
- package/dist/prod-next/server/chunks/724.js +0 -1
- package/dist/prod-next/static/chunks/4bd1b696-deb4a0a1da1923b0.js +0 -1
- package/dist/prod-next/static/chunks/613-6f794154d28bb75a.js +0 -1
- package/dist/prod-next/static/chunks/636-626c380f021b95c8.js +0 -1
- package/dist/prod-next/static/chunks/669-8103441c67b185da.js +0 -1
- package/dist/prod-next/static/chunks/701-df3ee5f1cf837b1a.js +0 -1
- package/dist/prod-next/static/chunks/794-25668765560cb197.js +0 -32
- package/dist/prod-next/static/chunks/909.932f2af3be7f1e89.js +0 -1
- package/dist/prod-next/static/chunks/app/_global-error/page-a1e3320be3da9be1.js +0 -1
- package/dist/prod-next/static/chunks/app/_not-found/page-0b3785af737e7968.js +0 -1
- package/dist/prod-next/static/chunks/app/api/taskmark-reload/route-a1e3320be3da9be1.js +0 -1
- package/dist/prod-next/static/chunks/app/board/page-636f60191db62f52.js +0 -1
- package/dist/prod-next/static/chunks/app/layout-856e8a282e69e7d0.js +0 -1
- package/dist/prod-next/static/chunks/app/page-562a33b50da7665b.js +0 -1
- package/dist/prod-next/static/chunks/app/setup/page-4cf527b758b1d51e.js +0 -1
- package/dist/prod-next/static/chunks/framework-b29f9083d3cda3b2.js +0 -1
- package/dist/prod-next/static/chunks/main-app-bfb36455d24b3e5a.js +0 -1
- package/dist/prod-next/static/chunks/next/dist/client/components/builtin/app-error-a1e3320be3da9be1.js +0 -1
- package/dist/prod-next/static/chunks/next/dist/client/components/builtin/forbidden-a1e3320be3da9be1.js +0 -1
- package/dist/prod-next/static/chunks/next/dist/client/components/builtin/global-error-dc53ab29e0491fe4.js +0 -1
- package/dist/prod-next/static/chunks/next/dist/client/components/builtin/not-found-a1e3320be3da9be1.js +0 -1
- package/dist/prod-next/static/chunks/next/dist/client/components/builtin/unauthorized-a1e3320be3da9be1.js +0 -1
- package/dist/prod-next/static/chunks/webpack-d33b8a6298c94a64.js +0 -1
- package/dist/prod-next/static/css/2e6ec4c80894e3c0.css +0 -1
- /package/dist/prod-next/static/{yyRnYAFQrJjF5_b5ZIeqh → EI1zQaa_kQ7DqUSE4o3Qo}/_buildManifest.js +0 -0
- /package/dist/prod-next/static/{yyRnYAFQrJjF5_b5ZIeqh → EI1zQaa_kQ7DqUSE4o3Qo}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6361],{30790:(t,e,i)=>{i.d(e,{CP:()=>u,Ck:()=>d,HT:()=>y,PB:()=>p,aC:()=>h,lC:()=>o,m:()=>c,tk:()=>l});var n=i(31775),r=i(89851),a=i(84485),s=i(33948),l=(0,r.K)((t,e)=>{let i=t.append("rect");if(i.attr("x",e.x),i.attr("y",e.y),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("width",e.width),i.attr("height",e.height),e.name&&i.attr("name",e.name),e.rx&&i.attr("rx",e.rx),e.ry&&i.attr("ry",e.ry),void 0!==e.attrs)for(let t in e.attrs)i.attr(t,e.attrs[t]);return e.class&&i.attr("class",e.class),i},"drawRect"),o=(0,r.K)((t,e)=>{l(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"}).lower()},"drawBackgroundRect"),c=(0,r.K)((t,e)=>{let i=e.text.replace(n.H1," "),r=t.append("text");r.attr("x",e.x),r.attr("y",e.y),r.attr("class","legend"),r.style("text-anchor",e.anchor),e.class&&r.attr("class",e.class);let a=r.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.text(i),r},"drawText"),h=(0,r.K)((t,e,i,n)=>{let r=t.append("image");r.attr("x",e),r.attr("y",i);let s=(0,a.J)(n);r.attr("xlink:href",s)},"drawImage"),u=(0,r.K)((t,e,i,n)=>{let r=t.append("use");r.attr("x",e),r.attr("y",i);let s=(0,a.J)(n);r.attr("xlink:href",`#${s}`)},"drawEmbeddedImage"),p=(0,r.K)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),y=(0,r.K)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),d=(0,r.K)(()=>{let t=(0,s.Ltv)(".mermaidTooltip");return t.empty()&&(t=(0,s.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")},56361:(t,e,i)=>{i.d(e,{diagram:()=>Y});var n=i(71662),r=i(30790),a=i(31775);i(56037);var s=i(89851),l=i(33948),o=function(){var t=(0,s.K)(function(t,e,i,n){for(i=i||{},n=t.length;n--;i[t[n]]=e);return i},"o"),e=[6,8,10,11,12,14,16,17,18],i=[1,9],n=[1,10],r=[1,11],a=[1,12],l=[1,13],o=[1,14],c={trace:(0,s.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:(0,s.K)(function(t,e,i,n,r,a,s){var l=a.length-1;switch(r){case 1:return a[l-1];case 2:case 6:case 7:this.$=[];break;case 3:a[l-1].push(a[l]),this.$=a[l-1];break;case 4:case 5:this.$=a[l];break;case 8:n.setDiagramTitle(a[l].substr(6)),this.$=a[l].substr(6);break;case 9:this.$=a[l].trim(),n.setAccTitle(this.$);break;case 10:case 11:this.$=a[l].trim(),n.setAccDescription(this.$);break;case 12:n.addSection(a[l].substr(8)),this.$=a[l].substr(8);break;case 13:n.addTask(a[l-1],a[l]),this.$="task"}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:i,12:n,14:r,16:a,17:l,18:o},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:i,12:n,14:r,16:a,17:l,18:o},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:(0,s.K)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,s.K)(function(t){var e=this,i=[0],n=[],r=[null],a=[],l=this.table,o="",c=0,h=0,u=0,p=a.slice.call(arguments,1),y=Object.create(this.lexer),d={};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(d[f]=this.yy[f]);y.setInput(t,d),d.lexer=y,d.parser=this,void 0===y.yylloc&&(y.yylloc={});var g=y.yylloc;a.push(g);var x=y.options&&y.options.ranges;function m(){var t;return"number"!=typeof(t=n.pop()||y.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof d.parseError?this.parseError=d.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,s.K)(function(t){i.length=i.length-2*t,r.length=r.length-t,a.length=a.length-t},"popStack"),(0,s.K)(m,"lex");for(var k,_,b,v,w,K,$,M,T,E={};;){if(b=i[i.length-1],this.defaultActions[b]?v=this.defaultActions[b]:(null==k&&(k=m()),v=l[b]&&l[b][k]),void 0===v||!v.length||!v[0]){var S="";for(K in T=[],l[b])this.terminals_[K]&&K>2&&T.push("'"+this.terminals_[K]+"'");S=y.showPosition?"Parse error on line "+(c+1)+":\n"+y.showPosition()+"\nExpecting "+T.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(S,{text:y.match,token:this.terminals_[k]||k,line:y.yylineno,loc:g,expected:T})}if(v[0]instanceof Array&&v.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+k);switch(v[0]){case 1:i.push(k),r.push(y.yytext),a.push(y.yylloc),i.push(v[1]),k=null,_?(k=_,_=null):(h=y.yyleng,o=y.yytext,c=y.yylineno,g=y.yylloc,u>0&&u--);break;case 2:if($=this.productions_[v[1]][1],E.$=r[r.length-$],E._$={first_line:a[a.length-($||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-($||1)].first_column,last_column:a[a.length-1].last_column},x&&(E._$.range=[a[a.length-($||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(E,[o,h,c,d,v[1],r,a].concat(p))))return w;$&&(i=i.slice(0,-1*$*2),r=r.slice(0,-1*$),a=a.slice(0,-1*$)),i.push(this.productions_[v[1]][0]),r.push(E.$),a.push(E._$),M=l[i[i.length-2]][i[i.length-1]],i.push(M);break;case 3:return!0}}return!0},"parse")};function h(){this.yy={}}return c.lexer={EOF:1,parseError:(0,s.K)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,s.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,s.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,s.K)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var r=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===n.length?this.yylloc.first_column:0)+n[n.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[r[0],r[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,s.K)(function(){return this._more=!0,this},"more"),reject:(0,s.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,s.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,s.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,s.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,s.K)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,s.K)(function(t,e){var i,n,r;if(this.options.backtrack_lexer&&(r={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(r.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var a in r)this[a]=r[a];return!1},"test_match"),next:(0,s.K)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,n,r=this._currentRules(),a=0;a<r.length;a++)if((i=this._input.match(this.rules[r[a]]))&&(!e||i[0].length>e[0].length)){if(e=i,n=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,r[a])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,r[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,s.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,s.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,s.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,s.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,s.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,s.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,s.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,s.K)(function(t,e,i,n){switch(i){case 0:case 1:case 3:case 4:break;case 2:return 10;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}},(0,s.K)(h,"Parser"),h.prototype=c,c.Parser=h,new h}();o.parser=o;var c="",h=[],u=[],p=[],y=(0,s.K)(function(){h.length=0,u.length=0,c="",p.length=0,(0,a.IU)()},"clear"),d=(0,s.K)(function(t){c=t,h.push(t)},"addSection"),f=(0,s.K)(function(){return h},"getSections"),g=(0,s.K)(function(){let t=_(),e=0;for(;!t&&e<100;)t=_(),e++;return u.push(...p),u},"getTasks"),x=(0,s.K)(function(){let t=[];return u.forEach(e=>{e.people&&t.push(...e.people)}),[...new Set(t)].sort()},"updateActors"),m=(0,s.K)(function(t,e){let i=e.substr(1).split(":"),n=0,r=[];1===i.length?(n=Number(i[0]),r=[]):(n=Number(i[0]),r=i[1].split(","));let a=r.map(t=>t.trim()),s={section:c,type:c,people:a,task:t,score:n};p.push(s)},"addTask"),k=(0,s.K)(function(t){let e={section:c,type:c,description:t,task:t,classes:[]};u.push(e)},"addTaskOrg"),_=(0,s.K)(function(){let t=(0,s.K)(function(t){return p[t].processed},"compileTask"),e=!0;for(let[i,n]of p.entries())t(i),e=e&&n.processed;return e},"compileTasks"),b=(0,s.K)(function(){return x()},"getActors"),v={getConfig:(0,s.K)(()=>(0,a.D7)().journey,"getConfig"),clear:y,setDiagramTitle:a.ke,getDiagramTitle:a.ab,setAccTitle:a.SV,getAccTitle:a.iN,setAccDescription:a.EI,getAccDescription:a.m7,addSection:d,getSections:f,getTasks:g,addTask:m,addTaskOrg:k,getActors:b},w=(0,s.K)(t=>`.label {
|
|
2
|
+
font-family: ${t.fontFamily};
|
|
3
|
+
color: ${t.textColor};
|
|
4
|
+
}
|
|
5
|
+
.mouth {
|
|
6
|
+
stroke: #666;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
line {
|
|
10
|
+
stroke: ${t.textColor}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.legend {
|
|
14
|
+
fill: ${t.textColor};
|
|
15
|
+
font-family: ${t.fontFamily};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.label text {
|
|
19
|
+
fill: #333;
|
|
20
|
+
}
|
|
21
|
+
.label {
|
|
22
|
+
color: ${t.textColor}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.face {
|
|
26
|
+
${t.faceColor?`fill: ${t.faceColor}`:"fill: #FFF8DC"};
|
|
27
|
+
stroke: #999;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.node rect,
|
|
31
|
+
.node circle,
|
|
32
|
+
.node ellipse,
|
|
33
|
+
.node polygon,
|
|
34
|
+
.node path {
|
|
35
|
+
fill: ${t.mainBkg};
|
|
36
|
+
stroke: ${t.nodeBorder};
|
|
37
|
+
stroke-width: 1px;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.node .label {
|
|
41
|
+
text-align: center;
|
|
42
|
+
}
|
|
43
|
+
.node.clickable {
|
|
44
|
+
cursor: pointer;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.arrowheadPath {
|
|
48
|
+
fill: ${t.arrowheadColor};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.edgePaths .path {
|
|
52
|
+
stroke: ${t.lineColor};
|
|
53
|
+
stroke-width: 1.5px;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.flowchart-link {
|
|
57
|
+
stroke: ${t.lineColor};
|
|
58
|
+
fill: none;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.edgeLabel {
|
|
62
|
+
background-color: ${t.edgeLabelBackground};
|
|
63
|
+
rect {
|
|
64
|
+
opacity: 0.5;
|
|
65
|
+
}
|
|
66
|
+
text-align: center;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.cluster rect {
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.cluster text {
|
|
73
|
+
fill: ${t.titleColor};
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
div.mermaidTooltip {
|
|
77
|
+
position: absolute;
|
|
78
|
+
text-align: center;
|
|
79
|
+
max-width: 200px;
|
|
80
|
+
padding: 2px;
|
|
81
|
+
font-family: ${t.fontFamily};
|
|
82
|
+
font-size: 12px;
|
|
83
|
+
background: ${t.tertiaryColor};
|
|
84
|
+
border: 1px solid ${t.border2};
|
|
85
|
+
border-radius: 2px;
|
|
86
|
+
pointer-events: none;
|
|
87
|
+
z-index: 100;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.task-type-0, .section-type-0 {
|
|
91
|
+
${t.fillType0?`fill: ${t.fillType0}`:""};
|
|
92
|
+
}
|
|
93
|
+
.task-type-1, .section-type-1 {
|
|
94
|
+
${t.fillType0?`fill: ${t.fillType1}`:""};
|
|
95
|
+
}
|
|
96
|
+
.task-type-2, .section-type-2 {
|
|
97
|
+
${t.fillType0?`fill: ${t.fillType2}`:""};
|
|
98
|
+
}
|
|
99
|
+
.task-type-3, .section-type-3 {
|
|
100
|
+
${t.fillType0?`fill: ${t.fillType3}`:""};
|
|
101
|
+
}
|
|
102
|
+
.task-type-4, .section-type-4 {
|
|
103
|
+
${t.fillType0?`fill: ${t.fillType4}`:""};
|
|
104
|
+
}
|
|
105
|
+
.task-type-5, .section-type-5 {
|
|
106
|
+
${t.fillType0?`fill: ${t.fillType5}`:""};
|
|
107
|
+
}
|
|
108
|
+
.task-type-6, .section-type-6 {
|
|
109
|
+
${t.fillType0?`fill: ${t.fillType6}`:""};
|
|
110
|
+
}
|
|
111
|
+
.task-type-7, .section-type-7 {
|
|
112
|
+
${t.fillType0?`fill: ${t.fillType7}`:""};
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.actor-0 {
|
|
116
|
+
${t.actor0?`fill: ${t.actor0}`:""};
|
|
117
|
+
}
|
|
118
|
+
.actor-1 {
|
|
119
|
+
${t.actor1?`fill: ${t.actor1}`:""};
|
|
120
|
+
}
|
|
121
|
+
.actor-2 {
|
|
122
|
+
${t.actor2?`fill: ${t.actor2}`:""};
|
|
123
|
+
}
|
|
124
|
+
.actor-3 {
|
|
125
|
+
${t.actor3?`fill: ${t.actor3}`:""};
|
|
126
|
+
}
|
|
127
|
+
.actor-4 {
|
|
128
|
+
${t.actor4?`fill: ${t.actor4}`:""};
|
|
129
|
+
}
|
|
130
|
+
.actor-5 {
|
|
131
|
+
${t.actor5?`fill: ${t.actor5}`:""};
|
|
132
|
+
}
|
|
133
|
+
${(0,n.o)()}
|
|
134
|
+
`,"getStyles"),K=(0,s.K)(function(t,e){return(0,r.tk)(t,e)},"drawRect"),$=(0,s.K)(function(t,e){let i=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",15).attr("stroke-width",2).attr("overflow","visible"),n=t.append("g");function r(t){let i=(0,l.JLW)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function a(t){let i=(0,l.JLW)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(15/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function o(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return n.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),n.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),(0,s.K)(r,"smile"),(0,s.K)(a,"sad"),(0,s.K)(o,"ambivalent"),e.score>3?r(n):e.score<3?a(n):o(n),i},"drawFace"),M=(0,s.K)(function(t,e){let i=t.append("circle");return i.attr("cx",e.cx),i.attr("cy",e.cy),i.attr("class","actor-"+e.pos),i.attr("fill",e.fill),i.attr("stroke",e.stroke),i.attr("r",e.r),void 0!==i.class&&i.attr("class",i.class),void 0!==e.title&&i.append("title").text(e.title),i},"drawCircle"),T=(0,s.K)(function(t,e){return(0,r.m)(t,e)},"drawText"),E=(0,s.K)(function(t,e,i){let n=t.append("g"),a=(0,r.PB)();a.x=e.x,a.y=e.y,a.fill=e.fill,a.width=i.width*e.taskCount+i.diagramMarginX*(e.taskCount-1),a.height=i.height,a.class="journey-section section-type-"+e.num,a.rx=3,a.ry=3,K(n,a),I(i)(e.text,n,a.x,a.y,a.width,a.height,{class:"journey-section section-type-"+e.num},i,e.colour)},"drawSection"),S=-1,C=(0,s.K)(function(t,e,i,n){let a=e.x+i.width/2,s=t.append("g");S++,s.append("line").attr("id",n+"-task"+S).attr("x1",a).attr("y1",e.y).attr("x2",a).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),$(s,{cx:a,cy:300+(5-e.score)*30,score:e.score});let l=(0,r.PB)();l.x=e.x,l.y=e.y,l.fill=e.fill,l.width=i.width,l.height=i.height,l.class="task task-type-"+e.num,l.rx=3,l.ry=3,K(s,l);let o=e.x+14;e.people.forEach(t=>{let i=e.actors[t].color;M(s,{cx:o,cy:e.y,r:7,fill:i,stroke:"#000",title:t,pos:e.actors[t].position}),o+=10}),I(i)(e.task,s,l.x,l.y,l.width,l.height,{class:"task"},i,e.colour)},"drawTask"),I=function(){function t(t,e,i,r,a,s,l,o){n(e.append("text").attr("x",i+a/2).attr("y",r+s/2+5).style("font-color",o).style("text-anchor","middle").text(t),l)}function e(t,e,i,r,a,s,l,o,c){let{taskFontSize:h,taskFontFamily:u}=o,p=t.split(/<br\s*\/?>/gi);for(let t=0;t<p.length;t++){let o=t*h-h*(p.length-1)/2,y=e.append("text").attr("x",i+a/2).attr("y",r).attr("fill",c).style("text-anchor","middle").style("font-size",h).style("font-family",u);y.append("tspan").attr("x",i+a/2).attr("dy",o).text(p[t]),y.attr("y",r+s/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),n(y,l)}}function i(t,i,r,a,s,l,o,c){let h=i.append("switch"),u=h.append("foreignObject").attr("x",r).attr("y",a).attr("width",s).attr("height",l).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");u.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,r,a,s,l,o,c),n(u,o)}function n(t,e){for(let i in e)i in e&&t.attr(i,e[i])}return(0,s.K)(t,"byText"),(0,s.K)(e,"byTspan"),(0,s.K)(i,"byFo"),(0,s.K)(n,"_setTextAttrs"),function(n){return"fo"===n.textPlacement?i:"old"===n.textPlacement?t:e}}(),P=(0,s.K)(function(t,e){S=-1,t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics"),A=(0,s.K)(function(t){Object.keys(t).forEach(function(e){V[e]=t[e]})},"setConf"),j={},L=0;function D(t){let e=(0,a.D7)().journey,i=e.maxLabelWidth;L=0;let n=60;Object.keys(j).forEach(r=>{let a=j[r].color;M(t,{cx:20,cy:n,r:7,fill:a,stroke:"#000",pos:j[r].position});let s=t.append("text").attr("visibility","hidden").text(r),l=s.node().getBoundingClientRect().width;s.remove();let o=[];if(l<=i)o=[r];else{let e=r.split(" "),n="";s=t.append("text").attr("visibility","hidden"),e.forEach(t=>{let e=n?`${n} ${t}`:t;if(s.text(e),s.node().getBoundingClientRect().width>i){if(n&&o.push(n),n=t,s.text(t),s.node().getBoundingClientRect().width>i){let e="";for(let n of t)e+=n,s.text(e+"-"),s.node().getBoundingClientRect().width>i&&(o.push(e.slice(0,-1)+"-"),e=n);n=e}}else n=e}),n&&o.push(n),s.remove()}o.forEach((i,r)=>{let a=T(t,{x:40,y:n+7+20*r,fill:"#666",text:i,textMargin:e.boxTextMargin??5}).node().getBoundingClientRect().width;a>L&&a>e.leftMargin-a&&(L=a)}),n+=Math.max(20,20*o.length)})}(0,s.K)(D,"drawActorLegend");var V=(0,a.D7)().journey,B=0,F=(0,s.K)(function(t,e,i,n){let r,s=(0,a.D7)(),o=s.journey.titleColor,c=s.journey.titleFontSize,h=s.journey.titleFontFamily,u=s.securityLevel;"sandbox"===u&&(r=(0,l.Ltv)("#i"+e));let p="sandbox"===u?(0,l.Ltv)(r.nodes()[0].contentDocument.body):(0,l.Ltv)("body");N.init();let y=p.select("#"+e);P(y,e);let d=n.db.getTasks(),f=n.db.getDiagramTitle(),g=n.db.getActors();for(let t in j)delete j[t];let x=0;g.forEach(t=>{j[t]={color:V.actorColours[x%V.actorColours.length],position:x},x++}),D(y),B=V.leftMargin+L,N.insert(0,0,B,50*Object.keys(j).length),z(y,d,0,e);let m=N.getBounds();f&&y.append("text").text(f).attr("x",B).attr("font-size",c).attr("font-weight","bold").attr("y",25).attr("fill",o).attr("font-family",h);let k=m.stopy-m.starty+2*V.diagramMarginY,_=B+m.stopx+2*V.diagramMarginX;(0,a.a$)(y,k,_,V.useMaxWidth),y.append("line").attr("x1",B).attr("y1",4*V.height).attr("x2",_-B-4).attr("y2",4*V.height).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+e+"-arrowhead)");let b=70*!!f;y.attr("viewBox",`${m.startx} -25 ${_} ${k+b}`),y.attr("preserveAspectRatio","xMinYMin meet"),y.attr("height",k+b+25)},"draw"),N={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:(0,s.K)(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:(0,s.K)(function(t,e,i,n){void 0===t[e]?t[e]=i:t[e]=n(i,t[e])},"updateVal"),updateBounds:(0,s.K)(function(t,e,i,n){let r=(0,a.D7)().journey,l=this,o=0;function c(a){return(0,s.K)(function(s){o++;let c=l.sequenceItems.length-o+1;l.updateVal(s,"starty",e-c*r.boxMargin,Math.min),l.updateVal(s,"stopy",n+c*r.boxMargin,Math.max),l.updateVal(N.data,"startx",t-c*r.boxMargin,Math.min),l.updateVal(N.data,"stopx",i+c*r.boxMargin,Math.max),"activation"!==a&&(l.updateVal(s,"startx",t-c*r.boxMargin,Math.min),l.updateVal(s,"stopx",i+c*r.boxMargin,Math.max),l.updateVal(N.data,"starty",e-c*r.boxMargin,Math.min),l.updateVal(N.data,"stopy",n+c*r.boxMargin,Math.max))},"updateItemBounds")}(0,s.K)(c,"updateFn"),this.sequenceItems.forEach(c())},"updateBounds"),insert:(0,s.K)(function(t,e,i,n){let r=Math.min(t,i),a=Math.max(t,i),s=Math.min(e,n),l=Math.max(e,n);this.updateVal(N.data,"startx",r,Math.min),this.updateVal(N.data,"starty",s,Math.min),this.updateVal(N.data,"stopx",a,Math.max),this.updateVal(N.data,"stopy",l,Math.max),this.updateBounds(r,s,a,l)},"insert"),bumpVerticalPos:(0,s.K)(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:(0,s.K)(function(){return this.verticalPos},"getVerticalPos"),getBounds:(0,s.K)(function(){return this.data},"getBounds")},R=V.sectionFills,O=V.sectionColours,z=(0,s.K)(function(t,e,i,n){let r=(0,a.D7)().journey,s="",l=i+(2*r.height+r.diagramMarginY),o=0,c="#CCC",h="black",u=0;for(let[i,a]of e.entries()){if(s!==a.section){c=R[o%R.length],u=o%R.length,h=O[o%O.length];let n=0,l=a.section;for(let t=i;t<e.length;t++)if(e[t].section==l)n+=1;else break;E(t,{x:i*r.taskMargin+i*r.width+B,y:50,text:a.section,fill:c,num:u,colour:h,taskCount:n},r),s=a.section,o++}let p=a.people.reduce((t,e)=>(j[e]&&(t[e]=j[e]),t),{});a.x=i*r.taskMargin+i*r.width+B,a.y=l,a.width=r.diagramMarginX,a.height=r.diagramMarginY,a.colour=h,a.fill=c,a.num=u,a.actors=p,C(t,a,r,n),N.insert(a.x,a.y,a.x+a.width+r.taskMargin,450)}},"drawTasks"),W={setConf:A,draw:F},Y={parser:o,db:v,renderer:W,styles:w,init:(0,s.K)(t=>{W.setConf(t.journey),v.clear()},"init")}},71662:(t,e,i)=>{i.d(e,{o:()=>n});var n=(0,i(89851).K)(()=>`
|
|
135
|
+
/* Font Awesome icon styling - consolidated */
|
|
136
|
+
.label-icon {
|
|
137
|
+
display: inline-block;
|
|
138
|
+
height: 1em;
|
|
139
|
+
overflow: visible;
|
|
140
|
+
vertical-align: -0.125em;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.node .label-icon path {
|
|
144
|
+
fill: currentColor;
|
|
145
|
+
stroke: revert;
|
|
146
|
+
stroke-width: revert;
|
|
147
|
+
}
|
|
148
|
+
`,"getIconStyles")}}]);
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6774],{80650:(e,t,r)=>{function i(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}r.d(t,{S:()=>i}),(0,r(89851).K)(i,"populateCommonDb")},86279:(e,t,r)=>{r.d(t,{$:()=>O,U:()=>j,db:()=>S});var i=r(9797),a=r(31775),n=r(56037),o=r(89851),l="",s="",d="",m=[],c=new Map,h=(0,o.K)(e=>(0,a.jZ)(e,(0,a.D7)()),"sanitizeText"),p=(0,o.K)(e=>{switch(e.type){case"terminal":return{...e,value:h(e.value)};case"nonterminal":return{...e,name:h(e.name)};case"sequence":return{...e,elements:e.elements.map(p)};case"choice":return{...e,alternatives:e.alternatives.map(p)};case"optional":return{...e,element:p(e.element)};case"repetition":return{...e,element:p(e.element),separator:e.separator?p(e.separator):void 0};case"special":return{...e,text:h(e.text)}}},"sanitizeAstNode"),u=(0,o.K)(()=>{l="",s="",d="",m.length=0,c.clear(),(0,a.IU)(),n.R.debug("[Railroad] Database cleared")},"clear"),g=(0,o.K)(e=>{l=h(e),n.R.debug("[Railroad] Title set:",e)},"setTitle"),T=(0,o.K)(()=>l,"getTitle"),f=(0,o.K)(e=>{let t={...e,name:h(e.name),definition:p(e.definition),comment:e.comment?h(e.comment):void 0};n.R.debug("[Railroad] Adding rule:",t.name),c.has(t.name)&&n.R.warn(`[Railroad] Rule '${t.name}' is already defined. Overwriting.`),m.push(t),c.set(t.name,t)},"addRule"),x=(0,o.K)(()=>m,"getRules"),w=(0,o.K)(e=>c.get(e),"getRule"),k=(0,o.K)(e=>{s=h(e).replace(/^\s+/g,""),n.R.debug("[Railroad] Accessibility title set:",e)},"setAccTitle"),C=(0,o.K)(()=>s,"getAccTitle"),$=(0,o.K)(e=>{d=h(e).replace(/\n\s+/g,"\n"),n.R.debug("[Railroad] Accessibility description set:",e)},"setAccDescription"),S={clear:u,setTitle:g,getTitle:T,addRule:f,getRules:x,getRule:w,setAccTitle:k,getAccTitle:C,setAccDescription:$,getAccDescription:(0,o.K)(()=>d,"getAccDescription"),setDiagramTitle:g,getDiagramTitle:T},F={compactMode:!1,padding:10,verticalSeparation:8,horizontalSeparation:10,arcRadius:10,fontSize:14,fontFamily:"monospace",terminalFill:"#FFFFC0",terminalStroke:"#000000",terminalTextColor:"#000000",nonTerminalFill:"#FFFFFF",nonTerminalStroke:"#000000",nonTerminalTextColor:"#000000",lineColor:"#000000",strokeWidth:2,markerFill:"#000000",commentFill:"#E8E8E8",commentStroke:"#888888",commentTextColor:"#666666",specialFill:"#F0E0FF",specialStroke:"#8800CC",ruleNameColor:"#000066",showMarkers:!0,markerRadius:5},y=/^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\([\d\s%+,./-]+\)$|^[a-z]+$/i,R=/^[\w "',.-]+$/,b=new Set(["compactMode","padding","verticalSeparation","horizontalSeparation","arcRadius","fontSize","fontFamily","terminalFill","terminalStroke","terminalTextColor","nonTerminalFill","nonTerminalStroke","nonTerminalTextColor","lineColor","strokeWidth","markerFill","commentFill","commentStroke","commentTextColor","specialFill","specialStroke","ruleNameColor","showMarkers","markerRadius"]),v=(0,o.K)(e=>!!e&&Object.keys(e).every(e=>"railroad"===e||b.has(e)),"isRailroadStyleOptions"),z=(0,o.K)(e=>e?"railroad"in e&&e.railroad?e.railroad:v(e)?e:{}:{},"extractRailroadOverrides"),K=(0,o.K)(e=>{if(!e||v(e))return{};let{railroad:t,svgId:r,theme:i,look:a,...n}=e;return n},"extractThemeOverrides"),N=(0,o.K)((e,t)=>{if("string"!=typeof e)return t;let r=e.trim();return y.test(r)?r:t},"sanitizeColorValue"),M=(0,o.K)((e,t)=>{if("string"!=typeof e)return t;let r=e.trim();return R.test(r)?r:t},"sanitizeFontFamilyValue"),A=(0,o.K)((e,t)=>{let r="number"==typeof e?e:"string"==typeof e?Number.parseFloat(e):NaN;return Number.isFinite(r)&&r>=0?r:t},"sanitizeNumberValue"),D=(0,o.K)(e=>{let t="number"==typeof e?e:"string"==typeof e?Number.parseFloat(e):NaN;return Number.isFinite(t)&&t>0?t:void 0},"parseThemeFontSize"),E=(0,o.K)(e=>{let t=M(e.fontFamily,F.fontFamily),r=D(e.fontSize)??F.fontSize;return{...F,fontFamily:t,fontSize:r,terminalFill:N(e.secondBkg??e.secondaryColor,F.terminalFill),terminalStroke:N(e.secondaryBorderColor??e.lineColor,F.terminalStroke),terminalTextColor:N(e.secondaryTextColor??e.textColor,F.terminalTextColor),nonTerminalFill:N(e.mainBkg??e.background,F.nonTerminalFill),nonTerminalStroke:N(e.primaryBorderColor??e.lineColor,F.nonTerminalStroke),nonTerminalTextColor:N(e.primaryTextColor??e.textColor,F.nonTerminalTextColor),lineColor:N(e.lineColor,F.lineColor),markerFill:N(e.lineColor,F.markerFill),commentFill:N(e.labelBackground??e.tertiaryColor,F.commentFill),commentStroke:N(e.tertiaryBorderColor??e.lineColor,F.commentStroke),commentTextColor:N(e.tertiaryTextColor??e.textColor,F.commentTextColor),specialFill:N(e.tertiaryColor??e.secondaryColor,F.specialFill),specialStroke:N(e.tertiaryBorderColor??e.secondaryBorderColor,F.specialStroke),ruleNameColor:N(e.titleColor??e.textColor,F.ruleNameColor)}},"buildThemeDefaults"),B=(0,o.K)(e=>{let t=(0,a.zj)(),r=E({...(0,a.P$)(),...t.themeVariables??{},...K(e)}),i={...t.railroad??{},...z(e)};return{compactMode:i.compactMode??r.compactMode,padding:A(i.padding,r.padding),verticalSeparation:A(i.verticalSeparation,r.verticalSeparation),horizontalSeparation:A(i.horizontalSeparation,r.horizontalSeparation),arcRadius:A(i.arcRadius,r.arcRadius),fontSize:A(i.fontSize,r.fontSize),fontFamily:M(i.fontFamily,r.fontFamily),terminalFill:N(i.terminalFill,r.terminalFill),terminalStroke:N(i.terminalStroke,r.terminalStroke),terminalTextColor:N(i.terminalTextColor,r.terminalTextColor),nonTerminalFill:N(i.nonTerminalFill,r.nonTerminalFill),nonTerminalStroke:N(i.nonTerminalStroke,r.nonTerminalStroke),nonTerminalTextColor:N(i.nonTerminalTextColor,r.nonTerminalTextColor),lineColor:N(i.lineColor,r.lineColor),strokeWidth:A(i.strokeWidth,r.strokeWidth),markerFill:N(i.markerFill,r.markerFill),commentFill:N(i.commentFill,r.commentFill),commentStroke:N(i.commentStroke,r.commentStroke),commentTextColor:N(i.commentTextColor,r.commentTextColor),specialFill:N(i.specialFill,r.specialFill),specialStroke:N(i.specialStroke,r.specialStroke),ruleNameColor:N(i.ruleNameColor,r.ruleNameColor),showMarkers:i.showMarkers??r.showMarkers,markerRadius:A(i.markerRadius,r.markerRadius)}},"buildRailroadStyleOptions"),O=(0,o.K)(e=>{let{fontFamily:t,fontSize:r,terminalFill:i,terminalStroke:a,terminalTextColor:n,nonTerminalFill:o,nonTerminalStroke:l,nonTerminalTextColor:s,lineColor:d,strokeWidth:m,markerFill:c,commentFill:h,commentStroke:p,commentTextColor:u,specialFill:g,specialStroke:T,ruleNameColor:f}=B(e);return`
|
|
2
|
+
.railroad-diagram {
|
|
3
|
+
font-family: ${t};
|
|
4
|
+
font-size: ${r}px;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.railroad-terminal rect {
|
|
8
|
+
fill: ${i};
|
|
9
|
+
stroke: ${a};
|
|
10
|
+
stroke-width: ${m}px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.railroad-terminal text {
|
|
14
|
+
fill: ${n};
|
|
15
|
+
font-family: ${t};
|
|
16
|
+
font-size: ${r}px;
|
|
17
|
+
text-anchor: middle;
|
|
18
|
+
dominant-baseline: middle;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.railroad-nonterminal rect {
|
|
22
|
+
fill: ${o};
|
|
23
|
+
stroke: ${l};
|
|
24
|
+
stroke-width: ${m}px;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.railroad-nonterminal text {
|
|
28
|
+
fill: ${s};
|
|
29
|
+
font-family: ${t};
|
|
30
|
+
font-size: ${r}px;
|
|
31
|
+
text-anchor: middle;
|
|
32
|
+
dominant-baseline: middle;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.railroad-line {
|
|
36
|
+
stroke: ${d};
|
|
37
|
+
stroke-width: ${m}px;
|
|
38
|
+
fill: none;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.railroad-start circle,
|
|
42
|
+
.railroad-end circle {
|
|
43
|
+
fill: ${c};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
.railroad-comment ellipse {
|
|
47
|
+
fill: ${h};
|
|
48
|
+
stroke: ${p};
|
|
49
|
+
stroke-width: ${m}px;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.railroad-comment text {
|
|
53
|
+
fill: ${u};
|
|
54
|
+
font-style: italic;
|
|
55
|
+
font-family: ${t};
|
|
56
|
+
font-size: ${r}px;
|
|
57
|
+
text-anchor: middle;
|
|
58
|
+
dominant-baseline: middle;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.railroad-special rect {
|
|
62
|
+
fill: ${g};
|
|
63
|
+
stroke: ${T};
|
|
64
|
+
stroke-width: ${m}px;
|
|
65
|
+
stroke-dasharray: 5,3;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.railroad-special text {
|
|
69
|
+
fill: ${s};
|
|
70
|
+
font-family: ${t};
|
|
71
|
+
font-size: ${r}px;
|
|
72
|
+
text-anchor: middle;
|
|
73
|
+
dominant-baseline: middle;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
.railroad-rule-name {
|
|
77
|
+
font-weight: bold;
|
|
78
|
+
fill: ${f};
|
|
79
|
+
font-family: ${t};
|
|
80
|
+
font-size: ${r}px;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
.railroad-group {
|
|
84
|
+
/* Grouping container, no specific styles */
|
|
85
|
+
}
|
|
86
|
+
`},"getStyles"),W=class{constructor(){this.d=""}static{(0,o.K)(this,"PathBuilder")}moveTo(e,t){return this.d+=`M ${e} ${t} `,this}lineTo(e,t){return this.d+=`L ${e} ${t} `,this}horizontalTo(e){return this.d+=`H ${e} `,this}verticalTo(e){return this.d+=`V ${e} `,this}arcTo(e,t,r,i,a,n,o){return this.d+=`A ${e} ${t} ${r} ${+!!i} ${+!!a} ${n} ${o} `,this}build(){return this.d.trim()}},q=class{constructor(e,t=B()){this.textCache=new Map,this.svg=e,this.config=t}static{(0,o.K)(this,"RailroadRenderer")}measureText(e){if(this.textCache.has(e))return this.textCache.get(e);let t=this.svg.append("text").attr("font-family",this.config.fontFamily).attr("font-size",this.config.fontSize).text(e),r=t.node().getBBox(),i={width:r.width,height:r.height};return t.remove(),this.textCache.set(e,i),i}renderTerminal(e,t){let r=this.measureText(t),i=r.width+2*this.config.padding,a=r.height+2*this.config.padding,n=e.append("g").attr("class","railroad-terminal");return n.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a).attr("rx",10).attr("ry",10),n.append("text").attr("x",i/2).attr("y",a/2).text(t),{element:n.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderNonTerminal(e,t){let r=this.measureText(t),i=r.width+2*this.config.padding,a=r.height+2*this.config.padding,n=e.append("g").attr("class","railroad-nonterminal");return n.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a),n.append("text").attr("x",i/2).attr("y",a/2).text(t),{element:n.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderSequence(e,t){let r=t.map(t=>this.renderExpression(e,t)),i=0,a=0,n=0;for(let e of r)i+=e.dimensions.width,a=Math.max(a,e.dimensions.up),n=Math.max(n,e.dimensions.down);i+=(r.length-1)*this.config.horizontalSeparation;let o=e.append("g").attr("class","railroad-sequence"),l=0;for(let e=0;e<r.length;e++){let t=r[e],i=a-t.dimensions.up;if(o.node().appendChild(t.element).setAttribute("transform",`translate(${l}, ${i})`),e<r.length-1){let e=l+t.dimensions.width,r=e+this.config.horizontalSeparation,i=a;o.append("path").attr("class","railroad-line").attr("d",new W().moveTo(e,i).lineTo(r,i).build())}l+=t.dimensions.width+this.config.horizontalSeparation}return{element:o.node(),dimensions:{width:i,height:a+n,up:a,down:n}}}renderChoice(e,t){let r=t.map(t=>this.renderExpression(e,t)),i=0,a=0;for(let e of r)i=Math.max(i,e.dimensions.width),a+=e.dimensions.height;a+=(r.length-1)*this.config.verticalSeparation;let n=this.config.arcRadius,o=i+4*n,l=e.append("g").attr("class","railroad-choice"),s=0,d=a/2;for(let e of r){let t=s,r=t+e.dimensions.up,a=2*n+(i-e.dimensions.width)/2;l.node().appendChild(e.element).setAttribute("transform",`translate(${a}, ${t})`);let m=new W,c=r>d;r===d?m.moveTo(0,d).lineTo(a,r):m.moveTo(0,d).arcTo(n,n,0,!1,c,n,d+(c?n:-n)).lineTo(n,r-(c?n:-n)).arcTo(n,n,0,!1,!c,2*n,r).lineTo(a,r),l.append("path").attr("class","railroad-line").attr("d",m.build());let h=new W,p=a+e.dimensions.width,u=o-2*n;r===d?h.moveTo(p,r).lineTo(o,d):h.moveTo(p,r).lineTo(u,r).arcTo(n,n,0,!1,!c,o-n,r+(c?-n:n)).lineTo(o-n,d+(c?n:-n)).arcTo(n,n,0,!1,c,o,d),l.append("path").attr("class","railroad-line").attr("d",h.build()),s+=e.dimensions.height+this.config.verticalSeparation}return{element:l.node(),dimensions:{width:o,height:a,up:d,down:a-d}}}renderOptional(e,t){let r=this.renderExpression(e,t),i=this.config.arcRadius,a=2*i,n=r.dimensions.width+4*i,o=r.dimensions.height+a,l=e.append("g").attr("class","railroad-optional"),s=2*i;l.node().appendChild(r.element).setAttribute("transform",`translate(${s}, ${a})`);let d=a+r.dimensions.up,m=new W().moveTo(0,d).lineTo(2*i,d);l.append("path").attr("class","railroad-line").attr("d",m.build());let c=new W().moveTo(s+r.dimensions.width,d).lineTo(n,d);l.append("path").attr("class","railroad-line").attr("d",c.build());let h=new W().moveTo(0,d).arcTo(i,i,0,!1,!1,i,d-i).lineTo(i,i).arcTo(i,i,0,!1,!0,2*i,0).lineTo(n-2*i,0).arcTo(i,i,0,!1,!0,n-i,i).lineTo(n-i,d-i).arcTo(i,i,0,!1,!1,n,d);return l.append("path").attr("class","railroad-line").attr("d",h.build()),{element:l.node(),dimensions:{width:n,height:o,up:d,down:o-d}}}renderRepetition(e,t,r){let i=this.renderExpression(e,t),a=this.config.arcRadius,n=2*a,o=i.dimensions.width+4*a,l=0===r,s=i.dimensions.height+n+(l?n:0),d=e.append("g").attr("class","railroad-repetition"),m=2*a,c=l?n:0;d.node().appendChild(i.element).setAttribute("transform",`translate(${m}, ${c})`);let h=c+i.dimensions.up;d.append("path").attr("class","railroad-line").attr("d",new W().moveTo(0,h).lineTo(2*a,h).build()),d.append("path").attr("class","railroad-line").attr("d",new W().moveTo(m+i.dimensions.width,h).lineTo(o,h).build());let p=c+i.dimensions.height+a,u=new W().moveTo(m+i.dimensions.width,h).arcTo(a,a,0,!1,!0,m+i.dimensions.width+a,h+a).lineTo(m+i.dimensions.width+a,p).arcTo(a,a,0,!1,!0,m+i.dimensions.width,p+a).lineTo(2*a,p+a).arcTo(a,a,0,!1,!0,a,p).lineTo(a,h+a).arcTo(a,a,0,!1,!0,2*a,h);if(d.append("path").attr("class","railroad-line").attr("d",u.build()),l){let e=new W().moveTo(0,h).arcTo(a,a,0,!1,!1,a,h-a).lineTo(a,a).arcTo(a,a,0,!1,!0,2*a,0).lineTo(o-2*a,0).arcTo(a,a,0,!1,!0,o-a,a).lineTo(o-a,h-a).arcTo(a,a,0,!1,!1,o,h);d.append("path").attr("class","railroad-line").attr("d",e.build())}return{element:d.node(),dimensions:{width:o,height:s,up:h,down:s-h}}}renderSpecial(e,t){let r=this.measureText("? "+t+" ?"),i=r.width+2*this.config.padding,a=r.height+2*this.config.padding,n=e.append("g").attr("class","railroad-special");return n.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",a),n.append("text").attr("x",i/2).attr("y",a/2).text("? "+t+" ?"),{element:n.node(),dimensions:{width:i,height:a,up:a/2,down:a/2}}}renderExpression(e,t){switch(t.type){case"terminal":return this.renderTerminal(e,t.value);case"nonterminal":return this.renderNonTerminal(e,t.name);case"sequence":return this.renderSequence(e,t.elements);case"choice":return this.renderChoice(e,t.alternatives);case"optional":return this.renderOptional(e,t.element);case"repetition":return this.renderRepetition(e,t.element,t.min);case"special":return this.renderSpecial(e,t.text);default:throw Error(`Unknown node type: ${t.type}`)}}renderRule(e,t){let r=this.svg.append("g").attr("class","railroad-rule").attr("transform",`translate(0, ${t})`),i=e.name+" =",a=this.measureText(i).width+20,n=a+20,o=r.append("g"),l=this.renderExpression(o,e.definition),s=Math.max(20,l.dimensions.up),d=s-l.dimensions.up;return o.attr("transform",`translate(${n}, ${d})`),r.append("g").attr("class","railroad-rule-name-group").append("text").attr("class","railroad-rule-name").attr("x",0).attr("y",s).text(i),r.append("g").attr("class","railroad-start").append("circle").attr("cx",a).attr("cy",s).attr("r",this.config.markerRadius),r.append("g").attr("class","railroad-end").append("circle").attr("cx",n+l.dimensions.width+10).attr("cy",s).attr("r",this.config.markerRadius),r.append("path").attr("class","railroad-line").attr("d",new W().moveTo(a+this.config.markerRadius,s).lineTo(n,s).build()),r.append("path").attr("class","railroad-line").attr("d",new W().moveTo(n+l.dimensions.width,s).lineTo(n+l.dimensions.width+10-this.config.markerRadius,s).build()),{height:Math.max(40,d+l.dimensions.height+2*this.config.padding),width:n+l.dimensions.width+10+this.config.markerRadius}}renderDiagram(e){let t=this.config.padding,r=0;for(let i of e){let e=this.renderRule(i,t);t+=e.height+this.config.verticalSeparation,r=Math.max(r,e.width)}return{width:r+2*this.config.padding,height:t+this.config.padding}}},V=(0,o.K)((e,t,r)=>{(0,a.a$)(e,t.height,t.width,r),e.attr("viewBox",`0 0 ${t.width} ${t.height}`)},"configureRailroadSvgSize"),j={draw:(0,o.K)((e,t,r)=>{n.R.debug("[Railroad] Rendering diagram\n"+e);try{let e=(0,i.D)(t);e.attr("class","railroad-diagram");let r=(0,a.zj)().railroad,o=r?.useMaxWidth??!0,l=S.getRules();if(n.R.debug(`[Railroad] Rendering ${l.length} rules`),0===l.length){n.R.warn("[Railroad] No rules to render"),V(e,{height:100,width:200},o);return}let s=new q(e,B()).renderDiagram(l);V(e,s,o),n.R.debug("[Railroad] Render complete")}catch(e){throw n.R.error("[Railroad] Render error:",e),e}},"draw")}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6968],{26968:(e,r,a)=>{a.d(r,{diagram:()=>m});var t=a(86279),l=a(80650);a(9797),a(31775);var n=a(56037),i=a(89851),s=a(88863),p=(0,s.lz)().Railroad.parser.LangiumParser,o=(0,i.K)(e=>{switch(e.$type){case"RailroadTerminalExpr":return{type:"terminal",value:e.value};case"RailroadNonTerminalExpr":return{type:"nonterminal",name:e.name};case"RailroadSpecialExpr":return{type:"special",text:e.text};case"RailroadSequenceExpr":{let r=e.elements.map(o);return 1===r.length?r[0]:{type:"sequence",elements:r}}case"RailroadChoiceExpr":{let r=e.alternatives.map(o);return 1===r.length?r[0]:{type:"choice",alternatives:r}}case"RailroadOptionalExpr":return{type:"optional",element:o(e.element)};case"RailroadOneOrMoreExpr":return{type:"repetition",element:o(e.element),min:1,max:1/0};case"RailroadZeroOrMoreExpr":return{type:"repetition",element:o(e.element),min:0,max:1/0};default:throw Error(`Unsupported railroad expression: ${e.$type}`)}},"transformExpression"),d=(0,i.K)(e=>({name:e.name,definition:o(e.definition)}),"transformRule"),u=(0,i.K)(e=>{(0,l.S)(e,t.db),e.title&&t.db.setTitle(e.title),e.rules.map(e=>t.db.addRule(d(e)))},"populateDb"),m={parser:{parse:(0,i.K)(e=>{t.db.clear(),n.R.debug("[Railroad Parser] Starting Langium parse");let r=p.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new s.zg(r);let a=r.value;n.R.debug("[Railroad Parser] Parsed rules:",a.rules.length),u(a),n.R.debug("[Railroad Parser] Parse complete")},"parse"),parser:{yy:t.db}},db:t.db,renderer:t.U,styles:t.$}}}]);
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7113],{47113:(e,t,r)=>{r.d(t,{diagram:()=>l});var s=r(83022);r(71662),r(16443),r(16640),r(27041),r(41185),r(30790),r(33604),r(78706),r(6741),r(60703),r(10969),r(69123),r(2401),r(52691),r(31775),r(56037);var a=(0,r(89851).K)(e=>`${(0,s.tM)(e)}
|
|
2
|
+
.swimlane.cluster rect {
|
|
3
|
+
stroke: ${e.clusterBorder} !important;
|
|
4
|
+
}
|
|
5
|
+
[data-look="neo"].cluster rect {
|
|
6
|
+
filter: none;
|
|
7
|
+
}
|
|
8
|
+
`,"getStyles"),l=(0,s.ur)({defaultLayout:"swimlane",styles:a})}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7236],{57236:(e,r,t)=>{t.d(r,{diagram:()=>g});var a=t(86279),n=t(80650);t(9797),t(31775);var s=t(56037),l=t(89851),p=t(88863),i=(0,p.Pz)().RailroadPeg.parser.LangiumParser,o=(0,l.K)(e=>{let r=e.alternatives.map(u);return 1===r.length?r[0]:{type:"choice",alternatives:r}},"transformOrderedChoice"),u=(0,l.K)(e=>{let r=e.elements.map(m);return 1===r.length?r[0]:{type:"sequence",elements:r}},"transformSequence"),m=(0,l.K)(e=>{let r=c(e.suffix);return e.operator?{type:"special",text:"&"===e.operator?`&${d(r)}`:`!${d(r)}`}:r},"transformPrefix"),d=(0,l.K)(e=>{switch(e.type){case"terminal":return`"${e.value}"`;case"nonterminal":return e.name;case"special":return e.text;default:return"(...)"}},"nodeToLabel"),c=(0,l.K)(e=>{let r=f(e.primary);if(!e.operator)return r;switch(e.operator){case"?":return{type:"optional",element:r};case"*":return{type:"repetition",element:r,min:0,max:1/0};case"+":return{type:"repetition",element:r,min:1,max:1/0};default:throw Error(`Unsupported PEG suffix operator: ${e.operator}`)}},"transformSuffix"),f=(0,l.K)(e=>{switch(e.$type){case"PegLiteral":return{type:"terminal",value:e.value};case"PegIdentifier":return{type:"nonterminal",name:e.name};case"PegGroup":return o(e.element);case"PegAny":return{type:"special",text:e.dot};default:throw Error(`Unsupported PEG primary node: ${e.$type}`)}},"transformPrimary"),y=(0,l.K)(e=>({name:e.name,definition:o(e.definition)}),"transformRule"),P=(0,l.K)(e=>{(0,n.S)(e,a.db),e.title&&a.db.setTitle(e.title),e.rules.map(e=>a.db.addRule(y(e)))},"populateDb"),g={parser:{parse:(0,l.K)(e=>{a.db.clear(),s.R.debug("[PEG Parser] Starting Langium parse");let r=i.parse(e);if(r.lexerErrors.length>0||r.parserErrors.length>0)throw new p.zg(r);let t=r.value;s.R.debug("[PEG Parser] Parsed rules:",t.rules.length),P(t),s.R.debug("[PEG Parser] Parse complete")},"parse"),parser:{yy:a.db}},db:a.db,renderer:a.U,styles:a.$}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7390],{67390:(t,e,a)=>{a.d(e,{diagram:()=>R});var i,r=a(98378);a(16443),a(16640),a(41185),a(30790),a(33604),a(78706),a(6741),a(60703),a(10969),a(69123),a(2401);var d=a(52691),n=a(31775),s=a(56037),o=a(89851),g=a(33948),p=a(52768),l=a(92821),h=(0,o.K)(t=>t.append("circle").attr("class","start-state").attr("r",(0,n.D7)().state.sizeUnit).attr("cx",(0,n.D7)().state.padding+(0,n.D7)().state.sizeUnit).attr("cy",(0,n.D7)().state.padding+(0,n.D7)().state.sizeUnit),"drawStartState"),c=(0,o.K)(t=>t.append("line").style("stroke","grey").style("stroke-dasharray","3").attr("x1",(0,n.D7)().state.textHeight).attr("class","divider").attr("x2",2*(0,n.D7)().state.textHeight).attr("y1",0).attr("y2",0),"drawDivider"),x=(0,o.K)((t,e)=>{let a=t.append("text").attr("x",2*(0,n.D7)().state.padding).attr("y",(0,n.D7)().state.textHeight+2*(0,n.D7)().state.padding).attr("font-size",(0,n.D7)().state.fontSize).attr("class","state-title").text(e.id),i=a.node().getBBox();return t.insert("rect",":first-child").attr("x",(0,n.D7)().state.padding).attr("y",(0,n.D7)().state.padding).attr("width",i.width+2*(0,n.D7)().state.padding).attr("height",i.height+2*(0,n.D7)().state.padding).attr("rx",(0,n.D7)().state.radius),a},"drawSimpleState"),D=(0,o.K)((t,e)=>{let a=(0,o.K)(function(t,e,a){let i=t.append("tspan").attr("x",2*(0,n.D7)().state.padding).text(e);a||i.attr("dy",(0,n.D7)().state.textHeight)},"addTspan"),i=t.append("text").attr("x",2*(0,n.D7)().state.padding).attr("y",(0,n.D7)().state.textHeight+1.3*(0,n.D7)().state.padding).attr("font-size",(0,n.D7)().state.fontSize).attr("class","state-title").text(e.descriptions[0]).node().getBBox(),r=i.height,d=t.append("text").attr("x",(0,n.D7)().state.padding).attr("y",r+.4*(0,n.D7)().state.padding+(0,n.D7)().state.dividerMargin+(0,n.D7)().state.textHeight).attr("class","state-description"),s=!0,g=!0;e.descriptions.forEach(function(t){s||(a(d,t,g),g=!1),s=!1});let p=t.append("line").attr("x1",(0,n.D7)().state.padding).attr("y1",(0,n.D7)().state.padding+r+(0,n.D7)().state.dividerMargin/2).attr("y2",(0,n.D7)().state.padding+r+(0,n.D7)().state.dividerMargin/2).attr("class","descr-divider"),l=d.node().getBBox(),h=Math.max(l.width,i.width);return p.attr("x2",h+3*(0,n.D7)().state.padding),t.insert("rect",":first-child").attr("x",(0,n.D7)().state.padding).attr("y",(0,n.D7)().state.padding).attr("width",h+2*(0,n.D7)().state.padding).attr("height",l.height+r+2*(0,n.D7)().state.padding).attr("rx",(0,n.D7)().state.radius),t},"drawDescrState"),u=(0,o.K)((t,e,a)=>{let i,r=(0,n.D7)().state.padding,d=2*(0,n.D7)().state.padding,s=t.node().getBBox(),o=s.width,g=s.x,p=t.append("text").attr("x",0).attr("y",(0,n.D7)().state.titleShift).attr("font-size",(0,n.D7)().state.fontSize).attr("class","state-title").text(e.id),l=p.node().getBBox().width+d,h=Math.max(l,o);h===o&&(h+=d);let c=t.node().getBBox();e.doc,i=g-r,l>o&&(i=(o-h)/2+r),Math.abs(g-c.x)<r&&l>o&&(i=g-(l-o)/2);let x=1-(0,n.D7)().state.textHeight;return t.insert("rect",":first-child").attr("x",i).attr("y",x).attr("class",a?"alt-composit":"composit").attr("width",h).attr("height",c.height+(0,n.D7)().state.textHeight+(0,n.D7)().state.titleShift+1).attr("rx","0"),p.attr("x",i+r),l<=o&&p.attr("x",g+(h-d)/2-l/2+r),t.insert("rect",":first-child").attr("x",i).attr("y",(0,n.D7)().state.titleShift-(0,n.D7)().state.textHeight-(0,n.D7)().state.padding).attr("width",h).attr("height",3*(0,n.D7)().state.textHeight).attr("rx",(0,n.D7)().state.radius),t.insert("rect",":first-child").attr("x",i).attr("y",(0,n.D7)().state.titleShift-(0,n.D7)().state.textHeight-(0,n.D7)().state.padding).attr("width",h).attr("height",c.height+3+2*(0,n.D7)().state.textHeight).attr("rx",(0,n.D7)().state.radius),t},"addTitleAndBox"),f=(0,o.K)(t=>(t.append("circle").attr("class","end-state-outer").attr("r",(0,n.D7)().state.sizeUnit+(0,n.D7)().state.miniPadding).attr("cx",(0,n.D7)().state.padding+(0,n.D7)().state.sizeUnit+(0,n.D7)().state.miniPadding).attr("cy",(0,n.D7)().state.padding+(0,n.D7)().state.sizeUnit+(0,n.D7)().state.miniPadding),t.append("circle").attr("class","end-state-inner").attr("r",(0,n.D7)().state.sizeUnit).attr("cx",(0,n.D7)().state.padding+(0,n.D7)().state.sizeUnit+2).attr("cy",(0,n.D7)().state.padding+(0,n.D7)().state.sizeUnit+2)),"drawEndState"),y=(0,o.K)((t,e)=>{let a=(0,n.D7)().state.forkWidth,i=(0,n.D7)().state.forkHeight;if(e.parentId){let t=a;a=i,i=t}return t.append("rect").style("stroke","black").style("fill","black").attr("width",a).attr("height",i).attr("x",(0,n.D7)().state.padding).attr("y",(0,n.D7)().state.padding)},"drawForkJoinState"),w=(0,o.K)((t,e,a,i)=>{let r=0,d=i.append("text");d.style("text-anchor","start"),d.attr("class","noteText");let s=t.replace(/\r\n/g,"<br/>"),o=(s=s.replace(/\n/g,"<br/>")).split(n.Y2.lineBreakRegex),g=1.25*(0,n.D7)().state.noteMargin;for(let t of o){let i=t.trim();if(i.length>0){let t=d.append("tspan");t.text(i),0===g&&(g+=t.node().getBBox().height),r+=g,t.attr("x",e+(0,n.D7)().state.noteMargin),t.attr("y",a+r+1.25*(0,n.D7)().state.noteMargin)}}return{textWidth:d.node().getBBox().width,textHeight:r}},"_drawLongText"),b=(0,o.K)((t,e)=>{e.attr("class","state-note");let a=e.append("rect").attr("x",0).attr("y",(0,n.D7)().state.padding),{textWidth:i,textHeight:r}=w(t,0,0,e.append("g"));return a.attr("height",r+2*(0,n.D7)().state.noteMargin),a.attr("width",i+2*(0,n.D7)().state.noteMargin),a},"drawNote"),B=(0,o.K)(function(t,e){let a=e.id,i={id:a,label:e.id,width:0,height:0},r=t.append("g").attr("id",a).attr("class","stateGroup");"start"===e.type&&h(r),"end"===e.type&&f(r),("fork"===e.type||"join"===e.type)&&y(r,e),"note"===e.type&&b(e.note.text,r),"divider"===e.type&&c(r),"default"===e.type&&0===e.descriptions.length&&x(r,e),"default"===e.type&&e.descriptions.length>0&&D(r,e);let d=r.node().getBBox();return i.width=d.width+2*(0,n.D7)().state.padding,i.height=d.height+2*(0,n.D7)().state.padding,i},"drawState"),m=0,k=(0,o.K)(function(t,e,a){let i=(0,o.K)(function(t){switch(t){case r.u4.relationType.AGGREGATION:return"aggregation";case r.u4.relationType.EXTENSION:return"extension";case r.u4.relationType.COMPOSITION:return"composition";case r.u4.relationType.DEPENDENCY:return"dependency"}},"getRelationType");e.points=e.points.filter(t=>!Number.isNaN(t.y));let p=e.points,l=(0,g.n8j)().x(function(t){return t.x}).y(function(t){return t.y}).curve(g.qrM),h=t.append("path").attr("d",l(p)).attr("id","edge"+m).attr("class","transition"),c="";if((0,n.D7)().state.arrowMarkerAbsolute&&(c=(0,n.ID)(!0)),h.attr("marker-end","url("+c+"#"+i(r.u4.relationType.DEPENDENCY)+"End)"),void 0!==a.title){let i=t.append("g").attr("class","stateLabel"),{x:r,y:o}=d._K.calcLabelPosition(e.points),g=n.Y2.getRows(a.title),p=0,l=[],h=0,c=0;for(let t=0;t<=g.length;t++){let e=i.append("text").attr("text-anchor","middle").text(g[t]).attr("x",r).attr("y",o+p),a=e.node().getBBox();h=Math.max(h,a.width),c=Math.min(c,a.x),s.R.info(a.x,r,o+p),0===p&&(p=e.node().getBBox().height,s.R.info("Title height",p,o)),l.push(e)}let x=p*g.length;if(g.length>1){let t=(g.length-1)*p*.5;l.forEach((e,a)=>e.attr("y",o+a*p-t)),x=p*g.length}let D=i.node().getBBox();i.insert("rect",":first-child").attr("class","box").attr("x",r-h/2-(0,n.D7)().state.padding/2).attr("y",o-x/2-(0,n.D7)().state.padding/2-3.5).attr("width",h+(0,n.D7)().state.padding).attr("height",x+(0,n.D7)().state.padding),s.R.info(D)}m++},"drawEdge"),N={},E=(0,o.K)(function(){},"setConf"),S=(0,o.K)(function(t){t.append("defs").append("marker").attr("id","dependencyEnd").attr("refX",19).attr("refY",7).attr("markerWidth",20).attr("markerHeight",28).attr("orient","auto").append("path").attr("d","M 19,7 L9,13 L14,7 L9,1 Z")},"insertMarkers"),M=(0,o.K)(function(t,e,a,r){let d;i=(0,n.D7)().state;let o=(0,n.D7)().securityLevel;"sandbox"===o&&(d=(0,g.Ltv)("#i"+e));let p="sandbox"===o?(0,g.Ltv)(d.nodes()[0].contentDocument.body):(0,g.Ltv)("body"),l="sandbox"===o?d.nodes()[0].contentDocument:document;s.R.debug("Rendering diagram "+t);let h=p.select(`[id='${e}']`);S(h),K(r.db.getRootDoc(),h.append("g").attr("id",e+"-root"),void 0,!1,p,l,r);let c=i.padding,x=h.node().getBBox(),D=x.width+2*c,u=x.height+2*c;(0,n.a$)(h,u,1.75*D,i.useMaxWidth),h.attr("viewBox",`${x.x-i.padding} ${x.y-i.padding} `+D+" "+u)},"draw"),v=(0,o.K)(t=>t?t.length*i.fontSizeFactor:1,"getLabelWidth"),K=(0,o.K)((t,e,a,r,d,o,g)=>{let h,c=new l.T({compound:!0,multigraph:!0}),x=!0;for(h=0;h<t.length;h++)if("relation"===t[h].stmt){x=!1;break}a?c.setGraph({rankdir:"LR",multigraph:!0,compound:!0,ranker:"tight-tree",ranksep:x?1:i.edgeLengthFactor,nodeSep:x?1:50,isMultiGraph:!0}):c.setGraph({rankdir:"TB",multigraph:!0,compound:!0,ranksep:x?1:i.edgeLengthFactor,nodeSep:x?1:50,ranker:"tight-tree",isMultiGraph:!0}),c.setDefaultEdgeLabel(function(){return{}});let D=g.db.getStates(),f=g.db.getRelations();for(let t of Object.keys(D)){let n,s=D[t];if(a&&(s.parentId=a),s.doc){let t=e.append("g").attr("id",s.id).attr("class","stateGroup");n=K(s.doc,t,s.id,!r,d,o,g);{let e=(t=u(t,s,r)).node().getBBox();n.width=e.width,n.height=e.height+i.padding/2,N[s.id]={y:i.compositTitleSize}}}else n=B(e,s,c);if(s.note){let t=B(e,{descriptions:[],id:s.id+"-note",note:s.note,type:"note"},c);"left of"===s.note.position?(c.setNode(n.id+"-note",t),c.setNode(n.id,n)):(c.setNode(n.id,n),c.setNode(n.id+"-note",t)),c.setParent(n.id,n.id+"-group"),c.setParent(n.id+"-note",n.id+"-group")}else c.setNode(n.id,n)}s.R.debug("Count=",c.nodeCount(),c);let y=0;f.forEach(function(t){y++,s.R.debug("Setting edge",t),c.setEdge(t.id1,t.id2,{relation:t,width:v(t.title),height:i.labelHeight*n.Y2.getRows(t.title).length,labelpos:"c"},"id"+y)}),(0,p.Zp)(c),s.R.debug("Graph after layout",c.nodes());let w=e.node();c.nodes().forEach(function(t){void 0!==t&&void 0!==c.node(t)?(s.R.warn("Node "+t+": "+JSON.stringify(c.node(t))),d.select("#"+w.id+" #"+t).attr("transform","translate("+(c.node(t).x-c.node(t).width/2)+","+(c.node(t).y+(N[t]?N[t].y:0)-c.node(t).height/2)+" )"),d.select("#"+w.id+" #"+t).attr("data-x-shift",c.node(t).x-c.node(t).width/2),o.querySelectorAll("#"+w.id+" #"+t+" .divider").forEach(t=>{let e=t.parentElement,a=0,i=0;e&&(e.parentElement&&(a=e.parentElement.getBBox().width),Number.isNaN(i=parseInt(e.getAttribute("data-x-shift"),10))&&(i=0)),t.setAttribute("x1",0-i+8),t.setAttribute("x2",a-i-8)})):s.R.debug("No Node "+t+": "+JSON.stringify(c.node(t)))});let b=w.getBBox();c.edges().forEach(function(t){void 0!==t&&void 0!==c.edge(t)&&(s.R.debug("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(c.edge(t))),k(e,c.edge(t),c.edge(t).relation))});let m={id:a||"root",label:a||"root",width:0,height:0};return m.width=(b=w.getBBox()).width+2*i.padding,m.height=b.height+2*i.padding,s.R.debug("Doc rendered",m,c),m},"renderDoc"),R={parser:r.Zk,get db(){return new r.u4(1)},renderer:{setConf:E,draw:M},styles:r.tM,init:(0,o.K)(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7806],{57806:(e,t,i)=>{i.d(t,{diagram:()=>en});var n=i(80650),a=i(52691),r=i(31775),o=i(56037),l=i(89851),d=i(88863),s=i(33948),m="position frame",c="frame positioned",x="position relation",u="relation positioned",f=(0,l.K)(function(e){o.R.debug("options str",e)},"setOptions"),g=(0,l.K)(function(){return{}},"getOptions"),h=(0,l.K)(function(){b(),(0,r.IU)()},"clear");function b(){v={}}(0,l.K)(b,"reset");var p=r.UI.eventmodeling,w=(0,l.K)(()=>(0,a.$t)({...p,...(0,r.zj)().eventmodeling}),"getConfig"),v={};function y(){let e=K,{ast:t}=v,i=M();if(!t)throw Error("No data for EventModel");return t.frames.forEach((n,a)=>{let r=A(n,t.dataEntities,i);e=L(e,{$kind:m,index:a,frame:n,textProps:r}),O(n)?(o.R.debug("source frame",n.sourceFrames),t.frames.filter(e=>n.sourceFrames.some(t=>t.$refText===e.name)).forEach(t=>{e=L(e,{$kind:x,index:a,frame:n,sourceFrame:t})})):e=L(e,{$kind:x,index:a,frame:n})}),e={...e,sortedSwimlanesArray:H(e.swimlanes)}}function k(e){v.ast=e}(0,l.K)(y,"getState"),(0,l.K)(k,"setAst");var P={swimlaneMinHeight:70,swimlanePadding:15,swimlaneGap:10,boxPadding:10,boxOverlap:90,boxDefaultY:0,boxMinWidth:80,boxMaxWidth:450,boxMinHeight:80,boxMaxHeight:750,contentStartX:250,textMaxWidth:430,boxTextFontWeight:"bold",boxTextPadding:10,swimlaneTextFontWeight:"bold",labelUiAutomation:"UI/Automation",labelUiAutomationPrefix:"UI/A: ",labelCommandReadModel:"Command/Read Model",labelCommandReadModelPrefix:"C/RM: ",labelEvents:"Events",labelEventsPrefix:"Stream: "};function M(){return P}(0,l.K)(M,"getDiagramProps");var K={boxes:[],swimlanes:{},relations:[],maxR:0,sortedSwimlanesArray:[]};function S(e){let t=e.split(".");if(2===t.length)return t[0]}function B(e){let t=e.split(".");return 2===t.length?t[1]:e}function F(e,t){if(t&&0!==t.length)return Object.values(e).find(e=>e.namespace===t)}function R(e,t,i){return Math.max(t,...Object.keys(e).filter(e=>{let n=Number.parseInt(e);return n>t&&n<i}).map(e=>Number.parseInt(e)))+1}function E(e,t){let i=S(e.entityIdentifier),n=F(t,i);switch(e.modelEntityType){case"ui":case"pcr":case"processor":if(n)return{index:n.index,label:n.namespace||P.labelUiAutomation};if(i)return{index:R(t,0,100),label:P.labelUiAutomationPrefix+i};return{index:0,label:P.labelUiAutomation};case"rmo":case"readmodel":case"cmd":case"command":if(n)return{index:n.index,label:n.namespace||P.labelCommandReadModel};if(i)return{index:R(t,100,200),label:P.labelCommandReadModelPrefix+i};return{index:100,label:P.labelCommandReadModel};default:if(n)return{index:n.index,label:n.namespace||P.labelEvents};if(i)return{index:R(t,200,300),label:P.labelEventsPrefix+i};return{index:200,label:P.labelEvents}}}function $(e){let{themeVariables:t}=(0,r.zj)();switch(e.modelEntityType){case"ui":return{fill:t.emUiFill??"white",stroke:t.emUiStroke??"#dbdada"};case"pcr":case"processor":return{fill:t.emProcessorFill??"#edb3f6",stroke:t.emProcessorStroke??"#b88cbf"};case"rmo":case"readmodel":return{fill:t.emReadModelFill??"#d3f1a2",stroke:t.emReadModelStroke??"#a3b732"};case"cmd":case"command":return{fill:t.emCommandFill??"#bcd6fe",stroke:t.emCommandStroke??"#679ac3"};case"evt":case"event":return{fill:t.emEventFill??"#ffb778",stroke:t.emEventStroke??"#c19a0f"};default:return{fill:"red",stroke:"black"}}}function A(e,t,i){let n,l=(0,r.zj)(),d=(0,r.jZ)(B(e.entityIdentifier)??"",l),s={fontSize:16,fontWeight:700,fontFamily:'"trebuchet ms", verdana, arial, sans-serif',joinWith:"<br/>"},m=(0,a.bH)(d,i.textMaxWidth,s),c=`<b>${m}</b>`;if(e.dataInlineValue&&(n=(n=(n=e.dataInlineValue).substring(n.indexOf("{")+1)).substring(0,n.lastIndexOf("}")-1),n=(0,r.jZ)(n,l),n=(n=(0,a.bH)(n,i.textMaxWidth,s)).replaceAll(" "," ")),e.dataReference){let o=t.find(t=>t.name===e.dataReference?.$refText);o&&(n=(n=(n=o.dataBlockValue).substring(n.indexOf("{\n")+2)).substring(0,n.lastIndexOf("}")-1),n=(0,r.jZ)(n,l),n=(n=(0,a.bH)(n,i.textMaxWidth,s)).replaceAll(" "," ")+"<br/>")}let x=void 0!==n;x&&(c+=`<br/><br/><code style="text-align: left; display: block;max-width:${i.textMaxWidth}px">${n}</code>`);let u={fontSize:s.fontSize,fontWeight:s.fontWeight,fontFamily:s.fontFamily},f=(0,a.PX)(c,u),g={content:c,width:x?f.width/3:f.width,height:f.height};return o.R.debug(`[${e.name}] ${e.entityIdentifier} text`,g),g}function T(e,t){let i=$(t.frame),n={width:t.textProps.width+2*P.boxTextPadding,height:t.textProps.height+2*P.boxTextPadding};return[{$kind:c,frame:t.frame,index:t.index,visual:i,dimension:n,textProps:t.textProps}]}function W(e,t,i){return void 0===t?P.contentStartX:t.index===e.index&&e.r?e.r+P.boxPadding:void 0===i?P.contentStartX:i.r-P.boxOverlap+P.boxPadding}function D(e,t){return Math.max(...e.map(e=>e.r),t)}function H(e){return Object.values(e).sort((e,t)=>e.index-t.index)}function I(e,t){let i,n=E(t.frame,e.swimlanes);i=n.index in e.swimlanes?e.swimlanes[n.index]:{index:n.index,label:n.label,r:0,y:n.index*P.swimlaneMinHeight+P.swimlaneGap,height:P.swimlaneMinHeight,maxHeight:P.swimlaneMinHeight};let a=e.boxes.length>0?e.boxes[e.boxes.length-1]:void 0,r=void 0!==e.previousSwimlaneNumber?e.swimlanes[e.previousSwimlaneNumber]:void 0,o={width:Math.max(P.boxMinWidth,Math.min(P.boxMaxWidth,t.dimension.width))+2*P.boxPadding,height:Math.max(P.boxMinHeight,Math.min(P.boxMaxHeight,t.dimension.height))+2*P.boxPadding},l=W(i,r,a),d=l+o.width+P.boxPadding,s=D(Object.values(e.swimlanes),d);i.r=l+o.width,i.maxHeight=Math.max(i.maxHeight,o.height),i.height=Math.max(P.swimlaneMinHeight,i.maxHeight)+2*P.swimlanePadding;let m={x:l,y:P.swimlanePadding+i.y,r:d,dimension:o,leftSibling:!1,swimlane:i,visual:t.visual,text:t.textProps.content,frame:t.frame,index:t.index},c={...e,boxes:[...e.boxes,m],swimlanes:{...e.swimlanes,[`${i.index}`]:i},previousSwimlaneNumber:n.index,previousFrame:t.frame,maxR:s},x=H(c.swimlanes);x.length>0&&(x[0].y=0);for(let e=1;e<x.length;e++){let t=x[e],i=x[e-1];t.y=i.y+i.height+P.swimlaneGap}return c}function C(e,t){return 0===e&&0===t.sourceFrames.length}function O(e){return void 0!==e.sourceFrames&&null!==e.sourceFrames&&e.sourceFrames.length>0}function j(e,t){if(null!=t)return e.find(e=>e.frame.name===t.name)}function N(e,t,i){if(!(i<0))for(let n=i;n>=0;n--){let i=e[n];if(i.swimlane.index!==t)return i}}function U(e,t){let i;if((0,d.F5)(t.frame)||C(t.index,t.frame))return[];let n=j(e.boxes,t.frame);if(void 0===n)throw Error(`Target box not found for frame ${t.frame.name}`);return void 0===(i=t.sourceFrame?j(e.boxes,t.sourceFrame):N(e.boxes,n.swimlane.index,t.index-1))?[]:[{$kind:u,frame:t.frame,index:t.index,sourceBox:i,targetBox:n}]}function z(e,t){let i={visual:{fill:"none",stroke:"#000"},source:{x:t.sourceBox.x,y:t.sourceBox.y},target:{x:t.targetBox.x,y:t.targetBox.y},sourceBox:t.sourceBox,targetBox:t.targetBox};return{...e,relations:[...e.relations,i]}}(0,l.K)(S,"extractNamespace"),(0,l.K)(B,"extractName"),(0,l.K)(F,"findSwimlaneByNamespace"),(0,l.K)(R,"findNextAvailableIndex"),(0,l.K)(E,"calculateSwimlaneProps"),(0,l.K)($,"calculateEntityVisualProps"),(0,l.K)(A,"calculateTextProps"),(0,l.K)(T,"decidePositionFrame"),(0,l.K)(W,"calculateX"),(0,l.K)(D,"calculateMaxRight"),(0,l.K)(H,"sortedSwimlanesArray"),(0,l.K)(I,"evolveFramePositioned"),(0,l.K)(C,"isFirstFrame"),(0,l.K)(O,"hasSourceFrame"),(0,l.K)(j,"findBoxByFrame"),(0,l.K)(N,"findBoxByLineIndex"),(0,l.K)(U,"decidePositionRelation"),(0,l.K)(z,"evolveRelationPositioned");var X={[m]:T,[x]:U},V={[c]:I,[u]:z};function _(e,t){let i=X[t.$kind];if(null==i)return[];let n=i(e,t);return o.R.debug("decided events",n),n}function G(e,t){let i=t.reduce((e,t)=>{let i=V[t.$kind];return null==i?e:i(e,t)},e);return o.R.debug("evolve events",{state:e,newState:i,events:t}),i}function L(e,t){let i=_(e,t);return G(e,i)}(0,l.K)(_,"decide"),(0,l.K)(G,"evolve"),(0,l.K)(L,"dispatch");var Z={getConfig:w,setOptions:f,getOptions:g,clear:h,setAccTitle:r.SV,getAccTitle:r.iN,getAccDescription:r.m7,setAccDescription:r.EI,setDiagramTitle:r.ke,getDiagramTitle:r.ab,setAst:k,getDiagramProps:M,getState:y},Y={parse:(0,l.K)(async e=>{let t=await (0,d.qg)("eventmodeling",e);o.R.debug(t),Z.setAst(t),(0,n.S)(t,Z)},"parse")},q=(0,r.D7)(),J=q?.eventmodeling;function Q(e,t){return i=>{let n=i.swimlane.y+t.swimlanePadding,a=e.append("g").attr("class","em-box");a.append("rect").attr("x",i.x).attr("y",n).attr("rx","3").attr("width",i.dimension.width).attr("height",i.dimension.height).attr("stroke",i.visual.stroke).attr("fill",i.visual.fill),a.append("foreignObject").attr("x",i.x+t.boxPadding).attr("y",n+10).attr("width",i.dimension.width-2*t.boxPadding).attr("height",i.dimension.height-2*t.boxPadding).append("xhtml:div").style("display","table").style("height","100%").style("width","100%").append("span").style("display","table-cell").style("text-align","center").style("vertical-align","middle").html(i.text)}}function ee(e,t){return e>t}function et(e,t,i,n){return a=>{let r,l,d=a.sourceBox.swimlane.y+t.swimlanePadding,s=a.targetBox.swimlane.y+t.swimlanePadding,m=ee(d,s),c=a.sourceBox.x+2*a.sourceBox.dimension.width/3,x=a.targetBox.x+a.targetBox.dimension.width/3;o.R.debug(`rendering relation up=${m} for `,{sourceBox:a.sourceBox,targetBox:a.targetBox}),m?(r=d,l=s+a.targetBox.dimension.height):(r=d+a.sourceBox.dimension.height,l=s);let u=n.emRelationStroke??a.visual.stroke;e.append("path").attr("class","em-relation").attr("fill",a.visual.fill).attr("stroke",u).attr("stroke-width","1").attr("marker-end",`url(#${i})`).attr("d",`M${c} ${r} L${x} ${l}`)}}function ei(e,t,i,n){return a=>{let r=e.append("g").attr("class","em-swimlane"),o=n.emSwimlaneBackgroundOdd??"rgb(250,250,250)",l=n.emSwimlaneBackgroundStroke??"rgb(240,240,240)";r.append("rect").attr("x",0).attr("y",a.y).attr("rx","3").attr("width",t+i.swimlanePadding).attr("height",a.height).attr("fill",o).attr("stroke",l),r.append("text").attr("font-weight",i.swimlaneTextFontWeight).attr("x",30).attr("y",a.y+30).text(a.label)}}(0,l.K)(Q,"renderD3Box"),(0,l.K)(ee,"dirUpwards"),(0,l.K)(et,"renderD3Relation"),(0,l.K)(ei,"renderD3Swimlane");var en={parser:Y,db:Z,renderer:{draw:(0,l.K)(function(e,t,i,n){if(o.R.debug("in eventmodeling renderer",e+"\n","id:",t,i),!J)throw Error("EventModeling config not found");let a=n.db,{themeVariables:l,eventmodeling:d}=(0,r.D7)(),m=(0,s.Ltv)(`[id="${t}"]`),c=a.getDiagramProps(),x=a.getState(),u=`em-arrowhead-${t}`,f=l.emArrowhead??"#000000";x.sortedSwimlanesArray.forEach(ei(m,x.maxR,c,l)),x.boxes.forEach(Q(m,c)),x.relations.forEach(et(m,c,u,l)),m.append("defs").append("marker").attr("id",u).attr("markerWidth","10").attr("markerHeight","7").attr("refX","10").attr("refY","3.5").attr("orient","auto").append("polygon").attr("points","0 0, 10 3.5, 0 7").attr("fill",f),(0,r.mj)(void 0,m,d?.padding??30,d?.useMaxWidth)},"draw")},styles:(0,l.K)(e=>"","getStyles")}},80650:(e,t,i)=>{function n(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}i.d(t,{S:()=>n}),(0,i(89851).K)(n,"populateCommonDb")}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7997],{47997:(a,e,s)=>{s.d(e,{diagram:()=>k.AC});var k=s(83022);s(71662),s(16443),s(16640),s(27041),s(41185),s(30790),s(33604),s(78706),s(6741),s(60703),s(10969),s(69123),s(2401),s(52691),s(31775),s(56037),s(89851)}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8216],{98216:(e,s,a)=>{a.d(s,{createWardleyServices:()=>c.J});var c=a(18507);a(27698)}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[830],{830:(r,e,s)=>{s.d(e,{diagram:()=>l});var a=s(10405);s(71662),s(16443),s(16640),s(41185),s(30790),s(33604),s(78706),s(6741),s(60703),s(10969),s(69123),s(2401),s(52691),s(31775),s(56037);var t=s(89851),l={parser:a._$,get db(){return new a.NM},renderer:a.Lh,styles:a.tM,init:(0,t.K)(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")}}}]);
|