@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.
- package/THIRD-PARTY-NOTICES.md +2 -2
- package/browser/editor/components/align.mjs +58 -0
- package/browser/editor/components/code/index.mjs +1 -1
- package/browser/editor/components/columns/page.mjs +4 -4
- package/browser/editor/components/embed/index.mjs +2 -2
- package/browser/editor/components/embed/page.mjs +1 -1
- package/browser/editor/components/file/page.mjs +4 -4
- package/browser/editor/components/flowchart/add.mjs +7 -6
- package/browser/editor/components/flowchart/page.mjs +1 -1
- package/browser/editor/components/heading/index.mjs +7 -6
- package/browser/editor/components/icons.mjs +11 -0
- package/browser/editor/components/image/crop.mjs +6 -9
- package/browser/editor/components/image/index.mjs +2 -0
- package/browser/editor/components/image/page.mjs +172 -90
- package/browser/editor/components/installed/index.mjs +15 -4
- package/browser/editor/components/installed/page.mjs +103 -25
- package/browser/editor/components/installed/served.mjs +6 -5
- package/browser/editor/components/instances.mjs +18 -0
- package/browser/editor/components/list/page.mjs +3 -6
- package/browser/editor/components/media/icons.mjs +13 -8
- package/browser/editor/components/media/page.mjs +5 -3
- package/browser/editor/components/media/toolbar.mjs +12 -3
- package/browser/editor/components/paragraph/index.mjs +4 -3
- package/browser/editor/components/registry.mjs +30 -9
- package/browser/editor/components/table/index.mjs +61 -2
- package/browser/editor/components/table/page.mjs +1 -1
- package/browser/editor/page/after/index.mjs +288 -0
- package/browser/editor/page/align.mjs +91 -0
- package/browser/editor/page/annotate/card.mjs +3 -6
- package/browser/editor/page/autosave.mjs +310 -37
- package/browser/editor/page/beside.mjs +5 -6
- package/browser/editor/page/block-menu/index.mjs +6 -3
- package/browser/editor/page/blocks.mjs +3 -1
- package/browser/editor/page/board/client.mjs +57 -0
- package/browser/editor/page/board/hint.mjs +182 -0
- package/browser/editor/page/board/history.mjs +119 -0
- package/browser/editor/page/board/index.mjs +1059 -0
- package/browser/editor/page/board/motion.mjs +177 -0
- package/browser/editor/page/board/settings.mjs +210 -0
- package/browser/editor/page/caret.mjs +1 -1
- package/browser/editor/page/changes/bar.mjs +6 -14
- package/browser/editor/page/changes/index.mjs +2 -2
- package/browser/editor/page/clipboard/import/html.mjs +29 -6
- package/browser/editor/page/clipboard/import/inline.mjs +32 -0
- package/browser/editor/page/clipboard/import/markdown.mjs +58 -13
- package/browser/editor/page/clipboard/import/read.mjs +6 -1
- package/browser/editor/page/clipboard/import/to-blocks.mjs +44 -12
- package/browser/editor/page/clipboard/import/yuque.mjs +622 -0
- package/browser/editor/page/clipboard/index.mjs +133 -15
- package/browser/editor/page/clipboard/own/blocks.mjs +13 -14
- package/browser/editor/page/clipboard/own/chart-keys.mjs +41 -28
- package/browser/editor/page/clipboard/own/describe.mjs +6 -2
- package/browser/editor/page/clipboard/own/selection.mjs +1 -1
- package/browser/editor/page/columns/index.mjs +48 -46
- package/browser/editor/page/commit.mjs +80 -22
- package/browser/editor/page/conflicts.mjs +7 -7
- package/browser/editor/page/core.mjs +34 -16
- package/browser/editor/page/custom-page.mjs +110 -0
- package/browser/editor/page/editor.mjs +71 -17
- package/browser/editor/page/emoji-picker/styles.mjs +7 -12
- package/browser/editor/page/emoji-picker/upload.mjs +2 -2
- package/browser/editor/page/handle/index.mjs +5 -8
- package/browser/editor/page/history.mjs +41 -6
- package/browser/editor/page/insert/index.mjs +20 -22
- package/browser/editor/page/links/index.mjs +5 -3
- package/browser/editor/page/links/pages.mjs +27 -9
- package/browser/editor/page/look.mjs +54 -3
- package/browser/editor/page/margin.mjs +18 -3
- package/browser/editor/page/media-menu/index.mjs +6 -7
- package/browser/editor/page/menu.mjs +33 -14
- package/browser/editor/page/notices.mjs +2 -2
- package/browser/editor/page/page-objects.mjs +9 -2
- package/browser/editor/page/panel.mjs +4 -9
- package/browser/editor/page/present-links.mjs +15 -5
- package/browser/editor/page/present-shell.mjs +63 -0
- package/browser/editor/page/resize/index.mjs +42 -29
- package/browser/editor/page/selection/index.mjs +10 -2
- package/browser/editor/page/served.mjs +14 -0
- package/browser/editor/page/session.mjs +48 -4
- package/browser/editor/page/slash-menu/index.mjs +3 -3
- package/browser/editor/page/table/binding.mjs +87 -0
- package/browser/editor/page/table/cells.mjs +102 -46
- package/browser/editor/page/table/index.mjs +24 -9
- package/browser/editor/page/table/pictures.mjs +299 -0
- package/browser/editor/page/table/views.mjs +103 -0
- package/browser/editor/page/table/widths.mjs +82 -10
- package/browser/editor/page/text-select/index.mjs +26 -12
- package/browser/editor/page/todo-writes.mjs +75 -0
- package/browser/editor/page/typing/index.mjs +97 -15
- package/browser/editor/page/typing/leave.mjs +19 -5
- package/browser/editor/page/ui.mjs +13 -0
- package/browser/shared/block-packs.mjs +419 -0
- package/browser/shared/board-places.mjs +224 -0
- package/browser/shared/card-size.mjs +59 -0
- package/browser/shared/colors.mjs +3 -2
- package/browser/shared/component-catalog.mjs +330 -46
- package/browser/shared/component-source.mjs +39 -0
- package/browser/shared/components/heading.mjs +2 -1
- package/browser/shared/components/index.mjs +12 -3
- package/browser/shared/components/installed.mjs +35 -3
- package/browser/shared/components/page.mjs +20 -8
- package/browser/shared/components/paragraph.mjs +8 -1
- package/browser/shared/components/state.mjs +5 -1
- package/browser/shared/components/table.mjs +1 -0
- package/browser/shared/document-look.mjs +10 -5
- package/browser/shared/drafts.mjs +432 -0
- package/browser/shared/emoji/line-icons.mjs +37 -0
- package/browser/shared/extension-sidebar.mjs +126 -0
- package/browser/shared/extensions.mjs +79 -0
- package/browser/shared/file-table.mjs +101 -0
- package/browser/shared/http.mjs +9 -0
- package/browser/shared/i18n/en.mjs +330 -27
- package/browser/shared/json-layout.mjs +47 -0
- package/browser/shared/net-cache.mjs +133 -0
- package/browser/shared/net-keys.mjs +32 -0
- package/browser/shared/net-policy.mjs +177 -0
- package/browser/shared/outline-shape.mjs +128 -0
- package/browser/shared/outline.mjs +359 -67
- package/browser/shared/pack-manifest.mjs +88 -0
- package/browser/shared/page-address.mjs +6 -3
- package/browser/shared/page-cards.mjs +308 -0
- package/browser/shared/page-links.mjs +69 -6
- package/browser/shared/pages.mjs +500 -0
- package/browser/shared/paths.mjs +6 -0
- package/browser/shared/pinyin.mjs +92 -0
- package/browser/shared/present-step.mjs +17 -0
- package/browser/shared/preview-server.mjs +3 -7
- package/browser/shared/session.mjs +8 -1
- package/browser/shared/shipped-blocks.mjs +299 -0
- package/browser/shared/sidebar-head.mjs +70 -0
- package/browser/shared/table-chart.mjs +33 -1
- package/browser/shared/todos.mjs +83 -0
- package/browser/shared/user-directory.mjs +24 -0
- package/browser/shared/versions.mjs +14 -0
- package/browser/shared/web-links.mjs +139 -0
- package/browser/shared/workspace-columns.mjs +120 -0
- package/browser/shared/workspace-name.mjs +154 -0
- package/browser/shared/workspace-query.mjs +125 -0
- package/browser/shared/workspace-registry.mjs +272 -0
- package/browser/shared/workspace.mjs +171 -20
- package/dist/chunk-2OHANJ6Q.mjs +2 -0
- package/dist/chunk-3MBRL2PM.mjs +16 -0
- package/dist/chunk-4OKWZY5E.mjs +2 -0
- package/dist/chunk-4OZWXZE5.mjs +5 -0
- package/dist/chunk-5K44HLTZ.mjs +2 -0
- package/dist/{chunk-5ZKJ3H4P.mjs → chunk-5XA2ZBAE.mjs} +3 -3
- package/dist/{chunk-4FS7Z7WR.mjs → chunk-67N2QJYT.mjs} +1 -1
- package/dist/chunk-6KBYRA2C.mjs +2 -0
- package/dist/chunk-6N3PX4XX.mjs +8 -0
- package/dist/{chunk-V5JTW2LH.mjs → chunk-6QBHU4DF.mjs} +1 -1
- package/dist/chunk-7JDX4E65.mjs +13 -0
- package/dist/chunk-7M2BQQGZ.mjs +2 -0
- package/dist/chunk-7OG26PGF.mjs +2 -0
- package/dist/chunk-AHN3NFKJ.mjs +3 -0
- package/dist/chunk-ALZ6ZENZ.mjs +3 -0
- package/dist/chunk-AR5D57ZD.mjs +170 -0
- package/dist/{chunk-W3BGBJQW.mjs → chunk-BFJGHSQN.mjs} +1 -1
- package/dist/{chunk-LS4F7JUM.mjs → chunk-BZ5RAF7L.mjs} +1 -1
- package/dist/chunk-CMA72MAG.mjs +2 -0
- package/dist/{chunk-LCTHTZIL.mjs → chunk-DAZL73VK.mjs} +91 -91
- package/dist/{chunk-Y6RLRPG3.mjs → chunk-DJISHPUL.mjs} +1 -1
- package/dist/chunk-DR73Y2UJ.mjs +3 -0
- package/dist/{chunk-FDLXYYG4.mjs → chunk-EAIFITAV.mjs} +1 -1
- package/dist/{chunk-TMYZB6AV.mjs → chunk-EKNHM3P4.mjs} +1 -1
- package/dist/chunk-EP25HDAJ.mjs +2 -0
- package/dist/{chunk-GB5SOYQJ.mjs → chunk-ERLAIBOA.mjs} +2 -2
- package/dist/chunk-EURLTOTZ.mjs +4 -0
- package/dist/chunk-F4ZA6JRZ.mjs +3 -0
- package/dist/chunk-F6HVDZR4.mjs +2 -0
- package/dist/chunk-FDMAXMQA.mjs +2 -0
- package/dist/chunk-FETSREUN.mjs +5 -0
- package/dist/chunk-GHOYKMQ3.mjs +4 -0
- package/dist/{chunk-2B5E4CDJ.mjs → chunk-GPIWQ4X4.mjs} +1 -1
- package/dist/chunk-HDWTZ763.mjs +12 -0
- package/dist/chunk-HPOI4ZX7.mjs +6 -0
- package/dist/{chunk-BGGDRNYQ.mjs → chunk-HXG7EOPJ.mjs} +1 -1
- package/dist/chunk-IA4PSIMD.mjs +2 -0
- package/dist/{chunk-E7LWZRXY.mjs → chunk-ITOH5EGO.mjs} +1 -1
- package/dist/chunk-IV64FFI4.mjs +2 -0
- package/dist/chunk-J43Z6LSS.mjs +2 -0
- package/dist/chunk-J5PUIV3Y.mjs +4 -0
- package/dist/chunk-JA7G53PC.mjs +2 -0
- package/dist/chunk-JEUK3ZO7.mjs +2 -0
- package/dist/chunk-JLTZF4LA.mjs +2 -0
- package/dist/chunk-JZT7I2OJ.mjs +2 -0
- package/dist/chunk-K5XATEOO.mjs +2 -0
- package/dist/chunk-L2SUIS5S.mjs +2 -0
- package/dist/chunk-L7UP52JO.mjs +2 -0
- package/dist/chunk-LM4XFQHZ.mjs +2 -0
- package/dist/chunk-MN7BZL4R.mjs +2 -0
- package/dist/chunk-MTYYHM2G.mjs +15 -0
- package/dist/chunk-MXUBKDRO.mjs +15 -0
- package/dist/chunk-NAMN3RAF.mjs +2 -0
- package/dist/{chunk-SYGN7GLU.mjs → chunk-OEXWRJME.mjs} +1 -1
- package/dist/chunk-OFHXGWOX.mjs +2 -0
- package/dist/chunk-ORID3AE7.mjs +166 -0
- package/dist/chunk-PAREWQGB.mjs +4 -0
- package/dist/chunk-PGDE24N5.mjs +2 -0
- package/dist/chunk-POTA2FV4.mjs +2 -0
- package/dist/chunk-PUOQ65NC.mjs +2 -0
- package/dist/chunk-Q4UEPUWF.mjs +2 -0
- package/dist/chunk-QE5RG76S.mjs +549 -0
- package/dist/chunk-R2ZDLJYT.mjs +10 -0
- package/dist/{chunk-7DTINW6U.mjs → chunk-SQ6Y2ZMA.mjs} +2 -2
- package/dist/chunk-SWUTTZCN.mjs +2 -0
- package/dist/chunk-TANZRINB.mjs +2 -0
- package/dist/chunk-TR7TWGHB.mjs +2 -0
- package/dist/chunk-U5XL7D6A.mjs +3 -0
- package/dist/{chunk-XNROSH2T.mjs → chunk-U7NZI6N4.mjs} +2 -2
- package/dist/chunk-UGWMMEJ5.mjs +15 -0
- package/dist/chunk-UJQJKNGK.mjs +2 -0
- package/dist/chunk-UYVCQK3H.mjs +22 -0
- package/dist/chunk-VFX2KNHP.mjs +4 -0
- package/dist/chunk-VS7JIGJW.mjs +24 -0
- package/dist/chunk-W7665ZEC.mjs +6 -0
- package/dist/chunk-WQDQWCX5.mjs +2 -0
- package/dist/chunk-YI43RG4P.mjs +2 -0
- package/dist/chunk-YLPSMDIS.mjs +5 -0
- package/dist/chunk-YNAWBAYN.mjs +3 -0
- package/dist/chunk-YROX2O22.mjs +2 -0
- package/dist/chunk-ZDLPUOAG.mjs +6 -0
- package/dist/{chunk-IVDLMMBD.mjs → chunk-ZHEHPMBK.mjs} +1 -1
- package/dist/chunk-ZQS6H473.mjs +16 -0
- package/dist/chunk-ZTHICSSF.mjs +2 -0
- package/dist/chunk-ZWWC4KLF.mjs +20 -0
- package/dist/cli.mjs +1 -1
- package/dist/server.mjs +1 -1
- package/dist/{chunk-U6KNPJPR.mjs → update-fetch.mjs} +1 -1
- package/dist/worker.mjs +1 -1
- package/kit/board.css +95 -0
- package/kit/board.js +250 -0
- package/kit/charts.js +5 -71
- package/kit/code.js +17 -17
- package/kit/report.css +335 -18
- package/kit/runtime.js +1638 -125
- package/kit/state.js +10 -1
- package/kit/tables.js +130 -43
- package/kit/ui.js +79 -35
- package/package.json +2 -1
- package/packs/gallery/card/component.json +14 -0
- package/packs/gallery/card/example.html +10 -0
- package/packs/gallery/card/preview.svg +1 -0
- package/packs/gallery/card/style.css +6 -0
- package/packs/gallery/card/template.html +6 -0
- package/packs/gallery/card/writing.md +14 -0
- package/packs/gallery/chart-card/component.json +15 -0
- package/packs/gallery/chart-card/example.html +14 -0
- package/packs/gallery/chart-card/kit.js +130 -0
- package/packs/gallery/chart-card/preview.svg +1 -0
- package/packs/gallery/chart-card/style.css +42 -0
- package/packs/gallery/chart-card/template.html +13 -0
- package/packs/gallery/chart-card/writing.md +20 -0
- package/packs/gallery/chart-view/component.json +20 -0
- package/packs/gallery/chart-view/example.html +13 -0
- package/packs/gallery/chart-view/kit.js +355 -0
- package/packs/gallery/chart-view/preview.svg +1 -0
- package/packs/gallery/chart-view/style.css +94 -0
- package/packs/gallery/chart-view/template.html +3 -0
- package/packs/gallery/chart-view/writing.md +22 -0
- package/packs/gallery/countdown/component.json +18 -0
- package/packs/gallery/countdown/example.html +3 -0
- package/packs/gallery/countdown/kit.js +216 -0
- package/packs/gallery/countdown/preview.svg +1 -0
- package/packs/gallery/countdown/style.css +118 -0
- package/packs/gallery/countdown/template.html +3 -0
- package/packs/gallery/countdown/writing.md +22 -0
- package/packs/gallery/habit/component.json +14 -0
- package/packs/gallery/habit/example.html +3 -0
- package/packs/gallery/habit/kit.js +334 -0
- package/packs/gallery/habit/preview.svg +1 -0
- package/packs/gallery/habit/style.css +174 -0
- package/packs/gallery/habit/template.html +3 -0
- package/packs/gallery/habit/writing.md +21 -0
- package/packs/gallery/heatmap/component.json +18 -0
- package/packs/gallery/heatmap/example.html +3 -0
- package/packs/gallery/heatmap/kit.js +513 -0
- package/packs/gallery/heatmap/preview.svg +1 -0
- package/packs/gallery/heatmap/style.css +189 -0
- package/packs/gallery/heatmap/template.html +3 -0
- package/packs/gallery/heatmap/writing.md +21 -0
- package/packs/gallery/kanban/component.json +18 -0
- package/packs/gallery/kanban/example.html +12 -0
- package/packs/gallery/kanban/kit.js +540 -0
- package/packs/gallery/kanban/preview.svg +1 -0
- package/packs/gallery/kanban/style.css +212 -0
- package/packs/gallery/kanban/template.html +3 -0
- package/packs/gallery/kanban/writing.md +20 -0
- package/packs/gallery/metric/component.json +22 -0
- package/packs/gallery/metric/example.html +15 -0
- package/packs/gallery/metric/kit.js +248 -0
- package/packs/gallery/metric/preview.svg +1 -0
- package/packs/gallery/metric/style.css +92 -0
- package/packs/gallery/metric/template.html +3 -0
- package/packs/gallery/metric/writing.md +23 -0
- package/packs/gallery/note/component.json +14 -0
- package/packs/gallery/note/example.html +3 -0
- package/packs/gallery/note/kit.js +129 -0
- package/packs/gallery/note/preview.svg +1 -0
- package/packs/gallery/note/style.css +97 -0
- package/packs/gallery/note/template.html +3 -0
- package/packs/gallery/note/writing.md +18 -0
- package/packs/gallery/pack.json +8 -0
- package/packs/gallery/recent/component.json +13 -0
- package/packs/gallery/recent/example.html +1 -0
- package/packs/gallery/recent/kit.js +293 -0
- package/packs/gallery/recent/preview.svg +1 -0
- package/packs/gallery/recent/style.css +85 -0
- package/packs/gallery/recent/template.html +1 -0
- package/packs/gallery/recent/writing.md +15 -0
- package/packs/gallery/static/component.json +13 -0
- package/packs/gallery/static/example.html +11 -0
- package/packs/gallery/static/preview.svg +1 -0
- package/packs/gallery/static/style.css +171 -0
- package/packs/gallery/static/template.html +1 -0
- package/packs/gallery/static/writing.md +18 -0
- package/packs/gallery/stats/component.json +13 -0
- package/packs/gallery/stats/example.html +1 -0
- package/packs/gallery/stats/kit.js +347 -0
- package/packs/gallery/stats/preview.svg +1 -0
- package/packs/gallery/stats/style.css +73 -0
- package/packs/gallery/stats/template.html +1 -0
- package/packs/gallery/stats/writing.md +11 -0
- package/packs/gallery/today/component.json +12 -0
- package/packs/gallery/today/example.html +1 -0
- package/packs/gallery/today/kit.js +220 -0
- package/packs/gallery/today/preview.svg +1 -0
- package/packs/gallery/today/style.css +149 -0
- package/packs/gallery/today/template.html +1 -0
- package/packs/gallery/today/writing.md +14 -0
- package/packs/gallery/todos/component.json +19 -0
- package/packs/gallery/todos/example.html +3 -0
- package/packs/gallery/todos/kit.js +489 -0
- package/packs/gallery/todos/preview.svg +1 -0
- package/packs/gallery/todos/style.css +214 -0
- package/packs/gallery/todos/template.html +3 -0
- package/packs/gallery/todos/writing.md +30 -0
- package/packs/gallery/weather/component.json +19 -0
- package/packs/gallery/weather/example.html +3 -0
- package/packs/gallery/weather/kit.js +387 -0
- package/packs/gallery/weather/preview.svg +1 -0
- package/packs/gallery/weather/style.css +140 -0
- package/packs/gallery/weather/template.html +3 -0
- package/packs/gallery/weather/writing.md +26 -0
- package/packs/gallery-soft/countdown/component.json +18 -0
- package/packs/gallery-soft/countdown/example.html +3 -0
- package/packs/gallery-soft/countdown/kit.js +206 -0
- package/packs/gallery-soft/countdown/preview.svg +1 -0
- package/packs/gallery-soft/countdown/style.css +211 -0
- package/packs/gallery-soft/countdown/template.html +3 -0
- package/packs/gallery-soft/countdown/writing.md +24 -0
- package/packs/gallery-soft/habit/component.json +14 -0
- package/packs/gallery-soft/habit/example.html +3 -0
- package/packs/gallery-soft/habit/kit.js +366 -0
- package/packs/gallery-soft/habit/preview.svg +1 -0
- package/packs/gallery-soft/habit/style.css +251 -0
- package/packs/gallery-soft/habit/template.html +3 -0
- package/packs/gallery-soft/habit/writing.md +23 -0
- package/packs/gallery-soft/heatmap/component.json +18 -0
- package/packs/gallery-soft/heatmap/example.html +3 -0
- package/packs/gallery-soft/heatmap/kit.js +498 -0
- package/packs/gallery-soft/heatmap/preview.svg +1 -0
- package/packs/gallery-soft/heatmap/style.css +181 -0
- package/packs/gallery-soft/heatmap/template.html +3 -0
- package/packs/gallery-soft/heatmap/writing.md +23 -0
- package/packs/gallery-soft/note/component.json +14 -0
- package/packs/gallery-soft/note/example.html +3 -0
- package/packs/gallery-soft/note/kit.js +162 -0
- package/packs/gallery-soft/note/preview.svg +1 -0
- package/packs/gallery-soft/note/style.css +148 -0
- package/packs/gallery-soft/note/template.html +3 -0
- package/packs/gallery-soft/note/writing.md +20 -0
- package/packs/gallery-soft/pack.json +8 -0
- package/packs/gallery-soft/recent/component.json +13 -0
- package/packs/gallery-soft/recent/example.html +1 -0
- package/packs/gallery-soft/recent/kit.js +335 -0
- package/packs/gallery-soft/recent/preview.svg +1 -0
- package/packs/gallery-soft/recent/style.css +160 -0
- package/packs/gallery-soft/recent/template.html +1 -0
- package/packs/gallery-soft/recent/writing.md +17 -0
- package/packs/gallery-soft/static/component.json +13 -0
- package/packs/gallery-soft/static/example.html +12 -0
- package/packs/gallery-soft/static/preview.svg +1 -0
- package/packs/gallery-soft/static/style.css +186 -0
- package/packs/gallery-soft/static/template.html +1 -0
- package/packs/gallery-soft/static/writing.md +20 -0
- package/packs/gallery-soft/stats/component.json +13 -0
- package/packs/gallery-soft/stats/example.html +1 -0
- package/packs/gallery-soft/stats/kit.js +341 -0
- package/packs/gallery-soft/stats/preview.svg +1 -0
- package/packs/gallery-soft/stats/style.css +119 -0
- package/packs/gallery-soft/stats/template.html +1 -0
- package/packs/gallery-soft/stats/writing.md +13 -0
- package/packs/gallery-soft/today/component.json +12 -0
- package/packs/gallery-soft/today/example.html +1 -0
- package/packs/gallery-soft/today/kit.js +222 -0
- package/packs/gallery-soft/today/preview.svg +1 -0
- package/packs/gallery-soft/today/style.css +178 -0
- package/packs/gallery-soft/today/template.html +1 -0
- package/packs/gallery-soft/today/writing.md +16 -0
- package/packs/gallery-soft/todos/component.json +19 -0
- package/packs/gallery-soft/todos/example.html +3 -0
- package/packs/gallery-soft/todos/kit.js +527 -0
- package/packs/gallery-soft/todos/preview.svg +1 -0
- package/packs/gallery-soft/todos/style.css +212 -0
- package/packs/gallery-soft/todos/template.html +3 -0
- package/packs/gallery-soft/todos/writing.md +32 -0
- package/packs/gallery-soft/weather/component.json +19 -0
- package/packs/gallery-soft/weather/example.html +3 -0
- package/packs/gallery-soft/weather/kit.js +411 -0
- package/packs/gallery-soft/weather/preview.svg +1 -0
- package/packs/gallery-soft/weather/style.css +185 -0
- package/packs/gallery-soft/weather/template.html +3 -0
- package/packs/gallery-soft/weather/writing.md +28 -0
- package/release.json +12 -10
- package/sdk/doc-kit.d.ts +396 -5
- package/sdk/doc-state.d.ts +2 -0
- package/skill/SKILL.md +56 -23
- package/skill/references/block-script.md +140 -0
- package/skill/references/building-blocks.md +257 -0
- package/skill/references/extensions.md +59 -0
- package/skill/references/pages-and-data.md +225 -0
- package/skill/references/writing-html.md +8 -4
- package/skill/sdk/doc-kit.d.ts +396 -5
- package/skill/sdk/doc-state.d.ts +2 -0
- package/web/assets/index-BM_K-Auu.css +1 -0
- package/web/assets/index-DRslOBiv.js +15 -0
- package/web/index.html +2 -2
- package/dist/chunk-3HIRPVLU.mjs +0 -2
- package/dist/chunk-5MHMDLZD.mjs +0 -4
- package/dist/chunk-64K7IPLO.mjs +0 -255
- package/dist/chunk-6QXGZM36.mjs +0 -8
- package/dist/chunk-6RGJOMJP.mjs +0 -16
- package/dist/chunk-AJ73XJF3.mjs +0 -2
- package/dist/chunk-AUZGSZJH.mjs +0 -13
- package/dist/chunk-BFE45AKL.mjs +0 -2
- package/dist/chunk-BXO2ZY5P.mjs +0 -2
- package/dist/chunk-CEH4MRCC.mjs +0 -2
- package/dist/chunk-CY2FNNAB.mjs +0 -16
- package/dist/chunk-DFUDV4LX.mjs +0 -2
- package/dist/chunk-DKXG4XDG.mjs +0 -2
- package/dist/chunk-EZQ34M3F.mjs +0 -124
- package/dist/chunk-EZY3WC6Z.mjs +0 -15
- package/dist/chunk-FUKQNOQS.mjs +0 -9
- package/dist/chunk-JPOSLGOC.mjs +0 -6
- package/dist/chunk-JVHHHGEA.mjs +0 -3
- package/dist/chunk-L3QKH4OK.mjs +0 -26
- package/dist/chunk-LAE5NQ4B.mjs +0 -2
- package/dist/chunk-LEF6DRCK.mjs +0 -59
- package/dist/chunk-NO5NJCHO.mjs +0 -2
- package/dist/chunk-NQPVAU63.mjs +0 -2
- package/dist/chunk-NSKUTQ5J.mjs +0 -5
- package/dist/chunk-O35FIXRB.mjs +0 -2
- package/dist/chunk-P2CAZPDP.mjs +0 -3
- package/dist/chunk-PL6GHLGD.mjs +0 -15
- package/dist/chunk-QJIR2BLP.mjs +0 -6
- package/dist/chunk-QUPLVPB2.mjs +0 -7
- package/dist/chunk-R7BNENLY.mjs +0 -4
- package/dist/chunk-S6O4UHLC.mjs +0 -2
- package/dist/chunk-SGJWQKEI.mjs +0 -2
- package/dist/chunk-TX6JH7TR.mjs +0 -2
- package/dist/chunk-TYK6VNAB.mjs +0 -10
- package/dist/chunk-UALRNVSE.mjs +0 -4
- package/dist/chunk-V3HXVQEM.mjs +0 -2
- package/dist/chunk-V5VXUJKG.mjs +0 -2
- package/dist/chunk-VBXMADMP.mjs +0 -2
- package/dist/chunk-VNV55RUA.mjs +0 -2
- package/dist/chunk-VPD2PS35.mjs +0 -2
- package/dist/chunk-W4VKN3GF.mjs +0 -7
- package/dist/chunk-W5BXXPDJ.mjs +0 -3
- package/dist/chunk-XUNHRCOG.mjs +0 -6
- package/skill/references/building-components.md +0 -367
- package/web/assets/index-Bh74DfsV.css +0 -1
- package/web/assets/index-UW0RyFFt.js +0 -13
package/kit/report.css
CHANGED
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
|
|
19
19
|
:root {
|
|
20
20
|
color-scheme: light dark;
|
|
21
|
-
/* The page: #
|
|
21
|
+
/* The page: #2d2d2d on white in light, #262626 where the platform is Apple's (below), its own pair in dark; the lines below are the text at a strength. */
|
|
22
22
|
--doc-bg: light-dark(#ffffff, #181818);
|
|
23
23
|
--doc-surface: light-dark(#ffffff, #202020);
|
|
24
|
-
--doc-text: light-dark(#
|
|
24
|
+
--doc-text: light-dark(#2d2d2d, #f3f3f3); /* the text: #2d2d2d, and #262626 on an Apple platform (the user's of 2026-11-08, below) */
|
|
25
25
|
--doc-muted: light-dark(#6e6e73, #a1a1a6);
|
|
26
26
|
--doc-border: light-dark(rgb(44 44 43 / 12%), rgb(243 243 243 / 13%));
|
|
27
27
|
--doc-grid: light-dark(rgb(44 44 43 / 8%), rgb(243 243 243 / 8%));
|
|
@@ -131,6 +131,8 @@
|
|
|
131
131
|
palette's gray, opaque. The frame lies over the table's body, whose fill is the page's, where the
|
|
132
132
|
veil comes out the gray of a block around it. */
|
|
133
133
|
--doc-table-frame-filled: light-dark(#e6e5e3, #545450);
|
|
134
|
+
/* The hairline as it lies on the page, opaque: the right edge of a frame that scrolls sideways (table.css), under which the columns past it must not show through the dark veil. */
|
|
135
|
+
--doc-hairline-solid: light-dark(#e6e5e3, #383836);
|
|
134
136
|
/* A flowchart's arrows and the circle behind a step's number (flowchart.css): neutral greys. */
|
|
135
137
|
--doc-flow-line: light-dark(rgb(55 53 47 / 38%), rgb(255 255 255 / 34%));
|
|
136
138
|
--doc-flow-badge: light-dark(rgb(55 53 47 / 8%), rgb(255 255 255 / 10%));
|
|
@@ -175,6 +177,75 @@
|
|
|
175
177
|
--doc-diff-removed-strip: light-dark(rgb(248 81 73 / 55%), rgb(248 81 73 / 55%));
|
|
176
178
|
--doc-chart-axis-font-size: 13px;
|
|
177
179
|
--doc-table-fill: var(--doc-bg);
|
|
180
|
+
/* Cards (docs/render.md, Design defaults, "Cards"): a custom page's ground and the board's frame around each card
|
|
181
|
+
(board.css), and the language Gallery's own blocks draw their faces in (the pack 「Gallery 风格」, the
|
|
182
|
+
design B of 2026-11-09: notes/plans/block-packs-plan-2026-11-09.md), which an Agent's block uses too
|
|
183
|
+
(references/pages-and-data.md). A quiet, type-led look: each card one hero (a big number, a field of
|
|
184
|
+
squares, a list), its head saying only whose it is, the rest small and gray. One accent, a Notion blue,
|
|
185
|
+
on the data and on today alone; a warm orange for the sun and a flame; green only for a thing done.
|
|
186
|
+
White cards on the page's own white, set off by a hairline ring and a soft shadow; dark its own pair of
|
|
187
|
+
surfaces (a card a step lighter than the ground), never the light one inverted. */
|
|
188
|
+
--gallery-page-fill: light-dark(#ffffff, #191919);
|
|
189
|
+
--gallery-card-fill: light-dark(#ffffff, #202020);
|
|
190
|
+
--gallery-card-line: light-dark(rgb(15 15 15 / 7%), rgb(255 255 255 / 7.5%));
|
|
191
|
+
--gallery-card-radius: 12px;
|
|
192
|
+
--gallery-card-pad: 16px;
|
|
193
|
+
/* The ring (the card's line, drawn outside it so that it takes nothing of its cells), a close shadow and a soft
|
|
194
|
+
one under it, deeper in dark: each a color of light-dark(), as a shadow's offsets cannot be. */
|
|
195
|
+
--gallery-card-shadow: 0 0 0 1px var(--gallery-card-line), 0 1px 2px light-dark(rgb(15 15 15 / 3.5%), rgb(0 0 0 / 25%)), 0 4px 14px -6px light-dark(rgb(15 15 15 / 7%), transparent), 0 6px 16px -8px light-dark(transparent, rgb(0 0 0 / 50%));
|
|
196
|
+
/* Its ink, five steps: the big numbers and a greeting (strong), the words (text), a label or a unit
|
|
197
|
+
(muted), a caption or a head's quiet meta (faint), and the faintest, a separator or a day to come. */
|
|
198
|
+
--gallery-text-strong: light-dark(#1d1d1b, #f3f3f1);
|
|
199
|
+
--gallery-text: light-dark(#37352f, rgb(255 255 255 / 86%));
|
|
200
|
+
--gallery-muted: light-dark(#7a7975, rgb(255 255 255 / 55%));
|
|
201
|
+
--gallery-faint: light-dark(#a6a5a1, rgb(255 255 255 / 36%));
|
|
202
|
+
--gallery-faintest: light-dark(#d4d3cf, rgb(255 255 255 / 17%));
|
|
203
|
+
/* A line between rows, a soft gray fill (a chip, an empty day), the track a bar or a ring stands on,
|
|
204
|
+
and a row under the pointer. */
|
|
205
|
+
--gallery-hair: light-dark(rgb(55 53 47 / 9%), rgb(255 255 255 / 8%));
|
|
206
|
+
--gallery-fill: light-dark(rgb(55 53 47 / 5.5%), rgb(255 255 255 / 6%));
|
|
207
|
+
--gallery-track: light-dark(rgb(55 53 47 / 10%), rgb(255 255 255 / 10%));
|
|
208
|
+
--gallery-hover: light-dark(rgb(55 53 47 / 6%), rgb(255 255 255 / 5.5%));
|
|
209
|
+
--gallery-neutral-soft: var(--gallery-fill);
|
|
210
|
+
/* The accent: its fill (today, a bar, a day done), its ink (words in it), a pale fill behind a primary
|
|
211
|
+
button's words, a middle shade (the days before today's in a week's bars, the Agent's share) and a wash
|
|
212
|
+
(a field's focus). */
|
|
213
|
+
--gallery-accent: light-dark(#4084cf, #508fd6);
|
|
214
|
+
--gallery-accent-ink: light-dark(#336db0, #8bb8e9);
|
|
215
|
+
--gallery-accent-soft: light-dark(#ebf2fa, rgb(80 143 214 / 17%));
|
|
216
|
+
--gallery-accent-mid: light-dark(#b0cbeb, #395f8d);
|
|
217
|
+
--gallery-accent-wash: light-dark(rgb(64 132 207 / 11%), rgb(80 143 214 / 18%));
|
|
218
|
+
--gallery-good: light-dark(#2f9e68, #3db37a);
|
|
219
|
+
--gallery-good-ink: light-dark(#217a4e, #74d4a3);
|
|
220
|
+
--gallery-good-soft: light-dark(#e6f4ec, rgb(61 179 122 / 16%));
|
|
221
|
+
--gallery-bad: light-dark(#c8473d, #f07d72);
|
|
222
|
+
--gallery-bad-soft: light-dark(rgb(200 71 61 / 9%), rgb(240 125 114 / 14%));
|
|
223
|
+
/* The warm one: the sun's chip by day, a streak's flame, a stale weather's sign. */
|
|
224
|
+
--gallery-warm: light-dark(#e08a12, #f2ae45);
|
|
225
|
+
--gallery-warm-soft: light-dark(#fdf1dd, rgb(242 174 69 / 15%));
|
|
226
|
+
/* A card's head: its icon in a small gray rounded square (the chip; warm or blue for the sun, a flame, the
|
|
227
|
+
moon), its title, a quiet meta text; 8px apart, the row 20px high. */
|
|
228
|
+
/* The cards' own type: Segoe UI on Windows, PingFang SC on a Mac, Microsoft YaHei for the Chinese Segoe UI
|
|
229
|
+
has not; as the system draws them (not the document's metrics-tuned alias, --doc-font's Doc Segoe). */
|
|
230
|
+
--gallery-font: "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif, "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji";
|
|
231
|
+
--gallery-chip-size: 20px;
|
|
232
|
+
--gallery-chip-radius: 6px;
|
|
233
|
+
--gallery-chip-icon: 13px;
|
|
234
|
+
--gallery-title-size: 13px;
|
|
235
|
+
--gallery-title-line: 20px;
|
|
236
|
+
--gallery-meta-size: 12px;
|
|
237
|
+
/* The rows of a card's face stand this far apart. */
|
|
238
|
+
--gallery-face-gap: 8px;
|
|
239
|
+
/* A big number: its weight and tracking, figures of one height; its unit a 13px muted word 3px after it
|
|
240
|
+
(--gallery-unit-size, a share of the number, is what a document's metric takes). Two sizes: the hero,
|
|
241
|
+
a card's one main number, and the figure, a number among others. */
|
|
242
|
+
--gallery-numeral-weight: 600;
|
|
243
|
+
--gallery-numeral-tracking: -.025em;
|
|
244
|
+
--gallery-unit-size: .4em;
|
|
245
|
+
--gallery-unit-gap: .3em;
|
|
246
|
+
--gallery-unit: 13px;
|
|
247
|
+
--gallery-hero-size: 44px;
|
|
248
|
+
--gallery-figure-size: 28px;
|
|
178
249
|
}
|
|
179
250
|
|
|
180
251
|
:root[data-doc-theme="light"] { color-scheme: light; }
|
|
@@ -200,6 +271,10 @@
|
|
|
200
271
|
:root[data-doc-size="small"][data-doc-spacing="loose"] { --doc-body-line-height: 26px; --doc-small-line-height: 18px; --doc-note-line-height: 20px; --doc-title-line-height: 35px; --doc-h1-line-height: 35px; --doc-h2-line-height: 31px; --doc-h3-line-height: 28px; --doc-h4-line-height: 24px; --doc-card-title-line-height: 25px; --doc-table-line-height: 20px; }
|
|
201
272
|
:root[data-doc-size="large"][data-doc-spacing="compact"] { --doc-body-line-height: 27px; --doc-small-line-height: 20px; --doc-note-line-height: 21px; --doc-title-line-height: 39px; --doc-h1-line-height: 38px; --doc-h2-line-height: 33px; --doc-h3-line-height: 30px; --doc-h4-line-height: 25px; --doc-card-title-line-height: 26px; --doc-table-line-height: 22px; }
|
|
202
273
|
:root[data-doc-size="large"][data-doc-spacing="loose"] { --doc-body-line-height: 32px; --doc-small-line-height: 22px; --doc-note-line-height: 24px; --doc-title-line-height: 43px; --doc-h1-line-height: 43px; --doc-h2-line-height: 37px; --doc-h3-line-height: 34px; --doc-h4-line-height: 29px; --doc-card-title-line-height: 29px; --doc-table-line-height: 24px; }
|
|
274
|
+
|
|
275
|
+
/* The text on an Apple platform (macOS, iOS, iPadOS: runtime/index.js sets data-doc-platform when the page opens, so an exported file
|
|
276
|
+
judges on its reader's machine): a shade darker, as its type is drawn thinner there; base.css smooths it. Dark is the same. */
|
|
277
|
+
:root[data-doc-platform="mac"] { --doc-text: light-dark(#262626, #f3f3f3); }
|
|
203
278
|
/* 衬线体: the kit's own controls (the display menu, a code block's language, a diff's counts) keep the
|
|
204
279
|
sans, --doc-font itself given it back on them, for what in them names --doc-font again (the display
|
|
205
280
|
menu's card, controls.css) takes it there. 混合体: the title and every heading in the serif, of no
|
|
@@ -247,11 +322,14 @@ body {
|
|
|
247
322
|
font-size: var(--doc-body-font-size);
|
|
248
323
|
line-height: var(--doc-body-line-height);
|
|
249
324
|
}
|
|
325
|
+
/* On an Apple platform (runtime/index.js) the type is smoothed as the system's own apps' is; the workbench's frame has it, a document in its iframe does not inherit it. */
|
|
326
|
+
:root[data-doc-platform="mac"] body { -webkit-font-smoothing: antialiased; }
|
|
250
327
|
|
|
251
328
|
/* Hold the first paint until ui.js marks the page ready: by then the reader's theme and width
|
|
252
329
|
are applied and the report's scripts have set up Sheets, charts, tables and formulas, so the
|
|
253
|
-
page never flashes an intermediate state. If that never happens, reveal it anyway.
|
|
254
|
-
|
|
330
|
+
page never flashes an intermediate state. If that never happens, reveal it anyway. A custom page
|
|
331
|
+
(main.gallery-page) is held the same way, until its board has placed its cards (board/). */
|
|
332
|
+
:root:not([data-doc-ready]) body:has(> :is(.doc-page, .gallery-page)) {
|
|
255
333
|
visibility: hidden;
|
|
256
334
|
animation: doc-reveal 0s linear 1.2s forwards;
|
|
257
335
|
}
|
|
@@ -364,6 +442,84 @@ span:is(.doc-highlight-gray, .doc-highlight-brown, .doc-highlight-orange, .doc-h
|
|
|
364
442
|
.doc-kit-error { display: none; }
|
|
365
443
|
}
|
|
366
444
|
|
|
445
|
+
/* A block online that waits for the reader's consent (the kit's runtime, net.js): a line and a button
|
|
446
|
+
after it in a document, over its card on a custom page (the card is the board's, position: relative),
|
|
447
|
+
its fill the card's so that what the block drew underneath does not show through. Never in a file,
|
|
448
|
+
an export or on paper (data-doc-dev). */
|
|
449
|
+
.doc-net-consent {
|
|
450
|
+
display: flex;
|
|
451
|
+
flex-wrap: wrap;
|
|
452
|
+
align-items: center;
|
|
453
|
+
gap: 8px 12px;
|
|
454
|
+
margin: 8px 0;
|
|
455
|
+
padding: 8px 12px;
|
|
456
|
+
border-radius: 6px;
|
|
457
|
+
color: var(--doc-muted);
|
|
458
|
+
background: var(--doc-surface);
|
|
459
|
+
font: 13px/1.5 var(--doc-font);
|
|
460
|
+
}
|
|
461
|
+
/* 允许 is the card's one action: a button with no line, the pale blue fill of a primary (the editor's look.mjs
|
|
462
|
+
BUTTONS and the workbench's, from the document's own accent), a deeper one under the pointer and pressed. */
|
|
463
|
+
.doc-net-consent-allow {
|
|
464
|
+
padding: 4px 10px;
|
|
465
|
+
border: 0;
|
|
466
|
+
border-radius: 6px;
|
|
467
|
+
color: color-mix(in srgb, var(--doc-accent) 80%, var(--doc-text));
|
|
468
|
+
background: color-mix(in srgb, var(--doc-accent) 14%, transparent);
|
|
469
|
+
font: inherit;
|
|
470
|
+
font-weight: 500;
|
|
471
|
+
cursor: pointer;
|
|
472
|
+
overflow-wrap: anywhere;
|
|
473
|
+
transition: background-color 20ms ease-in;
|
|
474
|
+
}
|
|
475
|
+
.doc-net-consent-allow:is(:hover, :focus-visible) { outline: none; background: color-mix(in srgb, var(--doc-accent) 22%, transparent); }
|
|
476
|
+
.doc-net-consent-allow:active { background: color-mix(in srgb, var(--doc-accent) 30%, transparent); }
|
|
477
|
+
/* The why's words, and the button's: in a document the why and 允许访问 <host>; on a card the from line and the short words too. */
|
|
478
|
+
.doc-net-consent-words { display: contents; }
|
|
479
|
+
.doc-net-consent-from, .doc-net-consent-short { display: none; }
|
|
480
|
+
/* On a card of a custom page (the pack Gallery 风格's banner, design B): over the card under its head row, on
|
|
481
|
+
the card's fill, so that the card still says whose it is: the why (13.5px, 600) over whose the data is
|
|
482
|
+
(faint) at the left, 允许访问 at the right, a pale primary with no line; the hosts in its title. */
|
|
483
|
+
.gallery-card > .doc-net-consent {
|
|
484
|
+
position: absolute;
|
|
485
|
+
inset: calc(var(--gallery-card-pad, 16px) + 20px) 0 0;
|
|
486
|
+
z-index: 1;
|
|
487
|
+
flex-wrap: nowrap;
|
|
488
|
+
justify-content: space-between;
|
|
489
|
+
gap: 12px;
|
|
490
|
+
margin: 0;
|
|
491
|
+
padding: 0 var(--gallery-card-pad, 16px) var(--gallery-card-pad, 16px);
|
|
492
|
+
border-radius: 0 0 var(--gallery-card-radius, 12px) var(--gallery-card-radius, 12px);
|
|
493
|
+
font: 13px/1.5 var(--gallery-font, var(--doc-font));
|
|
494
|
+
background: var(--gallery-card-fill, var(--doc-surface));
|
|
495
|
+
}
|
|
496
|
+
.gallery-card > .doc-net-consent > .doc-net-consent-words { display: flex; flex-direction: column; min-width: 0; }
|
|
497
|
+
.gallery-card > .doc-net-consent .doc-net-consent-why { font-size: 13.5px; line-height: 20px; font-weight: 600; color: var(--gallery-text, var(--doc-text)); }
|
|
498
|
+
.gallery-card > .doc-net-consent .doc-net-consent-from { display: block; overflow: hidden; font-size: 12px; line-height: 18px; color: var(--gallery-faint, var(--doc-muted)); white-space: nowrap; text-overflow: ellipsis; }
|
|
499
|
+
.gallery-card > .doc-net-consent > .doc-net-consent-allow {
|
|
500
|
+
flex: none;
|
|
501
|
+
height: 30px;
|
|
502
|
+
padding: 0 14px;
|
|
503
|
+
border-radius: 8px;
|
|
504
|
+
font-size: 13px;
|
|
505
|
+
font-weight: 600;
|
|
506
|
+
white-space: nowrap;
|
|
507
|
+
color: var(--gallery-accent-ink, var(--doc-accent));
|
|
508
|
+
background: var(--gallery-accent-soft, color-mix(in srgb, var(--doc-accent) 14%, transparent));
|
|
509
|
+
}
|
|
510
|
+
.gallery-card > .doc-net-consent > .doc-net-consent-allow:is(:hover, :focus-visible) { background: color-mix(in srgb, var(--gallery-accent, var(--doc-accent)) 18%, var(--gallery-accent-soft, transparent)); }
|
|
511
|
+
.gallery-card > .doc-net-consent .doc-net-consent-long { display: none; }
|
|
512
|
+
.gallery-card > .doc-net-consent .doc-net-consent-short { display: inline; }
|
|
513
|
+
/* On a narrow card (data-doc-net-narrow: under 240px of content, net.js) the line just over the button, both at the card's
|
|
514
|
+
foot, the button as wide as the card, as a narrow habit card's streak and 打卡 are; the line 13px, three lines at
|
|
515
|
+
most, and whose the data is left to the button's title, so that the banner fits a 2 × 2 card in either language. */
|
|
516
|
+
.gallery-card > .doc-net-consent[data-doc-net-narrow] { flex-direction: column; align-items: stretch; justify-content: flex-end; gap: 8px; }
|
|
517
|
+
.gallery-card > .doc-net-consent[data-doc-net-narrow] .doc-net-consent-why { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; font-size: 13px; line-height: 17px; }
|
|
518
|
+
.gallery-card > .doc-net-consent[data-doc-net-narrow] .doc-net-consent-from { display: none; }
|
|
519
|
+
@media print {
|
|
520
|
+
.doc-net-consent { display: none; }
|
|
521
|
+
}
|
|
522
|
+
|
|
367
523
|
@media (prefers-reduced-motion: reduce) {
|
|
368
524
|
*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; }
|
|
369
525
|
}
|
|
@@ -495,7 +651,9 @@ span:is(.doc-highlight-gray, .doc-highlight-brown, .doc-highlight-orange, .doc-h
|
|
|
495
651
|
transition: color 100ms ease-in-out, background-color 100ms ease-in-out;
|
|
496
652
|
}
|
|
497
653
|
|
|
498
|
-
|
|
654
|
+
/* An icon button: the icon darkens under the pointer, the gray only while it is pressed or its menu is open. */
|
|
655
|
+
.doc-display-button:hover { color: var(--doc-text); }
|
|
656
|
+
|
|
499
657
|
.doc-display-button[aria-expanded="true"] {
|
|
500
658
|
color: var(--doc-text);
|
|
501
659
|
background: var(--doc-hover);
|
|
@@ -679,6 +837,122 @@ span:is(.doc-highlight-gray, .doc-highlight-brown, .doc-highlight-orange, .doc-h
|
|
|
679
837
|
.doc-display { display: none; }
|
|
680
838
|
}
|
|
681
839
|
|
|
840
|
+
/* A choice (runtime/choice.js): the menu card a <select> and DocKit.choose open instead of the browser's
|
|
841
|
+
popup, and the quiet look a <select> has where nobody gave it one. The card is the display menu's
|
|
842
|
+
(controls.css): radius 10, Notion's popup surface and shadow, rows of 28px that take one light fill
|
|
843
|
+
under the pointer or the keys, the chosen row checked at its right (no empty column before the words
|
|
844
|
+
on the others), as wide as its rows (the trigger's width at least, 320px at most, its words cut by an
|
|
845
|
+
ellipsis past that). It stands in the top layer (a popover, so no z-index of the page covers it);
|
|
846
|
+
z-index is for a browser without popovers. */
|
|
847
|
+
|
|
848
|
+
.doc-choice {
|
|
849
|
+
position: fixed;
|
|
850
|
+
inset: auto;
|
|
851
|
+
left: 0;
|
|
852
|
+
top: 0;
|
|
853
|
+
z-index: 1100;
|
|
854
|
+
box-sizing: border-box;
|
|
855
|
+
width: max-content;
|
|
856
|
+
max-width: min(320px, calc(100vw - 16px));
|
|
857
|
+
margin: 0;
|
|
858
|
+
padding: 4px 0;
|
|
859
|
+
overflow-x: hidden;
|
|
860
|
+
overflow-y: auto;
|
|
861
|
+
overscroll-behavior: contain;
|
|
862
|
+
scrollbar-width: thin;
|
|
863
|
+
border: 0;
|
|
864
|
+
border-radius: 10px;
|
|
865
|
+
color: var(--doc-text);
|
|
866
|
+
background: light-dark(#ffffff, #252525);
|
|
867
|
+
box-shadow:
|
|
868
|
+
0 0 0 1px light-dark(rgb(42 28 0 / 7%), #383836),
|
|
869
|
+
0 20px 24px light-dark(rgb(25 25 25 / 5%), rgb(0 0 0 / 20%)),
|
|
870
|
+
0 5px 8px light-dark(rgb(25 25 25 / 2.7%), rgb(0 0 0 / 12%));
|
|
871
|
+
font: 14px/1.2 var(--doc-font);
|
|
872
|
+
user-select: none;
|
|
873
|
+
transition: opacity 120ms ease-out;
|
|
874
|
+
}
|
|
875
|
+
|
|
876
|
+
@starting-style {
|
|
877
|
+
.doc-choice { opacity: 0; }
|
|
878
|
+
}
|
|
879
|
+
|
|
880
|
+
.doc-choice-row {
|
|
881
|
+
display: flex;
|
|
882
|
+
align-items: center;
|
|
883
|
+
gap: 8px;
|
|
884
|
+
min-height: 28px;
|
|
885
|
+
margin: 0 4px 1px;
|
|
886
|
+
padding: 0 8px;
|
|
887
|
+
border-radius: 6px;
|
|
888
|
+
cursor: pointer;
|
|
889
|
+
transition: background-color 20ms ease-in;
|
|
890
|
+
}
|
|
891
|
+
|
|
892
|
+
/* Under the pointer, or reached with the keys: one light fill, as every menu's rows. */
|
|
893
|
+
.doc-choice-row.is-active { background: var(--doc-hover); }
|
|
894
|
+
.doc-choice-row:active { background: var(--doc-press); }
|
|
895
|
+
.doc-choice-row[aria-disabled="true"] { opacity: .45; cursor: default; }
|
|
896
|
+
.doc-choice-row[aria-disabled="true"]:active { background: transparent; }
|
|
897
|
+
|
|
898
|
+
.doc-choice-label {
|
|
899
|
+
flex: 1 1 auto;
|
|
900
|
+
min-width: 0;
|
|
901
|
+
overflow: hidden;
|
|
902
|
+
text-overflow: ellipsis;
|
|
903
|
+
white-space: nowrap;
|
|
904
|
+
}
|
|
905
|
+
|
|
906
|
+
/* The chosen row: a check at its right. */
|
|
907
|
+
.doc-choice-check {
|
|
908
|
+
flex: none;
|
|
909
|
+
width: 16px;
|
|
910
|
+
height: 16px;
|
|
911
|
+
fill: none;
|
|
912
|
+
stroke: currentColor;
|
|
913
|
+
stroke-width: 1.7;
|
|
914
|
+
stroke-linecap: round;
|
|
915
|
+
stroke-linejoin: round;
|
|
916
|
+
}
|
|
917
|
+
|
|
918
|
+
/* An <optgroup>'s name: a small heading, no row. */
|
|
919
|
+
.doc-choice-group {
|
|
920
|
+
padding: 6px 12px 2px;
|
|
921
|
+
color: var(--doc-muted);
|
|
922
|
+
font-size: 12px;
|
|
923
|
+
font-weight: 500;
|
|
924
|
+
}
|
|
925
|
+
|
|
926
|
+
.doc-choice-group:not(:first-child) { margin-top: 4px; }
|
|
927
|
+
|
|
928
|
+
/* A <select> nobody styled: no frame, a light fill that darkens under the pointer, the browser's own
|
|
929
|
+
arrow at its right (kept whatever the page sets as border or background, which a drawn arrow would
|
|
930
|
+
lose). A class's or a block's own rule outweighs this (it has no weight); a list box (multiple) is
|
|
931
|
+
the browser's. */
|
|
932
|
+
:where(select:not([multiple], [size])) {
|
|
933
|
+
min-height: 28px;
|
|
934
|
+
padding: 0 4px 0 8px;
|
|
935
|
+
border: 0;
|
|
936
|
+
border-radius: 6px;
|
|
937
|
+
color: var(--doc-text);
|
|
938
|
+
background-color: var(--doc-hover);
|
|
939
|
+
font: inherit;
|
|
940
|
+
cursor: pointer;
|
|
941
|
+
}
|
|
942
|
+
|
|
943
|
+
:where(select:not([multiple], [size]):hover) { background-color: var(--doc-press); }
|
|
944
|
+
|
|
945
|
+
:where(select:not([multiple], [size]):focus-visible) {
|
|
946
|
+
outline: 2px solid var(--doc-accent);
|
|
947
|
+
outline-offset: 2px;
|
|
948
|
+
}
|
|
949
|
+
|
|
950
|
+
/* On paper a <select> is the words of its chosen option, no arrow, and the menu is never there. */
|
|
951
|
+
@media print {
|
|
952
|
+
select { appearance: none; background-image: none; }
|
|
953
|
+
.doc-choice { display: none; }
|
|
954
|
+
}
|
|
955
|
+
|
|
682
956
|
/* 选项卡区块 (sheets.js), as Notion's tabs: a frame 16px round (1px, Notion's line) holding a row of
|
|
683
957
|
pill tabs and the panel shown, 16px in; or, with .doc-sheet-shell--plain, no frame and no room
|
|
684
958
|
inside it (the tabs and the panel at the flow's edge). A tab is a pill 32px high, its name 14px:
|
|
@@ -1387,7 +1661,7 @@ span.doc-link-mention-icon {
|
|
|
1387
1661
|
:where(&:is(ol):has(> li[value]), & li > ol:has(> li[value])) > li::marker { color: var(--doc-list-marker); }
|
|
1388
1662
|
}
|
|
1389
1663
|
|
|
1390
|
-
& > :where(p, ul, ol, blockquote, h1, h2, h3, h4) :where(strong) { font-weight:
|
|
1664
|
+
& > :where(p, ul, ol, blockquote, h1, h2, h3, h4) :where(strong) { font-weight: 700; }
|
|
1391
1665
|
|
|
1392
1666
|
/* A quote and a divider (in the flow, or held by one of its list items: the same look, there the
|
|
1393
1667
|
list's one gap above it and none below, as any block an item holds, none at its sides). */
|
|
@@ -1420,6 +1694,21 @@ span.doc-link-mention-icon {
|
|
|
1420
1694
|
title too, and a callout the file has empty (an empty one of the editor's before 2026-11-07). */
|
|
1421
1695
|
.doc-page :where(p, h1, h2, h3, h4, li, .doc-callout, .doc-details-summary-label):empty::after { content: "\200b"; }
|
|
1422
1696
|
|
|
1697
|
+
/* A paragraph's or a heading's alignment and indent (对齐与缩进 in the page editor's block menu,
|
|
1698
|
+
Feishu's): centred or at the right (left is neither), and moved in by levels of two body characters,
|
|
1699
|
+
whatever the block's own size, its background with it (a margin, so its fill keeps to its words). */
|
|
1700
|
+
:is(p, h1, h2, h3, h4).doc-align-center { text-align: center; }
|
|
1701
|
+
:is(p, h1, h2, h3, h4).doc-align-right { text-align: right; }
|
|
1702
|
+
:is(p, h1, h2, h3, h4):is(.doc-indent-1, .doc-indent-2, .doc-indent-3, .doc-indent-4, .doc-indent-5, .doc-indent-6, .doc-indent-7, .doc-indent-8) { margin-inline-start: calc(var(--doc-indent-level) * 2 * var(--doc-body-font-size)); }
|
|
1703
|
+
.doc-indent-1 { --doc-indent-level: 1; }
|
|
1704
|
+
.doc-indent-2 { --doc-indent-level: 2; }
|
|
1705
|
+
.doc-indent-3 { --doc-indent-level: 3; }
|
|
1706
|
+
.doc-indent-4 { --doc-indent-level: 4; }
|
|
1707
|
+
.doc-indent-5 { --doc-indent-level: 5; }
|
|
1708
|
+
.doc-indent-6 { --doc-indent-level: 6; }
|
|
1709
|
+
.doc-indent-7 { --doc-indent-level: 7; }
|
|
1710
|
+
.doc-indent-8 { --doc-indent-level: 8; }
|
|
1711
|
+
|
|
1423
1712
|
/* An item's color (颜色 in the page editor's block menu, notion-lite's: base.css's classes): a text
|
|
1424
1713
|
color is its marker's too, and the items it holds take both; a background lies behind it, its
|
|
1425
1714
|
marker and the items it holds, 2px past them as a paragraph's (base.css), its part left of the
|
|
@@ -1543,7 +1832,7 @@ ol.doc-flow > li {
|
|
|
1543
1832
|
border-radius: 8px;
|
|
1544
1833
|
background: var(--doc-surface);
|
|
1545
1834
|
box-shadow: none;
|
|
1546
|
-
font-weight:
|
|
1835
|
+
font-weight: 700; /* a step written the short way: its own words its title, bold as a <strong> is (flow.css) */
|
|
1547
1836
|
overflow-wrap: anywhere;
|
|
1548
1837
|
break-inside: avoid;
|
|
1549
1838
|
}
|
|
@@ -2076,7 +2365,6 @@ figure:is(.doc-image, .doc-file, .doc-bookmark, .doc-embed):not(:has(> *)) { dis
|
|
|
2076
2365
|
border-radius: 6px;
|
|
2077
2366
|
color: inherit;
|
|
2078
2367
|
background: color-mix(in srgb, currentColor 8%, transparent);
|
|
2079
|
-
box-shadow: inset 0 0 0 1px color-mix(in srgb, currentColor 9%, transparent);
|
|
2080
2368
|
font: inherit;
|
|
2081
2369
|
font-weight: inherit;
|
|
2082
2370
|
line-height: inherit;
|
|
@@ -2383,6 +2671,7 @@ figure:is(.doc-image, .doc-file, .doc-bookmark, .doc-embed):not(:has(> *)) { dis
|
|
|
2383
2671
|
|
|
2384
2672
|
.doc-table-wrap {
|
|
2385
2673
|
--doc-table-frame: var(--doc-hairline);
|
|
2674
|
+
--doc-table-frame-solid: var(--doc-hairline-solid);
|
|
2386
2675
|
position: relative;
|
|
2387
2676
|
align-self: start;
|
|
2388
2677
|
/* A share over 1 keeps the wrapper at the reading width; the table is that much wider and
|
|
@@ -2409,6 +2698,11 @@ figure:is(.doc-image, .doc-file, .doc-bookmark, .doc-embed):not(:has(> *)) { dis
|
|
|
2409
2698
|
scrollbar-width: none;
|
|
2410
2699
|
}
|
|
2411
2700
|
.doc-table-wrap::-webkit-scrollbar { display: none; } /* WebKit without scrollbar-width */
|
|
2701
|
+
/* A table narrower than the text is placed on the page as a paragraph's words are (对齐 in the page
|
|
2702
|
+
editor's block menu, a text block's classes: components/align.mjs): at the left unless its frame
|
|
2703
|
+
says centred or at the right, where the text has room (a frame as wide as the text has none). */
|
|
2704
|
+
:is(.doc-table-wrap, table).doc-align-center { margin-inline: auto; }
|
|
2705
|
+
:is(.doc-table-wrap, table).doc-align-right { margin-inline: auto 0; }
|
|
2412
2706
|
/* A short table, or one mostly of words (data-doc-whole, tables/whole.js), is shown whole: its
|
|
2413
2707
|
frame as tall as its rows, read with the page. A long table of data keeps the kit's height above,
|
|
2414
2708
|
its rows scrolling under the header row that stays; a height written on the frame
|
|
@@ -2416,18 +2710,19 @@ figure:is(.doc-image, .doc-file, .doc-bookmark, .doc-embed):not(:has(> *)) { dis
|
|
|
2416
2710
|
.doc-table-wrap[data-doc-whole] { max-height: var(--doc-table-height, none); }
|
|
2417
2711
|
.doc-table-wrap:has(> .doc-scrollbars[data-y]) { overscroll-behavior-block: none; }
|
|
2418
2712
|
|
|
2419
|
-
/* The frame's scrollbars (tables.js): a layer stuck at the frame's top-left that takes no room
|
|
2420
|
-
|
|
2421
|
-
|
|
2422
|
-
|
|
2423
|
-
|
|
2424
|
-
|
|
2713
|
+
/* The frame's scrollbars (tables.js): a layer stuck at the frame's top-left that takes no room (no
|
|
2714
|
+
height; as wide as the frame's inside, which it never makes wider, so that the frame's line is
|
|
2715
|
+
as wide as the frame in the same layout as the frame: below), with a rail along the right edge
|
|
2716
|
+
and one along the bottom for each axis that overflows (data-y, data-x), each thumb 3px in from
|
|
2717
|
+
the frame's edge. tables.js sets each rail's place (the part of the edge that scrolls: below the
|
|
2718
|
+
header, between the rounded corners) and its track, thumb size and thumb offset
|
|
2719
|
+
(--doc-scrollbar-*). They show while the pointer is over the frame or it scrolls. */
|
|
2425
2720
|
.doc-scrollbars {
|
|
2426
2721
|
position: sticky;
|
|
2427
2722
|
top: 0;
|
|
2428
2723
|
left: 0;
|
|
2429
2724
|
z-index: 6;
|
|
2430
|
-
width:
|
|
2725
|
+
width: 100%;
|
|
2431
2726
|
height: 0;
|
|
2432
2727
|
}
|
|
2433
2728
|
.doc-scrollbar {
|
|
@@ -2465,11 +2760,14 @@ figure:is(.doc-image, .doc-file, .doc-bookmark, .doc-embed):not(:has(> *)) { dis
|
|
|
2465
2760
|
}
|
|
2466
2761
|
.doc-scrollbar:is(:hover, [data-drag]) > .doc-scrollbar-thumb { background: var(--doc-scrollbar-thumb-active); }
|
|
2467
2762
|
/* The frame's line above everything in the frame (a header row or column that sticks over the
|
|
2468
|
-
outline too): as big as the frame
|
|
2763
|
+
outline too): as big as the frame, on the layer stuck at its top-left; as wide as the layer, so
|
|
2764
|
+
as the frame whenever the frame is laid out (a width read and written later by a script could
|
|
2765
|
+
disagree with it for a frame), as tall as tables.js reads the frame. */
|
|
2469
2766
|
.doc-scrollbars-frame {
|
|
2470
2767
|
position: absolute;
|
|
2471
2768
|
top: 0;
|
|
2472
2769
|
left: 0;
|
|
2770
|
+
width: 100%;
|
|
2473
2771
|
box-sizing: border-box;
|
|
2474
2772
|
border: 1px solid var(--doc-table-frame);
|
|
2475
2773
|
border-radius: var(--doc-table-radius);
|
|
@@ -2480,7 +2778,7 @@ figure:is(.doc-image, .doc-file, .doc-bookmark, .doc-embed):not(:has(> *)) { dis
|
|
|
2480
2778
|
.doc-table-wrap:has(> .doc-scrollbars) { outline-color: transparent; }
|
|
2481
2779
|
/* In a block with a fill of its own (a highlight block, its gray its own unless it is given a text
|
|
2482
2780
|
color; any block of the palette's background colors) the frame's line is opaque (above). */
|
|
2483
|
-
:is(:is(.doc-summary, .doc-panel):not(.doc-text-gray, .doc-text-brown, .doc-text-orange, .doc-text-yellow, .doc-text-green, .doc-text-blue, .doc-text-purple, .doc-text-pink, .doc-text-red), .doc-highlight-gray, .doc-highlight-brown, .doc-highlight-orange, .doc-highlight-yellow, .doc-highlight-green, .doc-highlight-blue, .doc-highlight-purple, .doc-highlight-pink, .doc-highlight-red) .doc-table-wrap { --doc-table-frame: var(--doc-table-frame-filled); }
|
|
2781
|
+
:is(:is(.doc-summary, .doc-panel):not(.doc-text-gray, .doc-text-brown, .doc-text-orange, .doc-text-yellow, .doc-text-green, .doc-text-blue, .doc-text-purple, .doc-text-pink, .doc-text-red), .doc-highlight-gray, .doc-highlight-brown, .doc-highlight-orange, .doc-highlight-yellow, .doc-highlight-green, .doc-highlight-blue, .doc-highlight-purple, .doc-highlight-pink, .doc-highlight-red) .doc-table-wrap { --doc-table-frame: var(--doc-table-frame-filled); --doc-table-frame-solid: var(--doc-table-frame-filled); }
|
|
2484
2782
|
/* A frame that scrolls sideways and is not at its end fades out at its right edge (data-more,
|
|
2485
2783
|
tables.js): the columns go on past it, which its rails, shown only under the pointer, do not say.
|
|
2486
2784
|
Drawn over the cells by the frame's line layer, taking no room. */
|
|
@@ -2497,6 +2795,9 @@ figure:is(.doc-image, .doc-file, .doc-bookmark, .doc-embed):not(:has(> *)) { dis
|
|
|
2497
2795
|
transition: opacity 160ms ease;
|
|
2498
2796
|
}
|
|
2499
2797
|
.doc-scrollbars[data-more] > .doc-scrollbars-frame::after { opacity: 1; }
|
|
2798
|
+
/* Its right edge, under which the columns past it lie, is drawn opaque (the dark line is a veil that
|
|
2799
|
+
shows what is under it): the line over the fade, nothing of those columns through it. */
|
|
2800
|
+
.doc-scrollbars[data-more] > .doc-scrollbars-frame { border-right-color: var(--doc-table-frame-solid); }
|
|
2500
2801
|
|
|
2501
2802
|
/* Each cell draws its own lines, on its right and at its bottom (separate borders: a cell that sticks
|
|
2502
2803
|
while the frame scrolls takes its lines along, a merged cell has them where it ends); in a frame
|
|
@@ -2560,6 +2861,12 @@ figure:is(.doc-image, .doc-file, .doc-bookmark, .doc-embed):not(:has(> *)) { dis
|
|
|
2560
2861
|
.doc-table :is(td, th) > :is(ul, ol):last-child { margin-bottom: 0; }
|
|
2561
2862
|
.doc-table :is(td, th) > :is(ul, ol) > li + li { margin-top: 2px; }
|
|
2562
2863
|
|
|
2864
|
+
/* A picture in a cell (单元格里的图片, an <img> amid its words): as wide as its width says (pixels; the
|
|
2865
|
+
page editor's drag of its edge writes it), with none at most 240px, never past its cell; its height
|
|
2866
|
+
by its own ratio, its middle on the line's, so a row grows with it. */
|
|
2867
|
+
.doc-table :is(td, th) img { max-width: 100%; height: auto; vertical-align: middle; }
|
|
2868
|
+
.doc-table :is(td, th) img:not([width]) { max-width: min(100%, 240px); }
|
|
2869
|
+
|
|
2563
2870
|
.doc-table--auto { table-layout: fixed; max-width: none; }
|
|
2564
2871
|
.doc-table [data-column-kind="compact"] { white-space: nowrap; word-break: normal; }
|
|
2565
2872
|
.doc-table [data-column-kind="narrative"] { overflow-wrap: break-word; }
|
|
@@ -2630,7 +2937,7 @@ figure:is(.doc-image, .doc-file, .doc-bookmark, .doc-embed):not(:has(> *)) { dis
|
|
|
2630
2937
|
(base.css), a fill over the whole cell (base.css's: a cell is square, and one that sticks wears it too, above), bold words (the words
|
|
2631
2938
|
typed in it later too), and an alignment over the kit's own (a numeric column's centre), a vertical one (the kit's: top). A header
|
|
2632
2939
|
row's look is these: .doc-highlight-gray and .doc-bold (a header column has none of its own). */
|
|
2633
|
-
.doc-table :is(td, th).doc-bold { font-weight:
|
|
2940
|
+
.doc-table :is(td, th).doc-bold { font-weight: 700; }
|
|
2634
2941
|
.doc-table :is(td, th).doc-align-left { text-align: left; }
|
|
2635
2942
|
.doc-table :is(td, th).doc-align-center { text-align: center; }
|
|
2636
2943
|
.doc-table :is(td, th).doc-align-right { text-align: right; }
|
|
@@ -2839,6 +3146,16 @@ figure:is(.doc-image, .doc-file, .doc-bookmark, .doc-embed):not(:has(> *)) { dis
|
|
|
2839
3146
|
[data-doc-component] {
|
|
2840
3147
|
margin: var(--doc-block-gap) 0;
|
|
2841
3148
|
}
|
|
3149
|
+
/* [hidden] hides what is in an instance whatever display a block's style gave it: a control a block
|
|
3150
|
+
hides where nothing is written (an export: form.hidden = !context.canEdit()) stays hidden though its
|
|
3151
|
+
own rule says display: flex, which an author's rule on the class would otherwise win over the
|
|
3152
|
+
browser's [hidden] { display: none }. What a slot holds is the document's blocks, which keep their
|
|
3153
|
+
own rules (a Sheet panel, an empty figure the editor shows), so the rule stops at a slot. */
|
|
3154
|
+
@scope ([data-doc-component]) to ([data-doc-slot]) {
|
|
3155
|
+
:scope [hidden] {
|
|
3156
|
+
display: none !important;
|
|
3157
|
+
}
|
|
3158
|
+
}
|
|
2842
3159
|
/* A slot holds the document's blocks: they read as in any flow (flow.css), the first and the last flush with it. */
|
|
2843
3160
|
[data-doc-slot] > :where(:first-child) {
|
|
2844
3161
|
margin-top: 0;
|