@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,56 @@
|
|
|
1
|
+
import type { Entity } from "@concordance-wiki/core";
|
|
2
|
+
import { type Catalogue } from "@concordance-wiki/i18n";
|
|
3
|
+
import type { HomeAlert, HomeChange, HomeLabels, HomeProps, HomeSpace, Link, SuggestionLabels } from "../slots.js";
|
|
4
|
+
import { type SiteContext } from "./context.js";
|
|
5
|
+
/** The most cited words offered as shortcuts next to the search field: one line of chips. */
|
|
6
|
+
export declare const HOME_SHORTCUTS = 5;
|
|
7
|
+
/** The spaces in view; the others fold behind a line counting them. */
|
|
8
|
+
export declare const HOME_SPACES_SHOWN = 5;
|
|
9
|
+
/** The latest changes the home page lists. */
|
|
10
|
+
export declare const HOME_RECENT = 4;
|
|
11
|
+
/** Days without a change after which a source is dormant when `staleness.warn_after_days` says nothing. */
|
|
12
|
+
export declare const DEFAULT_WARN_AFTER_DAYS = 180;
|
|
13
|
+
/** What the shortcuts rank by: the links pointing at a note, the occurrences of a keyword page. */
|
|
14
|
+
export declare function mentionCount(context: SiteContext, entity: Entity): number;
|
|
15
|
+
/**
|
|
16
|
+
* The most cited pages first, the identifier breaking ties, one page per title: two pages of the
|
|
17
|
+
* same title would read as one chip twice, so the most cited of them stands for both; a page
|
|
18
|
+
* nobody cites is left out.
|
|
19
|
+
*/
|
|
20
|
+
export declare function shortcutsOf(context: SiteContext): Link[];
|
|
21
|
+
/** The notes of the model: every entity with a file of its own, so every entity but the keyword pages. */
|
|
22
|
+
export declare function notesOf(context: SiteContext): Entity[];
|
|
23
|
+
/** The names of every source, declared in the build block or met on a note, sorted. */
|
|
24
|
+
export declare function sourceNames(context: SiteContext): string[];
|
|
25
|
+
export declare function instant(iso: string): number;
|
|
26
|
+
/** A change worded relative to the build instant, "2 days ago", so that two builds of the same corpus agree. */
|
|
27
|
+
export declare function ago(context: SiteContext, iso: string): string;
|
|
28
|
+
/** The newest `last_modified` among the notes of every source, by source name. */
|
|
29
|
+
export declare function newestChanges(context: SiteContext): Map<string, string>;
|
|
30
|
+
/** The days without a change after which a source is dormant: its own threshold, the default one or 180 days. */
|
|
31
|
+
export declare function warnAfterDays(context: SiteContext, source: string): number;
|
|
32
|
+
/** Whether a source that last changed at `newest` is dormant at the build instant. */
|
|
33
|
+
export declare function isDormant(context: SiteContext, source: string, newest: string): boolean;
|
|
34
|
+
/** Whether a note stands for a converted document: a deck, a transcript, a PDF merged with it, never an operation of a contract. */
|
|
35
|
+
export declare function hasDocument(entity: Entity): boolean;
|
|
36
|
+
/** The days elapsed between a change and the build instant, whole days only. */
|
|
37
|
+
export declare function daysSince(context: SiteContext, iso: string): number;
|
|
38
|
+
/** The names of every source, the most cited first: the sum of the citations of its notes, the name breaking ties. */
|
|
39
|
+
export declare function rankedSourceNames(context: SiteContext): string[];
|
|
40
|
+
/**
|
|
41
|
+
* Every space of the site, the most cited first: a source with its initials, its page count,
|
|
42
|
+
* counted in documents when its notes mostly stand for converted documents, the date of its
|
|
43
|
+
* newest change worded relative to the build, whether it is dormant, and the href of its page.
|
|
44
|
+
*/
|
|
45
|
+
export declare function spacesOf(context: SiteContext): HomeSpace[];
|
|
46
|
+
/** The notes changed last, newest first then by identifier, each with its space and its change worded relative to the build. */
|
|
47
|
+
export declare function recentOf(context: SiteContext): HomeChange[];
|
|
48
|
+
/** One alert per dormant space, in the order of the spaces: how long it has not moved, and the threshold that flags it. */
|
|
49
|
+
export declare function alertsOf(context: SiteContext, spaces: readonly HomeSpace[]): HomeAlert[];
|
|
50
|
+
/** The strings of the home page in the site language, the folded spaces counted. */
|
|
51
|
+
export declare function homeLabels(context: SiteContext, folded: number): HomeLabels;
|
|
52
|
+
/** The strings of the live results under a search field, the plurals frozen by category as the entity table does. */
|
|
53
|
+
export declare function suggestionLabels(catalogue: Catalogue): SuggestionLabels;
|
|
54
|
+
/** The view model of the home page; the search field is added by the site, which knows where the index lives. */
|
|
55
|
+
export declare function homeOf(context: SiteContext): HomeProps;
|
|
56
|
+
//# sourceMappingURL=home.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"home.d.ts","sourceRoot":"","sources":["../../src/build/home.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAiC,KAAK,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAIvF,OAAO,KAAK,EACV,SAAS,EACT,UAAU,EACV,UAAU,EACV,SAAS,EACT,SAAS,EACT,IAAI,EACJ,gBAAgB,EACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAkC,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAIhF,6FAA6F;AAC7F,eAAO,MAAM,cAAc,IAAI,CAAC;AAChC,uEAAuE;AACvE,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,8CAA8C;AAC9C,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,2GAA2G;AAC3G,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAI3C,mGAAmG;AACnG,wBAAgB,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMzE;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,CAaxD;AAED,0GAA0G;AAC1G,wBAAgB,OAAO,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,EAAE,CAEtD;AAED,uFAAuF;AACvF,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,EAAE,CAM1D;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED,gHAAgH;AAChH,wBAAgB,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAM7D;AAED,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAWvE;AAED,iHAAiH;AACjH,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAG1E;AAED,sFAAsF;AACtF,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAIvF;AAED,oIAAoI;AACpI,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAInD;AAED,gFAAgF;AAChF,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,sHAAsH;AACtH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,EAAE,CAWhE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,EAAE,CAwB1D;AACD,gIAAgI;AAChI,wBAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,UAAU,EAAE,CAe3D;AAED,2HAA2H;AAC3H,wBAAgB,QAAQ,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,EAAE,CAkBxF;AAED,oFAAoF;AACpF,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,UAAU,CAW3E;AAED,qHAAqH;AACrH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,gBAAgB,CAWvE;AAED,iHAAiH;AACjH,wBAAgB,MAAM,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAWtD"}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import { formatMessage, formatRelative } from "@concordance-wiki/i18n";
|
|
2
|
+
import { byCodeUnit } from "../order.js";
|
|
3
|
+
import { pluralForms } from "../search/build.js";
|
|
4
|
+
import { citations, message, spaceTitle } from "./context.js";
|
|
5
|
+
import { entityHref, HOME_PAGE, spaceHref } from "./paths.js";
|
|
6
|
+
import { spaceInitials } from "./space.js";
|
|
7
|
+
/** The most cited words offered as shortcuts next to the search field: one line of chips. */
|
|
8
|
+
export const HOME_SHORTCUTS = 5;
|
|
9
|
+
/** The spaces in view; the others fold behind a line counting them. */
|
|
10
|
+
export const HOME_SPACES_SHOWN = 5;
|
|
11
|
+
/** The latest changes the home page lists. */
|
|
12
|
+
export const HOME_RECENT = 4;
|
|
13
|
+
/** Days without a change after which a source is dormant when `staleness.warn_after_days` says nothing. */
|
|
14
|
+
export const DEFAULT_WARN_AFTER_DAYS = 180;
|
|
15
|
+
const DAY_MS = 24 * 60 * 60 * 1000;
|
|
16
|
+
/** What the shortcuts rank by: the links pointing at a note, the occurrences of a keyword page. */
|
|
17
|
+
export function mentionCount(context, entity) {
|
|
18
|
+
if (entity.keyword !== true) {
|
|
19
|
+
return citations(context, entity.id);
|
|
20
|
+
}
|
|
21
|
+
const occurrences = entity.attributes["occurrences"];
|
|
22
|
+
return typeof occurrences === "number" ? occurrences : 0;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* The most cited pages first, the identifier breaking ties, one page per title: two pages of the
|
|
26
|
+
* same title would read as one chip twice, so the most cited of them stands for both; a page
|
|
27
|
+
* nobody cites is left out.
|
|
28
|
+
*/
|
|
29
|
+
export function shortcutsOf(context) {
|
|
30
|
+
const titles = new Set();
|
|
31
|
+
return [...context.model.entities]
|
|
32
|
+
.map((entity) => ({ entity, count: mentionCount(context, entity) }))
|
|
33
|
+
.filter(({ count }) => count > 0)
|
|
34
|
+
.sort((a, b) => b.count - a.count || byCodeUnit(a.entity.id, b.entity.id))
|
|
35
|
+
.filter(({ entity }) => {
|
|
36
|
+
if (titles.has(entity.title))
|
|
37
|
+
return false;
|
|
38
|
+
titles.add(entity.title);
|
|
39
|
+
return true;
|
|
40
|
+
})
|
|
41
|
+
.slice(0, HOME_SHORTCUTS)
|
|
42
|
+
.map(({ entity }) => ({ label: entity.title, href: entityHref(HOME_PAGE, entity.id) }));
|
|
43
|
+
}
|
|
44
|
+
/** The notes of the model: every entity with a file of its own, so every entity but the keyword pages. */
|
|
45
|
+
export function notesOf(context) {
|
|
46
|
+
return context.model.entities.filter((entity) => entity.keyword !== true);
|
|
47
|
+
}
|
|
48
|
+
/** The names of every source, declared in the build block or met on a note, sorted. */
|
|
49
|
+
export function sourceNames(context) {
|
|
50
|
+
const names = new Set(context.model.build.sources.map((source) => source.name));
|
|
51
|
+
for (const note of notesOf(context)) {
|
|
52
|
+
names.add(note.source.name);
|
|
53
|
+
}
|
|
54
|
+
return [...names].sort(byCodeUnit);
|
|
55
|
+
}
|
|
56
|
+
export function instant(iso) {
|
|
57
|
+
return Date.parse(iso);
|
|
58
|
+
}
|
|
59
|
+
/** A change worded relative to the build instant, "2 days ago", so that two builds of the same corpus agree. */
|
|
60
|
+
export function ago(context, iso) {
|
|
61
|
+
return formatRelative(context.locale ?? context.language, new Date(iso), new Date(context.model.build.at));
|
|
62
|
+
}
|
|
63
|
+
/** The newest `last_modified` among the notes of every source, by source name. */
|
|
64
|
+
export function newestChanges(context) {
|
|
65
|
+
const newest = new Map();
|
|
66
|
+
for (const note of notesOf(context)) {
|
|
67
|
+
const changed = note.source.last_modified;
|
|
68
|
+
if (changed === undefined)
|
|
69
|
+
continue;
|
|
70
|
+
const known = newest.get(note.source.name);
|
|
71
|
+
if (known === undefined || instant(changed) > instant(known)) {
|
|
72
|
+
newest.set(note.source.name, changed);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
return newest;
|
|
76
|
+
}
|
|
77
|
+
/** The days without a change after which a source is dormant: its own threshold, the default one or 180 days. */
|
|
78
|
+
export function warnAfterDays(context, source) {
|
|
79
|
+
const thresholds = context.staleness?.warn_after_days ?? {};
|
|
80
|
+
return thresholds[source] ?? thresholds["default"] ?? DEFAULT_WARN_AFTER_DAYS;
|
|
81
|
+
}
|
|
82
|
+
/** Whether a source that last changed at `newest` is dormant at the build instant. */
|
|
83
|
+
export function isDormant(context, source, newest) {
|
|
84
|
+
return (instant(context.model.build.at) - instant(newest) > warnAfterDays(context, source) * DAY_MS);
|
|
85
|
+
}
|
|
86
|
+
/** Whether a note stands for a converted document: a deck, a transcript, a PDF merged with it, never an operation of a contract. */
|
|
87
|
+
export function hasDocument(entity) {
|
|
88
|
+
return (entity.representations ?? []).some((representation) => representation.format !== "markdown" && representation.kind === undefined);
|
|
89
|
+
}
|
|
90
|
+
/** The days elapsed between a change and the build instant, whole days only. */
|
|
91
|
+
export function daysSince(context, iso) {
|
|
92
|
+
return Math.floor((instant(context.model.build.at) - instant(iso)) / DAY_MS);
|
|
93
|
+
}
|
|
94
|
+
/** The names of every source, the most cited first: the sum of the citations of its notes, the name breaking ties. */
|
|
95
|
+
export function rankedSourceNames(context) {
|
|
96
|
+
const notes = notesOf(context);
|
|
97
|
+
return sourceNames(context)
|
|
98
|
+
.map((name) => ({
|
|
99
|
+
name,
|
|
100
|
+
cited: notes
|
|
101
|
+
.filter((note) => note.source.name === name)
|
|
102
|
+
.reduce((total, note) => total + citations(context, note.id), 0),
|
|
103
|
+
}))
|
|
104
|
+
.sort((a, b) => b.cited - a.cited || byCodeUnit(a.name, b.name))
|
|
105
|
+
.map(({ name }) => name);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Every space of the site, the most cited first: a source with its initials, its page count,
|
|
109
|
+
* counted in documents when its notes mostly stand for converted documents, the date of its
|
|
110
|
+
* newest change worded relative to the build, whether it is dormant, and the href of its page.
|
|
111
|
+
*/
|
|
112
|
+
export function spacesOf(context) {
|
|
113
|
+
const newest = newestChanges(context);
|
|
114
|
+
const notes = notesOf(context);
|
|
115
|
+
return rankedSourceNames(context).map((name) => {
|
|
116
|
+
const own = notes.filter((note) => note.source.name === name);
|
|
117
|
+
const documents = own.filter(hasDocument).length;
|
|
118
|
+
const changed = newest.get(name);
|
|
119
|
+
const unit = documents * 2 > own.length ? "documents" : "pages";
|
|
120
|
+
const space = {
|
|
121
|
+
name: spaceTitle(context, name),
|
|
122
|
+
source: name,
|
|
123
|
+
href: spaceHref(HOME_PAGE, name),
|
|
124
|
+
initials: spaceInitials(context, name),
|
|
125
|
+
count: own.length,
|
|
126
|
+
unit,
|
|
127
|
+
countLabel: formatMessage(context.catalogue, `home.${unit}`, { count: own.length }),
|
|
128
|
+
stale: changed !== undefined && isDormant(context, name, changed),
|
|
129
|
+
};
|
|
130
|
+
if (changed !== undefined) {
|
|
131
|
+
space.date = changed.slice(0, 10);
|
|
132
|
+
space.dateLabel = ago(context, changed);
|
|
133
|
+
}
|
|
134
|
+
return space;
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
/** The notes changed last, newest first then by identifier, each with its space and its change worded relative to the build. */
|
|
138
|
+
export function recentOf(context) {
|
|
139
|
+
return notesOf(context)
|
|
140
|
+
.flatMap((entity) => {
|
|
141
|
+
const changed = entity.source.last_modified;
|
|
142
|
+
return changed === undefined ? [] : [{ entity, changed }];
|
|
143
|
+
})
|
|
144
|
+
.sort((a, b) => instant(b.changed) - instant(a.changed) || byCodeUnit(a.entity.id, b.entity.id))
|
|
145
|
+
.slice(0, HOME_RECENT)
|
|
146
|
+
.map(({ entity, changed }) => ({
|
|
147
|
+
label: entity.title,
|
|
148
|
+
href: entityHref(HOME_PAGE, entity.id),
|
|
149
|
+
space: spaceTitle(context, entity.source.name),
|
|
150
|
+
date: changed.slice(0, 10),
|
|
151
|
+
dateLabel: ago(context, changed),
|
|
152
|
+
}));
|
|
153
|
+
}
|
|
154
|
+
/** One alert per dormant space, in the order of the spaces: how long it has not moved, and the threshold that flags it. */
|
|
155
|
+
export function alertsOf(context, spaces) {
|
|
156
|
+
const newest = newestChanges(context);
|
|
157
|
+
return spaces.flatMap((space) => {
|
|
158
|
+
const source = space.source ?? space.name;
|
|
159
|
+
const changed = newest.get(source);
|
|
160
|
+
if (changed === undefined || !isDormant(context, source, changed))
|
|
161
|
+
return [];
|
|
162
|
+
const days = daysSince(context, changed);
|
|
163
|
+
return [
|
|
164
|
+
{
|
|
165
|
+
title: formatMessage(context.catalogue, "home.stale", { count: days }),
|
|
166
|
+
space: space.name,
|
|
167
|
+
text: formatMessage(context.catalogue, "home.staleThreshold", {
|
|
168
|
+
space: space.name,
|
|
169
|
+
count: warnAfterDays(context, source),
|
|
170
|
+
}),
|
|
171
|
+
},
|
|
172
|
+
];
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
/** The strings of the home page in the site language, the folded spaces counted. */
|
|
176
|
+
export function homeLabels(context, folded) {
|
|
177
|
+
return {
|
|
178
|
+
question: message(context, "home.question"),
|
|
179
|
+
explanation: message(context, "home.explanation"),
|
|
180
|
+
mostCited: message(context, "home.mostCited"),
|
|
181
|
+
spaces: message(context, "site.spaces"),
|
|
182
|
+
spacesLead: message(context, "home.spacesLead"),
|
|
183
|
+
moreSpaces: formatMessage(context.catalogue, "home.moreSpaces", { count: folded }),
|
|
184
|
+
datesNote: message(context, "home.datesNote"),
|
|
185
|
+
recent: message(context, "home.recent"),
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
/** The strings of the live results under a search field, the plurals frozen by category as the entity table does. */
|
|
189
|
+
export function suggestionLabels(catalogue) {
|
|
190
|
+
return {
|
|
191
|
+
matches: pluralForms(catalogue, "home.matches"),
|
|
192
|
+
usedIn: pluralForms(catalogue, "home.usedIn"),
|
|
193
|
+
typeSummary: formatMessage(catalogue, "home.typeSummary"),
|
|
194
|
+
glossaryTerm: pluralForms(catalogue, "home.glossaryTerm"),
|
|
195
|
+
browse: formatMessage(catalogue, "home.browse"),
|
|
196
|
+
enter: formatMessage(catalogue, "home.enterKey"),
|
|
197
|
+
open: formatMessage(catalogue, "home.open"),
|
|
198
|
+
seeResults: pluralForms(catalogue, "home.seeResults"),
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
/** The view model of the home page; the search field is added by the site, which knows where the index lives. */
|
|
202
|
+
export function homeOf(context) {
|
|
203
|
+
const spaces = spacesOf(context);
|
|
204
|
+
const folded = spaces.slice(HOME_SPACES_SHOWN);
|
|
205
|
+
return {
|
|
206
|
+
shortcuts: shortcutsOf(context),
|
|
207
|
+
spaces: spaces.slice(0, HOME_SPACES_SHOWN),
|
|
208
|
+
...(folded.length === 0 ? {} : { moreSpaces: folded }),
|
|
209
|
+
recent: recentOf(context),
|
|
210
|
+
alerts: alertsOf(context, spaces),
|
|
211
|
+
labels: homeLabels(context, folded.length),
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=home.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"home.js","sourceRoot":"","sources":["../../src/build/home.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { Entity } from "@concordance-wiki/core";
|
|
2
|
+
import type { IndexFilters, IndexLabels, IndexProps } from "../slots.js";
|
|
3
|
+
import { type SiteContext } from "./context.js";
|
|
4
|
+
/** The letters of the navigation; titles opening otherwise gather under the last one. */
|
|
5
|
+
export declare const INDEX_LETTERS: string[];
|
|
6
|
+
/** Past this weight of the whole index, rendered as one page, every letter gets a page of its own. */
|
|
7
|
+
export declare const INDEX_SEGMENT_BYTES = 100000;
|
|
8
|
+
/** Characters of a summary a row shows; a first paragraph standing in for a summary is cut there, at a word. */
|
|
9
|
+
export declare const INDEX_SUMMARY_MAX_CHARS = 200;
|
|
10
|
+
/** A text cut at the last word boundary before the limit, an ellipsis marking the cut; whole when it fits. */
|
|
11
|
+
export declare function excerptOf(text: string, maxChars: number): string;
|
|
12
|
+
/** Case and accents folded, to pick the letter a title files under whatever the collation. */
|
|
13
|
+
export declare function foldTitle(title: string): string;
|
|
14
|
+
export declare function letterOf(title: string): string;
|
|
15
|
+
/** The path segment and anchor of a letter: lowercase, `other` for the bucket of digits and symbols. */
|
|
16
|
+
export declare function letterSlug(letter: string): string;
|
|
17
|
+
/** The page of a letter when the index is segmented. */
|
|
18
|
+
export declare function letterPagePath(letter: string): string;
|
|
19
|
+
/** Where a letter is reached from a page: its own page when the index is segmented, its anchor in the whole index otherwise. */
|
|
20
|
+
export declare function letterHref(from: string, letter: string, segmented: boolean): string;
|
|
21
|
+
export interface IndexPage {
|
|
22
|
+
path: string;
|
|
23
|
+
props: IndexProps;
|
|
24
|
+
/** The letter the page shows; absent when it shows the whole index. */
|
|
25
|
+
letter?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface IndexPlan {
|
|
28
|
+
segmented: boolean;
|
|
29
|
+
/** The pages to write, `index/index.html` first. */
|
|
30
|
+
pages: IndexPage[];
|
|
31
|
+
/** How many entries each letter has, in the order of the letter bar. */
|
|
32
|
+
counts: {
|
|
33
|
+
letter: string;
|
|
34
|
+
count: number;
|
|
35
|
+
}[];
|
|
36
|
+
}
|
|
37
|
+
interface Filed {
|
|
38
|
+
entity: Entity;
|
|
39
|
+
letter: string;
|
|
40
|
+
}
|
|
41
|
+
/** Every page of the site in the order of the project locale's collation, the identifier breaking ties. */
|
|
42
|
+
export declare function filedEntities(context: SiteContext): Filed[];
|
|
43
|
+
/** How many pages cite an entry: the distinct pages linking to a note, the files an expression is read in. */
|
|
44
|
+
export declare function citingPages(context: SiteContext, entity: Entity): number;
|
|
45
|
+
/**
|
|
46
|
+
* The passage of a word without a definition that stands for its description: the first
|
|
47
|
+
* passage, by line, of the file that uses the word most, the first such file in fragment order
|
|
48
|
+
* when several tie, quoted and followed by the title of that file; none when no page of the
|
|
49
|
+
* site uses the word.
|
|
50
|
+
*/
|
|
51
|
+
export declare function mostCitedPassageOf(context: SiteContext, entity: Entity): string | undefined;
|
|
52
|
+
/** The first line of a page: its summary cut at a word; the most cited passage of a word without a definition. */
|
|
53
|
+
export declare function summaryOf(context: SiteContext, entity: Entity): string | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* The filters of the index seen from a page: the types of the notes with their labels, the
|
|
56
|
+
* spaces, and the words without a definition, every value leading to the results page filtered
|
|
57
|
+
* by it, which lists the whole site under its facets when it receives no query.
|
|
58
|
+
*/
|
|
59
|
+
export declare function filtersOf(context: SiteContext, from: string, filed: Filed[]): IndexFilters;
|
|
60
|
+
/** The strings of the index in the site language, the sentence under the title and the empty letters counted. */
|
|
61
|
+
export declare function indexLabels(context: SiteContext, filed: Filed[], empty: number): IndexLabels;
|
|
62
|
+
/** The whole index in one page, the first entry of every letter anchored for the bar. */
|
|
63
|
+
export declare function indexOf(context: SiteContext, filed?: Filed[]): IndexProps;
|
|
64
|
+
/**
|
|
65
|
+
* One page for the whole index when `weigh` finds it under `INDEX_SEGMENT_BYTES`; otherwise one
|
|
66
|
+
* page per letter with entries, `index/index.html` repeating the first of them so that the address
|
|
67
|
+
* of the index keeps answering.
|
|
68
|
+
*/
|
|
69
|
+
export declare function planIndex(context: SiteContext, weigh: (props: IndexProps) => number): IndexPlan;
|
|
70
|
+
export {};
|
|
71
|
+
//# sourceMappingURL=index-page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index-page.d.ts","sourceRoot":"","sources":["../../src/build/index-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAKrD,OAAO,KAAK,EAEV,YAAY,EAEZ,WAAW,EAEX,UAAU,EACX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAoD,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAIlG,yFAAyF;AACzF,eAAO,MAAM,aAAa,UAAyD,CAAC;AAEpF,sGAAsG;AACtG,eAAO,MAAM,mBAAmB,SAAU,CAAC;AAE3C,gHAAgH;AAChH,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,8GAA8G;AAC9G,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMhE;AAED,8FAA8F;AAC9F,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK/C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG9C;AAED,wGAAwG;AACxG,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED,wDAAwD;AACxD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,gIAAgI;AAChI,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,MAAM,CAInF;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,CAAC;IAClB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,oDAAoD;IACpD,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,wEAAwE;IACxE,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC7C;AAED,UAAU,KAAK;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,2GAA2G;AAC3G,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,KAAK,EAAE,CAI3D;AAMD,8GAA8G;AAC9G,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAGxE;AAQD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAuB3F;AAED,kHAAkH;AAClH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKlF;AAsCD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,YAAY,CAqB1F;AAED,iHAAiH;AACjH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,WAAW,CAmB5F;AAgDD,yFAAyF;AACzF,wBAAgB,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,UAAyB,GAAG,UAAU,CAaxF;AAsBD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,GAAG,SAAS,CAiB/F"}
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
import { formatMessage } from "@concordance-wiki/i18n";
|
|
2
|
+
import { byCodeUnit } from "../order.js";
|
|
3
|
+
import { NOTELESS_FACET } from "../search/shared.js";
|
|
4
|
+
import { fileKey, glyphOf, message, spaceTitle, typeLabel } from "./context.js";
|
|
5
|
+
import { entityHref, INDEX_PAGE, relativeHref, searchFilterHref } from "./paths.js";
|
|
6
|
+
/** The letters of the navigation; titles opening otherwise gather under the last one. */
|
|
7
|
+
export const INDEX_LETTERS = [..."ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(/(?=.)/u), "#"];
|
|
8
|
+
/** Past this weight of the whole index, rendered as one page, every letter gets a page of its own. */
|
|
9
|
+
export const INDEX_SEGMENT_BYTES = 100_000;
|
|
10
|
+
/** Characters of a summary a row shows; a first paragraph standing in for a summary is cut there, at a word. */
|
|
11
|
+
export const INDEX_SUMMARY_MAX_CHARS = 200;
|
|
12
|
+
/** A text cut at the last word boundary before the limit, an ellipsis marking the cut; whole when it fits. */
|
|
13
|
+
export function excerptOf(text, maxChars) {
|
|
14
|
+
const characters = Array.from(text);
|
|
15
|
+
if (characters.length <= maxChars)
|
|
16
|
+
return text;
|
|
17
|
+
const head = characters.slice(0, maxChars).join("");
|
|
18
|
+
const boundary = head.search(/\s+\S*$/);
|
|
19
|
+
return `${(boundary > 0 ? head.slice(0, boundary) : head).trimEnd()}…`;
|
|
20
|
+
}
|
|
21
|
+
/** Case and accents folded, to pick the letter a title files under whatever the collation. */
|
|
22
|
+
export function foldTitle(title) {
|
|
23
|
+
return title
|
|
24
|
+
.normalize("NFD")
|
|
25
|
+
.replace(/[\u0300-\u036f]/g, "")
|
|
26
|
+
.toLowerCase();
|
|
27
|
+
}
|
|
28
|
+
export function letterOf(title) {
|
|
29
|
+
const first = foldTitle(title).trimStart().slice(0, 1).toUpperCase();
|
|
30
|
+
return /^[A-Z]$/.test(first) ? first : "#";
|
|
31
|
+
}
|
|
32
|
+
/** The path segment and anchor of a letter: lowercase, `other` for the bucket of digits and symbols. */
|
|
33
|
+
export function letterSlug(letter) {
|
|
34
|
+
return letter === "#" ? "other" : letter.toLowerCase();
|
|
35
|
+
}
|
|
36
|
+
/** The page of a letter when the index is segmented. */
|
|
37
|
+
export function letterPagePath(letter) {
|
|
38
|
+
return `index/${letterSlug(letter)}/index.html`;
|
|
39
|
+
}
|
|
40
|
+
/** Where a letter is reached from a page: its own page when the index is segmented, its anchor in the whole index otherwise. */
|
|
41
|
+
export function letterHref(from, letter, segmented) {
|
|
42
|
+
return segmented
|
|
43
|
+
? relativeHref(from, letterPagePath(letter))
|
|
44
|
+
: `${relativeHref(from, INDEX_PAGE)}#${letterSlug(letter)}`;
|
|
45
|
+
}
|
|
46
|
+
/** Every page of the site in the order of the project locale's collation, the identifier breaking ties. */
|
|
47
|
+
export function filedEntities(context) {
|
|
48
|
+
return [...context.model.entities]
|
|
49
|
+
.sort((a, b) => context.collate(a.title, b.title) || byCodeUnit(a.id, b.id))
|
|
50
|
+
.map((entity) => ({ entity, letter: letterOf(entity.title) }));
|
|
51
|
+
}
|
|
52
|
+
function numberOf(value) {
|
|
53
|
+
return typeof value === "number" ? value : 0;
|
|
54
|
+
}
|
|
55
|
+
/** How many pages cite an entry: the distinct pages linking to a note, the files an expression is read in. */
|
|
56
|
+
export function citingPages(context, entity) {
|
|
57
|
+
if (entity.keyword === true)
|
|
58
|
+
return numberOf(entity.attributes["documents"]);
|
|
59
|
+
return new Set((context.incoming.get(entity.id) ?? []).map((link) => link.from)).size;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The passage of a word without a definition that stands for its description: the first
|
|
63
|
+
* passage, by line, of the file that uses the word most, the first such file in fragment order
|
|
64
|
+
* when several tie, quoted and followed by the title of that file; none when no page of the
|
|
65
|
+
* site uses the word.
|
|
66
|
+
*/
|
|
67
|
+
export function mostCitedPassageOf(context, entity) {
|
|
68
|
+
const files = new Map();
|
|
69
|
+
for (const passage of context.fragments.get(entity.id)?.passages ?? []) {
|
|
70
|
+
const key = fileKey(passage.source, passage.path);
|
|
71
|
+
const note = context.byFile.get(key);
|
|
72
|
+
if (note === undefined)
|
|
73
|
+
continue;
|
|
74
|
+
const file = files.get(key);
|
|
75
|
+
if (file === undefined) {
|
|
76
|
+
files.set(key, { note, first: passage, passages: 1 });
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
file.passages += 1;
|
|
80
|
+
if (passage.line < file.first.line)
|
|
81
|
+
file.first = passage;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
let best;
|
|
85
|
+
for (const file of files.values()) {
|
|
86
|
+
if (best === undefined || file.passages > best.passages)
|
|
87
|
+
best = file;
|
|
88
|
+
}
|
|
89
|
+
if (best === undefined)
|
|
90
|
+
return undefined;
|
|
91
|
+
return formatMessage(context.catalogue, "index.passage", {
|
|
92
|
+
passage: best.first.context,
|
|
93
|
+
title: best.note.title,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
/** The first line of a page: its summary cut at a word; the most cited passage of a word without a definition. */
|
|
97
|
+
export function summaryOf(context, entity) {
|
|
98
|
+
if (entity.keyword === true)
|
|
99
|
+
return mostCitedPassageOf(context, entity);
|
|
100
|
+
return entity.summary === undefined
|
|
101
|
+
? undefined
|
|
102
|
+
: excerptOf(entity.summary, INDEX_SUMMARY_MAX_CHARS);
|
|
103
|
+
}
|
|
104
|
+
function entryOf(context, from, filed, anchor) {
|
|
105
|
+
const { entity, letter } = filed;
|
|
106
|
+
const noteless = entity.keyword === true;
|
|
107
|
+
const glyph = noteless ? undefined : glyphOf(context, entity.type);
|
|
108
|
+
const summary = summaryOf(context, entity);
|
|
109
|
+
return {
|
|
110
|
+
label: entity.title,
|
|
111
|
+
href: entityHref(from, entity.id),
|
|
112
|
+
letter,
|
|
113
|
+
...(glyph === undefined ? {} : { glyph }),
|
|
114
|
+
...(noteless ? {} : { typeLabel: typeLabel(context, entity.type) }),
|
|
115
|
+
...(summary === undefined ? {} : { summary }),
|
|
116
|
+
...(anchor === undefined ? {} : { anchor }),
|
|
117
|
+
count: citingPages(context, entity),
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
function valuesOf(from, facet, counts, labelOf) {
|
|
121
|
+
return [...counts]
|
|
122
|
+
.map(([value, count]) => ({
|
|
123
|
+
label: labelOf(value),
|
|
124
|
+
href: searchFilterHref(from, facet, value),
|
|
125
|
+
count,
|
|
126
|
+
}))
|
|
127
|
+
.sort((a, b) => byCodeUnit(a.label, b.label) || byCodeUnit(a.href, b.href));
|
|
128
|
+
}
|
|
129
|
+
function tally(counts, key) {
|
|
130
|
+
counts.set(key, (counts.get(key) ?? 0) + 1);
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* The filters of the index seen from a page: the types of the notes with their labels, the
|
|
134
|
+
* spaces, and the words without a definition, every value leading to the results page filtered
|
|
135
|
+
* by it, which lists the whole site under its facets when it receives no query.
|
|
136
|
+
*/
|
|
137
|
+
export function filtersOf(context, from, filed) {
|
|
138
|
+
const types = new Map();
|
|
139
|
+
const spaces = new Map();
|
|
140
|
+
let noteless = 0;
|
|
141
|
+
for (const { entity } of filed) {
|
|
142
|
+
tally(spaces, entity.source.name);
|
|
143
|
+
if (entity.keyword === true) {
|
|
144
|
+
noteless += 1;
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
tally(types, entity.type);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return {
|
|
151
|
+
types: valuesOf(from, "type", types, (type) => typeLabel(context, type)),
|
|
152
|
+
spaces: valuesOf(from, "source", spaces, (space) => spaceTitle(context, space)),
|
|
153
|
+
withoutDefinition: {
|
|
154
|
+
label: message(context, "index.withoutDefinition"),
|
|
155
|
+
href: searchFilterHref(from, NOTELESS_FACET, "only"),
|
|
156
|
+
count: noteless,
|
|
157
|
+
},
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
/** The strings of the index in the site language, the sentence under the title and the empty letters counted. */
|
|
161
|
+
export function indexLabels(context, filed, empty) {
|
|
162
|
+
return {
|
|
163
|
+
title: message(context, "index.title"),
|
|
164
|
+
lead: formatMessage(context.catalogue, "index.lead", {
|
|
165
|
+
words: filed.length,
|
|
166
|
+
notes: filed.filter(({ entity }) => entity.keyword !== true).length,
|
|
167
|
+
}),
|
|
168
|
+
filters: message(context, "index.filters"),
|
|
169
|
+
byType: message(context, "index.byType"),
|
|
170
|
+
bySpace: message(context, "index.bySpace"),
|
|
171
|
+
letters: message(context, "index.letters"),
|
|
172
|
+
lettersWithout: formatMessage(context.catalogue, "index.lettersWithout", { count: empty }),
|
|
173
|
+
word: message(context, "index.columnWord"),
|
|
174
|
+
type: message(context, "index.columnType"),
|
|
175
|
+
description: message(context, "index.columnDescription"),
|
|
176
|
+
pages: message(context, "index.columnPages"),
|
|
177
|
+
noDefinition: message(context, "index.noDefinition"),
|
|
178
|
+
note: message(context, "index.note"),
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
/** What every page of the index carries besides its entries: the counts, the filters and the labels. */
|
|
182
|
+
function frameOf(context, from, filed) {
|
|
183
|
+
const counts = countsOf(filed);
|
|
184
|
+
const empty = INDEX_LETTERS.filter((letter) => (counts.get(letter) ?? 0) === 0).length;
|
|
185
|
+
return {
|
|
186
|
+
counts: {
|
|
187
|
+
words: filed.length,
|
|
188
|
+
notes: filed.filter(({ entity }) => entity.keyword !== true).length,
|
|
189
|
+
},
|
|
190
|
+
filters: filtersOf(context, from, filed),
|
|
191
|
+
labels: indexLabels(context, filed, empty),
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
function countsOf(filed) {
|
|
195
|
+
const counts = new Map();
|
|
196
|
+
for (const { letter } of filed) {
|
|
197
|
+
counts.set(letter, (counts.get(letter) ?? 0) + 1);
|
|
198
|
+
}
|
|
199
|
+
return counts;
|
|
200
|
+
}
|
|
201
|
+
/** The letter bar seen from a page: a letter with entries links to its place and words its count, the others stay inactive. */
|
|
202
|
+
function lettersOf(context, from, counts, segmented) {
|
|
203
|
+
return INDEX_LETTERS.map((letter) => {
|
|
204
|
+
const count = counts.get(letter) ?? 0;
|
|
205
|
+
return count === 0
|
|
206
|
+
? { letter, count }
|
|
207
|
+
: {
|
|
208
|
+
letter,
|
|
209
|
+
href: letterHref(from, letter, segmented),
|
|
210
|
+
count,
|
|
211
|
+
countLabel: formatMessage(context.catalogue, "index.words", { count }),
|
|
212
|
+
};
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
/** The whole index in one page, the first entry of every letter anchored for the bar. */
|
|
216
|
+
export function indexOf(context, filed = filedEntities(context)) {
|
|
217
|
+
const counts = countsOf(filed);
|
|
218
|
+
const seen = new Set();
|
|
219
|
+
const entries = filed.map((item) => {
|
|
220
|
+
const first = !seen.has(item.letter);
|
|
221
|
+
seen.add(item.letter);
|
|
222
|
+
return entryOf(context, INDEX_PAGE, item, first ? letterSlug(item.letter) : undefined);
|
|
223
|
+
});
|
|
224
|
+
return {
|
|
225
|
+
letters: lettersOf(context, INDEX_PAGE, counts, false),
|
|
226
|
+
entries,
|
|
227
|
+
...frameOf(context, INDEX_PAGE, filed),
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
function letterPageOf(context, filed, letter, path) {
|
|
231
|
+
return {
|
|
232
|
+
path,
|
|
233
|
+
letter,
|
|
234
|
+
props: {
|
|
235
|
+
letters: lettersOf(context, path, countsOf(filed), true),
|
|
236
|
+
current: letter,
|
|
237
|
+
entries: filed
|
|
238
|
+
.filter((item) => item.letter === letter)
|
|
239
|
+
.map((item) => entryOf(context, path, item)),
|
|
240
|
+
...frameOf(context, path, filed),
|
|
241
|
+
},
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
/**
|
|
245
|
+
* One page for the whole index when `weigh` finds it under `INDEX_SEGMENT_BYTES`; otherwise one
|
|
246
|
+
* page per letter with entries, `index/index.html` repeating the first of them so that the address
|
|
247
|
+
* of the index keeps answering.
|
|
248
|
+
*/
|
|
249
|
+
export function planIndex(context, weigh) {
|
|
250
|
+
const filed = filedEntities(context);
|
|
251
|
+
const counts = countsOf(filed);
|
|
252
|
+
const summary = INDEX_LETTERS.map((letter) => ({ letter, count: counts.get(letter) ?? 0 }));
|
|
253
|
+
const whole = indexOf(context, filed);
|
|
254
|
+
if (weigh(whole) <= INDEX_SEGMENT_BYTES) {
|
|
255
|
+
return { segmented: false, pages: [{ path: INDEX_PAGE, props: whole }], counts: summary };
|
|
256
|
+
}
|
|
257
|
+
const active = summary.filter(({ count }) => count > 0).map(({ letter }) => letter);
|
|
258
|
+
return {
|
|
259
|
+
segmented: true,
|
|
260
|
+
pages: active.flatMap((letter, position) => [
|
|
261
|
+
...(position === 0 ? [letterPageOf(context, filed, letter, INDEX_PAGE)] : []),
|
|
262
|
+
letterPageOf(context, filed, letter, letterPagePath(letter)),
|
|
263
|
+
]),
|
|
264
|
+
counts: summary,
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
//# sourceMappingURL=index-page.js.map
|