@heycys/gallery 0.1.2 → 0.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.
Files changed (338) hide show
  1. package/THIRD-PARTY-NOTICES.md +2 -2
  2. package/browser/editor/components/align.mjs +58 -0
  3. package/browser/editor/components/code/index.mjs +1 -1
  4. package/browser/editor/components/embed/page.mjs +1 -1
  5. package/browser/editor/components/file/page.mjs +4 -4
  6. package/browser/editor/components/heading/index.mjs +7 -6
  7. package/browser/editor/components/icon/page.mjs +6 -4
  8. package/browser/editor/components/icons.mjs +5 -2
  9. package/browser/editor/components/image/index.mjs +2 -0
  10. package/browser/editor/components/image/page.mjs +172 -90
  11. package/browser/editor/components/installed/index.mjs +6 -2
  12. package/browser/editor/components/installed/page.mjs +80 -13
  13. package/browser/editor/components/media/icons.mjs +13 -8
  14. package/browser/editor/components/media/page.mjs +5 -3
  15. package/browser/editor/components/media/toolbar.mjs +12 -3
  16. package/browser/editor/components/paragraph/index.mjs +4 -3
  17. package/browser/editor/components/registry.mjs +17 -5
  18. package/browser/editor/components/table/index.mjs +4 -2
  19. package/browser/editor/page/after/index.mjs +288 -0
  20. package/browser/editor/page/align.mjs +91 -0
  21. package/browser/editor/page/beside.mjs +5 -6
  22. package/browser/editor/page/block-menu/index.mjs +6 -3
  23. package/browser/editor/page/blocks.mjs +3 -1
  24. package/browser/editor/page/board/hint.mjs +64 -27
  25. package/browser/editor/page/board/index.mjs +160 -71
  26. package/browser/editor/page/board/motion.mjs +177 -0
  27. package/browser/editor/page/board/settings.mjs +4 -3
  28. package/browser/editor/page/clipboard/import/read.mjs +20 -2
  29. package/browser/editor/page/clipboard/index.mjs +10 -3
  30. package/browser/editor/page/clipboard/own/blocks.mjs +3 -4
  31. package/browser/editor/page/clipboard/own/describe.mjs +6 -2
  32. package/browser/editor/page/commit.mjs +2 -2
  33. package/browser/editor/page/core.mjs +3 -1
  34. package/browser/editor/page/custom-page.mjs +15 -11
  35. package/browser/editor/page/editor.mjs +31 -14
  36. package/browser/editor/page/history.mjs +19 -4
  37. package/browser/editor/page/insert/index.mjs +20 -22
  38. package/browser/editor/page/menu.mjs +15 -7
  39. package/browser/editor/page/page-objects.mjs +3 -7
  40. package/browser/editor/page/present-links.mjs +5 -4
  41. package/browser/editor/page/present-shell.mjs +63 -0
  42. package/browser/editor/page/selection/index.mjs +10 -2
  43. package/browser/editor/page/table/binding.mjs +87 -0
  44. package/browser/editor/page/table/icons.mjs +0 -2
  45. package/browser/editor/page/table/index.mjs +10 -14
  46. package/browser/editor/page/table/views.mjs +5 -52
  47. package/browser/editor/page/table/widths.mjs +82 -10
  48. package/browser/editor/page/typing/index.mjs +44 -12
  49. package/browser/editor/page/typing/leave.mjs +19 -5
  50. package/browser/shared/block-packs.mjs +23 -8
  51. package/browser/shared/component-catalog.mjs +15 -8
  52. package/browser/shared/component-source.mjs +3 -1
  53. package/browser/shared/components/heading.mjs +2 -1
  54. package/browser/shared/components/installed.mjs +1 -1
  55. package/browser/shared/components/page.mjs +2 -0
  56. package/browser/shared/components/paragraph.mjs +8 -1
  57. package/browser/shared/components/table.mjs +1 -0
  58. package/browser/shared/document-copy.mjs +43 -0
  59. package/browser/shared/drafts.mjs +10 -3
  60. package/browser/shared/emoji/icon-value.mjs +2 -2
  61. package/browser/shared/emoji/line-icons.mjs +37 -0
  62. package/browser/shared/extensions.mjs +83 -7
  63. package/browser/shared/http.mjs +9 -0
  64. package/browser/shared/i18n/en.mjs +50 -17
  65. package/browser/shared/outline-shape.mjs +6 -0
  66. package/browser/shared/outline.mjs +165 -12
  67. package/browser/shared/pack-manifest.mjs +12 -1
  68. package/browser/shared/pages.mjs +169 -57
  69. package/browser/shared/pinyin.mjs +92 -0
  70. package/browser/shared/present-step.mjs +17 -0
  71. package/browser/shared/sidebar-head.mjs +70 -0
  72. package/browser/shared/web-links.mjs +5 -0
  73. package/browser/shared/workspace-columns.mjs +11 -7
  74. package/dist/{chunk-N7AZZLGT.mjs → chunk-2GKGEVMR.mjs} +29 -24
  75. package/dist/chunk-2OHANJ6Q.mjs +2 -0
  76. package/dist/{chunk-HYMEEXKN.mjs → chunk-2RKIHJI2.mjs} +1 -1
  77. package/dist/{chunk-742D2WWJ.mjs → chunk-36FIRJIF.mjs} +2 -2
  78. package/dist/{chunk-BPL64HGA.mjs → chunk-3A5I2GJK.mjs} +1 -1
  79. package/dist/{chunk-RFDZXFJF.mjs → chunk-3OFXMN6N.mjs} +1 -1
  80. package/dist/chunk-46ACXOU5.mjs +2 -0
  81. package/dist/{chunk-PUOQ65NC.mjs → chunk-4AMTKWDO.mjs} +1 -1
  82. package/dist/{chunk-VTKNEYT3.mjs → chunk-4DNHHJSL.mjs} +1 -1
  83. package/dist/chunk-5DPABPBI.mjs +2 -0
  84. package/dist/chunk-5IIH335D.mjs +3 -0
  85. package/dist/chunk-5L26JUYA.mjs +2 -0
  86. package/dist/{chunk-3NJACR4W.mjs → chunk-5MEXZ2UF.mjs} +1 -1
  87. package/dist/{chunk-ZHEHPMBK.mjs → chunk-6MPKCH3P.mjs} +1 -1
  88. package/dist/{chunk-C564NU2H.mjs → chunk-74RPP2M2.mjs} +1 -1
  89. package/dist/chunk-7M2BQQGZ.mjs +2 -0
  90. package/dist/{chunk-VXACTLO3.mjs → chunk-7M7UPWU6.mjs} +1 -1
  91. package/dist/{chunk-ZB4H7ZN4.mjs → chunk-7N2LPG33.mjs} +1 -1
  92. package/dist/{chunk-UBBRTJ2R.mjs → chunk-7XDYK3UC.mjs} +1 -1
  93. package/dist/chunk-AEMVZYZQ.mjs +166 -0
  94. package/dist/{chunk-POQSE4C2.mjs → chunk-AFGUR7SY.mjs} +1 -1
  95. package/dist/{chunk-QKXMPUXC.mjs → chunk-AMDGVDNV.mjs} +1 -1
  96. package/dist/{chunk-KTKHRC6H.mjs → chunk-ASAXY2DJ.mjs} +1 -1
  97. package/dist/{chunk-NVRNLK25.mjs → chunk-BYSF5UMM.mjs} +2 -2
  98. package/dist/{chunk-U3SSPL4K.mjs → chunk-CCSGFCLZ.mjs} +1 -1
  99. package/dist/{chunk-NWFBE2YA.mjs → chunk-CG3UHDKH.mjs} +1 -1
  100. package/dist/chunk-CPS4SRPF.mjs +5 -0
  101. package/dist/{chunk-B4P2CM2J.mjs → chunk-CZ5KJSGK.mjs} +1 -1
  102. package/dist/chunk-DAMVDXR3.mjs +2 -0
  103. package/dist/{chunk-NG375ILQ.mjs → chunk-DH6GMDNN.mjs} +1 -1
  104. package/dist/chunk-DHB7UZ7F.mjs +3 -0
  105. package/dist/{chunk-MHW7ZKOU.mjs → chunk-DKR7LFIY.mjs} +1 -1
  106. package/dist/chunk-DLFZJJEE.mjs +2 -0
  107. package/dist/{chunk-6EZ7FNIK.mjs → chunk-F4ZA6JRZ.mjs} +1 -1
  108. package/dist/{chunk-6VTU6KEO.mjs → chunk-FCK6NXON.mjs} +1 -1
  109. package/dist/{chunk-ZWPMCK7P.mjs → chunk-FX42XU6J.mjs} +1 -1
  110. package/dist/chunk-FXQBADMN.mjs +5 -0
  111. package/dist/{chunk-W3BGBJQW.mjs → chunk-G4YP7GVC.mjs} +1 -1
  112. package/dist/{chunk-V6XZ4VIR.mjs → chunk-GWOYMENX.mjs} +1 -1
  113. package/dist/chunk-HATA2W7X.mjs +2 -0
  114. package/dist/{chunk-YI43RG4P.mjs → chunk-HBAUKKQH.mjs} +1 -1
  115. package/dist/{chunk-MAFIGVXY.mjs → chunk-HM4E43VM.mjs} +1 -1
  116. package/dist/{chunk-CRJEG7MT.mjs → chunk-JI6T3A4Y.mjs} +1 -1
  117. package/dist/{chunk-NFMCP2HI.mjs → chunk-JJNRIFND.mjs} +2 -2
  118. package/dist/chunk-JL6R4FG4.mjs +4 -0
  119. package/dist/{chunk-UMHUSOPJ.mjs → chunk-JXLSHVJ2.mjs} +1 -1
  120. package/dist/{chunk-FJYN7RTH.mjs → chunk-KFZBYDIS.mjs} +1 -1
  121. package/dist/{chunk-ZTHICSSF.mjs → chunk-KH24LWAT.mjs} +1 -1
  122. package/dist/{chunk-RKPWLGZ3.mjs → chunk-KUILYI7H.mjs} +1 -1
  123. package/dist/{chunk-RMECZA2K.mjs → chunk-L7W624FD.mjs} +1 -1
  124. package/dist/chunk-LE44MD3O.mjs +4 -0
  125. package/dist/{chunk-4K5KC6V2.mjs → chunk-LV24RY2E.mjs} +1 -1
  126. package/dist/{chunk-43B75J5T.mjs → chunk-MKTX5PGV.mjs} +1 -1
  127. package/dist/{chunk-LKX55H76.mjs → chunk-NAGMRVW4.mjs} +1 -1
  128. package/dist/{chunk-D4CKRD3V.mjs → chunk-NFABH3QW.mjs} +2 -2
  129. package/dist/{chunk-PVER7LSC.mjs → chunk-NIW7F7LU.mjs} +2 -2
  130. package/dist/{chunk-PAREWQGB.mjs → chunk-NWRZXELO.mjs} +1 -1
  131. package/dist/{chunk-OJKMINIU.mjs → chunk-OU3S466R.mjs} +15 -15
  132. package/dist/{chunk-5ZJA7CXT.mjs → chunk-PAFSFVYB.mjs} +1 -1
  133. package/dist/chunk-QCEATQC4.mjs +2 -0
  134. package/dist/{chunk-Y34NR5JL.mjs → chunk-QJ3TFJLQ.mjs} +1 -1
  135. package/dist/{chunk-IA4PSIMD.mjs → chunk-QK3VISCA.mjs} +1 -1
  136. package/dist/{chunk-ZUNVAXLH.mjs → chunk-QXVNUASA.mjs} +1 -1
  137. package/dist/{chunk-GRAXKKG4.mjs → chunk-QZ35UAB4.mjs} +1 -1
  138. package/dist/{chunk-UGWYKHBL.mjs → chunk-S2Y7VI4H.mjs} +2 -2
  139. package/dist/{chunk-OW5NWPOJ.mjs → chunk-SAHS56QM.mjs} +1 -1
  140. package/dist/{chunk-QOUEFUCH.mjs → chunk-SOD23RGL.mjs} +1 -1
  141. package/dist/chunk-TDWJKOLN.mjs +2 -0
  142. package/dist/{chunk-V6RIYQZZ.mjs → chunk-TOE6DPLH.mjs} +1 -1
  143. package/dist/chunk-UGO5N3EI.mjs +15 -0
  144. package/dist/{chunk-Q47PLKIJ.mjs → chunk-UGWMMEJ5.mjs} +1 -1
  145. package/dist/{chunk-NWR2LT5B.mjs → chunk-V5JRSGZF.mjs} +1 -1
  146. package/dist/{chunk-BZ5RAF7L.mjs → chunk-VA3KAQZD.mjs} +1 -1
  147. package/dist/chunk-VG5JEIUQ.mjs +12 -0
  148. package/dist/{chunk-UNOYVIYR.mjs → chunk-VGTMLQWZ.mjs} +1 -1
  149. package/dist/chunk-VKSRM7EY.mjs +22 -0
  150. package/dist/{chunk-YQGT4AB2.mjs → chunk-VNUWREXU.mjs} +1 -1
  151. package/dist/{chunk-AGDILNWB.mjs → chunk-VPVOAJ7X.mjs} +1 -1
  152. package/dist/{chunk-HLYV7RIH.mjs → chunk-WCWYNFDF.mjs} +1 -1
  153. package/dist/chunk-WTEGUPFG.mjs +16 -0
  154. package/dist/{chunk-N76HWBA3.mjs → chunk-XKOHV4H6.mjs} +1 -1
  155. package/dist/{chunk-HMYTM3GT.mjs → chunk-XMKHCUI6.mjs} +1 -1
  156. package/dist/{chunk-OUUP3WKT.mjs → chunk-XQRUG4G3.mjs} +1 -1
  157. package/dist/{chunk-32ZUEFZ7.mjs → chunk-YBB5LWZK.mjs} +1 -1
  158. package/dist/{chunk-SX4LJYT6.mjs → chunk-YFJU3O7G.mjs} +1 -1
  159. package/dist/chunk-YPPJVDQI.mjs +2 -0
  160. package/dist/chunk-ZANMKAWS.mjs +2 -0
  161. package/dist/{chunk-6QBHU4DF.mjs → chunk-ZCP7BTOZ.mjs} +1 -1
  162. package/dist/{chunk-ERLAIBOA.mjs → chunk-ZEY2RLBT.mjs} +2 -2
  163. package/dist/{chunk-SQ6Y2ZMA.mjs → chunk-ZO7SFB2E.mjs} +2 -2
  164. package/dist/cli.mjs +1 -1
  165. package/dist/server.mjs +1 -1
  166. package/dist/worker.mjs +1 -1
  167. package/kit/board.css +5 -5
  168. package/kit/code.js +15 -15
  169. package/kit/math.js +1 -1
  170. package/kit/report.css +123 -44
  171. package/kit/runtime.js +45 -7
  172. package/kit/tables.js +2 -0
  173. package/kit/ui.js +2 -0
  174. package/package.json +1 -1
  175. package/packs/gallery/chart-view/kit.js +3 -3
  176. package/packs/gallery/chart-view/writing.md +1 -1
  177. package/packs/gallery/countdown/component.json +1 -1
  178. package/packs/gallery/countdown/kit.js +89 -29
  179. package/packs/gallery/countdown/preview.svg +1 -1
  180. package/packs/gallery/countdown/style.css +88 -100
  181. package/packs/gallery/countdown/writing.md +2 -2
  182. package/packs/gallery/habit/component.json +3 -3
  183. package/packs/gallery/habit/kit.js +114 -75
  184. package/packs/gallery/habit/preview.svg +1 -1
  185. package/packs/gallery/habit/style.css +133 -205
  186. package/packs/gallery/habit/writing.md +2 -2
  187. package/packs/gallery/heatmap/component.json +2 -2
  188. package/packs/gallery/heatmap/kit.js +335 -173
  189. package/packs/gallery/heatmap/preview.svg +1 -1
  190. package/packs/gallery/heatmap/style.css +158 -170
  191. package/packs/gallery/heatmap/writing.md +2 -2
  192. package/packs/gallery/kanban/kit.js +3 -3
  193. package/packs/gallery/kanban/writing.md +1 -1
  194. package/packs/gallery/metric/kit.js +3 -3
  195. package/packs/gallery/metric/writing.md +1 -1
  196. package/packs/gallery/note/component.json +3 -3
  197. package/packs/gallery/note/kit.js +40 -13
  198. package/packs/gallery/note/preview.svg +1 -1
  199. package/packs/gallery/note/style.css +51 -30
  200. package/packs/gallery/note/writing.md +2 -2
  201. package/packs/gallery/recent/component.json +2 -2
  202. package/packs/gallery/recent/kit.js +141 -86
  203. package/packs/gallery/recent/preview.svg +1 -1
  204. package/packs/gallery/recent/style.css +53 -126
  205. package/packs/gallery/recent/writing.md +2 -2
  206. package/packs/gallery/static/component.json +2 -2
  207. package/packs/gallery/static/preview.svg +1 -1
  208. package/packs/gallery/static/style.css +99 -66
  209. package/packs/gallery/static/writing.md +2 -2
  210. package/packs/gallery/stats/component.json +3 -3
  211. package/packs/gallery/stats/kit.js +253 -72
  212. package/packs/gallery/stats/preview.svg +1 -1
  213. package/packs/gallery/stats/style.css +64 -142
  214. package/packs/gallery/stats/writing.md +2 -2
  215. package/packs/gallery/today/component.json +2 -2
  216. package/packs/gallery/today/kit.js +62 -27
  217. package/packs/gallery/today/preview.svg +1 -1
  218. package/packs/gallery/today/style.css +101 -72
  219. package/packs/gallery/today/writing.md +2 -2
  220. package/packs/gallery/todos/component.json +1 -1
  221. package/packs/gallery/todos/kit.js +218 -71
  222. package/packs/gallery/todos/preview.svg +1 -1
  223. package/packs/gallery/todos/style.css +170 -223
  224. package/packs/gallery/todos/writing.md +1 -1
  225. package/packs/gallery/weather/component.json +2 -2
  226. package/packs/gallery/weather/kit.js +165 -90
  227. package/packs/gallery/weather/preview.svg +1 -1
  228. package/packs/gallery/weather/style.css +100 -218
  229. package/packs/gallery/weather/writing.md +1 -1
  230. package/packs/gallery-soft/countdown/component.json +18 -0
  231. package/packs/gallery-soft/countdown/example.html +3 -0
  232. package/packs/gallery-soft/countdown/kit.js +206 -0
  233. package/packs/gallery-soft/countdown/preview.svg +1 -0
  234. package/packs/gallery-soft/countdown/style.css +211 -0
  235. package/packs/gallery-soft/countdown/template.html +3 -0
  236. package/packs/gallery-soft/countdown/writing.md +24 -0
  237. package/packs/gallery-soft/habit/component.json +14 -0
  238. package/packs/gallery-soft/habit/example.html +3 -0
  239. package/packs/gallery-soft/habit/kit.js +366 -0
  240. package/packs/gallery-soft/habit/preview.svg +1 -0
  241. package/packs/gallery-soft/habit/style.css +251 -0
  242. package/packs/gallery-soft/habit/template.html +3 -0
  243. package/packs/gallery-soft/habit/writing.md +23 -0
  244. package/packs/gallery-soft/heatmap/component.json +18 -0
  245. package/packs/gallery-soft/heatmap/example.html +3 -0
  246. package/packs/gallery-soft/heatmap/kit.js +498 -0
  247. package/packs/gallery-soft/heatmap/preview.svg +1 -0
  248. package/packs/gallery-soft/heatmap/style.css +181 -0
  249. package/packs/gallery-soft/heatmap/template.html +3 -0
  250. package/packs/gallery-soft/heatmap/writing.md +23 -0
  251. package/packs/gallery-soft/note/component.json +14 -0
  252. package/packs/gallery-soft/note/example.html +3 -0
  253. package/packs/gallery-soft/note/kit.js +162 -0
  254. package/packs/gallery-soft/note/preview.svg +1 -0
  255. package/packs/gallery-soft/note/style.css +148 -0
  256. package/packs/gallery-soft/note/template.html +3 -0
  257. package/packs/gallery-soft/note/writing.md +20 -0
  258. package/packs/gallery-soft/recent/component.json +13 -0
  259. package/packs/gallery-soft/recent/example.html +1 -0
  260. package/packs/gallery-soft/recent/kit.js +335 -0
  261. package/packs/gallery-soft/recent/preview.svg +1 -0
  262. package/packs/gallery-soft/recent/style.css +160 -0
  263. package/packs/gallery-soft/recent/template.html +1 -0
  264. package/packs/gallery-soft/recent/writing.md +17 -0
  265. package/packs/gallery-soft/static/component.json +13 -0
  266. package/packs/gallery-soft/static/example.html +12 -0
  267. package/packs/gallery-soft/static/preview.svg +1 -0
  268. package/packs/gallery-soft/static/style.css +186 -0
  269. package/packs/gallery-soft/static/template.html +1 -0
  270. package/packs/gallery-soft/static/writing.md +20 -0
  271. package/packs/gallery-soft/stats/component.json +13 -0
  272. package/packs/gallery-soft/stats/example.html +1 -0
  273. package/packs/gallery-soft/stats/kit.js +341 -0
  274. package/packs/gallery-soft/stats/preview.svg +1 -0
  275. package/packs/gallery-soft/stats/style.css +119 -0
  276. package/packs/gallery-soft/stats/template.html +1 -0
  277. package/packs/gallery-soft/stats/writing.md +13 -0
  278. package/packs/gallery-soft/today/component.json +12 -0
  279. package/packs/gallery-soft/today/example.html +1 -0
  280. package/packs/gallery-soft/today/kit.js +222 -0
  281. package/packs/gallery-soft/today/preview.svg +1 -0
  282. package/packs/gallery-soft/today/style.css +178 -0
  283. package/packs/gallery-soft/today/template.html +1 -0
  284. package/packs/gallery-soft/today/writing.md +16 -0
  285. package/packs/gallery-soft/todos/component.json +19 -0
  286. package/packs/gallery-soft/todos/example.html +3 -0
  287. package/packs/gallery-soft/todos/kit.js +527 -0
  288. package/packs/gallery-soft/todos/preview.svg +1 -0
  289. package/packs/gallery-soft/todos/style.css +212 -0
  290. package/packs/gallery-soft/todos/template.html +3 -0
  291. package/packs/gallery-soft/todos/writing.md +32 -0
  292. package/packs/gallery-soft/weather/component.json +19 -0
  293. package/packs/gallery-soft/weather/example.html +3 -0
  294. package/packs/gallery-soft/weather/kit.js +411 -0
  295. package/packs/gallery-soft/weather/preview.svg +1 -0
  296. package/packs/gallery-soft/weather/style.css +185 -0
  297. package/packs/gallery-soft/weather/template.html +3 -0
  298. package/packs/gallery-soft/weather/writing.md +28 -0
  299. package/release.json +10 -10
  300. package/skill/SKILL.md +15 -14
  301. package/skill/references/building-blocks.md +4 -4
  302. package/skill/references/extensions.md +11 -7
  303. package/skill/references/pages-and-data.md +13 -9
  304. package/skill/references/writing-html.md +2 -0
  305. package/web/assets/index-BHC5ZOMh.js +15 -0
  306. package/web/assets/index-xP0uw3a0.css +1 -0
  307. package/web/index.html +2 -2
  308. package/dist/chunk-2NRBY6AJ.mjs +0 -2
  309. package/dist/chunk-35NQ4PLQ.mjs +0 -2
  310. package/dist/chunk-3KJHLHUO.mjs +0 -2
  311. package/dist/chunk-4AV456RQ.mjs +0 -2
  312. package/dist/chunk-5XYHDBJ5.mjs +0 -2
  313. package/dist/chunk-6A53MZYZ.mjs +0 -2
  314. package/dist/chunk-6EXH3ORZ.mjs +0 -166
  315. package/dist/chunk-BVEFGE4B.mjs +0 -2
  316. package/dist/chunk-D4EURAX4.mjs +0 -4
  317. package/dist/chunk-DQCE7TJY.mjs +0 -5
  318. package/dist/chunk-FWNRPMCJ.mjs +0 -12
  319. package/dist/chunk-FWW4CSAZ.mjs +0 -2
  320. package/dist/chunk-GY3FAUVM.mjs +0 -2
  321. package/dist/chunk-JVHHHGEA.mjs +0 -3
  322. package/dist/chunk-L7UP52JO.mjs +0 -2
  323. package/dist/chunk-NAMN3RAF.mjs +0 -2
  324. package/dist/chunk-PZDLJJTJ.mjs +0 -3
  325. package/dist/chunk-SXHBYZST.mjs +0 -16
  326. package/dist/chunk-TEZAWDSQ.mjs +0 -2
  327. package/dist/chunk-UFNYFFKO.mjs +0 -20
  328. package/dist/chunk-UKSHDZZ6.mjs +0 -2
  329. package/dist/chunk-VJPFVNNW.mjs +0 -15
  330. package/dist/chunk-VS3ZMVGX.mjs +0 -5
  331. package/web/assets/index-BK2e_07w.js +0 -13
  332. package/web/assets/index-CWFI83mF.css +0 -1
  333. /package/dist/{chunk-YEY3RSFQ.mjs → chunk-5MMN3N5J.mjs} +0 -0
  334. /package/dist/{chunk-UH4SIXTR.mjs → chunk-74UW7QSL.mjs} +0 -0
  335. /package/dist/{chunk-W7XHE4CT.mjs → chunk-EKGYYOSP.mjs} +0 -0
  336. /package/dist/{chunk-QAIHRH3I.mjs → chunk-KNZJT4ET.mjs} +0 -0
  337. /package/dist/{chunk-A55HN5OK.mjs → chunk-N3DSBH5S.mjs} +0 -0
  338. /package/dist/{chunk-QR6A54KJ.mjs → chunk-ZW2A6GBW.mjs} +0 -0
@@ -1 +1 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 120"><rect width="240" height="120" rx="8" fill="#f3f3f1"/><rect x="16.5" y="12.5" width="207" height="95" rx="12" fill="#ffffff" stroke="#e7e6e3"/><rect x="30" y="24" width="14" height="14" rx="4.5" fill="#ebf2fa"/><g transform="translate(32 26) scale(.4167)" fill="none" stroke="#2e7cd1" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7z"/><path d="M16 3v4M8 3v4M4 11h16"/></g><rect x="50" y="28" width="46" height="6" rx="3" fill="#3b3a37"/><rect x="150" y="29" width="60" height="5" rx="2.5" fill="#c4c2bd"/><rect x="36" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="36" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="36" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="36" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="36" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="36" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="36" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="43" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="43" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="43" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="43" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="43" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="43" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="43" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="50" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="50" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="50" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="50" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="50" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="50" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="50" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="57" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="57" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="57" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="57" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="57" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="57" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="57" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="64" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="64" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="64" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="64" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="64" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="64" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="64" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="71" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="71" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="71" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="71" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="71" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="71" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="71" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="78" y="48" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="78" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="78" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="78" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="78" y="76" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="78" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="78" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="85" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="85" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="85" y="62" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="85" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="85" y="76" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="85" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="85" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="92" y="48" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="92" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="92" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="92" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="92" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="92" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="92" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="99" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="99" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="99" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="99" y="69" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="99" y="76" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="99" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="99" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="106" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="106" y="55" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="106" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="106" y="69" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="106" y="76" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="106" y="83" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="106" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="113" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="113" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="113" y="62" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="113" y="69" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="113" y="76" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="113" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="113" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="120" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="120" y="55" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="120" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="120" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="120" y="76" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="120" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="120" y="90" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="127" y="48" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="127" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="127" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="127" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="127" y="76" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="127" y="83" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="127" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="134" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="134" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="134" y="62" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="134" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="134" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="134" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="134" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="141" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="141" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="141" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="141" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="141" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="141" y="83" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="141" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="148" y="48" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="148" y="55" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="148" y="62" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="148" y="69" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="148" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="148" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="148" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="155" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="155" y="55" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="155" y="62" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="155" y="69" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="155" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="155" y="83" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="155" y="90" width="5.5" height="5.5" rx="1.4" fill="#5c97da"/><rect x="162" y="48" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="162" y="55" width="5.5" height="5.5" rx="1.4" fill="#5c97da"/><rect x="162" y="62" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="162" y="69" width="5.5" height="5.5" rx="1.4" fill="#5c97da"/><rect x="162" y="76" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="162" y="83" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="162" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="169" y="48" width="5.5" height="5.5" rx="1.4" fill="#2e7cd1"/><rect x="169" y="55" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="169" y="62" width="5.5" height="5.5" rx="1.4" fill="#5c97da"/><rect x="169" y="69" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="169" y="76" width="5.5" height="5.5" rx="1.4" fill="#5c97da"/><rect x="169" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="169" y="90" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="176" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="176" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="176" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="176" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="176" y="76" width="5.5" height="5.5" rx="1.4" fill="#2e7cd1"/><rect x="176" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="176" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="183" y="48" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="183" y="55" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="183" y="62" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="183" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="183" y="76" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="183" y="83" width="5.5" height="5.5" rx="1.4" fill="#2e7cd1"/><rect x="183" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="190" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="190" y="55" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="190" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="190" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="190" y="76" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="190" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="190" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="197" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="197" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="197" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="197" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="197" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="197" y="83" width="5.5" height="5.5" rx="1.4" fill="#5c97da"/><rect x="197" y="90" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="204" y="48" width="5.5" height="5.5" rx="1.4" fill="#2e7cd1"/><rect x="204" y="55" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="204" y="62" width="5.5" height="5.5" rx="1.4" fill="#2e7cd1"/><rect x="204" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="204" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="204" y="83" width="5.5" height="5.5" rx="1.4" fill="#5c97da"/><rect x="204" y="90" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/></svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 120"><rect width="240" height="120" rx="8" fill="#f3f3f1"/><rect x="10.5" y="8.5" width="219" height="103" rx="8" fill="#ffffff" stroke="#e6e6e3"/><rect x="20" y="16" width="10" height="10" rx="3" fill="#efefed"/><rect x="34" y="18.5" width="36" height="5" rx="2.5" fill="#37352f"/><rect x="20" y="34" width="18" height="4" rx="2" fill="#a6a5a1"/><rect x="20" y="42" width="36" height="12" rx="3" fill="#1d1d1b"/><rect x="20" y="58" width="30" height="4" rx="2" fill="#d4d3cf"/><rect x="20" y="70" width="26" height="3.5" rx="1.75" fill="#a6a5a1"/><rect x="62" y="70" width="10" height="3.5" rx="1.75" fill="#37352f"/><rect x="20" y="78" width="26" height="3.5" rx="1.75" fill="#a6a5a1"/><rect x="62" y="78" width="10" height="3.5" rx="1.75" fill="#37352f"/><rect x="20" y="86" width="26" height="3.5" rx="1.75" fill="#a6a5a1"/><rect x="62" y="86" width="10" height="3.5" rx="1.75" fill="#37352f"/><rect x="20" y="98" width="32" height="3" rx="1.5" fill="#4084cf"/><rect x="54" y="98" width="22" height="3" rx="1.5" fill="#b0cbeb"/><rect x="92" y="28" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="92" y="37" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="92" y="46" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="92" y="55" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="92" y="64" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="92" y="73" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="92" y="82" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="101" y="28" width="7" height="7" rx="1.8" fill="#4d88d3"/><rect x="101" y="37" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="101" y="46" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="101" y="55" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="101" y="64" width="7" height="7" rx="1.8" fill="#4d88d3"/><rect x="101" y="73" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="101" y="82" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="110" y="28" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="110" y="37" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="110" y="46" width="7" height="7" rx="1.8" fill="#4d88d3"/><rect x="110" y="55" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="110" y="64" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="110" y="73" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="110" y="82" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="119" y="28" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="119" y="37" width="7" height="7" rx="1.8" fill="#2e5e9c"/><rect x="119" y="46" width="7" height="7" rx="1.8" fill="#2e5e9c"/><rect x="119" y="55" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="119" y="64" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="119" y="73" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="119" y="82" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="128" y="28" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="128" y="37" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="128" y="46" width="7" height="7" rx="1.8" fill="#4d88d3"/><rect x="128" y="55" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="128" y="64" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="128" y="73" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="128" y="82" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="137" y="28" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="137" y="37" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="137" y="46" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="137" y="55" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="137" y="64" width="7" height="7" rx="1.8" fill="#4d88d3"/><rect x="137" y="73" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="137" y="82" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="146" y="28" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="146" y="37" width="7" height="7" rx="1.8" fill="#2e5e9c"/><rect x="146" y="46" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="146" y="55" width="7" height="7" rx="1.8" fill="#2e5e9c"/><rect x="146" y="64" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="146" y="73" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="146" y="82" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="155" y="28" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="155" y="37" width="7" height="7" rx="1.8" fill="#4d88d3"/><rect x="155" y="46" width="7" height="7" rx="1.8" fill="#4d88d3"/><rect x="155" y="55" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="155" y="64" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="155" y="73" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="155" y="82" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="164" y="28" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="164" y="37" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="164" y="46" width="7" height="7" rx="1.8" fill="#4d88d3"/><rect x="164" y="55" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="164" y="64" width="7" height="7" rx="1.8" fill="#2e5e9c"/><rect x="164" y="73" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="164" y="82" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="173" y="28" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="173" y="37" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="173" y="46" width="7" height="7" rx="1.8" fill="#4d88d3"/><rect x="173" y="55" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="173" y="64" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="173" y="73" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="173" y="82" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="182" y="28" width="7" height="7" rx="1.8" fill="#4d88d3"/><rect x="182" y="37" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="182" y="46" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="182" y="55" width="7" height="7" rx="1.8" fill="#4d88d3"/><rect x="182" y="64" width="7" height="7" rx="1.8" fill="#4d88d3"/><rect x="182" y="73" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="182" y="82" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="191" y="28" width="7" height="7" rx="1.8" fill="#4d88d3"/><rect x="191" y="37" width="7" height="7" rx="1.8" fill="#4d88d3"/><rect x="191" y="46" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="191" y="55" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="191" y="64" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="191" y="73" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="191" y="82" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="200" y="28" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="200" y="37" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="200" y="46" width="7" height="7" rx="1.8" fill="#4d88d3"/><rect x="200" y="55" width="7" height="7" rx="1.8" fill="#4d88d3"/><rect x="200" y="64" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="200" y="73" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="200" y="82" width="7" height="7" rx="1.8" fill="#ececea"/><rect x="209" y="28" width="7" height="7" rx="1.8" fill="#d1e2f6"/><rect x="209" y="37" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="209" y="46" width="7" height="7" rx="1.8" fill="#90b6e3"/><rect x="209" y="55" width="7" height="7" rx="1.8" fill="#ececea"/></svg>
@@ -1,201 +1,189 @@
1
1
  /* Every selector starts at the instance and goes down a step at a time (>), so that nothing here
2
- reaches the rest of the page. The face fills its card on a custom page (the board draws the frame), in
3
- the kit's card tokens: its head (the chip, 编辑热力图, its line, the quiet note at its end (how many
4
- edits, or since when it is kept; the period where the figures show), its end clear of the card's grip); the
5
- weekdays down the left, the months over the weeks, the squares a column a week, Monday at the top. The
6
- squares' side and gaps are the script's (--gallery-heatmap-cell, --gallery-heatmap-gap, and
7
- --gallery-heatmap-across between the weeks, wider on a card far wider than high: as big as the card
8
- lets them be), their corners a quarter of their side, the grid hung from the left under the head
9
- and the room left over at its right; the weekdays' column left out where a square is under 6px
10
- (data-small: its words would run into each other). A day drawn by its level, 0 to 4, the accent's
11
- shades on the card's fill (a quarter, a half, three quarters of it, and the accent itself; in dark two
12
- fifths, three fifths, four fifths, so that the first stands off the track), a day of none the track's
13
- gray (a step stronger than the track, so that a year of none still reads as a grid), a day before the
14
- record only outlined in that gray, an empty slot rather than a day of nothing, so that a record just
15
- begun reads as starting now; a day to come none. A wide card with something counted (data-figures)
16
- shows its figures beside the squares: what they count, the edits (or words) in all, large (the cards'
17
- hero size), the days that had any and today's, a hairline at their right; under 150px high, today's
18
- left out, under 124px what they count too. Less to more (the script places it) under the squares at their left where the room
19
- under them holds it, else at the head's end, where a card too narrow for it beside the line leaves it out. */
2
+ reaches the rest of the page. The pack's design B, in the kit's card tokens: the head (the chip, a
3
+ calendar, 编辑热力图 and its quiet meta), its end clear of the card's grip; the squares the hero, a grid
4
+ of columns of seven (the script's --gallery-heatmap-cell, -gap and -weeks), five shades of the accent
5
+ (their own in dark: the deepest the lightest there), a day before the record a small gray dot, today
6
+ ringed; the months' names over them and 一 三 五 at their left, faint; less to more under them. Laid out by
7
+ the face's data-layout: "full" the figures in a column of 156px at the left (what the weeks are, the
8
+ total large, the average a day, three facts and the reader's and the Agent's split as a bar), the squares
9
+ 24px after it; "compact" the total and the days with any on a line over the squares; "strip" the squares
10
+ alone under the head; "grid" (8 × 2) the squares alone. A pointer on a square: a dark tip over it with its
11
+ day, over the card (the top layer). Unread: a line over empty squares. Light and dark. */
20
12
  [data-doc-component="gallery/heatmap"] {
21
- --gallery-heatmap-0: light-dark(rgb(33 27 23 / 10%), rgb(255 255 255 / 11%));
22
- --gallery-heatmap-1: light-dark(color-mix(in oklab, var(--gallery-accent) 26%, var(--gallery-card-fill)), color-mix(in oklab, var(--gallery-accent) 42%, var(--gallery-card-fill)));
23
- --gallery-heatmap-2: light-dark(color-mix(in oklab, var(--gallery-accent) 50%, var(--gallery-card-fill)), color-mix(in oklab, var(--gallery-accent) 62%, var(--gallery-card-fill)));
24
- --gallery-heatmap-3: light-dark(color-mix(in oklab, var(--gallery-accent) 75%, var(--gallery-card-fill)), color-mix(in oklab, var(--gallery-accent) 81%, var(--gallery-card-fill)));
25
- --gallery-heatmap-4: var(--gallery-accent);
26
- height: 12em;
27
- container-type: size;
28
- > .gallery-heatmap-face {
29
- --gallery-heatmap-cell: 10px;
30
- --gallery-heatmap-gap: 3px;
31
- display: flex;
32
- flex-direction: column;
33
- gap: var(--gallery-face-gap);
34
- box-sizing: border-box;
35
- height: 100%;
36
- min-height: 0;
37
- color: var(--gallery-text);
38
- font-size: 12px;
39
- line-height: 1.3;
40
- }
13
+ --gallery-heatmap-0: light-dark(rgb(55 53 47 / 6.5%), rgb(255 255 255 / 6.5%));
14
+ --gallery-heatmap-1: light-dark(#d1e2f6, #243b5a);
15
+ --gallery-heatmap-2: light-dark(#90b6e3, #335e95);
16
+ --gallery-heatmap-3: light-dark(#4d88d3, #4e89d0);
17
+ --gallery-heatmap-4: light-dark(#2e5e9c, #a0c2ea);
18
+ --gallery-heatmap-dot: light-dark(rgb(55 53 47 / 17%), rgb(255 255 255 / 17%));
19
+ --gallery-heatmap-tip: light-dark(#2a2927, #3b3b39);
20
+ font-family: var(--gallery-font);
21
+ font-size: 13px;
22
+ line-height: 1.5;
23
+ color: var(--gallery-text);
24
+ > .gallery-heatmap-face { display: flex; flex-direction: column; box-sizing: border-box; min-height: 0; }
41
25
  > .gallery-heatmap-face > .gallery-heatmap-head {
42
26
  display: flex;
43
27
  align-items: center;
44
28
  gap: 8px;
45
29
  flex: none;
30
+ height: 20px;
46
31
  min-width: 0;
47
32
  padding-inline-end: var(--gallery-grip-room, 0px);
48
33
  }
49
34
  > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-chip {
50
35
  flex: none;
51
- display: inline-flex;
52
- align-items: center;
53
- justify-content: center;
36
+ display: grid;
37
+ place-items: center;
54
38
  width: var(--gallery-chip-size);
55
39
  height: var(--gallery-chip-size);
56
40
  border-radius: var(--gallery-chip-radius);
57
- background: var(--gallery-accent-soft);
58
- color: var(--gallery-accent);
59
- }
60
- > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-chip > svg { width: var(--gallery-chip-icon); height: var(--gallery-chip-icon); }
61
- > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-title { flex: none; font-size: var(--gallery-title-size); font-weight: 600; line-height: var(--gallery-title-line); color: var(--gallery-text-strong); }
62
- /* The head's last piece (its line, or less to more where the script put it there) at the content's edge, faded while the card's grip shows. */
63
- > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-line:last-child,
64
- > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-legend { margin-inline-end: calc(-1 * var(--gallery-grip-room, 0px)); opacity: calc(1 - var(--gallery-grip-shown, 0)); transition: opacity .12s ease-out; }
65
- > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-line {
66
- flex: 1 1 auto;
67
- min-width: 0;
68
- margin-inline-start: 4px;
69
- font-size: var(--gallery-meta-size);
70
- color: var(--doc-muted);
71
- text-align: end;
72
- overflow: hidden;
73
- white-space: nowrap;
74
- text-overflow: ellipsis;
41
+ background: var(--gallery-fill);
42
+ color: var(--gallery-muted);
75
43
  }
76
- > .gallery-heatmap-face > .gallery-heatmap-body {
77
- display: flex;
78
- align-items: center;
79
- justify-content: flex-start;
80
- gap: 6px;
81
- flex: 1 1 auto;
82
- min-height: 0;
83
- overflow: hidden;
84
- }
85
- /* The figures beside the squares (a wide card's, where something is counted): what they count, small and
86
- muted, over the edits (or words) in all, large, their unit after them, and a muted line of the days
87
- that had any and today's; a hairline at their right. */
88
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside {
89
- display: none;
90
- flex: none;
91
- flex-direction: column;
92
- justify-content: center;
93
- gap: 4px;
94
- align-self: stretch;
95
- width: clamp(120px, 18cqi, 190px);
96
- box-sizing: border-box;
97
- margin-inline-end: 6px;
98
- padding-inline-end: 16px;
99
- border-inline-end: 1px solid var(--doc-grid);
100
- }
101
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-label { font-size: var(--gallery-meta-size); line-height: 16px; color: var(--doc-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
102
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-total { display: flex; align-items: baseline; flex-wrap: wrap; }
44
+ > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-chip > svg { display: block; width: var(--gallery-chip-icon); height: var(--gallery-chip-icon); }
45
+ > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-title { flex: none; font-size: var(--gallery-title-size); line-height: var(--gallery-title-line); font-weight: 600; color: var(--gallery-text); white-space: nowrap; }
46
+ > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-line { min-width: 0; overflow: hidden; text-overflow: ellipsis; font-size: var(--gallery-meta-size); color: var(--gallery-faint); white-space: nowrap; font-variant-numeric: tabular-nums; }
47
+ > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-line > .gallery-heatmap-dot { margin: 0 5px; color: var(--gallery-faintest); }
48
+ > .gallery-heatmap-face > .gallery-heatmap-body { flex: 1; display: flex; gap: 24px; min-height: 0; margin-top: 16px; }
49
+
50
+ /* The figures: a column at the left of a full card. */
51
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside { flex: none; display: flex; flex-direction: column; width: 156px; min-width: 0; }
52
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-label { font-size: 12px; line-height: 16px; color: var(--gallery-muted); white-space: nowrap; }
53
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-total { display: flex; align-items: baseline; margin-top: 6px; white-space: nowrap; }
103
54
  > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-total > .gallery-heatmap-number {
104
- font-size: var(--gallery-hero-size);
105
- line-height: 1.1;
55
+ font-size: 36px;
56
+ line-height: 1;
106
57
  font-weight: var(--gallery-numeral-weight);
107
58
  letter-spacing: var(--gallery-numeral-tracking);
59
+ font-variant-numeric: lining-nums;
108
60
  color: var(--gallery-text-strong);
109
- font-variant-numeric: tabular-nums;
110
61
  }
111
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-total > .gallery-heatmap-unit { margin-inline-start: var(--gallery-unit-gap); font-size: max(12px, calc(var(--gallery-hero-size) * .4)); font-weight: 500; color: var(--doc-muted); }
112
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-more { display: flex; flex-direction: column; font-size: var(--gallery-meta-size); line-height: 1.5; color: var(--doc-muted); }
113
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-more > .gallery-heatmap-piece { white-space: nowrap; }
114
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-rows {
115
- display: grid;
116
- flex: none;
117
- grid-template-rows: repeat(7, var(--gallery-heatmap-cell));
118
- gap: var(--gallery-heatmap-gap);
119
- margin-top: 18px;
120
- color: var(--doc-muted);
121
- font-size: 10px;
122
- }
123
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-rows > .gallery-heatmap-row { display: flex; align-items: center; line-height: 1; }
124
- > .gallery-heatmap-face[data-small] > .gallery-heatmap-body > .gallery-heatmap-rows { display: none; }
125
- /* Less to more under the squares: the weekdays as much shorter at the bottom, so that they stay beside their rows. */
126
- > .gallery-heatmap-face > .gallery-heatmap-body:has(> .gallery-heatmap-area > .gallery-heatmap-legend) > .gallery-heatmap-rows { margin-bottom: 18px; }
127
- /* As wide as its weeks, hung from the left beside the weekdays. */
128
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area { flex: none; width: calc(var(--gallery-heatmap-weeks, 53) * (var(--gallery-heatmap-cell) + var(--gallery-heatmap-across, var(--gallery-heatmap-gap))) - var(--gallery-heatmap-across, var(--gallery-heatmap-gap))); }
129
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-months {
62
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-total > .gallery-heatmap-unit { margin-left: 3px; font-size: var(--gallery-unit); font-weight: 500; color: var(--gallery-muted); white-space: pre; }
63
+ > .gallery-heatmap-face[data-unread] > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-total > .gallery-heatmap-number { font-weight: 300; color: var(--gallery-faintest); }
64
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-average { margin-top: 6px; font-size: 12px; line-height: 16px; color: var(--gallery-faint); white-space: nowrap; }
65
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-average > .gallery-heatmap-strong { font-weight: 600; color: var(--gallery-muted); }
66
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-facts { display: flex; flex-direction: column; gap: 8px; margin: auto 0 0; }
67
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-facts > .gallery-heatmap-fact { display: flex; justify-content: space-between; align-items: baseline; font-size: 12px; line-height: 16px; color: var(--gallery-muted); }
68
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-facts > .gallery-heatmap-fact > dt { margin: 0; }
69
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-facts > .gallery-heatmap-fact > dd { margin: 0; font-size: 14px; font-weight: 600; color: var(--gallery-text); font-variant-numeric: tabular-nums; }
70
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-facts > .gallery-heatmap-fact > dd > small { margin-left: 2px; font-size: 11.5px; font-weight: 400; color: var(--gallery-faint); }
71
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-facts > .gallery-heatmap-fresh { margin: 0; font-size: 12px; line-height: 18px; color: var(--gallery-faint); }
72
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-facts > .gallery-heatmap-fresh > .gallery-heatmap-clause { display: inline-block; }
73
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-who { margin-top: auto; }
74
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-who[hidden] { display: none; }
75
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-who > .gallery-heatmap-split { display: flex; gap: 2px; height: 6px; }
76
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-who > .gallery-heatmap-split > i { border-radius: 3px; }
77
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-who > .gallery-heatmap-split > .gallery-heatmap-you-bar { background: var(--gallery-accent); }
78
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-who > .gallery-heatmap-split > .gallery-heatmap-agent-bar { background: var(--gallery-accent-mid); }
79
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-who > .gallery-heatmap-who-words { display: flex; justify-content: space-between; margin-top: 6px; font-size: 11.5px; line-height: 15px; color: var(--gallery-faint); white-space: nowrap; }
80
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-who > .gallery-heatmap-who-words > span { display: inline-flex; align-items: center; gap: 5px; }
81
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-who > .gallery-heatmap-who-words > span > b { margin-left: -2px; font-weight: 600; color: var(--gallery-muted); }
82
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-who > .gallery-heatmap-who-words > span > i { width: 6px; height: 6px; border-radius: 2px; background: var(--gallery-accent); }
83
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-who > .gallery-heatmap-who-words > .gallery-heatmap-agent > i { background: var(--gallery-accent-mid); }
84
+
85
+ /* The squares and what stands around them. */
86
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field { position: relative; flex: 1; display: flex; flex-direction: column; min-width: 0; min-height: 0; }
87
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area {
130
88
  position: relative;
131
- height: 14px;
132
- margin-bottom: 4px;
133
- color: var(--doc-muted);
134
- font-size: 10px;
135
- line-height: 14px;
136
- }
137
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-months > .gallery-heatmap-month {
138
- position: absolute;
139
- top: 0;
140
- left: calc(var(--gallery-heatmap-week) * (var(--gallery-heatmap-cell) + var(--gallery-heatmap-across, var(--gallery-heatmap-gap))));
141
- white-space: nowrap;
89
+ flex: none;
90
+ box-sizing: content-box;
91
+ width: calc(var(--gallery-heatmap-weeks, 14) * (var(--gallery-heatmap-cell, 23px) + var(--gallery-heatmap-gap, 4px)) - var(--gallery-heatmap-gap, 4px));
92
+ padding: 18px 0 0 20px;
142
93
  }
143
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-grid {
94
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-months { position: absolute; top: 0; left: 20px; right: 0; height: 18px; }
95
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-months > .gallery-heatmap-month { position: absolute; top: 0; left: calc(var(--gallery-heatmap-week) * (var(--gallery-heatmap-cell) + var(--gallery-heatmap-gap))); font-size: 11px; line-height: 14px; color: var(--gallery-faint); white-space: nowrap; }
96
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-rows { position: absolute; top: 18px; left: 0; display: grid; grid-template-rows: repeat(7, var(--gallery-heatmap-cell, 23px)); row-gap: var(--gallery-heatmap-gap, 4px); }
97
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-rows > .gallery-heatmap-row { display: flex; align-items: center; font-size: 11px; line-height: 1; color: var(--gallery-faint); }
98
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-grid {
144
99
  display: grid;
145
100
  grid-auto-flow: column;
146
- grid-template-rows: repeat(7, var(--gallery-heatmap-cell));
147
- grid-auto-columns: var(--gallery-heatmap-cell);
148
- gap: var(--gallery-heatmap-gap) var(--gallery-heatmap-across, var(--gallery-heatmap-gap));
101
+ grid-template-rows: repeat(7, var(--gallery-heatmap-cell, 23px));
102
+ grid-auto-columns: var(--gallery-heatmap-cell, 23px);
103
+ gap: var(--gallery-heatmap-gap, 4px);
149
104
  }
150
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-day {
105
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-day { position: relative; border-radius: max(3px, calc(var(--gallery-heatmap-cell, 23px) * .24)); background: var(--gallery-heatmap-0); }
106
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-day[data-level="1"] { background: var(--gallery-heatmap-1); }
107
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-day[data-level="2"] { background: var(--gallery-heatmap-2); }
108
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-day[data-level="3"] { background: var(--gallery-heatmap-3); }
109
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-day[data-level="4"] { background: var(--gallery-heatmap-4); }
110
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-future { visibility: hidden; }
111
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-before { background: none; }
112
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-before::after { content: ""; position: absolute; top: 50%; left: 50%; width: 3.2px; height: 3.2px; margin: -1.6px 0 0 -1.6px; border-radius: 50%; background: var(--gallery-heatmap-dot); }
113
+ > .gallery-heatmap-face[data-layout="full"] > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-before::after { width: 4px; height: 4px; margin: -2px 0 0 -2px; }
114
+ > .gallery-heatmap-face[data-unread] > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-before { background: var(--gallery-heatmap-0); }
115
+ > .gallery-heatmap-face[data-unread] > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-before::after { content: none; }
116
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-today { outline: 1.5px solid var(--gallery-muted); outline-offset: 1.75px; }
117
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-day[data-date]:hover { outline: 1.5px solid var(--gallery-text); outline-offset: 1.75px; }
118
+ /* The tip: over the card in the top layer (a popover, else fixed), placed in the window by the script, the arrow at its square (--gallery-heatmap-arrow; at its top when it stands under the square). */
119
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-tip {
120
+ position: fixed;
121
+ inset: auto;
122
+ z-index: 10; /* the top layer needs none: this is where no popover is */
151
123
  box-sizing: border-box;
152
- border-radius: max(2px, calc(var(--gallery-heatmap-cell) / 4));
153
- background: var(--gallery-heatmap-0);
124
+ margin: 0;
125
+ border: 0;
126
+ overflow: visible;
127
+ padding: 7px 10px;
128
+ border-radius: 8px;
129
+ background: var(--gallery-heatmap-tip);
130
+ box-shadow: 0 6px 18px -6px rgb(0 0 0 / 35%);
131
+ font-size: 12px;
132
+ line-height: 17px;
133
+ color: #f5f5f3;
134
+ white-space: nowrap;
135
+ pointer-events: none;
154
136
  }
155
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-day[data-level="1"] { background: var(--gallery-heatmap-1); }
156
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-day[data-level="2"] { background: var(--gallery-heatmap-2); }
157
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-day[data-level="3"] { background: var(--gallery-heatmap-3); }
158
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-day[data-level="4"] { background: var(--gallery-heatmap-4); }
159
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-day.gallery-heatmap-before { background: transparent; box-shadow: inset 0 0 0 1px var(--gallery-heatmap-0); }
160
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-day.gallery-heatmap-future { visibility: hidden; }
161
- /* Less to more, wherever the script put it: under the squares or at the head's end. */
162
- > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-legend,
163
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-legend {
164
- display: flex;
165
- align-items: center;
166
- align-self: center;
167
- gap: 3px;
168
- flex: none;
169
- color: var(--doc-muted);
170
- font-size: 10px;
171
- line-height: 1;
172
- > .gallery-heatmap-less { margin-inline-end: 3px; }
173
- > .gallery-heatmap-more { margin-inline-start: 3px; }
174
- > .gallery-heatmap-square { width: 10px; height: 10px; border-radius: 3px; background: var(--gallery-heatmap-0); }
175
- > .gallery-heatmap-square[data-level="1"] { background: var(--gallery-heatmap-1); }
176
- > .gallery-heatmap-square[data-level="2"] { background: var(--gallery-heatmap-2); }
177
- > .gallery-heatmap-square[data-level="3"] { background: var(--gallery-heatmap-3); }
178
- > .gallery-heatmap-square[data-level="4"] { background: var(--gallery-heatmap-4); }
137
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-tip[hidden] { display: none; }
138
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-tip > small { display: block; font-size: 11.5px; color: rgb(255 255 255 / 60%); }
139
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-tip::after { content: ""; position: absolute; bottom: -4px; left: var(--gallery-heatmap-arrow, 50%); width: 8px; height: 8px; margin-left: -4px; background: inherit; transform: rotate(45deg); }
140
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-area > .gallery-heatmap-tip[data-below]::after { top: -4px; bottom: auto; }
141
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-legend { display: flex; align-items: center; gap: 4px; margin-top: auto; padding-top: 8px; font-size: 11px; line-height: 14px; color: var(--gallery-faint); white-space: nowrap; }
142
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-legend > .gallery-heatmap-square { width: 11px; height: 11px; border-radius: 3px; background: var(--gallery-heatmap-0); }
143
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-legend > .gallery-heatmap-square[data-level="1"] { background: var(--gallery-heatmap-1); }
144
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-legend > .gallery-heatmap-square[data-level="2"] { background: var(--gallery-heatmap-2); }
145
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-legend > .gallery-heatmap-square[data-level="3"] { background: var(--gallery-heatmap-3); }
146
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-legend > .gallery-heatmap-square[data-level="4"] { background: var(--gallery-heatmap-4); }
147
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-legend > .gallery-heatmap-note { display: inline-flex; align-items: center; gap: 5px; margin-left: auto; }
148
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-legend > .gallery-heatmap-note > s { display: block; width: 3px; height: 3px; border-radius: 50%; background: var(--gallery-heatmap-dot); }
149
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-overlay {
150
+ position: absolute;
151
+ top: 50%;
152
+ left: 50%;
153
+ margin: 0;
154
+ padding: 6px 12px;
155
+ border-radius: 8px;
156
+ transform: translate(-50%, -50%);
157
+ background: var(--gallery-card-fill);
158
+ box-shadow: 0 0 0 1px var(--gallery-hair);
159
+ font-size: 12.5px;
160
+ line-height: 18px;
161
+ color: var(--gallery-muted);
162
+ white-space: nowrap;
179
163
  }
180
- > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-legend { align-self: flex-start; margin-top: 8px; }
181
- }
182
- /* A wide card (8 cells and more) with something counted: the figures beside the squares. */
183
- @container (min-width: 560px) {
184
- [data-doc-component="gallery/heatmap"] > .gallery-heatmap-face[data-figures] > .gallery-heatmap-body > .gallery-heatmap-aside { display: flex; }
185
- }
186
- /* Not so high (a 2-high card from a window 1440px wide): today's left out of the figures, which would not fit with the rest. */
187
- @container (max-height: 150px) {
188
- [data-doc-component="gallery/heatmap"] > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-more > .gallery-heatmap-piece + .gallery-heatmap-piece { display: none; }
189
- }
190
- /* Low (a 2-high card from a window under 1440px wide): what the figures count left out too, the number the figure size. */
191
- @container (max-height: 124px) {
192
- [data-doc-component="gallery/heatmap"] > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-label { display: none; }
193
- [data-doc-component="gallery/heatmap"] > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-total > .gallery-heatmap-number { font-size: var(--gallery-figure-size); }
194
- }
195
- /* A card too narrow for less to more beside the line: the line alone. */
196
- @container (max-width: 440px) {
197
- [data-doc-component="gallery/heatmap"] > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-legend { display: none; }
198
- [data-doc-component="gallery/heatmap"] > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-line { margin-inline-end: calc(-1 * var(--gallery-grip-room, 0px)); opacity: calc(1 - var(--gallery-grip-shown, 0)); transition: opacity .12s ease-out; }
164
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-overlay[hidden] { display: none; }
165
+
166
+ /* A compact card: a line of the total over the squares, no legend. */
167
+ > .gallery-heatmap-face[data-layout="compact"] > .gallery-heatmap-body { flex-direction: column; gap: 10px; margin-top: 12px; }
168
+ > .gallery-heatmap-face[data-layout="compact"] > .gallery-heatmap-body > .gallery-heatmap-aside { flex-direction: row; align-items: flex-end; justify-content: space-between; width: auto; }
169
+ > .gallery-heatmap-face[data-layout="compact"] > .gallery-heatmap-body > .gallery-heatmap-aside > :is(.gallery-heatmap-label, .gallery-heatmap-facts, .gallery-heatmap-who) { display: none; }
170
+ > .gallery-heatmap-face[data-layout="compact"] > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-total { margin: 0; }
171
+ > .gallery-heatmap-face[data-layout="compact"] > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-total > .gallery-heatmap-number { font-size: 28px; }
172
+ > .gallery-heatmap-face[data-layout="compact"] > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-total > .gallery-heatmap-unit { margin-left: 11px; }
173
+ > .gallery-heatmap-face[data-layout="compact"] > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-average { margin: 0; font-size: 11.5px; line-height: 16px; color: var(--gallery-faint); }
174
+ > .gallery-heatmap-face[data-layout="compact"] > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-legend { display: none; }
175
+ /* A strip: the squares alone under the head. */
176
+ > .gallery-heatmap-face[data-layout="strip"] > .gallery-heatmap-body { margin-top: 12px; }
177
+ > .gallery-heatmap-face[data-layout="strip"] > .gallery-heatmap-body > .gallery-heatmap-aside { display: none; }
178
+ /* Two cells high (8 × 2): the squares alone, no head, figures or legend, in the middle of the card's height;
179
+ the months' row its first, kept out of the grip's corner by the script (the probe: as wide as that corner). */
180
+ > .gallery-heatmap-face[data-layout="grid"] > .gallery-heatmap-head { display: none; }
181
+ > .gallery-heatmap-face[data-layout="grid"] > .gallery-heatmap-body { margin-top: 0; }
182
+ > .gallery-heatmap-face[data-layout="grid"] > .gallery-heatmap-body > .gallery-heatmap-aside { display: none; }
183
+ > .gallery-heatmap-face[data-layout="grid"] > .gallery-heatmap-body > .gallery-heatmap-field { justify-content: center; }
184
+ > .gallery-heatmap-face[data-layout="grid"] > .gallery-heatmap-body > .gallery-heatmap-field > .gallery-heatmap-legend { display: none; }
185
+ > .gallery-heatmap-face > .gallery-heatmap-grip-room { position: absolute; width: var(--gallery-grip-room, 0px); height: 0; visibility: hidden; pointer-events: none; }
199
186
  }
200
- /* On a custom page the face is the card's: as high as what the card holds inside its padding. */
187
+ /* On a custom page the face fills the card the board frames. */
201
188
  .gallery-card > [data-doc-component="gallery/heatmap"] { height: 100%; }
189
+ .gallery-card > [data-doc-component="gallery/heatmap"] > .gallery-heatmap-face { height: 100%; }
@@ -14,8 +14,8 @@ It is kept in its data part `settings`, a `<script type="application/json">`: `{
14
14
 
15
15
  ## How to write it
16
16
 
17
- Put it on a custom page as a card of its board, `<section class="gallery-card" data-card-id="…" data-x data-y data-w data-h>`, holding one instance, after `gallery block add heatmap`, the instance as template.html has it. Sizes: 8 × 3 (the default: most of a year, its weekdays and less to more under the squares), 12 × 3 (a year) and 4 × 3 (the last weeks alone): as many weeks as the card holds are drawn, the last ending today.
17
+ Put it on a custom page as a card of its board, `<section class="gallery-card" data-card-id="…" data-x data-y data-w data-h>`, holding one instance, after `gallery block add heatmap`, the instance as template.html has it. Sizes: 8 × 4 (the default: 14 weeks and the figures beside them), 12 × 4 (26 weeks and the figures), 4 × 4 (10 weeks under a line of the total), 12 × 3 (a year, the total in the head), 8 × 3 (about 33 weeks, the total in the head) and 8 × 2 (the squares alone, about 44 weeks: no head, figures or legend): as many weeks as the card holds are drawn, the last ending today.
18
18
 
19
19
  ## How it looks
20
20
 
21
- 编辑热力图 beside a calendar's chip, how many edits there were at the top line's end, the weekdays down the left (Monday first), the months over the weeks, the squares in the accent's shades, darker for a day of more; in the kit's card tokens (as every Gallery card: a head of a tinted chip and a title, its end clear of the card's grip), light and dark. Less to more stands under the squares where the card has the room, else at the top line's end. On a wide card (8 cells and more), once anything is counted, the figures stand at the left of the squares: 期间编辑, the edits (or words) in all, large, how many days had any and today's, the top line then saying since when. A day before the record began is an outlined square, an empty slot. Each square says its day and its count where the pointer rests on it. Until anything is counted the line says since when the record is kept (从 11月8日 开始记录). It follows by itself: a document saved, or written by the Agent, shows on today's square at once, and what was written while Gallery did not run is counted on its day when it starts. In an exported file, which has no workspace to read, the line says it shows when the page is opened in Gallery. The script runs with the rights of the page's own scripts, as any block's does.
21
+ In Gallery 风格's look (the kit's card tokens, light and dark): a head of a small gray chip and a title, its end clear of the card's grip; one hero; the rest small and gray; the accent on the data and on today alone. Its head is a calendar's chip and 编辑热力图. The squares are the hero, five shades of the accent by how a day stands among the days recorded, today's ringed, the months' names over them and 一 三 五 beside them, less to more under them; a day before the record began is a small gray dot, never an empty square. On an 8 × 4 or 12 × 4 card the figures stand at their left: the edits of the weeks shown, large, the average a day, the days with any, the longest run of them and today's, and a bar of how the reader's and the Agent's edits split. A pointer on a square shows its day, its edits and whose they were. 按字数显示 counts the words each day added instead.
@@ -1,5 +1,5 @@
1
1
  // gallery/kanban (看板): a view of a table of the document (its manifest's needs hold "tables"; the table's
2
- // frame carries the key its data-doc-from names, which the table's 视图 › puts on both). Each row of the
2
+ // frame carries the key its data-doc-from names, which a board made from "/" takes from the table above it). Each row of the
3
3
  // table is a card, grouped by a column (its settings' `group`, else the column that reads as a status: one
4
4
  // named 状态, 进度, 阶段, status…, else the one after the first whose words repeat most), the groups in
5
5
  // the order its settings' `order` lists (empty ones too), then any other value as the rows first say it,
@@ -34,7 +34,7 @@ const WORDS = {
34
34
  remove: "删除",
35
35
  open: "打开",
36
36
  cards: (/** @type {number} */ count) => `${count} 张卡片`,
37
- unbound: "这个看板还没有接到表格上:在表格的菜单里选“视图 › 看板”。",
37
+ unbound: "这个看板还没有接到表格上:在它的菜单里选“设置…”,选一张表格。",
38
38
  unread: "读不到这个看板的表格:它不在页面上了,或者有合并的单元格。",
39
39
  missing: (/** @type {string} */ name) => `找不到列“${name}”:表格的列名改过了吗?`,
40
40
  readOnly: "这张表格有表尾,或者各行的格数不一样,看板改不了它,这里只能看。",
@@ -51,7 +51,7 @@ const WORDS = {
51
51
  remove: "Delete",
52
52
  open: "Open",
53
53
  cards: (/** @type {number} */ count) => `${count} cards`,
54
- unbound: "This board reads no table yet: pick View › Board in a table's menu.",
54
+ unbound: "This board reads no table yet: pick Settings… in its menu and choose a table.",
55
55
  unread: "This board's table cannot be read: it is not on the page, or it has merged cells.",
56
56
  missing: (/** @type {string} */ name) => `No column “${name}”: was the table's column renamed?`,
57
57
  readOnly: "This table has a footer, or rows of other lengths: the board cannot change it, only show it.",
@@ -13,7 +13,7 @@ Write a table, then the board after it, as example.html does (`gallery block sho
13
13
 
14
14
  Write `{}` for no settings. One table may have several views (another board, a 指标, a 图表), each with the same key.
15
15
 
16
- The reader adds a board in Gallery from a table's menu, 视图 › 看板, which writes the key on both; it is not in "/", as a board needs its table.
16
+ The reader adds a board in Gallery from "/" (看板): it reads the nearest table above it, the key written on both; its menu's 设置… picks another table.
17
17
 
18
18
  ## How it looks
19
19
 
@@ -1,5 +1,5 @@
1
1
  // gallery/metric (指标): a view of a table of the document (its manifest's needs hold "tables"; the table's
2
- // frame carries the key its data-doc-from names, which the table's 视图 › puts on both): one number of
2
+ // frame carries the key its data-doc-from names, which a metric made from "/" takes from the table above it): one number of
3
3
  // the table, large, under its name. Its settings (its data part `settings`, JSON) say which: `op`
4
4
  // "count" (the rows: the default), "sum" or "average" of the numbers of a `column` (the first column
5
5
  // holding numbers where it names none; a cell holding no number is left out, as a chart leaves it out),
@@ -28,7 +28,7 @@ const WORDS = {
28
28
  of: (/** @type {string} */ label, /** @type {string} */ where) => `${label}(${where})`,
29
29
  counted: (/** @type {number} */ count) => `按 ${count} 行算`,
30
30
  outOf: (/** @type {number} */ count) => `共 ${count} 行`,
31
- unbound: "这个指标还没有接到表格上:在表格的菜单里选“视图 › 指标”。",
31
+ unbound: "这个指标还没有接到表格上:在它的菜单里选“设置…”,选一张表格。",
32
32
  unread: "读不到这个指标的表格:它不在页面上了,或者有合并的单元格。",
33
33
  missing: (/** @type {string} */ name) => `找不到列“${name}”:表格的列名改过了吗?`,
34
34
  noNumbers: "表格里没有写数的列:合计和平均要一列数。",
@@ -50,7 +50,7 @@ const WORDS = {
50
50
  of: (/** @type {string} */ label, /** @type {string} */ where) => `${label} (${where})`,
51
51
  counted: (/** @type {number} */ count) => `Of ${count} rows`,
52
52
  outOf: (/** @type {number} */ count) => `${count} rows in all`,
53
- unbound: "This metric reads no table yet: pick View › Metric in a table's menu.",
53
+ unbound: "This metric reads no table yet: pick Settings… in its menu and choose a table.",
54
54
  unread: "This metric's table cannot be read: it is not on the page, or it has merged cells.",
55
55
  missing: (/** @type {string} */ name) => `No column “${name}”: was the table's column renamed?`,
56
56
  noNumbers: "The table has no column of numbers: a sum and an average need one.",
@@ -16,7 +16,7 @@ Write a table, then the metric, as example.html does (`gallery block show galler
16
16
 
17
17
  One table may have several views (a 看板, a 图表, more metrics), each with the same key.
18
18
 
19
- The reader adds a metric in Gallery from a table's menu, 视图 › 指标, which writes the key on both; it is not in "/", as a metric needs its table. Its ⚙ (where the page edits) changes its settings.
19
+ The reader adds a metric in Gallery from "/" (指标): it reads the nearest table above it, the key written on both; its menu's 设置… picks another table and changes its settings (so does its ⚙, where the page edits).
20
20
 
21
21
  ## How it looks
22
22