@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,782 @@
|
|
|
1
|
+
import { pagePath } from "@concordance-wiki/core";
|
|
2
|
+
import { formatDate, formatMessage, formatNumber, formatRelative } from "@concordance-wiki/i18n";
|
|
3
|
+
import { byCodeUnit } from "../order.js";
|
|
4
|
+
import { OPERATION_TYPE } from "../slots.js";
|
|
5
|
+
import { DECISION_TYPE, decisionOf, yearBreadcrumbOf, yearSpaceOf } from "./decision.js";
|
|
6
|
+
import { editHref, glyphNameOf, labelIn, message, relationLabel, spaceTitle, typeLabel, } from "./context.js";
|
|
7
|
+
import { datedBreadcrumbOf, datedSpaceOf, isDatedSpace, MEETING_TYPE, meetingOf, } from "./meeting.js";
|
|
8
|
+
import { citingPages, mentionsPanelOf } from "./mentions.js";
|
|
9
|
+
import { exposedOperations, operationAttribute, unmatchedOperations, } from "./operations.js";
|
|
10
|
+
import { groupingOf } from "./grouping.js";
|
|
11
|
+
import { kindOf } from "./kinds.js";
|
|
12
|
+
import { breadcrumbOf, spaceOf } from "./space.js";
|
|
13
|
+
import { contractFileTarget, contractFragmentPath, entityHref, isContractUrl, relativeHref, searchFilterHref, } from "./paths.js";
|
|
14
|
+
/** The properties every entity carries outside `attributes`, and the message that labels each. */
|
|
15
|
+
const COMMON = ["application", "domain", "status"];
|
|
16
|
+
function commonValue(entity, key) {
|
|
17
|
+
return entity[key];
|
|
18
|
+
}
|
|
19
|
+
/** The aliases are a field of the entity; every other key is one of its attributes. */
|
|
20
|
+
function ownValue(entity, key) {
|
|
21
|
+
return key === "aliases" ? entity.aliases : entity.attributes[key];
|
|
22
|
+
}
|
|
23
|
+
function commonLabel(context, key) {
|
|
24
|
+
switch (key) {
|
|
25
|
+
case "application":
|
|
26
|
+
return message(context, "entity.application");
|
|
27
|
+
case "domain":
|
|
28
|
+
return message(context, "entity.domain");
|
|
29
|
+
case "status":
|
|
30
|
+
return message(context, "entity.status");
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/** The label of an attribute in the site language: what the type or the common attributes declare, else the name itself. */
|
|
34
|
+
export function attributeLabel(context, type, key) {
|
|
35
|
+
const { profile } = context;
|
|
36
|
+
const label = profile.types[type]?.attributes?.[key]?.label ?? profile.common_attributes?.[key]?.label;
|
|
37
|
+
return label === undefined ? key.replaceAll("_", " ") : labelIn(label, context.language);
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* The note a written value names, the way the pipeline resolves a reference: by its identifier
|
|
41
|
+
* as written, else by the identifier it takes within the source of the note
|
|
42
|
+
* (`roles/publication/reader` naming `specs/roles/publication/reader` from a note of `specs`);
|
|
43
|
+
* none for a value that is no identifier.
|
|
44
|
+
*/
|
|
45
|
+
function referencedOf(context, source, value) {
|
|
46
|
+
return context.entities.get(value) ?? context.entities.get(`${source}/${value}`);
|
|
47
|
+
}
|
|
48
|
+
/** A value of the frontmatter as the page shows it: scalars and lists of scalars, an identifier becoming a link titled as its note. */
|
|
49
|
+
function valuesOf(context, page, source, value) {
|
|
50
|
+
if (Array.isArray(value)) {
|
|
51
|
+
return value.flatMap((item) => valuesOf(context, page, source, item));
|
|
52
|
+
}
|
|
53
|
+
if (typeof value === "string") {
|
|
54
|
+
const target = referencedOf(context, source, value);
|
|
55
|
+
return [
|
|
56
|
+
target === undefined
|
|
57
|
+
? { text: value }
|
|
58
|
+
: { text: target.title, href: entityHref(page, target.id) },
|
|
59
|
+
];
|
|
60
|
+
}
|
|
61
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
62
|
+
return [{ text: String(value) }];
|
|
63
|
+
}
|
|
64
|
+
return [];
|
|
65
|
+
}
|
|
66
|
+
/** The application or the domain of an entity as the page shows it: by the title the configuration gives it, leading to the results filtered on it. */
|
|
67
|
+
function scopeValue(context, page, facet, id) {
|
|
68
|
+
const titles = facet === "application" ? context.names?.applications : context.names?.domains;
|
|
69
|
+
return { text: titles?.[id] ?? id, href: searchFilterHref(page, facet, id) };
|
|
70
|
+
}
|
|
71
|
+
/** One attribute of an entity as the page shows it, common or declared, labelled by the profile; none when the entity sets no value for it. */
|
|
72
|
+
export function attributeOf(context, page, entity, key) {
|
|
73
|
+
const common = COMMON.find((candidate) => candidate === key);
|
|
74
|
+
const label = common === undefined ? attributeLabel(context, entity.type, key) : commonLabel(context, common);
|
|
75
|
+
const raw = common === undefined ? ownValue(entity, key) : commonValue(entity, common);
|
|
76
|
+
const values = (common === "application" || common === "domain") && typeof raw === "string"
|
|
77
|
+
? [scopeValue(context, page, common, raw)]
|
|
78
|
+
: valuesOf(context, page, entity.source.name, raw);
|
|
79
|
+
return values.length === 0 ? undefined : { name: key, label, values };
|
|
80
|
+
}
|
|
81
|
+
function attributes(context, page, entity, keys) {
|
|
82
|
+
const seen = new Set();
|
|
83
|
+
const result = [];
|
|
84
|
+
for (const key of keys) {
|
|
85
|
+
if (seen.has(key))
|
|
86
|
+
continue;
|
|
87
|
+
seen.add(key);
|
|
88
|
+
const attribute = attributeOf(context, page, entity, key);
|
|
89
|
+
if (attribute !== undefined)
|
|
90
|
+
result.push(attribute);
|
|
91
|
+
}
|
|
92
|
+
return result;
|
|
93
|
+
}
|
|
94
|
+
/** What `display.highlight` of the type names, in that order, when the entity has it. */
|
|
95
|
+
export function highlightsOf(context, page, entity) {
|
|
96
|
+
return attributes(context, page, entity, [
|
|
97
|
+
...(context.profile.types[entity.type]?.display?.highlight ?? []),
|
|
98
|
+
]);
|
|
99
|
+
}
|
|
100
|
+
/** The keys of the frontmatter the profile declares, for the type or for every type. */
|
|
101
|
+
function declaredKeys(context, type) {
|
|
102
|
+
const { profile } = context;
|
|
103
|
+
return {
|
|
104
|
+
typed: Object.keys(profile.types[type]?.attributes ?? {}),
|
|
105
|
+
common: Object.keys(profile.common_attributes ?? {}),
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* The side panel: the common properties, then the attributes the type declares in declaration
|
|
110
|
+
* order, then the other declared common attributes the note sets, in key order.
|
|
111
|
+
*/
|
|
112
|
+
export function panelOf(context, page, entity) {
|
|
113
|
+
const declared = declaredKeys(context, entity.type);
|
|
114
|
+
const set = Object.keys(entity.attributes).sort(byCodeUnit);
|
|
115
|
+
return attributes(context, page, entity, [
|
|
116
|
+
...COMMON,
|
|
117
|
+
...declared.typed.filter((key) => Object.hasOwn(entity.attributes, key)),
|
|
118
|
+
...set.filter((key) => declared.common.includes(key)),
|
|
119
|
+
]);
|
|
120
|
+
}
|
|
121
|
+
/** A value the profile knows nothing about, as written: scalars and their lists as text, anything nested as JSON. */
|
|
122
|
+
function rawValuesOf(value) {
|
|
123
|
+
if (Array.isArray(value)) {
|
|
124
|
+
return value.flatMap((item) => typeof item === "object" && item !== null
|
|
125
|
+
? [{ text: JSON.stringify(item) }]
|
|
126
|
+
: rawValuesOf(item));
|
|
127
|
+
}
|
|
128
|
+
if (typeof value === "string") {
|
|
129
|
+
return [{ text: value }];
|
|
130
|
+
}
|
|
131
|
+
if (typeof value === "number" || typeof value === "boolean") {
|
|
132
|
+
return [{ text: String(value) }];
|
|
133
|
+
}
|
|
134
|
+
return value === null || value === undefined ? [] : [{ text: JSON.stringify(value) }];
|
|
135
|
+
}
|
|
136
|
+
/** The frontmatter keys the profile declares neither for the type nor for every type, kept as written, in key order. */
|
|
137
|
+
export function othersOf(context, entity) {
|
|
138
|
+
const declared = declaredKeys(context, entity.type);
|
|
139
|
+
const others = [];
|
|
140
|
+
for (const key of Object.keys(entity.attributes).sort(byCodeUnit)) {
|
|
141
|
+
if (declared.typed.includes(key) || declared.common.includes(key))
|
|
142
|
+
continue;
|
|
143
|
+
const values = rawValuesOf(entity.attributes[key]);
|
|
144
|
+
if (values.length > 0)
|
|
145
|
+
others.push({ name: key, label: key, values });
|
|
146
|
+
}
|
|
147
|
+
return others;
|
|
148
|
+
}
|
|
149
|
+
/** The declaration of the type of an entity as the profile has it, labelled in the site language; none for an undeclared type. */
|
|
150
|
+
export function declarationOf(context, type) {
|
|
151
|
+
const definition = context.profile.types[type];
|
|
152
|
+
if (definition === undefined)
|
|
153
|
+
return undefined;
|
|
154
|
+
const attributes = Object.entries(definition.attributes ?? {}).map(([name, attribute]) => ({
|
|
155
|
+
name,
|
|
156
|
+
label: attributeLabel(context, type, name),
|
|
157
|
+
type: attribute.type,
|
|
158
|
+
...(attribute.target === undefined
|
|
159
|
+
? {}
|
|
160
|
+
: { target: Array.isArray(attribute.target) ? attribute.target : [attribute.target] }),
|
|
161
|
+
...(attribute.relation === undefined ? {} : { relation: attribute.relation }),
|
|
162
|
+
...(attribute.values === undefined ? {} : { values: attribute.values }),
|
|
163
|
+
}));
|
|
164
|
+
const sections = Object.entries(definition.sections ?? {}).map(([key, section]) => ({
|
|
165
|
+
key,
|
|
166
|
+
heading: labelIn(section.heading, context.language),
|
|
167
|
+
parse: section.parse,
|
|
168
|
+
produces: section.produces,
|
|
169
|
+
}));
|
|
170
|
+
return {
|
|
171
|
+
type,
|
|
172
|
+
label: labelIn(definition.label, context.language),
|
|
173
|
+
group: definition.group,
|
|
174
|
+
...(definition.glyph === undefined ? {} : { glyph: definition.glyph }),
|
|
175
|
+
attributes,
|
|
176
|
+
sections,
|
|
177
|
+
display: {
|
|
178
|
+
highlight: [...(definition.display?.highlight ?? [])],
|
|
179
|
+
neighboursOrder: [...(definition.display?.neighbours_order ?? [])],
|
|
180
|
+
},
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
/** A heading compared without regard to case, accents or surrounding and repeated whitespace, as the pipeline maps sections. */
|
|
184
|
+
function foldHeading(heading) {
|
|
185
|
+
return heading.normalize("NFD").replace(/\p{M}/gu, "").toLowerCase().trim().replace(/\s+/g, " ");
|
|
186
|
+
}
|
|
187
|
+
/** The sections of the note, each mapped section of the type marked with its key when its heading matches, in any language or by the key itself. */
|
|
188
|
+
export function sectionsOf(context, entity) {
|
|
189
|
+
const mapped = Object.entries(context.profile.types[entity.type]?.sections ?? {});
|
|
190
|
+
return (context.fragments.get(entity.id)?.sections ?? []).map((section) => {
|
|
191
|
+
if (section.heading === undefined)
|
|
192
|
+
return section;
|
|
193
|
+
const heading = foldHeading(section.heading);
|
|
194
|
+
const match = mapped.find(([key, definition]) => [key, ...Object.values({ ...definition.heading })].some((label) => foldHeading(label) === heading));
|
|
195
|
+
return match === undefined ? section : { ...section, key: match[0] };
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* How many one-hop neighbours an entity has: the other ends of the links touching it that are
|
|
200
|
+
* entities of the model, a link looping on its node counting for none, the way the displayed
|
|
201
|
+
* neighbourhood was computed before its truncation.
|
|
202
|
+
*/
|
|
203
|
+
export function neighbourCount(context, entity) {
|
|
204
|
+
const others = new Set();
|
|
205
|
+
for (const link of context.touching.get(entity.id) ?? []) {
|
|
206
|
+
const other = link.from === entity.id ? link.to : link.from;
|
|
207
|
+
if (other !== entity.id && context.entities.has(other))
|
|
208
|
+
others.add(other);
|
|
209
|
+
}
|
|
210
|
+
return others.size;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* The neighbourhood of a page as the model ordered it; `weight` is the co-occurrence count when
|
|
214
|
+
* the model has one, and the relation reads from the page: a link pointing at the page takes the
|
|
215
|
+
* inverse label of its relation, so that the list names the nature of the link as the reader
|
|
216
|
+
* meets it. `total` counts every neighbour of the model, shown or not.
|
|
217
|
+
*/
|
|
218
|
+
export function neighbourhoodOf(context, page, entity) {
|
|
219
|
+
const counts = new Map((context.model.neighbours?.[entity.id] ?? []).map((neighbour) => [
|
|
220
|
+
neighbour.id,
|
|
221
|
+
neighbour.count,
|
|
222
|
+
]));
|
|
223
|
+
const neighbours = (context.model.displayed_neighbourhood?.[entity.id] ?? []).map((neighbour) => {
|
|
224
|
+
const glyph = neighbour.kind === "keyword" ? undefined : glyphNameOf(context, neighbour.type);
|
|
225
|
+
return {
|
|
226
|
+
id: neighbour.id,
|
|
227
|
+
label: neighbour.title,
|
|
228
|
+
href: entityHref(page, neighbour.id),
|
|
229
|
+
typeLabel: neighbour.kind === "keyword"
|
|
230
|
+
? message(context, "keyword.title")
|
|
231
|
+
: typeLabel(context, neighbour.type),
|
|
232
|
+
relation: relationLabel(context, neighbour.relation, {
|
|
233
|
+
inverse: neighbour.direction === "in",
|
|
234
|
+
}),
|
|
235
|
+
weight: counts.get(neighbour.id) ?? 1,
|
|
236
|
+
rank: neighbour.rank,
|
|
237
|
+
kind: neighbour.kind,
|
|
238
|
+
...(glyph === undefined ? {} : { typeGlyph: glyph }),
|
|
239
|
+
};
|
|
240
|
+
});
|
|
241
|
+
const total = Math.max(neighbourCount(context, entity), neighbours.length);
|
|
242
|
+
return {
|
|
243
|
+
centre: entity.title,
|
|
244
|
+
neighbours,
|
|
245
|
+
total,
|
|
246
|
+
labels: neighbourhoodLabels(context, neighbours.length, total),
|
|
247
|
+
};
|
|
248
|
+
}
|
|
249
|
+
/** The strings of the map in the site language; the list heading is worded from the number listed, the pointer from the total. */
|
|
250
|
+
export function neighbourhoodLabels(context, listed, total) {
|
|
251
|
+
return {
|
|
252
|
+
map: message(context, "neighbourhood.map"),
|
|
253
|
+
mapCaption: message(context, "neighbourhood.mapCaption"),
|
|
254
|
+
distance: message(context, "neighbourhood.distance"),
|
|
255
|
+
hop: formatMessage(context.catalogue, "neighbourhood.hop", { count: 1 }),
|
|
256
|
+
types: message(context, "related.types"),
|
|
257
|
+
existingPage: message(context, "neighbourhood.existingPage"),
|
|
258
|
+
noteless: message(context, "neighbourhood.noteless"),
|
|
259
|
+
neighbours: formatMessage(context.catalogue, "neighbourhood.list", { count: listed }),
|
|
260
|
+
textualEquivalent: message(context, "neighbourhood.textualEquivalent"),
|
|
261
|
+
capNote: message(context, "neighbourhood.capNote"),
|
|
262
|
+
noNeighbour: message(context, "neighbourhood.none"),
|
|
263
|
+
total: formatMessage(context.catalogue, "neighbourhood.total", { count: total }),
|
|
264
|
+
seeMentions: message(context, "neighbourhood.seeMentions"),
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* The files of an entity in its source, the note first: its path linked to its edit page on
|
|
269
|
+
* the forge when one is known, its call to action leading there, else to the contribution
|
|
270
|
+
* address of the project; none without either.
|
|
271
|
+
*/
|
|
272
|
+
export function sourcesOf(context, entity) {
|
|
273
|
+
const paths = [
|
|
274
|
+
entity.source.path,
|
|
275
|
+
...(entity.representations ?? [])
|
|
276
|
+
.filter((representation) => representation.kind === undefined)
|
|
277
|
+
.map((representation) => representation.path),
|
|
278
|
+
];
|
|
279
|
+
const forge = editHref(context, entity);
|
|
280
|
+
const edit = forge ?? context.contributeUrl;
|
|
281
|
+
return [...new Set(paths)].map((path) => ({
|
|
282
|
+
source: entity.source.name,
|
|
283
|
+
path,
|
|
284
|
+
...(path === entity.source.path && forge !== undefined ? { href: forge } : {}),
|
|
285
|
+
...(path === entity.source.path && edit !== undefined ? { editHref: edit } : {}),
|
|
286
|
+
}));
|
|
287
|
+
}
|
|
288
|
+
/** A row of the operations table: the page of the operation, its method and path when declared, how many pages cite it. */
|
|
289
|
+
function operationItem(context, page, { entity: operation, name, documented }) {
|
|
290
|
+
const method = operationAttribute(operation, "method");
|
|
291
|
+
const path = operationAttribute(operation, "path");
|
|
292
|
+
return {
|
|
293
|
+
name,
|
|
294
|
+
title: operation.title,
|
|
295
|
+
...(operation.summary === undefined ? {} : { summary: operation.summary }),
|
|
296
|
+
href: entityHref(page, operation.id),
|
|
297
|
+
documented,
|
|
298
|
+
...(method === undefined ? {} : { method }),
|
|
299
|
+
...(path === undefined ? {} : { path }),
|
|
300
|
+
callers: formatMessage(context.catalogue, "api.callers", {
|
|
301
|
+
count: citingPages(context, operation),
|
|
302
|
+
}),
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
/** The operations the contract import attached to the API, in model order, as the table lists them. */
|
|
306
|
+
function operationsOf(context, page, entity) {
|
|
307
|
+
return exposedOperations(context, entity).map((operation) => operationItem(context, page, operation));
|
|
308
|
+
}
|
|
309
|
+
/** The operation notes the contract does not declare, as gap rows: named by the note, matched to nothing. */
|
|
310
|
+
function unmatchedOf(context, page, entity) {
|
|
311
|
+
return unmatchedOperations(context, entity).map((note) => {
|
|
312
|
+
const id = note.attributes["operation_id"];
|
|
313
|
+
return operationItem(context, page, {
|
|
314
|
+
entity: note,
|
|
315
|
+
name: typeof id === "string" && id !== "" ? id : note.title,
|
|
316
|
+
documented: true,
|
|
317
|
+
});
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
/** When the contract last changed, relative to the build instant, worded in full and in short. */
|
|
321
|
+
function importedOf(context, importedAt) {
|
|
322
|
+
const locale = context.locale ?? context.language;
|
|
323
|
+
const from = new Date(importedAt);
|
|
324
|
+
const to = new Date(context.model.build.at);
|
|
325
|
+
return {
|
|
326
|
+
date: importedAt.slice(0, 10),
|
|
327
|
+
label: formatMessage(context.catalogue, "api.imported", {
|
|
328
|
+
when: formatRelative(locale, from, to),
|
|
329
|
+
}),
|
|
330
|
+
short: formatRelative(locale, from, to, "short"),
|
|
331
|
+
};
|
|
332
|
+
}
|
|
333
|
+
/** The headings and notes of the contract side of the API page in the site language. */
|
|
334
|
+
export function contractLabels(context) {
|
|
335
|
+
return {
|
|
336
|
+
operations: message(context, "api.operations"),
|
|
337
|
+
operationsLead: message(context, "api.operationsLead"),
|
|
338
|
+
gapsLead: message(context, "api.gapsLead"),
|
|
339
|
+
method: message(context, "api.colMethod"),
|
|
340
|
+
path: message(context, "api.colPath"),
|
|
341
|
+
operation: message(context, "api.colOperation"),
|
|
342
|
+
callersColumn: message(context, "api.colCallers"),
|
|
343
|
+
noOperation: message(context, "api.noOperation"),
|
|
344
|
+
withoutPage: message(context, "api.withoutPage"),
|
|
345
|
+
notInContract: message(context, "api.notInContract"),
|
|
346
|
+
unknownPath: message(context, "api.unknownPath"),
|
|
347
|
+
contract: message(context, "api.contract"),
|
|
348
|
+
download: message(context, "api.download"),
|
|
349
|
+
viewerNote: message(context, "api.viewerNote"),
|
|
350
|
+
fiveKeys: message(context, "api.fiveKeys"),
|
|
351
|
+
operationsFirst: message(context, "api.operationsFirst"),
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* The contract side of an `api` page, from the record the import left in the model; none without
|
|
356
|
+
* one. The block dates the contract by the last change of its file, as the ingest dates it, and
|
|
357
|
+
* by its import only for a contract fetched from a URL: the instant of the build says nothing
|
|
358
|
+
* about the contract.
|
|
359
|
+
*/
|
|
360
|
+
export function contractOf(context, page, entity) {
|
|
361
|
+
const record = context.model.build.contracts?.find((candidate) => candidate.api === entity.id);
|
|
362
|
+
if (record === undefined)
|
|
363
|
+
return undefined;
|
|
364
|
+
const { location } = record;
|
|
365
|
+
const unmatched = unmatchedOf(context, page, entity);
|
|
366
|
+
const importedAt = record.last_modified ?? record.imported_at;
|
|
367
|
+
return {
|
|
368
|
+
title: record.title,
|
|
369
|
+
version: record.version,
|
|
370
|
+
format: record.format,
|
|
371
|
+
importedAt,
|
|
372
|
+
imported: importedOf(context, importedAt),
|
|
373
|
+
location,
|
|
374
|
+
downloadHref: isContractUrl(location)
|
|
375
|
+
? location
|
|
376
|
+
: relativeHref(page, contractFileTarget(entity.id, location)),
|
|
377
|
+
fragmentHref: relativeHref(page, contractFragmentPath(entity.id)),
|
|
378
|
+
operations: operationsOf(context, page, entity),
|
|
379
|
+
...(unmatched.length === 0 ? {} : { unmatched }),
|
|
380
|
+
labels: contractLabels(context),
|
|
381
|
+
};
|
|
382
|
+
}
|
|
383
|
+
/** The properties a reader read from a file, as the page carries them: absent ones left out. */
|
|
384
|
+
function readOf(document) {
|
|
385
|
+
return {
|
|
386
|
+
...(document.size === undefined ? {} : { size: document.size }),
|
|
387
|
+
...(document.author === undefined ? {} : { author: document.author }),
|
|
388
|
+
...(document.date === undefined ? {} : { date: document.date }),
|
|
389
|
+
...(document.pageCount === undefined ? {} : { pageCount: document.pageCount }),
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
function positionsOf(document) {
|
|
393
|
+
return document.pages.map(({ number, label, text, speaker }) => ({
|
|
394
|
+
number,
|
|
395
|
+
label,
|
|
396
|
+
text,
|
|
397
|
+
...(speaker === undefined ? {} : { speaker }),
|
|
398
|
+
}));
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* The PDF twin of a converted file among the documents of its entity: the document copied where
|
|
402
|
+
* the file's preview is, a PDF being its own preview; none for a PDF, a transcript or a file
|
|
403
|
+
* whose PDF the build produced rather than read from the sources.
|
|
404
|
+
*/
|
|
405
|
+
export function previewTwinOf(document, documents) {
|
|
406
|
+
if (document.preview === undefined || document.preview === document.target)
|
|
407
|
+
return undefined;
|
|
408
|
+
return documents.find((candidate) => candidate.target === document.preview);
|
|
409
|
+
}
|
|
410
|
+
/** The check the converter reports a document it could not convert under. */
|
|
411
|
+
export const CONVERSION_FAILED = "W-CONV-FAILED";
|
|
412
|
+
/** The finding the build recorded for a document whose conversion failed, worded as its cause; none for a converted document. */
|
|
413
|
+
export function conversionFailureOf(context, document) {
|
|
414
|
+
const finding = context.model.findings.find((candidate) => candidate.check === CONVERSION_FAILED &&
|
|
415
|
+
candidate.source === document.source &&
|
|
416
|
+
candidate.path === document.path);
|
|
417
|
+
return finding === undefined ? undefined : { cause: finding.message, check: finding.check };
|
|
418
|
+
}
|
|
419
|
+
/**
|
|
420
|
+
* The documents of the entity as its page offers them, from its fragment: the original file to
|
|
421
|
+
* download, the PDF to open, with the viewer bundles when the build produced them, and the
|
|
422
|
+
* extracted text of every position; nothing for an entity without a document. A converted file
|
|
423
|
+
* and the PDF kept next to it in the sources are one document, in the place of the original:
|
|
424
|
+
* the original to download, the PDF as its preview with what its reader read from it, the
|
|
425
|
+
* positions of the original, else those of the PDF when the original's reader gave none.
|
|
426
|
+
*/
|
|
427
|
+
export function documentsOf(context, page, entity, viewer) {
|
|
428
|
+
const documents = context.fragments.get(entity.id)?.documents ?? [];
|
|
429
|
+
const twins = new Set(documents.flatMap((document) => {
|
|
430
|
+
const twin = previewTwinOf(document, documents);
|
|
431
|
+
return twin === undefined ? [] : [twin];
|
|
432
|
+
}));
|
|
433
|
+
return documents
|
|
434
|
+
.filter((document) => !twins.has(document))
|
|
435
|
+
.map((document) => {
|
|
436
|
+
const twin = previewTwinOf(document, documents);
|
|
437
|
+
const own = positionsOf(document);
|
|
438
|
+
const fromTwin = own.length === 0 && twin !== undefined;
|
|
439
|
+
const failure = document.preview === undefined ? conversionFailureOf(context, document) : undefined;
|
|
440
|
+
return {
|
|
441
|
+
file: {
|
|
442
|
+
label: document.path.slice(document.path.lastIndexOf("/") + 1),
|
|
443
|
+
href: relativeHref(page, document.target),
|
|
444
|
+
format: document.format,
|
|
445
|
+
},
|
|
446
|
+
...(document.preview === undefined
|
|
447
|
+
? {}
|
|
448
|
+
: {
|
|
449
|
+
preview: {
|
|
450
|
+
href: relativeHref(page, document.preview),
|
|
451
|
+
...(viewer === undefined
|
|
452
|
+
? {}
|
|
453
|
+
: {
|
|
454
|
+
viewerHref: relativeHref(page, viewer.viewer),
|
|
455
|
+
workerHref: relativeHref(page, viewer.worker),
|
|
456
|
+
}),
|
|
457
|
+
...(twin === undefined ? {} : readOf(twin)),
|
|
458
|
+
},
|
|
459
|
+
}),
|
|
460
|
+
unit: fromTwin ? twin.unit : document.unit,
|
|
461
|
+
positions: fromTwin ? positionsOf(twin) : own,
|
|
462
|
+
...readOf(document),
|
|
463
|
+
...(fromTwin ? { positionsFromPreview: true } : {}),
|
|
464
|
+
...(failure === undefined ? {} : { previewFailure: failure }),
|
|
465
|
+
};
|
|
466
|
+
});
|
|
467
|
+
}
|
|
468
|
+
/**
|
|
469
|
+
* The document a page centres on: the first one with pages or slides, when no transcript
|
|
470
|
+
* accompanies it; a page with a transcript, or with notes alone, is not a document page.
|
|
471
|
+
*/
|
|
472
|
+
export function centralDocument(documents) {
|
|
473
|
+
return documents.some((document) => document.unit === "cue")
|
|
474
|
+
? undefined
|
|
475
|
+
: documents.find((document) => document.unit !== "cue");
|
|
476
|
+
}
|
|
477
|
+
/** The type whose notes describe a document: their page is the document page even when the note leads. */
|
|
478
|
+
export const DOCUMENT_TYPE = "document";
|
|
479
|
+
/** Whether the file an entity stands for is a markdown note, the one that leads a group of twins when there is one. */
|
|
480
|
+
export function leadsWithNote(entity) {
|
|
481
|
+
return entity.source.path.endsWith(".md");
|
|
482
|
+
}
|
|
483
|
+
/**
|
|
484
|
+
* How many positions a document has: the pages the conversion read, else the count the file or
|
|
485
|
+
* its preview states; none when nothing counted them. The positions of the PDF preview count
|
|
486
|
+
* for the original only through the count it states.
|
|
487
|
+
*/
|
|
488
|
+
export function pageCountOf(document) {
|
|
489
|
+
const converted = document.positions.length > 0 ? document.positions.length : undefined;
|
|
490
|
+
const own = document.positionsFromPreview === true ? document.pageCount : (converted ?? document.pageCount);
|
|
491
|
+
return own ?? converted ?? document.preview?.pageCount;
|
|
492
|
+
}
|
|
493
|
+
/**
|
|
494
|
+
* The line a document is folded behind under the note that leads its page: its file name,
|
|
495
|
+
* its kind, its page count when one is known. A transcript counts no page.
|
|
496
|
+
*/
|
|
497
|
+
export function documentSummary(context, document) {
|
|
498
|
+
return formatMessage(context.catalogue, "entity.alsoAvailable", {
|
|
499
|
+
name: document.file.label,
|
|
500
|
+
format: kindOf(context, document.file.format),
|
|
501
|
+
count: document.unit === "cue" ? 0 : (pageCountOf(document) ?? 0),
|
|
502
|
+
});
|
|
503
|
+
}
|
|
504
|
+
/** The documents with the line each is folded behind, for a page its note leads. */
|
|
505
|
+
export function foldedDocuments(context, documents) {
|
|
506
|
+
return documents.map((document) => ({
|
|
507
|
+
...document,
|
|
508
|
+
summary: documentSummary(context, document),
|
|
509
|
+
}));
|
|
510
|
+
}
|
|
511
|
+
/** A size in the unit that reads best, one decimal at most: "312 kB", "4.2 MB". */
|
|
512
|
+
export function formatSize(locale, bytes) {
|
|
513
|
+
const [unit, divisor] = bytes >= 1_000_000_000
|
|
514
|
+
? ["gigabyte", 1_000_000_000]
|
|
515
|
+
: bytes >= 1_000_000
|
|
516
|
+
? ["megabyte", 1_000_000]
|
|
517
|
+
: ["kilobyte", 1_000];
|
|
518
|
+
return formatNumber(locale, bytes / divisor, {
|
|
519
|
+
style: "unit",
|
|
520
|
+
unit,
|
|
521
|
+
unitDisplay: "short",
|
|
522
|
+
maximumFractionDigits: 1,
|
|
523
|
+
});
|
|
524
|
+
}
|
|
525
|
+
/** The headings, notes and names of the document page in the site language. */
|
|
526
|
+
export function documentPageLabels(context, pages = 0) {
|
|
527
|
+
return {
|
|
528
|
+
document: message(context, "document.view"),
|
|
529
|
+
extractedText: message(context, "document.extractedText"),
|
|
530
|
+
relatedNotes: message(context, "document.relatedNotes"),
|
|
531
|
+
views: message(context, "document.views"),
|
|
532
|
+
downloadOriginal: message(context, "document.download"),
|
|
533
|
+
pages: message(context, "document.pageCount"),
|
|
534
|
+
preview: message(context, "document.preview"),
|
|
535
|
+
openPdf: message(context, "document.openPdf"),
|
|
536
|
+
convertedNote: message(context, "document.convertedNote"),
|
|
537
|
+
originalNote: message(context, "document.originalNote"),
|
|
538
|
+
properties: message(context, "entity.attributes"),
|
|
539
|
+
type: message(context, "document.type"),
|
|
540
|
+
author: message(context, "document.author"),
|
|
541
|
+
pageCount: message(context, "document.pageCount"),
|
|
542
|
+
date: message(context, "document.date"),
|
|
543
|
+
dateNote: message(context, "document.dateNote"),
|
|
544
|
+
previewNote: message(context, "document.previewNote"),
|
|
545
|
+
noNote: message(context, "document.noNote"),
|
|
546
|
+
previewFailed: message(context, "document.previewFailed"),
|
|
547
|
+
textExtracted: message(context, "document.textExtracted"),
|
|
548
|
+
textMissing: message(context, "document.textMissing"),
|
|
549
|
+
whyFailed: message(context, "document.whyFailed"),
|
|
550
|
+
extractedTextOf: formatMessage(context.catalogue, "document.extractedTextOf", { count: pages }),
|
|
551
|
+
indexedNote: message(context, "document.indexedNote"),
|
|
552
|
+
representations: message(context, "document.representations"),
|
|
553
|
+
reportedNote: message(context, "document.reportedNote"),
|
|
554
|
+
};
|
|
555
|
+
}
|
|
556
|
+
/** The representations of a document whose conversion failed, the state of each written: the original, the preview that failed, the text read or not. */
|
|
557
|
+
export function representationsOf(context, document) {
|
|
558
|
+
return [
|
|
559
|
+
{
|
|
560
|
+
label: `.${document.file.format}`,
|
|
561
|
+
state: message(context, "document.stateAvailable"),
|
|
562
|
+
},
|
|
563
|
+
{
|
|
564
|
+
label: `.pdf ${message(context, "document.rolePreview")}`,
|
|
565
|
+
state: message(context, "document.stateFailed"),
|
|
566
|
+
failed: true,
|
|
567
|
+
},
|
|
568
|
+
{
|
|
569
|
+
label: message(context, "document.textRepresentation"),
|
|
570
|
+
state: message(context, document.positions.length > 0 ? "document.stateExtracted" : "document.stateMissing"),
|
|
571
|
+
},
|
|
572
|
+
];
|
|
573
|
+
}
|
|
574
|
+
/**
|
|
575
|
+
* What lays the page of an office document out: the kind of the file from its extension, its
|
|
576
|
+
* page count (what the conversion found, else what the file states), its size, its date (the
|
|
577
|
+
* one the file states, else the last change in the repository) and its author; none for an
|
|
578
|
+
* entity that is not a document page. A count or a size the original does not give is read
|
|
579
|
+
* from its PDF preview, and the page says so.
|
|
580
|
+
*/
|
|
581
|
+
export function documentPageOf(context, entity, documents) {
|
|
582
|
+
const document = centralDocument(documents);
|
|
583
|
+
if (document === undefined)
|
|
584
|
+
return undefined;
|
|
585
|
+
const locale = context.locale ?? context.language;
|
|
586
|
+
const preview = document.preview;
|
|
587
|
+
const converted = document.positions.length > 0 ? document.positions.length : undefined;
|
|
588
|
+
const own = document.positionsFromPreview === true ? document.pageCount : (converted ?? document.pageCount);
|
|
589
|
+
const pages = pageCountOf(document) ?? 0;
|
|
590
|
+
const size = document.size ?? preview?.size;
|
|
591
|
+
const fromPreview = (own === undefined && pages !== 0) || (document.size === undefined && size !== undefined);
|
|
592
|
+
const fileDate = document.date ?? preview?.date;
|
|
593
|
+
const iso = fileDate ?? entity.source.last_modified;
|
|
594
|
+
const author = document.author ?? preview?.author;
|
|
595
|
+
return {
|
|
596
|
+
kind: kindOf(context, document.file.format),
|
|
597
|
+
...(pages === 0
|
|
598
|
+
? {}
|
|
599
|
+
: {
|
|
600
|
+
pages,
|
|
601
|
+
pagesLabel: formatMessage(context.catalogue, "document.pages", { count: pages }),
|
|
602
|
+
}),
|
|
603
|
+
...(size === undefined ? {} : { size: formatSize(locale, size) }),
|
|
604
|
+
...(iso === undefined
|
|
605
|
+
? {}
|
|
606
|
+
: {
|
|
607
|
+
date: {
|
|
608
|
+
date: iso.slice(0, 10),
|
|
609
|
+
label: formatDate(locale, new Date(iso), "long"),
|
|
610
|
+
fromFile: fileDate !== undefined,
|
|
611
|
+
},
|
|
612
|
+
}),
|
|
613
|
+
...(author === undefined ? {} : { author }),
|
|
614
|
+
...(fromPreview ? { fromPreview } : {}),
|
|
615
|
+
...(document.previewFailure === undefined
|
|
616
|
+
? {}
|
|
617
|
+
: {
|
|
618
|
+
previewFailure: document.previewFailure,
|
|
619
|
+
representations: representationsOf(context, document),
|
|
620
|
+
}),
|
|
621
|
+
labels: documentPageLabels(context, pages),
|
|
622
|
+
};
|
|
623
|
+
}
|
|
624
|
+
/**
|
|
625
|
+
* When the note last changed, relative to the build instant so that two builds of the same
|
|
626
|
+
* corpus agree, worded in full and in short for the line of a narrow page; none without a git date.
|
|
627
|
+
*/
|
|
628
|
+
export function changedOf(context, entity) {
|
|
629
|
+
const changed = entity.source.last_modified;
|
|
630
|
+
if (changed === undefined)
|
|
631
|
+
return undefined;
|
|
632
|
+
const locale = context.locale ?? context.language;
|
|
633
|
+
const from = new Date(changed);
|
|
634
|
+
const to = new Date(context.model.build.at);
|
|
635
|
+
return {
|
|
636
|
+
date: changed.slice(0, 10),
|
|
637
|
+
label: formatMessage(context.catalogue, "entity.changed", {
|
|
638
|
+
when: formatRelative(locale, from, to),
|
|
639
|
+
}),
|
|
640
|
+
short: formatRelative(locale, from, to, "short"),
|
|
641
|
+
};
|
|
642
|
+
}
|
|
643
|
+
/** How many pages the map draws: the neighbours listed, never the total the model holds beyond them. */
|
|
644
|
+
export function neighbourPages(neighbourhood) {
|
|
645
|
+
return neighbourhood.neighbours.length;
|
|
646
|
+
}
|
|
647
|
+
/** The headings and notes of the page in the site language, the counts of neighbours and of declared keys worded. */
|
|
648
|
+
export function entityPageLabels(context, neighbours, declared, source) {
|
|
649
|
+
return {
|
|
650
|
+
properties: message(context, "entity.attributes"),
|
|
651
|
+
declaredAtTop: formatMessage(context.catalogue, "entity.declaredAtTop", { count: declared }),
|
|
652
|
+
otherAttributes: message(context, "entity.otherAttributes"),
|
|
653
|
+
onThisPage: message(context, "entity.onThisPage"),
|
|
654
|
+
spaceTree: message(context, "entity.spaceTree"),
|
|
655
|
+
breadcrumb: message(context, "entity.breadcrumb"),
|
|
656
|
+
correction: message(context, "entity.correction"),
|
|
657
|
+
edit: message(context, "entity.edit"),
|
|
658
|
+
seeNeighbourhood: message(context, "entity.seeNeighbourhood"),
|
|
659
|
+
neighbourPages: formatMessage(context.catalogue, "entity.neighbourPages", {
|
|
660
|
+
count: neighbours,
|
|
661
|
+
}),
|
|
662
|
+
legendWritten: message(context, "entity.legendWritten"),
|
|
663
|
+
legendRecognised: message(context, "entity.legendRecognised"),
|
|
664
|
+
legendKeyword: message(context, "entity.legendKeyword"),
|
|
665
|
+
imageNote: message(context, "entity.imageNote"),
|
|
666
|
+
inSpace: formatMessage(context.catalogue, "entity.inSpace", {
|
|
667
|
+
space: spaceTitle(context, source),
|
|
668
|
+
}),
|
|
669
|
+
editShort: message(context, "entity.editShort"),
|
|
670
|
+
};
|
|
671
|
+
}
|
|
672
|
+
function treeShapeOf(context, entity, dated) {
|
|
673
|
+
if (!dated || !isDatedSpace(context, entity.source.name))
|
|
674
|
+
return "folders";
|
|
675
|
+
return entity.type === DECISION_TYPE ? "years" : "months";
|
|
676
|
+
}
|
|
677
|
+
function spaceByShape(context, page, entity, shape) {
|
|
678
|
+
switch (shape) {
|
|
679
|
+
case "folders":
|
|
680
|
+
return spaceOf(context, page, entity);
|
|
681
|
+
case "months":
|
|
682
|
+
return datedSpaceOf(context, page, entity);
|
|
683
|
+
case "years":
|
|
684
|
+
return yearSpaceOf(context, page, entity);
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
function breadcrumbByShape(context, page, entity, shape) {
|
|
688
|
+
switch (shape) {
|
|
689
|
+
case "folders":
|
|
690
|
+
return breadcrumbOf(context, page, entity);
|
|
691
|
+
case "months":
|
|
692
|
+
return datedBreadcrumbOf(context, page, entity);
|
|
693
|
+
case "years":
|
|
694
|
+
return yearBreadcrumbOf(context, page, entity);
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
/**
|
|
698
|
+
* The view model of the page of a typed entity, its sections and documents read from its
|
|
699
|
+
* fragment. A meeting, a document or a decision carries what its own template lays out on top:
|
|
700
|
+
* when every note of its space is dated, the tree is drawn by year and month and the breadcrumb
|
|
701
|
+
* names the month, by year alone for a decision.
|
|
702
|
+
*/
|
|
703
|
+
/** The check the contract import reports an `api` whose declared contract it could not read under. */
|
|
704
|
+
export const CONTRACT_UNREACHABLE = "W-CONTRACT-UNREACHABLE";
|
|
705
|
+
/**
|
|
706
|
+
* The notice of an `api` whose declared contract the build could not read, from the finding it
|
|
707
|
+
* recorded for the entity: the fact, what remains, the declared address as an exit when it is
|
|
708
|
+
* one, the finding behind its disclosure; none for any other page.
|
|
709
|
+
*/
|
|
710
|
+
export function contractNoticeOf(context, entity) {
|
|
711
|
+
const finding = context.model.findings.find((candidate) => candidate.check === CONTRACT_UNREACHABLE && candidate.entity === entity.id);
|
|
712
|
+
if (finding === undefined)
|
|
713
|
+
return undefined;
|
|
714
|
+
const location = entity.attributes["contract"];
|
|
715
|
+
const exits = typeof location === "string" && isContractUrl(location)
|
|
716
|
+
? [{ label: message(context, "api.openContract"), href: location }]
|
|
717
|
+
: [];
|
|
718
|
+
return {
|
|
719
|
+
lead: message(context, "api.contractUnreachable"),
|
|
720
|
+
detail: message(context, "api.contractUnreachableDetail"),
|
|
721
|
+
exits,
|
|
722
|
+
finding: {
|
|
723
|
+
label: message(context, "document.whyFailed"),
|
|
724
|
+
cause: finding.message,
|
|
725
|
+
check: finding.check,
|
|
726
|
+
},
|
|
727
|
+
};
|
|
728
|
+
}
|
|
729
|
+
export function entityPageOf(context, entity, options = {}) {
|
|
730
|
+
const page = pagePath(entity.id);
|
|
731
|
+
const read = documentsOf(context, page, entity, options.viewer);
|
|
732
|
+
// The template follows the lead: a note keeps the template of its type and folds its twins
|
|
733
|
+
// under the article; a document without a note, or a note describing one, gets the document page.
|
|
734
|
+
const leads = leadsWithNote(entity) && entity.type !== DOCUMENT_TYPE;
|
|
735
|
+
const document = leads ? undefined : documentPageOf(context, entity, read);
|
|
736
|
+
const documents = leads && entity.type !== MEETING_TYPE ? foldedDocuments(context, read) : read;
|
|
737
|
+
const contract = contractOf(context, page, entity);
|
|
738
|
+
const notice = contract === undefined ? contractNoticeOf(context, entity) : undefined;
|
|
739
|
+
const declaration = declarationOf(context, entity.type);
|
|
740
|
+
const otherAttributes = othersOf(context, entity);
|
|
741
|
+
const changed = changedOf(context, entity);
|
|
742
|
+
const neighbours = neighbourhoodOf(context, page, entity);
|
|
743
|
+
const attributes = panelOf(context, page, entity);
|
|
744
|
+
const grouping = groupingOf(context, entity);
|
|
745
|
+
const meeting = entity.type === MEETING_TYPE ? meetingOf(context, page, entity, documents) : undefined;
|
|
746
|
+
const decision = entity.type === DECISION_TYPE
|
|
747
|
+
? decisionOf(context, page, entity, (session) => documentsOf(context, pagePath(session.id), session, options.viewer))
|
|
748
|
+
: undefined;
|
|
749
|
+
const shape = treeShapeOf(context, entity, meeting !== undefined || document !== undefined || decision !== undefined);
|
|
750
|
+
// On an interface the operations lead: the served slice of the mentions starts with them.
|
|
751
|
+
const mentions = mentionsPanelOf(context, page, entity, options.mentionsInline, contract === undefined ? undefined : OPERATION_TYPE);
|
|
752
|
+
return {
|
|
753
|
+
entity: {
|
|
754
|
+
id: entity.id,
|
|
755
|
+
type: entity.type,
|
|
756
|
+
typeLabel: typeLabel(context, entity.type),
|
|
757
|
+
title: entity.title,
|
|
758
|
+
locale: entity.locale,
|
|
759
|
+
},
|
|
760
|
+
typeHref: searchFilterHref(page, "type", entity.type),
|
|
761
|
+
...(declaration === undefined ? {} : { declaration }),
|
|
762
|
+
space: spaceByShape(context, page, entity, shape),
|
|
763
|
+
breadcrumb: breadcrumbByShape(context, page, entity, shape),
|
|
764
|
+
...(changed === undefined ? {} : { changed }),
|
|
765
|
+
highlights: highlightsOf(context, page, entity),
|
|
766
|
+
sections: sectionsOf(context, entity),
|
|
767
|
+
attributes,
|
|
768
|
+
...(otherAttributes.length === 0 ? {} : { otherAttributes }),
|
|
769
|
+
labels: entityPageLabels(context, neighbourPages(neighbours), attributes.length, entity.source.name),
|
|
770
|
+
neighbours,
|
|
771
|
+
mentions,
|
|
772
|
+
sources: sourcesOf(context, entity),
|
|
773
|
+
...(documents.length === 0 ? {} : { documents }),
|
|
774
|
+
...(grouping === undefined ? {} : { grouping }),
|
|
775
|
+
...(contract === undefined ? {} : { contract }),
|
|
776
|
+
...(meeting === undefined ? {} : { meeting }),
|
|
777
|
+
...(document === undefined ? {} : { document }),
|
|
778
|
+
...(decision === undefined ? {} : { decision }),
|
|
779
|
+
...(notice === undefined ? {} : { notice }),
|
|
780
|
+
};
|
|
781
|
+
}
|
|
782
|
+
//# sourceMappingURL=entity-page.js.map
|