@heycys/gallery 0.1.0 → 0.1.2

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 (465) hide show
  1. package/THIRD-PARTY-NOTICES.md +51 -1
  2. package/browser/editor/components/callout/index.mjs +40 -15
  3. package/browser/editor/components/columns/page.mjs +45 -32
  4. package/browser/editor/components/details/index.mjs +2 -1
  5. package/browser/editor/components/dialog/index.mjs +2 -1
  6. package/browser/editor/components/dialog/page.mjs +0 -18
  7. package/browser/editor/components/divider/index.mjs +1 -1
  8. package/browser/editor/components/embed/index.mjs +2 -2
  9. package/browser/editor/components/figure/page.mjs +10 -1
  10. package/browser/editor/components/file/page.mjs +2 -2
  11. package/browser/editor/components/flowchart/add.mjs +7 -6
  12. package/browser/editor/components/flowchart/page.mjs +1 -1
  13. package/browser/editor/components/heading/index.mjs +2 -0
  14. package/browser/editor/components/heading/page.mjs +6 -0
  15. package/browser/editor/components/highlight/index.mjs +4 -20
  16. package/browser/editor/components/icons.mjs +13 -2
  17. package/browser/editor/components/image/crop.mjs +6 -9
  18. package/browser/editor/components/image/page.mjs +2 -2
  19. package/browser/editor/components/installed/index.mjs +82 -29
  20. package/browser/editor/components/installed/page.mjs +146 -34
  21. package/browser/editor/components/installed/served.mjs +6 -5
  22. package/browser/editor/components/instances.mjs +18 -0
  23. package/browser/editor/components/kit.mjs +3 -0
  24. package/browser/editor/components/list/page.mjs +3 -6
  25. package/browser/editor/components/media/page.mjs +44 -14
  26. package/browser/editor/components/pages.mjs +2 -2
  27. package/browser/editor/components/registry.mjs +68 -33
  28. package/browser/editor/components/section/index.mjs +2 -1
  29. package/browser/editor/components/set-apart.mjs +24 -0
  30. package/browser/editor/components/table/index.mjs +64 -5
  31. package/browser/editor/components/table/page.mjs +30 -19
  32. package/browser/editor/page/annotate/anchors.mjs +4 -3
  33. package/browser/editor/page/annotate/card.mjs +3 -6
  34. package/browser/editor/page/annotate/index.mjs +61 -34
  35. package/browser/editor/page/autosave.mjs +357 -38
  36. package/browser/editor/page/beside.mjs +5 -5
  37. package/browser/editor/page/block-menu/colors.mjs +3 -1
  38. package/browser/editor/page/block-menu/index.mjs +8 -6
  39. package/browser/editor/page/blocks.mjs +16 -7
  40. package/browser/editor/page/board/client.mjs +57 -0
  41. package/browser/editor/page/board/hint.mjs +145 -0
  42. package/browser/editor/page/board/history.mjs +119 -0
  43. package/browser/editor/page/board/index.mjs +970 -0
  44. package/browser/editor/page/board/settings.mjs +209 -0
  45. package/browser/editor/page/caret.mjs +5 -2
  46. package/browser/editor/page/changes/bar.mjs +94 -0
  47. package/browser/editor/page/changes/ghost.mjs +206 -0
  48. package/browser/editor/page/changes/gone-words.mjs +94 -0
  49. package/browser/editor/page/changes/index.mjs +447 -0
  50. package/browser/editor/page/changes/words.mjs +27 -0
  51. package/browser/editor/page/clipboard/import/colors.mjs +3 -3
  52. package/browser/editor/page/clipboard/import/html.mjs +29 -6
  53. package/browser/editor/page/clipboard/import/inline.mjs +32 -0
  54. package/browser/editor/page/clipboard/import/markdown.mjs +58 -13
  55. package/browser/editor/page/clipboard/import/read.mjs +6 -1
  56. package/browser/editor/page/clipboard/import/to-blocks.mjs +44 -12
  57. package/browser/editor/page/clipboard/import/yuque.mjs +622 -0
  58. package/browser/editor/page/clipboard/index.mjs +156 -26
  59. package/browser/editor/page/clipboard/own/blocks.mjs +25 -16
  60. package/browser/editor/page/clipboard/own/chart-keys.mjs +41 -28
  61. package/browser/editor/page/clipboard/own/describe.mjs +16 -7
  62. package/browser/editor/page/clipboard/own/export.mjs +6 -6
  63. package/browser/editor/page/clipboard/own/selection.mjs +3 -3
  64. package/browser/editor/page/clipboard/own/writers.mjs +0 -11
  65. package/browser/editor/page/columns/index.mjs +48 -46
  66. package/browser/editor/page/commit.mjs +98 -25
  67. package/browser/editor/page/conflicts.mjs +13 -33
  68. package/browser/editor/page/convert.mjs +8 -7
  69. package/browser/editor/page/core.mjs +81 -27
  70. package/browser/editor/page/custom-page.mjs +106 -0
  71. package/browser/editor/page/drag/index.mjs +40 -24
  72. package/browser/editor/page/drag/preview.mjs +9 -4
  73. package/browser/editor/page/editor.mjs +120 -28
  74. package/browser/editor/page/emoji-picker/emoji-tab.mjs +22 -13
  75. package/browser/editor/page/emoji-picker/grid.mjs +7 -5
  76. package/browser/editor/page/emoji-picker/icon-tab.mjs +4 -4
  77. package/browser/editor/page/emoji-picker/icons.mjs +0 -1
  78. package/browser/editor/page/emoji-picker/index.mjs +11 -9
  79. package/browser/editor/page/emoji-picker/styles.mjs +156 -2
  80. package/browser/editor/page/emoji-picker/support.mjs +6 -4
  81. package/browser/editor/page/emoji-picker/upload.mjs +14 -13
  82. package/browser/editor/page/fills.mjs +5 -3
  83. package/browser/editor/page/fold/index.mjs +348 -0
  84. package/browser/editor/page/fold/rule.mjs +125 -0
  85. package/browser/editor/page/folded.mjs +23 -0
  86. package/browser/editor/page/format-bar/bar.mjs +2 -1
  87. package/browser/editor/page/format-bar/index.mjs +1 -1
  88. package/browser/editor/page/geometry.mjs +8 -6
  89. package/browser/editor/page/handle/index.mjs +22 -14
  90. package/browser/editor/page/hints/index.mjs +1 -1
  91. package/browser/editor/page/history.mjs +24 -4
  92. package/browser/editor/page/insert/index.mjs +30 -17
  93. package/browser/editor/page/links/index.mjs +5 -3
  94. package/browser/editor/page/links/pages.mjs +27 -9
  95. package/browser/editor/page/long-runs.mjs +75 -0
  96. package/browser/editor/page/look.mjs +69 -6
  97. package/browser/editor/page/margin.mjs +63 -27
  98. package/browser/editor/page/media-menu/index.mjs +6 -7
  99. package/browser/editor/page/menu.mjs +86 -31
  100. package/browser/editor/page/merge.mjs +24 -0
  101. package/browser/editor/page/notices.mjs +3 -3
  102. package/browser/editor/page/offered.mjs +1 -1
  103. package/browser/editor/page/outline/folds.mjs +11 -10
  104. package/browser/editor/page/outline/index.mjs +131 -45
  105. package/browser/editor/page/outline/list.mjs +23 -11
  106. package/browser/editor/page/outline/read.mjs +1 -1
  107. package/browser/editor/page/outline/strip.mjs +7 -1
  108. package/browser/editor/page/page-objects.mjs +13 -2
  109. package/browser/editor/page/panel.mjs +9 -13
  110. package/browser/editor/page/present-links.mjs +11 -2
  111. package/browser/editor/page/resize/index.mjs +42 -29
  112. package/browser/editor/page/selection/delete.mjs +8 -6
  113. package/browser/editor/page/selection/index.mjs +10 -3
  114. package/browser/editor/page/served.mjs +14 -0
  115. package/browser/editor/page/session.mjs +101 -6
  116. package/browser/editor/page/slash-menu/index.mjs +3 -3
  117. package/browser/editor/page/table/cell-bar.mjs +4 -1
  118. package/browser/editor/page/table/cells.mjs +103 -47
  119. package/browser/editor/page/table/icons.mjs +3 -1
  120. package/browser/editor/page/table/index.mjs +40 -16
  121. package/browser/editor/page/table/pictures.mjs +299 -0
  122. package/browser/editor/page/table/views.mjs +150 -0
  123. package/browser/editor/page/table/widths.mjs +9 -4
  124. package/browser/editor/page/text-select/index.mjs +43 -14
  125. package/browser/editor/page/todo-writes.mjs +75 -0
  126. package/browser/editor/page/tooltip.mjs +1 -1
  127. package/browser/editor/page/type-grid.mjs +4 -3
  128. package/browser/editor/page/typing/code-edges.mjs +63 -17
  129. package/browser/editor/page/typing/index.mjs +65 -9
  130. package/browser/editor/page/typing/leave.mjs +1 -1
  131. package/browser/editor/page/ui.mjs +13 -0
  132. package/browser/shared/annotations.mjs +8 -10
  133. package/browser/shared/block-packs.mjs +404 -0
  134. package/browser/shared/board-places.mjs +224 -0
  135. package/browser/shared/card-size.mjs +59 -0
  136. package/browser/shared/code-folds.mjs +5 -1
  137. package/browser/shared/colors.mjs +17 -14
  138. package/browser/shared/component-catalog.mjs +345 -54
  139. package/browser/shared/component-source.mjs +37 -0
  140. package/browser/shared/components/callout.mjs +4 -2
  141. package/browser/shared/components/index.mjs +72 -9
  142. package/browser/shared/components/installed.mjs +110 -8
  143. package/browser/shared/components/page.mjs +22 -3
  144. package/browser/shared/components/state.mjs +5 -1
  145. package/browser/shared/components/table.mjs +1 -1
  146. package/browser/shared/components/text.mjs +2 -2
  147. package/browser/shared/document-look.mjs +183 -0
  148. package/browser/shared/drafts.mjs +432 -0
  149. package/browser/shared/emoji/data/LICENSE-lucide.txt +43 -0
  150. package/browser/shared/emoji/data/README.md +4 -2
  151. package/browser/shared/emoji/data/categories.json +1 -1
  152. package/browser/shared/emoji/data/keywords-en.json +1 -1
  153. package/browser/shared/emoji/data/keywords-zh.json +1 -1
  154. package/browser/shared/emoji/data/names.json +1 -1
  155. package/browser/shared/emoji/data/positions.json +1 -1
  156. package/browser/shared/emoji/data/twemoji-index.json +1 -1
  157. package/browser/shared/emoji/data/twemoji-svg.bin +0 -0
  158. package/browser/shared/emoji/data.mjs +10 -12
  159. package/browser/shared/emoji/emoji.mjs +8 -7
  160. package/browser/shared/emoji/icon-value.mjs +4 -3
  161. package/browser/shared/extension-sidebar.mjs +126 -0
  162. package/browser/shared/extensions.mjs +79 -0
  163. package/browser/shared/file-table.mjs +101 -0
  164. package/browser/shared/html-tree.mjs +11 -5
  165. package/browser/shared/i18n/en.mjs +374 -35
  166. package/browser/shared/json-layout.mjs +47 -0
  167. package/browser/shared/long-runs.mjs +39 -0
  168. package/browser/shared/net-cache.mjs +133 -0
  169. package/browser/shared/net-keys.mjs +32 -0
  170. package/browser/shared/net-policy.mjs +177 -0
  171. package/browser/shared/new-names.mjs +5 -2
  172. package/browser/shared/outline-shape.mjs +128 -0
  173. package/browser/shared/outline.mjs +458 -0
  174. package/browser/shared/pack-manifest.mjs +77 -0
  175. package/browser/shared/page-address.mjs +6 -3
  176. package/browser/shared/page-cards.mjs +308 -0
  177. package/browser/shared/page-links.mjs +69 -6
  178. package/browser/shared/pages.mjs +388 -0
  179. package/browser/shared/paths.mjs +6 -0
  180. package/browser/shared/preferences.mjs +10 -4
  181. package/browser/shared/preview-server.mjs +3 -7
  182. package/browser/shared/session.mjs +13 -5
  183. package/browser/shared/shipped-blocks.mjs +299 -0
  184. package/browser/shared/table-chart.mjs +33 -1
  185. package/browser/shared/todos.mjs +83 -0
  186. package/browser/shared/user-directory.mjs +24 -0
  187. package/browser/shared/versions.mjs +14 -0
  188. package/browser/shared/web-links.mjs +134 -0
  189. package/browser/shared/workspace-columns.mjs +120 -0
  190. package/browser/shared/workspace-look.mjs +91 -0
  191. package/browser/shared/workspace-name.mjs +154 -0
  192. package/browser/shared/workspace-query.mjs +125 -0
  193. package/browser/shared/workspace-registry.mjs +272 -0
  194. package/browser/shared/workspace.mjs +171 -20
  195. package/browser/shared/zoom.mjs +5 -5
  196. package/dist/chunk-2NRBY6AJ.mjs +2 -0
  197. package/dist/chunk-32ZUEFZ7.mjs +2 -0
  198. package/dist/chunk-35NQ4PLQ.mjs +2 -0
  199. package/dist/chunk-3KJHLHUO.mjs +2 -0
  200. package/dist/chunk-3NJACR4W.mjs +2 -0
  201. package/dist/chunk-4AV456RQ.mjs +2 -0
  202. package/dist/chunk-4OZWXZE5.mjs +5 -0
  203. package/dist/chunk-5XYHDBJ5.mjs +2 -0
  204. package/dist/chunk-5ZJA7CXT.mjs +2 -0
  205. package/dist/chunk-6A53MZYZ.mjs +2 -0
  206. package/dist/chunk-6EXH3ORZ.mjs +166 -0
  207. package/dist/chunk-6EZ7FNIK.mjs +3 -0
  208. package/dist/{chunk-UXUK4PMC.mjs → chunk-6QBHU4DF.mjs} +1 -1
  209. package/dist/{chunk-6U2SLSDN.mjs → chunk-6VTU6KEO.mjs} +1 -1
  210. package/dist/chunk-B4P2CM2J.mjs +3 -0
  211. package/dist/chunk-BPL64HGA.mjs +4 -0
  212. package/dist/chunk-BVEFGE4B.mjs +2 -0
  213. package/dist/chunk-BZ5RAF7L.mjs +2 -0
  214. package/dist/chunk-CRJEG7MT.mjs +2 -0
  215. package/dist/{chunk-B3VTYBYR.mjs → chunk-D4CKRD3V.mjs} +91 -91
  216. package/dist/chunk-D4EURAX4.mjs +4 -0
  217. package/dist/chunk-DQCE7TJY.mjs +5 -0
  218. package/dist/chunk-DR73Y2UJ.mjs +3 -0
  219. package/dist/{chunk-TMYZB6AV.mjs → chunk-EKNHM3P4.mjs} +1 -1
  220. package/dist/{chunk-DB4WKGYF.mjs → chunk-ERLAIBOA.mjs} +2 -2
  221. package/dist/chunk-EURLTOTZ.mjs +4 -0
  222. package/dist/chunk-FJYN7RTH.mjs +4 -0
  223. package/dist/chunk-FWNRPMCJ.mjs +12 -0
  224. package/dist/chunk-FWW4CSAZ.mjs +2 -0
  225. package/dist/{chunk-2B5E4CDJ.mjs → chunk-GPIWQ4X4.mjs} +1 -1
  226. package/dist/chunk-GY3FAUVM.mjs +2 -0
  227. package/dist/chunk-HLYV7RIH.mjs +2 -0
  228. package/dist/chunk-HMYTM3GT.mjs +15 -0
  229. package/dist/chunk-IA4PSIMD.mjs +2 -0
  230. package/dist/chunk-JEUK3ZO7.mjs +2 -0
  231. package/dist/chunk-JVHHHGEA.mjs +3 -0
  232. package/dist/chunk-KTKHRC6H.mjs +2 -0
  233. package/dist/chunk-L7UP52JO.mjs +2 -0
  234. package/dist/chunk-MHW7ZKOU.mjs +2 -0
  235. package/dist/chunk-N76HWBA3.mjs +10 -0
  236. package/dist/chunk-N7AZZLGT.mjs +548 -0
  237. package/dist/chunk-NAMN3RAF.mjs +2 -0
  238. package/dist/{chunk-YXAUQPVK.mjs → chunk-NFMCP2HI.mjs} +3 -3
  239. package/dist/chunk-NG375ILQ.mjs +2 -0
  240. package/dist/chunk-NVRNLK25.mjs +6 -0
  241. package/dist/chunk-NWFBE2YA.mjs +2 -0
  242. package/dist/chunk-NWR2LT5B.mjs +2 -0
  243. package/dist/chunk-OJKMINIU.mjs +20 -0
  244. package/dist/chunk-OUUP3WKT.mjs +2 -0
  245. package/dist/chunk-OW5NWPOJ.mjs +10 -0
  246. package/dist/chunk-PAREWQGB.mjs +4 -0
  247. package/dist/chunk-POQSE4C2.mjs +2 -0
  248. package/dist/chunk-PUOQ65NC.mjs +2 -0
  249. package/dist/{chunk-Z52HTUW7.mjs → chunk-PVER7LSC.mjs} +2 -2
  250. package/dist/chunk-PZDLJJTJ.mjs +3 -0
  251. package/dist/chunk-Q47PLKIJ.mjs +15 -0
  252. package/dist/chunk-Q4UEPUWF.mjs +2 -0
  253. package/dist/chunk-QKXMPUXC.mjs +2 -0
  254. package/dist/chunk-QOUEFUCH.mjs +16 -0
  255. package/dist/chunk-RFDZXFJF.mjs +13 -0
  256. package/dist/chunk-RKPWLGZ3.mjs +4 -0
  257. package/dist/chunk-RMECZA2K.mjs +2 -0
  258. package/dist/{chunk-EUX7IC5J.mjs → chunk-SQ6Y2ZMA.mjs} +2 -2
  259. package/dist/chunk-SX4LJYT6.mjs +8 -0
  260. package/dist/chunk-SXHBYZST.mjs +16 -0
  261. package/dist/chunk-TANZRINB.mjs +2 -0
  262. package/dist/chunk-TEZAWDSQ.mjs +2 -0
  263. package/dist/chunk-UBBRTJ2R.mjs +24 -0
  264. package/dist/chunk-UFNYFFKO.mjs +20 -0
  265. package/dist/chunk-UGWYKHBL.mjs +170 -0
  266. package/dist/chunk-UKSHDZZ6.mjs +2 -0
  267. package/dist/chunk-UMHUSOPJ.mjs +2 -0
  268. package/dist/chunk-UNOYVIYR.mjs +2 -0
  269. package/dist/chunk-V6RIYQZZ.mjs +4 -0
  270. package/dist/chunk-VJPFVNNW.mjs +15 -0
  271. package/dist/chunk-VS3ZMVGX.mjs +5 -0
  272. package/dist/chunk-VTKNEYT3.mjs +6 -0
  273. package/dist/chunk-VXACTLO3.mjs +3 -0
  274. package/dist/chunk-W3BGBJQW.mjs +2 -0
  275. package/dist/chunk-YI43RG4P.mjs +2 -0
  276. package/dist/chunk-YQGT4AB2.mjs +6 -0
  277. package/dist/chunk-ZB4H7ZN4.mjs +2 -0
  278. package/dist/{chunk-ACOPDCNB.mjs → chunk-ZHEHPMBK.mjs} +1 -1
  279. package/dist/chunk-ZTHICSSF.mjs +2 -0
  280. package/dist/chunk-ZUNVAXLH.mjs +2 -0
  281. package/dist/chunk-ZWPMCK7P.mjs +2 -0
  282. package/dist/cli.mjs +1 -1
  283. package/dist/server.mjs +1 -1
  284. package/dist/{chunk-EVJ3BX3M.mjs → update-fetch.mjs} +1 -1
  285. package/dist/worker.mjs +1 -1
  286. package/kit/board.css +95 -0
  287. package/kit/board.js +250 -0
  288. package/kit/charts.js +5 -71
  289. package/kit/code.js +14 -14
  290. package/kit/math.js +18 -2
  291. package/kit/report.css +500 -151
  292. package/kit/runtime.js +1720 -170
  293. package/kit/state.js +10 -1
  294. package/kit/tables.js +172 -37
  295. package/kit/ui.js +166 -27
  296. package/package.json +2 -1
  297. package/packs/gallery/card/component.json +14 -0
  298. package/packs/gallery/card/example.html +10 -0
  299. package/packs/gallery/card/preview.svg +1 -0
  300. package/packs/gallery/card/style.css +6 -0
  301. package/packs/gallery/card/template.html +6 -0
  302. package/packs/gallery/card/writing.md +14 -0
  303. package/packs/gallery/chart-card/component.json +15 -0
  304. package/packs/gallery/chart-card/example.html +14 -0
  305. package/packs/gallery/chart-card/kit.js +130 -0
  306. package/packs/gallery/chart-card/preview.svg +1 -0
  307. package/packs/gallery/chart-card/style.css +42 -0
  308. package/packs/gallery/chart-card/template.html +13 -0
  309. package/packs/gallery/chart-card/writing.md +20 -0
  310. package/packs/gallery/chart-view/component.json +20 -0
  311. package/packs/gallery/chart-view/example.html +13 -0
  312. package/packs/gallery/chart-view/kit.js +355 -0
  313. package/packs/gallery/chart-view/preview.svg +1 -0
  314. package/packs/gallery/chart-view/style.css +94 -0
  315. package/packs/gallery/chart-view/template.html +3 -0
  316. package/packs/gallery/chart-view/writing.md +22 -0
  317. package/packs/gallery/countdown/component.json +18 -0
  318. package/packs/gallery/countdown/example.html +3 -0
  319. package/packs/gallery/countdown/kit.js +156 -0
  320. package/packs/gallery/countdown/preview.svg +1 -0
  321. package/packs/gallery/countdown/style.css +130 -0
  322. package/packs/gallery/countdown/template.html +3 -0
  323. package/packs/gallery/countdown/writing.md +22 -0
  324. package/packs/gallery/habit/component.json +14 -0
  325. package/packs/gallery/habit/example.html +3 -0
  326. package/packs/gallery/habit/kit.js +295 -0
  327. package/packs/gallery/habit/preview.svg +1 -0
  328. package/packs/gallery/habit/style.css +246 -0
  329. package/packs/gallery/habit/template.html +3 -0
  330. package/packs/gallery/habit/writing.md +21 -0
  331. package/packs/gallery/heatmap/component.json +18 -0
  332. package/packs/gallery/heatmap/example.html +3 -0
  333. package/packs/gallery/heatmap/kit.js +351 -0
  334. package/packs/gallery/heatmap/preview.svg +1 -0
  335. package/packs/gallery/heatmap/style.css +201 -0
  336. package/packs/gallery/heatmap/template.html +3 -0
  337. package/packs/gallery/heatmap/writing.md +21 -0
  338. package/packs/gallery/kanban/component.json +18 -0
  339. package/packs/gallery/kanban/example.html +12 -0
  340. package/packs/gallery/kanban/kit.js +540 -0
  341. package/packs/gallery/kanban/preview.svg +1 -0
  342. package/packs/gallery/kanban/style.css +212 -0
  343. package/packs/gallery/kanban/template.html +3 -0
  344. package/packs/gallery/kanban/writing.md +20 -0
  345. package/packs/gallery/metric/component.json +22 -0
  346. package/packs/gallery/metric/example.html +15 -0
  347. package/packs/gallery/metric/kit.js +248 -0
  348. package/packs/gallery/metric/preview.svg +1 -0
  349. package/packs/gallery/metric/style.css +92 -0
  350. package/packs/gallery/metric/template.html +3 -0
  351. package/packs/gallery/metric/writing.md +23 -0
  352. package/packs/gallery/note/component.json +14 -0
  353. package/packs/gallery/note/example.html +3 -0
  354. package/packs/gallery/note/kit.js +102 -0
  355. package/packs/gallery/note/preview.svg +1 -0
  356. package/packs/gallery/note/style.css +76 -0
  357. package/packs/gallery/note/template.html +3 -0
  358. package/packs/gallery/note/writing.md +18 -0
  359. package/packs/gallery/pack.json +8 -0
  360. package/packs/gallery/recent/component.json +13 -0
  361. package/packs/gallery/recent/example.html +1 -0
  362. package/packs/gallery/recent/kit.js +238 -0
  363. package/packs/gallery/recent/preview.svg +1 -0
  364. package/packs/gallery/recent/style.css +158 -0
  365. package/packs/gallery/recent/template.html +1 -0
  366. package/packs/gallery/recent/writing.md +15 -0
  367. package/packs/gallery/static/component.json +13 -0
  368. package/packs/gallery/static/example.html +11 -0
  369. package/packs/gallery/static/preview.svg +1 -0
  370. package/packs/gallery/static/style.css +138 -0
  371. package/packs/gallery/static/template.html +1 -0
  372. package/packs/gallery/static/writing.md +18 -0
  373. package/packs/gallery/stats/component.json +13 -0
  374. package/packs/gallery/stats/example.html +1 -0
  375. package/packs/gallery/stats/kit.js +166 -0
  376. package/packs/gallery/stats/preview.svg +1 -0
  377. package/packs/gallery/stats/style.css +151 -0
  378. package/packs/gallery/stats/template.html +1 -0
  379. package/packs/gallery/stats/writing.md +11 -0
  380. package/packs/gallery/today/component.json +12 -0
  381. package/packs/gallery/today/example.html +1 -0
  382. package/packs/gallery/today/kit.js +185 -0
  383. package/packs/gallery/today/preview.svg +1 -0
  384. package/packs/gallery/today/style.css +120 -0
  385. package/packs/gallery/today/template.html +1 -0
  386. package/packs/gallery/today/writing.md +14 -0
  387. package/packs/gallery/todos/component.json +19 -0
  388. package/packs/gallery/todos/example.html +3 -0
  389. package/packs/gallery/todos/kit.js +342 -0
  390. package/packs/gallery/todos/preview.svg +1 -0
  391. package/packs/gallery/todos/style.css +267 -0
  392. package/packs/gallery/todos/template.html +3 -0
  393. package/packs/gallery/todos/writing.md +30 -0
  394. package/packs/gallery/weather/component.json +19 -0
  395. package/packs/gallery/weather/example.html +3 -0
  396. package/packs/gallery/weather/kit.js +312 -0
  397. package/packs/gallery/weather/preview.svg +1 -0
  398. package/packs/gallery/weather/style.css +258 -0
  399. package/packs/gallery/weather/template.html +3 -0
  400. package/packs/gallery/weather/writing.md +26 -0
  401. package/packs/gallery-soft/pack.json +8 -0
  402. package/release.json +13 -11
  403. package/sdk/doc-kit.d.ts +404 -7
  404. package/sdk/doc-state.d.ts +2 -0
  405. package/skill/SKILL.md +71 -26
  406. package/skill/references/block-script.md +140 -0
  407. package/skill/references/building-blocks.md +257 -0
  408. package/skill/references/example-report.html +1 -1
  409. package/skill/references/extensions.md +59 -0
  410. package/skill/references/pages-and-data.md +221 -0
  411. package/skill/references/writing-html.md +9 -7
  412. package/skill/sdk/doc-kit.d.ts +404 -7
  413. package/skill/sdk/doc-state.d.ts +2 -0
  414. package/web/assets/index-BK2e_07w.js +13 -0
  415. package/web/assets/index-CWFI83mF.css +1 -0
  416. package/web/index.html +2 -2
  417. package/browser/editor/components/callout/page.mjs +0 -13
  418. package/dist/chunk-2PBALTR3.mjs +0 -57
  419. package/dist/chunk-3LA3EMDE.mjs +0 -15
  420. package/dist/chunk-5FRMCDPY.mjs +0 -16
  421. package/dist/chunk-5LEK2CBS.mjs +0 -2
  422. package/dist/chunk-5OFN5AHC.mjs +0 -2
  423. package/dist/chunk-5SIYS5HN.mjs +0 -2
  424. package/dist/chunk-5TEK3RAD.mjs +0 -2
  425. package/dist/chunk-6CYG3Z4V.mjs +0 -2
  426. package/dist/chunk-7GHT2UCA.mjs +0 -15
  427. package/dist/chunk-7QQBR7PB.mjs +0 -2
  428. package/dist/chunk-ATCJYAR4.mjs +0 -2
  429. package/dist/chunk-C7HWOBIF.mjs +0 -2
  430. package/dist/chunk-E7VYDG2X.mjs +0 -2
  431. package/dist/chunk-EZY3WC6Z.mjs +0 -15
  432. package/dist/chunk-FQGQH4KM.mjs +0 -2
  433. package/dist/chunk-G7TOXONE.mjs +0 -6
  434. package/dist/chunk-GPF4YWWB.mjs +0 -9
  435. package/dist/chunk-GYQV7Y4J.mjs +0 -120
  436. package/dist/chunk-HMHK3EQ6.mjs +0 -2
  437. package/dist/chunk-HQQMJCQJ.mjs +0 -10
  438. package/dist/chunk-IERUOGC3.mjs +0 -6
  439. package/dist/chunk-ITNLYXXV.mjs +0 -3
  440. package/dist/chunk-L4DVONOG.mjs +0 -2
  441. package/dist/chunk-LAE5NQ4B.mjs +0 -2
  442. package/dist/chunk-LC7YNQFG.mjs +0 -2
  443. package/dist/chunk-LHTFLRB6.mjs +0 -4
  444. package/dist/chunk-NFIBI4IP.mjs +0 -26
  445. package/dist/chunk-NSKUTQ5J.mjs +0 -5
  446. package/dist/chunk-O52JMOCZ.mjs +0 -2
  447. package/dist/chunk-P2CAZPDP.mjs +0 -3
  448. package/dist/chunk-QMQUXTU4.mjs +0 -12
  449. package/dist/chunk-QVWVFC5K.mjs +0 -6
  450. package/dist/chunk-QYKCJ7FG.mjs +0 -8
  451. package/dist/chunk-QZY6Q64C.mjs +0 -2
  452. package/dist/chunk-TDQP3DKQ.mjs +0 -10
  453. package/dist/chunk-TX6JH7TR.mjs +0 -2
  454. package/dist/chunk-UNUEWH4S.mjs +0 -2
  455. package/dist/chunk-V4CPWKMZ.mjs +0 -2
  456. package/dist/chunk-VACRB2NE.mjs +0 -3
  457. package/dist/chunk-W63L7367.mjs +0 -7
  458. package/dist/chunk-W7CXPCRV.mjs +0 -6
  459. package/dist/chunk-XINNG4F2.mjs +0 -4
  460. package/dist/chunk-YL2DPWVS.mjs +0 -4
  461. package/dist/chunk-YZ5Z6H4W.mjs +0 -4
  462. package/dist/chunk-ZBIM6ARY.mjs +0 -216
  463. package/skill/references/building-components.md +0 -327
  464. package/web/assets/index-B6Ai3wsa.js +0 -13
  465. package/web/assets/index-SYPC3EZy.css +0 -1
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 240 120"><rect width="240" height="120" rx="8" fill="#f3f3f1"/><rect x="16.5" y="12.5" width="207" height="95" rx="12" fill="#ffffff" stroke="#e7e6e3"/><rect x="30" y="24" width="14" height="14" rx="4.5" fill="#ebf2fa"/><g transform="translate(32 26) scale(.4167)" fill="none" stroke="#2e7cd1" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round"><path d="M4 7a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7z"/><path d="M16 3v4M8 3v4M4 11h16"/></g><rect x="50" y="28" width="46" height="6" rx="3" fill="#3b3a37"/><rect x="150" y="29" width="60" height="5" rx="2.5" fill="#c4c2bd"/><rect x="36" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="36" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="36" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="36" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="36" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="36" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="36" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="43" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="43" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="43" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="43" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="43" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="43" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="43" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="50" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="50" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="50" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="50" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="50" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="50" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="50" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="57" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="57" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="57" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="57" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="57" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="57" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="57" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="64" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="64" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="64" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="64" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="64" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="64" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="64" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="71" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="71" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="71" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="71" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="71" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="71" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="71" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="78" y="48" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="78" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="78" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="78" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="78" y="76" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="78" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="78" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="85" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="85" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="85" y="62" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="85" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="85" y="76" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="85" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="85" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="92" y="48" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="92" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="92" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="92" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="92" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="92" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="92" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="99" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="99" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="99" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="99" y="69" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="99" y="76" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="99" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="99" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="106" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="106" y="55" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="106" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="106" y="69" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="106" y="76" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="106" y="83" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="106" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="113" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="113" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="113" y="62" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="113" y="69" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="113" y="76" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="113" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="113" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="120" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="120" y="55" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="120" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="120" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="120" y="76" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="120" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="120" y="90" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="127" y="48" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="127" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="127" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="127" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="127" y="76" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="127" y="83" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="127" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="134" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="134" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="134" y="62" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="134" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="134" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="134" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="134" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="141" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="141" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="141" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="141" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="141" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="141" y="83" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="141" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="148" y="48" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="148" y="55" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="148" y="62" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="148" y="69" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="148" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="148" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="148" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="155" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="155" y="55" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="155" y="62" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="155" y="69" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="155" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="155" y="83" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="155" y="90" width="5.5" height="5.5" rx="1.4" fill="#5c97da"/><rect x="162" y="48" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="162" y="55" width="5.5" height="5.5" rx="1.4" fill="#5c97da"/><rect x="162" y="62" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="162" y="69" width="5.5" height="5.5" rx="1.4" fill="#5c97da"/><rect x="162" y="76" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="162" y="83" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="162" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="169" y="48" width="5.5" height="5.5" rx="1.4" fill="#2e7cd1"/><rect x="169" y="55" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="169" y="62" width="5.5" height="5.5" rx="1.4" fill="#5c97da"/><rect x="169" y="69" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="169" y="76" width="5.5" height="5.5" rx="1.4" fill="#5c97da"/><rect x="169" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="169" y="90" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="176" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="176" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="176" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="176" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="176" y="76" width="5.5" height="5.5" rx="1.4" fill="#2e7cd1"/><rect x="176" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="176" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="183" y="48" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="183" y="55" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="183" y="62" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="183" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="183" y="76" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="183" y="83" width="5.5" height="5.5" rx="1.4" fill="#2e7cd1"/><rect x="183" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="190" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="190" y="55" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="190" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="190" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="190" y="76" width="5.5" height="5.5" rx="1.4" fill="#93b9e6"/><rect x="190" y="83" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="190" y="90" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="197" y="48" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="197" y="55" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="197" y="62" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="197" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="197" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="197" y="83" width="5.5" height="5.5" rx="1.4" fill="#5c97da"/><rect x="197" y="90" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="204" y="48" width="5.5" height="5.5" rx="1.4" fill="#2e7cd1"/><rect x="204" y="55" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/><rect x="204" y="62" width="5.5" height="5.5" rx="1.4" fill="#2e7cd1"/><rect x="204" y="69" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="204" y="76" width="5.5" height="5.5" rx="1.4" fill="#efeeec"/><rect x="204" y="83" width="5.5" height="5.5" rx="1.4" fill="#5c97da"/><rect x="204" y="90" width="5.5" height="5.5" rx="1.4" fill="#c9dcf2"/></svg>
@@ -0,0 +1,201 @@
1
+ /* Every selector starts at the instance and goes down a step at a time (>), so that nothing here
2
+ reaches the rest of the page. The face fills its card on a custom page (the board draws the frame), in
3
+ the kit's card tokens: its head (the chip, 编辑热力图, its line, the quiet note at its end (how many
4
+ edits, or since when it is kept; the period where the figures show), its end clear of the card's grip); the
5
+ weekdays down the left, the months over the weeks, the squares a column a week, Monday at the top. The
6
+ squares' side and gaps are the script's (--gallery-heatmap-cell, --gallery-heatmap-gap, and
7
+ --gallery-heatmap-across between the weeks, wider on a card far wider than high: as big as the card
8
+ lets them be), their corners a quarter of their side, the grid hung from the left under the head
9
+ and the room left over at its right; the weekdays' column left out where a square is under 6px
10
+ (data-small: its words would run into each other). A day drawn by its level, 0 to 4, the accent's
11
+ shades on the card's fill (a quarter, a half, three quarters of it, and the accent itself; in dark two
12
+ fifths, three fifths, four fifths, so that the first stands off the track), a day of none the track's
13
+ gray (a step stronger than the track, so that a year of none still reads as a grid), a day before the
14
+ record only outlined in that gray, an empty slot rather than a day of nothing, so that a record just
15
+ begun reads as starting now; a day to come none. A wide card with something counted (data-figures)
16
+ shows its figures beside the squares: what they count, the edits (or words) in all, large (the cards'
17
+ hero size), the days that had any and today's, a hairline at their right; under 150px high, today's
18
+ left out, under 124px what they count too. Less to more (the script places it) under the squares at their left where the room
19
+ under them holds it, else at the head's end, where a card too narrow for it beside the line leaves it out. */
20
+ [data-doc-component="gallery/heatmap"] {
21
+ --gallery-heatmap-0: light-dark(rgb(33 27 23 / 10%), rgb(255 255 255 / 11%));
22
+ --gallery-heatmap-1: light-dark(color-mix(in oklab, var(--gallery-accent) 26%, var(--gallery-card-fill)), color-mix(in oklab, var(--gallery-accent) 42%, var(--gallery-card-fill)));
23
+ --gallery-heatmap-2: light-dark(color-mix(in oklab, var(--gallery-accent) 50%, var(--gallery-card-fill)), color-mix(in oklab, var(--gallery-accent) 62%, var(--gallery-card-fill)));
24
+ --gallery-heatmap-3: light-dark(color-mix(in oklab, var(--gallery-accent) 75%, var(--gallery-card-fill)), color-mix(in oklab, var(--gallery-accent) 81%, var(--gallery-card-fill)));
25
+ --gallery-heatmap-4: var(--gallery-accent);
26
+ height: 12em;
27
+ container-type: size;
28
+ > .gallery-heatmap-face {
29
+ --gallery-heatmap-cell: 10px;
30
+ --gallery-heatmap-gap: 3px;
31
+ display: flex;
32
+ flex-direction: column;
33
+ gap: var(--gallery-face-gap);
34
+ box-sizing: border-box;
35
+ height: 100%;
36
+ min-height: 0;
37
+ color: var(--gallery-text);
38
+ font-size: 12px;
39
+ line-height: 1.3;
40
+ }
41
+ > .gallery-heatmap-face > .gallery-heatmap-head {
42
+ display: flex;
43
+ align-items: center;
44
+ gap: 8px;
45
+ flex: none;
46
+ min-width: 0;
47
+ padding-inline-end: var(--gallery-grip-room, 0px);
48
+ }
49
+ > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-chip {
50
+ flex: none;
51
+ display: inline-flex;
52
+ align-items: center;
53
+ justify-content: center;
54
+ width: var(--gallery-chip-size);
55
+ height: var(--gallery-chip-size);
56
+ border-radius: var(--gallery-chip-radius);
57
+ background: var(--gallery-accent-soft);
58
+ color: var(--gallery-accent);
59
+ }
60
+ > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-chip > svg { width: var(--gallery-chip-icon); height: var(--gallery-chip-icon); }
61
+ > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-title { flex: none; font-size: var(--gallery-title-size); font-weight: 600; line-height: var(--gallery-title-line); color: var(--gallery-text-strong); }
62
+ /* The head's last piece (its line, or less to more where the script put it there) at the content's edge, faded while the card's grip shows. */
63
+ > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-line:last-child,
64
+ > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-legend { margin-inline-end: calc(-1 * var(--gallery-grip-room, 0px)); opacity: calc(1 - var(--gallery-grip-shown, 0)); transition: opacity .12s ease-out; }
65
+ > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-line {
66
+ flex: 1 1 auto;
67
+ min-width: 0;
68
+ margin-inline-start: 4px;
69
+ font-size: var(--gallery-meta-size);
70
+ color: var(--doc-muted);
71
+ text-align: end;
72
+ overflow: hidden;
73
+ white-space: nowrap;
74
+ text-overflow: ellipsis;
75
+ }
76
+ > .gallery-heatmap-face > .gallery-heatmap-body {
77
+ display: flex;
78
+ align-items: center;
79
+ justify-content: flex-start;
80
+ gap: 6px;
81
+ flex: 1 1 auto;
82
+ min-height: 0;
83
+ overflow: hidden;
84
+ }
85
+ /* The figures beside the squares (a wide card's, where something is counted): what they count, small and
86
+ muted, over the edits (or words) in all, large, their unit after them, and a muted line of the days
87
+ that had any and today's; a hairline at their right. */
88
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside {
89
+ display: none;
90
+ flex: none;
91
+ flex-direction: column;
92
+ justify-content: center;
93
+ gap: 4px;
94
+ align-self: stretch;
95
+ width: clamp(120px, 18cqi, 190px);
96
+ box-sizing: border-box;
97
+ margin-inline-end: 6px;
98
+ padding-inline-end: 16px;
99
+ border-inline-end: 1px solid var(--doc-grid);
100
+ }
101
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-label { font-size: var(--gallery-meta-size); line-height: 16px; color: var(--doc-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
102
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-total { display: flex; align-items: baseline; flex-wrap: wrap; }
103
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-total > .gallery-heatmap-number {
104
+ font-size: var(--gallery-hero-size);
105
+ line-height: 1.1;
106
+ font-weight: var(--gallery-numeral-weight);
107
+ letter-spacing: var(--gallery-numeral-tracking);
108
+ color: var(--gallery-text-strong);
109
+ font-variant-numeric: tabular-nums;
110
+ }
111
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-total > .gallery-heatmap-unit { margin-inline-start: var(--gallery-unit-gap); font-size: max(12px, calc(var(--gallery-hero-size) * .4)); font-weight: 500; color: var(--doc-muted); }
112
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-more { display: flex; flex-direction: column; font-size: var(--gallery-meta-size); line-height: 1.5; color: var(--doc-muted); }
113
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-more > .gallery-heatmap-piece { white-space: nowrap; }
114
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-rows {
115
+ display: grid;
116
+ flex: none;
117
+ grid-template-rows: repeat(7, var(--gallery-heatmap-cell));
118
+ gap: var(--gallery-heatmap-gap);
119
+ margin-top: 18px;
120
+ color: var(--doc-muted);
121
+ font-size: 10px;
122
+ }
123
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-rows > .gallery-heatmap-row { display: flex; align-items: center; line-height: 1; }
124
+ > .gallery-heatmap-face[data-small] > .gallery-heatmap-body > .gallery-heatmap-rows { display: none; }
125
+ /* Less to more under the squares: the weekdays as much shorter at the bottom, so that they stay beside their rows. */
126
+ > .gallery-heatmap-face > .gallery-heatmap-body:has(> .gallery-heatmap-area > .gallery-heatmap-legend) > .gallery-heatmap-rows { margin-bottom: 18px; }
127
+ /* As wide as its weeks, hung from the left beside the weekdays. */
128
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area { flex: none; width: calc(var(--gallery-heatmap-weeks, 53) * (var(--gallery-heatmap-cell) + var(--gallery-heatmap-across, var(--gallery-heatmap-gap))) - var(--gallery-heatmap-across, var(--gallery-heatmap-gap))); }
129
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-months {
130
+ position: relative;
131
+ height: 14px;
132
+ margin-bottom: 4px;
133
+ color: var(--doc-muted);
134
+ font-size: 10px;
135
+ line-height: 14px;
136
+ }
137
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-months > .gallery-heatmap-month {
138
+ position: absolute;
139
+ top: 0;
140
+ left: calc(var(--gallery-heatmap-week) * (var(--gallery-heatmap-cell) + var(--gallery-heatmap-across, var(--gallery-heatmap-gap))));
141
+ white-space: nowrap;
142
+ }
143
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-grid {
144
+ display: grid;
145
+ grid-auto-flow: column;
146
+ grid-template-rows: repeat(7, var(--gallery-heatmap-cell));
147
+ grid-auto-columns: var(--gallery-heatmap-cell);
148
+ gap: var(--gallery-heatmap-gap) var(--gallery-heatmap-across, var(--gallery-heatmap-gap));
149
+ }
150
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-day {
151
+ box-sizing: border-box;
152
+ border-radius: max(2px, calc(var(--gallery-heatmap-cell) / 4));
153
+ background: var(--gallery-heatmap-0);
154
+ }
155
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-day[data-level="1"] { background: var(--gallery-heatmap-1); }
156
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-day[data-level="2"] { background: var(--gallery-heatmap-2); }
157
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-day[data-level="3"] { background: var(--gallery-heatmap-3); }
158
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-day[data-level="4"] { background: var(--gallery-heatmap-4); }
159
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-day.gallery-heatmap-before { background: transparent; box-shadow: inset 0 0 0 1px var(--gallery-heatmap-0); }
160
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-grid > .gallery-heatmap-day.gallery-heatmap-future { visibility: hidden; }
161
+ /* Less to more, wherever the script put it: under the squares or at the head's end. */
162
+ > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-legend,
163
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-legend {
164
+ display: flex;
165
+ align-items: center;
166
+ align-self: center;
167
+ gap: 3px;
168
+ flex: none;
169
+ color: var(--doc-muted);
170
+ font-size: 10px;
171
+ line-height: 1;
172
+ > .gallery-heatmap-less { margin-inline-end: 3px; }
173
+ > .gallery-heatmap-more { margin-inline-start: 3px; }
174
+ > .gallery-heatmap-square { width: 10px; height: 10px; border-radius: 3px; background: var(--gallery-heatmap-0); }
175
+ > .gallery-heatmap-square[data-level="1"] { background: var(--gallery-heatmap-1); }
176
+ > .gallery-heatmap-square[data-level="2"] { background: var(--gallery-heatmap-2); }
177
+ > .gallery-heatmap-square[data-level="3"] { background: var(--gallery-heatmap-3); }
178
+ > .gallery-heatmap-square[data-level="4"] { background: var(--gallery-heatmap-4); }
179
+ }
180
+ > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-area > .gallery-heatmap-legend { align-self: flex-start; margin-top: 8px; }
181
+ }
182
+ /* A wide card (8 cells and more) with something counted: the figures beside the squares. */
183
+ @container (min-width: 560px) {
184
+ [data-doc-component="gallery/heatmap"] > .gallery-heatmap-face[data-figures] > .gallery-heatmap-body > .gallery-heatmap-aside { display: flex; }
185
+ }
186
+ /* Not so high (a 2-high card from a window 1440px wide): today's left out of the figures, which would not fit with the rest. */
187
+ @container (max-height: 150px) {
188
+ [data-doc-component="gallery/heatmap"] > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-more > .gallery-heatmap-piece + .gallery-heatmap-piece { display: none; }
189
+ }
190
+ /* Low (a 2-high card from a window under 1440px wide): what the figures count left out too, the number the figure size. */
191
+ @container (max-height: 124px) {
192
+ [data-doc-component="gallery/heatmap"] > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-label { display: none; }
193
+ [data-doc-component="gallery/heatmap"] > .gallery-heatmap-face > .gallery-heatmap-body > .gallery-heatmap-aside > .gallery-heatmap-total > .gallery-heatmap-number { font-size: var(--gallery-figure-size); }
194
+ }
195
+ /* A card too narrow for less to more beside the line: the line alone. */
196
+ @container (max-width: 440px) {
197
+ [data-doc-component="gallery/heatmap"] > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-legend { display: none; }
198
+ [data-doc-component="gallery/heatmap"] > .gallery-heatmap-face > .gallery-heatmap-head > .gallery-heatmap-line { margin-inline-end: calc(-1 * var(--gallery-grip-room, 0px)); opacity: calc(1 - var(--gallery-grip-shown, 0)); transition: opacity .12s ease-out; }
199
+ }
200
+ /* On a custom page the face is the card's: as high as what the card holds inside its padding. */
201
+ .gallery-card > [data-doc-component="gallery/heatmap"] { 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 × 3 (the default: most of a year, its weekdays and less to more under the squares), 12 × 3 (a year) and 4 × 3 (the last weeks alone): as many weeks as the card holds are drawn, the last ending today.
18
+
19
+ ## How it looks
20
+
21
+ 编辑热力图 beside a calendar's chip, how many edits there were at the top line's end, the weekdays down the left (Monday first), the months over the weeks, the squares in the accent's shades, darker for a day of more; in the kit's card tokens (as every Gallery card: a head of a tinted chip and a title, its end clear of the card's grip), light and dark. Less to more stands under the squares where the card has the room, else at the top line's end. On a wide card (8 cells and more), once anything is counted, the figures stand at the left of the squares: 期间编辑, the edits (or words) in all, large, how many days had any and today's, the top line then saying since when. A day before the record began is an outlined square, an empty slot. Each square says its day and its count where the pointer rests on it. Until anything is counted the line says since when the record is kept (从 11月8日 开始记录). It follows by itself: a document saved, or written by the Agent, shows on today's square at once, and what was written while Gallery did not run is counted on its day when it starts. In an exported file, which has no workspace to read, the line says it shows when the page is opened in Gallery. The script runs with the rights of the page's own scripts, as any block's does.
@@ -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>