@heycys/gallery 0.1.1 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (473) 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/columns/page.mjs +4 -4
  5. package/browser/editor/components/embed/index.mjs +2 -2
  6. package/browser/editor/components/embed/page.mjs +1 -1
  7. package/browser/editor/components/file/page.mjs +4 -4
  8. package/browser/editor/components/flowchart/add.mjs +7 -6
  9. package/browser/editor/components/flowchart/page.mjs +1 -1
  10. package/browser/editor/components/heading/index.mjs +7 -6
  11. package/browser/editor/components/icons.mjs +11 -0
  12. package/browser/editor/components/image/crop.mjs +6 -9
  13. package/browser/editor/components/image/index.mjs +2 -0
  14. package/browser/editor/components/image/page.mjs +172 -90
  15. package/browser/editor/components/installed/index.mjs +15 -4
  16. package/browser/editor/components/installed/page.mjs +103 -25
  17. package/browser/editor/components/installed/served.mjs +6 -5
  18. package/browser/editor/components/instances.mjs +18 -0
  19. package/browser/editor/components/list/page.mjs +3 -6
  20. package/browser/editor/components/media/icons.mjs +13 -8
  21. package/browser/editor/components/media/page.mjs +5 -3
  22. package/browser/editor/components/media/toolbar.mjs +12 -3
  23. package/browser/editor/components/paragraph/index.mjs +4 -3
  24. package/browser/editor/components/registry.mjs +30 -9
  25. package/browser/editor/components/table/index.mjs +61 -2
  26. package/browser/editor/components/table/page.mjs +1 -1
  27. package/browser/editor/page/after/index.mjs +288 -0
  28. package/browser/editor/page/align.mjs +91 -0
  29. package/browser/editor/page/annotate/card.mjs +3 -6
  30. package/browser/editor/page/autosave.mjs +310 -37
  31. package/browser/editor/page/beside.mjs +5 -6
  32. package/browser/editor/page/block-menu/index.mjs +6 -3
  33. package/browser/editor/page/blocks.mjs +3 -1
  34. package/browser/editor/page/board/client.mjs +57 -0
  35. package/browser/editor/page/board/hint.mjs +182 -0
  36. package/browser/editor/page/board/history.mjs +119 -0
  37. package/browser/editor/page/board/index.mjs +1059 -0
  38. package/browser/editor/page/board/motion.mjs +177 -0
  39. package/browser/editor/page/board/settings.mjs +210 -0
  40. package/browser/editor/page/caret.mjs +1 -1
  41. package/browser/editor/page/changes/bar.mjs +6 -14
  42. package/browser/editor/page/changes/index.mjs +2 -2
  43. package/browser/editor/page/clipboard/import/html.mjs +29 -6
  44. package/browser/editor/page/clipboard/import/inline.mjs +32 -0
  45. package/browser/editor/page/clipboard/import/markdown.mjs +58 -13
  46. package/browser/editor/page/clipboard/import/read.mjs +6 -1
  47. package/browser/editor/page/clipboard/import/to-blocks.mjs +44 -12
  48. package/browser/editor/page/clipboard/import/yuque.mjs +622 -0
  49. package/browser/editor/page/clipboard/index.mjs +133 -15
  50. package/browser/editor/page/clipboard/own/blocks.mjs +13 -14
  51. package/browser/editor/page/clipboard/own/chart-keys.mjs +41 -28
  52. package/browser/editor/page/clipboard/own/describe.mjs +6 -2
  53. package/browser/editor/page/clipboard/own/selection.mjs +1 -1
  54. package/browser/editor/page/columns/index.mjs +48 -46
  55. package/browser/editor/page/commit.mjs +80 -22
  56. package/browser/editor/page/conflicts.mjs +7 -7
  57. package/browser/editor/page/core.mjs +34 -16
  58. package/browser/editor/page/custom-page.mjs +110 -0
  59. package/browser/editor/page/editor.mjs +71 -17
  60. package/browser/editor/page/emoji-picker/styles.mjs +7 -12
  61. package/browser/editor/page/emoji-picker/upload.mjs +2 -2
  62. package/browser/editor/page/handle/index.mjs +5 -8
  63. package/browser/editor/page/history.mjs +41 -6
  64. package/browser/editor/page/insert/index.mjs +20 -22
  65. package/browser/editor/page/links/index.mjs +5 -3
  66. package/browser/editor/page/links/pages.mjs +27 -9
  67. package/browser/editor/page/look.mjs +54 -3
  68. package/browser/editor/page/margin.mjs +18 -3
  69. package/browser/editor/page/media-menu/index.mjs +6 -7
  70. package/browser/editor/page/menu.mjs +33 -14
  71. package/browser/editor/page/notices.mjs +2 -2
  72. package/browser/editor/page/page-objects.mjs +9 -2
  73. package/browser/editor/page/panel.mjs +4 -9
  74. package/browser/editor/page/present-links.mjs +15 -5
  75. package/browser/editor/page/present-shell.mjs +63 -0
  76. package/browser/editor/page/resize/index.mjs +42 -29
  77. package/browser/editor/page/selection/index.mjs +10 -2
  78. package/browser/editor/page/served.mjs +14 -0
  79. package/browser/editor/page/session.mjs +48 -4
  80. package/browser/editor/page/slash-menu/index.mjs +3 -3
  81. package/browser/editor/page/table/binding.mjs +87 -0
  82. package/browser/editor/page/table/cells.mjs +102 -46
  83. package/browser/editor/page/table/index.mjs +24 -9
  84. package/browser/editor/page/table/pictures.mjs +299 -0
  85. package/browser/editor/page/table/views.mjs +103 -0
  86. package/browser/editor/page/table/widths.mjs +82 -10
  87. package/browser/editor/page/text-select/index.mjs +26 -12
  88. package/browser/editor/page/todo-writes.mjs +75 -0
  89. package/browser/editor/page/typing/index.mjs +97 -15
  90. package/browser/editor/page/typing/leave.mjs +19 -5
  91. package/browser/editor/page/ui.mjs +13 -0
  92. package/browser/shared/block-packs.mjs +419 -0
  93. package/browser/shared/board-places.mjs +224 -0
  94. package/browser/shared/card-size.mjs +59 -0
  95. package/browser/shared/colors.mjs +3 -2
  96. package/browser/shared/component-catalog.mjs +330 -46
  97. package/browser/shared/component-source.mjs +39 -0
  98. package/browser/shared/components/heading.mjs +2 -1
  99. package/browser/shared/components/index.mjs +12 -3
  100. package/browser/shared/components/installed.mjs +35 -3
  101. package/browser/shared/components/page.mjs +20 -8
  102. package/browser/shared/components/paragraph.mjs +8 -1
  103. package/browser/shared/components/state.mjs +5 -1
  104. package/browser/shared/components/table.mjs +1 -0
  105. package/browser/shared/document-look.mjs +10 -5
  106. package/browser/shared/drafts.mjs +432 -0
  107. package/browser/shared/emoji/line-icons.mjs +37 -0
  108. package/browser/shared/extension-sidebar.mjs +126 -0
  109. package/browser/shared/extensions.mjs +79 -0
  110. package/browser/shared/file-table.mjs +101 -0
  111. package/browser/shared/http.mjs +9 -0
  112. package/browser/shared/i18n/en.mjs +330 -27
  113. package/browser/shared/json-layout.mjs +47 -0
  114. package/browser/shared/net-cache.mjs +133 -0
  115. package/browser/shared/net-keys.mjs +32 -0
  116. package/browser/shared/net-policy.mjs +177 -0
  117. package/browser/shared/outline-shape.mjs +128 -0
  118. package/browser/shared/outline.mjs +359 -67
  119. package/browser/shared/pack-manifest.mjs +88 -0
  120. package/browser/shared/page-address.mjs +6 -3
  121. package/browser/shared/page-cards.mjs +308 -0
  122. package/browser/shared/page-links.mjs +69 -6
  123. package/browser/shared/pages.mjs +500 -0
  124. package/browser/shared/paths.mjs +6 -0
  125. package/browser/shared/pinyin.mjs +92 -0
  126. package/browser/shared/present-step.mjs +17 -0
  127. package/browser/shared/preview-server.mjs +3 -7
  128. package/browser/shared/session.mjs +8 -1
  129. package/browser/shared/shipped-blocks.mjs +299 -0
  130. package/browser/shared/sidebar-head.mjs +70 -0
  131. package/browser/shared/table-chart.mjs +33 -1
  132. package/browser/shared/todos.mjs +83 -0
  133. package/browser/shared/user-directory.mjs +24 -0
  134. package/browser/shared/versions.mjs +14 -0
  135. package/browser/shared/web-links.mjs +139 -0
  136. package/browser/shared/workspace-columns.mjs +120 -0
  137. package/browser/shared/workspace-name.mjs +154 -0
  138. package/browser/shared/workspace-query.mjs +125 -0
  139. package/browser/shared/workspace-registry.mjs +272 -0
  140. package/browser/shared/workspace.mjs +171 -20
  141. package/dist/chunk-2OHANJ6Q.mjs +2 -0
  142. package/dist/chunk-3MBRL2PM.mjs +16 -0
  143. package/dist/chunk-4OKWZY5E.mjs +2 -0
  144. package/dist/chunk-4OZWXZE5.mjs +5 -0
  145. package/dist/chunk-5K44HLTZ.mjs +2 -0
  146. package/dist/{chunk-5ZKJ3H4P.mjs → chunk-5XA2ZBAE.mjs} +3 -3
  147. package/dist/{chunk-4FS7Z7WR.mjs → chunk-67N2QJYT.mjs} +1 -1
  148. package/dist/chunk-6KBYRA2C.mjs +2 -0
  149. package/dist/chunk-6N3PX4XX.mjs +8 -0
  150. package/dist/{chunk-V5JTW2LH.mjs → chunk-6QBHU4DF.mjs} +1 -1
  151. package/dist/chunk-7JDX4E65.mjs +13 -0
  152. package/dist/chunk-7M2BQQGZ.mjs +2 -0
  153. package/dist/chunk-7OG26PGF.mjs +2 -0
  154. package/dist/chunk-AHN3NFKJ.mjs +3 -0
  155. package/dist/chunk-ALZ6ZENZ.mjs +3 -0
  156. package/dist/chunk-AR5D57ZD.mjs +170 -0
  157. package/dist/{chunk-W3BGBJQW.mjs → chunk-BFJGHSQN.mjs} +1 -1
  158. package/dist/{chunk-LS4F7JUM.mjs → chunk-BZ5RAF7L.mjs} +1 -1
  159. package/dist/chunk-CMA72MAG.mjs +2 -0
  160. package/dist/{chunk-LCTHTZIL.mjs → chunk-DAZL73VK.mjs} +91 -91
  161. package/dist/{chunk-Y6RLRPG3.mjs → chunk-DJISHPUL.mjs} +1 -1
  162. package/dist/chunk-DR73Y2UJ.mjs +3 -0
  163. package/dist/{chunk-FDLXYYG4.mjs → chunk-EAIFITAV.mjs} +1 -1
  164. package/dist/{chunk-TMYZB6AV.mjs → chunk-EKNHM3P4.mjs} +1 -1
  165. package/dist/chunk-EP25HDAJ.mjs +2 -0
  166. package/dist/{chunk-GB5SOYQJ.mjs → chunk-ERLAIBOA.mjs} +2 -2
  167. package/dist/chunk-EURLTOTZ.mjs +4 -0
  168. package/dist/chunk-F4ZA6JRZ.mjs +3 -0
  169. package/dist/chunk-F6HVDZR4.mjs +2 -0
  170. package/dist/chunk-FDMAXMQA.mjs +2 -0
  171. package/dist/chunk-FETSREUN.mjs +5 -0
  172. package/dist/chunk-GHOYKMQ3.mjs +4 -0
  173. package/dist/{chunk-2B5E4CDJ.mjs → chunk-GPIWQ4X4.mjs} +1 -1
  174. package/dist/chunk-HDWTZ763.mjs +12 -0
  175. package/dist/chunk-HPOI4ZX7.mjs +6 -0
  176. package/dist/{chunk-BGGDRNYQ.mjs → chunk-HXG7EOPJ.mjs} +1 -1
  177. package/dist/chunk-IA4PSIMD.mjs +2 -0
  178. package/dist/{chunk-E7LWZRXY.mjs → chunk-ITOH5EGO.mjs} +1 -1
  179. package/dist/chunk-IV64FFI4.mjs +2 -0
  180. package/dist/chunk-J43Z6LSS.mjs +2 -0
  181. package/dist/chunk-J5PUIV3Y.mjs +4 -0
  182. package/dist/chunk-JA7G53PC.mjs +2 -0
  183. package/dist/chunk-JEUK3ZO7.mjs +2 -0
  184. package/dist/chunk-JLTZF4LA.mjs +2 -0
  185. package/dist/chunk-JZT7I2OJ.mjs +2 -0
  186. package/dist/chunk-K5XATEOO.mjs +2 -0
  187. package/dist/chunk-L2SUIS5S.mjs +2 -0
  188. package/dist/chunk-L7UP52JO.mjs +2 -0
  189. package/dist/chunk-LM4XFQHZ.mjs +2 -0
  190. package/dist/chunk-MN7BZL4R.mjs +2 -0
  191. package/dist/chunk-MTYYHM2G.mjs +15 -0
  192. package/dist/chunk-MXUBKDRO.mjs +15 -0
  193. package/dist/chunk-NAMN3RAF.mjs +2 -0
  194. package/dist/{chunk-SYGN7GLU.mjs → chunk-OEXWRJME.mjs} +1 -1
  195. package/dist/chunk-OFHXGWOX.mjs +2 -0
  196. package/dist/chunk-ORID3AE7.mjs +166 -0
  197. package/dist/chunk-PAREWQGB.mjs +4 -0
  198. package/dist/chunk-PGDE24N5.mjs +2 -0
  199. package/dist/chunk-POTA2FV4.mjs +2 -0
  200. package/dist/chunk-PUOQ65NC.mjs +2 -0
  201. package/dist/chunk-Q4UEPUWF.mjs +2 -0
  202. package/dist/chunk-QE5RG76S.mjs +549 -0
  203. package/dist/chunk-R2ZDLJYT.mjs +10 -0
  204. package/dist/{chunk-7DTINW6U.mjs → chunk-SQ6Y2ZMA.mjs} +2 -2
  205. package/dist/chunk-SWUTTZCN.mjs +2 -0
  206. package/dist/chunk-TANZRINB.mjs +2 -0
  207. package/dist/chunk-TR7TWGHB.mjs +2 -0
  208. package/dist/chunk-U5XL7D6A.mjs +3 -0
  209. package/dist/{chunk-XNROSH2T.mjs → chunk-U7NZI6N4.mjs} +2 -2
  210. package/dist/chunk-UGWMMEJ5.mjs +15 -0
  211. package/dist/chunk-UJQJKNGK.mjs +2 -0
  212. package/dist/chunk-UYVCQK3H.mjs +22 -0
  213. package/dist/chunk-VFX2KNHP.mjs +4 -0
  214. package/dist/chunk-VS7JIGJW.mjs +24 -0
  215. package/dist/chunk-W7665ZEC.mjs +6 -0
  216. package/dist/chunk-WQDQWCX5.mjs +2 -0
  217. package/dist/chunk-YI43RG4P.mjs +2 -0
  218. package/dist/chunk-YLPSMDIS.mjs +5 -0
  219. package/dist/chunk-YNAWBAYN.mjs +3 -0
  220. package/dist/chunk-YROX2O22.mjs +2 -0
  221. package/dist/chunk-ZDLPUOAG.mjs +6 -0
  222. package/dist/{chunk-IVDLMMBD.mjs → chunk-ZHEHPMBK.mjs} +1 -1
  223. package/dist/chunk-ZQS6H473.mjs +16 -0
  224. package/dist/chunk-ZTHICSSF.mjs +2 -0
  225. package/dist/chunk-ZWWC4KLF.mjs +20 -0
  226. package/dist/cli.mjs +1 -1
  227. package/dist/server.mjs +1 -1
  228. package/dist/{chunk-U6KNPJPR.mjs → update-fetch.mjs} +1 -1
  229. package/dist/worker.mjs +1 -1
  230. package/kit/board.css +95 -0
  231. package/kit/board.js +250 -0
  232. package/kit/charts.js +5 -71
  233. package/kit/code.js +17 -17
  234. package/kit/report.css +335 -18
  235. package/kit/runtime.js +1638 -125
  236. package/kit/state.js +10 -1
  237. package/kit/tables.js +130 -43
  238. package/kit/ui.js +79 -35
  239. package/package.json +2 -1
  240. package/packs/gallery/card/component.json +14 -0
  241. package/packs/gallery/card/example.html +10 -0
  242. package/packs/gallery/card/preview.svg +1 -0
  243. package/packs/gallery/card/style.css +6 -0
  244. package/packs/gallery/card/template.html +6 -0
  245. package/packs/gallery/card/writing.md +14 -0
  246. package/packs/gallery/chart-card/component.json +15 -0
  247. package/packs/gallery/chart-card/example.html +14 -0
  248. package/packs/gallery/chart-card/kit.js +130 -0
  249. package/packs/gallery/chart-card/preview.svg +1 -0
  250. package/packs/gallery/chart-card/style.css +42 -0
  251. package/packs/gallery/chart-card/template.html +13 -0
  252. package/packs/gallery/chart-card/writing.md +20 -0
  253. package/packs/gallery/chart-view/component.json +20 -0
  254. package/packs/gallery/chart-view/example.html +13 -0
  255. package/packs/gallery/chart-view/kit.js +355 -0
  256. package/packs/gallery/chart-view/preview.svg +1 -0
  257. package/packs/gallery/chart-view/style.css +94 -0
  258. package/packs/gallery/chart-view/template.html +3 -0
  259. package/packs/gallery/chart-view/writing.md +22 -0
  260. package/packs/gallery/countdown/component.json +18 -0
  261. package/packs/gallery/countdown/example.html +3 -0
  262. package/packs/gallery/countdown/kit.js +216 -0
  263. package/packs/gallery/countdown/preview.svg +1 -0
  264. package/packs/gallery/countdown/style.css +118 -0
  265. package/packs/gallery/countdown/template.html +3 -0
  266. package/packs/gallery/countdown/writing.md +22 -0
  267. package/packs/gallery/habit/component.json +14 -0
  268. package/packs/gallery/habit/example.html +3 -0
  269. package/packs/gallery/habit/kit.js +334 -0
  270. package/packs/gallery/habit/preview.svg +1 -0
  271. package/packs/gallery/habit/style.css +174 -0
  272. package/packs/gallery/habit/template.html +3 -0
  273. package/packs/gallery/habit/writing.md +21 -0
  274. package/packs/gallery/heatmap/component.json +18 -0
  275. package/packs/gallery/heatmap/example.html +3 -0
  276. package/packs/gallery/heatmap/kit.js +513 -0
  277. package/packs/gallery/heatmap/preview.svg +1 -0
  278. package/packs/gallery/heatmap/style.css +189 -0
  279. package/packs/gallery/heatmap/template.html +3 -0
  280. package/packs/gallery/heatmap/writing.md +21 -0
  281. package/packs/gallery/kanban/component.json +18 -0
  282. package/packs/gallery/kanban/example.html +12 -0
  283. package/packs/gallery/kanban/kit.js +540 -0
  284. package/packs/gallery/kanban/preview.svg +1 -0
  285. package/packs/gallery/kanban/style.css +212 -0
  286. package/packs/gallery/kanban/template.html +3 -0
  287. package/packs/gallery/kanban/writing.md +20 -0
  288. package/packs/gallery/metric/component.json +22 -0
  289. package/packs/gallery/metric/example.html +15 -0
  290. package/packs/gallery/metric/kit.js +248 -0
  291. package/packs/gallery/metric/preview.svg +1 -0
  292. package/packs/gallery/metric/style.css +92 -0
  293. package/packs/gallery/metric/template.html +3 -0
  294. package/packs/gallery/metric/writing.md +23 -0
  295. package/packs/gallery/note/component.json +14 -0
  296. package/packs/gallery/note/example.html +3 -0
  297. package/packs/gallery/note/kit.js +129 -0
  298. package/packs/gallery/note/preview.svg +1 -0
  299. package/packs/gallery/note/style.css +97 -0
  300. package/packs/gallery/note/template.html +3 -0
  301. package/packs/gallery/note/writing.md +18 -0
  302. package/packs/gallery/pack.json +8 -0
  303. package/packs/gallery/recent/component.json +13 -0
  304. package/packs/gallery/recent/example.html +1 -0
  305. package/packs/gallery/recent/kit.js +293 -0
  306. package/packs/gallery/recent/preview.svg +1 -0
  307. package/packs/gallery/recent/style.css +85 -0
  308. package/packs/gallery/recent/template.html +1 -0
  309. package/packs/gallery/recent/writing.md +15 -0
  310. package/packs/gallery/static/component.json +13 -0
  311. package/packs/gallery/static/example.html +11 -0
  312. package/packs/gallery/static/preview.svg +1 -0
  313. package/packs/gallery/static/style.css +171 -0
  314. package/packs/gallery/static/template.html +1 -0
  315. package/packs/gallery/static/writing.md +18 -0
  316. package/packs/gallery/stats/component.json +13 -0
  317. package/packs/gallery/stats/example.html +1 -0
  318. package/packs/gallery/stats/kit.js +347 -0
  319. package/packs/gallery/stats/preview.svg +1 -0
  320. package/packs/gallery/stats/style.css +73 -0
  321. package/packs/gallery/stats/template.html +1 -0
  322. package/packs/gallery/stats/writing.md +11 -0
  323. package/packs/gallery/today/component.json +12 -0
  324. package/packs/gallery/today/example.html +1 -0
  325. package/packs/gallery/today/kit.js +220 -0
  326. package/packs/gallery/today/preview.svg +1 -0
  327. package/packs/gallery/today/style.css +149 -0
  328. package/packs/gallery/today/template.html +1 -0
  329. package/packs/gallery/today/writing.md +14 -0
  330. package/packs/gallery/todos/component.json +19 -0
  331. package/packs/gallery/todos/example.html +3 -0
  332. package/packs/gallery/todos/kit.js +489 -0
  333. package/packs/gallery/todos/preview.svg +1 -0
  334. package/packs/gallery/todos/style.css +214 -0
  335. package/packs/gallery/todos/template.html +3 -0
  336. package/packs/gallery/todos/writing.md +30 -0
  337. package/packs/gallery/weather/component.json +19 -0
  338. package/packs/gallery/weather/example.html +3 -0
  339. package/packs/gallery/weather/kit.js +387 -0
  340. package/packs/gallery/weather/preview.svg +1 -0
  341. package/packs/gallery/weather/style.css +140 -0
  342. package/packs/gallery/weather/template.html +3 -0
  343. package/packs/gallery/weather/writing.md +26 -0
  344. package/packs/gallery-soft/countdown/component.json +18 -0
  345. package/packs/gallery-soft/countdown/example.html +3 -0
  346. package/packs/gallery-soft/countdown/kit.js +206 -0
  347. package/packs/gallery-soft/countdown/preview.svg +1 -0
  348. package/packs/gallery-soft/countdown/style.css +211 -0
  349. package/packs/gallery-soft/countdown/template.html +3 -0
  350. package/packs/gallery-soft/countdown/writing.md +24 -0
  351. package/packs/gallery-soft/habit/component.json +14 -0
  352. package/packs/gallery-soft/habit/example.html +3 -0
  353. package/packs/gallery-soft/habit/kit.js +366 -0
  354. package/packs/gallery-soft/habit/preview.svg +1 -0
  355. package/packs/gallery-soft/habit/style.css +251 -0
  356. package/packs/gallery-soft/habit/template.html +3 -0
  357. package/packs/gallery-soft/habit/writing.md +23 -0
  358. package/packs/gallery-soft/heatmap/component.json +18 -0
  359. package/packs/gallery-soft/heatmap/example.html +3 -0
  360. package/packs/gallery-soft/heatmap/kit.js +498 -0
  361. package/packs/gallery-soft/heatmap/preview.svg +1 -0
  362. package/packs/gallery-soft/heatmap/style.css +181 -0
  363. package/packs/gallery-soft/heatmap/template.html +3 -0
  364. package/packs/gallery-soft/heatmap/writing.md +23 -0
  365. package/packs/gallery-soft/note/component.json +14 -0
  366. package/packs/gallery-soft/note/example.html +3 -0
  367. package/packs/gallery-soft/note/kit.js +162 -0
  368. package/packs/gallery-soft/note/preview.svg +1 -0
  369. package/packs/gallery-soft/note/style.css +148 -0
  370. package/packs/gallery-soft/note/template.html +3 -0
  371. package/packs/gallery-soft/note/writing.md +20 -0
  372. package/packs/gallery-soft/pack.json +8 -0
  373. package/packs/gallery-soft/recent/component.json +13 -0
  374. package/packs/gallery-soft/recent/example.html +1 -0
  375. package/packs/gallery-soft/recent/kit.js +335 -0
  376. package/packs/gallery-soft/recent/preview.svg +1 -0
  377. package/packs/gallery-soft/recent/style.css +160 -0
  378. package/packs/gallery-soft/recent/template.html +1 -0
  379. package/packs/gallery-soft/recent/writing.md +17 -0
  380. package/packs/gallery-soft/static/component.json +13 -0
  381. package/packs/gallery-soft/static/example.html +12 -0
  382. package/packs/gallery-soft/static/preview.svg +1 -0
  383. package/packs/gallery-soft/static/style.css +186 -0
  384. package/packs/gallery-soft/static/template.html +1 -0
  385. package/packs/gallery-soft/static/writing.md +20 -0
  386. package/packs/gallery-soft/stats/component.json +13 -0
  387. package/packs/gallery-soft/stats/example.html +1 -0
  388. package/packs/gallery-soft/stats/kit.js +341 -0
  389. package/packs/gallery-soft/stats/preview.svg +1 -0
  390. package/packs/gallery-soft/stats/style.css +119 -0
  391. package/packs/gallery-soft/stats/template.html +1 -0
  392. package/packs/gallery-soft/stats/writing.md +13 -0
  393. package/packs/gallery-soft/today/component.json +12 -0
  394. package/packs/gallery-soft/today/example.html +1 -0
  395. package/packs/gallery-soft/today/kit.js +222 -0
  396. package/packs/gallery-soft/today/preview.svg +1 -0
  397. package/packs/gallery-soft/today/style.css +178 -0
  398. package/packs/gallery-soft/today/template.html +1 -0
  399. package/packs/gallery-soft/today/writing.md +16 -0
  400. package/packs/gallery-soft/todos/component.json +19 -0
  401. package/packs/gallery-soft/todos/example.html +3 -0
  402. package/packs/gallery-soft/todos/kit.js +527 -0
  403. package/packs/gallery-soft/todos/preview.svg +1 -0
  404. package/packs/gallery-soft/todos/style.css +212 -0
  405. package/packs/gallery-soft/todos/template.html +3 -0
  406. package/packs/gallery-soft/todos/writing.md +32 -0
  407. package/packs/gallery-soft/weather/component.json +19 -0
  408. package/packs/gallery-soft/weather/example.html +3 -0
  409. package/packs/gallery-soft/weather/kit.js +411 -0
  410. package/packs/gallery-soft/weather/preview.svg +1 -0
  411. package/packs/gallery-soft/weather/style.css +185 -0
  412. package/packs/gallery-soft/weather/template.html +3 -0
  413. package/packs/gallery-soft/weather/writing.md +28 -0
  414. package/release.json +12 -10
  415. package/sdk/doc-kit.d.ts +396 -5
  416. package/sdk/doc-state.d.ts +2 -0
  417. package/skill/SKILL.md +56 -23
  418. package/skill/references/block-script.md +140 -0
  419. package/skill/references/building-blocks.md +257 -0
  420. package/skill/references/extensions.md +59 -0
  421. package/skill/references/pages-and-data.md +225 -0
  422. package/skill/references/writing-html.md +8 -4
  423. package/skill/sdk/doc-kit.d.ts +396 -5
  424. package/skill/sdk/doc-state.d.ts +2 -0
  425. package/web/assets/index-BM_K-Auu.css +1 -0
  426. package/web/assets/index-DRslOBiv.js +15 -0
  427. package/web/index.html +2 -2
  428. package/dist/chunk-3HIRPVLU.mjs +0 -2
  429. package/dist/chunk-5MHMDLZD.mjs +0 -4
  430. package/dist/chunk-64K7IPLO.mjs +0 -255
  431. package/dist/chunk-6QXGZM36.mjs +0 -8
  432. package/dist/chunk-6RGJOMJP.mjs +0 -16
  433. package/dist/chunk-AJ73XJF3.mjs +0 -2
  434. package/dist/chunk-AUZGSZJH.mjs +0 -13
  435. package/dist/chunk-BFE45AKL.mjs +0 -2
  436. package/dist/chunk-BXO2ZY5P.mjs +0 -2
  437. package/dist/chunk-CEH4MRCC.mjs +0 -2
  438. package/dist/chunk-CY2FNNAB.mjs +0 -16
  439. package/dist/chunk-DFUDV4LX.mjs +0 -2
  440. package/dist/chunk-DKXG4XDG.mjs +0 -2
  441. package/dist/chunk-EZQ34M3F.mjs +0 -124
  442. package/dist/chunk-EZY3WC6Z.mjs +0 -15
  443. package/dist/chunk-FUKQNOQS.mjs +0 -9
  444. package/dist/chunk-JPOSLGOC.mjs +0 -6
  445. package/dist/chunk-JVHHHGEA.mjs +0 -3
  446. package/dist/chunk-L3QKH4OK.mjs +0 -26
  447. package/dist/chunk-LAE5NQ4B.mjs +0 -2
  448. package/dist/chunk-LEF6DRCK.mjs +0 -59
  449. package/dist/chunk-NO5NJCHO.mjs +0 -2
  450. package/dist/chunk-NQPVAU63.mjs +0 -2
  451. package/dist/chunk-NSKUTQ5J.mjs +0 -5
  452. package/dist/chunk-O35FIXRB.mjs +0 -2
  453. package/dist/chunk-P2CAZPDP.mjs +0 -3
  454. package/dist/chunk-PL6GHLGD.mjs +0 -15
  455. package/dist/chunk-QJIR2BLP.mjs +0 -6
  456. package/dist/chunk-QUPLVPB2.mjs +0 -7
  457. package/dist/chunk-R7BNENLY.mjs +0 -4
  458. package/dist/chunk-S6O4UHLC.mjs +0 -2
  459. package/dist/chunk-SGJWQKEI.mjs +0 -2
  460. package/dist/chunk-TX6JH7TR.mjs +0 -2
  461. package/dist/chunk-TYK6VNAB.mjs +0 -10
  462. package/dist/chunk-UALRNVSE.mjs +0 -4
  463. package/dist/chunk-V3HXVQEM.mjs +0 -2
  464. package/dist/chunk-V5VXUJKG.mjs +0 -2
  465. package/dist/chunk-VBXMADMP.mjs +0 -2
  466. package/dist/chunk-VNV55RUA.mjs +0 -2
  467. package/dist/chunk-VPD2PS35.mjs +0 -2
  468. package/dist/chunk-W4VKN3GF.mjs +0 -7
  469. package/dist/chunk-W5BXXPDJ.mjs +0 -3
  470. package/dist/chunk-XUNHRCOG.mjs +0 -6
  471. package/skill/references/building-components.md +0 -367
  472. package/web/assets/index-Bh74DfsV.css +0 -1
  473. package/web/assets/index-UW0RyFFt.js +0 -13
@@ -0,0 +1,189 @@
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 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. */
12
+ [data-doc-component="gallery/heatmap"] {
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; }
25
+ > .gallery-heatmap-face > .gallery-heatmap-head {
26
+ display: flex;
27
+ align-items: center;
28
+ gap: 8px;
29
+ flex: none;
30
+ height: 20px;
31
+ min-width: 0;
32
+ padding-inline-end: var(--gallery-grip-room, 0px);
33
+ }
34
+ > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-chip {
35
+ flex: none;
36
+ display: grid;
37
+ place-items: center;
38
+ width: var(--gallery-chip-size);
39
+ height: var(--gallery-chip-size);
40
+ border-radius: var(--gallery-chip-radius);
41
+ background: var(--gallery-fill);
42
+ color: var(--gallery-muted);
43
+ }
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; }
54
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-total > .gallery-heatmap-number {
55
+ font-size: 36px;
56
+ line-height: 1;
57
+ font-weight: var(--gallery-numeral-weight);
58
+ letter-spacing: var(--gallery-numeral-tracking);
59
+ font-variant-numeric: lining-nums;
60
+ color: var(--gallery-text-strong);
61
+ }
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 {
88
+ position: relative;
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;
93
+ }
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 {
99
+ display: grid;
100
+ grid-auto-flow: column;
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);
104
+ }
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 */
123
+ box-sizing: border-box;
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;
136
+ }
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;
163
+ }
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; }
186
+ }
187
+ /* On a custom page the face fills the card the board frames. */
188
+ .gallery-card > [data-doc-component="gallery/heatmap"] { height: 100%; }
189
+ .gallery-card > [data-doc-component="gallery/heatmap"] > .gallery-heatmap-face { height: 100%; }
@@ -0,0 +1,3 @@
1
+ <div data-doc-component="gallery/heatmap">
2
+ <script type="application/json">{}</script>
3
+ </div>
@@ -0,0 +1,21 @@
1
+ # 编辑热力图 (gallery/heatmap)
2
+
3
+ A card for a custom page (its places are `page`, its needs `workspace`): how much the workspace was edited each day of the past year, as GitHub draws a year of contributions, a column a week, a square a day, darker for a day of more. What it counts is Gallery's own record of edits (the reader's saves and the Agent's writes, by day, since the workspace's first start of a Gallery that keeps it): the edits of a day, or with its setting the words it added. Use it on the home page.
4
+
5
+ ## Settings
6
+
7
+ Its one setting is the card's form, which the user opens from the grip at the card's top right › 设置…:
8
+
9
+ | Key | Label | Type | What it is |
10
+ | --- | --- | --- | --- |
11
+ | `words` | 按字数显示 | switch | each day by the words it added, not by how many edits it had |
12
+
13
+ It is kept in its data part `settings`, a `<script type="application/json">`: `{}` (template.html, what a menu adds) counts edits. Write `{"words":true}` when the user asks for the words written. The block reads it and writes nothing.
14
+
15
+ ## How to write it
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 × 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
+
19
+ ## How it looks
20
+
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.
@@ -0,0 +1,18 @@
1
+ {
2
+ "id": "gallery/kanban",
3
+ "apiVersion": 1,
4
+ "version": "1.0.0",
5
+ "name": { "zh": "看板", "en": "Board" },
6
+ "description": { "zh": "表格的视图:按一列把每一行分组成卡片,拖动卡片就改了那一格", "en": "A view of a table: its rows as cards grouped by a column, a card dragged changing that cell" },
7
+ "words": "kanban renwukanban board 看板 任务 分组 视图 view tasks",
8
+ "parts": {
9
+ "settings": { "at": ":scope > script", "edit": "data" }
10
+ },
11
+ "runtime": { "generated": [":scope > .gallery-kanban-face"] },
12
+ "places": ["document"],
13
+ "settings": [
14
+ { "key": "group", "label": { "zh": "分组依据", "en": "Group by" }, "type": "text", "default": "" },
15
+ { "key": "order", "label": { "zh": "分组的顺序", "en": "Order of the groups" }, "type": "text", "default": "" }
16
+ ],
17
+ "needs": ["tables", "workspace"]
18
+ }
@@ -0,0 +1,12 @@
1
+ <table data-doc-chart-source="tasks">
2
+ <thead><tr><th>任务</th><th>状态</th><th>负责人</th><th>截止</th></tr></thead>
3
+ <tbody>
4
+ <tr><td>写发布说明</td><td>待办</td><td>小王</td><td>11 月 12 日</td></tr>
5
+ <tr><td>更新安装文档</td><td>待办</td><td>小李</td><td>11 月 13 日</td></tr>
6
+ <tr><td>回归测试</td><td>进行中</td><td>小张</td><td>11 月 10 日</td></tr>
7
+ <tr><td>确定版本号</td><td>已完成</td><td>小李</td><td>11 月 6 日</td></tr>
8
+ </tbody>
9
+ </table>
10
+ <div data-doc-component="gallery/kanban" data-doc-from="tasks">
11
+ <script type="application/json">{"group":"状态","order":"待办,进行中,已完成"}</script>
12
+ </div>