plum-e2e 1.2.0 → 1.2.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/backend/_scaffold/utils/browser.ts +1 -0
- package/backend/package-lock.json +2 -2
- package/backend/package.json +1 -1
- package/bin/plum.js +4 -3
- package/frontend/.svelte-kit/adapter-node/.vite/manifest.json +190 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Badge.DLLowvEA.css +17 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/Button.cBruH0aD.css +17 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_layout.D7eM-6MV.css +17 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.BVnUajEa.css +17 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.CGnCsn5q.css +17 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.DBhBrHFz.css +17 -0
- package/frontend/.svelte-kit/adapter-node/_app/immutable/assets/_page.DOqo0UR4.css +17 -0
- package/frontend/.svelte-kit/adapter-node/chunks/Badge.js +30 -0
- package/frontend/.svelte-kit/adapter-node/chunks/Button.js +32 -0
- package/frontend/.svelte-kit/adapter-node/chunks/attributes.js +34 -0
- package/frontend/.svelte-kit/adapter-node/chunks/client.js +59 -0
- package/frontend/.svelte-kit/adapter-node/chunks/equality.js +31 -0
- package/frontend/.svelte-kit/adapter-node/chunks/escaping.js +36 -0
- package/frontend/.svelte-kit/adapter-node/chunks/exports.js +247 -0
- package/frontend/.svelte-kit/adapter-node/chunks/index.js +1135 -0
- package/frontend/.svelte-kit/adapter-node/chunks/internal.js +695 -0
- package/frontend/.svelte-kit/adapter-node/chunks/reports.js +57 -0
- package/frontend/.svelte-kit/adapter-node/entries/fallbacks/error.svelte.js +44 -0
- package/frontend/.svelte-kit/adapter-node/entries/pages/_layout.svelte.js +181 -0
- package/frontend/.svelte-kit/adapter-node/entries/pages/_page.svelte.js +164 -0
- package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_page.svelte.js +141 -0
- package/frontend/.svelte-kit/adapter-node/entries/pages/reports/_slug_/_page.svelte.js +42 -0
- package/frontend/.svelte-kit/adapter-node/entries/pages/scheduled-tests/_page.svelte.js +179 -0
- package/frontend/.svelte-kit/adapter-node/index.js +3144 -0
- package/frontend/.svelte-kit/adapter-node/internal.js +30 -0
- package/frontend/.svelte-kit/adapter-node/manifest-full.js +77 -0
- package/frontend/.svelte-kit/adapter-node/manifest.js +81 -0
- package/frontend/.svelte-kit/adapter-node/nodes/0.js +25 -0
- package/frontend/.svelte-kit/adapter-node/nodes/1.js +25 -0
- package/frontend/.svelte-kit/adapter-node/nodes/2.js +25 -0
- package/frontend/.svelte-kit/adapter-node/nodes/3.js +25 -0
- package/frontend/.svelte-kit/adapter-node/nodes/4.js +25 -0
- package/frontend/.svelte-kit/adapter-node/nodes/5.js +25 -0
- package/frontend/.svelte-kit/ambient.d.ts +240 -0
- package/frontend/.svelte-kit/generated/client/app.js +51 -0
- package/frontend/.svelte-kit/generated/client/matchers.js +18 -0
- package/frontend/.svelte-kit/generated/client/nodes/0.js +18 -0
- package/frontend/.svelte-kit/generated/client/nodes/1.js +18 -0
- package/frontend/.svelte-kit/generated/client/nodes/2.js +18 -0
- package/frontend/.svelte-kit/generated/client/nodes/3.js +18 -0
- package/frontend/.svelte-kit/generated/client/nodes/4.js +18 -0
- package/frontend/.svelte-kit/generated/client/nodes/5.js +18 -0
- package/frontend/.svelte-kit/generated/client-optimized/app.js +51 -0
- package/frontend/.svelte-kit/generated/client-optimized/matchers.js +18 -0
- package/frontend/.svelte-kit/generated/client-optimized/nodes/0.js +18 -0
- package/frontend/.svelte-kit/generated/client-optimized/nodes/1.js +18 -0
- package/frontend/.svelte-kit/generated/client-optimized/nodes/2.js +18 -0
- package/frontend/.svelte-kit/generated/client-optimized/nodes/3.js +18 -0
- package/frontend/.svelte-kit/generated/client-optimized/nodes/4.js +18 -0
- package/frontend/.svelte-kit/generated/client-optimized/nodes/5.js +18 -0
- package/frontend/.svelte-kit/generated/root.js +20 -0
- package/frontend/.svelte-kit/generated/root.svelte +83 -0
- package/frontend/.svelte-kit/generated/server/internal.js +65 -0
- package/frontend/.svelte-kit/non-ambient.d.ts +42 -0
- package/frontend/.svelte-kit/output/client/.vite/manifest.json +289 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/0.CnXRuPt4.css +17 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/2.CGnCsn5q.css +17 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/3.BVnUajEa.css +17 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/4.DBhBrHFz.css +17 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/5.D93VAB-w.css +17 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/Badge.DLLowvEA.css +17 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/Button.cBruH0aD.css +17 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_layout.D7eM-6MV.css +17 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.BVnUajEa.css +17 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.CGnCsn5q.css +17 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.DBhBrHFz.css +17 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/assets/_page.DOqo0UR4.css +17 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/B0bn91RF.js +18 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/B1kE5jmt.js +23 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BKz6FZdB.js +18 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Be4iUAB0.js +18 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/BpaMqo9O.js +18 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Bt3-Z7H1.js +18 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CHV2KnPr.js +18 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CJ8q7g9Y.js +18 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/Cit9MuSg.js +20 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/CwBTqcbj.js +18 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DBk3zeq4.js +18 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DFJLQFic.js +18 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/DTUE7kkY.js +18 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/IYPwzKs_.js +20 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/oc0we5Us.js +18 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/chunks/rVEKg0Ak.js +18 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/entry/app.C2MbX06K.js +19 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/entry/start.GiBry-lw.js +18 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/0.BsCYK-Tn.js +21 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/1.N4gjrCnX.js +18 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/2.D9yQNzK8.js +18 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/3.CBC5WvNb.js +18 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/4.BU6UZHSE.js +19 -0
- package/frontend/.svelte-kit/output/client/_app/immutable/nodes/5.Dzzfrntl.js +18 -0
- package/frontend/.svelte-kit/output/client/_app/version.json +1 -0
- package/frontend/.svelte-kit/output/client/favicon.png +0 -0
- package/frontend/.svelte-kit/output/server/.vite/manifest.json +190 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/Badge.DLLowvEA.css +17 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/Button.cBruH0aD.css +17 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_layout.D7eM-6MV.css +17 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.BVnUajEa.css +17 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.CGnCsn5q.css +17 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.DBhBrHFz.css +17 -0
- package/frontend/.svelte-kit/output/server/_app/immutable/assets/_page.DOqo0UR4.css +17 -0
- package/frontend/.svelte-kit/output/server/chunks/Badge.js +30 -0
- package/frontend/.svelte-kit/output/server/chunks/Button.js +32 -0
- package/frontend/.svelte-kit/output/server/chunks/attributes.js +34 -0
- package/frontend/.svelte-kit/output/server/chunks/client.js +59 -0
- package/frontend/.svelte-kit/output/server/chunks/equality.js +31 -0
- package/frontend/.svelte-kit/output/server/chunks/escaping.js +36 -0
- package/frontend/.svelte-kit/output/server/chunks/exports.js +247 -0
- package/frontend/.svelte-kit/output/server/chunks/index.js +1135 -0
- package/frontend/.svelte-kit/output/server/chunks/internal.js +695 -0
- package/frontend/.svelte-kit/output/server/chunks/reports.js +57 -0
- package/frontend/.svelte-kit/output/server/entries/fallbacks/error.svelte.js +44 -0
- package/frontend/.svelte-kit/output/server/entries/pages/_layout.svelte.js +181 -0
- package/frontend/.svelte-kit/output/server/entries/pages/_page.svelte.js +164 -0
- package/frontend/.svelte-kit/output/server/entries/pages/reports/_page.svelte.js +141 -0
- package/frontend/.svelte-kit/output/server/entries/pages/reports/_slug_/_page.svelte.js +42 -0
- package/frontend/.svelte-kit/output/server/entries/pages/scheduled-tests/_page.svelte.js +179 -0
- package/frontend/.svelte-kit/output/server/index.js +3144 -0
- package/frontend/.svelte-kit/output/server/internal.js +30 -0
- package/frontend/.svelte-kit/output/server/manifest-full.js +77 -0
- package/frontend/.svelte-kit/output/server/manifest.js +77 -0
- package/frontend/.svelte-kit/output/server/nodes/0.js +25 -0
- package/frontend/.svelte-kit/output/server/nodes/1.js +25 -0
- package/frontend/.svelte-kit/output/server/nodes/2.js +25 -0
- package/frontend/.svelte-kit/output/server/nodes/3.js +25 -0
- package/frontend/.svelte-kit/output/server/nodes/4.js +25 -0
- package/frontend/.svelte-kit/output/server/nodes/5.js +25 -0
- package/frontend/.svelte-kit/tsconfig.json +49 -0
- package/frontend/build/client/_app/immutable/assets/0.CnXRuPt4.css +17 -0
- package/frontend/build/client/_app/immutable/assets/0.CnXRuPt4.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/0.CnXRuPt4.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/2.CGnCsn5q.css +17 -0
- package/frontend/build/client/_app/immutable/assets/2.CGnCsn5q.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/2.CGnCsn5q.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/3.BVnUajEa.css +17 -0
- package/frontend/build/client/_app/immutable/assets/3.BVnUajEa.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/3.BVnUajEa.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/4.DBhBrHFz.css +17 -0
- package/frontend/build/client/_app/immutable/assets/4.DBhBrHFz.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/4.DBhBrHFz.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/5.D93VAB-w.css +17 -0
- package/frontend/build/client/_app/immutable/assets/5.D93VAB-w.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/5.D93VAB-w.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/Badge.DLLowvEA.css +17 -0
- package/frontend/build/client/_app/immutable/assets/Badge.DLLowvEA.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/Badge.DLLowvEA.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/Button.cBruH0aD.css +17 -0
- package/frontend/build/client/_app/immutable/assets/Button.cBruH0aD.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/Button.cBruH0aD.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_layout.D7eM-6MV.css +17 -0
- package/frontend/build/client/_app/immutable/assets/_layout.D7eM-6MV.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_layout.D7eM-6MV.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.BVnUajEa.css +17 -0
- package/frontend/build/client/_app/immutable/assets/_page.BVnUajEa.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.BVnUajEa.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.CGnCsn5q.css +17 -0
- package/frontend/build/client/_app/immutable/assets/_page.CGnCsn5q.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.CGnCsn5q.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.DBhBrHFz.css +17 -0
- package/frontend/build/client/_app/immutable/assets/_page.DBhBrHFz.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.DBhBrHFz.css.gz +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.DOqo0UR4.css +17 -0
- package/frontend/build/client/_app/immutable/assets/_page.DOqo0UR4.css.br +0 -0
- package/frontend/build/client/_app/immutable/assets/_page.DOqo0UR4.css.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/B0bn91RF.js +18 -0
- package/frontend/build/client/_app/immutable/chunks/B0bn91RF.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/B0bn91RF.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/B1kE5jmt.js +23 -0
- package/frontend/build/client/_app/immutable/chunks/B1kE5jmt.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/B1kE5jmt.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BKz6FZdB.js +18 -0
- package/frontend/build/client/_app/immutable/chunks/BKz6FZdB.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BKz6FZdB.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/Be4iUAB0.js +18 -0
- package/frontend/build/client/_app/immutable/chunks/Be4iUAB0.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/Be4iUAB0.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/BpaMqo9O.js +18 -0
- package/frontend/build/client/_app/immutable/chunks/BpaMqo9O.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/BpaMqo9O.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/Bt3-Z7H1.js +18 -0
- package/frontend/build/client/_app/immutable/chunks/Bt3-Z7H1.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/Bt3-Z7H1.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CHV2KnPr.js +18 -0
- package/frontend/build/client/_app/immutable/chunks/CHV2KnPr.js.br +18 -0
- package/frontend/build/client/_app/immutable/chunks/CHV2KnPr.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CJ8q7g9Y.js +18 -0
- package/{resources/comments-format.text → frontend/build/client/_app/immutable/chunks/CJ8q7g9Y.js.br} +0 -0
- package/frontend/build/client/_app/immutable/chunks/CJ8q7g9Y.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/Cit9MuSg.js +20 -0
- package/frontend/build/client/_app/immutable/chunks/Cit9MuSg.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/Cit9MuSg.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/CwBTqcbj.js +18 -0
- package/frontend/build/client/_app/immutable/chunks/CwBTqcbj.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/CwBTqcbj.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DBk3zeq4.js +18 -0
- package/frontend/build/client/_app/immutable/chunks/DBk3zeq4.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DBk3zeq4.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DFJLQFic.js +18 -0
- package/frontend/build/client/_app/immutable/chunks/DFJLQFic.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DFJLQFic.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/DTUE7kkY.js +18 -0
- package/frontend/build/client/_app/immutable/chunks/DTUE7kkY.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/DTUE7kkY.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/IYPwzKs_.js +20 -0
- package/frontend/build/client/_app/immutable/chunks/IYPwzKs_.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/IYPwzKs_.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/oc0we5Us.js +18 -0
- package/frontend/build/client/_app/immutable/chunks/oc0we5Us.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/oc0we5Us.js.gz +0 -0
- package/frontend/build/client/_app/immutable/chunks/rVEKg0Ak.js +18 -0
- package/frontend/build/client/_app/immutable/chunks/rVEKg0Ak.js.br +0 -0
- package/frontend/build/client/_app/immutable/chunks/rVEKg0Ak.js.gz +0 -0
- package/frontend/build/client/_app/immutable/entry/app.C2MbX06K.js +19 -0
- package/frontend/build/client/_app/immutable/entry/app.C2MbX06K.js.br +0 -0
- package/frontend/build/client/_app/immutable/entry/app.C2MbX06K.js.gz +0 -0
- package/frontend/build/client/_app/immutable/entry/start.GiBry-lw.js +18 -0
- package/frontend/build/client/_app/immutable/entry/start.GiBry-lw.js.br +18 -0
- package/frontend/build/client/_app/immutable/entry/start.GiBry-lw.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/0.BsCYK-Tn.js +21 -0
- package/frontend/build/client/_app/immutable/nodes/0.BsCYK-Tn.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/0.BsCYK-Tn.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/1.N4gjrCnX.js +18 -0
- package/frontend/build/client/_app/immutable/nodes/1.N4gjrCnX.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/1.N4gjrCnX.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/2.D9yQNzK8.js +18 -0
- package/frontend/build/client/_app/immutable/nodes/2.D9yQNzK8.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/2.D9yQNzK8.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/3.CBC5WvNb.js +18 -0
- package/frontend/build/client/_app/immutable/nodes/3.CBC5WvNb.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/3.CBC5WvNb.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/4.BU6UZHSE.js +19 -0
- package/frontend/build/client/_app/immutable/nodes/4.BU6UZHSE.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/4.BU6UZHSE.js.gz +0 -0
- package/frontend/build/client/_app/immutable/nodes/5.Dzzfrntl.js +18 -0
- package/frontend/build/client/_app/immutable/nodes/5.Dzzfrntl.js.br +0 -0
- package/frontend/build/client/_app/immutable/nodes/5.Dzzfrntl.js.gz +0 -0
- package/frontend/build/client/_app/version.json +1 -0
- package/frontend/build/client/_app/version.json.br +0 -0
- package/frontend/build/client/_app/version.json.gz +0 -0
- package/frontend/build/client/favicon.png +0 -0
- package/frontend/build/env.js +111 -0
- package/frontend/build/handler.js +1511 -0
- package/frontend/build/index.js +362 -0
- package/frontend/build/server/chunks/0-BFfqmlsS.js +26 -0
- package/frontend/build/server/chunks/0-BFfqmlsS.js.map +17 -0
- package/frontend/build/server/chunks/1-hso3H4Ax.js +26 -0
- package/frontend/build/server/chunks/1-hso3H4Ax.js.map +17 -0
- package/frontend/build/server/chunks/2-BSZWXCWp.js +26 -0
- package/frontend/build/server/chunks/2-BSZWXCWp.js.map +17 -0
- package/frontend/build/server/chunks/3-BYumY9dv.js +26 -0
- package/frontend/build/server/chunks/3-BYumY9dv.js.map +17 -0
- package/frontend/build/server/chunks/4-2UUrCVtM.js +26 -0
- package/frontend/build/server/chunks/4-2UUrCVtM.js.map +17 -0
- package/frontend/build/server/chunks/5-C2_y_fwT.js +26 -0
- package/frontend/build/server/chunks/5-C2_y_fwT.js.map +17 -0
- package/frontend/build/server/chunks/Badge-CC4U7C0c.js +30 -0
- package/frontend/build/server/chunks/Badge-CC4U7C0c.js.map +17 -0
- package/frontend/build/server/chunks/Button-BLkPicwS.js +33 -0
- package/frontend/build/server/chunks/Button-BLkPicwS.js.map +17 -0
- package/frontend/build/server/chunks/_layout.svelte-Bfxcj9C6.js +183 -0
- package/frontend/build/server/chunks/_layout.svelte-Bfxcj9C6.js.map +17 -0
- package/frontend/build/server/chunks/_page.svelte-DEK6UvaI.js +45 -0
- package/frontend/build/server/chunks/_page.svelte-DEK6UvaI.js.map +17 -0
- package/frontend/build/server/chunks/_page.svelte-DScVdHOq.js +142 -0
- package/frontend/build/server/chunks/_page.svelte-DScVdHOq.js.map +17 -0
- package/frontend/build/server/chunks/_page.svelte-Ns7w2sZt.js +180 -0
- package/frontend/build/server/chunks/_page.svelte-Ns7w2sZt.js.map +17 -0
- package/frontend/build/server/chunks/_page.svelte-s6ZIOitT.js +165 -0
- package/frontend/build/server/chunks/_page.svelte-s6ZIOitT.js.map +17 -0
- package/frontend/build/server/chunks/attributes-BeaNKpgU.js +34 -0
- package/frontend/build/server/chunks/attributes-BeaNKpgU.js.map +17 -0
- package/frontend/build/server/chunks/client-C9IaEwNo.js +52 -0
- package/frontend/build/server/chunks/client-C9IaEwNo.js.map +17 -0
- package/frontend/build/server/chunks/error.svelte-HKBv5sQT.js +45 -0
- package/frontend/build/server/chunks/error.svelte-HKBv5sQT.js.map +17 -0
- package/frontend/build/server/chunks/escaping-CqgfEcN3.js +36 -0
- package/frontend/build/server/chunks/escaping-CqgfEcN3.js.map +17 -0
- package/frontend/build/server/chunks/exports-OxlCJ8yE.js +192 -0
- package/frontend/build/server/chunks/exports-OxlCJ8yE.js.map +17 -0
- package/frontend/build/server/chunks/index-CjHlq1kt.js +1076 -0
- package/frontend/build/server/chunks/index-CjHlq1kt.js.map +17 -0
- package/frontend/build/server/chunks/reports-D3ZeYSmi.js +56 -0
- package/frontend/build/server/chunks/reports-D3ZeYSmi.js.map +17 -0
- package/frontend/build/server/index.js +5015 -0
- package/frontend/build/server/index.js.map +17 -0
- package/frontend/build/server/manifest.js +84 -0
- package/frontend/build/server/manifest.js.map +17 -0
- package/frontend/build/shims.js +49 -0
- package/frontend/package-lock.json +2 -2
- package/frontend/package.json +1 -1
- package/package.json +1 -1
- package/.claude/settings.local.json +0 -29
- package/.husky/pre-commit +0 -2
- package/.prettierignore +0 -21
- package/.prettierrc +0 -15
- package/.vscode/settings.json +0 -10
- package/license-config.json +0 -37
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "plum-backend",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.1",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "plum-backend",
|
|
9
|
-
"version": "1.2.
|
|
9
|
+
"version": "1.2.1",
|
|
10
10
|
"license": "ISC",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@clack/prompts": "^1.5.1",
|
package/backend/package.json
CHANGED
package/bin/plum.js
CHANGED
|
@@ -18,6 +18,7 @@
|
|
|
18
18
|
|
|
19
19
|
import { execSync } from 'child_process';
|
|
20
20
|
import fs from 'fs';
|
|
21
|
+
import os from 'os';
|
|
21
22
|
import path from 'path';
|
|
22
23
|
import { fileURLToPath } from 'url';
|
|
23
24
|
import fse from 'fs-extra';
|
|
@@ -99,7 +100,7 @@ function installPlugins() {
|
|
|
99
100
|
// Ensure user's .gitignore contains Plum-generated entries
|
|
100
101
|
function ensureGitignore() {
|
|
101
102
|
const gitignorePath = path.join(process.cwd(), '.gitignore');
|
|
102
|
-
const plumEntries = ['
|
|
103
|
+
const plumEntries = ['reports/'];
|
|
103
104
|
const plumBlock = `\n# Plum (auto-generated)\n${plumEntries.join('\n')}\n`;
|
|
104
105
|
|
|
105
106
|
if (!fs.existsSync(gitignorePath)) {
|
|
@@ -305,8 +306,8 @@ switch (command) {
|
|
|
305
306
|
}
|
|
306
307
|
}
|
|
307
308
|
|
|
308
|
-
// Copy config
|
|
309
|
-
const userConfigPath = path.join(
|
|
309
|
+
// Copy config to ~/.plum/config so Docker can mount it without polluting the project
|
|
310
|
+
const userConfigPath = path.join(os.homedir(), '.plum', 'config');
|
|
310
311
|
fse.copySync(path.join(plumRoot, 'backend', 'config'), userConfigPath);
|
|
311
312
|
|
|
312
313
|
// Convert Windows paths to safe format
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
{
|
|
2
|
+
".svelte-kit/generated/server/internal.js": {
|
|
3
|
+
"file": "internal.js",
|
|
4
|
+
"name": "internal",
|
|
5
|
+
"src": ".svelte-kit/generated/server/internal.js",
|
|
6
|
+
"isEntry": true,
|
|
7
|
+
"imports": [
|
|
8
|
+
"_internal.js"
|
|
9
|
+
]
|
|
10
|
+
},
|
|
11
|
+
"_Badge.DLLowvEA.css": {
|
|
12
|
+
"file": "_app/immutable/assets/Badge.DLLowvEA.css",
|
|
13
|
+
"src": "_Badge.DLLowvEA.css"
|
|
14
|
+
},
|
|
15
|
+
"_Badge.js": {
|
|
16
|
+
"file": "chunks/Badge.js",
|
|
17
|
+
"name": "Badge",
|
|
18
|
+
"imports": [
|
|
19
|
+
"_index.js",
|
|
20
|
+
"_attributes.js"
|
|
21
|
+
],
|
|
22
|
+
"css": [
|
|
23
|
+
"_app/immutable/assets/Badge.DLLowvEA.css"
|
|
24
|
+
]
|
|
25
|
+
},
|
|
26
|
+
"_Button.cBruH0aD.css": {
|
|
27
|
+
"file": "_app/immutable/assets/Button.cBruH0aD.css",
|
|
28
|
+
"src": "_Button.cBruH0aD.css"
|
|
29
|
+
},
|
|
30
|
+
"_Button.js": {
|
|
31
|
+
"file": "chunks/Button.js",
|
|
32
|
+
"name": "Button",
|
|
33
|
+
"imports": [
|
|
34
|
+
"_index.js",
|
|
35
|
+
"_attributes.js"
|
|
36
|
+
],
|
|
37
|
+
"css": [
|
|
38
|
+
"_app/immutable/assets/Button.cBruH0aD.css"
|
|
39
|
+
]
|
|
40
|
+
},
|
|
41
|
+
"_attributes.js": {
|
|
42
|
+
"file": "chunks/attributes.js",
|
|
43
|
+
"name": "attributes",
|
|
44
|
+
"imports": [
|
|
45
|
+
"_escaping.js"
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
"_client.js": {
|
|
49
|
+
"file": "chunks/client.js",
|
|
50
|
+
"name": "client",
|
|
51
|
+
"imports": [
|
|
52
|
+
"_exports.js",
|
|
53
|
+
"_index.js"
|
|
54
|
+
]
|
|
55
|
+
},
|
|
56
|
+
"_equality.js": {
|
|
57
|
+
"file": "chunks/equality.js",
|
|
58
|
+
"name": "equality"
|
|
59
|
+
},
|
|
60
|
+
"_escaping.js": {
|
|
61
|
+
"file": "chunks/escaping.js",
|
|
62
|
+
"name": "escaping"
|
|
63
|
+
},
|
|
64
|
+
"_exports.js": {
|
|
65
|
+
"file": "chunks/exports.js",
|
|
66
|
+
"name": "exports",
|
|
67
|
+
"imports": [
|
|
68
|
+
"_index.js",
|
|
69
|
+
"_equality.js"
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
"_index.js": {
|
|
73
|
+
"file": "chunks/index.js",
|
|
74
|
+
"name": "index"
|
|
75
|
+
},
|
|
76
|
+
"_internal.js": {
|
|
77
|
+
"file": "chunks/internal.js",
|
|
78
|
+
"name": "internal",
|
|
79
|
+
"imports": [
|
|
80
|
+
"_index.js",
|
|
81
|
+
"_equality.js"
|
|
82
|
+
]
|
|
83
|
+
},
|
|
84
|
+
"_reports.js": {
|
|
85
|
+
"file": "chunks/reports.js",
|
|
86
|
+
"name": "reports",
|
|
87
|
+
"imports": [
|
|
88
|
+
"_index.js",
|
|
89
|
+
"_client.js"
|
|
90
|
+
]
|
|
91
|
+
},
|
|
92
|
+
"node_modules/@sveltejs/kit/src/runtime/components/svelte-5/error.svelte": {
|
|
93
|
+
"file": "entries/fallbacks/error.svelte.js",
|
|
94
|
+
"name": "entries/fallbacks/error.svelte",
|
|
95
|
+
"src": "node_modules/@sveltejs/kit/src/runtime/components/svelte-5/error.svelte",
|
|
96
|
+
"isEntry": true,
|
|
97
|
+
"imports": [
|
|
98
|
+
"_escaping.js",
|
|
99
|
+
"_index.js",
|
|
100
|
+
"_client.js"
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
"node_modules/@sveltejs/kit/src/runtime/server/index.js": {
|
|
104
|
+
"file": "index.js",
|
|
105
|
+
"name": "index",
|
|
106
|
+
"src": "node_modules/@sveltejs/kit/src/runtime/server/index.js",
|
|
107
|
+
"isEntry": true,
|
|
108
|
+
"imports": [
|
|
109
|
+
"_index.js",
|
|
110
|
+
"_internal.js",
|
|
111
|
+
"_exports.js"
|
|
112
|
+
]
|
|
113
|
+
},
|
|
114
|
+
"src/routes/+layout.svelte": {
|
|
115
|
+
"file": "entries/pages/_layout.svelte.js",
|
|
116
|
+
"name": "entries/pages/_layout.svelte",
|
|
117
|
+
"src": "src/routes/+layout.svelte",
|
|
118
|
+
"isEntry": true,
|
|
119
|
+
"imports": [
|
|
120
|
+
"_index.js",
|
|
121
|
+
"_reports.js",
|
|
122
|
+
"_exports.js",
|
|
123
|
+
"_attributes.js",
|
|
124
|
+
"_escaping.js",
|
|
125
|
+
"_Button.js"
|
|
126
|
+
],
|
|
127
|
+
"css": [
|
|
128
|
+
"_app/immutable/assets/_layout.D7eM-6MV.css"
|
|
129
|
+
]
|
|
130
|
+
},
|
|
131
|
+
"src/routes/+page.svelte": {
|
|
132
|
+
"file": "entries/pages/_page.svelte.js",
|
|
133
|
+
"name": "entries/pages/_page.svelte",
|
|
134
|
+
"src": "src/routes/+page.svelte",
|
|
135
|
+
"isEntry": true,
|
|
136
|
+
"imports": [
|
|
137
|
+
"_index.js",
|
|
138
|
+
"_attributes.js",
|
|
139
|
+
"_escaping.js"
|
|
140
|
+
],
|
|
141
|
+
"css": [
|
|
142
|
+
"_app/immutable/assets/_page.CGnCsn5q.css"
|
|
143
|
+
]
|
|
144
|
+
},
|
|
145
|
+
"src/routes/reports/+page.svelte": {
|
|
146
|
+
"file": "entries/pages/reports/_page.svelte.js",
|
|
147
|
+
"name": "entries/pages/reports/_page.svelte",
|
|
148
|
+
"src": "src/routes/reports/+page.svelte",
|
|
149
|
+
"isEntry": true,
|
|
150
|
+
"imports": [
|
|
151
|
+
"_index.js",
|
|
152
|
+
"_Badge.js",
|
|
153
|
+
"_attributes.js",
|
|
154
|
+
"_escaping.js"
|
|
155
|
+
],
|
|
156
|
+
"css": [
|
|
157
|
+
"_app/immutable/assets/_page.BVnUajEa.css"
|
|
158
|
+
]
|
|
159
|
+
},
|
|
160
|
+
"src/routes/reports/[slug]/+page.svelte": {
|
|
161
|
+
"file": "entries/pages/reports/_slug_/_page.svelte.js",
|
|
162
|
+
"name": "entries/pages/reports/_slug_/_page.svelte",
|
|
163
|
+
"src": "src/routes/reports/[slug]/+page.svelte",
|
|
164
|
+
"isEntry": true,
|
|
165
|
+
"imports": [
|
|
166
|
+
"_index.js",
|
|
167
|
+
"_reports.js"
|
|
168
|
+
],
|
|
169
|
+
"css": [
|
|
170
|
+
"_app/immutable/assets/_page.DBhBrHFz.css",
|
|
171
|
+
"_app/immutable/assets/Badge.DLLowvEA.css"
|
|
172
|
+
]
|
|
173
|
+
},
|
|
174
|
+
"src/routes/scheduled-tests/+page.svelte": {
|
|
175
|
+
"file": "entries/pages/scheduled-tests/_page.svelte.js",
|
|
176
|
+
"name": "entries/pages/scheduled-tests/_page.svelte",
|
|
177
|
+
"src": "src/routes/scheduled-tests/+page.svelte",
|
|
178
|
+
"isEntry": true,
|
|
179
|
+
"imports": [
|
|
180
|
+
"_index.js",
|
|
181
|
+
"_Button.js",
|
|
182
|
+
"_Badge.js",
|
|
183
|
+
"_attributes.js",
|
|
184
|
+
"_escaping.js"
|
|
185
|
+
],
|
|
186
|
+
"css": [
|
|
187
|
+
"_app/immutable/assets/_page.DOqo0UR4.css"
|
|
188
|
+
]
|
|
189
|
+
}
|
|
190
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
This file is part of Plum.
|
|
3
|
+
|
|
4
|
+
Plum is free software: you can redistribute it and/or modify
|
|
5
|
+
it under the terms of the GNU General Public License as published by
|
|
6
|
+
the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
(at your option) any later version.
|
|
8
|
+
|
|
9
|
+
Plum is distributed in the hope that it will be useful,
|
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
GNU General Public License for more details.
|
|
13
|
+
|
|
14
|
+
You should have received a copy of the GNU General Public License
|
|
15
|
+
along with Plum. If not, see https://www.gnu.org/licenses/.
|
|
16
|
+
*/
|
|
17
|
+
.badge.svelte-imjoo5{display:inline-flex;align-items:center;font-size:.68rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;padding:.2rem .6rem;border-radius:100px;white-space:nowrap}.pass.svelte-imjoo5{background:var(--pass-soft);color:var(--pass)}.fail.svelte-imjoo5{background:var(--fail-soft);color:var(--fail)}.tag.svelte-imjoo5{background:var(--accent-soft);color:var(--accent)}.schedule.svelte-imjoo5{background:var(--warn-soft);color:var(--warn)}.neutral.svelte-imjoo5{background:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border)}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
This file is part of Plum.
|
|
3
|
+
|
|
4
|
+
Plum is free software: you can redistribute it and/or modify
|
|
5
|
+
it under the terms of the GNU General Public License as published by
|
|
6
|
+
the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
(at your option) any later version.
|
|
8
|
+
|
|
9
|
+
Plum is distributed in the hope that it will be useful,
|
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
GNU General Public License for more details.
|
|
13
|
+
|
|
14
|
+
You should have received a copy of the GNU General Public License
|
|
15
|
+
along with Plum. If not, see https://www.gnu.org/licenses/.
|
|
16
|
+
*/
|
|
17
|
+
.btn.svelte-1mw9qtj{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;font-family:var(--font-body);font-weight:400;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),opacity var(--duration-fast)}.btn.svelte-1mw9qtj:active:not(:disabled){transform:scale(.97)}.btn.svelte-1mw9qtj:disabled{opacity:.38;cursor:not-allowed}.sm.svelte-1mw9qtj{font-size:.75rem;padding:.3rem .75rem;border-radius:var(--radius-sm)}.md.svelte-1mw9qtj{font-size:.875rem;padding:.55rem 1.25rem}.primary.svelte-1mw9qtj{background:var(--accent);color:#fff;border-color:var(--accent)}.primary.svelte-1mw9qtj:hover:not(:disabled){filter:brightness(1.12);box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 30%,transparent)}.ghost.svelte-1mw9qtj{background:transparent;color:var(--text-muted);border-color:var(--border)}.ghost.svelte-1mw9qtj:hover:not(:disabled){background:var(--bg-subtle);color:var(--text);border-color:var(--text-muted)}.danger.svelte-1mw9qtj{background:transparent;color:var(--fail);border-color:var(--fail)}.danger.svelte-1mw9qtj:hover:not(:disabled){background:var(--fail-soft)}.outline.svelte-1mw9qtj{background:transparent;color:var(--accent);border-color:var(--accent)}.outline.svelte-1mw9qtj:hover:not(:disabled){background:var(--accent-soft)}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
This file is part of Plum.
|
|
3
|
+
|
|
4
|
+
Plum is free software: you can redistribute it and/or modify
|
|
5
|
+
it under the terms of the GNU General Public License as published by
|
|
6
|
+
the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
(at your option) any later version.
|
|
8
|
+
|
|
9
|
+
Plum is distributed in the hope that it will be useful,
|
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
GNU General Public License for more details.
|
|
13
|
+
|
|
14
|
+
You should have received a copy of the GNU General Public License
|
|
15
|
+
along with Plum. If not, see https://www.gnu.org/licenses/.
|
|
16
|
+
*/
|
|
17
|
+
*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.block{display:block}.flex{display:flex}.table{display:table}.contents{display:contents}.hidden{display:none}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.flex-wrap{flex-wrap:wrap}.border{border-width:1px}.uppercase{text-transform:uppercase}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--bg: #fdfcfb;--bg-subtle: #f7f6f4;--bg-elevated: #ffffff;--border: #e9e5df;--text: #18160f;--text-muted: #9c9185;--accent: #5c1b87;--accent-soft: #f3eaff;--pass: #16a34a;--pass-soft: #dcfce7;--fail: #dc2626;--fail-soft: #fee2e2;--warn: #d97706;--warn-soft: #fef3c7;--terminal-bg: #0d0c08;--terminal-text: #d6d0c8;--font-display: "Playfair Display", Georgia, serif;--font-body: "DM Sans", system-ui, -apple-system, sans-serif;--ease-out: cubic-bezier(.16, 1, .3, 1);--duration-fast: .14s;--duration-base: .24s;--duration-slow: .4s;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px}[data-theme=dark]{--bg: #101009;--bg-subtle: #1a1910;--bg-elevated: #201f14;--border: #2e2c1e;--text: #f0ede6;--text-muted: #706a5e;--accent: #d0a5f5;--accent-soft: #1b0d30;--pass: #22c55e;--pass-soft: #0d2118;--fail: #f87171;--fail-soft: #2d1010;--warn: #fbbf24;--warn-soft: #2a1f06;--terminal-bg: #080807;--terminal-text: #cbc5bd}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-weight:300;font-size:1rem;line-height:1.65;background-color:var(--bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.07'/%3E%3C/svg%3E");background-size:200px 200px;color:var(--text);transition:background-color var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out);-webkit-font-smoothing:antialiased}h1{font-family:var(--font-display);font-weight:400;line-height:1.1;letter-spacing:-.015em;color:var(--text)}h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.2;color:var(--text)}a{color:inherit;text-decoration:none}button{font-family:var(--font-body)}.field{display:flex;flex-direction:column;gap:.375rem}.field-label{display:flex;justify-content:space-between;font-size:.8125rem;font-weight:400;color:var(--text-muted)}.field-hint{font-size:.75rem;color:var(--text-muted)}.field-input{width:100%;padding:.6rem .875rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);color:var(--text);font-family:var(--font-body);font-size:.875rem;font-weight:300;outline:none;transition:border-color var(--duration-fast),box-shadow var(--duration-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.field-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-input:disabled{opacity:.5;cursor:not-allowed}.field-input::-moz-placeholder{color:var(--text-muted)}.field-input::placeholder{color:var(--text-muted)}.data-table{width:100%;border-collapse:collapse;font-size:.875rem}.data-table th{text-align:left;padding:.5rem 1rem;font-family:var(--font-body);font-weight:500;font-size:.7rem;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border)}.data-table td{padding:.875rem 1rem;border-bottom:1px solid var(--border);color:var(--text);vertical-align:middle}.data-table tbody tr:last-child td{border-bottom:none}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;transition:background var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.card-title{font-family:var(--font-display);font-size:1.25rem;font-weight:400;color:var(--text);margin-bottom:.25rem}.card-subtitle{font-size:.8125rem;color:var(--text-muted);margin-bottom:1.25rem}.alert{display:flex;align-items:center;gap:.625rem;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:400}.alert-success{background:var(--pass-soft);color:var(--pass)}.alert-error{background:var(--fail-soft);color:var(--fail)}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.nav.svelte-6bgush{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--border);transition:background var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out)}.inner.svelte-6bgush{max-width:1200px;margin:0 auto;padding:0 1.5rem;height:56px;display:flex;align-items:center;gap:2rem}.brand.svelte-6bgush{font-size:1.2rem;letter-spacing:-.02em;flex-shrink:0;text-decoration:none}.brand-serif.svelte-6bgush{font-family:var(--font-display);font-weight:400;color:var(--accent)}.brand-sans.svelte-6bgush{font-family:var(--font-body);font-weight:400;color:var(--text)}.links.svelte-6bgush{display:flex;gap:.125rem;flex:1}.link.svelte-6bgush{font-size:.875rem;font-weight:400;color:var(--text-muted);text-decoration:none;padding:.35rem .75rem;border-radius:var(--radius-sm);transition:color var(--duration-fast),background var(--duration-fast)}.link.svelte-6bgush:hover{color:var(--text);background:var(--bg-subtle)}.link.active.svelte-6bgush{color:var(--accent);background:var(--accent-soft)}.actions.svelte-6bgush{display:flex;align-items:center;gap:.5rem;margin-left:auto}.theme-btn.svelte-6bgush{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast)}.theme-btn.svelte-6bgush:hover{background:var(--bg-subtle);color:var(--text);border-color:var(--text-muted)}.hamburger.svelte-6bgush{display:none;flex-direction:column;justify-content:center;gap:4px;width:34px;height:34px;background:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:0 8px}.hamburger.svelte-6bgush span:where(.svelte-6bgush){display:block;width:100%;height:1.5px;background:var(--text-muted);border-radius:2px;transform-origin:center;transition:transform var(--duration-base) var(--ease-out),opacity var(--duration-fast)}.hamburger.svelte-6bgush span.rotated:where(.svelte-6bgush){transform:translateY(5.5px) rotate(45deg)}.hamburger.svelte-6bgush span.hidden:where(.svelte-6bgush){opacity:0}.hamburger.svelte-6bgush span.rotated-reverse:where(.svelte-6bgush){transform:translateY(-5.5px) rotate(-45deg)}.mobile-menu.svelte-6bgush{border-top:1px solid var(--border);padding:.75rem 1.5rem 1rem;display:flex;flex-direction:column;gap:.125rem}.mobile-link.svelte-6bgush{color:var(--text-muted);text-decoration:none;font-size:.9375rem;font-weight:400;padding:.5rem .75rem;border-radius:var(--radius-sm);transition:background var(--duration-fast),color var(--duration-fast)}.mobile-link.svelte-6bgush:hover,.mobile-link.active.svelte-6bgush{background:var(--bg-subtle);color:var(--text)}.mobile-link.active.svelte-6bgush{color:var(--accent);background:var(--accent-soft)}@media (max-width: 640px){.links.svelte-6bgush{display:none}.hamburger.svelte-6bgush{display:flex}}.shell.svelte-28zx1m{max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem 5rem}.terminal-wrap.svelte-olniy1{border-radius:var(--radius-md);overflow:hidden;border:1px solid rgba(255,255,255,.06)}.terminal-bar.svelte-olniy1{display:flex;align-items:center;gap:6px;padding:.6rem .875rem;background:#0000004d}.dot.svelte-olniy1{display:block;width:10px;height:10px;border-radius:50%}.red.svelte-olniy1{background:#ff5f57}.yellow.svelte-olniy1{background:#febc2e}.green.svelte-olniy1{background:#28c840}.terminal.svelte-olniy1{font-family:JetBrains Mono,Fira Code,Cascadia Code,Courier New,monospace;font-size:.78rem;line-height:1.75;background:var(--terminal-bg);color:var(--terminal-text);padding:1rem;min-height:220px;max-height:280px;overflow-y:auto;white-space:pre-wrap;word-break:break-word;margin:0}.terminal.svelte-olniy1::-webkit-scrollbar{width:4px}.terminal.svelte-olniy1::-webkit-scrollbar-track{background:transparent}.terminal.svelte-olniy1::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.panel.svelte-ynu3lh{position:fixed;bottom:0;left:0;right:0;z-index:200;background:var(--bg-elevated);border-top:1px solid var(--border);box-shadow:0 -4px 24px #0000000f;transition:box-shadow var(--duration-base) var(--ease-out)}.panel.expanded.svelte-ynu3lh{box-shadow:0 -8px 40px #0000001a}.bar.svelte-ynu3lh{display:flex;align-items:center;gap:.75rem;padding:0 1.5rem;height:48px;cursor:default}.bar-left.svelte-ynu3lh{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.status-dot.svelte-ynu3lh{flex-shrink:0;width:8px;height:8px;border-radius:50%;transition:background var(--duration-base)}.status-dot.pulse.svelte-ynu3lh{animation:svelte-ynu3lh-statusPulse 1.6s ease-in-out infinite}@keyframes svelte-ynu3lh-statusPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}.status-label.svelte-ynu3lh{font-size:.7rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0}.run-id.svelte-ynu3lh{font-size:.75rem;color:var(--text-muted);font-family:JetBrains Mono,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-dots.svelte-ynu3lh{display:flex;align-items:center;gap:4px;flex-shrink:0}.dot.svelte-ynu3lh{width:7px;height:7px;border-radius:50%;background:var(--border);transition:background var(--duration-base),transform var(--duration-fast)}.dot.running.svelte-ynu3lh{background:var(--pass);animation:svelte-ynu3lh-dotBeat 1.4s ease-in-out infinite}.dot.pass.svelte-ynu3lh{background:var(--pass)}.dot.fail.svelte-ynu3lh{background:var(--fail)}@keyframes svelte-ynu3lh-dotBeat{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.65)}}.expand-btn.svelte-ynu3lh{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:background var(--duration-fast),color var(--duration-fast)}.expand-btn.svelte-ynu3lh:hover{background:var(--bg-subtle);color:var(--text)}.expand-btn.svelte-ynu3lh svg:where(.svelte-ynu3lh){transition:transform var(--duration-base) var(--ease-out)}.expand-btn.svelte-ynu3lh svg.rotated:where(.svelte-ynu3lh){transform:rotate(180deg)}.body.svelte-ynu3lh{padding:.875rem 1.5rem 1.125rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.75rem}.controls.svelte-ynu3lh{display:flex;align-items:center;gap:.625rem}.run-input.svelte-ynu3lh{flex:1}.workers-control.svelte-ynu3lh{display:flex;gap:2px;background:var(--bg-subtle);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px;flex-shrink:0}.worker-btn.svelte-ynu3lh{font-family:var(--font-body);font-size:.75rem;font-weight:400;min-width:2rem;padding:.2rem .5rem;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.worker-btn.svelte-ynu3lh:hover:not(.active){background:var(--bg-elevated);color:var(--text)}.worker-btn.active.svelte-ynu3lh{background:var(--bg-elevated);color:var(--accent);font-weight:500;box-shadow:0 1px 3px #00000014}.report-row.svelte-ynu3lh{display:flex}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
This file is part of Plum.
|
|
3
|
+
|
|
4
|
+
Plum is free software: you can redistribute it and/or modify
|
|
5
|
+
it under the terms of the GNU General Public License as published by
|
|
6
|
+
the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
(at your option) any later version.
|
|
8
|
+
|
|
9
|
+
Plum is distributed in the hope that it will be useful,
|
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
GNU General Public License for more details.
|
|
13
|
+
|
|
14
|
+
You should have received a copy of the GNU General Public License
|
|
15
|
+
along with Plum. If not, see https://www.gnu.org/licenses/.
|
|
16
|
+
*/
|
|
17
|
+
.pagination.svelte-tsubiy{display:flex;align-items:center;justify-content:center;gap:.25rem}button.svelte-tsubiy{min-width:2rem;height:2rem;padding:0 .25rem;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text-muted);font-family:var(--font-body);font-size:.8125rem;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast)}button.svelte-tsubiy:disabled{opacity:.3;cursor:not-allowed}button.active.svelte-tsubiy{background:var(--accent);color:#fff;border-color:var(--accent)}button.svelte-tsubiy:hover:not(:disabled):not(.active){background:var(--bg-subtle);color:var(--text)}.page-header.svelte-wxbf05{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.header-top.svelte-wxbf05{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}h1.svelte-wxbf05{font-size:2.5rem;margin-bottom:.25rem}.subtitle.svelte-wxbf05{color:var(--text-muted);font-size:.875rem}.rate-display.svelte-wxbf05{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem}.rate-number.svelte-wxbf05{font-family:var(--font-display);font-size:2.75rem;line-height:1;font-weight:400}.rate-number.pass.svelte-wxbf05{color:var(--pass)}.rate-number.warn.svelte-wxbf05{color:var(--warn)}.rate-number.fail.svelte-wxbf05{color:var(--fail)}.rate-label.svelte-wxbf05{font-size:.75rem;color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase}.stats-bar.svelte-wxbf05{margin-bottom:1rem}.pass-bar-track.svelte-wxbf05{height:3px;background:var(--fail-soft);border-radius:100px;overflow:hidden;margin-bottom:.5rem}.pass-bar-fill.svelte-wxbf05{height:100%;background:var(--pass);border-radius:100px;transition:width .9s var(--ease-out) .1s}.bar-legend.svelte-wxbf05{display:flex;gap:1rem}.legend-pass.svelte-wxbf05{font-size:.75rem;color:var(--pass);font-weight:500}.legend-fail.svelte-wxbf05{font-size:.75rem;color:var(--fail);font-weight:500}.trend-row.svelte-wxbf05{display:flex;align-items:center;gap:.75rem}.trend-label.svelte-wxbf05{font-size:.7rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0}.trend-dots.svelte-wxbf05{display:flex;align-items:center;gap:5px}.trend-dot.svelte-wxbf05{width:9px;height:9px;border-radius:50%;transition:transform var(--duration-fast);animation:fadeUp .3s var(--ease-out) both}.trend-dot.svelte-wxbf05:hover{transform:scale(1.4)}.trend-dot.pass.svelte-wxbf05{background:var(--pass)}.trend-dot.fail.svelte-wxbf05{background:var(--fail)}.trend-hint.svelte-wxbf05{font-size:.68rem;color:var(--text-muted);opacity:.6}.report-list.svelte-wxbf05{display:flex;flex-direction:column;gap:.5rem}.report-item.svelte-wxbf05{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);text-decoration:none;color:inherit;border-left-width:3px;transition:background var(--duration-fast),transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast);animation:fadeUp .32s var(--ease-out) both}.report-item.svelte-wxbf05:hover{background:var(--bg-subtle);transform:translate(2px);box-shadow:0 2px 12px #0000000a}.report-item.is-pass.svelte-wxbf05{border-left-color:var(--pass)}.report-item.is-fail.svelte-wxbf05{border-left-color:var(--fail)}.item-left.svelte-wxbf05{display:flex;align-items:center;gap:.875rem;min-width:0}.status-mark.svelte-wxbf05{font-size:.875rem;font-weight:600;flex-shrink:0;width:20px;text-align:center}.status-mark.pass.svelte-wxbf05{color:var(--pass)}.status-mark.fail.svelte-wxbf05{color:var(--fail)}.item-meta.svelte-wxbf05{display:flex;align-items:center;gap:.625rem;min-width:0}.item-tags.svelte-wxbf05{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--text);white-space:nowrap}.item-badges.svelte-wxbf05{flex-shrink:0}.item-right.svelte-wxbf05{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.item-date.svelte-wxbf05{font-size:.8rem;color:var(--text-muted);white-space:nowrap}.item-arrow.svelte-wxbf05{color:var(--text-muted);transition:transform var(--duration-fast) var(--ease-out),color var(--duration-fast)}.report-item.svelte-wxbf05:hover .item-arrow:where(.svelte-wxbf05){transform:translate(3px);color:var(--text)}.pagination-wrap.svelte-wxbf05{margin-top:1.25rem}.empty.svelte-wxbf05{color:var(--text-muted);font-size:.9375rem;padding:3rem 0;text-align:center}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
This file is part of Plum.
|
|
3
|
+
|
|
4
|
+
Plum is free software: you can redistribute it and/or modify
|
|
5
|
+
it under the terms of the GNU General Public License as published by
|
|
6
|
+
the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
(at your option) any later version.
|
|
8
|
+
|
|
9
|
+
Plum is distributed in the hope that it will be useful,
|
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
GNU General Public License for more details.
|
|
13
|
+
|
|
14
|
+
You should have received a copy of the GNU General Public License
|
|
15
|
+
along with Plum. If not, see https://www.gnu.org/licenses/.
|
|
16
|
+
*/
|
|
17
|
+
.page-header.svelte-10529e9{margin-bottom:1.75rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.header-top.svelte-10529e9{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}h1.svelte-10529e9{font-size:2.5rem;margin-bottom:.25rem}.subtitle.svelte-10529e9{color:var(--text-muted);font-size:.875rem}.search-row.svelte-10529e9{display:flex;gap:.75rem}.search-wrap.svelte-10529e9{position:relative;flex:1;max-width:480px}.search-icon.svelte-10529e9{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.search-input.svelte-10529e9{width:100%;padding:.55rem .875rem .55rem 2.25rem;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-subtle);color:var(--text);font-family:var(--font-body);font-size:.875rem;font-weight:300;outline:none;transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.search-input.svelte-10529e9:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:var(--bg-elevated)}.search-input.svelte-10529e9::-moz-placeholder{color:var(--text-muted)}.search-input.svelte-10529e9::placeholder{color:var(--text-muted)}.search-clear.svelte-10529e9{position:absolute;right:.625rem;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:none;background:var(--border);color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.search-clear.svelte-10529e9:hover{background:var(--text-muted);color:var(--bg)}.suites.svelte-10529e9{display:flex;flex-direction:column;gap:1rem}.suite.svelte-10529e9{border:1px solid var(--border);border-radius:var(--radius-lg);overflow:visible;background:var(--bg-elevated);animation:fadeUp .35s var(--ease-out) both}.suite-header.svelte-10529e9{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1.25rem;background:var(--bg-subtle);border-bottom:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.suite-meta.svelte-10529e9{display:flex;align-items:center;gap:.625rem;flex:1;min-width:0}.suite-badges.svelte-10529e9{display:flex;gap:.25rem;flex-shrink:0}.suite-name.svelte-10529e9{font-size:.9rem;font-weight:400;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suite-count.svelte-10529e9{font-size:.75rem;color:var(--text-muted);flex-shrink:0}.run-btn.svelte-10529e9{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font-body);font-size:.75rem;font-weight:400;padding:.3rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-muted);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast)}.run-btn.svelte-10529e9:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.tests.svelte-10529e9{display:flex;flex-direction:column}.test-row.svelte-10529e9{border-bottom:1px solid var(--border);animation:fadeUp .3s var(--ease-out) both}.test-row.svelte-10529e9:last-child{border-bottom:none}.test-main.svelte-10529e9{display:flex;align-items:center;gap:.625rem;padding:.75rem 1.25rem}.run-icon-btn.svelte-10529e9{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;border:1px solid var(--border);background:transparent;color:var(--text-muted);cursor:pointer;flex-shrink:0;transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast)}.run-icon-btn.svelte-10529e9:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.test-ids.svelte-10529e9{display:flex;gap:.25rem;flex-shrink:0}.id-pill.svelte-10529e9{position:relative;font-size:.68rem;font-weight:500;letter-spacing:.04em;color:var(--accent);background:var(--accent-soft);border:none;border-radius:100px;padding:.15rem .55rem;cursor:pointer;font-family:JetBrains Mono,monospace;transition:background var(--duration-fast),color var(--duration-fast),filter var(--duration-fast)}.id-pill.svelte-10529e9:hover{filter:brightness(.92)}.id-pill.copied.svelte-10529e9{color:var(--pass);background:var(--pass-soft)}.id-pill.copied.svelte-10529e9:after{content:"Copied";position:absolute;left:50%;bottom:calc(100% + 6px);z-index:50;transform:translate(-50%);padding:.16rem .42rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--pass);box-shadow:0 4px 14px #00000014;font-family:var(--font-body);font-size:.65rem;font-weight:500;letter-spacing:0;pointer-events:none;animation:svelte-10529e9-copiedPop 1.4s var(--ease-out) both}.test-name.svelte-10529e9{flex:1;font-size:.875rem;color:var(--text);min-width:0}.outline-badge.svelte-10529e9{display:inline-block;font-size:.62rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;background:var(--warn-soft);color:var(--warn);padding:.1rem .4rem;border-radius:100px;margin-left:.4rem;vertical-align:middle}.steps-toggle.svelte-10529e9{display:inline-flex;align-items:center;gap:.2rem;font-family:var(--font-body);font-size:.72rem;font-weight:400;color:var(--text-muted);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);padding:.2rem .5rem;cursor:pointer;flex-shrink:0;transition:background var(--duration-fast),color var(--duration-fast)}.steps-toggle.svelte-10529e9:hover{background:var(--bg-subtle);color:var(--text)}.steps-toggle.svelte-10529e9 svg:where(.svelte-10529e9){transition:transform var(--duration-fast) var(--ease-out)}.steps-toggle.svelte-10529e9 svg.rotated:where(.svelte-10529e9){transform:rotate(90deg)}.steps.svelte-10529e9{padding:.75rem 1.25rem .875rem 3.75rem;background:var(--bg-subtle);border-top:1px solid var(--border)}.step-list.svelte-10529e9{list-style:none;display:flex;flex-direction:column;gap:.3rem}.step.svelte-10529e9{font-size:.8125rem;color:var(--text-muted);font-family:JetBrains Mono,monospace;line-height:1.5;padding-left:1rem;position:relative}.step.svelte-10529e9:before{content:"›";position:absolute;left:0;color:var(--accent);font-family:var(--font-body)}.examples.svelte-10529e9{margin-top:.75rem;padding-top:.75rem;border-top:1px dashed var(--border)}.examples-label.svelte-10529e9{display:block;font-size:.68rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem}.examples-table-wrap.svelte-10529e9{overflow-x:auto}.examples-table.svelte-10529e9{border-collapse:collapse;font-size:.78rem;font-family:JetBrains Mono,monospace;width:auto}.examples-table.svelte-10529e9 th:where(.svelte-10529e9){text-align:left;padding:.3rem .75rem;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);font-family:var(--font-body);font-weight:500}.examples-table.svelte-10529e9 td:where(.svelte-10529e9){padding:.3rem .75rem;color:var(--text-muted);border-bottom:1px solid var(--border)}.examples-table.svelte-10529e9 tbody:where(.svelte-10529e9) tr:where(.svelte-10529e9):last-child td:where(.svelte-10529e9){border-bottom:none}.empty.svelte-10529e9{color:var(--text-muted);font-size:.9375rem;padding:3rem 0;text-align:center}@keyframes svelte-10529e9-copiedPop{0%{opacity:0;transform:translate(-50%,4px) scale(.96)}12%,78%{opacity:1;transform:translate(-50%) scale(1)}to{opacity:0;transform:translate(-50%,-2px) scale(.98)}}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
This file is part of Plum.
|
|
3
|
+
|
|
4
|
+
Plum is free software: you can redistribute it and/or modify
|
|
5
|
+
it under the terms of the GNU General Public License as published by
|
|
6
|
+
the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
(at your option) any later version.
|
|
8
|
+
|
|
9
|
+
Plum is distributed in the hope that it will be useful,
|
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
GNU General Public License for more details.
|
|
13
|
+
|
|
14
|
+
You should have received a copy of the GNU General Public License
|
|
15
|
+
along with Plum. If not, see https://www.gnu.org/licenses/.
|
|
16
|
+
*/
|
|
17
|
+
.back-row.svelte-pys2u{margin-bottom:1.5rem}.back-link.svelte-pys2u{display:inline-flex;align-items:center;gap:.35rem;font-size:.8125rem;color:var(--text-muted);text-decoration:none;transition:color var(--duration-fast)}.back-link.svelte-pys2u:hover{color:var(--text)}.report-header.svelte-pys2u{border-radius:var(--radius-lg);border:1px solid var(--border);border-left-width:4px;padding:1.5rem;margin-bottom:2rem;background:var(--bg-elevated);animation:fadeUp .35s var(--ease-out) both}.report-header.pass.svelte-pys2u{border-left-color:var(--pass)}.report-header.fail.svelte-pys2u{border-left-color:var(--fail)}.header-main.svelte-pys2u{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.header-status.svelte-pys2u{display:flex;align-items:center;gap:1rem}.status-icon.svelte-pys2u{font-size:2rem;line-height:1;font-weight:600}.report-header.pass.svelte-pys2u .status-icon:where(.svelte-pys2u){color:var(--pass)}.report-header.fail.svelte-pys2u .status-icon:where(.svelte-pys2u){color:var(--fail)}h1.svelte-pys2u{font-size:2rem;margin-bottom:.2rem}.header-meta.svelte-pys2u{font-size:.8125rem;color:var(--text-muted);display:flex;align-items:center;gap:.5rem}.mono.svelte-pys2u{font-family:JetBrains Mono,monospace;font-size:.78rem}.header-stats.svelte-pys2u{display:flex;gap:1.5rem;align-items:flex-start;flex-shrink:0}.stat.svelte-pys2u{display:flex;flex-direction:column;align-items:center;gap:.1rem}.stat-num.svelte-pys2u{font-family:var(--font-display);font-size:1.75rem;line-height:1;font-weight:400;color:var(--text)}.stat-label.svelte-pys2u{font-size:.68rem;color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase}.pass-color.svelte-pys2u{color:var(--pass)}.fail-color.svelte-pys2u{color:var(--fail)}.muted-color.svelte-pys2u{color:var(--text-muted)}.feature.svelte-pys2u{margin-bottom:1.5rem;animation:fadeUp .35s var(--ease-out) both}.feature-header.svelte-pys2u{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.feature-name.svelte-pys2u{font-size:1.1rem;font-family:var(--font-display);font-weight:400}.feature-file.svelte-pys2u{font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--text-muted);margin-left:auto}.scenarios.svelte-pys2u{display:flex;flex-direction:column;gap:.375rem}.scenario.svelte-pys2u{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);overflow:hidden;animation:fadeUp .3s var(--ease-out) both}.scenario-header.svelte-pys2u{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;width:100%;background:transparent;border:none;cursor:pointer;text-align:left;font-family:var(--font-body);transition:background var(--duration-fast)}.scenario-header.svelte-pys2u:hover{background:var(--bg-subtle)}.scenario-status-dot.svelte-pys2u{width:8px;height:8px;border-radius:50%;flex-shrink:0}.scenario-status-dot.pass.svelte-pys2u{background:var(--pass)}.scenario-status-dot.fail.svelte-pys2u{background:var(--fail)}.scenario-status-dot.skip.svelte-pys2u{background:var(--text-muted)}.scenario-name.svelte-pys2u{flex:1;font-size:.875rem;color:var(--text);font-weight:400;text-align:left;display:inline-flex;align-items:center;gap:.4rem;min-width:0}.scenario-count.svelte-pys2u{font-size:.65rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);background:var(--bg-subtle);border:1px solid var(--border);border-radius:100px;padding:.05rem .4rem;white-space:nowrap}.scenario-tags.svelte-pys2u{display:flex;gap:.25rem;flex-shrink:0}.tag-chip.svelte-pys2u{font-size:.65rem;font-family:JetBrains Mono,monospace;background:var(--accent-soft);color:var(--accent);padding:.1rem .4rem;border-radius:100px}.scenario-duration.svelte-pys2u{font-size:.75rem;color:var(--text-muted);font-family:JetBrains Mono,monospace;flex-shrink:0}.chevron.svelte-pys2u{color:var(--text-muted);flex-shrink:0;transition:transform var(--duration-fast) var(--ease-out)}.chevron.rotated.svelte-pys2u{transform:rotate(90deg)}.steps.svelte-pys2u{border-top:1px solid var(--border);background:var(--bg-subtle);padding:.5rem 0}.example-header.svelte-pys2u{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem .25rem 1.25rem;color:var(--text-muted);font-size:.72rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.example-header.svelte-pys2u:not(:first-child){margin-top:.375rem;border-top:1px dashed var(--border)}.example-header.svelte-pys2u .scenario-duration:where(.svelte-pys2u){margin-left:auto}.step.svelte-pys2u{padding:.375rem 1rem .375rem 1.25rem}.step-fail.svelte-pys2u{background:color-mix(in srgb,var(--fail-soft) 40%,transparent)}.step-skip.svelte-pys2u{opacity:.5}.step-row.svelte-pys2u{display:flex;align-items:baseline;gap:.5rem}.step-status-icon.svelte-pys2u{font-size:.75rem;font-weight:600;width:14px;flex-shrink:0;color:var(--text-muted)}.step-fail.svelte-pys2u .step-status-icon:where(.svelte-pys2u){color:var(--fail)}.step.svelte-pys2u:not(.step-fail):not(.step-skip) .step-status-icon:where(.svelte-pys2u){color:var(--pass)}.kw.svelte-pys2u{font-size:.72rem;font-weight:500;letter-spacing:.04em;flex-shrink:0;padding:.05rem .4rem;border-radius:3px;font-family:JetBrains Mono,monospace}.kw-given.svelte-pys2u{background:var(--accent-soft);color:var(--accent)}.kw-when.svelte-pys2u{background:var(--warn-soft);color:var(--warn)}.kw-then.svelte-pys2u{background:var(--pass-soft);color:var(--pass)}.kw-and.svelte-pys2u{background:var(--bg-elevated);color:var(--text-muted);border:1px solid var(--border)}.step-name.svelte-pys2u{flex:1;font-size:.8125rem;color:var(--text);font-family:JetBrains Mono,monospace}.step-duration.svelte-pys2u{font-size:.7rem;color:var(--text-muted);font-family:JetBrains Mono,monospace;flex-shrink:0}.step-error.svelte-pys2u{margin:.375rem 0 .25rem 1.75rem;padding:.625rem .875rem;background:var(--fail-soft);color:var(--fail);border-radius:var(--radius-sm);font-family:JetBrains Mono,monospace;font-size:.75rem;line-height:1.6;white-space:pre-wrap;word-break:break-word;border-left:2px solid var(--fail)}.screenshot-wrap.svelte-pys2u{margin:.5rem 0 .25rem 1.75rem}.screenshot-toggle.svelte-pys2u{font-size:.75rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.screenshot.svelte-pys2u{margin-top:.5rem;max-width:100%;border-radius:var(--radius-sm);border:1px solid var(--border)}.loading-state.svelte-pys2u{display:flex;justify-content:center;padding:4rem 0}.loading-dots.svelte-pys2u{display:flex;gap:6px;align-items:center}.loading-dots.svelte-pys2u span:where(.svelte-pys2u){width:8px;height:8px;border-radius:50%;background:var(--accent);animation:svelte-pys2u-dotBeat 1.2s ease-in-out infinite}.loading-dots.svelte-pys2u span:where(.svelte-pys2u):nth-child(2){animation-delay:.2s}.loading-dots.svelte-pys2u span:where(.svelte-pys2u):nth-child(3){animation-delay:.4s}@keyframes svelte-pys2u-dotBeat{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}.error-state.svelte-pys2u{padding:3rem 0;color:var(--fail);text-align:center;font-size:.9375rem}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
This file is part of Plum.
|
|
3
|
+
|
|
4
|
+
Plum is free software: you can redistribute it and/or modify
|
|
5
|
+
it under the terms of the GNU General Public License as published by
|
|
6
|
+
the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
(at your option) any later version.
|
|
8
|
+
|
|
9
|
+
Plum is distributed in the hope that it will be useful,
|
|
10
|
+
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
GNU General Public License for more details.
|
|
13
|
+
|
|
14
|
+
You should have received a copy of the GNU General Public License
|
|
15
|
+
along with Plum. If not, see https://www.gnu.org/licenses/.
|
|
16
|
+
*/
|
|
17
|
+
.backdrop.svelte-aus6t7{position:fixed;inset:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem;backdrop-filter:blur(2px)}.panel.svelte-aus6t7{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.75rem;width:100%;max-width:480px;box-shadow:0 4px 6px #0000000a,0 24px 64px #00000024}.header.svelte-aus6t7{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.title.svelte-aus6t7{font-family:var(--font-display);font-size:1.2rem;font-weight:400;color:var(--text)}.close-btn.svelte-aus6t7{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--text-muted);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.close-btn.svelte-aus6t7:hover{background:var(--bg-subtle);color:var(--text)}.body.svelte-aus6t7{display:flex;flex-direction:column;gap:1rem}.page-header.svelte-1ugkbyh{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.header-row.svelte-1ugkbyh{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.page-header.svelte-1ugkbyh h1:where(.svelte-1ugkbyh){font-size:2.5rem;margin-bottom:.375rem}.subtitle.svelte-1ugkbyh{color:var(--text-muted);font-size:.9375rem}.job-row.svelte-1ugkbyh{animation:fadeUp .32s var(--ease-out) both}.toast.svelte-1ugkbyh{margin-bottom:1.25rem;border-radius:var(--radius-md)}.table-wrap.svelte-1ugkbyh{overflow-x:auto}.job-name.svelte-1ugkbyh{font-weight:400;font-size:.875rem}.tag-text.svelte-1ugkbyh{font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--text-muted)}.actions-cell.svelte-1ugkbyh{display:flex;gap:.375rem}.empty.svelte-1ugkbyh{padding:3rem 1.5rem;color:var(--text-muted);font-size:.9375rem;text-align:center}.modal-form.svelte-1ugkbyh{display:flex;flex-direction:column;gap:1rem}.form-error.svelte-1ugkbyh{font-size:.8125rem;color:var(--fail)}.confirm-text.svelte-1ugkbyh{font-size:.9375rem;color:var(--text-muted);line-height:1.6}.confirm-text.svelte-1ugkbyh strong:where(.svelte-1ugkbyh){color:var(--text);font-weight:500}.confirm-actions.svelte-1ugkbyh{display:flex;gap:.625rem;padding-top:.25rem}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of Plum.
|
|
3
|
+
*
|
|
4
|
+
* Plum is free software: you can redistribute it and/or modify
|
|
5
|
+
* it under the terms of the GNU General Public License as published by
|
|
6
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
* (at your option) any later version.
|
|
8
|
+
*
|
|
9
|
+
* Plum is distributed in the hope that it will be useful,
|
|
10
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
* GNU General Public License for more details.
|
|
13
|
+
*
|
|
14
|
+
* You should have received a copy of the GNU General Public License
|
|
15
|
+
* along with Plum. If not, see https://www.gnu.org/licenses/.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import { _ as fallback, Z as slot, $ as bind_props, W as stringify } from "./index.js";
|
|
19
|
+
/* empty css */
|
|
20
|
+
import { a as attr } from "./attributes.js";
|
|
21
|
+
function Badge($$payload, $$props) {
|
|
22
|
+
let variant = fallback($$props["variant"], "neutral");
|
|
23
|
+
$$payload.out += `<span${attr("class", `badge ${stringify(variant)} svelte-imjoo5`)}><!---->`;
|
|
24
|
+
slot($$payload, $$props, "default", {});
|
|
25
|
+
$$payload.out += `<!----></span>`;
|
|
26
|
+
bind_props($$props, { variant });
|
|
27
|
+
}
|
|
28
|
+
export {
|
|
29
|
+
Badge as B
|
|
30
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of Plum.
|
|
3
|
+
*
|
|
4
|
+
* Plum is free software: you can redistribute it and/or modify
|
|
5
|
+
* it under the terms of the GNU General Public License as published by
|
|
6
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
* (at your option) any later version.
|
|
8
|
+
*
|
|
9
|
+
* Plum is distributed in the hope that it will be useful,
|
|
10
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
* GNU General Public License for more details.
|
|
13
|
+
*
|
|
14
|
+
* You should have received a copy of the GNU General Public License
|
|
15
|
+
* along with Plum. If not, see https://www.gnu.org/licenses/.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import { _ as fallback, Z as slot, $ as bind_props, W as stringify } from "./index.js";
|
|
19
|
+
import { a as attr } from "./attributes.js";
|
|
20
|
+
function Button($$payload, $$props) {
|
|
21
|
+
let variant = fallback($$props["variant"], "primary");
|
|
22
|
+
let size = fallback($$props["size"], "md");
|
|
23
|
+
let type = fallback($$props["type"], "button");
|
|
24
|
+
let disabled = fallback($$props["disabled"], false);
|
|
25
|
+
$$payload.out += `<button${attr("type", type)}${attr("disabled", disabled, true)}${attr("class", `btn ${stringify(variant)} ${stringify(size)} svelte-1mw9qtj`)}><!---->`;
|
|
26
|
+
slot($$payload, $$props, "default", {});
|
|
27
|
+
$$payload.out += `<!----></button>`;
|
|
28
|
+
bind_props($$props, { variant, size, type, disabled });
|
|
29
|
+
}
|
|
30
|
+
export {
|
|
31
|
+
Button as B
|
|
32
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of Plum.
|
|
3
|
+
*
|
|
4
|
+
* Plum is free software: you can redistribute it and/or modify
|
|
5
|
+
* it under the terms of the GNU General Public License as published by
|
|
6
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
* (at your option) any later version.
|
|
8
|
+
*
|
|
9
|
+
* Plum is distributed in the hope that it will be useful,
|
|
10
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
* GNU General Public License for more details.
|
|
13
|
+
*
|
|
14
|
+
* You should have received a copy of the GNU General Public License
|
|
15
|
+
* along with Plum. If not, see https://www.gnu.org/licenses/.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import { e as escape_html } from "./escaping.js";
|
|
19
|
+
import "clsx";
|
|
20
|
+
const replacements = {
|
|
21
|
+
translate: /* @__PURE__ */ new Map([
|
|
22
|
+
[true, "yes"],
|
|
23
|
+
[false, "no"]
|
|
24
|
+
])
|
|
25
|
+
};
|
|
26
|
+
function attr(name, value, is_boolean = false) {
|
|
27
|
+
if (value == null || !value && is_boolean || value === "" && name === "class") return "";
|
|
28
|
+
const normalized = name in replacements && replacements[name].get(value) || value;
|
|
29
|
+
const assignment = is_boolean ? "" : `="${escape_html(normalized, true)}"`;
|
|
30
|
+
return ` ${name}${assignment}`;
|
|
31
|
+
}
|
|
32
|
+
export {
|
|
33
|
+
attr as a
|
|
34
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of Plum.
|
|
3
|
+
*
|
|
4
|
+
* Plum is free software: you can redistribute it and/or modify
|
|
5
|
+
* it under the terms of the GNU General Public License as published by
|
|
6
|
+
* the Free Software Foundation, either version 3 of the License, or
|
|
7
|
+
* (at your option) any later version.
|
|
8
|
+
*
|
|
9
|
+
* Plum is distributed in the hope that it will be useful,
|
|
10
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
11
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
12
|
+
* GNU General Public License for more details.
|
|
13
|
+
*
|
|
14
|
+
* You should have received a copy of the GNU General Public License
|
|
15
|
+
* along with Plum. If not, see https://www.gnu.org/licenses/.
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
import "clsx";
|
|
19
|
+
import { w as writable } from "./exports.js";
|
|
20
|
+
import { a1 as noop } from "./index.js";
|
|
21
|
+
const SNAPSHOT_KEY = "sveltekit:snapshot";
|
|
22
|
+
const SCROLL_KEY = "sveltekit:scroll";
|
|
23
|
+
function create_updated_store() {
|
|
24
|
+
const { set, subscribe } = writable(false);
|
|
25
|
+
{
|
|
26
|
+
return {
|
|
27
|
+
subscribe,
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/require-await
|
|
29
|
+
check: async () => false
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const is_legacy = noop.toString().includes("$$") || /function \w+\(\) \{\}/.test(noop.toString());
|
|
34
|
+
if (is_legacy) {
|
|
35
|
+
({
|
|
36
|
+
data: {},
|
|
37
|
+
form: null,
|
|
38
|
+
error: null,
|
|
39
|
+
params: {},
|
|
40
|
+
route: { id: null },
|
|
41
|
+
state: {},
|
|
42
|
+
status: -1,
|
|
43
|
+
url: new URL("https://example.com")
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
function get(key, parse = JSON.parse) {
|
|
47
|
+
try {
|
|
48
|
+
return parse(sessionStorage[key]);
|
|
49
|
+
} catch {
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
get(SCROLL_KEY) ?? {};
|
|
53
|
+
get(SNAPSHOT_KEY) ?? {};
|
|
54
|
+
const stores = {
|
|
55
|
+
updated: /* @__PURE__ */ create_updated_store()
|
|
56
|
+
};
|
|
57
|
+
export {
|
|
58
|
+
stores as s
|
|
59
|
+
};
|