thursday-agent 0.16.0 → 0.17.0
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/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/api/artifact/route.js +9 -9
- package/.next/server/app/api/artifact/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/files/route.js +3 -3
- package/.next/server/app/api/bot/memory/files/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/memory/route.js +8 -8
- package/.next/server/app/api/bot/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/route.js +8 -8
- package/.next/server/app/api/bot/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/thread/[id]/route.js +3 -3
- package/.next/server/app/api/bot/thread/[id]/route.js.nft.json +1 -1
- package/.next/server/app/api/bot/thread/route.js +3 -3
- package/.next/server/app/api/bot/thread/route.js.nft.json +1 -1
- package/.next/server/app/api/config/route.js.nft.json +1 -1
- package/.next/server/app/api/events/route.js.nft.json +1 -1
- package/.next/server/app/api/favicon/[host]/route.js.nft.json +1 -1
- package/.next/server/app/api/file/[...path]/route.js +4 -4
- package/.next/server/app/api/file/[...path]/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/catalog/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/credits/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/route.js.nft.json +1 -1
- package/.next/server/app/api/llm-model/subscription/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/oauth/callback/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/route.js.nft.json +1 -1
- package/.next/server/app/api/mcp/tools/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/edit/route.js +11 -11
- package/.next/server/app/api/memory/edit/route.js.nft.json +1 -1
- package/.next/server/app/api/memory/route.js.nft.json +1 -1
- package/.next/server/app/api/reach/route.js +11 -11
- package/.next/server/app/api/reach/route.js.nft.json +1 -1
- package/.next/server/app/api/routine/route.js +7 -7
- package/.next/server/app/api/routine/route.js.nft.json +1 -1
- package/.next/server/app/api/signins/route.js +5 -5
- package/.next/server/app/api/signins/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/[source]/[name]/route.js +7 -7
- package/.next/server/app/api/skills/[source]/[name]/route.js.nft.json +1 -1
- package/.next/server/app/api/skills/route.js +7 -7
- package/.next/server/app/api/skills/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/call/route.js +5 -5
- package/.next/server/app/api/thursday/call/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/settings/route.js +5 -5
- package/.next/server/app/api/thursday/settings/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/text/route.js +13 -13
- package/.next/server/app/api/thursday/text/route.js.nft.json +1 -1
- package/.next/server/app/api/thursday/tool-call/route.js +12 -12
- package/.next/server/app/api/thursday/tool-call/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/files/route.js +8 -8
- package/.next/server/app/api/workspace/files/route.js.nft.json +1 -1
- package/.next/server/app/api/workspace/route.js +9 -9
- package/.next/server/app/api/workspace/route.js.nft.json +1 -1
- package/.next/server/app/artifact/[...path]/page/server-reference-manifest.json +3 -3
- package/.next/server/app/artifact/[...path]/page.js +4 -4
- package/.next/server/app/artifact/[...path]/page.js.nft.json +1 -1
- package/.next/server/app/artifact/[...path]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/server/app/manifest.webmanifest/route.js.nft.json +1 -1
- package/.next/server/app/page/server-reference-manifest.json +60 -60
- package/.next/server/app/page.js +5 -5
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__00qyw01._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__01ypm_z._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__021dkui._.js +3 -0
- package/.next/server/chunks/{[root-of-the-server]__18e65_-._.js → [root-of-the-server]__03xamry._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__05dp5tr._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__09gdscj._.js +7 -0
- package/.next/server/chunks/{[root-of-the-server]__10_7vqz._.js → [root-of-the-server]__0b36yfw._.js} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1gamvcz._.js → [root-of-the-server]__0jzwdg-._.js} +2 -2
- package/.next/server/chunks/[root-of-the-server]__0mrk2it._.js +1 -1
- package/.next/server/chunks/[root-of-the-server]__0nmust6._.js +5 -0
- package/.next/server/chunks/[root-of-the-server]__0svzjwa._.js +7 -0
- package/.next/server/chunks/{[root-of-the-server]__16yw3mb._.js → [root-of-the-server]__12m24xl._.js} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1zrwxis._.js → [root-of-the-server]__12tahb4._.js} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1ep-pao._.js → [root-of-the-server]__1_h4hf9._.js} +4 -4
- package/.next/server/chunks/{[root-of-the-server]__1-tdj60._.js → [root-of-the-server]__1de1o6m._.js} +2 -2
- package/.next/server/chunks/{[root-of-the-server]__1voqqyc._.js → [root-of-the-server]__1ignh6-._.js} +1 -1
- package/.next/server/chunks/[root-of-the-server]__1t02-1p._.js +3 -0
- package/.next/server/chunks/[root-of-the-server]__1ygplx1._.js +1 -1
- package/.next/server/chunks/{[root-of-the-server]__11g20j-._.js → [root-of-the-server]__1yl5l25._.js} +1 -1
- package/.next/server/chunks/{[root-of-the-server]__1mbd2w_._.js → [root-of-the-server]__208vmyf._.js} +1 -1
- package/.next/server/chunks/{_1mfu9a3._.js → _02lipqs._.js} +1 -1
- package/.next/server/chunks/_05sa7xl._.js +1 -1
- package/.next/server/chunks/{_1rg5bfd._.js → _074f2ts._.js} +1 -1
- package/.next/server/chunks/_07nxi75._.js +3 -3
- package/.next/server/chunks/_08btiir._.js +7 -0
- package/.next/server/chunks/_0caua_s._.js +1 -1
- package/.next/server/chunks/{_0qoush_._.js → _0gt6cbj._.js} +1 -1
- package/.next/server/chunks/_0xygcxs._.js +3 -3
- package/.next/server/chunks/{_09c4we8._.js → _17i1lt2._.js} +1 -1
- package/.next/server/chunks/_19kea1l._.js +9 -9
- package/.next/server/chunks/_1gn2r2q._.js +3 -3
- package/.next/server/chunks/{_03niwml._.js → _1ntwp1s._.js} +1 -1
- package/.next/server/chunks/_1q6e56i._.js +3 -3
- package/.next/server/chunks/{_02fn1o3._.js → _1tkzgtm._.js} +1 -1
- package/.next/server/chunks/_1wl2g8_._.js +2 -2
- package/.next/server/chunks/{_1w6uf9k._.js → _1y3mnz4._.js} +1 -1
- package/.next/server/chunks/features_workspace_workspace_ts_13h82gv._.js +4 -4
- package/.next/server/chunks/features_workspace_workspace_ts_1iyjroj._.js +4 -4
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0cux6zt._.js → node_modules_consola_dist_chunks_prompt_mjs_04oxl25._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_0w32bqh._.js → node_modules_consola_dist_chunks_prompt_mjs_0g87zst._.js} +1 -1
- package/.next/server/chunks/{node_modules_consola_dist_chunks_prompt_mjs_1clmnaj._.js → node_modules_consola_dist_chunks_prompt_mjs_1341cnf._.js} +1 -1
- package/.next/server/chunks/ssr/{[root-of-the-server]__02jdtqa._.js → [root-of-the-server]__07660xu._.js} +2 -2
- package/.next/server/chunks/ssr/{[root-of-the-server]__0rnjkw2._.js → [root-of-the-server]__149x25m._.js} +2 -2
- package/.next/server/chunks/ssr/[root-of-the-server]__17h1ggo._.js +1 -1
- package/.next/server/chunks/ssr/[root-of-the-server]__19s8qyj._.js +3 -0
- package/.next/server/chunks/ssr/[root-of-the-server]__1jyeu61._.js +1 -1
- package/.next/server/chunks/ssr/_088vzgn._.js +3 -0
- package/.next/server/chunks/ssr/{_0wupyvd._.js → _0_vnw9v._.js} +2 -2
- package/.next/server/chunks/ssr/{_1u5vsy-._.js → _0aeknva._.js} +2 -2
- package/.next/server/chunks/ssr/_0fo4552._.js +3 -3
- package/.next/server/chunks/ssr/{_0-ou1b0._.js → _0n2scfq._.js} +2 -2
- package/.next/server/chunks/ssr/_0o_o9ji._.js +3 -0
- package/.next/server/chunks/ssr/_0qne8xs._.js +3 -0
- package/.next/server/chunks/ssr/_0r0g9ki._.js +1 -1
- package/.next/server/chunks/ssr/_0v9r8g2._.js +3 -0
- package/.next/server/chunks/ssr/_0x8ophf._.js +1 -1
- package/.next/server/chunks/ssr/{_0ncuqct._.js → _0ztbn5q._.js} +2 -2
- package/.next/server/chunks/ssr/{_0w8r7o7._.js → _1-41lck._.js} +2 -2
- package/.next/server/chunks/ssr/{_10fwcz_._.js → _14dfh7a._.js} +2 -2
- package/.next/server/chunks/ssr/{_1f6s34p._.js → _15m5ctz._.js} +2 -2
- package/.next/server/chunks/ssr/{_11pnnvd._.js → _18-e7zi._.js} +2 -2
- package/.next/server/chunks/ssr/{_0y28gl3._.js → _1c5iqz1._.js} +3 -3
- package/.next/server/chunks/ssr/{_1dqaksc._.js → _1hbjh6n._.js} +2 -2
- package/.next/server/chunks/ssr/_1neoj22._.js +1 -1
- package/.next/server/chunks/ssr/{_1k0efi3._.js → _1sttj8x._.js} +2 -2
- package/.next/server/chunks/ssr/_1uij_rj._.js +1 -1
- package/.next/server/chunks/ssr/_1umbr78._.js +1 -1
- package/.next/server/chunks/ssr/{_17ble8k._.js → _1vtgiou._.js} +3 -3
- package/.next/server/chunks/ssr/_1w9w1ok._.js +1 -1
- package/.next/server/chunks/ssr/{_1z586yw._.js → _1z6pirx._.js} +2 -2
- package/.next/server/chunks/ssr/features_0796o8r._.js +1 -1
- package/.next/server/chunks/ssr/features_bot_1knyan7._.js +3 -0
- package/.next/server/chunks/ssr/features_bot_1kr0_m-._.js +3 -0
- package/.next/server/chunks/ssr/{features_config_11dpa7r._.js → features_config_0n0zu89._.js} +3 -3
- package/.next/server/chunks/ssr/features_connectors_components_mcp-setting_tsx_0jmbgvp._.js +1 -1
- package/.next/server/chunks/ssr/features_memory_components_memory-setting_tsx_0oa43sw._.js +1 -1
- package/.next/server/chunks/ssr/features_routine_components_routine-setting_tsx_055fknz._.js +1 -1
- package/.next/server/chunks/ssr/features_workspace_workspace_ts_1wc7_u_._.js +4 -4
- package/.next/server/chunks/ssr/{node_modules_1r5o-bo._.js → node_modules_00h1t1j._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1o9n7_n._.js → node_modules_02ficyi._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0u24mg0._.js → node_modules_03q71_j._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_138kcrz._.js → node_modules_03uejh6._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0x_2io2._.js → node_modules_06grs09._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0n1js5k._.js → node_modules_07mo9rn._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0bas34k._.js → node_modules_09e8kz_._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1dzye0n._.js → node_modules_09ikzel._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_18yn_bs._.js → node_modules_0_d_7gq._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0ka8te1._.js → node_modules_0_p8w7p._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0mark4f._.js → node_modules_0f5bmkb._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0sdjzae._.js → node_modules_0kwie-o._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1ozyial._.js → node_modules_0r-9e4n._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_156m1qh._.js → node_modules_0u_8z64._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0-ew8f8._.js → node_modules_0zf3wuu._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1xua-g1._.js → node_modules_1-7fc7h._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0ld7p-1._.js → node_modules_142z3o5._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0-8r9yw._.js → node_modules_180l3i0._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1tj7_9z._.js → node_modules_197vh1s._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0y5uubt._.js → node_modules_1_n9o9s._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0etz1i0._.js → node_modules_1fw32pg._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0bbwe-u._.js → node_modules_1hefp6h._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_097cl9f._.js → node_modules_1irot3r._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_0uibk9z._.js → node_modules_1om2itc._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_1zkzksd._.js → node_modules_1ubln7w._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_02uwbwp._.js → node_modules_1wyhtw9._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_133hjui._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0aczkbn._.js} +1 -1
- package/.next/server/chunks/ssr/{node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_1b3vwd3._.js → node_modules_@mermaid-js_parser_dist_chunks_mermaid-parser_core_0ah684s._.js} +1 -1
- package/.next/server/middleware-build-manifest.js +3 -3
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +61 -61
- package/.next/static/chunks/{1ub9obhgfm4jl.js → 024plctckvq-1.js} +1 -1
- package/.next/static/chunks/04toe_3nqfjqt.js +1 -0
- package/.next/static/chunks/{0609ejkwuy4sf.js → 0_b_bi2pobasx.js} +2 -2
- package/.next/static/chunks/{3ro66d9dc70bc.js → 0dfvwgnyrp8qt.js} +1 -1
- package/.next/static/chunks/{314szf8yer-3n.js → 0f47nnshdlucs.js} +1 -1
- package/.next/static/chunks/0sowxe4nnl5qu.js +1 -0
- package/.next/static/chunks/{07vcuxousbmy1.js → 0sv142q1yrva2.js} +1 -1
- package/.next/static/chunks/{0q4ws7qd21chx.js → 0tp868040z9nn.js} +2 -2
- package/.next/static/chunks/{0unonxbajyknw.js → 1-63yde5eaz7i.js} +1 -1
- package/.next/static/chunks/14qitm0kwsb6g.js +15 -0
- package/.next/static/chunks/{2xjr5b-yk_h3o.js → 1bgvxd3xny53w.js} +1 -1
- package/.next/static/chunks/{245_cp14iz637.js → 1cyrrz4q871aj.js} +1 -1
- package/.next/static/chunks/1st3b0c9vhxg3.js +1 -0
- package/.next/static/chunks/{39miwvg4k-b2d.js → 1wbqaidq7vc3_.js} +1 -1
- package/.next/static/chunks/{0cl_fgkphk1oz.js → 28sxb_k460e9h.js} +1 -1
- package/.next/static/chunks/{3j-l8un0d77v7.js → 2v6e_9p95o2e3.js} +1 -1
- package/.next/static/chunks/{23tx-2paw9qa6.js → 3-qp777vtfglj.js} +1 -1
- package/.next/static/chunks/{2jbjyazqfqyoh.js → 33ekkscpcq-z1.js} +1 -1
- package/.next/static/chunks/388l-zszwa_jf.js +1 -0
- package/.next/static/chunks/{3vwjs5kq11417.js → 38edd4rpcbvzp.js} +1 -1
- package/.next/static/chunks/3bwrvpjk95_x4.js +1 -0
- package/.next/static/chunks/{42m371fn687r5.js → 3itdg6t243u6f.js} +1 -1
- package/.next/static/chunks/{2oa4gpkzjtpni.js → 44vre0f7xqsh-.js} +1 -1
- package/README.md +12 -12
- package/guide/bots.md +48 -8
- package/guide/calls.md +13 -12
- package/guide/setup.md +4 -2
- package/package.json +1 -1
- package/public/sounds/NOTICE +3 -0
- package/public/sounds/opening-land.ogg +0 -0
- package/public/sounds/opening-rise.ogg +0 -0
- package/public/sounds/opening-step-1.ogg +0 -0
- package/public/sounds/opening-step-2.ogg +0 -0
- package/public/sounds/opening-step-3.ogg +0 -0
- package/skills/README.md +3 -0
- package/skills/artifact/SKILL.md +6 -5
- package/skills/artifact/references/book.md +22 -8
- package/skills/artifact/references/deck.md +4 -2
- package/skills/artifact/references/document.md +9 -0
- package/skills/artifact/references/sheet.md +108 -0
- package/skills/artifact/runtime/book/book.css +75 -0
- package/skills/artifact/runtime/book/book.html +6 -3
- package/skills/artifact/runtime/book/book.js +21 -0
- package/skills/artifact/runtime/canvas/canvas.css +1 -1
- package/skills/artifact/runtime/canvas/canvas.js +11 -1
- package/skills/artifact/runtime/deck/deck.css +164 -1
- package/skills/artifact/runtime/deck/deck.js +76 -1
- package/skills/artifact/runtime/document/docx.js +631 -0
- package/skills/artifact/runtime/document/markdown.mjs +58 -2
- package/skills/artifact/runtime/document/quick.css +66 -0
- package/skills/artifact/runtime/document/quick.html +1 -0
- package/skills/artifact/runtime/document/quick.js +154 -0
- package/skills/artifact/runtime/document/word.mjs +65 -0
- package/skills/artifact/runtime/sheet/format.mjs +385 -0
- package/skills/artifact/runtime/sheet/formula.mjs +755 -0
- package/skills/artifact/runtime/sheet/sheet.css +499 -0
- package/skills/artifact/runtime/sheet/sheet.html +102 -0
- package/skills/artifact/runtime/sheet/sheet.js +1361 -0
- package/skills/artifact/runtime/sheet/xlsx.mjs +320 -0
- package/skills/artifact/runtime/shell/head.html +1 -1
- package/skills/artifact/runtime/shell/shell.css +3 -0
- package/skills/artifact/runtime/shell/wear.mjs +47 -1
- package/skills/artifact/runtime/vendor/fflate.LICENSE.md +23 -0
- package/skills/artifact/runtime/vendor/fflate.mjs +2710 -0
- package/skills/artifact/scripts/book.mjs +141 -5
- package/skills/artifact/scripts/chart.mjs +229 -11
- package/skills/artifact/scripts/document.mjs +29 -2
- package/skills/artifact/scripts/spreadsheet.mjs +1068 -0
- package/skills/data-report/SKILL.md +8 -1
- package/.next/server/chunks/[root-of-the-server]__0aijj66._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__0tvoct-._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__118qjk_._.js +0 -7
- package/.next/server/chunks/[root-of-the-server]__1b8tp42._.js +0 -5
- package/.next/server/chunks/[root-of-the-server]__1gzcbda._.js +0 -3
- package/.next/server/chunks/[root-of-the-server]__1qcn1ti._.js +0 -7
- package/.next/server/chunks/_0xx3ryc._.js +0 -7
- package/.next/server/chunks/ssr/[root-of-the-server]__1y5_1cv._.js +0 -3
- package/.next/server/chunks/ssr/_0l1-xc6._.js +0 -3
- package/.next/server/chunks/ssr/_1g48r6t._.js +0 -3
- package/.next/server/chunks/ssr/features_bot_1k25jdg._.js +0 -3
- package/.next/server/chunks/ssr/features_bot_1s_-2vj._.js +0 -3
- package/.next/server/chunks/ssr/lib_utils_ts_0_f1xvm._.js +0 -3
- package/.next/static/chunks/00d54fcfm-lko.js +0 -1
- package/.next/static/chunks/0gjlsu6vrfzod.js +0 -1
- package/.next/static/chunks/17yqt1p_svv13.js +0 -1
- package/.next/static/chunks/203pbwecfs3tm.js +0 -1
- package/.next/static/chunks/3ghvoe_mlljzs.js +0 -15
- package/.next/static/chunks/3gn7dubb4-pwy.js +0 -1
- /package/.next/static/{RtLRT9EEaGn-OqwpMFdYg → VtbCMn-0G969p8QJsWdGv}/_buildManifest.js +0 -0
- /package/.next/static/{RtLRT9EEaGn-OqwpMFdYg → VtbCMn-0G969p8QJsWdGv}/_clientMiddlewareManifest.js +0 -0
- /package/.next/static/{RtLRT9EEaGn-OqwpMFdYg → VtbCMn-0G969p8QJsWdGv}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,499 @@
|
|
|
1
|
+
/* A sheet: the grid fills the window under the page's head, with a formula line over it and
|
|
2
|
+
the sheets' tabs and the picked cells' sum under it. Colours are the shell's, so it reads in
|
|
3
|
+
light and dark alike. */
|
|
4
|
+
html,
|
|
5
|
+
body {
|
|
6
|
+
height: 100%;
|
|
7
|
+
}
|
|
8
|
+
body {
|
|
9
|
+
display: flex;
|
|
10
|
+
flex-direction: column;
|
|
11
|
+
margin: 0;
|
|
12
|
+
overflow: hidden;
|
|
13
|
+
background: var(--sh-paper);
|
|
14
|
+
color: var(--sh-ink);
|
|
15
|
+
font-family: var(--sh-font);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.ss-bar {
|
|
19
|
+
display: flex;
|
|
20
|
+
flex: none;
|
|
21
|
+
align-items: stretch;
|
|
22
|
+
height: 32px;
|
|
23
|
+
border-bottom: 1px solid var(--sh-line);
|
|
24
|
+
font-size: 13px;
|
|
25
|
+
}
|
|
26
|
+
.ss-ref {
|
|
27
|
+
display: flex;
|
|
28
|
+
align-items: center;
|
|
29
|
+
justify-content: center;
|
|
30
|
+
width: 76px;
|
|
31
|
+
border-right: 1px solid var(--sh-line);
|
|
32
|
+
color: var(--sh-ink-2);
|
|
33
|
+
font-weight: 600;
|
|
34
|
+
font-variant-numeric: tabular-nums;
|
|
35
|
+
}
|
|
36
|
+
.ss-fx {
|
|
37
|
+
display: flex;
|
|
38
|
+
align-items: center;
|
|
39
|
+
padding: 0 10px;
|
|
40
|
+
color: var(--sh-ink-3);
|
|
41
|
+
font-family: Georgia, serif;
|
|
42
|
+
font-style: italic;
|
|
43
|
+
}
|
|
44
|
+
.ss-formula {
|
|
45
|
+
flex: 1;
|
|
46
|
+
min-width: 0;
|
|
47
|
+
height: 100%;
|
|
48
|
+
margin: 0;
|
|
49
|
+
padding: 0;
|
|
50
|
+
border: 0;
|
|
51
|
+
background: transparent;
|
|
52
|
+
color: var(--sh-ink);
|
|
53
|
+
font-family: ui-monospace, "SF Mono", Menlo, monospace;
|
|
54
|
+
font-size: 12.5px;
|
|
55
|
+
text-overflow: ellipsis;
|
|
56
|
+
outline: none;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.ss-grid {
|
|
60
|
+
position: relative;
|
|
61
|
+
flex: 1;
|
|
62
|
+
min-height: 0;
|
|
63
|
+
overflow: auto;
|
|
64
|
+
outline: none;
|
|
65
|
+
}
|
|
66
|
+
.ss-grid table {
|
|
67
|
+
border-collapse: separate;
|
|
68
|
+
border-spacing: 0;
|
|
69
|
+
table-layout: fixed;
|
|
70
|
+
font-size: 13px;
|
|
71
|
+
}
|
|
72
|
+
.ss-grid :is(th, td) {
|
|
73
|
+
height: 26px;
|
|
74
|
+
box-sizing: border-box;
|
|
75
|
+
padding: 0 8px;
|
|
76
|
+
border-right: 1px solid var(--sh-line);
|
|
77
|
+
border-bottom: 1px solid var(--sh-line);
|
|
78
|
+
overflow: hidden;
|
|
79
|
+
white-space: nowrap;
|
|
80
|
+
text-overflow: ellipsis;
|
|
81
|
+
cursor: cell;
|
|
82
|
+
user-select: none;
|
|
83
|
+
}
|
|
84
|
+
.ss-grid td {
|
|
85
|
+
background: var(--sh-paper);
|
|
86
|
+
}
|
|
87
|
+
.ss-grid td.num {
|
|
88
|
+
text-align: right;
|
|
89
|
+
font-variant-numeric: tabular-nums;
|
|
90
|
+
}
|
|
91
|
+
.ss-grid td.err {
|
|
92
|
+
color: var(--sh-bad);
|
|
93
|
+
}
|
|
94
|
+
/* Column letters and row numbers stay in view; the header row stays under the letters */
|
|
95
|
+
.ss-grid thead th {
|
|
96
|
+
position: sticky;
|
|
97
|
+
z-index: 2;
|
|
98
|
+
background: var(--sh-soft);
|
|
99
|
+
}
|
|
100
|
+
.ss-grid .ss-letters th {
|
|
101
|
+
top: 0;
|
|
102
|
+
color: var(--sh-ink-3);
|
|
103
|
+
font-size: 11px;
|
|
104
|
+
font-weight: 500;
|
|
105
|
+
text-align: center;
|
|
106
|
+
}
|
|
107
|
+
.ss-grid .ss-names th {
|
|
108
|
+
top: 26px;
|
|
109
|
+
color: var(--sh-ink);
|
|
110
|
+
font-weight: 650;
|
|
111
|
+
text-align: left;
|
|
112
|
+
}
|
|
113
|
+
.ss-grid .ss-names th.num {
|
|
114
|
+
text-align: right;
|
|
115
|
+
}
|
|
116
|
+
.ss-grid .ss-row {
|
|
117
|
+
position: sticky;
|
|
118
|
+
left: 0;
|
|
119
|
+
z-index: 1;
|
|
120
|
+
width: 48px;
|
|
121
|
+
padding: 0;
|
|
122
|
+
background: var(--sh-soft);
|
|
123
|
+
color: var(--sh-ink-3);
|
|
124
|
+
font-size: 11px;
|
|
125
|
+
font-weight: 500;
|
|
126
|
+
text-align: center;
|
|
127
|
+
}
|
|
128
|
+
.ss-grid thead .ss-row {
|
|
129
|
+
z-index: 3;
|
|
130
|
+
text-align: center;
|
|
131
|
+
}
|
|
132
|
+
.ss-grid tfoot td,
|
|
133
|
+
.ss-grid tfoot th {
|
|
134
|
+
position: sticky;
|
|
135
|
+
bottom: 0;
|
|
136
|
+
z-index: 1;
|
|
137
|
+
border-top: 1px solid var(--sh-ink-3);
|
|
138
|
+
background: var(--sh-soft);
|
|
139
|
+
font-weight: 650;
|
|
140
|
+
}
|
|
141
|
+
.ss-grid tfoot .ss-row {
|
|
142
|
+
z-index: 3;
|
|
143
|
+
}
|
|
144
|
+
/* The column's own button: sort and filter */
|
|
145
|
+
.ss-name {
|
|
146
|
+
display: flex;
|
|
147
|
+
align-items: center;
|
|
148
|
+
gap: 6px;
|
|
149
|
+
}
|
|
150
|
+
.ss-names th.num .ss-name {
|
|
151
|
+
flex-direction: row-reverse;
|
|
152
|
+
}
|
|
153
|
+
.ss-name span {
|
|
154
|
+
min-width: 0;
|
|
155
|
+
overflow: hidden;
|
|
156
|
+
text-overflow: ellipsis;
|
|
157
|
+
}
|
|
158
|
+
.ss-col {
|
|
159
|
+
flex: none;
|
|
160
|
+
display: grid;
|
|
161
|
+
place-items: center;
|
|
162
|
+
width: 20px;
|
|
163
|
+
height: 20px;
|
|
164
|
+
margin: 0 -4px;
|
|
165
|
+
padding: 0;
|
|
166
|
+
border: 0;
|
|
167
|
+
border-radius: 5px;
|
|
168
|
+
background: transparent;
|
|
169
|
+
color: var(--sh-ink-3);
|
|
170
|
+
cursor: pointer;
|
|
171
|
+
}
|
|
172
|
+
.ss-col:hover,
|
|
173
|
+
.ss-col[aria-expanded="true"] {
|
|
174
|
+
background: var(--sh-sunk);
|
|
175
|
+
color: var(--sh-ink);
|
|
176
|
+
}
|
|
177
|
+
.ss-col.on {
|
|
178
|
+
color: var(--sh-brand);
|
|
179
|
+
}
|
|
180
|
+
.ss-col svg {
|
|
181
|
+
width: 13px;
|
|
182
|
+
height: 13px;
|
|
183
|
+
fill: none;
|
|
184
|
+
stroke: currentColor;
|
|
185
|
+
stroke-width: 2;
|
|
186
|
+
stroke-linecap: round;
|
|
187
|
+
stroke-linejoin: round;
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
/* What is picked: a wash over the range, a ring on the cell the formula line shows */
|
|
191
|
+
.ss-grid .in {
|
|
192
|
+
background: var(--sh-brand-soft);
|
|
193
|
+
}
|
|
194
|
+
.ss-grid .at {
|
|
195
|
+
box-shadow: inset 0 0 0 2px var(--sh-brand);
|
|
196
|
+
}
|
|
197
|
+
/* A cell worked out by a formula, faintly; the cells the picked formula names, each reference in
|
|
198
|
+
its own colour, edged where the range ends (sheet.js showRefs) */
|
|
199
|
+
.ss-grid td.fx:not(.in) {
|
|
200
|
+
background: color-mix(in srgb, var(--sh-brand) 5%, var(--sh-paper));
|
|
201
|
+
}
|
|
202
|
+
.ss-grid td[data-ref],
|
|
203
|
+
.ss-grid th[data-ref] {
|
|
204
|
+
background: color-mix(in srgb, var(--ref) 12%, var(--sh-paper));
|
|
205
|
+
box-shadow:
|
|
206
|
+
inset 0 var(--rt, 0) 0 0 var(--ref),
|
|
207
|
+
inset calc(-1 * var(--rr, 0px)) 0 0 0 var(--ref),
|
|
208
|
+
inset 0 calc(-1 * var(--rb, 0px)) 0 0 var(--ref),
|
|
209
|
+
inset var(--rl, 0) 0 0 0 var(--ref);
|
|
210
|
+
}
|
|
211
|
+
.ss-grid .ss-row.in,
|
|
212
|
+
.ss-grid .ss-letters th.in {
|
|
213
|
+
background: color-mix(in srgb, var(--sh-brand) 16%, var(--sh-soft));
|
|
214
|
+
color: var(--sh-brand);
|
|
215
|
+
}
|
|
216
|
+
.ss-more {
|
|
217
|
+
margin: 0;
|
|
218
|
+
padding: 10px 14px;
|
|
219
|
+
color: var(--sh-ink-3);
|
|
220
|
+
font-size: 12px;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.ss-foot {
|
|
224
|
+
display: flex;
|
|
225
|
+
flex: none;
|
|
226
|
+
align-items: stretch;
|
|
227
|
+
height: 36px;
|
|
228
|
+
border-top: 1px solid var(--sh-line);
|
|
229
|
+
background: var(--sh-soft);
|
|
230
|
+
font-size: 13px;
|
|
231
|
+
}
|
|
232
|
+
.ss-tabs {
|
|
233
|
+
display: flex;
|
|
234
|
+
min-width: 0;
|
|
235
|
+
overflow-x: auto;
|
|
236
|
+
}
|
|
237
|
+
.ss-tabs button {
|
|
238
|
+
flex: none;
|
|
239
|
+
padding: 0 16px;
|
|
240
|
+
border: 0;
|
|
241
|
+
border-right: 1px solid var(--sh-line);
|
|
242
|
+
background: transparent;
|
|
243
|
+
color: var(--sh-ink-2);
|
|
244
|
+
font: inherit;
|
|
245
|
+
cursor: pointer;
|
|
246
|
+
}
|
|
247
|
+
.ss-tabs button[aria-selected="true"] {
|
|
248
|
+
background: var(--sh-paper);
|
|
249
|
+
color: var(--sh-ink);
|
|
250
|
+
font-weight: 650;
|
|
251
|
+
box-shadow: inset 0 -2px 0 var(--sh-ink);
|
|
252
|
+
}
|
|
253
|
+
.ss-gap {
|
|
254
|
+
flex: 1;
|
|
255
|
+
}
|
|
256
|
+
.ss-stat {
|
|
257
|
+
display: flex;
|
|
258
|
+
align-items: center;
|
|
259
|
+
gap: 16px;
|
|
260
|
+
padding: 0 14px;
|
|
261
|
+
color: var(--sh-ink-2);
|
|
262
|
+
font-variant-numeric: tabular-nums;
|
|
263
|
+
white-space: nowrap;
|
|
264
|
+
}
|
|
265
|
+
.ss-stat b {
|
|
266
|
+
color: var(--sh-ink);
|
|
267
|
+
font-weight: 650;
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
.ss-menu {
|
|
271
|
+
position: fixed;
|
|
272
|
+
z-index: 20;
|
|
273
|
+
display: flex;
|
|
274
|
+
flex-direction: column;
|
|
275
|
+
width: 240px;
|
|
276
|
+
max-height: min(420px, 70vh);
|
|
277
|
+
padding: 6px;
|
|
278
|
+
border: 1px solid var(--sh-line);
|
|
279
|
+
border-radius: var(--sh-radius);
|
|
280
|
+
background: var(--sh-paper);
|
|
281
|
+
box-shadow: var(--sh-shadow);
|
|
282
|
+
font-size: 13px;
|
|
283
|
+
}
|
|
284
|
+
.ss-menu[hidden] {
|
|
285
|
+
display: none;
|
|
286
|
+
}
|
|
287
|
+
.ss-menu > button,
|
|
288
|
+
.ss-menu-foot button {
|
|
289
|
+
padding: 7px 8px;
|
|
290
|
+
border: 0;
|
|
291
|
+
border-radius: 6px;
|
|
292
|
+
background: transparent;
|
|
293
|
+
color: var(--sh-ink);
|
|
294
|
+
font: inherit;
|
|
295
|
+
text-align: left;
|
|
296
|
+
cursor: pointer;
|
|
297
|
+
}
|
|
298
|
+
.ss-menu > button:hover,
|
|
299
|
+
.ss-menu-foot button:hover {
|
|
300
|
+
background: var(--sh-sunk);
|
|
301
|
+
}
|
|
302
|
+
.ss-menu > button.on {
|
|
303
|
+
color: var(--sh-brand);
|
|
304
|
+
font-weight: 650;
|
|
305
|
+
}
|
|
306
|
+
.ss-menu hr {
|
|
307
|
+
width: 100%;
|
|
308
|
+
margin: 6px 0;
|
|
309
|
+
border: 0;
|
|
310
|
+
border-top: 1px solid var(--sh-line);
|
|
311
|
+
}
|
|
312
|
+
.ss-menu input[type="search"] {
|
|
313
|
+
box-sizing: border-box;
|
|
314
|
+
width: 100%;
|
|
315
|
+
height: 30px;
|
|
316
|
+
padding: 0 8px;
|
|
317
|
+
border: 1px solid var(--sh-line);
|
|
318
|
+
border-radius: 6px;
|
|
319
|
+
background: var(--sh-paper);
|
|
320
|
+
color: var(--sh-ink);
|
|
321
|
+
font: inherit;
|
|
322
|
+
}
|
|
323
|
+
.ss-picks {
|
|
324
|
+
display: flex;
|
|
325
|
+
flex-direction: column;
|
|
326
|
+
min-height: 0;
|
|
327
|
+
margin-top: 6px;
|
|
328
|
+
overflow-y: auto;
|
|
329
|
+
}
|
|
330
|
+
.ss-picks label {
|
|
331
|
+
display: flex;
|
|
332
|
+
align-items: center;
|
|
333
|
+
gap: 8px;
|
|
334
|
+
padding: 4px 6px;
|
|
335
|
+
border-radius: 6px;
|
|
336
|
+
cursor: pointer;
|
|
337
|
+
}
|
|
338
|
+
.ss-picks label:hover {
|
|
339
|
+
background: var(--sh-sunk);
|
|
340
|
+
}
|
|
341
|
+
.ss-picks span {
|
|
342
|
+
flex: 1;
|
|
343
|
+
min-width: 0;
|
|
344
|
+
overflow: hidden;
|
|
345
|
+
white-space: nowrap;
|
|
346
|
+
text-overflow: ellipsis;
|
|
347
|
+
}
|
|
348
|
+
.ss-picks small {
|
|
349
|
+
color: var(--sh-ink-3);
|
|
350
|
+
}
|
|
351
|
+
.ss-menu-foot {
|
|
352
|
+
display: flex;
|
|
353
|
+
justify-content: space-between;
|
|
354
|
+
margin-top: 6px;
|
|
355
|
+
padding-top: 6px;
|
|
356
|
+
border-top: 1px solid var(--sh-line);
|
|
357
|
+
}
|
|
358
|
+
|
|
359
|
+
@media print {
|
|
360
|
+
@page {
|
|
361
|
+
size: landscape;
|
|
362
|
+
margin: 12mm;
|
|
363
|
+
}
|
|
364
|
+
html,
|
|
365
|
+
body {
|
|
366
|
+
height: auto;
|
|
367
|
+
overflow: visible;
|
|
368
|
+
}
|
|
369
|
+
.sh-head,
|
|
370
|
+
.ss-bar,
|
|
371
|
+
.ss-foot,
|
|
372
|
+
.ss-menu,
|
|
373
|
+
.ss-letters,
|
|
374
|
+
.ss-row,
|
|
375
|
+
.ss-col {
|
|
376
|
+
display: none !important;
|
|
377
|
+
}
|
|
378
|
+
.ss-grid {
|
|
379
|
+
overflow: visible;
|
|
380
|
+
}
|
|
381
|
+
.ss-grid :is(th, td) {
|
|
382
|
+
position: static !important;
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
/* Editing: the formula line takes typing, the tools sit at its end, and a cell being typed
|
|
387
|
+
in has a box of its own over it */
|
|
388
|
+
.ss-fx-box {
|
|
389
|
+
position: relative;
|
|
390
|
+
display: flex;
|
|
391
|
+
flex: 1;
|
|
392
|
+
min-width: 0;
|
|
393
|
+
}
|
|
394
|
+
/* The formula again over the line, its references in their colours; the line's own text hides
|
|
395
|
+
under it until someone types there */
|
|
396
|
+
.ss-fx-show {
|
|
397
|
+
position: absolute;
|
|
398
|
+
inset: 0;
|
|
399
|
+
display: none;
|
|
400
|
+
align-items: center;
|
|
401
|
+
overflow: hidden;
|
|
402
|
+
white-space: pre;
|
|
403
|
+
pointer-events: none;
|
|
404
|
+
}
|
|
405
|
+
.ss-fx-box.colored .ss-fx-show {
|
|
406
|
+
display: flex;
|
|
407
|
+
}
|
|
408
|
+
.ss-fx-box.colored .ss-formula:not(.ss-fx-show) {
|
|
409
|
+
color: transparent;
|
|
410
|
+
}
|
|
411
|
+
.ss-fx-show b {
|
|
412
|
+
font-weight: 600;
|
|
413
|
+
}
|
|
414
|
+
.ss-formula:not([readonly]):focus {
|
|
415
|
+
box-shadow: inset 0 -2px 0 var(--sh-brand);
|
|
416
|
+
}
|
|
417
|
+
.ss-tools {
|
|
418
|
+
display: flex;
|
|
419
|
+
flex: none;
|
|
420
|
+
align-items: center;
|
|
421
|
+
gap: 2px;
|
|
422
|
+
padding: 0 6px;
|
|
423
|
+
border-left: 1px solid var(--sh-line);
|
|
424
|
+
}
|
|
425
|
+
.ss-tools[hidden] {
|
|
426
|
+
display: none;
|
|
427
|
+
}
|
|
428
|
+
/* On a narrow screen the tools have a row of their own under the formula line */
|
|
429
|
+
@media (max-width: 720px) {
|
|
430
|
+
.ss-bar {
|
|
431
|
+
flex-wrap: wrap;
|
|
432
|
+
height: auto;
|
|
433
|
+
}
|
|
434
|
+
.ss-bar > :not(.ss-tools) {
|
|
435
|
+
height: 32px;
|
|
436
|
+
}
|
|
437
|
+
.ss-tools {
|
|
438
|
+
order: 1;
|
|
439
|
+
width: 100%;
|
|
440
|
+
height: 34px;
|
|
441
|
+
overflow-x: auto;
|
|
442
|
+
border-top: 1px solid var(--sh-line);
|
|
443
|
+
border-left: 0;
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
.ss-format {
|
|
447
|
+
height: 26px;
|
|
448
|
+
margin: 0 2px;
|
|
449
|
+
padding: 0 4px;
|
|
450
|
+
border: 1px solid var(--sh-line);
|
|
451
|
+
border-radius: calc(var(--sh-radius) * 0.6);
|
|
452
|
+
background: var(--sh-paper);
|
|
453
|
+
color: var(--sh-ink);
|
|
454
|
+
font: inherit;
|
|
455
|
+
font-size: 12px;
|
|
456
|
+
}
|
|
457
|
+
.ss-edit {
|
|
458
|
+
position: absolute;
|
|
459
|
+
z-index: 4;
|
|
460
|
+
box-sizing: border-box;
|
|
461
|
+
margin: 0;
|
|
462
|
+
padding: 0 7px;
|
|
463
|
+
border: 2px solid var(--sh-brand);
|
|
464
|
+
background: var(--sh-paper);
|
|
465
|
+
color: var(--sh-ink);
|
|
466
|
+
font: inherit;
|
|
467
|
+
font-size: 13px;
|
|
468
|
+
outline: none;
|
|
469
|
+
opacity: 0;
|
|
470
|
+
pointer-events: none;
|
|
471
|
+
}
|
|
472
|
+
.ss-edit.open {
|
|
473
|
+
opacity: 1;
|
|
474
|
+
pointer-events: auto;
|
|
475
|
+
box-shadow: 0 2px 8px rgb(0 0 0 / 0.12);
|
|
476
|
+
}
|
|
477
|
+
.ss-grid.editing td,
|
|
478
|
+
.ss-grid.editing .ss-names th {
|
|
479
|
+
cursor: text;
|
|
480
|
+
}
|
|
481
|
+
.ss-note {
|
|
482
|
+
min-width: 0;
|
|
483
|
+
line-height: 36px;
|
|
484
|
+
overflow: hidden;
|
|
485
|
+
margin-right: 12px;
|
|
486
|
+
color: var(--sh-ink-3);
|
|
487
|
+
font-size: 12px;
|
|
488
|
+
white-space: nowrap;
|
|
489
|
+
text-overflow: ellipsis;
|
|
490
|
+
}
|
|
491
|
+
.ss-note.bad {
|
|
492
|
+
color: var(--sh-bad);
|
|
493
|
+
}
|
|
494
|
+
@media print {
|
|
495
|
+
.ss-tools,
|
|
496
|
+
.ss-edit {
|
|
497
|
+
display: none;
|
|
498
|
+
}
|
|
499
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8" />
|
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
6
|
+
{{shell.meta}}
|
|
7
|
+
<meta name="sheet-xlsx" content="{{xlsx.hash}}" />
|
|
8
|
+
<title>{{title}}</title>
|
|
9
|
+
<script>
|
|
10
|
+
// shell.theme
|
|
11
|
+
</script>
|
|
12
|
+
<style>
|
|
13
|
+
/* shell.css */
|
|
14
|
+
/* sheet.css */
|
|
15
|
+
</style>
|
|
16
|
+
</head>
|
|
17
|
+
<body>
|
|
18
|
+
<header class="sh-head">
|
|
19
|
+
{{shell.who}}
|
|
20
|
+
<span class="sh-title">{{title}}</span>
|
|
21
|
+
<span class="sh-sub" id="size"></span>
|
|
22
|
+
<span class="sh-sub" id="state"></span>
|
|
23
|
+
<span class="sh-gap"></span>
|
|
24
|
+
<span class="sh-tools">
|
|
25
|
+
<button type="button" class="sh-b sh-outline" data-reload title="Show the sheet as it is now" hidden>Reload</button>
|
|
26
|
+
<button type="button" class="sh-b sh-outline" data-edit><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z"/></svg><span class="sh-word">Edit</span></button>
|
|
27
|
+
</span>
|
|
28
|
+
{{shell.theme}}
|
|
29
|
+
<details class="sh-menu">
|
|
30
|
+
{{shell.export}}
|
|
31
|
+
<div class="sh-list">
|
|
32
|
+
<a class="sh-item" id="xlsx" href="{{xlsx.file}}" target="_blank" download>Excel file<small>.xlsx</small></a>
|
|
33
|
+
<button type="button" class="sh-item" data-csv>This sheet as CSV<small>.csv</small></button>
|
|
34
|
+
<button type="button" class="sh-item" data-copy-sheet>Copy this sheet<small>to paste</small></button>
|
|
35
|
+
<button type="button" class="sh-item" data-export="print">Print<small>PDF</small></button>
|
|
36
|
+
{{shell.download}}
|
|
37
|
+
</div>
|
|
38
|
+
</details>
|
|
39
|
+
</header>
|
|
40
|
+
|
|
41
|
+
<div class="ss-bar">
|
|
42
|
+
<span class="ss-ref" id="ref"></span>
|
|
43
|
+
<span class="ss-fx" aria-hidden="true">fx</span>
|
|
44
|
+
<span class="ss-fx-box" id="fx-box">
|
|
45
|
+
<input class="ss-formula" id="formula" readonly spellcheck="false" autocomplete="off" aria-label="The cell's formula or value" />
|
|
46
|
+
<span class="ss-formula ss-fx-show" id="fx-show" aria-hidden="true"></span>
|
|
47
|
+
</span>
|
|
48
|
+
<span class="ss-tools" id="tools" hidden>
|
|
49
|
+
<button type="button" class="sh-b sh-sm" data-do="row" title="A row under the one picked">+ Row</button>
|
|
50
|
+
<button type="button" class="sh-b sh-sm" data-do="unrow" title="Take out the rows picked">− Row</button>
|
|
51
|
+
<button type="button" class="sh-b sh-sm" data-do="col" title="A column right of the one picked">+ Column</button>
|
|
52
|
+
<button type="button" class="sh-b sh-sm" data-do="uncol" title="Take out the columns picked">− Column</button>
|
|
53
|
+
<select class="ss-format" id="format" aria-label="How the column's numbers read">
|
|
54
|
+
<option value="General">General</option>
|
|
55
|
+
<option value="0">1234</option>
|
|
56
|
+
<option value="#,##0">1,234</option>
|
|
57
|
+
<option value="#,##0.00">1,234.00</option>
|
|
58
|
+
<option value="0%">12%</option>
|
|
59
|
+
<option value="0.0%">12.3%</option>
|
|
60
|
+
<option value="#,##0;[Red]-#,##0">-1,234 in red</option>
|
|
61
|
+
<option value="yyyy-mm-dd">2026-07-02</option>
|
|
62
|
+
</select>
|
|
63
|
+
<span class="sh-rule"></span>
|
|
64
|
+
<button type="button" class="sh-b sh-sm sh-icon" data-do="undo" title="Undo (⌘Z)" aria-label="Undo"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="M9 14 4 9l5-5M4 9h11a5 5 0 0 1 0 10h-3"/></svg></button>
|
|
65
|
+
<button type="button" class="sh-b sh-sm sh-icon" data-do="redo" title="Redo (⇧⌘Z)" aria-label="Redo"><svg viewBox="0 0 24 24" aria-hidden="true"><path d="m15 14 5-5-5-5M20 9H9a5 5 0 0 0 0 10h3"/></svg></button>
|
|
66
|
+
</span>
|
|
67
|
+
</div>
|
|
68
|
+
<div class="ss-grid" id="grid" tabindex="0" aria-label="Cells">
|
|
69
|
+
<table id="table"></table>
|
|
70
|
+
<p class="ss-more" id="more" hidden></p>
|
|
71
|
+
</div>
|
|
72
|
+
<footer class="ss-foot">
|
|
73
|
+
<div class="ss-tabs" id="tabs" role="tablist"></div>
|
|
74
|
+
<span class="ss-gap"></span>
|
|
75
|
+
<output class="ss-note" id="note"></output>
|
|
76
|
+
<output class="ss-stat" id="stat"></output>
|
|
77
|
+
</footer>
|
|
78
|
+
|
|
79
|
+
<div class="ss-menu" id="menu" role="dialog" aria-label="Sort and filter" hidden>
|
|
80
|
+
<button type="button" data-sort="up">Sort ascending</button>
|
|
81
|
+
<button type="button" data-sort="down">Sort descending</button>
|
|
82
|
+
<button type="button" data-sort="none">Rows as written</button>
|
|
83
|
+
<hr />
|
|
84
|
+
<input type="search" id="find" placeholder="Find a value" aria-label="Find a value" />
|
|
85
|
+
<div class="ss-picks" id="picks"></div>
|
|
86
|
+
<div class="ss-menu-foot">
|
|
87
|
+
<button type="button" data-pick="all">Show all</button>
|
|
88
|
+
</div>
|
|
89
|
+
</div>
|
|
90
|
+
|
|
91
|
+
<!-- The workbook the .xlsx beside this page holds, as spreadsheet.mjs read it -->
|
|
92
|
+
<script type="application/json" id="sheet-data">null</script>
|
|
93
|
+
<script>
|
|
94
|
+
// shell.js
|
|
95
|
+
</script>
|
|
96
|
+
<script>
|
|
97
|
+
// formula.mjs
|
|
98
|
+
// format.mjs
|
|
99
|
+
// sheet.js
|
|
100
|
+
</script>
|
|
101
|
+
</body>
|
|
102
|
+
</html>
|