@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,267 +1,214 @@
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, the title, how many there are its quiet note at the end,
4
- clear of the card's grip), the summary of how many are done (where there are any: a ring of the share,
5
- 56px, 88px on a card 280px high and more, as large whatever it shows, its percent in the middle, the
6
- sign small and muted, a key of the two counts beside it), then the documents' to-dos, which scroll inside the card, each
7
- document's title small and muted over its items, an item a rounded box (checked, it fills with the
8
- accent), its words and the headings it stands under, muted. A row a press away from its document (a
9
- hover fill, as a row of the sidebar has). A wide card (8 cells) sets the documents in two columns.
10
- Every one done, the summary's ring (no key) is the card's empty face, in the middle of the room under the
11
- head, the line under it; none at all, the cards' empty face (a picture in a soft disc over a muted line).
12
- Light and dark. */
2
+ reaches the rest of the page. The pack's design B, in the kit's card tokens, a grid laid out by the
3
+ card's cells (the face's data-layout): the head (the chip, a checked list, 我的待办 and its quiet meta),
4
+ its end clear of the card's grip; how many are done (on a 4 × 4 card a line, 已完成 19 / 27 and the
5
+ percent at its end, over a row of ticks, one an item, done in the accent; on a 4 × 6 a ring of 64px, its
6
+ percent in the middle, beside the open count large and 已完成 under it; on an 8 × 4 a ring of 96px at the
7
+ left over a key of three rows); and the list, scrolling, faded at its foot while there is more: the
8
+ groups small and gray (the document's icon, its title, its open count fainter), each item a box of 15px
9
+ (the accent's, ticked, once done), its words (struck through and faint once done) and, under them (at
10
+ their right on a wide card), the headings it stands under, faint. A card with no item to show is the
11
+ cards' empty face in the middle: a soft square with the list's picture (or, all of them done, a full
12
+ green ring with a tick), a line and what to do. Light and dark. */
13
13
  [data-doc-component="gallery/todos"] {
14
- container-type: size;
15
- --gallery-todos-ring: 56px;
16
- --gallery-todos-tick: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3.6 7.2l2.2 2.2 4.6-4.8' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
14
+ --gallery-todos-box: light-dark(rgb(55 53 47 / 30%), rgb(255 255 255 / 30%));
15
+ font-family: var(--gallery-font);
16
+ font-size: 13px;
17
+ line-height: 1.5;
18
+ color: var(--gallery-text);
17
19
  > .gallery-todos-face {
18
- display: flex;
19
- flex-direction: column;
20
- gap: var(--gallery-face-gap);
20
+ position: relative;
21
+ display: grid;
22
+ grid-template-columns: minmax(0, 1fr);
23
+ grid-template-rows: 20px auto minmax(0, 1fr);
24
+ grid-template-areas: "head" "summary" "list";
21
25
  box-sizing: border-box;
22
- height: 100%;
23
26
  min-height: 0;
24
- color: var(--gallery-text);
25
- font-size: 14px;
26
- line-height: 1.45;
27
27
  }
28
28
  > .gallery-todos-face > .gallery-todos-head {
29
+ grid-area: head;
29
30
  display: flex;
30
31
  align-items: center;
31
32
  gap: 8px;
32
- flex: none;
33
33
  min-width: 0;
34
34
  padding-inline-end: var(--gallery-grip-room, 0px);
35
35
  }
36
36
  > .gallery-todos-face > .gallery-todos-head > .gallery-todos-chip {
37
37
  flex: none;
38
- display: inline-flex;
39
- align-items: center;
40
- justify-content: center;
38
+ display: grid;
39
+ place-items: center;
41
40
  width: var(--gallery-chip-size);
42
41
  height: var(--gallery-chip-size);
43
42
  border-radius: var(--gallery-chip-radius);
44
- background: var(--gallery-accent-soft);
45
- color: var(--gallery-accent);
46
- }
47
- > .gallery-todos-face > .gallery-todos-head > .gallery-todos-chip > svg { width: var(--gallery-chip-icon); height: var(--gallery-chip-icon); }
48
- > .gallery-todos-face > .gallery-todos-head > .gallery-todos-title {
49
- flex: 1 1 auto;
50
- min-width: 0;
51
- color: var(--gallery-text-strong);
52
- overflow: hidden;
53
- white-space: nowrap;
54
- text-overflow: ellipsis;
55
- font-size: var(--gallery-title-size);
56
- line-height: var(--gallery-title-line);
57
- font-weight: 600;
58
- }
59
- > .gallery-todos-face > .gallery-todos-head > .gallery-todos-count {
60
- flex: none;
61
- margin-inline-end: calc(-1 * var(--gallery-grip-room, 0px)); opacity: calc(1 - var(--gallery-grip-shown, 0)); transition: opacity .12s ease-out;
62
- font-size: var(--gallery-meta-size);
63
- color: var(--doc-muted);
64
- white-space: nowrap;
65
- font-variant-numeric: tabular-nums;
66
- }
67
- > .gallery-todos-face > .gallery-todos-head > .gallery-todos-count:empty { display: none; }
68
- /* How many are done of all, under the head: a ring of the share done in the accent (the good green
69
- once all are), the share in its middle, and a key of the two counts beside it, each a dot of its
70
- color, its name muted and its count at the end; a hairline under it where the list follows. */
71
- > .gallery-todos-face > .gallery-todos-summary {
72
- display: flex;
73
- align-items: center;
74
- gap: 14px;
75
- flex: none;
76
- min-width: 0;
77
- padding-bottom: 12px;
78
- border-bottom: 1px solid var(--doc-grid);
79
- }
43
+ background: var(--gallery-fill);
44
+ color: var(--gallery-muted);
45
+ }
46
+ > .gallery-todos-face > .gallery-todos-head > .gallery-todos-chip > svg { display: block; width: var(--gallery-chip-icon); height: var(--gallery-chip-icon); }
47
+ > .gallery-todos-face > .gallery-todos-head > .gallery-todos-title { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: var(--gallery-title-size); line-height: var(--gallery-title-line); font-weight: 600; color: var(--gallery-text); }
48
+ > .gallery-todos-face > .gallery-todos-head > .gallery-todos-count { flex: none; font-size: var(--gallery-meta-size); color: var(--gallery-faint); white-space: nowrap; font-variant-numeric: tabular-nums; }
49
+
50
+ /* How many are done: the parts each layout shows. */
51
+ > .gallery-todos-face > .gallery-todos-summary { grid-area: summary; margin-top: 12px; min-width: 0; }
80
52
  > .gallery-todos-face > .gallery-todos-summary[hidden] { display: none; }
81
- /* All done: the summary the card's empty face, the ring (as large as ever) in the middle of the room
82
- under the head, the line (待办都完成了) under it, no key, no picture of its own. */
83
- > .gallery-todos-face[data-state="done"] > .gallery-todos-summary { flex-direction: column; gap: 10px; margin-top: auto; padding-bottom: 0; border-bottom: 0; }
84
- > .gallery-todos-face[data-state="done"] > .gallery-todos-summary > .gallery-todos-key { display: none; }
85
- > .gallery-todos-face[data-state="done"] > .gallery-todos-list { display: none; }
86
- > .gallery-todos-face[data-state="done"] > .gallery-todos-line { flex: none; margin-bottom: auto; padding-top: 0; }
87
- > .gallery-todos-face[data-state="done"] > .gallery-todos-line::before { display: none; }
88
- > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-ring {
89
- position: relative;
90
- flex: none;
53
+ > .gallery-todos-face > .gallery-todos-summary > :is(.gallery-todos-ring, .gallery-todos-big, .gallery-todos-key) { display: none; }
54
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-progress { display: flex; align-items: baseline; justify-content: space-between; margin: 0 0 6px; font-size: 12px; line-height: 16px; color: var(--gallery-muted); }
55
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-progress b { font-weight: 600; color: var(--gallery-text); }
56
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-progress > .gallery-todos-share { font-size: 11.5px; color: var(--gallery-faint); font-variant-numeric: tabular-nums; }
57
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-ticks { display: flex; gap: 2px; height: 6px; }
58
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-ticks > .gallery-todos-tick { flex: 1; border-radius: 2px; background: var(--gallery-track); }
59
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-ticks > .gallery-todos-on { background: var(--gallery-accent); }
60
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-ring { position: relative; flex: none; }
61
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-ring > svg { display: block; transform: rotate(-90deg); }
62
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-ring > svg > circle { fill: none; }
63
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-ring > svg > .gallery-todos-track { stroke: var(--gallery-track); }
64
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-ring > svg > .gallery-todos-arc { stroke: var(--gallery-accent); stroke-linecap: round; }
65
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-ring > .gallery-todos-percent {
66
+ position: absolute;
67
+ inset: 0;
91
68
  display: flex;
92
69
  align-items: center;
93
70
  justify-content: center;
94
- width: var(--gallery-todos-ring);
95
- height: var(--gallery-todos-ring);
96
- }
97
- > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-ring > svg { position: absolute; inset: 0; width: 100%; height: 100%; }
98
- > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-ring > svg > circle { fill: none; stroke-width: 10; }
99
- > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-ring > svg > .gallery-todos-track { stroke: var(--gallery-track); }
100
- > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-ring > svg > .gallery-todos-arc {
101
- stroke: var(--gallery-accent);
102
- stroke-linecap: round;
103
- stroke-dasharray: calc(var(--gallery-todos-share, 0) * 100) 100;
71
+ font-size: 17px;
72
+ line-height: 1;
73
+ font-weight: var(--gallery-numeral-weight);
74
+ letter-spacing: var(--gallery-numeral-tracking);
75
+ font-variant-numeric: lining-nums;
76
+ color: var(--gallery-text-strong);
104
77
  }
105
- > .gallery-todos-face > .gallery-todos-summary[data-all] > .gallery-todos-ring > svg > .gallery-todos-arc { stroke: var(--gallery-good); }
106
- > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-ring > .gallery-todos-percent {
107
- position: relative;
108
- font-size: calc(var(--gallery-todos-ring) * .27);
78
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-ring > .gallery-todos-percent > .gallery-todos-percent-value > .gallery-todos-percent-sign { margin-left: 1px; font-size: 11px; font-weight: 500; letter-spacing: 0; color: var(--gallery-muted); }
79
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-big > p { margin: 0; }
80
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-big > .gallery-todos-big-line { display: flex; align-items: baseline; }
81
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-big > .gallery-todos-big-line > .gallery-todos-open {
82
+ font-size: 30px;
109
83
  line-height: 1;
110
84
  font-weight: var(--gallery-numeral-weight);
111
85
  letter-spacing: var(--gallery-numeral-tracking);
86
+ font-variant-numeric: lining-nums;
112
87
  color: var(--gallery-text-strong);
113
- font-variant-numeric: tabular-nums;
114
88
  }
115
- /* The percent sign small and muted, as every number's unit. */
116
- > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-ring > .gallery-todos-percent > .gallery-todos-percent-sign { margin-inline-start: .08em; font-size: .55em; font-weight: 500; letter-spacing: 0; color: var(--doc-muted); }
117
- > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-key {
118
- display: flex;
119
- flex-direction: column;
89
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-big > .gallery-todos-big-line > .gallery-todos-open-unit { margin-left: 3px; font-size: var(--gallery-unit); font-weight: 500; color: var(--gallery-muted); }
90
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-big > .gallery-todos-big-done { margin-top: 6px; font-size: 12px; line-height: 16px; color: var(--gallery-muted); }
91
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-key { flex-direction: column; gap: 6px; margin: 16px 0 0; }
92
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-key > .gallery-todos-key-row { display: flex; align-items: center; gap: 8px; font-size: 12px; line-height: 16px; color: var(--gallery-muted); }
93
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-key > .gallery-todos-key-row::before { content: ""; flex: none; width: 8px; height: 8px; border-radius: 50%; background: var(--gallery-accent); }
94
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-key > .gallery-todos-key-row[data-kind="left"]::before { background: var(--gallery-track); }
95
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-key > .gallery-todos-key-row[data-kind="from"]::before { background: transparent; box-shadow: inset 0 0 0 1.5px var(--gallery-faintest); }
96
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-key > .gallery-todos-key-row > dt { margin: 0; }
97
+ > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-key > .gallery-todos-key-row > dd { margin: 0 0 0 auto; font-weight: 600; color: var(--gallery-text); font-variant-numeric: tabular-nums; }
98
+
99
+ /* The list: groups and items, scrolling, faded at its foot while there is more. */
100
+ > .gallery-todos-face > .gallery-todos-list { grid-area: list; min-height: 0; margin-top: 8px; overflow: auto; scrollbar-width: none; }
101
+ > .gallery-todos-face > .gallery-todos-list[hidden] { display: none; }
102
+ > .gallery-todos-face > .gallery-todos-list[data-more] {
103
+ -webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 28px), transparent);
104
+ mask-image: linear-gradient(to bottom, #000 calc(100% - 28px), transparent);
105
+ }
106
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-group-head { display: flex; align-items: center; gap: 4px; min-width: 0; margin: 10px 0 2px; font-size: 11.5px; line-height: 18px; font-weight: 600; color: var(--gallery-muted); }
107
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-group-head > .gallery-todos-doc {
108
+ display: inline-flex;
109
+ align-items: center;
120
110
  gap: 4px;
121
- flex: 1 1 auto;
122
111
  min-width: 0;
123
- max-width: 160px;
124
- margin: 0;
125
- }
126
- > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-key > .gallery-todos-key-row { display: flex; align-items: center; gap: 8px; font-size: 13px; line-height: 20px; }
127
- > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-key > .gallery-todos-key-row::before { content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--gallery-accent); }
128
- > .gallery-todos-face > .gallery-todos-summary[data-all] > .gallery-todos-key > .gallery-todos-key-row[data-kind="done"]::before { background: var(--gallery-good); }
129
- > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-key > .gallery-todos-key-row[data-kind="left"]::before { background: var(--gallery-track); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--doc-muted) 35%, transparent); }
130
- > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-key > .gallery-todos-key-row > .gallery-todos-key-name { flex: 1 1 auto; min-width: 0; color: var(--doc-muted); }
131
- > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-key > .gallery-todos-key-row > .gallery-todos-key-count { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; }
132
- > .gallery-todos-face > .gallery-todos-list {
133
- flex: 1 1 auto;
134
- min-height: 0;
135
- margin: -2px -6px 0;
136
- overflow-y: auto;
137
- overscroll-behavior: contain;
138
- scrollbar-width: thin;
139
- }
140
- > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group + .gallery-todos-group { margin-top: 10px; }
141
- > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > button,
142
- > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > button {
143
- display: flex;
144
- box-sizing: border-box;
145
- width: 100%;
146
- margin: 0;
112
+ padding: 0;
147
113
  border: 0;
148
- border-radius: 6px;
149
- background: transparent;
114
+ border-radius: 4px;
115
+ background: none;
150
116
  font: inherit;
151
117
  color: inherit;
152
- text-align: start;
153
- cursor: pointer;
154
- }
155
- > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > button:hover,
156
- > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > button:hover { background: var(--doc-hover); }
157
- > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-doc {
158
- padding: 2px 6px;
159
- font-size: var(--gallery-meta-size);
160
- font-weight: 500;
161
- color: var(--doc-muted);
162
- overflow: hidden;
163
118
  white-space: nowrap;
119
+ overflow: hidden;
164
120
  text-overflow: ellipsis;
121
+ cursor: pointer;
165
122
  }
166
- > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items { margin: 0; padding: 0; list-style: none; }
167
- > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-todo {
168
- flex-wrap: wrap;
169
- align-items: baseline;
170
- column-gap: 8px;
171
- padding: 4px 6px 4px 30px;
172
- position: relative;
123
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-group-head > .gallery-todos-doc:hover { color: var(--gallery-text); }
124
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-group-head > .gallery-todos-group-count { flex: none; margin-left: 2px; font-weight: 400; color: var(--gallery-faint); }
125
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-group-head > .gallery-todos-doc > .gallery-todos-icon { flex: none; display: grid; place-items: center; width: 13px; height: 13px; margin-right: 2px; }
126
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-group-head > .gallery-todos-doc > .gallery-todos-icon > img { display: block; width: 12px; height: 12px; }
127
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-group-head > .gallery-todos-doc > .gallery-todos-glyph::before { content: ""; width: 12px; height: 12px; background: var(--gallery-faint); -webkit-mask: var(--gallery-todos-icon) center / contain no-repeat; mask: var(--gallery-todos-icon) center / contain no-repeat; }
128
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-group-head > .gallery-todos-doc > .gallery-todos-icon:empty::before {
129
+ content: "";
130
+ width: 12px;
131
+ height: 12px;
132
+ background: var(--gallery-faint);
133
+ -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3.5h6.5L18 8v11a1.5 1.5 0 0 1-1.5 1.5h-9.5A1.5 1.5 0 0 1 5.5 19V5A1.5 1.5 0 0 1 7 3.5z'/%3E%3Cpath d='M13.5 3.5V8H18'/%3E%3C/svg%3E") center / contain no-repeat;
134
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 3.5h6.5L18 8v11a1.5 1.5 0 0 1-1.5 1.5h-9.5A1.5 1.5 0 0 1 5.5 19V5A1.5 1.5 0 0 1 7 3.5z'/%3E%3Cpath d='M13.5 3.5V8H18'/%3E%3C/svg%3E") center / contain no-repeat;
173
135
  }
174
- /* The box: a rounded square of the muted color's line, filled with the accent and ticked once done. */
175
- > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-todo > .gallery-todos-box,
176
- > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-check > .gallery-todos-box {
177
- position: absolute;
178
- top: calc(4px + .725em - 8px);
179
- left: 7px;
136
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items { margin: 0; padding: 0; list-style: none; }
137
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item { display: flex; align-items: flex-start; gap: 9px; padding: 4px 0; }
138
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-check { flex: none; margin: 2px 0 0; padding: 0; border: 0; background: none; cursor: pointer; }
139
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item .gallery-todos-box {
140
+ display: grid;
141
+ place-items: center;
142
+ flex: none;
180
143
  box-sizing: border-box;
181
- width: 16px;
182
- height: 16px;
183
- border: 1.5px solid color-mix(in srgb, var(--doc-muted) 70%, transparent);
184
- border-radius: 5px;
185
- }
186
- > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-todo > .gallery-todos-text { min-width: 0; overflow-wrap: anywhere; }
187
- > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-todo > .gallery-todos-path {
144
+ width: 15px;
145
+ height: 15px;
146
+ border-radius: 4px;
147
+ box-shadow: inset 0 0 0 1.5px var(--gallery-todos-box);
148
+ color: #fff;
149
+ }
150
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-box { margin-top: 2px; }
151
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-check:hover > .gallery-todos-box { box-shadow: inset 0 0 0 1.5px var(--gallery-accent); }
152
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item .gallery-todos-box > svg { display: block; width: 11px; height: 11px; }
153
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-done .gallery-todos-box { background: var(--gallery-accent); box-shadow: none; }
154
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-todo {
155
+ display: flex;
156
+ flex-direction: column;
157
+ flex: 1;
188
158
  min-width: 0;
189
- font-size: var(--gallery-meta-size);
190
- color: var(--doc-muted);
191
- overflow: hidden;
192
- white-space: nowrap;
193
- text-overflow: ellipsis;
194
- }
195
- > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-todo.gallery-todos-done > .gallery-todos-text { color: var(--doc-muted); text-decoration: line-through; }
196
- > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-todo.gallery-todos-done > .gallery-todos-box,
197
- > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-check[aria-checked="true"] > .gallery-todos-box {
198
- border-color: transparent;
199
- background: var(--gallery-accent) var(--gallery-todos-tick) center / 12px no-repeat;
200
- }
201
- /* The box as a button of its own (where the workspace takes checks: setTodo), over the item's start: a
202
- press checks it in its document, the words beside it still open the document. */
203
- > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item { position: relative; }
204
- > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-check {
205
- position: absolute;
206
- z-index: 1;
207
- top: 0;
208
- left: 0;
209
- width: 30px;
210
- height: calc(8px + 1.45em);
211
159
  padding: 0;
212
- border-radius: 6px 0 0 6px;
160
+ border: 0;
161
+ border-radius: 4px;
162
+ background: none;
163
+ font: inherit;
164
+ color: inherit;
165
+ text-align: start;
166
+ cursor: pointer;
213
167
  }
214
- > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-check:hover { background: transparent; }
215
- > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-check:hover > .gallery-todos-box { border-color: var(--doc-muted); }
216
- > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-check[aria-checked="true"]:hover > .gallery-todos-box { border-color: transparent; }
217
- /* Why a check was refused, for a few seconds, under the list. */
218
- > .gallery-todos-face > .gallery-todos-note { flex: none; margin: 0; font-size: var(--gallery-meta-size); color: var(--gallery-bad); }
168
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-todo:hover { background: var(--gallery-hover); box-shadow: 0 0 0 3px var(--gallery-hover); }
169
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-todo > .gallery-todos-text { font-size: 13px; line-height: 19px; color: var(--gallery-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
170
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-todo > .gallery-todos-path { font-size: 11.5px; line-height: 15px; color: var(--gallery-faint); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
171
+ > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-done > .gallery-todos-todo > .gallery-todos-text { color: var(--gallery-faint); text-decoration: line-through; text-decoration-color: var(--gallery-faintest); }
172
+
173
+ /* Nothing to list: the cards' empty face in the middle. */
174
+ > .gallery-todos-face > .gallery-todos-empty { grid-area: list; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 0; text-align: center; }
175
+ > .gallery-todos-face > .gallery-todos-empty[hidden] { display: none; }
176
+ > .gallery-todos-face > .gallery-todos-empty > p { margin: 0; }
177
+ > .gallery-todos-face > .gallery-todos-empty > .gallery-todos-line { font-size: 13.5px; line-height: 20px; font-weight: 600; color: var(--gallery-text); }
178
+ > .gallery-todos-face > .gallery-todos-empty > .gallery-todos-hint { font-size: 12px; line-height: 18px; color: var(--gallery-faint); }
179
+ > .gallery-todos-face > .gallery-todos-empty > .gallery-todos-empty-picture { display: grid; place-items: center; width: 28px; height: 28px; margin-bottom: 6px; border-radius: 8px; background: var(--gallery-fill); color: var(--gallery-faint); }
180
+ > .gallery-todos-face > .gallery-todos-empty > .gallery-todos-empty-picture > svg { width: 16px; height: 16px; }
181
+ > .gallery-todos-face > .gallery-todos-empty[data-picture="done"] > .gallery-todos-empty-picture { position: relative; width: 72px; height: 72px; margin-bottom: 10px; border-radius: 0; background: none; color: var(--gallery-good); }
182
+ > .gallery-todos-face > .gallery-todos-empty[data-picture="done"] > .gallery-todos-empty-picture > svg:first-child { position: absolute; inset: 0; width: 72px; height: 72px; }
183
+ > .gallery-todos-face > .gallery-todos-empty[data-picture="done"] > .gallery-todos-empty-picture > svg:first-child > circle { fill: none; stroke: var(--gallery-good); stroke-width: 7; }
184
+ > .gallery-todos-face > .gallery-todos-empty[data-picture="done"] > .gallery-todos-empty-picture > svg:last-child { width: 26px; height: 26px; stroke-width: 2.4; }
185
+ > .gallery-todos-face[data-state="done"],
186
+ > .gallery-todos-face[data-state="none"],
187
+ > .gallery-todos-face[data-state="unread"] { grid-template-rows: 20px 0 minmax(0, 1fr); }
188
+ /* A refused check: a line at the foot, over the list, for a few seconds. */
189
+ > .gallery-todos-face > .gallery-todos-note { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 6px 10px; border-radius: 8px; background: var(--gallery-card-fill); box-shadow: 0 0 0 1px var(--gallery-hair), 0 4px 12px -6px rgb(0 0 0 / 20%); font-size: 12px; line-height: 16px; color: var(--gallery-muted); }
219
190
  > .gallery-todos-face > .gallery-todos-note[hidden] { display: none; }
220
- /* What it says where it lists nothing: in the middle of what the card has left, muted, a quiet
221
- picture over it in a soft disc (the cards' empty face), a check in the good green's once all are done. */
222
- > .gallery-todos-face > .gallery-todos-line {
223
- flex: 1 1 auto;
224
- display: flex;
225
- flex-direction: column;
226
- align-items: center;
227
- justify-content: center;
228
- gap: 8px;
229
- margin: 0;
230
- padding: 8px 12px;
231
- font-size: 13px;
232
- color: var(--doc-muted);
233
- text-align: center;
234
- }
235
- > .gallery-todos-face > .gallery-todos-line::before {
236
- content: "";
237
- flex: none;
238
- width: 44px;
239
- height: 44px;
240
- margin-bottom: 2px;
241
- background: currentColor;
242
- -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Ccircle cx='22' cy='22' r='22' fill-opacity='.14'/%3E%3Cg transform='translate(11 11) scale(.9167)' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 5.5L5 7l2.5-2.5M3.5 11.5L5 13l2.5-2.5M3.5 17.5L5 19l2.5-2.5M11 6h9M11 12h9M11 18h9'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
243
- mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Ccircle cx='22' cy='22' r='22' fill-opacity='.14'/%3E%3Cg transform='translate(11 11) scale(.9167)' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 5.5L5 7l2.5-2.5M3.5 11.5L5 13l2.5-2.5M3.5 17.5L5 19l2.5-2.5M11 6h9M11 12h9M11 18h9'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat;
244
- }
245
- > .gallery-todos-face[data-state="done"] > .gallery-todos-line::before {
246
- background: var(--gallery-good);
247
- -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Ccircle cx='22' cy='22' r='22' fill-opacity='.14'/%3E%3Cg transform='translate(11 11) scale(.9167)' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 12.5l4 4L18.5 7.5'/%3E%3C/g%3E%3C/svg%3E");
248
- mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Ccircle cx='22' cy='22' r='22' fill-opacity='.14'/%3E%3Cg transform='translate(11 11) scale(.9167)' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5.5 12.5l4 4L18.5 7.5'/%3E%3C/g%3E%3C/svg%3E");
249
- }
250
- > .gallery-todos-face > .gallery-todos-line[hidden] { display: none; }
251
- }
252
- /* A tall card (280px high and more: 4 high from a window 1440px wide): the ring larger, the key beside it. */
253
- @container (min-height: 280px) {
254
- [data-doc-component="gallery/todos"] > .gallery-todos-face { --gallery-todos-ring: 88px; }
255
- [data-doc-component="gallery/todos"] > .gallery-todos-face > .gallery-todos-summary { gap: 20px; }
256
- [data-doc-component="gallery/todos"] > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-key { max-width: 200px; gap: 6px; }
257
- [data-doc-component="gallery/todos"] > .gallery-todos-face > .gallery-todos-summary > .gallery-todos-key > .gallery-todos-key-row { font-size: 14px; }
258
- }
259
- /* A wide card (8 cells): the documents side by side, two to a row, the list still scrolling down. */
260
- @container (min-width: 560px) {
261
- [data-doc-component="gallery/todos"] > .gallery-todos-face > .gallery-todos-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 10px 24px; }
262
- [data-doc-component="gallery/todos"] > .gallery-todos-face > .gallery-todos-list > .gallery-todos-group + .gallery-todos-group { margin-top: 0; }
191
+
192
+ /* A tall card: the ring beside the open count. */
193
+ > .gallery-todos-face[data-layout="tall"] > .gallery-todos-summary { display: flex; align-items: center; gap: 14px; margin-top: 14px; }
194
+ > .gallery-todos-face[data-layout="tall"] > .gallery-todos-summary[hidden] { display: none; }
195
+ > .gallery-todos-face[data-layout="tall"] > .gallery-todos-summary > :is(.gallery-todos-progress, .gallery-todos-ticks) { display: none; }
196
+ > .gallery-todos-face[data-layout="tall"] > .gallery-todos-summary > :is(.gallery-todos-ring, .gallery-todos-big) { display: block; }
197
+ > .gallery-todos-face[data-layout="tall"] > .gallery-todos-list { margin-top: 10px; }
198
+ /* A wide card: the ring and the key at the left, the list at the right, each item's headings at its right. */
199
+ > .gallery-todos-face[data-layout="wide"] { grid-template-columns: 150px minmax(0, 1fr); grid-template-rows: 20px minmax(0, 1fr); grid-template-areas: "head head" "summary list"; column-gap: 28px; }
200
+ > .gallery-todos-face[data-layout="wide"] > .gallery-todos-summary { display: flex; flex-direction: column; margin-top: 4px; padding-top: 4px; }
201
+ > .gallery-todos-face[data-layout="wide"] > .gallery-todos-summary[hidden] { display: none; }
202
+ > .gallery-todos-face[data-layout="wide"] > .gallery-todos-summary > :is(.gallery-todos-progress, .gallery-todos-ticks) { display: none; }
203
+ > .gallery-todos-face[data-layout="wide"] > .gallery-todos-summary > .gallery-todos-ring { display: block; align-self: flex-start; }
204
+ > .gallery-todos-face[data-layout="wide"] > .gallery-todos-summary > .gallery-todos-ring > .gallery-todos-percent { font-size: 22px; }
205
+ > .gallery-todos-face[data-layout="wide"] > .gallery-todos-summary > .gallery-todos-key { display: flex; }
206
+ > .gallery-todos-face[data-layout="wide"] > .gallery-todos-list { margin-top: 4px; }
207
+ > .gallery-todos-face[data-layout="wide"] > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-todo { flex-direction: row; align-items: baseline; justify-content: space-between; gap: 16px; }
208
+ > .gallery-todos-face[data-layout="wide"] > .gallery-todos-list > .gallery-todos-group > .gallery-todos-items > .gallery-todos-item > .gallery-todos-todo > .gallery-todos-path { flex: none; max-width: 45%; }
209
+ > .gallery-todos-face[data-layout="wide"] > .gallery-todos-empty { grid-column: 1 / -1; }
210
+ > .gallery-todos-face[data-layout="wide"]:is([data-state="done"], [data-state="none"], [data-state="unread"]) { grid-template-areas: "head head" "list list"; }
263
211
  }
264
- /* On a custom page the face is the card's: as high as what the card holds inside its padding. Where no
265
- card is around it (a document, as gallery block check shows it) it is a few items high. */
266
- [data-doc-component="gallery/todos"] { height: 16em; }
212
+ /* On a custom page the face fills the card the board frames. */
267
213
  .gallery-card > [data-doc-component="gallery/todos"] { height: 100%; }
214
+ .gallery-card > [data-doc-component="gallery/todos"] > .gallery-todos-face { height: 100%; }
@@ -27,4 +27,4 @@ The card follows by itself: a to-do added, checked or taken out in any document
27
27
 
28
28
  ## How it looks
29
29
 
30
- 我的待办 beside a checked list's chip on the top line, how many to-dos there are at its end (共 6 项); under it how many are done of all, a ring of the share done (larger on a tall card) and the two counts; then each document's title small and muted over its items, an item a rounded box (filled with the accent once checked), its words and the headings it stands under (but the document's title, which its group's says); on an 8 × 4 card the documents two to a row; 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. With every to-do done, the ring stands in the middle (green at 100%) over 待办都完成了; with no to-do it says 所有文档里的待办会出现在这里. In an exported file, which has no workspace to read, it says the list shows when the page is opened in Gallery; its boxes there are drawn and do nothing. The script runs with the rights of the page's own scripts, as any block's does.
30
+ 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 checked list's chip, 我的待办 and how many are open. A 4 × 4 card shows how many are done as a line (已完成 19 / 27 and the percent) over a row of ticks, one an item, done in the accent (a bar past 48); a 4 × 6 card a ring of the share beside the open count large (8 项没完成), its head saying how many documents they come from; an 8 × 4 card a ring at the left over a key (已完成, 未完成, 来自文档), each item's headings at its right. The list is grouped by document, small and gray (its icon, its title, its open count), each item a box, its words and the headings it stands under; it fades at its foot while there is more under it. An item checked on the card stays, struck through, until the page is opened again. With none, or all done (a full green ring with a tick), it says so in the middle.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "gallery/weather",
3
3
  "apiVersion": 1,
4
- "version": "1.2.0",
4
+ "version": "2.0.0",
5
5
  "name": { "zh": "天气", "en": "Weather" },
6
6
  "description": { "zh": "一个城市现在的天气和接下来几天的预报,数据来自 Open-Meteo,要先允许联网", "en": "A city's weather now and for the days ahead, from Open-Meteo, once the reader lets it online" },
7
7
  "words": "tianqi qiwen yubao weather forecast temperature 天气 气温 预报 温度 下雨",
@@ -10,7 +10,7 @@
10
10
  },
11
11
  "runtime": { "generated": [":scope > .gallery-weather-face"] },
12
12
  "places": ["page"],
13
- "card": { "sizes": [[4, 2], [2, 2], [4, 4]], "resize": true },
13
+ "card": { "sizes": [[4, 2], [2, 2], [4, 4]], "resize": true, "consent": { "zh": "允许联网之后显示天气", "en": "Allow internet access to show the weather" } },
14
14
  "settings": [
15
15
  { "key": "city", "label": { "zh": "城市", "en": "City" }, "type": "text", "default": "", "required": true },
16
16
  { "key": "unit", "label": { "zh": "单位", "en": "Unit" }, "type": "select", "options": ["℃", "℉"], "default": "℃" }