@concordance-wiki/site 0.1.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/LICENSE +674 -0
- package/README.md +130 -0
- package/assets/css/accessibility.css +57 -0
- package/assets/css/chrome/bar.css +37 -0
- package/assets/css/chrome/breadcrumb.css +34 -0
- package/assets/css/chrome/breakpoints.css +291 -0
- package/assets/css/chrome/contract-viewer.css +84 -0
- package/assets/css/chrome/document.css +125 -0
- package/assets/css/chrome/drawer.css +210 -0
- package/assets/css/chrome/footer.css +102 -0
- package/assets/css/chrome/grouped-files.css +58 -0
- package/assets/css/chrome/labels.css +54 -0
- package/assets/css/chrome/links.css +23 -0
- package/assets/css/chrome/measure.css +13 -0
- package/assets/css/chrome/mode-switch.css +26 -0
- package/assets/css/chrome/panel-handle.css +232 -0
- package/assets/css/chrome/panel.css +92 -0
- package/assets/css/chrome/pins.css +321 -0
- package/assets/css/chrome/search-clear.css +28 -0
- package/assets/css/chrome/search-field.css +67 -0
- package/assets/css/chrome/space-tree.css +106 -0
- package/assets/css/chrome/suggestions.css +100 -0
- package/assets/css/chrome/tabs.css +85 -0
- package/assets/css/controls.css +30 -0
- package/assets/css/pages/about.css +219 -0
- package/assets/css/pages/api-page.css +200 -0
- package/assets/css/pages/category-list.css +349 -0
- package/assets/css/pages/decision-page.css +43 -0
- package/assets/css/pages/document-page.css +212 -0
- package/assets/css/pages/edge-cases.css +450 -0
- package/assets/css/pages/entity-article.css +140 -0
- package/assets/css/pages/entity-page.css +109 -0
- package/assets/css/pages/gallery.css +74 -0
- package/assets/css/pages/home-columns.css +148 -0
- package/assets/css/pages/home-shortcuts.css +40 -0
- package/assets/css/pages/home.css +81 -0
- package/assets/css/pages/index.css +302 -0
- package/assets/css/pages/keyword-page.css +262 -0
- package/assets/css/pages/meeting-page.css +109 -0
- package/assets/css/pages/mentions.css +267 -0
- package/assets/css/pages/neighbourhood-map.css +100 -0
- package/assets/css/pages/neighbourhood-open.css +262 -0
- package/assets/css/pages/neighbourhood.css +60 -0
- package/assets/css/pages/screen-page.css +108 -0
- package/assets/css/pages/search-results.css +405 -0
- package/assets/css/pages/space.css +251 -0
- package/assets/css/pages/spaces.css +176 -0
- package/assets/css/pages/todo.css +44 -0
- package/assets/css/reset.css +21 -0
- package/assets/css/typography.css +104 -0
- package/assets/fonts/OFL.txt +95 -0
- package/assets/fonts/ibm-plex-mono-normal-400-latin-ext.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-normal-400-latin.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-normal-500-latin-ext.woff2 +0 -0
- package/assets/fonts/ibm-plex-mono-normal-500-latin.woff2 +0 -0
- package/assets/fonts/instrument-sans-italic-400-700-latin-ext.woff2 +0 -0
- package/assets/fonts/instrument-sans-italic-400-700-latin.woff2 +0 -0
- package/assets/fonts/instrument-sans-normal-400-700-latin-ext.woff2 +0 -0
- package/assets/fonts/instrument-sans-normal-400-700-latin.woff2 +0 -0
- package/dist/a11y/check.d.ts +14 -0
- package/dist/a11y/check.d.ts.map +1 -0
- package/dist/a11y/check.js +442 -0
- package/dist/a11y/check.js.map +1 -0
- package/dist/a11y/contrast.d.ts +32 -0
- package/dist/a11y/contrast.d.ts.map +1 -0
- package/dist/a11y/contrast.js +82 -0
- package/dist/a11y/contrast.js.map +1 -0
- package/dist/budget.d.ts +25 -0
- package/dist/budget.d.ts.map +1 -0
- package/dist/budget.js +26 -0
- package/dist/budget.js.map +1 -0
- package/dist/build/about.d.ts +21 -0
- package/dist/build/about.d.ts.map +1 -0
- package/dist/build/about.js +125 -0
- package/dist/build/about.js.map +1 -0
- package/dist/build/assemble.d.ts +54 -0
- package/dist/build/assemble.d.ts.map +1 -0
- package/dist/build/assemble.js +67 -0
- package/dist/build/assemble.js.map +1 -0
- package/dist/build/category.d.ts +118 -0
- package/dist/build/category.d.ts.map +1 -0
- package/dist/build/category.js +400 -0
- package/dist/build/category.js.map +1 -0
- package/dist/build/context.d.ts +111 -0
- package/dist/build/context.d.ts.map +1 -0
- package/dist/build/context.js +181 -0
- package/dist/build/context.js.map +1 -0
- package/dist/build/decision.d.ts +30 -0
- package/dist/build/decision.d.ts.map +1 -0
- package/dist/build/decision.js +187 -0
- package/dist/build/decision.js.map +1 -0
- package/dist/build/default-theme.d.ts +10 -0
- package/dist/build/default-theme.d.ts.map +1 -0
- package/dist/build/default-theme.js +36 -0
- package/dist/build/default-theme.js.map +1 -0
- package/dist/build/entity-page.d.ts +140 -0
- package/dist/build/entity-page.d.ts.map +1 -0
- package/dist/build/entity-page.js +782 -0
- package/dist/build/entity-page.js.map +1 -0
- package/dist/build/footer.d.ts +39 -0
- package/dist/build/footer.d.ts.map +1 -0
- package/dist/build/footer.js +123 -0
- package/dist/build/footer.js.map +1 -0
- package/dist/build/fragments.d.ts +92 -0
- package/dist/build/fragments.d.ts.map +1 -0
- package/dist/build/fragments.js +115 -0
- package/dist/build/fragments.js.map +1 -0
- package/dist/build/grouping.d.ts +21 -0
- package/dist/build/grouping.d.ts.map +1 -0
- package/dist/build/grouping.js +71 -0
- package/dist/build/grouping.js.map +1 -0
- package/dist/build/home.d.ts +56 -0
- package/dist/build/home.d.ts.map +1 -0
- package/dist/build/home.js +214 -0
- package/dist/build/home.js.map +1 -0
- package/dist/build/index-page.d.ts +71 -0
- package/dist/build/index-page.d.ts.map +1 -0
- package/dist/build/index-page.js +267 -0
- package/dist/build/index-page.js.map +1 -0
- package/dist/build/keyword-page.d.ts +80 -0
- package/dist/build/keyword-page.d.ts.map +1 -0
- package/dist/build/keyword-page.js +297 -0
- package/dist/build/keyword-page.js.map +1 -0
- package/dist/build/kinds.d.ts +4 -0
- package/dist/build/kinds.d.ts.map +1 -0
- package/dist/build/kinds.js +22 -0
- package/dist/build/kinds.js.map +1 -0
- package/dist/build/meeting.d.ts +56 -0
- package/dist/build/meeting.d.ts.map +1 -0
- package/dist/build/meeting.js +285 -0
- package/dist/build/meeting.js.map +1 -0
- package/dist/build/mentions.d.ts +68 -0
- package/dist/build/mentions.d.ts.map +1 -0
- package/dist/build/mentions.js +412 -0
- package/dist/build/mentions.js.map +1 -0
- package/dist/build/not-found.d.ts +23 -0
- package/dist/build/not-found.d.ts.map +1 -0
- package/dist/build/not-found.js +70 -0
- package/dist/build/not-found.js.map +1 -0
- package/dist/build/operations.d.ts +27 -0
- package/dist/build/operations.d.ts.map +1 -0
- package/dist/build/operations.js +99 -0
- package/dist/build/operations.js.map +1 -0
- package/dist/build/paths.d.ts +45 -0
- package/dist/build/paths.d.ts.map +1 -0
- package/dist/build/paths.js +74 -0
- package/dist/build/paths.js.map +1 -0
- package/dist/build/redirect.d.ts +20 -0
- package/dist/build/redirect.d.ts.map +1 -0
- package/dist/build/redirect.js +31 -0
- package/dist/build/redirect.js.map +1 -0
- package/dist/build/site.d.ts +99 -0
- package/dist/build/site.d.ts.map +1 -0
- package/dist/build/site.js +338 -0
- package/dist/build/site.js.map +1 -0
- package/dist/build/space.d.ts +82 -0
- package/dist/build/space.d.ts.map +1 -0
- package/dist/build/space.js +248 -0
- package/dist/build/space.js.map +1 -0
- package/dist/build/spaces.d.ts +48 -0
- package/dist/build/spaces.d.ts.map +1 -0
- package/dist/build/spaces.js +210 -0
- package/dist/build/spaces.js.map +1 -0
- package/dist/build/todo.d.ts +24 -0
- package/dist/build/todo.d.ts.map +1 -0
- package/dist/build/todo.js +107 -0
- package/dist/build/todo.js.map +1 -0
- package/dist/css/fonts.d.ts +30 -0
- package/dist/css/fonts.d.ts.map +1 -0
- package/dist/css/fonts.js +51 -0
- package/dist/css/fonts.js.map +1 -0
- package/dist/css/stylesheet.d.ts +28 -0
- package/dist/css/stylesheet.d.ts.map +1 -0
- package/dist/css/stylesheet.js +94 -0
- package/dist/css/stylesheet.js.map +1 -0
- package/dist/css/theme-config.d.ts +2 -0
- package/dist/css/theme-config.d.ts.map +1 -0
- package/dist/css/theme-config.js +2 -0
- package/dist/css/theme-config.js.map +1 -0
- package/dist/css/tokens.d.ts +17 -0
- package/dist/css/tokens.d.ts.map +1 -0
- package/dist/css/tokens.js +90 -0
- package/dist/css/tokens.js.map +1 -0
- package/dist/gallery/boards.d.ts +146 -0
- package/dist/gallery/boards.d.ts.map +1 -0
- package/dist/gallery/boards.js +158 -0
- package/dist/gallery/boards.js.map +1 -0
- package/dist/gallery/build.d.ts +43 -0
- package/dist/gallery/build.d.ts.map +1 -0
- package/dist/gallery/build.js +129 -0
- package/dist/gallery/build.js.map +1 -0
- package/dist/gallery/fixtures/about.d.ts +10 -0
- package/dist/gallery/fixtures/about.d.ts.map +1 -0
- package/dist/gallery/fixtures/about.js +57 -0
- package/dist/gallery/fixtures/about.js.map +1 -0
- package/dist/gallery/fixtures/api-page.d.ts +8 -0
- package/dist/gallery/fixtures/api-page.d.ts.map +1 -0
- package/dist/gallery/fixtures/api-page.js +423 -0
- package/dist/gallery/fixtures/api-page.js.map +1 -0
- package/dist/gallery/fixtures/category-list.d.ts +10 -0
- package/dist/gallery/fixtures/category-list.d.ts.map +1 -0
- package/dist/gallery/fixtures/category-list.js +106 -0
- package/dist/gallery/fixtures/category-list.js.map +1 -0
- package/dist/gallery/fixtures/chrome.d.ts +22 -0
- package/dist/gallery/fixtures/chrome.d.ts.map +1 -0
- package/dist/gallery/fixtures/chrome.js +100 -0
- package/dist/gallery/fixtures/chrome.js.map +1 -0
- package/dist/gallery/fixtures/corpus.d.ts +62 -0
- package/dist/gallery/fixtures/corpus.d.ts.map +1 -0
- package/dist/gallery/fixtures/corpus.js +90 -0
- package/dist/gallery/fixtures/corpus.js.map +1 -0
- package/dist/gallery/fixtures/decision-page.d.ts +12 -0
- package/dist/gallery/fixtures/decision-page.d.ts.map +1 -0
- package/dist/gallery/fixtures/decision-page.js +287 -0
- package/dist/gallery/fixtures/decision-page.js.map +1 -0
- package/dist/gallery/fixtures/degraded.d.ts +18 -0
- package/dist/gallery/fixtures/degraded.d.ts.map +1 -0
- package/dist/gallery/fixtures/degraded.js +95 -0
- package/dist/gallery/fixtures/degraded.js.map +1 -0
- package/dist/gallery/fixtures/document-blocks.d.ts +4 -0
- package/dist/gallery/fixtures/document-blocks.d.ts.map +1 -0
- package/dist/gallery/fixtures/document-blocks.js +68 -0
- package/dist/gallery/fixtures/document-blocks.js.map +1 -0
- package/dist/gallery/fixtures/document-page.d.ts +6 -0
- package/dist/gallery/fixtures/document-page.d.ts.map +1 -0
- package/dist/gallery/fixtures/document-page.js +314 -0
- package/dist/gallery/fixtures/document-page.js.map +1 -0
- package/dist/gallery/fixtures/edge-cases.d.ts +25 -0
- package/dist/gallery/fixtures/edge-cases.d.ts.map +1 -0
- package/dist/gallery/fixtures/edge-cases.js +165 -0
- package/dist/gallery/fixtures/edge-cases.js.map +1 -0
- package/dist/gallery/fixtures/entity-page-twin.d.ts +8 -0
- package/dist/gallery/fixtures/entity-page-twin.d.ts.map +1 -0
- package/dist/gallery/fixtures/entity-page-twin.js +68 -0
- package/dist/gallery/fixtures/entity-page-twin.js.map +1 -0
- package/dist/gallery/fixtures/entity-page.d.ts +12 -0
- package/dist/gallery/fixtures/entity-page.d.ts.map +1 -0
- package/dist/gallery/fixtures/entity-page.js +244 -0
- package/dist/gallery/fixtures/entity-page.js.map +1 -0
- package/dist/gallery/fixtures/home.d.ts +9 -0
- package/dist/gallery/fixtures/home.d.ts.map +1 -0
- package/dist/gallery/fixtures/home.js +145 -0
- package/dist/gallery/fixtures/home.js.map +1 -0
- package/dist/gallery/fixtures/index-page.d.ts +4 -0
- package/dist/gallery/fixtures/index-page.d.ts.map +1 -0
- package/dist/gallery/fixtures/index-page.js +145 -0
- package/dist/gallery/fixtures/index-page.js.map +1 -0
- package/dist/gallery/fixtures/keyword-page.d.ts +7 -0
- package/dist/gallery/fixtures/keyword-page.d.ts.map +1 -0
- package/dist/gallery/fixtures/keyword-page.js +344 -0
- package/dist/gallery/fixtures/keyword-page.js.map +1 -0
- package/dist/gallery/fixtures/meeting-page.d.ts +11 -0
- package/dist/gallery/fixtures/meeting-page.d.ts.map +1 -0
- package/dist/gallery/fixtures/meeting-page.js +303 -0
- package/dist/gallery/fixtures/meeting-page.js.map +1 -0
- package/dist/gallery/fixtures/mentions.d.ts +6 -0
- package/dist/gallery/fixtures/mentions.d.ts.map +1 -0
- package/dist/gallery/fixtures/mentions.js +28 -0
- package/dist/gallery/fixtures/mentions.js.map +1 -0
- package/dist/gallery/fixtures/neighbourhood.d.ts +7 -0
- package/dist/gallery/fixtures/neighbourhood.d.ts.map +1 -0
- package/dist/gallery/fixtures/neighbourhood.js +96 -0
- package/dist/gallery/fixtures/neighbourhood.js.map +1 -0
- package/dist/gallery/fixtures/pins.d.ts +6 -0
- package/dist/gallery/fixtures/pins.d.ts.map +1 -0
- package/dist/gallery/fixtures/pins.js +24 -0
- package/dist/gallery/fixtures/pins.js.map +1 -0
- package/dist/gallery/fixtures/screen-page.d.ts +4 -0
- package/dist/gallery/fixtures/screen-page.d.ts.map +1 -0
- package/dist/gallery/fixtures/screen-page.js +266 -0
- package/dist/gallery/fixtures/screen-page.js.map +1 -0
- package/dist/gallery/fixtures/search-results.d.ts +12 -0
- package/dist/gallery/fixtures/search-results.d.ts.map +1 -0
- package/dist/gallery/fixtures/search-results.js +242 -0
- package/dist/gallery/fixtures/search-results.js.map +1 -0
- package/dist/gallery/fixtures/spaces.d.ts +15 -0
- package/dist/gallery/fixtures/spaces.d.ts.map +1 -0
- package/dist/gallery/fixtures/spaces.js +125 -0
- package/dist/gallery/fixtures/spaces.js.map +1 -0
- package/dist/gallery/fixtures/theme.d.ts +4 -0
- package/dist/gallery/fixtures/theme.d.ts.map +1 -0
- package/dist/gallery/fixtures/theme.js +4 -0
- package/dist/gallery/fixtures/theme.js.map +1 -0
- package/dist/gallery/fixtures/todo.d.ts +3 -0
- package/dist/gallery/fixtures/todo.d.ts.map +1 -0
- package/dist/gallery/fixtures/todo.js +13 -0
- package/dist/gallery/fixtures/todo.js.map +1 -0
- package/dist/gallery/fixtures.d.ts +24 -0
- package/dist/gallery/fixtures.d.ts.map +1 -0
- package/dist/gallery/fixtures.js +28 -0
- package/dist/gallery/fixtures.js.map +1 -0
- package/dist/gallery/index-page.d.ts +17 -0
- package/dist/gallery/index-page.d.ts.map +1 -0
- package/dist/gallery/index-page.js +41 -0
- package/dist/gallery/index-page.js.map +1 -0
- package/dist/gallery/no-script.d.ts +3 -0
- package/dist/gallery/no-script.d.ts.map +1 -0
- package/dist/gallery/no-script.js +11 -0
- package/dist/gallery/no-script.js.map +1 -0
- package/dist/gallery/page.d.ts +43 -0
- package/dist/gallery/page.d.ts.map +1 -0
- package/dist/gallery/page.js +8 -0
- package/dist/gallery/page.js.map +1 -0
- package/dist/gallery/pages.d.ts +6 -0
- package/dist/gallery/pages.d.ts.map +1 -0
- package/dist/gallery/pages.js +135 -0
- package/dist/gallery/pages.js.map +1 -0
- package/dist/gallery/skeleton.d.ts +6 -0
- package/dist/gallery/skeleton.d.ts.map +1 -0
- package/dist/gallery/skeleton.js +81 -0
- package/dist/gallery/skeleton.js.map +1 -0
- package/dist/gallery/spaces.d.ts +15 -0
- package/dist/gallery/spaces.d.ts.map +1 -0
- package/dist/gallery/spaces.js +125 -0
- package/dist/gallery/spaces.js.map +1 -0
- package/dist/gallery/states/about-corporate.d.ts +3 -0
- package/dist/gallery/states/about-corporate.d.ts.map +1 -0
- package/dist/gallery/states/about-corporate.js +16 -0
- package/dist/gallery/states/about-corporate.js.map +1 -0
- package/dist/gallery/states/about-sections.d.ts +3 -0
- package/dist/gallery/states/about-sections.d.ts.map +1 -0
- package/dist/gallery/states/about-sections.js +16 -0
- package/dist/gallery/states/about-sections.js.map +1 -0
- package/dist/gallery/states/age-notice.d.ts +3 -0
- package/dist/gallery/states/age-notice.d.ts.map +1 -0
- package/dist/gallery/states/age-notice.js +18 -0
- package/dist/gallery/states/age-notice.js.map +1 -0
- package/dist/gallery/states/api-page-corporate.d.ts +3 -0
- package/dist/gallery/states/api-page-corporate.d.ts.map +1 -0
- package/dist/gallery/states/api-page-corporate.js +16 -0
- package/dist/gallery/states/api-page-corporate.js.map +1 -0
- package/dist/gallery/states/api-page-no-contract.d.ts +3 -0
- package/dist/gallery/states/api-page-no-contract.d.ts.map +1 -0
- package/dist/gallery/states/api-page-no-contract.js +16 -0
- package/dist/gallery/states/api-page-no-contract.js.map +1 -0
- package/dist/gallery/states/api-page-no-script.d.ts +3 -0
- package/dist/gallery/states/api-page-no-script.d.ts.map +1 -0
- package/dist/gallery/states/api-page-no-script.js +10 -0
- package/dist/gallery/states/api-page-no-script.js.map +1 -0
- package/dist/gallery/states/category-corporate.d.ts +3 -0
- package/dist/gallery/states/category-corporate.d.ts.map +1 -0
- package/dist/gallery/states/category-corporate.js +16 -0
- package/dist/gallery/states/category-corporate.js.map +1 -0
- package/dist/gallery/states/decision-page-corporate.d.ts +3 -0
- package/dist/gallery/states/decision-page-corporate.d.ts.map +1 -0
- package/dist/gallery/states/decision-page-corporate.js +16 -0
- package/dist/gallery/states/decision-page-corporate.js.map +1 -0
- package/dist/gallery/states/document-page-corporate.d.ts +3 -0
- package/dist/gallery/states/document-page-corporate.d.ts.map +1 -0
- package/dist/gallery/states/document-page-corporate.js +16 -0
- package/dist/gallery/states/document-page-corporate.js.map +1 -0
- package/dist/gallery/states/document-page-no-preview.d.ts +3 -0
- package/dist/gallery/states/document-page-no-preview.d.ts.map +1 -0
- package/dist/gallery/states/document-page-no-preview.js +17 -0
- package/dist/gallery/states/document-page-no-preview.js.map +1 -0
- package/dist/gallery/states/document-page-no-script.d.ts +3 -0
- package/dist/gallery/states/document-page-no-script.d.ts.map +1 -0
- package/dist/gallery/states/document-page-no-script.js +10 -0
- package/dist/gallery/states/document-page-no-script.js.map +1 -0
- package/dist/gallery/states/entity-page-contract.d.ts +3 -0
- package/dist/gallery/states/entity-page-contract.d.ts.map +1 -0
- package/dist/gallery/states/entity-page-contract.js +13 -0
- package/dist/gallery/states/entity-page-contract.js.map +1 -0
- package/dist/gallery/states/entity-page-corporate.d.ts +3 -0
- package/dist/gallery/states/entity-page-corporate.d.ts.map +1 -0
- package/dist/gallery/states/entity-page-corporate.js +16 -0
- package/dist/gallery/states/entity-page-corporate.js.map +1 -0
- package/dist/gallery/states/entity-page-dark.d.ts +3 -0
- package/dist/gallery/states/entity-page-dark.d.ts.map +1 -0
- package/dist/gallery/states/entity-page-dark.js +17 -0
- package/dist/gallery/states/entity-page-dark.js.map +1 -0
- package/dist/gallery/states/entity-page-document.d.ts +3 -0
- package/dist/gallery/states/entity-page-document.d.ts.map +1 -0
- package/dist/gallery/states/entity-page-document.js +13 -0
- package/dist/gallery/states/entity-page-document.js.map +1 -0
- package/dist/gallery/states/entity-page-drawer.d.ts +3 -0
- package/dist/gallery/states/entity-page-drawer.d.ts.map +1 -0
- package/dist/gallery/states/entity-page-drawer.js +17 -0
- package/dist/gallery/states/entity-page-drawer.js.map +1 -0
- package/dist/gallery/states/entity-page-empty.d.ts +3 -0
- package/dist/gallery/states/entity-page-empty.d.ts.map +1 -0
- package/dist/gallery/states/entity-page-empty.js +19 -0
- package/dist/gallery/states/entity-page-empty.js.map +1 -0
- package/dist/gallery/states/entity-page-map.d.ts +3 -0
- package/dist/gallery/states/entity-page-map.d.ts.map +1 -0
- package/dist/gallery/states/entity-page-map.js +16 -0
- package/dist/gallery/states/entity-page-map.js.map +1 -0
- package/dist/gallery/states/entity-page-no-property.d.ts +3 -0
- package/dist/gallery/states/entity-page-no-property.d.ts.map +1 -0
- package/dist/gallery/states/entity-page-no-property.js +16 -0
- package/dist/gallery/states/entity-page-no-property.js.map +1 -0
- package/dist/gallery/states/entity-page-no-script.d.ts +3 -0
- package/dist/gallery/states/entity-page-no-script.d.ts.map +1 -0
- package/dist/gallery/states/entity-page-no-script.js +10 -0
- package/dist/gallery/states/entity-page-no-script.js.map +1 -0
- package/dist/gallery/states/entity-page-panel-folded.d.ts +3 -0
- package/dist/gallery/states/entity-page-panel-folded.d.ts.map +1 -0
- package/dist/gallery/states/entity-page-panel-folded.js +17 -0
- package/dist/gallery/states/entity-page-panel-folded.js.map +1 -0
- package/dist/gallery/states/entity-page-phone.d.ts +3 -0
- package/dist/gallery/states/entity-page-phone.d.ts.map +1 -0
- package/dist/gallery/states/entity-page-phone.js +17 -0
- package/dist/gallery/states/entity-page-phone.js.map +1 -0
- package/dist/gallery/states/entity-page-pins.d.ts +3 -0
- package/dist/gallery/states/entity-page-pins.d.ts.map +1 -0
- package/dist/gallery/states/entity-page-pins.js +17 -0
- package/dist/gallery/states/entity-page-pins.js.map +1 -0
- package/dist/gallery/states/entity-page-tablet.d.ts +3 -0
- package/dist/gallery/states/entity-page-tablet.d.ts.map +1 -0
- package/dist/gallery/states/entity-page-tablet.js +17 -0
- package/dist/gallery/states/entity-page-tablet.js.map +1 -0
- package/dist/gallery/states/entity-page-with-twin.d.ts +3 -0
- package/dist/gallery/states/entity-page-with-twin.d.ts.map +1 -0
- package/dist/gallery/states/entity-page-with-twin.js +16 -0
- package/dist/gallery/states/entity-page-with-twin.js.map +1 -0
- package/dist/gallery/states/entity-page.d.ts +3 -0
- package/dist/gallery/states/entity-page.d.ts.map +1 -0
- package/dist/gallery/states/entity-page.js +13 -0
- package/dist/gallery/states/entity-page.js.map +1 -0
- package/dist/gallery/states/footer-alone.d.ts +3 -0
- package/dist/gallery/states/footer-alone.d.ts.map +1 -0
- package/dist/gallery/states/footer-alone.js +16 -0
- package/dist/gallery/states/footer-alone.js.map +1 -0
- package/dist/gallery/states/footer-corporate.d.ts +3 -0
- package/dist/gallery/states/footer-corporate.d.ts.map +1 -0
- package/dist/gallery/states/footer-corporate.js +16 -0
- package/dist/gallery/states/footer-corporate.js.map +1 -0
- package/dist/gallery/states/footer-text.d.ts +3 -0
- package/dist/gallery/states/footer-text.d.ts.map +1 -0
- package/dist/gallery/states/footer-text.js +15 -0
- package/dist/gallery/states/footer-text.js.map +1 -0
- package/dist/gallery/states/header-logo.d.ts +3 -0
- package/dist/gallery/states/header-logo.d.ts.map +1 -0
- package/dist/gallery/states/header-logo.js +15 -0
- package/dist/gallery/states/header-logo.js.map +1 -0
- package/dist/gallery/states/home-corporate.d.ts +3 -0
- package/dist/gallery/states/home-corporate.d.ts.map +1 -0
- package/dist/gallery/states/home-corporate.js +16 -0
- package/dist/gallery/states/home-corporate.js.map +1 -0
- package/dist/gallery/states/home-dark.d.ts +3 -0
- package/dist/gallery/states/home-dark.d.ts.map +1 -0
- package/dist/gallery/states/home-dark.js +17 -0
- package/dist/gallery/states/home-dark.js.map +1 -0
- package/dist/gallery/states/home-no-script.d.ts +3 -0
- package/dist/gallery/states/home-no-script.d.ts.map +1 -0
- package/dist/gallery/states/home-no-script.js +10 -0
- package/dist/gallery/states/home-no-script.js.map +1 -0
- package/dist/gallery/states/home-single-source.d.ts +3 -0
- package/dist/gallery/states/home-single-source.d.ts.map +1 -0
- package/dist/gallery/states/home-single-source.js +16 -0
- package/dist/gallery/states/home-single-source.js.map +1 -0
- package/dist/gallery/states/home.d.ts +3 -0
- package/dist/gallery/states/home.d.ts.map +1 -0
- package/dist/gallery/states/home.js +13 -0
- package/dist/gallery/states/home.js.map +1 -0
- package/dist/gallery/states/index-corporate.d.ts +3 -0
- package/dist/gallery/states/index-corporate.d.ts.map +1 -0
- package/dist/gallery/states/index-corporate.js +16 -0
- package/dist/gallery/states/index-corporate.js.map +1 -0
- package/dist/gallery/states/index-page.d.ts +3 -0
- package/dist/gallery/states/index-page.d.ts.map +1 -0
- package/dist/gallery/states/index-page.js +13 -0
- package/dist/gallery/states/index-page.js.map +1 -0
- package/dist/gallery/states/keyword-page-corporate.d.ts +3 -0
- package/dist/gallery/states/keyword-page-corporate.d.ts.map +1 -0
- package/dist/gallery/states/keyword-page-corporate.js +16 -0
- package/dist/gallery/states/keyword-page-corporate.js.map +1 -0
- package/dist/gallery/states/keyword-page-empty.d.ts +3 -0
- package/dist/gallery/states/keyword-page-empty.d.ts.map +1 -0
- package/dist/gallery/states/keyword-page-empty.js +21 -0
- package/dist/gallery/states/keyword-page-empty.js.map +1 -0
- package/dist/gallery/states/keyword-page-no-script.d.ts +3 -0
- package/dist/gallery/states/keyword-page-no-script.d.ts.map +1 -0
- package/dist/gallery/states/keyword-page-no-script.js +10 -0
- package/dist/gallery/states/keyword-page-no-script.js.map +1 -0
- package/dist/gallery/states/keyword-page-no-timecode.d.ts +3 -0
- package/dist/gallery/states/keyword-page-no-timecode.d.ts.map +1 -0
- package/dist/gallery/states/keyword-page-no-timecode.js +16 -0
- package/dist/gallery/states/keyword-page-no-timecode.js.map +1 -0
- package/dist/gallery/states/keyword-page.d.ts +3 -0
- package/dist/gallery/states/keyword-page.d.ts.map +1 -0
- package/dist/gallery/states/keyword-page.js +13 -0
- package/dist/gallery/states/keyword-page.js.map +1 -0
- package/dist/gallery/states/meeting-page-corporate.d.ts +3 -0
- package/dist/gallery/states/meeting-page-corporate.d.ts.map +1 -0
- package/dist/gallery/states/meeting-page-corporate.js +16 -0
- package/dist/gallery/states/meeting-page-corporate.js.map +1 -0
- package/dist/gallery/states/meeting-page-no-script.d.ts +3 -0
- package/dist/gallery/states/meeting-page-no-script.d.ts.map +1 -0
- package/dist/gallery/states/meeting-page-no-script.js +10 -0
- package/dist/gallery/states/meeting-page-no-script.js.map +1 -0
- package/dist/gallery/states/mentions-panel-empty.d.ts +3 -0
- package/dist/gallery/states/mentions-panel-empty.d.ts.map +1 -0
- package/dist/gallery/states/mentions-panel-empty.js +15 -0
- package/dist/gallery/states/mentions-panel-empty.js.map +1 -0
- package/dist/gallery/states/mentions-panel-island.d.ts +3 -0
- package/dist/gallery/states/mentions-panel-island.d.ts.map +1 -0
- package/dist/gallery/states/mentions-panel-island.js +20 -0
- package/dist/gallery/states/mentions-panel-island.js.map +1 -0
- package/dist/gallery/states/mentions-panel.d.ts +3 -0
- package/dist/gallery/states/mentions-panel.d.ts.map +1 -0
- package/dist/gallery/states/mentions-panel.js +16 -0
- package/dist/gallery/states/mentions-panel.js.map +1 -0
- package/dist/gallery/states/neighbourhood-empty.d.ts +3 -0
- package/dist/gallery/states/neighbourhood-empty.d.ts.map +1 -0
- package/dist/gallery/states/neighbourhood-empty.js +16 -0
- package/dist/gallery/states/neighbourhood-empty.js.map +1 -0
- package/dist/gallery/states/neighbourhood-full.d.ts +3 -0
- package/dist/gallery/states/neighbourhood-full.d.ts.map +1 -0
- package/dist/gallery/states/neighbourhood-full.js +16 -0
- package/dist/gallery/states/neighbourhood-full.js.map +1 -0
- package/dist/gallery/states/neighbourhood-overflow.d.ts +3 -0
- package/dist/gallery/states/neighbourhood-overflow.d.ts.map +1 -0
- package/dist/gallery/states/neighbourhood-overflow.js +16 -0
- package/dist/gallery/states/neighbourhood-overflow.js.map +1 -0
- package/dist/gallery/states/neighbourhood.d.ts +3 -0
- package/dist/gallery/states/neighbourhood.d.ts.map +1 -0
- package/dist/gallery/states/neighbourhood.js +16 -0
- package/dist/gallery/states/neighbourhood.js.map +1 -0
- package/dist/gallery/states/not-found-corporate.d.ts +3 -0
- package/dist/gallery/states/not-found-corporate.d.ts.map +1 -0
- package/dist/gallery/states/not-found-corporate.js +16 -0
- package/dist/gallery/states/not-found-corporate.js.map +1 -0
- package/dist/gallery/states/not-found-nearby.d.ts +3 -0
- package/dist/gallery/states/not-found-nearby.d.ts.map +1 -0
- package/dist/gallery/states/not-found-nearby.js +16 -0
- package/dist/gallery/states/not-found-nearby.js.map +1 -0
- package/dist/gallery/states/screen-page-corporate.d.ts +3 -0
- package/dist/gallery/states/screen-page-corporate.d.ts.map +1 -0
- package/dist/gallery/states/screen-page-corporate.js +16 -0
- package/dist/gallery/states/screen-page-corporate.js.map +1 -0
- package/dist/gallery/states/search-results-corporate.d.ts +3 -0
- package/dist/gallery/states/search-results-corporate.d.ts.map +1 -0
- package/dist/gallery/states/search-results-corporate.js +16 -0
- package/dist/gallery/states/search-results-corporate.js.map +1 -0
- package/dist/gallery/states/search-results-empty.d.ts +3 -0
- package/dist/gallery/states/search-results-empty.d.ts.map +1 -0
- package/dist/gallery/states/search-results-empty.js +13 -0
- package/dist/gallery/states/search-results-empty.js.map +1 -0
- package/dist/gallery/states/search-results-filtered.d.ts +3 -0
- package/dist/gallery/states/search-results-filtered.d.ts.map +1 -0
- package/dist/gallery/states/search-results-filtered.js +16 -0
- package/dist/gallery/states/search-results-filtered.js.map +1 -0
- package/dist/gallery/states/search-results-no-script.d.ts +3 -0
- package/dist/gallery/states/search-results-no-script.d.ts.map +1 -0
- package/dist/gallery/states/search-results-no-script.js +10 -0
- package/dist/gallery/states/search-results-no-script.js.map +1 -0
- package/dist/gallery/states/search-results.d.ts +3 -0
- package/dist/gallery/states/search-results.d.ts.map +1 -0
- package/dist/gallery/states/search-results.js +13 -0
- package/dist/gallery/states/search-results.js.map +1 -0
- package/dist/gallery/states/shell-rtl.d.ts +3 -0
- package/dist/gallery/states/shell-rtl.d.ts.map +1 -0
- package/dist/gallery/states/shell-rtl.js +14 -0
- package/dist/gallery/states/shell-rtl.js.map +1 -0
- package/dist/gallery/states/space-corporate.d.ts +3 -0
- package/dist/gallery/states/space-corporate.d.ts.map +1 -0
- package/dist/gallery/states/space-corporate.js +16 -0
- package/dist/gallery/states/space-corporate.js.map +1 -0
- package/dist/gallery/states/spaces-corporate.d.ts +3 -0
- package/dist/gallery/states/spaces-corporate.d.ts.map +1 -0
- package/dist/gallery/states/spaces-corporate.js +16 -0
- package/dist/gallery/states/spaces-corporate.js.map +1 -0
- package/dist/gallery/states/todo-corporate.d.ts +3 -0
- package/dist/gallery/states/todo-corporate.d.ts.map +1 -0
- package/dist/gallery/states/todo-corporate.js +16 -0
- package/dist/gallery/states/todo-corporate.js.map +1 -0
- package/dist/gallery/states/todo-empty.d.ts +3 -0
- package/dist/gallery/states/todo-empty.d.ts.map +1 -0
- package/dist/gallery/states/todo-empty.js +12 -0
- package/dist/gallery/states/todo-empty.js.map +1 -0
- package/dist/gallery/states/todo.d.ts +3 -0
- package/dist/gallery/states/todo.d.ts.map +1 -0
- package/dist/gallery/states/todo.js +13 -0
- package/dist/gallery/states/todo.js.map +1 -0
- package/dist/gallery/types.d.ts +27 -0
- package/dist/gallery/types.d.ts.map +1 -0
- package/dist/gallery/types.js +107 -0
- package/dist/gallery/types.js.map +1 -0
- package/dist/gallery/width-switch.d.ts +11 -0
- package/dist/gallery/width-switch.d.ts.map +1 -0
- package/dist/gallery/width-switch.js +18 -0
- package/dist/gallery/width-switch.js.map +1 -0
- package/dist/gallery/width.client.d.ts +2 -0
- package/dist/gallery/width.client.d.ts.map +1 -0
- package/dist/gallery/width.client.js +6 -0
- package/dist/gallery/width.client.js.map +1 -0
- package/dist/gallery/width.d.ts +35 -0
- package/dist/gallery/width.d.ts.map +1 -0
- package/dist/gallery/width.js +40 -0
- package/dist/gallery/width.js.map +1 -0
- package/dist/index.d.ts +95 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +82 -0
- package/dist/index.js.map +1 -0
- package/dist/islands/age.client.d.ts +2 -0
- package/dist/islands/age.client.d.ts.map +1 -0
- package/dist/islands/age.client.js +6 -0
- package/dist/islands/age.client.js.map +1 -0
- package/dist/islands/age.d.ts +43 -0
- package/dist/islands/age.d.ts.map +1 -0
- package/dist/islands/age.js +67 -0
- package/dist/islands/age.js.map +1 -0
- package/dist/islands/bundle.d.ts +50 -0
- package/dist/islands/bundle.d.ts.map +1 -0
- package/dist/islands/bundle.js +152 -0
- package/dist/islands/bundle.js.map +1 -0
- package/dist/islands/category-list.client.d.ts +2 -0
- package/dist/islands/category-list.client.d.ts.map +1 -0
- package/dist/islands/category-list.client.js +5 -0
- package/dist/islands/category-list.client.js.map +1 -0
- package/dist/islands/contract-viewer.client.d.ts +2 -0
- package/dist/islands/contract-viewer.client.d.ts.map +1 -0
- package/dist/islands/contract-viewer.client.js +5 -0
- package/dist/islands/contract-viewer.client.js.map +1 -0
- package/dist/islands/document-viewer.client.d.ts +2 -0
- package/dist/islands/document-viewer.client.d.ts.map +1 -0
- package/dist/islands/document-viewer.client.js +10 -0
- package/dist/islands/document-viewer.client.js.map +1 -0
- package/dist/islands/document-viewer.d.ts +41 -0
- package/dist/islands/document-viewer.d.ts.map +1 -0
- package/dist/islands/document-viewer.js +130 -0
- package/dist/islands/document-viewer.js.map +1 -0
- package/dist/islands/editable.d.ts +12 -0
- package/dist/islands/editable.d.ts.map +1 -0
- package/dist/islands/editable.js +12 -0
- package/dist/islands/editable.js.map +1 -0
- package/dist/islands/element.d.ts +3 -0
- package/dist/islands/element.d.ts.map +1 -0
- package/dist/islands/element.js +3 -0
- package/dist/islands/element.js.map +1 -0
- package/dist/islands/island.d.ts +10 -0
- package/dist/islands/island.d.ts.map +1 -0
- package/dist/islands/island.js +24 -0
- package/dist/islands/island.js.map +1 -0
- package/dist/islands/mentions-panel.client.d.ts +2 -0
- package/dist/islands/mentions-panel.client.d.ts.map +1 -0
- package/dist/islands/mentions-panel.client.js +10 -0
- package/dist/islands/mentions-panel.client.js.map +1 -0
- package/dist/islands/mentions-rest.d.ts +22 -0
- package/dist/islands/mentions-rest.d.ts.map +1 -0
- package/dist/islands/mentions-rest.js +44 -0
- package/dist/islands/mentions-rest.js.map +1 -0
- package/dist/islands/mode-switch.client.d.ts +2 -0
- package/dist/islands/mode-switch.client.d.ts.map +1 -0
- package/dist/islands/mode-switch.client.js +14 -0
- package/dist/islands/mode-switch.client.js.map +1 -0
- package/dist/islands/mode-switch.d.ts +54 -0
- package/dist/islands/mode-switch.d.ts.map +1 -0
- package/dist/islands/mode-switch.js +64 -0
- package/dist/islands/mode-switch.js.map +1 -0
- package/dist/islands/mount.d.ts +11 -0
- package/dist/islands/mount.d.ts.map +1 -0
- package/dist/islands/mount.js +14 -0
- package/dist/islands/mount.js.map +1 -0
- package/dist/islands/not-found.client.d.ts +2 -0
- package/dist/islands/not-found.client.d.ts.map +1 -0
- package/dist/islands/not-found.client.js +18 -0
- package/dist/islands/not-found.client.js.map +1 -0
- package/dist/islands/not-found.d.ts +56 -0
- package/dist/islands/not-found.d.ts.map +1 -0
- package/dist/islands/not-found.js +138 -0
- package/dist/islands/not-found.js.map +1 -0
- package/dist/islands/panels.client.d.ts +2 -0
- package/dist/islands/panels.client.d.ts.map +1 -0
- package/dist/islands/panels.client.js +6 -0
- package/dist/islands/panels.client.js.map +1 -0
- package/dist/islands/panels.d.ts +48 -0
- package/dist/islands/panels.d.ts.map +1 -0
- package/dist/islands/panels.js +95 -0
- package/dist/islands/panels.js.map +1 -0
- package/dist/islands/pins.client.d.ts +2 -0
- package/dist/islands/pins.client.d.ts.map +1 -0
- package/dist/islands/pins.client.js +6 -0
- package/dist/islands/pins.client.js.map +1 -0
- package/dist/islands/pins.d.ts +30 -0
- package/dist/islands/pins.d.ts.map +1 -0
- package/dist/islands/pins.js +134 -0
- package/dist/islands/pins.js.map +1 -0
- package/dist/islands/search.client.d.ts +2 -0
- package/dist/islands/search.client.d.ts.map +1 -0
- package/dist/islands/search.client.js +58 -0
- package/dist/islands/search.client.js.map +1 -0
- package/dist/islands/search.d.ts +221 -0
- package/dist/islands/search.d.ts.map +1 -0
- package/dist/islands/search.js +606 -0
- package/dist/islands/search.js.map +1 -0
- package/dist/islands/shards.d.ts +27 -0
- package/dist/islands/shards.d.ts.map +1 -0
- package/dist/islands/shards.js +39 -0
- package/dist/islands/shards.js.map +1 -0
- package/dist/islands/tabs.client.d.ts +2 -0
- package/dist/islands/tabs.client.d.ts.map +1 -0
- package/dist/islands/tabs.client.js +6 -0
- package/dist/islands/tabs.client.js.map +1 -0
- package/dist/islands/tabs.d.ts +24 -0
- package/dist/islands/tabs.d.ts.map +1 -0
- package/dist/islands/tabs.js +79 -0
- package/dist/islands/tabs.js.map +1 -0
- package/dist/islands/toc.client.d.ts +2 -0
- package/dist/islands/toc.client.d.ts.map +1 -0
- package/dist/islands/toc.client.js +11 -0
- package/dist/islands/toc.client.js.map +1 -0
- package/dist/islands/toc.d.ts +37 -0
- package/dist/islands/toc.d.ts.map +1 -0
- package/dist/islands/toc.js +50 -0
- package/dist/islands/toc.js.map +1 -0
- package/dist/islands/trail.client.d.ts +2 -0
- package/dist/islands/trail.client.d.ts.map +1 -0
- package/dist/islands/trail.client.js +12 -0
- package/dist/islands/trail.client.js.map +1 -0
- package/dist/islands/trail.d.ts +95 -0
- package/dist/islands/trail.d.ts.map +1 -0
- package/dist/islands/trail.js +223 -0
- package/dist/islands/trail.js.map +1 -0
- package/dist/islands/viewer-pdf.client.d.ts +7 -0
- package/dist/islands/viewer-pdf.client.d.ts.map +1 -0
- package/dist/islands/viewer-pdf.client.js +13 -0
- package/dist/islands/viewer-pdf.client.js.map +1 -0
- package/dist/islands/viewer-pdf.d.ts +50 -0
- package/dist/islands/viewer-pdf.d.ts.map +1 -0
- package/dist/islands/viewer-pdf.js +157 -0
- package/dist/islands/viewer-pdf.js.map +1 -0
- package/dist/markdown/figures.d.ts +16 -0
- package/dist/markdown/figures.d.ts.map +1 -0
- package/dist/markdown/figures.js +26 -0
- package/dist/markdown/figures.js.map +1 -0
- package/dist/markdown/marks.d.ts +14 -0
- package/dist/markdown/marks.d.ts.map +1 -0
- package/dist/markdown/marks.js +10 -0
- package/dist/markdown/marks.js.map +1 -0
- package/dist/markdown/render.d.ts +67 -0
- package/dist/markdown/render.d.ts.map +1 -0
- package/dist/markdown/render.js +402 -0
- package/dist/markdown/render.js.map +1 -0
- package/dist/mode.d.ts +21 -0
- package/dist/mode.d.ts.map +1 -0
- package/dist/mode.js +25 -0
- package/dist/mode.js.map +1 -0
- package/dist/neighbourhood/layout.d.ts +58 -0
- package/dist/neighbourhood/layout.d.ts.map +1 -0
- package/dist/neighbourhood/layout.js +171 -0
- package/dist/neighbourhood/layout.js.map +1 -0
- package/dist/order.d.ts +2 -0
- package/dist/order.d.ts.map +1 -0
- package/dist/order.js +5 -0
- package/dist/order.js.map +1 -0
- package/dist/panels.d.ts +21 -0
- package/dist/panels.d.ts.map +1 -0
- package/dist/panels.js +31 -0
- package/dist/panels.js.map +1 -0
- package/dist/pins.d.ts +46 -0
- package/dist/pins.d.ts.map +1 -0
- package/dist/pins.js +132 -0
- package/dist/pins.js.map +1 -0
- package/dist/render.d.ts +38 -0
- package/dist/render.d.ts.map +1 -0
- package/dist/render.js +64 -0
- package/dist/render.js.map +1 -0
- package/dist/search/build.d.ts +91 -0
- package/dist/search/build.d.ts.map +1 -0
- package/dist/search/build.js +256 -0
- package/dist/search/build.js.map +1 -0
- package/dist/search/facets.d.ts +40 -0
- package/dist/search/facets.d.ts.map +1 -0
- package/dist/search/facets.js +159 -0
- package/dist/search/facets.js.map +1 -0
- package/dist/search/highlight.d.ts +13 -0
- package/dist/search/highlight.d.ts.map +1 -0
- package/dist/search/highlight.js +72 -0
- package/dist/search/highlight.js.map +1 -0
- package/dist/search/shared.d.ts +194 -0
- package/dist/search/shared.d.ts.map +1 -0
- package/dist/search/shared.js +166 -0
- package/dist/search/shared.js.map +1 -0
- package/dist/search/state.d.ts +30 -0
- package/dist/search/state.d.ts.map +1 -0
- package/dist/search/state.js +82 -0
- package/dist/search/state.js.map +1 -0
- package/dist/slots.d.ts +1768 -0
- package/dist/slots.d.ts.map +1 -0
- package/dist/slots.js +57 -0
- package/dist/slots.js.map +1 -0
- package/dist/theme/chrome.d.ts +30 -0
- package/dist/theme/chrome.d.ts.map +1 -0
- package/dist/theme/chrome.js +59 -0
- package/dist/theme/chrome.js.map +1 -0
- package/dist/theme/context.d.ts +18 -0
- package/dist/theme/context.d.ts.map +1 -0
- package/dist/theme/context.js +38 -0
- package/dist/theme/context.js.map +1 -0
- package/dist/theme/default/about.d.ts +12 -0
- package/dist/theme/default/about.d.ts.map +1 -0
- package/dist/theme/default/about.js +88 -0
- package/dist/theme/default/about.js.map +1 -0
- package/dist/theme/default/age-notice.d.ts +36 -0
- package/dist/theme/default/age-notice.d.ts.map +1 -0
- package/dist/theme/default/age-notice.js +18 -0
- package/dist/theme/default/age-notice.js.map +1 -0
- package/dist/theme/default/api-page.d.ts +28 -0
- package/dist/theme/default/api-page.d.ts.map +1 -0
- package/dist/theme/default/api-page.js +47 -0
- package/dist/theme/default/api-page.js.map +1 -0
- package/dist/theme/default/attributes.d.ts +20 -0
- package/dist/theme/default/attributes.d.ts.map +1 -0
- package/dist/theme/default/attributes.js +20 -0
- package/dist/theme/default/attributes.js.map +1 -0
- package/dist/theme/default/category-island.d.ts +80 -0
- package/dist/theme/default/category-island.d.ts.map +1 -0
- package/dist/theme/default/category-island.js +161 -0
- package/dist/theme/default/category-island.js.map +1 -0
- package/dist/theme/default/category-list.d.ts +14 -0
- package/dist/theme/default/category-list.d.ts.map +1 -0
- package/dist/theme/default/category-list.js +47 -0
- package/dist/theme/default/category-list.js.map +1 -0
- package/dist/theme/default/contract-section.d.ts +13 -0
- package/dist/theme/default/contract-section.d.ts.map +1 -0
- package/dist/theme/default/contract-section.js +66 -0
- package/dist/theme/default/contract-section.js.map +1 -0
- package/dist/theme/default/contract-viewer.d.ts +46 -0
- package/dist/theme/default/contract-viewer.d.ts.map +1 -0
- package/dist/theme/default/contract-viewer.js +105 -0
- package/dist/theme/default/contract-viewer.js.map +1 -0
- package/dist/theme/default/decision-page.d.ts +24 -0
- package/dist/theme/default/decision-page.d.ts.map +1 -0
- package/dist/theme/default/decision-page.js +91 -0
- package/dist/theme/default/decision-page.js.map +1 -0
- package/dist/theme/default/document-page.d.ts +23 -0
- package/dist/theme/default/document-page.d.ts.map +1 -0
- package/dist/theme/default/document-page.js +143 -0
- package/dist/theme/default/document-page.js.map +1 -0
- package/dist/theme/default/document-viewer.d.ts +70 -0
- package/dist/theme/default/document-viewer.d.ts.map +1 -0
- package/dist/theme/default/document-viewer.js +93 -0
- package/dist/theme/default/document-viewer.js.map +1 -0
- package/dist/theme/default/drawer.d.ts +20 -0
- package/dist/theme/default/drawer.d.ts.map +1 -0
- package/dist/theme/default/drawer.js +25 -0
- package/dist/theme/default/drawer.js.map +1 -0
- package/dist/theme/default/entity-page.d.ts +75 -0
- package/dist/theme/default/entity-page.d.ts.map +1 -0
- package/dist/theme/default/entity-page.js +140 -0
- package/dist/theme/default/entity-page.js.map +1 -0
- package/dist/theme/default/footer.d.ts +15 -0
- package/dist/theme/default/footer.d.ts.map +1 -0
- package/dist/theme/default/footer.js +57 -0
- package/dist/theme/default/footer.js.map +1 -0
- package/dist/theme/default/glyphs.d.ts +19 -0
- package/dist/theme/default/glyphs.d.ts.map +1 -0
- package/dist/theme/default/glyphs.js +56 -0
- package/dist/theme/default/glyphs.js.map +1 -0
- package/dist/theme/default/grouped-files.d.ts +12 -0
- package/dist/theme/default/grouped-files.d.ts.map +1 -0
- package/dist/theme/default/grouped-files.js +11 -0
- package/dist/theme/default/grouped-files.js.map +1 -0
- package/dist/theme/default/header.d.ts +11 -0
- package/dist/theme/default/header.d.ts.map +1 -0
- package/dist/theme/default/header.js +23 -0
- package/dist/theme/default/header.js.map +1 -0
- package/dist/theme/default/home.d.ts +13 -0
- package/dist/theme/default/home.d.ts.map +1 -0
- package/dist/theme/default/home.js +45 -0
- package/dist/theme/default/home.js.map +1 -0
- package/dist/theme/default/index-page.d.ts +29 -0
- package/dist/theme/default/index-page.d.ts.map +1 -0
- package/dist/theme/default/index-page.js +97 -0
- package/dist/theme/default/index-page.js.map +1 -0
- package/dist/theme/default/index.d.ts +13 -0
- package/dist/theme/default/index.d.ts.map +1 -0
- package/dist/theme/default/index.js +55 -0
- package/dist/theme/default/index.js.map +1 -0
- package/dist/theme/default/keyword-page.d.ts +20 -0
- package/dist/theme/default/keyword-page.d.ts.map +1 -0
- package/dist/theme/default/keyword-page.js +68 -0
- package/dist/theme/default/keyword-page.js.map +1 -0
- package/dist/theme/default/labels.d.ts +223 -0
- package/dist/theme/default/labels.d.ts.map +1 -0
- package/dist/theme/default/labels.js +223 -0
- package/dist/theme/default/labels.js.map +1 -0
- package/dist/theme/default/meeting-page.d.ts +20 -0
- package/dist/theme/default/meeting-page.d.ts.map +1 -0
- package/dist/theme/default/meeting-page.js +122 -0
- package/dist/theme/default/meeting-page.js.map +1 -0
- package/dist/theme/default/mention-list.d.ts +70 -0
- package/dist/theme/default/mention-list.d.ts.map +1 -0
- package/dist/theme/default/mention-list.js +99 -0
- package/dist/theme/default/mention-list.js.map +1 -0
- package/dist/theme/default/mentions-island.d.ts +100 -0
- package/dist/theme/default/mentions-island.d.ts.map +1 -0
- package/dist/theme/default/mentions-island.js +169 -0
- package/dist/theme/default/mentions-island.js.map +1 -0
- package/dist/theme/default/mentions-more.d.ts +22 -0
- package/dist/theme/default/mentions-more.d.ts.map +1 -0
- package/dist/theme/default/mentions-more.js +25 -0
- package/dist/theme/default/mentions-more.js.map +1 -0
- package/dist/theme/default/mentions-panel.d.ts +16 -0
- package/dist/theme/default/mentions-panel.d.ts.map +1 -0
- package/dist/theme/default/mentions-panel.js +50 -0
- package/dist/theme/default/mentions-panel.js.map +1 -0
- package/dist/theme/default/mode-switch.d.ts +9 -0
- package/dist/theme/default/mode-switch.d.ts.map +1 -0
- package/dist/theme/default/mode-switch.js +19 -0
- package/dist/theme/default/mode-switch.js.map +1 -0
- package/dist/theme/default/neighbourhood.d.ts +29 -0
- package/dist/theme/default/neighbourhood.d.ts.map +1 -0
- package/dist/theme/default/neighbourhood.js +146 -0
- package/dist/theme/default/neighbourhood.js.map +1 -0
- package/dist/theme/default/not-found.d.ts +14 -0
- package/dist/theme/default/not-found.d.ts.map +1 -0
- package/dist/theme/default/not-found.js +27 -0
- package/dist/theme/default/not-found.js.map +1 -0
- package/dist/theme/default/page-notice.d.ts +10 -0
- package/dist/theme/default/page-notice.d.ts.map +1 -0
- package/dist/theme/default/page-notice.js +11 -0
- package/dist/theme/default/page-notice.js.map +1 -0
- package/dist/theme/default/panel-block.d.ts +14 -0
- package/dist/theme/default/panel-block.d.ts.map +1 -0
- package/dist/theme/default/panel-block.js +9 -0
- package/dist/theme/default/panel-block.js.map +1 -0
- package/dist/theme/default/panel-handle.d.ts +29 -0
- package/dist/theme/default/panel-handle.d.ts.map +1 -0
- package/dist/theme/default/panel-handle.js +35 -0
- package/dist/theme/default/panel-handle.js.map +1 -0
- package/dist/theme/default/pins.d.ts +22 -0
- package/dist/theme/default/pins.d.ts.map +1 -0
- package/dist/theme/default/pins.js +53 -0
- package/dist/theme/default/pins.js.map +1 -0
- package/dist/theme/default/plugin.d.ts +11 -0
- package/dist/theme/default/plugin.d.ts.map +1 -0
- package/dist/theme/default/plugin.js +28 -0
- package/dist/theme/default/plugin.js.map +1 -0
- package/dist/theme/default/result-list.d.ts +13 -0
- package/dist/theme/default/result-list.d.ts.map +1 -0
- package/dist/theme/default/result-list.js +27 -0
- package/dist/theme/default/result-list.js.map +1 -0
- package/dist/theme/default/search-island.d.ts +29 -0
- package/dist/theme/default/search-island.d.ts.map +1 -0
- package/dist/theme/default/search-island.js +45 -0
- package/dist/theme/default/search-island.js.map +1 -0
- package/dist/theme/default/search-results.d.ts +12 -0
- package/dist/theme/default/search-results.d.ts.map +1 -0
- package/dist/theme/default/search-results.js +85 -0
- package/dist/theme/default/search-results.js.map +1 -0
- package/dist/theme/default/search-suggestions.d.ts +51 -0
- package/dist/theme/default/search-suggestions.d.ts.map +1 -0
- package/dist/theme/default/search-suggestions.js +55 -0
- package/dist/theme/default/search-suggestions.js.map +1 -0
- package/dist/theme/default/shell.d.ts +4 -0
- package/dist/theme/default/shell.d.ts.map +1 -0
- package/dist/theme/default/shell.js +16 -0
- package/dist/theme/default/shell.js.map +1 -0
- package/dist/theme/default/space-tree.d.ts +24 -0
- package/dist/theme/default/space-tree.d.ts.map +1 -0
- package/dist/theme/default/space-tree.js +50 -0
- package/dist/theme/default/space-tree.js.map +1 -0
- package/dist/theme/default/space.d.ts +14 -0
- package/dist/theme/default/space.d.ts.map +1 -0
- package/dist/theme/default/space.js +47 -0
- package/dist/theme/default/space.js.map +1 -0
- package/dist/theme/default/spaces.d.ts +12 -0
- package/dist/theme/default/spaces.d.ts.map +1 -0
- package/dist/theme/default/spaces.js +35 -0
- package/dist/theme/default/spaces.js.map +1 -0
- package/dist/theme/default/tabs.d.ts +38 -0
- package/dist/theme/default/tabs.d.ts.map +1 -0
- package/dist/theme/default/tabs.js +29 -0
- package/dist/theme/default/tabs.js.map +1 -0
- package/dist/theme/default/toc.d.ts +19 -0
- package/dist/theme/default/toc.d.ts.map +1 -0
- package/dist/theme/default/toc.js +26 -0
- package/dist/theme/default/toc.js.map +1 -0
- package/dist/theme/default/todo.d.ts +8 -0
- package/dist/theme/default/todo.d.ts.map +1 -0
- package/dist/theme/default/todo.js +33 -0
- package/dist/theme/default/todo.js.map +1 -0
- package/dist/theme/default/trail.d.ts +9 -0
- package/dist/theme/default/trail.d.ts.map +1 -0
- package/dist/theme/default/trail.js +24 -0
- package/dist/theme/default/trail.js.map +1 -0
- package/dist/theme/load.d.ts +45 -0
- package/dist/theme/load.d.ts.map +1 -0
- package/dist/theme/load.js +123 -0
- package/dist/theme/load.js.map +1 -0
- package/dist/theme/node-loader.d.ts +10 -0
- package/dist/theme/node-loader.d.ts.map +1 -0
- package/dist/theme/node-loader.js +36 -0
- package/dist/theme/node-loader.js.map +1 -0
- package/dist/theme/resolve.d.ts +27 -0
- package/dist/theme/resolve.d.ts.map +1 -0
- package/dist/theme/resolve.js +184 -0
- package/dist/theme/resolve.js.map +1 -0
- package/dist/theme/types.d.ts +44 -0
- package/dist/theme/types.d.ts.map +1 -0
- package/dist/theme/types.js +2 -0
- package/dist/theme/types.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { RootContent } from "mdast";
|
|
2
|
+
import type { Section } from "../slots.js";
|
|
3
|
+
/** Class of an anchor the author wrote whose target is a page of the site. */
|
|
4
|
+
export declare const WRITTEN_CLASS = "written";
|
|
5
|
+
/** Class of an anchor the build added around a word the scan recognised, whose entity has a note. */
|
|
6
|
+
export declare const RECOGNISED_CLASS = "recognised";
|
|
7
|
+
/** Class of an anchor the build added around a recognised expression that has no note, only a keyword page. */
|
|
8
|
+
export declare const RECOGNISED_KEYWORD_CLASS = "recognised-keyword";
|
|
9
|
+
/** What kind of node a target was written on. */
|
|
10
|
+
export type TargetKind = "link" | "image" | "definition";
|
|
11
|
+
/** A word the scan recognised in a note, to be linked in the text. */
|
|
12
|
+
export interface RecognisedSpan {
|
|
13
|
+
/** Line of the paragraph, list item, table row or quote the word was read in. */
|
|
14
|
+
line: number;
|
|
15
|
+
/** The word as written in the text. */
|
|
16
|
+
text: string;
|
|
17
|
+
/**
|
|
18
|
+
* The page of the entity the word names; absent for a word that is passed over without a
|
|
19
|
+
* link, the page's own name for instance, so that the words after it stay in step.
|
|
20
|
+
*/
|
|
21
|
+
href?: string;
|
|
22
|
+
/**
|
|
23
|
+
* What the mark tells on hover and to assistive technology, worded in the site language: the
|
|
24
|
+
* title of the note, or the number of passages of an expression without one.
|
|
25
|
+
*/
|
|
26
|
+
title?: string;
|
|
27
|
+
/** True for an expression that has no note, only a keyword page: its mark is the keyword one. */
|
|
28
|
+
keyword?: boolean;
|
|
29
|
+
}
|
|
30
|
+
export interface MarkdownOptions {
|
|
31
|
+
/**
|
|
32
|
+
* The href a link, image or definition target is rewritten to; undefined keeps the target as
|
|
33
|
+
* written, null drops the link (its text stays), the image or the definition, for a file of the
|
|
34
|
+
* repository that has no page. A rewritten link or definition is marked as written.
|
|
35
|
+
*/
|
|
36
|
+
resolveHref?: (target: string, kind: TargetKind) => string | null | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* The recognised words of the note, in text order: each one is wrapped in a marked anchor where
|
|
39
|
+
* its text is found in its unit, unless it sits inside a link already or its page was marked
|
|
40
|
+
* higher up on the page, by a written link or by a recognised word.
|
|
41
|
+
*/
|
|
42
|
+
recognised?: readonly RecognisedSpan[];
|
|
43
|
+
/**
|
|
44
|
+
* The path of an image of the sources in its repository, for its target as written; undefined
|
|
45
|
+
* for any other image. An image of the sources that holds a paragraph of its own is rendered as
|
|
46
|
+
* a figure captioned with its alternative text and that path; an image among text stays inline.
|
|
47
|
+
*/
|
|
48
|
+
imagePath?: (target: string) => string | undefined;
|
|
49
|
+
}
|
|
50
|
+
export interface RenderedMarkdown {
|
|
51
|
+
/** Text of the first H1, which titles the page and is left out of the sections. */
|
|
52
|
+
title?: string;
|
|
53
|
+
/** The lead before the first H2, when there is one, then one section per H1 or H2. */
|
|
54
|
+
sections: Section[];
|
|
55
|
+
/** The plain text of the sections, headings included and code blocks left out, one block per line: what the search index reads. */
|
|
56
|
+
text: string;
|
|
57
|
+
}
|
|
58
|
+
/** Identifier of the section before the first heading; every other section is `section-<slug>`. */
|
|
59
|
+
export declare const LEAD_SECTION_ID = "section-lead";
|
|
60
|
+
/** The prose of a list of nodes, one block per line, blank lines removed. */
|
|
61
|
+
export declare function plainText(nodes: RootContent[]): string;
|
|
62
|
+
/**
|
|
63
|
+
* A note as the entity page shows it: the frontmatter and the first H1 removed, the body split
|
|
64
|
+
* into sections at every H1 or H2, each rendered to sanitised HTML.
|
|
65
|
+
*/
|
|
66
|
+
export declare function renderMarkdown(text: string, options?: MarkdownOptions): RenderedMarkdown;
|
|
67
|
+
//# sourceMappingURL=render.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/markdown/render.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EASV,WAAW,EAEZ,MAAM,OAAO,CAAC;AASf,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAG3C,8EAA8E;AAC9E,eAAO,MAAM,aAAa,YAAY,CAAC;AACvC,qGAAqG;AACrG,eAAO,MAAM,gBAAgB,eAAe,CAAC;AAC7C,+GAA+G;AAC/G,eAAO,MAAM,wBAAwB,uBAAuB,CAAC;AAI7D,iDAAiD;AACjD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,CAAC;AAEzD,sEAAsE;AACtE,MAAM,WAAW,cAAc;IAC7B,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iGAAiG;IACjG,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC9E;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IACvC;;;;OAIG;IACH,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CACpD;AAED,MAAM,WAAW,gBAAgB;IAC/B,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,mIAAmI;IACnI,IAAI,EAAE,MAAM,CAAC;CACd;AAED,mGAAmG;AACnG,eAAO,MAAM,eAAe,iBAAiB,CAAC;AAyE9C,6EAA6E;AAC7E,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,CAOtD;AA0UD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,gBAAgB,CAsD5F"}
|
|
@@ -0,0 +1,402 @@
|
|
|
1
|
+
import { slugify } from "@concordance-wiki/core";
|
|
2
|
+
import rehypeSanitize, { defaultSchema } from "rehype-sanitize";
|
|
3
|
+
import rehypeStringify from "rehype-stringify";
|
|
4
|
+
import remarkFrontmatter from "remark-frontmatter";
|
|
5
|
+
import remarkGfm from "remark-gfm";
|
|
6
|
+
import remarkParse from "remark-parse";
|
|
7
|
+
import remarkRehype from "remark-rehype";
|
|
8
|
+
import { unified } from "unified";
|
|
9
|
+
import { FIGURE_CAPTION_CLASS, FIGURE_CLASS, FIGURE_PATH_CLASS } from "./figures.js";
|
|
10
|
+
/** Class of an anchor the author wrote whose target is a page of the site. */
|
|
11
|
+
export const WRITTEN_CLASS = "written";
|
|
12
|
+
/** Class of an anchor the build added around a word the scan recognised, whose entity has a note. */
|
|
13
|
+
export const RECOGNISED_CLASS = "recognised";
|
|
14
|
+
/** Class of an anchor the build added around a recognised expression that has no note, only a keyword page. */
|
|
15
|
+
export const RECOGNISED_KEYWORD_CLASS = "recognised-keyword";
|
|
16
|
+
/** Class of the text a mark carries for assistive technology, hidden from sight; the base stylesheet defines it. */
|
|
17
|
+
const HIDDEN_CLASS = "visually-hidden";
|
|
18
|
+
/** Identifier of the section before the first heading; every other section is `section-<slug>`. */
|
|
19
|
+
export const LEAD_SECTION_ID = "section-lead";
|
|
20
|
+
const parser = unified().use(remarkParse).use(remarkGfm).use(remarkFrontmatter);
|
|
21
|
+
// The default schema declares the attributes of every element it allows, anchors and code among them.
|
|
22
|
+
const defaultRules = defaultSchema.attributes;
|
|
23
|
+
// The default schema lists the elements it allows.
|
|
24
|
+
const defaultTags = defaultSchema.tagNames;
|
|
25
|
+
/** The rules of an element, the given classes allowed on it besides the ones the default schema names. */
|
|
26
|
+
function withClasses(rules, ...classes) {
|
|
27
|
+
return rules.map((rule) => Array.isArray(rule) && rule[0] === "className" ? [...rule, ...classes] : rule);
|
|
28
|
+
}
|
|
29
|
+
// The default schema, plus the classes the build sets on anchors and on the figures of the images
|
|
30
|
+
// of the sources; nothing else of a note reaches a page.
|
|
31
|
+
const schema = {
|
|
32
|
+
...defaultSchema,
|
|
33
|
+
tagNames: [...defaultTags, "figure", "figcaption"],
|
|
34
|
+
attributes: {
|
|
35
|
+
...defaultSchema.attributes,
|
|
36
|
+
a: withClasses(defaultRules.a, WRITTEN_CLASS, RECOGNISED_CLASS, RECOGNISED_KEYWORD_CLASS),
|
|
37
|
+
code: withClasses(defaultRules.code, FIGURE_PATH_CLASS),
|
|
38
|
+
figure: [["className", FIGURE_CLASS]],
|
|
39
|
+
span: [["className", FIGURE_CAPTION_CLASS, HIDDEN_CLASS]],
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
// Raw HTML is dropped and the remaining tree is sanitised: a note never injects markup or scripts in a page.
|
|
43
|
+
const compiler = unified().use(remarkRehype).use(rehypeSanitize, schema).use(rehypeStringify);
|
|
44
|
+
function textOf(node) {
|
|
45
|
+
if ("value" in node) {
|
|
46
|
+
return node.value;
|
|
47
|
+
}
|
|
48
|
+
return "children" in node ? node.children.map(textOf).join("") : "";
|
|
49
|
+
}
|
|
50
|
+
/** Nodes whose text is not prose: code is not searched, raw HTML is dropped from the page too. */
|
|
51
|
+
const SILENT = new Set(["code", "html"]);
|
|
52
|
+
/** Nodes whose children follow one another as blocks rather than inline. */
|
|
53
|
+
const BLOCK_CONTAINERS = new Set([
|
|
54
|
+
"root",
|
|
55
|
+
"list",
|
|
56
|
+
"listItem",
|
|
57
|
+
"blockquote",
|
|
58
|
+
"table",
|
|
59
|
+
"tableRow",
|
|
60
|
+
"footnoteDefinition",
|
|
61
|
+
]);
|
|
62
|
+
function plainTextOf(node) {
|
|
63
|
+
if (SILENT.has(node.type)) {
|
|
64
|
+
return "";
|
|
65
|
+
}
|
|
66
|
+
if ("value" in node) {
|
|
67
|
+
return node.value;
|
|
68
|
+
}
|
|
69
|
+
if (node.type === "break") {
|
|
70
|
+
return " ";
|
|
71
|
+
}
|
|
72
|
+
if (!("children" in node)) {
|
|
73
|
+
return "";
|
|
74
|
+
}
|
|
75
|
+
const parts = node.children.map(plainTextOf);
|
|
76
|
+
return BLOCK_CONTAINERS.has(node.type) ? parts.join("\n") : parts.join("");
|
|
77
|
+
}
|
|
78
|
+
/** The prose of a list of nodes, one block per line, blank lines removed. */
|
|
79
|
+
export function plainText(nodes) {
|
|
80
|
+
const root = { type: "root", children: nodes };
|
|
81
|
+
return plainTextOf(root)
|
|
82
|
+
.split("\n")
|
|
83
|
+
.map((line) => line.trim())
|
|
84
|
+
.filter((line) => line !== "")
|
|
85
|
+
.join("\n");
|
|
86
|
+
}
|
|
87
|
+
function replacement(node) {
|
|
88
|
+
return node.type === "link" ? node.children : [];
|
|
89
|
+
}
|
|
90
|
+
function markAs(node, className) {
|
|
91
|
+
node.data = { ...node.data, hProperties: { className: [className] } };
|
|
92
|
+
}
|
|
93
|
+
/** The page a href leads to, its anchor left out: what the first-occurrence rule counts a mark under. */
|
|
94
|
+
function pageOf(href) {
|
|
95
|
+
const hash = href.indexOf("#");
|
|
96
|
+
return hash === -1 ? href : href.slice(0, hash);
|
|
97
|
+
}
|
|
98
|
+
/** The first H1 titles the page and every H1 or H2 heads a section as text: a mark in one never shows. */
|
|
99
|
+
function isTitleHeading(node) {
|
|
100
|
+
return node.type === "heading" && node.depth <= 2;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Rewrites the targets under a node, depth first; a dropped link leaves its children in its
|
|
104
|
+
* place. A rewritten link that shows on the page is recorded as a written mark.
|
|
105
|
+
*/
|
|
106
|
+
function rewriteTargets(parent, rewriting, shown = true) {
|
|
107
|
+
parent.children = parent.children.flatMap((child) => {
|
|
108
|
+
if (child.type === "link" || child.type === "image" || child.type === "definition") {
|
|
109
|
+
const resolved = rewriting.resolveHref(child.url, child.type);
|
|
110
|
+
if (resolved === null) {
|
|
111
|
+
return replacement(child);
|
|
112
|
+
}
|
|
113
|
+
if (resolved !== undefined) {
|
|
114
|
+
child.url = resolved;
|
|
115
|
+
if (child.type === "link") {
|
|
116
|
+
markAs(child, WRITTEN_CLASS);
|
|
117
|
+
if (shown)
|
|
118
|
+
rewriting.written.push({ line: lineOf(child), page: pageOf(resolved) });
|
|
119
|
+
}
|
|
120
|
+
if (child.type === "definition")
|
|
121
|
+
rewriting.definitions.set(child.identifier, resolved);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
if ("children" in child) {
|
|
125
|
+
rewriteTargets(child, rewriting, shown && !isTitleHeading(child));
|
|
126
|
+
}
|
|
127
|
+
return [child];
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
function markReferences(parent, rewriting, shown = true) {
|
|
131
|
+
for (const child of parent.children) {
|
|
132
|
+
const href = child.type === "linkReference" ? rewriting.definitions.get(child.identifier) : undefined;
|
|
133
|
+
if (child.type === "linkReference" && href !== undefined) {
|
|
134
|
+
markAs(child, WRITTEN_CLASS);
|
|
135
|
+
if (shown)
|
|
136
|
+
rewriting.written.push({ line: lineOf(child), page: pageOf(href) });
|
|
137
|
+
}
|
|
138
|
+
if ("children" in child) {
|
|
139
|
+
markReferences(child, rewriting, shown && !isTitleHeading(child));
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
function lineOf(node) {
|
|
144
|
+
// remark-parse positions every node it produces; the field is optional only for synthetic trees.
|
|
145
|
+
return node.position.start.line;
|
|
146
|
+
}
|
|
147
|
+
/** The text nodes under a node, links left out: a recognised word inside a link stays as it is. */
|
|
148
|
+
function textSlots(parent, slots = []) {
|
|
149
|
+
for (const child of parent.children) {
|
|
150
|
+
if (child.type === "text") {
|
|
151
|
+
slots.push({ parent, node: child });
|
|
152
|
+
}
|
|
153
|
+
else if ("children" in child && child.type !== "link" && child.type !== "linkReference") {
|
|
154
|
+
textSlots(child, slots);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
return slots;
|
|
158
|
+
}
|
|
159
|
+
/** The units of a block in document order, cut as the scan cuts them so that lines match; the headings rendered as text are not read. */
|
|
160
|
+
function unitsOf(block) {
|
|
161
|
+
if (isTitleHeading(block)) {
|
|
162
|
+
return [];
|
|
163
|
+
}
|
|
164
|
+
switch (block.type) {
|
|
165
|
+
case "heading":
|
|
166
|
+
case "paragraph":
|
|
167
|
+
return [{ line: lineOf(block), slots: textSlots(block) }];
|
|
168
|
+
case "blockquote":
|
|
169
|
+
case "footnoteDefinition":
|
|
170
|
+
return block.children.flatMap(unitsOf);
|
|
171
|
+
case "list":
|
|
172
|
+
return block.children.flatMap((item) => [
|
|
173
|
+
{
|
|
174
|
+
line: lineOf(item),
|
|
175
|
+
slots: item.children
|
|
176
|
+
.filter((child) => child.type !== "list")
|
|
177
|
+
.flatMap((child) => ("children" in child ? textSlots(child) : [])),
|
|
178
|
+
},
|
|
179
|
+
...item.children.filter((child) => child.type === "list").flatMap(unitsOf),
|
|
180
|
+
]);
|
|
181
|
+
case "table":
|
|
182
|
+
return block.children.flatMap((row) => row.children.map((cell) => ({ line: lineOf(cell), slots: textSlots(cell) })));
|
|
183
|
+
default:
|
|
184
|
+
return [];
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
function recognisedLink(span, href) {
|
|
188
|
+
const className = span.keyword === true ? RECOGNISED_KEYWORD_CLASS : RECOGNISED_CLASS;
|
|
189
|
+
const text = { type: "text", value: span.text };
|
|
190
|
+
return {
|
|
191
|
+
type: "link",
|
|
192
|
+
url: href,
|
|
193
|
+
data: {
|
|
194
|
+
hProperties: {
|
|
195
|
+
className: [className],
|
|
196
|
+
...(span.title === undefined ? {} : { title: span.title }),
|
|
197
|
+
},
|
|
198
|
+
// The title again as hidden text, so that the dots and dashes never carry the information
|
|
199
|
+
// alone; given as markup so that the plain text of the note does not read it.
|
|
200
|
+
...(span.title === undefined
|
|
201
|
+
? {}
|
|
202
|
+
: {
|
|
203
|
+
hChildren: [
|
|
204
|
+
text,
|
|
205
|
+
hastElement("span", { className: [HIDDEN_CLASS] }, [
|
|
206
|
+
{ type: "text", value: ` (${span.title})` },
|
|
207
|
+
]),
|
|
208
|
+
],
|
|
209
|
+
}),
|
|
210
|
+
},
|
|
211
|
+
children: [{ type: "text", value: span.text }],
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Wraps the span in the first slot from `cursor` whose text holds it and returns where the next
|
|
216
|
+
* search starts, past the mark; undefined when the text is not found.
|
|
217
|
+
*/
|
|
218
|
+
function wrap(slots, cursor, span) {
|
|
219
|
+
for (const [index, slot] of slots.entries()) {
|
|
220
|
+
if (index < cursor)
|
|
221
|
+
continue;
|
|
222
|
+
const at = slot.node.value.indexOf(span.text);
|
|
223
|
+
if (at === -1)
|
|
224
|
+
continue;
|
|
225
|
+
const before = slot.node.value.slice(0, at);
|
|
226
|
+
const after = { type: "text", value: slot.node.value.slice(at + span.text.length) };
|
|
227
|
+
const position = slot.parent.children.indexOf(slot.node);
|
|
228
|
+
// A word passed over stays text; two adjacent text nodes render as one.
|
|
229
|
+
const marked = span.href === undefined
|
|
230
|
+
? { type: "text", value: `${before}${span.text}` }
|
|
231
|
+
: recognisedLink(span, span.href);
|
|
232
|
+
const pieces = [
|
|
233
|
+
...(before === "" || span.href === undefined
|
|
234
|
+
? []
|
|
235
|
+
: [{ type: "text", value: before }]),
|
|
236
|
+
marked,
|
|
237
|
+
...(after.value === "" ? [] : [after]),
|
|
238
|
+
];
|
|
239
|
+
slot.parent.children.splice(position, 1, ...pieces);
|
|
240
|
+
if (after.value === "") {
|
|
241
|
+
return index + 1;
|
|
242
|
+
}
|
|
243
|
+
slots[index] = { parent: slot.parent, node: after };
|
|
244
|
+
return index;
|
|
245
|
+
}
|
|
246
|
+
return undefined;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Marks every recognised word in the text of its line, in order: the cells of a table row share
|
|
250
|
+
* a line and are searched in turn; a word that is not found as written (split by inline markup,
|
|
251
|
+
* or inside a link) is left unmarked. A page is marked once: a word whose page a written link
|
|
252
|
+
* on the same line or above, or a recognised word above, already leads to stays plain text.
|
|
253
|
+
*/
|
|
254
|
+
function markRecognised(tree, spans, written) {
|
|
255
|
+
const lines = new Map();
|
|
256
|
+
for (const unit of tree.children.flatMap(unitsOf)) {
|
|
257
|
+
lines.set(unit.line, [...(lines.get(unit.line) ?? []), ...unit.slots]);
|
|
258
|
+
}
|
|
259
|
+
const cursors = new Map();
|
|
260
|
+
const pending = written.toSorted((a, b) => a.line - b.line);
|
|
261
|
+
const marked = new Set();
|
|
262
|
+
let next = 0;
|
|
263
|
+
for (const span of spans) {
|
|
264
|
+
for (let mark = pending.at(next); mark !== undefined && mark.line <= span.line; mark = pending.at(next)) {
|
|
265
|
+
marked.add(mark.page);
|
|
266
|
+
next += 1;
|
|
267
|
+
}
|
|
268
|
+
const slots = lines.get(span.line);
|
|
269
|
+
if (slots === undefined)
|
|
270
|
+
continue;
|
|
271
|
+
const page = span.href === undefined ? undefined : pageOf(span.href);
|
|
272
|
+
const once = page !== undefined && marked.has(page) ? { line: span.line, text: span.text } : span;
|
|
273
|
+
const cursor = wrap(slots, cursors.get(span.line) ?? 0, once);
|
|
274
|
+
if (cursor === undefined)
|
|
275
|
+
continue;
|
|
276
|
+
if (page !== undefined)
|
|
277
|
+
marked.add(page);
|
|
278
|
+
cursors.set(span.line, cursor);
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
function loneImages(parent, found = []) {
|
|
282
|
+
for (const child of parent.children) {
|
|
283
|
+
const only = child.type === "paragraph" ? child.children[0] : undefined;
|
|
284
|
+
if (child.type === "paragraph" && child.children.length === 1 && only?.type === "image") {
|
|
285
|
+
found.push({ paragraph: child, image: only });
|
|
286
|
+
}
|
|
287
|
+
else if ("children" in child) {
|
|
288
|
+
loneImages(child, found);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
return found;
|
|
292
|
+
}
|
|
293
|
+
/** The lone images of the sources, their paths looked up on the targets as written. */
|
|
294
|
+
function figuresOf(tree, imagePath) {
|
|
295
|
+
return loneImages(tree).flatMap((lone) => {
|
|
296
|
+
const path = imagePath(lone.image.url);
|
|
297
|
+
return path === undefined ? [] : [{ ...lone, path }];
|
|
298
|
+
});
|
|
299
|
+
}
|
|
300
|
+
function hastElement(tagName, properties, children) {
|
|
301
|
+
return { type: "element", tagName, properties, children };
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Turns the paragraph of a lone image of the sources into a figure: the image, then a caption
|
|
305
|
+
* made of its alternative text when it has one and of the path of its file. The markup is given
|
|
306
|
+
* to the compiler whole, so that the caption is neither searched nor scanned for words.
|
|
307
|
+
*/
|
|
308
|
+
function wrapFigure({ paragraph, image, path }) {
|
|
309
|
+
// remark-parse gives every image an alt, empty when none was written; the field is nullable only for synthetic trees.
|
|
310
|
+
const alt = image.alt;
|
|
311
|
+
paragraph.data = {
|
|
312
|
+
hName: "figure",
|
|
313
|
+
hProperties: { className: [FIGURE_CLASS] },
|
|
314
|
+
hChildren: [
|
|
315
|
+
hastElement("img", { src: image.url, alt }, []),
|
|
316
|
+
hastElement("figcaption", {}, [
|
|
317
|
+
...(alt === ""
|
|
318
|
+
? []
|
|
319
|
+
: [
|
|
320
|
+
hastElement("span", { className: [FIGURE_CAPTION_CLASS] }, [
|
|
321
|
+
{ type: "text", value: alt },
|
|
322
|
+
]),
|
|
323
|
+
]),
|
|
324
|
+
hastElement("code", { className: [FIGURE_PATH_CLASS] }, [{ type: "text", value: path }]),
|
|
325
|
+
]),
|
|
326
|
+
],
|
|
327
|
+
};
|
|
328
|
+
}
|
|
329
|
+
function uniqueId(base, taken) {
|
|
330
|
+
let id = base;
|
|
331
|
+
let rank = 2;
|
|
332
|
+
while (taken.has(id)) {
|
|
333
|
+
id = `${base}-${String(rank)}`;
|
|
334
|
+
rank += 1;
|
|
335
|
+
}
|
|
336
|
+
taken.add(id);
|
|
337
|
+
return id;
|
|
338
|
+
}
|
|
339
|
+
function toHtml(nodes) {
|
|
340
|
+
const root = { type: "root", children: nodes };
|
|
341
|
+
return compiler.stringify(compiler.runSync(root));
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* A note as the entity page shows it: the frontmatter and the first H1 removed, the body split
|
|
345
|
+
* into sections at every H1 or H2, each rendered to sanitised HTML.
|
|
346
|
+
*/
|
|
347
|
+
export function renderMarkdown(text, options = {}) {
|
|
348
|
+
const tree = parser.parse(text);
|
|
349
|
+
// The paths are looked up before the targets are rewritten, the figures built after: the image keeps its page href.
|
|
350
|
+
const figures = options.imagePath === undefined ? [] : figuresOf(tree, options.imagePath);
|
|
351
|
+
const written = [];
|
|
352
|
+
if (options.resolveHref !== undefined) {
|
|
353
|
+
const rewriting = {
|
|
354
|
+
resolveHref: options.resolveHref,
|
|
355
|
+
definitions: new Map(),
|
|
356
|
+
written,
|
|
357
|
+
};
|
|
358
|
+
rewriteTargets(tree, rewriting);
|
|
359
|
+
markReferences(tree, rewriting);
|
|
360
|
+
}
|
|
361
|
+
if (options.recognised !== undefined) {
|
|
362
|
+
markRecognised(tree, options.recognised, written);
|
|
363
|
+
}
|
|
364
|
+
for (const figure of figures) {
|
|
365
|
+
wrapFigure(figure);
|
|
366
|
+
}
|
|
367
|
+
const sections = [];
|
|
368
|
+
const body = [];
|
|
369
|
+
const taken = new Set();
|
|
370
|
+
let title;
|
|
371
|
+
let current = { id: LEAD_SECTION_ID, nodes: [] };
|
|
372
|
+
const close = () => {
|
|
373
|
+
if (current.heading === undefined && current.nodes.length === 0) {
|
|
374
|
+
return;
|
|
375
|
+
}
|
|
376
|
+
const section = { id: current.id, html: toHtml(current.nodes) };
|
|
377
|
+
if (current.heading !== undefined) {
|
|
378
|
+
section.heading = current.heading;
|
|
379
|
+
}
|
|
380
|
+
sections.push(section);
|
|
381
|
+
};
|
|
382
|
+
for (const node of tree.children) {
|
|
383
|
+
if (node.type === "yaml") {
|
|
384
|
+
continue;
|
|
385
|
+
}
|
|
386
|
+
if (node.type === "heading" && node.depth === 1 && title === undefined) {
|
|
387
|
+
title = textOf(node);
|
|
388
|
+
continue;
|
|
389
|
+
}
|
|
390
|
+
body.push(node);
|
|
391
|
+
if (node.type === "heading" && node.depth <= 2) {
|
|
392
|
+
close();
|
|
393
|
+
const heading = textOf(node);
|
|
394
|
+
current = { id: uniqueId(`section-${slugify(heading)}`, taken), heading, nodes: [] };
|
|
395
|
+
continue;
|
|
396
|
+
}
|
|
397
|
+
current.nodes.push(node);
|
|
398
|
+
}
|
|
399
|
+
close();
|
|
400
|
+
return { ...(title === undefined ? {} : { title }), sections, text: plainText(body) };
|
|
401
|
+
}
|
|
402
|
+
//# sourceMappingURL=render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.js","sourceRoot":"","sources":["../../src/markdown/render.ts"],"names":[],"mappings":"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"}
|
package/dist/mode.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ColourScheme } from "./css/tokens.js";
|
|
2
|
+
/** The `localStorage` key holding the reader's choice of colour scheme; absent when the site's default applies. */
|
|
3
|
+
export declare const MODE_STORAGE_KEY = "concordance-mode";
|
|
4
|
+
/** The choices a reader can hold: the two schemes, or `system` when no choice is stored. */
|
|
5
|
+
export declare const MODES: readonly ["system", "light", "dark"];
|
|
6
|
+
/** A colour scheme a reader can force; `system` leaves the theme's default and the system preference in charge. */
|
|
7
|
+
export type ModeChoice = (typeof MODES)[number];
|
|
8
|
+
/** The glyph of each scheme: a sun, a moon. The switch draws the glyph of the scheme it switches to. */
|
|
9
|
+
export declare const SCHEME_GLYPHS: Readonly<Record<ColourScheme, string>>;
|
|
10
|
+
/** The scheme the other one is: what the switch offers from the one displayed. */
|
|
11
|
+
export declare function otherScheme(scheme: ColourScheme): ColourScheme;
|
|
12
|
+
/** The glyph the switch draws over a page in the given scheme: a moon over a light page, a sun over a dark one. */
|
|
13
|
+
export declare function switchGlyph(displayed: ColourScheme): string;
|
|
14
|
+
/**
|
|
15
|
+
* The only inline script of a page: it applies the stored choice to `data-mode` on the root
|
|
16
|
+
* before the first paint, so that a reader who chose a scheme never sees the other one flash.
|
|
17
|
+
* It is a constant, so a content security policy can allow it by hash; without it, and without
|
|
18
|
+
* JavaScript, the theme's default and the system preference apply.
|
|
19
|
+
*/
|
|
20
|
+
export declare const MODE_SCRIPT: string;
|
|
21
|
+
//# sourceMappingURL=mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mode.d.ts","sourceRoot":"","sources":["../src/mode.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAEpD,mHAAmH;AACnH,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAEnD,4FAA4F;AAC5F,eAAO,MAAM,KAAK,sCAAuC,CAAC;AAE1D,mHAAmH;AACnH,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhD,wGAAwG;AACxG,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAGhE,CAAC;AAEF,kFAAkF;AAClF,wBAAgB,WAAW,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,CAE9D;AAED,mHAAmH;AACnH,wBAAgB,WAAW,CAAC,SAAS,EAAE,YAAY,GAAG,MAAM,CAE3D;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,QAAsK,CAAC"}
|
package/dist/mode.js
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/** The `localStorage` key holding the reader's choice of colour scheme; absent when the site's default applies. */
|
|
2
|
+
export const MODE_STORAGE_KEY = "concordance-mode";
|
|
3
|
+
/** The choices a reader can hold: the two schemes, or `system` when no choice is stored. */
|
|
4
|
+
export const MODES = ["system", "light", "dark"];
|
|
5
|
+
/** The glyph of each scheme: a sun, a moon. The switch draws the glyph of the scheme it switches to. */
|
|
6
|
+
export const SCHEME_GLYPHS = {
|
|
7
|
+
light: "☀",
|
|
8
|
+
dark: "☾",
|
|
9
|
+
};
|
|
10
|
+
/** The scheme the other one is: what the switch offers from the one displayed. */
|
|
11
|
+
export function otherScheme(scheme) {
|
|
12
|
+
return scheme === "dark" ? "light" : "dark";
|
|
13
|
+
}
|
|
14
|
+
/** The glyph the switch draws over a page in the given scheme: a moon over a light page, a sun over a dark one. */
|
|
15
|
+
export function switchGlyph(displayed) {
|
|
16
|
+
return SCHEME_GLYPHS[otherScheme(displayed)];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* The only inline script of a page: it applies the stored choice to `data-mode` on the root
|
|
20
|
+
* before the first paint, so that a reader who chose a scheme never sees the other one flash.
|
|
21
|
+
* It is a constant, so a content security policy can allow it by hash; without it, and without
|
|
22
|
+
* JavaScript, the theme's default and the system preference apply.
|
|
23
|
+
*/
|
|
24
|
+
export const MODE_SCRIPT = `(function(){try{var m=localStorage.getItem(${JSON.stringify(MODE_STORAGE_KEY)});if(m==="light"||m==="dark")document.documentElement.dataset.mode=m}catch(e){}})()`;
|
|
25
|
+
//# sourceMappingURL=mode.js.map
|
package/dist/mode.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mode.js","sourceRoot":"","sources":["../src/mode.ts"],"names":[],"mappings":"AAEA,mHAAmH;AACnH,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAEnD,4FAA4F;AAC5F,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAU,CAAC;AAK1D,wGAAwG;AACxG,MAAM,CAAC,MAAM,aAAa,GAA2C;IACnE,KAAK,EAAE,GAAG;IACV,IAAI,EAAE,GAAG;CACV,CAAC;AAEF,kFAAkF;AAClF,MAAM,UAAU,WAAW,CAAC,MAAoB;IAC9C,OAAO,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AAC9C,CAAC;AAED,mHAAmH;AACnH,MAAM,UAAU,WAAW,CAAC,SAAuB;IACjD,OAAO,aAAa,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,8CAA8C,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,qFAAqF,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/** Font size the map is laid out for, written on the `<svg>` so that the estimate and the rendering agree. */
|
|
2
|
+
export declare const FONT_SIZE = 12;
|
|
3
|
+
/** A title longer than this is cut with an ellipsis; the full title travels in a `<title>` and in the list. */
|
|
4
|
+
export declare const LABEL_MAX = 28;
|
|
5
|
+
export declare const NODE_RADIUS = 6;
|
|
6
|
+
export declare const CENTRE_RADIUS = 10;
|
|
7
|
+
export type LabelSide = "left" | "right" | "above" | "below";
|
|
8
|
+
export type TextAnchor = "start" | "middle" | "end";
|
|
9
|
+
/** Axis-aligned box in viewBox units, `right` and `bottom` exclusive. */
|
|
10
|
+
export interface Box {
|
|
11
|
+
left: number;
|
|
12
|
+
top: number;
|
|
13
|
+
right: number;
|
|
14
|
+
bottom: number;
|
|
15
|
+
}
|
|
16
|
+
export interface Cut {
|
|
17
|
+
/** What the map writes: the title, cut at `LABEL_MAX` characters with an ellipsis. */
|
|
18
|
+
text: string;
|
|
19
|
+
/** The full title when `text` is cut, for the `<title>` of the label. */
|
|
20
|
+
full?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface PlacedLabel extends Cut {
|
|
23
|
+
/** Anchor point of the text; the theme centres the line on `y` with `dy="0.35em"`. */
|
|
24
|
+
x: number;
|
|
25
|
+
y: number;
|
|
26
|
+
anchor: TextAnchor;
|
|
27
|
+
side: LabelSide;
|
|
28
|
+
box: Box;
|
|
29
|
+
}
|
|
30
|
+
export interface PlacedNode {
|
|
31
|
+
x: number;
|
|
32
|
+
y: number;
|
|
33
|
+
label: PlacedLabel;
|
|
34
|
+
}
|
|
35
|
+
export interface PlacedItem<T> extends PlacedNode {
|
|
36
|
+
item: T;
|
|
37
|
+
}
|
|
38
|
+
export interface Layout<T> {
|
|
39
|
+
width: number;
|
|
40
|
+
height: number;
|
|
41
|
+
centre: PlacedNode;
|
|
42
|
+
/** In the order received: rank order, clockwise from the top. */
|
|
43
|
+
nodes: PlacedItem<T>[];
|
|
44
|
+
}
|
|
45
|
+
export declare function intersects(a: Box, b: Box): boolean;
|
|
46
|
+
/** Whether `inner` lies entirely within `outer`. */
|
|
47
|
+
export declare function contains(outer: Box, inner: Box): boolean;
|
|
48
|
+
export declare function truncate(title: string): Cut;
|
|
49
|
+
/**
|
|
50
|
+
* Places the centre in the middle and the neighbours on a ring in the order received, clockwise
|
|
51
|
+
* from the top; a label sits on the outer side of its node, right of it on the right half, left
|
|
52
|
+
* of it on the left half, above or below it near the poles, and the centre's title under the
|
|
53
|
+
* centre. Every coordinate is an integer, so that two builds give the same bytes; text widths
|
|
54
|
+
* are estimated at `CHAR_WIDTH` em per character, and on that estimate no two label boxes
|
|
55
|
+
* intersect and every box lies inside the viewBox.
|
|
56
|
+
*/
|
|
57
|
+
export declare function layoutNeighbourhood<T>(centre: string, items: readonly T[], titleOf: (item: T) => string): Layout<T>;
|
|
58
|
+
//# sourceMappingURL=layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/neighbourhood/layout.ts"],"names":[],"mappings":"AAAA,8GAA8G;AAC9G,eAAO,MAAM,SAAS,KAAK,CAAC;AAG5B,+GAA+G;AAC/G,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,aAAa,KAAK,CAAC;AAahC,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAC7D,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEpD,yEAAyE;AACzE,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,GAAG;IAClB,sFAAsF;IACtF,IAAI,EAAE,MAAM,CAAC;IACb,yEAAyE;IACzE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAY,SAAQ,GAAG;IACtC,sFAAsF;IACtF,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;IAChB,GAAG,EAAE,GAAG,CAAC;CACV;AAED,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,WAAW,CAAC;CACpB;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,CAAE,SAAQ,UAAU;IAC/C,IAAI,EAAE,CAAC,CAAC;CACT;AAED,MAAM,WAAW,MAAM,CAAC,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,CAAC;IACnB,iEAAiE;IACjE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;CACxB;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,GAAG,OAAO,CAElD;AAED,oDAAoD;AACpD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAOxD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,CAI3C;AAkGD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,CAAC,EAAE,EACnB,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAC3B,MAAM,CAAC,CAAC,CAAC,CAuCX"}
|