@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.
Files changed (996) hide show
  1. package/LICENSE +674 -0
  2. package/README.md +130 -0
  3. package/assets/css/accessibility.css +57 -0
  4. package/assets/css/chrome/bar.css +37 -0
  5. package/assets/css/chrome/breadcrumb.css +34 -0
  6. package/assets/css/chrome/breakpoints.css +291 -0
  7. package/assets/css/chrome/contract-viewer.css +84 -0
  8. package/assets/css/chrome/document.css +125 -0
  9. package/assets/css/chrome/drawer.css +210 -0
  10. package/assets/css/chrome/footer.css +102 -0
  11. package/assets/css/chrome/grouped-files.css +58 -0
  12. package/assets/css/chrome/labels.css +54 -0
  13. package/assets/css/chrome/links.css +23 -0
  14. package/assets/css/chrome/measure.css +13 -0
  15. package/assets/css/chrome/mode-switch.css +26 -0
  16. package/assets/css/chrome/panel-handle.css +232 -0
  17. package/assets/css/chrome/panel.css +92 -0
  18. package/assets/css/chrome/pins.css +321 -0
  19. package/assets/css/chrome/search-clear.css +28 -0
  20. package/assets/css/chrome/search-field.css +67 -0
  21. package/assets/css/chrome/space-tree.css +106 -0
  22. package/assets/css/chrome/suggestions.css +100 -0
  23. package/assets/css/chrome/tabs.css +85 -0
  24. package/assets/css/controls.css +30 -0
  25. package/assets/css/pages/about.css +219 -0
  26. package/assets/css/pages/api-page.css +200 -0
  27. package/assets/css/pages/category-list.css +349 -0
  28. package/assets/css/pages/decision-page.css +43 -0
  29. package/assets/css/pages/document-page.css +212 -0
  30. package/assets/css/pages/edge-cases.css +450 -0
  31. package/assets/css/pages/entity-article.css +140 -0
  32. package/assets/css/pages/entity-page.css +109 -0
  33. package/assets/css/pages/gallery.css +74 -0
  34. package/assets/css/pages/home-columns.css +148 -0
  35. package/assets/css/pages/home-shortcuts.css +40 -0
  36. package/assets/css/pages/home.css +81 -0
  37. package/assets/css/pages/index.css +302 -0
  38. package/assets/css/pages/keyword-page.css +262 -0
  39. package/assets/css/pages/meeting-page.css +109 -0
  40. package/assets/css/pages/mentions.css +267 -0
  41. package/assets/css/pages/neighbourhood-map.css +100 -0
  42. package/assets/css/pages/neighbourhood-open.css +262 -0
  43. package/assets/css/pages/neighbourhood.css +60 -0
  44. package/assets/css/pages/screen-page.css +108 -0
  45. package/assets/css/pages/search-results.css +405 -0
  46. package/assets/css/pages/space.css +251 -0
  47. package/assets/css/pages/spaces.css +176 -0
  48. package/assets/css/pages/todo.css +44 -0
  49. package/assets/css/reset.css +21 -0
  50. package/assets/css/typography.css +104 -0
  51. package/assets/fonts/OFL.txt +95 -0
  52. package/assets/fonts/ibm-plex-mono-normal-400-latin-ext.woff2 +0 -0
  53. package/assets/fonts/ibm-plex-mono-normal-400-latin.woff2 +0 -0
  54. package/assets/fonts/ibm-plex-mono-normal-500-latin-ext.woff2 +0 -0
  55. package/assets/fonts/ibm-plex-mono-normal-500-latin.woff2 +0 -0
  56. package/assets/fonts/instrument-sans-italic-400-700-latin-ext.woff2 +0 -0
  57. package/assets/fonts/instrument-sans-italic-400-700-latin.woff2 +0 -0
  58. package/assets/fonts/instrument-sans-normal-400-700-latin-ext.woff2 +0 -0
  59. package/assets/fonts/instrument-sans-normal-400-700-latin.woff2 +0 -0
  60. package/dist/a11y/check.d.ts +14 -0
  61. package/dist/a11y/check.d.ts.map +1 -0
  62. package/dist/a11y/check.js +442 -0
  63. package/dist/a11y/check.js.map +1 -0
  64. package/dist/a11y/contrast.d.ts +32 -0
  65. package/dist/a11y/contrast.d.ts.map +1 -0
  66. package/dist/a11y/contrast.js +82 -0
  67. package/dist/a11y/contrast.js.map +1 -0
  68. package/dist/budget.d.ts +25 -0
  69. package/dist/budget.d.ts.map +1 -0
  70. package/dist/budget.js +26 -0
  71. package/dist/budget.js.map +1 -0
  72. package/dist/build/about.d.ts +21 -0
  73. package/dist/build/about.d.ts.map +1 -0
  74. package/dist/build/about.js +125 -0
  75. package/dist/build/about.js.map +1 -0
  76. package/dist/build/assemble.d.ts +54 -0
  77. package/dist/build/assemble.d.ts.map +1 -0
  78. package/dist/build/assemble.js +67 -0
  79. package/dist/build/assemble.js.map +1 -0
  80. package/dist/build/category.d.ts +118 -0
  81. package/dist/build/category.d.ts.map +1 -0
  82. package/dist/build/category.js +400 -0
  83. package/dist/build/category.js.map +1 -0
  84. package/dist/build/context.d.ts +111 -0
  85. package/dist/build/context.d.ts.map +1 -0
  86. package/dist/build/context.js +181 -0
  87. package/dist/build/context.js.map +1 -0
  88. package/dist/build/decision.d.ts +30 -0
  89. package/dist/build/decision.d.ts.map +1 -0
  90. package/dist/build/decision.js +187 -0
  91. package/dist/build/decision.js.map +1 -0
  92. package/dist/build/default-theme.d.ts +10 -0
  93. package/dist/build/default-theme.d.ts.map +1 -0
  94. package/dist/build/default-theme.js +36 -0
  95. package/dist/build/default-theme.js.map +1 -0
  96. package/dist/build/entity-page.d.ts +140 -0
  97. package/dist/build/entity-page.d.ts.map +1 -0
  98. package/dist/build/entity-page.js +782 -0
  99. package/dist/build/entity-page.js.map +1 -0
  100. package/dist/build/footer.d.ts +39 -0
  101. package/dist/build/footer.d.ts.map +1 -0
  102. package/dist/build/footer.js +123 -0
  103. package/dist/build/footer.js.map +1 -0
  104. package/dist/build/fragments.d.ts +92 -0
  105. package/dist/build/fragments.d.ts.map +1 -0
  106. package/dist/build/fragments.js +115 -0
  107. package/dist/build/fragments.js.map +1 -0
  108. package/dist/build/grouping.d.ts +21 -0
  109. package/dist/build/grouping.d.ts.map +1 -0
  110. package/dist/build/grouping.js +71 -0
  111. package/dist/build/grouping.js.map +1 -0
  112. package/dist/build/home.d.ts +56 -0
  113. package/dist/build/home.d.ts.map +1 -0
  114. package/dist/build/home.js +214 -0
  115. package/dist/build/home.js.map +1 -0
  116. package/dist/build/index-page.d.ts +71 -0
  117. package/dist/build/index-page.d.ts.map +1 -0
  118. package/dist/build/index-page.js +267 -0
  119. package/dist/build/index-page.js.map +1 -0
  120. package/dist/build/keyword-page.d.ts +80 -0
  121. package/dist/build/keyword-page.d.ts.map +1 -0
  122. package/dist/build/keyword-page.js +297 -0
  123. package/dist/build/keyword-page.js.map +1 -0
  124. package/dist/build/kinds.d.ts +4 -0
  125. package/dist/build/kinds.d.ts.map +1 -0
  126. package/dist/build/kinds.js +22 -0
  127. package/dist/build/kinds.js.map +1 -0
  128. package/dist/build/meeting.d.ts +56 -0
  129. package/dist/build/meeting.d.ts.map +1 -0
  130. package/dist/build/meeting.js +285 -0
  131. package/dist/build/meeting.js.map +1 -0
  132. package/dist/build/mentions.d.ts +68 -0
  133. package/dist/build/mentions.d.ts.map +1 -0
  134. package/dist/build/mentions.js +412 -0
  135. package/dist/build/mentions.js.map +1 -0
  136. package/dist/build/not-found.d.ts +23 -0
  137. package/dist/build/not-found.d.ts.map +1 -0
  138. package/dist/build/not-found.js +70 -0
  139. package/dist/build/not-found.js.map +1 -0
  140. package/dist/build/operations.d.ts +27 -0
  141. package/dist/build/operations.d.ts.map +1 -0
  142. package/dist/build/operations.js +99 -0
  143. package/dist/build/operations.js.map +1 -0
  144. package/dist/build/paths.d.ts +45 -0
  145. package/dist/build/paths.d.ts.map +1 -0
  146. package/dist/build/paths.js +74 -0
  147. package/dist/build/paths.js.map +1 -0
  148. package/dist/build/redirect.d.ts +20 -0
  149. package/dist/build/redirect.d.ts.map +1 -0
  150. package/dist/build/redirect.js +31 -0
  151. package/dist/build/redirect.js.map +1 -0
  152. package/dist/build/site.d.ts +99 -0
  153. package/dist/build/site.d.ts.map +1 -0
  154. package/dist/build/site.js +338 -0
  155. package/dist/build/site.js.map +1 -0
  156. package/dist/build/space.d.ts +82 -0
  157. package/dist/build/space.d.ts.map +1 -0
  158. package/dist/build/space.js +248 -0
  159. package/dist/build/space.js.map +1 -0
  160. package/dist/build/spaces.d.ts +48 -0
  161. package/dist/build/spaces.d.ts.map +1 -0
  162. package/dist/build/spaces.js +210 -0
  163. package/dist/build/spaces.js.map +1 -0
  164. package/dist/build/todo.d.ts +24 -0
  165. package/dist/build/todo.d.ts.map +1 -0
  166. package/dist/build/todo.js +107 -0
  167. package/dist/build/todo.js.map +1 -0
  168. package/dist/css/fonts.d.ts +30 -0
  169. package/dist/css/fonts.d.ts.map +1 -0
  170. package/dist/css/fonts.js +51 -0
  171. package/dist/css/fonts.js.map +1 -0
  172. package/dist/css/stylesheet.d.ts +28 -0
  173. package/dist/css/stylesheet.d.ts.map +1 -0
  174. package/dist/css/stylesheet.js +94 -0
  175. package/dist/css/stylesheet.js.map +1 -0
  176. package/dist/css/theme-config.d.ts +2 -0
  177. package/dist/css/theme-config.d.ts.map +1 -0
  178. package/dist/css/theme-config.js +2 -0
  179. package/dist/css/theme-config.js.map +1 -0
  180. package/dist/css/tokens.d.ts +17 -0
  181. package/dist/css/tokens.d.ts.map +1 -0
  182. package/dist/css/tokens.js +90 -0
  183. package/dist/css/tokens.js.map +1 -0
  184. package/dist/gallery/boards.d.ts +146 -0
  185. package/dist/gallery/boards.d.ts.map +1 -0
  186. package/dist/gallery/boards.js +158 -0
  187. package/dist/gallery/boards.js.map +1 -0
  188. package/dist/gallery/build.d.ts +43 -0
  189. package/dist/gallery/build.d.ts.map +1 -0
  190. package/dist/gallery/build.js +129 -0
  191. package/dist/gallery/build.js.map +1 -0
  192. package/dist/gallery/fixtures/about.d.ts +10 -0
  193. package/dist/gallery/fixtures/about.d.ts.map +1 -0
  194. package/dist/gallery/fixtures/about.js +57 -0
  195. package/dist/gallery/fixtures/about.js.map +1 -0
  196. package/dist/gallery/fixtures/api-page.d.ts +8 -0
  197. package/dist/gallery/fixtures/api-page.d.ts.map +1 -0
  198. package/dist/gallery/fixtures/api-page.js +423 -0
  199. package/dist/gallery/fixtures/api-page.js.map +1 -0
  200. package/dist/gallery/fixtures/category-list.d.ts +10 -0
  201. package/dist/gallery/fixtures/category-list.d.ts.map +1 -0
  202. package/dist/gallery/fixtures/category-list.js +106 -0
  203. package/dist/gallery/fixtures/category-list.js.map +1 -0
  204. package/dist/gallery/fixtures/chrome.d.ts +22 -0
  205. package/dist/gallery/fixtures/chrome.d.ts.map +1 -0
  206. package/dist/gallery/fixtures/chrome.js +100 -0
  207. package/dist/gallery/fixtures/chrome.js.map +1 -0
  208. package/dist/gallery/fixtures/corpus.d.ts +62 -0
  209. package/dist/gallery/fixtures/corpus.d.ts.map +1 -0
  210. package/dist/gallery/fixtures/corpus.js +90 -0
  211. package/dist/gallery/fixtures/corpus.js.map +1 -0
  212. package/dist/gallery/fixtures/decision-page.d.ts +12 -0
  213. package/dist/gallery/fixtures/decision-page.d.ts.map +1 -0
  214. package/dist/gallery/fixtures/decision-page.js +287 -0
  215. package/dist/gallery/fixtures/decision-page.js.map +1 -0
  216. package/dist/gallery/fixtures/degraded.d.ts +18 -0
  217. package/dist/gallery/fixtures/degraded.d.ts.map +1 -0
  218. package/dist/gallery/fixtures/degraded.js +95 -0
  219. package/dist/gallery/fixtures/degraded.js.map +1 -0
  220. package/dist/gallery/fixtures/document-blocks.d.ts +4 -0
  221. package/dist/gallery/fixtures/document-blocks.d.ts.map +1 -0
  222. package/dist/gallery/fixtures/document-blocks.js +68 -0
  223. package/dist/gallery/fixtures/document-blocks.js.map +1 -0
  224. package/dist/gallery/fixtures/document-page.d.ts +6 -0
  225. package/dist/gallery/fixtures/document-page.d.ts.map +1 -0
  226. package/dist/gallery/fixtures/document-page.js +314 -0
  227. package/dist/gallery/fixtures/document-page.js.map +1 -0
  228. package/dist/gallery/fixtures/edge-cases.d.ts +25 -0
  229. package/dist/gallery/fixtures/edge-cases.d.ts.map +1 -0
  230. package/dist/gallery/fixtures/edge-cases.js +165 -0
  231. package/dist/gallery/fixtures/edge-cases.js.map +1 -0
  232. package/dist/gallery/fixtures/entity-page-twin.d.ts +8 -0
  233. package/dist/gallery/fixtures/entity-page-twin.d.ts.map +1 -0
  234. package/dist/gallery/fixtures/entity-page-twin.js +68 -0
  235. package/dist/gallery/fixtures/entity-page-twin.js.map +1 -0
  236. package/dist/gallery/fixtures/entity-page.d.ts +12 -0
  237. package/dist/gallery/fixtures/entity-page.d.ts.map +1 -0
  238. package/dist/gallery/fixtures/entity-page.js +244 -0
  239. package/dist/gallery/fixtures/entity-page.js.map +1 -0
  240. package/dist/gallery/fixtures/home.d.ts +9 -0
  241. package/dist/gallery/fixtures/home.d.ts.map +1 -0
  242. package/dist/gallery/fixtures/home.js +145 -0
  243. package/dist/gallery/fixtures/home.js.map +1 -0
  244. package/dist/gallery/fixtures/index-page.d.ts +4 -0
  245. package/dist/gallery/fixtures/index-page.d.ts.map +1 -0
  246. package/dist/gallery/fixtures/index-page.js +145 -0
  247. package/dist/gallery/fixtures/index-page.js.map +1 -0
  248. package/dist/gallery/fixtures/keyword-page.d.ts +7 -0
  249. package/dist/gallery/fixtures/keyword-page.d.ts.map +1 -0
  250. package/dist/gallery/fixtures/keyword-page.js +344 -0
  251. package/dist/gallery/fixtures/keyword-page.js.map +1 -0
  252. package/dist/gallery/fixtures/meeting-page.d.ts +11 -0
  253. package/dist/gallery/fixtures/meeting-page.d.ts.map +1 -0
  254. package/dist/gallery/fixtures/meeting-page.js +303 -0
  255. package/dist/gallery/fixtures/meeting-page.js.map +1 -0
  256. package/dist/gallery/fixtures/mentions.d.ts +6 -0
  257. package/dist/gallery/fixtures/mentions.d.ts.map +1 -0
  258. package/dist/gallery/fixtures/mentions.js +28 -0
  259. package/dist/gallery/fixtures/mentions.js.map +1 -0
  260. package/dist/gallery/fixtures/neighbourhood.d.ts +7 -0
  261. package/dist/gallery/fixtures/neighbourhood.d.ts.map +1 -0
  262. package/dist/gallery/fixtures/neighbourhood.js +96 -0
  263. package/dist/gallery/fixtures/neighbourhood.js.map +1 -0
  264. package/dist/gallery/fixtures/pins.d.ts +6 -0
  265. package/dist/gallery/fixtures/pins.d.ts.map +1 -0
  266. package/dist/gallery/fixtures/pins.js +24 -0
  267. package/dist/gallery/fixtures/pins.js.map +1 -0
  268. package/dist/gallery/fixtures/screen-page.d.ts +4 -0
  269. package/dist/gallery/fixtures/screen-page.d.ts.map +1 -0
  270. package/dist/gallery/fixtures/screen-page.js +266 -0
  271. package/dist/gallery/fixtures/screen-page.js.map +1 -0
  272. package/dist/gallery/fixtures/search-results.d.ts +12 -0
  273. package/dist/gallery/fixtures/search-results.d.ts.map +1 -0
  274. package/dist/gallery/fixtures/search-results.js +242 -0
  275. package/dist/gallery/fixtures/search-results.js.map +1 -0
  276. package/dist/gallery/fixtures/spaces.d.ts +15 -0
  277. package/dist/gallery/fixtures/spaces.d.ts.map +1 -0
  278. package/dist/gallery/fixtures/spaces.js +125 -0
  279. package/dist/gallery/fixtures/spaces.js.map +1 -0
  280. package/dist/gallery/fixtures/theme.d.ts +4 -0
  281. package/dist/gallery/fixtures/theme.d.ts.map +1 -0
  282. package/dist/gallery/fixtures/theme.js +4 -0
  283. package/dist/gallery/fixtures/theme.js.map +1 -0
  284. package/dist/gallery/fixtures/todo.d.ts +3 -0
  285. package/dist/gallery/fixtures/todo.d.ts.map +1 -0
  286. package/dist/gallery/fixtures/todo.js +13 -0
  287. package/dist/gallery/fixtures/todo.js.map +1 -0
  288. package/dist/gallery/fixtures.d.ts +24 -0
  289. package/dist/gallery/fixtures.d.ts.map +1 -0
  290. package/dist/gallery/fixtures.js +28 -0
  291. package/dist/gallery/fixtures.js.map +1 -0
  292. package/dist/gallery/index-page.d.ts +17 -0
  293. package/dist/gallery/index-page.d.ts.map +1 -0
  294. package/dist/gallery/index-page.js +41 -0
  295. package/dist/gallery/index-page.js.map +1 -0
  296. package/dist/gallery/no-script.d.ts +3 -0
  297. package/dist/gallery/no-script.d.ts.map +1 -0
  298. package/dist/gallery/no-script.js +11 -0
  299. package/dist/gallery/no-script.js.map +1 -0
  300. package/dist/gallery/page.d.ts +43 -0
  301. package/dist/gallery/page.d.ts.map +1 -0
  302. package/dist/gallery/page.js +8 -0
  303. package/dist/gallery/page.js.map +1 -0
  304. package/dist/gallery/pages.d.ts +6 -0
  305. package/dist/gallery/pages.d.ts.map +1 -0
  306. package/dist/gallery/pages.js +135 -0
  307. package/dist/gallery/pages.js.map +1 -0
  308. package/dist/gallery/skeleton.d.ts +6 -0
  309. package/dist/gallery/skeleton.d.ts.map +1 -0
  310. package/dist/gallery/skeleton.js +81 -0
  311. package/dist/gallery/skeleton.js.map +1 -0
  312. package/dist/gallery/spaces.d.ts +15 -0
  313. package/dist/gallery/spaces.d.ts.map +1 -0
  314. package/dist/gallery/spaces.js +125 -0
  315. package/dist/gallery/spaces.js.map +1 -0
  316. package/dist/gallery/states/about-corporate.d.ts +3 -0
  317. package/dist/gallery/states/about-corporate.d.ts.map +1 -0
  318. package/dist/gallery/states/about-corporate.js +16 -0
  319. package/dist/gallery/states/about-corporate.js.map +1 -0
  320. package/dist/gallery/states/about-sections.d.ts +3 -0
  321. package/dist/gallery/states/about-sections.d.ts.map +1 -0
  322. package/dist/gallery/states/about-sections.js +16 -0
  323. package/dist/gallery/states/about-sections.js.map +1 -0
  324. package/dist/gallery/states/age-notice.d.ts +3 -0
  325. package/dist/gallery/states/age-notice.d.ts.map +1 -0
  326. package/dist/gallery/states/age-notice.js +18 -0
  327. package/dist/gallery/states/age-notice.js.map +1 -0
  328. package/dist/gallery/states/api-page-corporate.d.ts +3 -0
  329. package/dist/gallery/states/api-page-corporate.d.ts.map +1 -0
  330. package/dist/gallery/states/api-page-corporate.js +16 -0
  331. package/dist/gallery/states/api-page-corporate.js.map +1 -0
  332. package/dist/gallery/states/api-page-no-contract.d.ts +3 -0
  333. package/dist/gallery/states/api-page-no-contract.d.ts.map +1 -0
  334. package/dist/gallery/states/api-page-no-contract.js +16 -0
  335. package/dist/gallery/states/api-page-no-contract.js.map +1 -0
  336. package/dist/gallery/states/api-page-no-script.d.ts +3 -0
  337. package/dist/gallery/states/api-page-no-script.d.ts.map +1 -0
  338. package/dist/gallery/states/api-page-no-script.js +10 -0
  339. package/dist/gallery/states/api-page-no-script.js.map +1 -0
  340. package/dist/gallery/states/category-corporate.d.ts +3 -0
  341. package/dist/gallery/states/category-corporate.d.ts.map +1 -0
  342. package/dist/gallery/states/category-corporate.js +16 -0
  343. package/dist/gallery/states/category-corporate.js.map +1 -0
  344. package/dist/gallery/states/decision-page-corporate.d.ts +3 -0
  345. package/dist/gallery/states/decision-page-corporate.d.ts.map +1 -0
  346. package/dist/gallery/states/decision-page-corporate.js +16 -0
  347. package/dist/gallery/states/decision-page-corporate.js.map +1 -0
  348. package/dist/gallery/states/document-page-corporate.d.ts +3 -0
  349. package/dist/gallery/states/document-page-corporate.d.ts.map +1 -0
  350. package/dist/gallery/states/document-page-corporate.js +16 -0
  351. package/dist/gallery/states/document-page-corporate.js.map +1 -0
  352. package/dist/gallery/states/document-page-no-preview.d.ts +3 -0
  353. package/dist/gallery/states/document-page-no-preview.d.ts.map +1 -0
  354. package/dist/gallery/states/document-page-no-preview.js +17 -0
  355. package/dist/gallery/states/document-page-no-preview.js.map +1 -0
  356. package/dist/gallery/states/document-page-no-script.d.ts +3 -0
  357. package/dist/gallery/states/document-page-no-script.d.ts.map +1 -0
  358. package/dist/gallery/states/document-page-no-script.js +10 -0
  359. package/dist/gallery/states/document-page-no-script.js.map +1 -0
  360. package/dist/gallery/states/entity-page-contract.d.ts +3 -0
  361. package/dist/gallery/states/entity-page-contract.d.ts.map +1 -0
  362. package/dist/gallery/states/entity-page-contract.js +13 -0
  363. package/dist/gallery/states/entity-page-contract.js.map +1 -0
  364. package/dist/gallery/states/entity-page-corporate.d.ts +3 -0
  365. package/dist/gallery/states/entity-page-corporate.d.ts.map +1 -0
  366. package/dist/gallery/states/entity-page-corporate.js +16 -0
  367. package/dist/gallery/states/entity-page-corporate.js.map +1 -0
  368. package/dist/gallery/states/entity-page-dark.d.ts +3 -0
  369. package/dist/gallery/states/entity-page-dark.d.ts.map +1 -0
  370. package/dist/gallery/states/entity-page-dark.js +17 -0
  371. package/dist/gallery/states/entity-page-dark.js.map +1 -0
  372. package/dist/gallery/states/entity-page-document.d.ts +3 -0
  373. package/dist/gallery/states/entity-page-document.d.ts.map +1 -0
  374. package/dist/gallery/states/entity-page-document.js +13 -0
  375. package/dist/gallery/states/entity-page-document.js.map +1 -0
  376. package/dist/gallery/states/entity-page-drawer.d.ts +3 -0
  377. package/dist/gallery/states/entity-page-drawer.d.ts.map +1 -0
  378. package/dist/gallery/states/entity-page-drawer.js +17 -0
  379. package/dist/gallery/states/entity-page-drawer.js.map +1 -0
  380. package/dist/gallery/states/entity-page-empty.d.ts +3 -0
  381. package/dist/gallery/states/entity-page-empty.d.ts.map +1 -0
  382. package/dist/gallery/states/entity-page-empty.js +19 -0
  383. package/dist/gallery/states/entity-page-empty.js.map +1 -0
  384. package/dist/gallery/states/entity-page-map.d.ts +3 -0
  385. package/dist/gallery/states/entity-page-map.d.ts.map +1 -0
  386. package/dist/gallery/states/entity-page-map.js +16 -0
  387. package/dist/gallery/states/entity-page-map.js.map +1 -0
  388. package/dist/gallery/states/entity-page-no-property.d.ts +3 -0
  389. package/dist/gallery/states/entity-page-no-property.d.ts.map +1 -0
  390. package/dist/gallery/states/entity-page-no-property.js +16 -0
  391. package/dist/gallery/states/entity-page-no-property.js.map +1 -0
  392. package/dist/gallery/states/entity-page-no-script.d.ts +3 -0
  393. package/dist/gallery/states/entity-page-no-script.d.ts.map +1 -0
  394. package/dist/gallery/states/entity-page-no-script.js +10 -0
  395. package/dist/gallery/states/entity-page-no-script.js.map +1 -0
  396. package/dist/gallery/states/entity-page-panel-folded.d.ts +3 -0
  397. package/dist/gallery/states/entity-page-panel-folded.d.ts.map +1 -0
  398. package/dist/gallery/states/entity-page-panel-folded.js +17 -0
  399. package/dist/gallery/states/entity-page-panel-folded.js.map +1 -0
  400. package/dist/gallery/states/entity-page-phone.d.ts +3 -0
  401. package/dist/gallery/states/entity-page-phone.d.ts.map +1 -0
  402. package/dist/gallery/states/entity-page-phone.js +17 -0
  403. package/dist/gallery/states/entity-page-phone.js.map +1 -0
  404. package/dist/gallery/states/entity-page-pins.d.ts +3 -0
  405. package/dist/gallery/states/entity-page-pins.d.ts.map +1 -0
  406. package/dist/gallery/states/entity-page-pins.js +17 -0
  407. package/dist/gallery/states/entity-page-pins.js.map +1 -0
  408. package/dist/gallery/states/entity-page-tablet.d.ts +3 -0
  409. package/dist/gallery/states/entity-page-tablet.d.ts.map +1 -0
  410. package/dist/gallery/states/entity-page-tablet.js +17 -0
  411. package/dist/gallery/states/entity-page-tablet.js.map +1 -0
  412. package/dist/gallery/states/entity-page-with-twin.d.ts +3 -0
  413. package/dist/gallery/states/entity-page-with-twin.d.ts.map +1 -0
  414. package/dist/gallery/states/entity-page-with-twin.js +16 -0
  415. package/dist/gallery/states/entity-page-with-twin.js.map +1 -0
  416. package/dist/gallery/states/entity-page.d.ts +3 -0
  417. package/dist/gallery/states/entity-page.d.ts.map +1 -0
  418. package/dist/gallery/states/entity-page.js +13 -0
  419. package/dist/gallery/states/entity-page.js.map +1 -0
  420. package/dist/gallery/states/footer-alone.d.ts +3 -0
  421. package/dist/gallery/states/footer-alone.d.ts.map +1 -0
  422. package/dist/gallery/states/footer-alone.js +16 -0
  423. package/dist/gallery/states/footer-alone.js.map +1 -0
  424. package/dist/gallery/states/footer-corporate.d.ts +3 -0
  425. package/dist/gallery/states/footer-corporate.d.ts.map +1 -0
  426. package/dist/gallery/states/footer-corporate.js +16 -0
  427. package/dist/gallery/states/footer-corporate.js.map +1 -0
  428. package/dist/gallery/states/footer-text.d.ts +3 -0
  429. package/dist/gallery/states/footer-text.d.ts.map +1 -0
  430. package/dist/gallery/states/footer-text.js +15 -0
  431. package/dist/gallery/states/footer-text.js.map +1 -0
  432. package/dist/gallery/states/header-logo.d.ts +3 -0
  433. package/dist/gallery/states/header-logo.d.ts.map +1 -0
  434. package/dist/gallery/states/header-logo.js +15 -0
  435. package/dist/gallery/states/header-logo.js.map +1 -0
  436. package/dist/gallery/states/home-corporate.d.ts +3 -0
  437. package/dist/gallery/states/home-corporate.d.ts.map +1 -0
  438. package/dist/gallery/states/home-corporate.js +16 -0
  439. package/dist/gallery/states/home-corporate.js.map +1 -0
  440. package/dist/gallery/states/home-dark.d.ts +3 -0
  441. package/dist/gallery/states/home-dark.d.ts.map +1 -0
  442. package/dist/gallery/states/home-dark.js +17 -0
  443. package/dist/gallery/states/home-dark.js.map +1 -0
  444. package/dist/gallery/states/home-no-script.d.ts +3 -0
  445. package/dist/gallery/states/home-no-script.d.ts.map +1 -0
  446. package/dist/gallery/states/home-no-script.js +10 -0
  447. package/dist/gallery/states/home-no-script.js.map +1 -0
  448. package/dist/gallery/states/home-single-source.d.ts +3 -0
  449. package/dist/gallery/states/home-single-source.d.ts.map +1 -0
  450. package/dist/gallery/states/home-single-source.js +16 -0
  451. package/dist/gallery/states/home-single-source.js.map +1 -0
  452. package/dist/gallery/states/home.d.ts +3 -0
  453. package/dist/gallery/states/home.d.ts.map +1 -0
  454. package/dist/gallery/states/home.js +13 -0
  455. package/dist/gallery/states/home.js.map +1 -0
  456. package/dist/gallery/states/index-corporate.d.ts +3 -0
  457. package/dist/gallery/states/index-corporate.d.ts.map +1 -0
  458. package/dist/gallery/states/index-corporate.js +16 -0
  459. package/dist/gallery/states/index-corporate.js.map +1 -0
  460. package/dist/gallery/states/index-page.d.ts +3 -0
  461. package/dist/gallery/states/index-page.d.ts.map +1 -0
  462. package/dist/gallery/states/index-page.js +13 -0
  463. package/dist/gallery/states/index-page.js.map +1 -0
  464. package/dist/gallery/states/keyword-page-corporate.d.ts +3 -0
  465. package/dist/gallery/states/keyword-page-corporate.d.ts.map +1 -0
  466. package/dist/gallery/states/keyword-page-corporate.js +16 -0
  467. package/dist/gallery/states/keyword-page-corporate.js.map +1 -0
  468. package/dist/gallery/states/keyword-page-empty.d.ts +3 -0
  469. package/dist/gallery/states/keyword-page-empty.d.ts.map +1 -0
  470. package/dist/gallery/states/keyword-page-empty.js +21 -0
  471. package/dist/gallery/states/keyword-page-empty.js.map +1 -0
  472. package/dist/gallery/states/keyword-page-no-script.d.ts +3 -0
  473. package/dist/gallery/states/keyword-page-no-script.d.ts.map +1 -0
  474. package/dist/gallery/states/keyword-page-no-script.js +10 -0
  475. package/dist/gallery/states/keyword-page-no-script.js.map +1 -0
  476. package/dist/gallery/states/keyword-page-no-timecode.d.ts +3 -0
  477. package/dist/gallery/states/keyword-page-no-timecode.d.ts.map +1 -0
  478. package/dist/gallery/states/keyword-page-no-timecode.js +16 -0
  479. package/dist/gallery/states/keyword-page-no-timecode.js.map +1 -0
  480. package/dist/gallery/states/keyword-page.d.ts +3 -0
  481. package/dist/gallery/states/keyword-page.d.ts.map +1 -0
  482. package/dist/gallery/states/keyword-page.js +13 -0
  483. package/dist/gallery/states/keyword-page.js.map +1 -0
  484. package/dist/gallery/states/meeting-page-corporate.d.ts +3 -0
  485. package/dist/gallery/states/meeting-page-corporate.d.ts.map +1 -0
  486. package/dist/gallery/states/meeting-page-corporate.js +16 -0
  487. package/dist/gallery/states/meeting-page-corporate.js.map +1 -0
  488. package/dist/gallery/states/meeting-page-no-script.d.ts +3 -0
  489. package/dist/gallery/states/meeting-page-no-script.d.ts.map +1 -0
  490. package/dist/gallery/states/meeting-page-no-script.js +10 -0
  491. package/dist/gallery/states/meeting-page-no-script.js.map +1 -0
  492. package/dist/gallery/states/mentions-panel-empty.d.ts +3 -0
  493. package/dist/gallery/states/mentions-panel-empty.d.ts.map +1 -0
  494. package/dist/gallery/states/mentions-panel-empty.js +15 -0
  495. package/dist/gallery/states/mentions-panel-empty.js.map +1 -0
  496. package/dist/gallery/states/mentions-panel-island.d.ts +3 -0
  497. package/dist/gallery/states/mentions-panel-island.d.ts.map +1 -0
  498. package/dist/gallery/states/mentions-panel-island.js +20 -0
  499. package/dist/gallery/states/mentions-panel-island.js.map +1 -0
  500. package/dist/gallery/states/mentions-panel.d.ts +3 -0
  501. package/dist/gallery/states/mentions-panel.d.ts.map +1 -0
  502. package/dist/gallery/states/mentions-panel.js +16 -0
  503. package/dist/gallery/states/mentions-panel.js.map +1 -0
  504. package/dist/gallery/states/neighbourhood-empty.d.ts +3 -0
  505. package/dist/gallery/states/neighbourhood-empty.d.ts.map +1 -0
  506. package/dist/gallery/states/neighbourhood-empty.js +16 -0
  507. package/dist/gallery/states/neighbourhood-empty.js.map +1 -0
  508. package/dist/gallery/states/neighbourhood-full.d.ts +3 -0
  509. package/dist/gallery/states/neighbourhood-full.d.ts.map +1 -0
  510. package/dist/gallery/states/neighbourhood-full.js +16 -0
  511. package/dist/gallery/states/neighbourhood-full.js.map +1 -0
  512. package/dist/gallery/states/neighbourhood-overflow.d.ts +3 -0
  513. package/dist/gallery/states/neighbourhood-overflow.d.ts.map +1 -0
  514. package/dist/gallery/states/neighbourhood-overflow.js +16 -0
  515. package/dist/gallery/states/neighbourhood-overflow.js.map +1 -0
  516. package/dist/gallery/states/neighbourhood.d.ts +3 -0
  517. package/dist/gallery/states/neighbourhood.d.ts.map +1 -0
  518. package/dist/gallery/states/neighbourhood.js +16 -0
  519. package/dist/gallery/states/neighbourhood.js.map +1 -0
  520. package/dist/gallery/states/not-found-corporate.d.ts +3 -0
  521. package/dist/gallery/states/not-found-corporate.d.ts.map +1 -0
  522. package/dist/gallery/states/not-found-corporate.js +16 -0
  523. package/dist/gallery/states/not-found-corporate.js.map +1 -0
  524. package/dist/gallery/states/not-found-nearby.d.ts +3 -0
  525. package/dist/gallery/states/not-found-nearby.d.ts.map +1 -0
  526. package/dist/gallery/states/not-found-nearby.js +16 -0
  527. package/dist/gallery/states/not-found-nearby.js.map +1 -0
  528. package/dist/gallery/states/screen-page-corporate.d.ts +3 -0
  529. package/dist/gallery/states/screen-page-corporate.d.ts.map +1 -0
  530. package/dist/gallery/states/screen-page-corporate.js +16 -0
  531. package/dist/gallery/states/screen-page-corporate.js.map +1 -0
  532. package/dist/gallery/states/search-results-corporate.d.ts +3 -0
  533. package/dist/gallery/states/search-results-corporate.d.ts.map +1 -0
  534. package/dist/gallery/states/search-results-corporate.js +16 -0
  535. package/dist/gallery/states/search-results-corporate.js.map +1 -0
  536. package/dist/gallery/states/search-results-empty.d.ts +3 -0
  537. package/dist/gallery/states/search-results-empty.d.ts.map +1 -0
  538. package/dist/gallery/states/search-results-empty.js +13 -0
  539. package/dist/gallery/states/search-results-empty.js.map +1 -0
  540. package/dist/gallery/states/search-results-filtered.d.ts +3 -0
  541. package/dist/gallery/states/search-results-filtered.d.ts.map +1 -0
  542. package/dist/gallery/states/search-results-filtered.js +16 -0
  543. package/dist/gallery/states/search-results-filtered.js.map +1 -0
  544. package/dist/gallery/states/search-results-no-script.d.ts +3 -0
  545. package/dist/gallery/states/search-results-no-script.d.ts.map +1 -0
  546. package/dist/gallery/states/search-results-no-script.js +10 -0
  547. package/dist/gallery/states/search-results-no-script.js.map +1 -0
  548. package/dist/gallery/states/search-results.d.ts +3 -0
  549. package/dist/gallery/states/search-results.d.ts.map +1 -0
  550. package/dist/gallery/states/search-results.js +13 -0
  551. package/dist/gallery/states/search-results.js.map +1 -0
  552. package/dist/gallery/states/shell-rtl.d.ts +3 -0
  553. package/dist/gallery/states/shell-rtl.d.ts.map +1 -0
  554. package/dist/gallery/states/shell-rtl.js +14 -0
  555. package/dist/gallery/states/shell-rtl.js.map +1 -0
  556. package/dist/gallery/states/space-corporate.d.ts +3 -0
  557. package/dist/gallery/states/space-corporate.d.ts.map +1 -0
  558. package/dist/gallery/states/space-corporate.js +16 -0
  559. package/dist/gallery/states/space-corporate.js.map +1 -0
  560. package/dist/gallery/states/spaces-corporate.d.ts +3 -0
  561. package/dist/gallery/states/spaces-corporate.d.ts.map +1 -0
  562. package/dist/gallery/states/spaces-corporate.js +16 -0
  563. package/dist/gallery/states/spaces-corporate.js.map +1 -0
  564. package/dist/gallery/states/todo-corporate.d.ts +3 -0
  565. package/dist/gallery/states/todo-corporate.d.ts.map +1 -0
  566. package/dist/gallery/states/todo-corporate.js +16 -0
  567. package/dist/gallery/states/todo-corporate.js.map +1 -0
  568. package/dist/gallery/states/todo-empty.d.ts +3 -0
  569. package/dist/gallery/states/todo-empty.d.ts.map +1 -0
  570. package/dist/gallery/states/todo-empty.js +12 -0
  571. package/dist/gallery/states/todo-empty.js.map +1 -0
  572. package/dist/gallery/states/todo.d.ts +3 -0
  573. package/dist/gallery/states/todo.d.ts.map +1 -0
  574. package/dist/gallery/states/todo.js +13 -0
  575. package/dist/gallery/states/todo.js.map +1 -0
  576. package/dist/gallery/types.d.ts +27 -0
  577. package/dist/gallery/types.d.ts.map +1 -0
  578. package/dist/gallery/types.js +107 -0
  579. package/dist/gallery/types.js.map +1 -0
  580. package/dist/gallery/width-switch.d.ts +11 -0
  581. package/dist/gallery/width-switch.d.ts.map +1 -0
  582. package/dist/gallery/width-switch.js +18 -0
  583. package/dist/gallery/width-switch.js.map +1 -0
  584. package/dist/gallery/width.client.d.ts +2 -0
  585. package/dist/gallery/width.client.d.ts.map +1 -0
  586. package/dist/gallery/width.client.js +6 -0
  587. package/dist/gallery/width.client.js.map +1 -0
  588. package/dist/gallery/width.d.ts +35 -0
  589. package/dist/gallery/width.d.ts.map +1 -0
  590. package/dist/gallery/width.js +40 -0
  591. package/dist/gallery/width.js.map +1 -0
  592. package/dist/index.d.ts +95 -0
  593. package/dist/index.d.ts.map +1 -0
  594. package/dist/index.js +82 -0
  595. package/dist/index.js.map +1 -0
  596. package/dist/islands/age.client.d.ts +2 -0
  597. package/dist/islands/age.client.d.ts.map +1 -0
  598. package/dist/islands/age.client.js +6 -0
  599. package/dist/islands/age.client.js.map +1 -0
  600. package/dist/islands/age.d.ts +43 -0
  601. package/dist/islands/age.d.ts.map +1 -0
  602. package/dist/islands/age.js +67 -0
  603. package/dist/islands/age.js.map +1 -0
  604. package/dist/islands/bundle.d.ts +50 -0
  605. package/dist/islands/bundle.d.ts.map +1 -0
  606. package/dist/islands/bundle.js +152 -0
  607. package/dist/islands/bundle.js.map +1 -0
  608. package/dist/islands/category-list.client.d.ts +2 -0
  609. package/dist/islands/category-list.client.d.ts.map +1 -0
  610. package/dist/islands/category-list.client.js +5 -0
  611. package/dist/islands/category-list.client.js.map +1 -0
  612. package/dist/islands/contract-viewer.client.d.ts +2 -0
  613. package/dist/islands/contract-viewer.client.d.ts.map +1 -0
  614. package/dist/islands/contract-viewer.client.js +5 -0
  615. package/dist/islands/contract-viewer.client.js.map +1 -0
  616. package/dist/islands/document-viewer.client.d.ts +2 -0
  617. package/dist/islands/document-viewer.client.d.ts.map +1 -0
  618. package/dist/islands/document-viewer.client.js +10 -0
  619. package/dist/islands/document-viewer.client.js.map +1 -0
  620. package/dist/islands/document-viewer.d.ts +41 -0
  621. package/dist/islands/document-viewer.d.ts.map +1 -0
  622. package/dist/islands/document-viewer.js +130 -0
  623. package/dist/islands/document-viewer.js.map +1 -0
  624. package/dist/islands/editable.d.ts +12 -0
  625. package/dist/islands/editable.d.ts.map +1 -0
  626. package/dist/islands/editable.js +12 -0
  627. package/dist/islands/editable.js.map +1 -0
  628. package/dist/islands/element.d.ts +3 -0
  629. package/dist/islands/element.d.ts.map +1 -0
  630. package/dist/islands/element.js +3 -0
  631. package/dist/islands/element.js.map +1 -0
  632. package/dist/islands/island.d.ts +10 -0
  633. package/dist/islands/island.d.ts.map +1 -0
  634. package/dist/islands/island.js +24 -0
  635. package/dist/islands/island.js.map +1 -0
  636. package/dist/islands/mentions-panel.client.d.ts +2 -0
  637. package/dist/islands/mentions-panel.client.d.ts.map +1 -0
  638. package/dist/islands/mentions-panel.client.js +10 -0
  639. package/dist/islands/mentions-panel.client.js.map +1 -0
  640. package/dist/islands/mentions-rest.d.ts +22 -0
  641. package/dist/islands/mentions-rest.d.ts.map +1 -0
  642. package/dist/islands/mentions-rest.js +44 -0
  643. package/dist/islands/mentions-rest.js.map +1 -0
  644. package/dist/islands/mode-switch.client.d.ts +2 -0
  645. package/dist/islands/mode-switch.client.d.ts.map +1 -0
  646. package/dist/islands/mode-switch.client.js +14 -0
  647. package/dist/islands/mode-switch.client.js.map +1 -0
  648. package/dist/islands/mode-switch.d.ts +54 -0
  649. package/dist/islands/mode-switch.d.ts.map +1 -0
  650. package/dist/islands/mode-switch.js +64 -0
  651. package/dist/islands/mode-switch.js.map +1 -0
  652. package/dist/islands/mount.d.ts +11 -0
  653. package/dist/islands/mount.d.ts.map +1 -0
  654. package/dist/islands/mount.js +14 -0
  655. package/dist/islands/mount.js.map +1 -0
  656. package/dist/islands/not-found.client.d.ts +2 -0
  657. package/dist/islands/not-found.client.d.ts.map +1 -0
  658. package/dist/islands/not-found.client.js +18 -0
  659. package/dist/islands/not-found.client.js.map +1 -0
  660. package/dist/islands/not-found.d.ts +56 -0
  661. package/dist/islands/not-found.d.ts.map +1 -0
  662. package/dist/islands/not-found.js +138 -0
  663. package/dist/islands/not-found.js.map +1 -0
  664. package/dist/islands/panels.client.d.ts +2 -0
  665. package/dist/islands/panels.client.d.ts.map +1 -0
  666. package/dist/islands/panels.client.js +6 -0
  667. package/dist/islands/panels.client.js.map +1 -0
  668. package/dist/islands/panels.d.ts +48 -0
  669. package/dist/islands/panels.d.ts.map +1 -0
  670. package/dist/islands/panels.js +95 -0
  671. package/dist/islands/panels.js.map +1 -0
  672. package/dist/islands/pins.client.d.ts +2 -0
  673. package/dist/islands/pins.client.d.ts.map +1 -0
  674. package/dist/islands/pins.client.js +6 -0
  675. package/dist/islands/pins.client.js.map +1 -0
  676. package/dist/islands/pins.d.ts +30 -0
  677. package/dist/islands/pins.d.ts.map +1 -0
  678. package/dist/islands/pins.js +134 -0
  679. package/dist/islands/pins.js.map +1 -0
  680. package/dist/islands/search.client.d.ts +2 -0
  681. package/dist/islands/search.client.d.ts.map +1 -0
  682. package/dist/islands/search.client.js +58 -0
  683. package/dist/islands/search.client.js.map +1 -0
  684. package/dist/islands/search.d.ts +221 -0
  685. package/dist/islands/search.d.ts.map +1 -0
  686. package/dist/islands/search.js +606 -0
  687. package/dist/islands/search.js.map +1 -0
  688. package/dist/islands/shards.d.ts +27 -0
  689. package/dist/islands/shards.d.ts.map +1 -0
  690. package/dist/islands/shards.js +39 -0
  691. package/dist/islands/shards.js.map +1 -0
  692. package/dist/islands/tabs.client.d.ts +2 -0
  693. package/dist/islands/tabs.client.d.ts.map +1 -0
  694. package/dist/islands/tabs.client.js +6 -0
  695. package/dist/islands/tabs.client.js.map +1 -0
  696. package/dist/islands/tabs.d.ts +24 -0
  697. package/dist/islands/tabs.d.ts.map +1 -0
  698. package/dist/islands/tabs.js +79 -0
  699. package/dist/islands/tabs.js.map +1 -0
  700. package/dist/islands/toc.client.d.ts +2 -0
  701. package/dist/islands/toc.client.d.ts.map +1 -0
  702. package/dist/islands/toc.client.js +11 -0
  703. package/dist/islands/toc.client.js.map +1 -0
  704. package/dist/islands/toc.d.ts +37 -0
  705. package/dist/islands/toc.d.ts.map +1 -0
  706. package/dist/islands/toc.js +50 -0
  707. package/dist/islands/toc.js.map +1 -0
  708. package/dist/islands/trail.client.d.ts +2 -0
  709. package/dist/islands/trail.client.d.ts.map +1 -0
  710. package/dist/islands/trail.client.js +12 -0
  711. package/dist/islands/trail.client.js.map +1 -0
  712. package/dist/islands/trail.d.ts +95 -0
  713. package/dist/islands/trail.d.ts.map +1 -0
  714. package/dist/islands/trail.js +223 -0
  715. package/dist/islands/trail.js.map +1 -0
  716. package/dist/islands/viewer-pdf.client.d.ts +7 -0
  717. package/dist/islands/viewer-pdf.client.d.ts.map +1 -0
  718. package/dist/islands/viewer-pdf.client.js +13 -0
  719. package/dist/islands/viewer-pdf.client.js.map +1 -0
  720. package/dist/islands/viewer-pdf.d.ts +50 -0
  721. package/dist/islands/viewer-pdf.d.ts.map +1 -0
  722. package/dist/islands/viewer-pdf.js +157 -0
  723. package/dist/islands/viewer-pdf.js.map +1 -0
  724. package/dist/markdown/figures.d.ts +16 -0
  725. package/dist/markdown/figures.d.ts.map +1 -0
  726. package/dist/markdown/figures.js +26 -0
  727. package/dist/markdown/figures.js.map +1 -0
  728. package/dist/markdown/marks.d.ts +14 -0
  729. package/dist/markdown/marks.d.ts.map +1 -0
  730. package/dist/markdown/marks.js +10 -0
  731. package/dist/markdown/marks.js.map +1 -0
  732. package/dist/markdown/render.d.ts +67 -0
  733. package/dist/markdown/render.d.ts.map +1 -0
  734. package/dist/markdown/render.js +402 -0
  735. package/dist/markdown/render.js.map +1 -0
  736. package/dist/mode.d.ts +21 -0
  737. package/dist/mode.d.ts.map +1 -0
  738. package/dist/mode.js +25 -0
  739. package/dist/mode.js.map +1 -0
  740. package/dist/neighbourhood/layout.d.ts +58 -0
  741. package/dist/neighbourhood/layout.d.ts.map +1 -0
  742. package/dist/neighbourhood/layout.js +171 -0
  743. package/dist/neighbourhood/layout.js.map +1 -0
  744. package/dist/order.d.ts +2 -0
  745. package/dist/order.d.ts.map +1 -0
  746. package/dist/order.js +5 -0
  747. package/dist/order.js.map +1 -0
  748. package/dist/panels.d.ts +21 -0
  749. package/dist/panels.d.ts.map +1 -0
  750. package/dist/panels.js +31 -0
  751. package/dist/panels.js.map +1 -0
  752. package/dist/pins.d.ts +46 -0
  753. package/dist/pins.d.ts.map +1 -0
  754. package/dist/pins.js +132 -0
  755. package/dist/pins.js.map +1 -0
  756. package/dist/render.d.ts +38 -0
  757. package/dist/render.d.ts.map +1 -0
  758. package/dist/render.js +64 -0
  759. package/dist/render.js.map +1 -0
  760. package/dist/search/build.d.ts +91 -0
  761. package/dist/search/build.d.ts.map +1 -0
  762. package/dist/search/build.js +256 -0
  763. package/dist/search/build.js.map +1 -0
  764. package/dist/search/facets.d.ts +40 -0
  765. package/dist/search/facets.d.ts.map +1 -0
  766. package/dist/search/facets.js +159 -0
  767. package/dist/search/facets.js.map +1 -0
  768. package/dist/search/highlight.d.ts +13 -0
  769. package/dist/search/highlight.d.ts.map +1 -0
  770. package/dist/search/highlight.js +72 -0
  771. package/dist/search/highlight.js.map +1 -0
  772. package/dist/search/shared.d.ts +194 -0
  773. package/dist/search/shared.d.ts.map +1 -0
  774. package/dist/search/shared.js +166 -0
  775. package/dist/search/shared.js.map +1 -0
  776. package/dist/search/state.d.ts +30 -0
  777. package/dist/search/state.d.ts.map +1 -0
  778. package/dist/search/state.js +82 -0
  779. package/dist/search/state.js.map +1 -0
  780. package/dist/slots.d.ts +1768 -0
  781. package/dist/slots.d.ts.map +1 -0
  782. package/dist/slots.js +57 -0
  783. package/dist/slots.js.map +1 -0
  784. package/dist/theme/chrome.d.ts +30 -0
  785. package/dist/theme/chrome.d.ts.map +1 -0
  786. package/dist/theme/chrome.js +59 -0
  787. package/dist/theme/chrome.js.map +1 -0
  788. package/dist/theme/context.d.ts +18 -0
  789. package/dist/theme/context.d.ts.map +1 -0
  790. package/dist/theme/context.js +38 -0
  791. package/dist/theme/context.js.map +1 -0
  792. package/dist/theme/default/about.d.ts +12 -0
  793. package/dist/theme/default/about.d.ts.map +1 -0
  794. package/dist/theme/default/about.js +88 -0
  795. package/dist/theme/default/about.js.map +1 -0
  796. package/dist/theme/default/age-notice.d.ts +36 -0
  797. package/dist/theme/default/age-notice.d.ts.map +1 -0
  798. package/dist/theme/default/age-notice.js +18 -0
  799. package/dist/theme/default/age-notice.js.map +1 -0
  800. package/dist/theme/default/api-page.d.ts +28 -0
  801. package/dist/theme/default/api-page.d.ts.map +1 -0
  802. package/dist/theme/default/api-page.js +47 -0
  803. package/dist/theme/default/api-page.js.map +1 -0
  804. package/dist/theme/default/attributes.d.ts +20 -0
  805. package/dist/theme/default/attributes.d.ts.map +1 -0
  806. package/dist/theme/default/attributes.js +20 -0
  807. package/dist/theme/default/attributes.js.map +1 -0
  808. package/dist/theme/default/category-island.d.ts +80 -0
  809. package/dist/theme/default/category-island.d.ts.map +1 -0
  810. package/dist/theme/default/category-island.js +161 -0
  811. package/dist/theme/default/category-island.js.map +1 -0
  812. package/dist/theme/default/category-list.d.ts +14 -0
  813. package/dist/theme/default/category-list.d.ts.map +1 -0
  814. package/dist/theme/default/category-list.js +47 -0
  815. package/dist/theme/default/category-list.js.map +1 -0
  816. package/dist/theme/default/contract-section.d.ts +13 -0
  817. package/dist/theme/default/contract-section.d.ts.map +1 -0
  818. package/dist/theme/default/contract-section.js +66 -0
  819. package/dist/theme/default/contract-section.js.map +1 -0
  820. package/dist/theme/default/contract-viewer.d.ts +46 -0
  821. package/dist/theme/default/contract-viewer.d.ts.map +1 -0
  822. package/dist/theme/default/contract-viewer.js +105 -0
  823. package/dist/theme/default/contract-viewer.js.map +1 -0
  824. package/dist/theme/default/decision-page.d.ts +24 -0
  825. package/dist/theme/default/decision-page.d.ts.map +1 -0
  826. package/dist/theme/default/decision-page.js +91 -0
  827. package/dist/theme/default/decision-page.js.map +1 -0
  828. package/dist/theme/default/document-page.d.ts +23 -0
  829. package/dist/theme/default/document-page.d.ts.map +1 -0
  830. package/dist/theme/default/document-page.js +143 -0
  831. package/dist/theme/default/document-page.js.map +1 -0
  832. package/dist/theme/default/document-viewer.d.ts +70 -0
  833. package/dist/theme/default/document-viewer.d.ts.map +1 -0
  834. package/dist/theme/default/document-viewer.js +93 -0
  835. package/dist/theme/default/document-viewer.js.map +1 -0
  836. package/dist/theme/default/drawer.d.ts +20 -0
  837. package/dist/theme/default/drawer.d.ts.map +1 -0
  838. package/dist/theme/default/drawer.js +25 -0
  839. package/dist/theme/default/drawer.js.map +1 -0
  840. package/dist/theme/default/entity-page.d.ts +75 -0
  841. package/dist/theme/default/entity-page.d.ts.map +1 -0
  842. package/dist/theme/default/entity-page.js +140 -0
  843. package/dist/theme/default/entity-page.js.map +1 -0
  844. package/dist/theme/default/footer.d.ts +15 -0
  845. package/dist/theme/default/footer.d.ts.map +1 -0
  846. package/dist/theme/default/footer.js +57 -0
  847. package/dist/theme/default/footer.js.map +1 -0
  848. package/dist/theme/default/glyphs.d.ts +19 -0
  849. package/dist/theme/default/glyphs.d.ts.map +1 -0
  850. package/dist/theme/default/glyphs.js +56 -0
  851. package/dist/theme/default/glyphs.js.map +1 -0
  852. package/dist/theme/default/grouped-files.d.ts +12 -0
  853. package/dist/theme/default/grouped-files.d.ts.map +1 -0
  854. package/dist/theme/default/grouped-files.js +11 -0
  855. package/dist/theme/default/grouped-files.js.map +1 -0
  856. package/dist/theme/default/header.d.ts +11 -0
  857. package/dist/theme/default/header.d.ts.map +1 -0
  858. package/dist/theme/default/header.js +23 -0
  859. package/dist/theme/default/header.js.map +1 -0
  860. package/dist/theme/default/home.d.ts +13 -0
  861. package/dist/theme/default/home.d.ts.map +1 -0
  862. package/dist/theme/default/home.js +45 -0
  863. package/dist/theme/default/home.js.map +1 -0
  864. package/dist/theme/default/index-page.d.ts +29 -0
  865. package/dist/theme/default/index-page.d.ts.map +1 -0
  866. package/dist/theme/default/index-page.js +97 -0
  867. package/dist/theme/default/index-page.js.map +1 -0
  868. package/dist/theme/default/index.d.ts +13 -0
  869. package/dist/theme/default/index.d.ts.map +1 -0
  870. package/dist/theme/default/index.js +55 -0
  871. package/dist/theme/default/index.js.map +1 -0
  872. package/dist/theme/default/keyword-page.d.ts +20 -0
  873. package/dist/theme/default/keyword-page.d.ts.map +1 -0
  874. package/dist/theme/default/keyword-page.js +68 -0
  875. package/dist/theme/default/keyword-page.js.map +1 -0
  876. package/dist/theme/default/labels.d.ts +223 -0
  877. package/dist/theme/default/labels.d.ts.map +1 -0
  878. package/dist/theme/default/labels.js +223 -0
  879. package/dist/theme/default/labels.js.map +1 -0
  880. package/dist/theme/default/meeting-page.d.ts +20 -0
  881. package/dist/theme/default/meeting-page.d.ts.map +1 -0
  882. package/dist/theme/default/meeting-page.js +122 -0
  883. package/dist/theme/default/meeting-page.js.map +1 -0
  884. package/dist/theme/default/mention-list.d.ts +70 -0
  885. package/dist/theme/default/mention-list.d.ts.map +1 -0
  886. package/dist/theme/default/mention-list.js +99 -0
  887. package/dist/theme/default/mention-list.js.map +1 -0
  888. package/dist/theme/default/mentions-island.d.ts +100 -0
  889. package/dist/theme/default/mentions-island.d.ts.map +1 -0
  890. package/dist/theme/default/mentions-island.js +169 -0
  891. package/dist/theme/default/mentions-island.js.map +1 -0
  892. package/dist/theme/default/mentions-more.d.ts +22 -0
  893. package/dist/theme/default/mentions-more.d.ts.map +1 -0
  894. package/dist/theme/default/mentions-more.js +25 -0
  895. package/dist/theme/default/mentions-more.js.map +1 -0
  896. package/dist/theme/default/mentions-panel.d.ts +16 -0
  897. package/dist/theme/default/mentions-panel.d.ts.map +1 -0
  898. package/dist/theme/default/mentions-panel.js +50 -0
  899. package/dist/theme/default/mentions-panel.js.map +1 -0
  900. package/dist/theme/default/mode-switch.d.ts +9 -0
  901. package/dist/theme/default/mode-switch.d.ts.map +1 -0
  902. package/dist/theme/default/mode-switch.js +19 -0
  903. package/dist/theme/default/mode-switch.js.map +1 -0
  904. package/dist/theme/default/neighbourhood.d.ts +29 -0
  905. package/dist/theme/default/neighbourhood.d.ts.map +1 -0
  906. package/dist/theme/default/neighbourhood.js +146 -0
  907. package/dist/theme/default/neighbourhood.js.map +1 -0
  908. package/dist/theme/default/not-found.d.ts +14 -0
  909. package/dist/theme/default/not-found.d.ts.map +1 -0
  910. package/dist/theme/default/not-found.js +27 -0
  911. package/dist/theme/default/not-found.js.map +1 -0
  912. package/dist/theme/default/page-notice.d.ts +10 -0
  913. package/dist/theme/default/page-notice.d.ts.map +1 -0
  914. package/dist/theme/default/page-notice.js +11 -0
  915. package/dist/theme/default/page-notice.js.map +1 -0
  916. package/dist/theme/default/panel-block.d.ts +14 -0
  917. package/dist/theme/default/panel-block.d.ts.map +1 -0
  918. package/dist/theme/default/panel-block.js +9 -0
  919. package/dist/theme/default/panel-block.js.map +1 -0
  920. package/dist/theme/default/panel-handle.d.ts +29 -0
  921. package/dist/theme/default/panel-handle.d.ts.map +1 -0
  922. package/dist/theme/default/panel-handle.js +35 -0
  923. package/dist/theme/default/panel-handle.js.map +1 -0
  924. package/dist/theme/default/pins.d.ts +22 -0
  925. package/dist/theme/default/pins.d.ts.map +1 -0
  926. package/dist/theme/default/pins.js +53 -0
  927. package/dist/theme/default/pins.js.map +1 -0
  928. package/dist/theme/default/plugin.d.ts +11 -0
  929. package/dist/theme/default/plugin.d.ts.map +1 -0
  930. package/dist/theme/default/plugin.js +28 -0
  931. package/dist/theme/default/plugin.js.map +1 -0
  932. package/dist/theme/default/result-list.d.ts +13 -0
  933. package/dist/theme/default/result-list.d.ts.map +1 -0
  934. package/dist/theme/default/result-list.js +27 -0
  935. package/dist/theme/default/result-list.js.map +1 -0
  936. package/dist/theme/default/search-island.d.ts +29 -0
  937. package/dist/theme/default/search-island.d.ts.map +1 -0
  938. package/dist/theme/default/search-island.js +45 -0
  939. package/dist/theme/default/search-island.js.map +1 -0
  940. package/dist/theme/default/search-results.d.ts +12 -0
  941. package/dist/theme/default/search-results.d.ts.map +1 -0
  942. package/dist/theme/default/search-results.js +85 -0
  943. package/dist/theme/default/search-results.js.map +1 -0
  944. package/dist/theme/default/search-suggestions.d.ts +51 -0
  945. package/dist/theme/default/search-suggestions.d.ts.map +1 -0
  946. package/dist/theme/default/search-suggestions.js +55 -0
  947. package/dist/theme/default/search-suggestions.js.map +1 -0
  948. package/dist/theme/default/shell.d.ts +4 -0
  949. package/dist/theme/default/shell.d.ts.map +1 -0
  950. package/dist/theme/default/shell.js +16 -0
  951. package/dist/theme/default/shell.js.map +1 -0
  952. package/dist/theme/default/space-tree.d.ts +24 -0
  953. package/dist/theme/default/space-tree.d.ts.map +1 -0
  954. package/dist/theme/default/space-tree.js +50 -0
  955. package/dist/theme/default/space-tree.js.map +1 -0
  956. package/dist/theme/default/space.d.ts +14 -0
  957. package/dist/theme/default/space.d.ts.map +1 -0
  958. package/dist/theme/default/space.js +47 -0
  959. package/dist/theme/default/space.js.map +1 -0
  960. package/dist/theme/default/spaces.d.ts +12 -0
  961. package/dist/theme/default/spaces.d.ts.map +1 -0
  962. package/dist/theme/default/spaces.js +35 -0
  963. package/dist/theme/default/spaces.js.map +1 -0
  964. package/dist/theme/default/tabs.d.ts +38 -0
  965. package/dist/theme/default/tabs.d.ts.map +1 -0
  966. package/dist/theme/default/tabs.js +29 -0
  967. package/dist/theme/default/tabs.js.map +1 -0
  968. package/dist/theme/default/toc.d.ts +19 -0
  969. package/dist/theme/default/toc.d.ts.map +1 -0
  970. package/dist/theme/default/toc.js +26 -0
  971. package/dist/theme/default/toc.js.map +1 -0
  972. package/dist/theme/default/todo.d.ts +8 -0
  973. package/dist/theme/default/todo.d.ts.map +1 -0
  974. package/dist/theme/default/todo.js +33 -0
  975. package/dist/theme/default/todo.js.map +1 -0
  976. package/dist/theme/default/trail.d.ts +9 -0
  977. package/dist/theme/default/trail.d.ts.map +1 -0
  978. package/dist/theme/default/trail.js +24 -0
  979. package/dist/theme/default/trail.js.map +1 -0
  980. package/dist/theme/load.d.ts +45 -0
  981. package/dist/theme/load.d.ts.map +1 -0
  982. package/dist/theme/load.js +123 -0
  983. package/dist/theme/load.js.map +1 -0
  984. package/dist/theme/node-loader.d.ts +10 -0
  985. package/dist/theme/node-loader.d.ts.map +1 -0
  986. package/dist/theme/node-loader.js +36 -0
  987. package/dist/theme/node-loader.js.map +1 -0
  988. package/dist/theme/resolve.d.ts +27 -0
  989. package/dist/theme/resolve.d.ts.map +1 -0
  990. package/dist/theme/resolve.js +184 -0
  991. package/dist/theme/resolve.js.map +1 -0
  992. package/dist/theme/types.d.ts +44 -0
  993. package/dist/theme/types.d.ts.map +1 -0
  994. package/dist/theme/types.js +2 -0
  995. package/dist/theme/types.js.map +1 -0
  996. package/package.json +60 -0
@@ -0,0 +1,14 @@
1
+ import { ISLAND_ELEMENT } from "./element.js";
2
+ import { displayedScheme, wireModeSwitch } from "./mode-switch.js";
3
+ const root = document.documentElement;
4
+ /** The scheme in force, read from the tokens layer; the system preference heard through its media query. */
5
+ const view = {
6
+ displayed: () => displayedScheme((property) => getComputedStyle(root).getPropertyValue(property)),
7
+ onPreferenceChange: (listener) => {
8
+ matchMedia("(prefers-color-scheme: dark)").addEventListener("change", listener);
9
+ },
10
+ };
11
+ for (const element of document.querySelectorAll(`${ISLAND_ELEMENT}[data-island="mode-switch"]`)) {
12
+ wireModeSwitch(element, localStorage, root, view);
13
+ }
14
+ //# sourceMappingURL=mode-switch.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode-switch.client.js","sourceRoot":"","sources":["../../src/islands/mode-switch.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,cAAc,EAAmB,MAAM,kBAAkB,CAAC;AAEpF,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;AAEtC,4GAA4G;AAC5G,MAAM,IAAI,GAAe;IACvB,SAAS,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACjG,kBAAkB,EAAE,CAAC,QAAQ,EAAE,EAAE;QAC/B,UAAU,CAAC,8BAA8B,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAClF,CAAC;CACF,CAAC;AAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,gBAAgB,CAAC,GAAG,cAAc,6BAA6B,CAAC,EAAE,CAAC;IAChG,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACpD,CAAC"}
@@ -0,0 +1,54 @@
1
+ import type { ColourScheme } from "../css/tokens.js";
2
+ import { type ModeChoice } from "../mode.js";
3
+ /** The part of `localStorage` the switch uses; every call may throw when storage is disabled. */
4
+ export interface ModeStorage {
5
+ getItem(key: string): string | null;
6
+ setItem(key: string, value: string): void;
7
+ removeItem(key: string): void;
8
+ }
9
+ /** The root element, whose `data-mode` the tokens layer reads. */
10
+ export interface ModeRoot {
11
+ dataset: {
12
+ mode?: string;
13
+ };
14
+ }
15
+ /**
16
+ * What the page displays: the scheme the tokens layer put in force, whatever decided it, the
17
+ * theme's default, the system preference or a remembered choice; and a way to hear the system
18
+ * preference change while no choice is stored.
19
+ */
20
+ export interface SchemeView {
21
+ displayed(): ColourScheme;
22
+ onPreferenceChange(listener: () => void): void;
23
+ }
24
+ export interface ModeSwitchText {
25
+ textContent: string | null;
26
+ }
27
+ export interface ModeSwitchButton {
28
+ hidden: boolean;
29
+ setAttribute(name: string, value: string): void;
30
+ addEventListener(type: "click", listener: () => void): void;
31
+ querySelector(selector: string): ModeSwitchText | null;
32
+ }
33
+ /** The island element written at build, holding the button; its label is written in the markup. */
34
+ export interface ModeSwitchElement {
35
+ querySelector(selector: string): ModeSwitchButton | null;
36
+ }
37
+ /** Applies a choice to the root and remembers it; a failing storage still changes the page. */
38
+ export declare function applyChoice(choice: ModeChoice, storage: ModeStorage, root: ModeRoot): void;
39
+ /**
40
+ * The choice that displays the other scheme: nothing stored when the theme's default and the
41
+ * system preference already give it, so that the page follows the system again; the scheme
42
+ * itself otherwise, remembered until the reader switches back.
43
+ */
44
+ export declare function toggleChoice(view: SchemeView, root: ModeRoot): ModeChoice;
45
+ /** The scheme the tokens layer names on the root, read from its computed style; light when it names none. */
46
+ export declare function displayedScheme(read: (property: string) => string): ColourScheme;
47
+ /**
48
+ * Reveals the button of one island and makes it toggle the scheme: the glyph draws the scheme it
49
+ * switches to, a moon over a light page, a sun over a dark one, and the button is pressed while
50
+ * the dark scheme is displayed. The label written at build, "Dark mode", is the same in both
51
+ * states: the pressed state tells which one holds.
52
+ */
53
+ export declare function wireModeSwitch(element: ModeSwitchElement, storage: ModeStorage, root: ModeRoot, view: SchemeView): boolean;
54
+ //# sourceMappingURL=mode-switch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode-switch.d.ts","sourceRoot":"","sources":["../../src/islands/mode-switch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAA8C,KAAK,UAAU,EAAE,MAAM,YAAY,CAAC;AAEzF,iGAAiG;AACjG,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,kEAAkE;AAClE,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,SAAS,IAAI,YAAY,CAAC;IAC1B,kBAAkB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CAChD;AAED,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC5D,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAAC;CACxD;AAED,mGAAmG;AACnG,MAAM,WAAW,iBAAiB;IAChC,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAAC;CAC1D;AAED,+FAA+F;AAC/F,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,CAe1F;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,UAAU,CAIzE;AAED,6GAA6G;AAC7G,wBAAgB,eAAe,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,YAAY,CAEhF;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,iBAAiB,EAC1B,OAAO,EAAE,WAAW,EACpB,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAqBT"}
@@ -0,0 +1,64 @@
1
+ import { MODE_STORAGE_KEY, otherScheme, switchGlyph } from "../mode.js";
2
+ /** Applies a choice to the root and remembers it; a failing storage still changes the page. */
3
+ export function applyChoice(choice, storage, root) {
4
+ if (choice === "system") {
5
+ delete root.dataset.mode;
6
+ }
7
+ else {
8
+ root.dataset.mode = choice;
9
+ }
10
+ try {
11
+ if (choice === "system") {
12
+ storage.removeItem(MODE_STORAGE_KEY);
13
+ }
14
+ else {
15
+ storage.setItem(MODE_STORAGE_KEY, choice);
16
+ }
17
+ }
18
+ catch {
19
+ // Storage disabled: the choice holds for this page only.
20
+ }
21
+ }
22
+ /**
23
+ * The choice that displays the other scheme: nothing stored when the theme's default and the
24
+ * system preference already give it, so that the page follows the system again; the scheme
25
+ * itself otherwise, remembered until the reader switches back.
26
+ */
27
+ export function toggleChoice(view, root) {
28
+ const target = otherScheme(view.displayed());
29
+ delete root.dataset.mode;
30
+ return view.displayed() === target ? "system" : target;
31
+ }
32
+ /** The scheme the tokens layer names on the root, read from its computed style; light when it names none. */
33
+ export function displayedScheme(read) {
34
+ return read("--scheme").trim() === "dark" ? "dark" : "light";
35
+ }
36
+ /**
37
+ * Reveals the button of one island and makes it toggle the scheme: the glyph draws the scheme it
38
+ * switches to, a moon over a light page, a sun over a dark one, and the button is pressed while
39
+ * the dark scheme is displayed. The label written at build, "Dark mode", is the same in both
40
+ * states: the pressed state tells which one holds.
41
+ */
42
+ export function wireModeSwitch(element, storage, root, view) {
43
+ const button = element.querySelector("button");
44
+ if (button === null) {
45
+ return false;
46
+ }
47
+ const glyph = button.querySelector(".mode-switch-glyph");
48
+ const show = () => {
49
+ const displayed = view.displayed();
50
+ button.setAttribute("aria-pressed", displayed === "dark" ? "true" : "false");
51
+ if (glyph !== null) {
52
+ glyph.textContent = switchGlyph(displayed);
53
+ }
54
+ };
55
+ button.addEventListener("click", () => {
56
+ applyChoice(toggleChoice(view, root), storage, root);
57
+ show();
58
+ });
59
+ view.onPreferenceChange(show);
60
+ show();
61
+ button.hidden = false;
62
+ return true;
63
+ }
64
+ //# sourceMappingURL=mode-switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mode-switch.js","sourceRoot":"","sources":["../../src/islands/mode-switch.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAmB,MAAM,YAAY,CAAC;AAwCzF,+FAA+F;AAC/F,MAAM,UAAU,WAAW,CAAC,MAAkB,EAAE,OAAoB,EAAE,IAAc;IAClF,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;IAC7B,CAAC;IACD,IAAI,CAAC;QACH,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;IAC3D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAAgB,EAAE,IAAc;IAC3D,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;IACzB,OAAO,IAAI,CAAC,SAAS,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;AACzD,CAAC;AAED,6GAA6G;AAC7G,MAAM,UAAU,eAAe,CAAC,IAAkC;IAChE,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,OAA0B,EAC1B,OAAoB,EACpB,IAAc,EACd,IAAgB;IAEhB,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACzD,MAAM,IAAI,GAAG,GAAS,EAAE;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC7E,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YACnB,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC;IACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACpC,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACrD,IAAI,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC9B,IAAI,EAAE,CAAC;IACP,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { type ComponentType, type JSX } from "preact";
2
+ /** What a hydration entry needs from an island element: the serialised props. */
3
+ export interface IslandElement {
4
+ getAttribute(name: string): string | null;
5
+ }
6
+ export interface IslandHost<E extends IslandElement> {
7
+ querySelectorAll(selector: string): Iterable<E>;
8
+ }
9
+ /** Mounts a component on every island of that name in the host; returns how many were mounted. */
10
+ export declare function mountIslands<P extends object, E extends IslandElement>(name: string, Component: ComponentType<P>, host: IslandHost<E>, mount: (vnode: JSX.Element, element: E) => void): number;
11
+ //# sourceMappingURL=mount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mount.d.ts","sourceRoot":"","sources":["../../src/islands/mount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAK,KAAK,aAAa,EAAE,KAAK,GAAG,EAAE,MAAM,QAAQ,CAAC;AAIzD,iFAAiF;AACjF,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,aAAa;IACjD,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;CACjD;AAED,kGAAkG;AAClG,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,aAAa,EACpE,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,EAC3B,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EACnB,KAAK,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,KAAK,IAAI,GAC9C,MAAM,CASR"}
@@ -0,0 +1,14 @@
1
+ import { h } from "preact";
2
+ import { ISLAND_ELEMENT } from "./element.js";
3
+ /** Mounts a component on every island of that name in the host; returns how many were mounted. */
4
+ export function mountIslands(name, Component, host, mount) {
5
+ let mounted = 0;
6
+ for (const element of host.querySelectorAll(`${ISLAND_ELEMENT}[data-island="${name}"]`)) {
7
+ // Written by island() at build: the attribute carries the props of this very component.
8
+ const props = JSON.parse(element.getAttribute("data-props") ?? "{}");
9
+ mount(h(Component, props), element);
10
+ mounted += 1;
11
+ }
12
+ return mounted;
13
+ }
14
+ //# sourceMappingURL=mount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mount.js","sourceRoot":"","sources":["../../src/islands/mount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAgC,MAAM,QAAQ,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAW9C,kGAAkG;AAClG,MAAM,UAAU,YAAY,CAC1B,IAAY,EACZ,SAA2B,EAC3B,IAAmB,EACnB,KAA+C;IAE/C,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,cAAc,iBAAiB,IAAI,IAAI,CAAC,EAAE,CAAC;QACxF,wFAAwF;QACxF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,IAAI,CAAM,CAAC;QAC1E,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC,CAAC;IACf,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=not-found.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not-found.client.d.ts","sourceRoot":"","sources":["../../src/islands/not-found.client.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import { ISLAND_ELEMENT } from "./element.js";
2
+ import { NOT_FOUND_ISLAND, wireNotFound } from "./not-found.js";
3
+ // A classic script, not a module: browsers load it from a file:// page, which they refuse to modules.
4
+ function inject(src, done) {
5
+ const script = document.createElement("script");
6
+ script.src = src;
7
+ script.addEventListener("load", () => {
8
+ done(true);
9
+ });
10
+ script.addEventListener("error", () => {
11
+ done(false);
12
+ });
13
+ document.head.appendChild(script);
14
+ }
15
+ for (const element of document.querySelectorAll(`${ISLAND_ELEMENT}[data-island="${NOT_FOUND_ISLAND}"]`)) {
16
+ void wireNotFound(element, document, window, inject, window);
17
+ }
18
+ //# sourceMappingURL=not-found.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not-found.client.js","sourceRoot":"","sources":["../../src/islands/not-found.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEhE,sGAAsG;AACtG,SAAS,MAAM,CAAC,GAAW,EAAE,IAA+B;IAC1D,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;QACnC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;QACpC,IAAI,CAAC,KAAK,CAAC,CAAC;IACd,CAAC,CAAC,CAAC;IACH,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC;AAED,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,gBAAgB,CAC7C,GAAG,cAAc,iBAAiB,gBAAgB,IAAI,CACvD,EAAE,CAAC;IACF,KAAK,YAAY,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAC/D,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { type SearchEntry } from "../search/shared.js";
2
+ import type { NearbyPage } from "../slots.js";
3
+ import type { NotFoundIslandProps } from "../theme/default/not-found.js";
4
+ import { type ScriptInjector, type ShardHost } from "./shards.js";
5
+ /** The island of the page served for a missing address: it reads the address and names the nearby pages and the query. */
6
+ export declare const NOT_FOUND_ISLAND = "not-found";
7
+ /** How many nearby addresses the page lists at most. */
8
+ export declare const NEARBY_LIMIT = 3;
9
+ /** The address of a page under the site, without its file name nor its trailing slash: `glossary/publication-threshold`. */
10
+ export declare function pageAddress(path: string): string;
11
+ /** The address asked for, under the site: the path of the location without the folder of the page itself. */
12
+ export declare function missingAddress(pathname: string, baseUri: string): string;
13
+ /** The edit distance between two addresses: insertions, deletions and substitutions of one character. */
14
+ export declare function editDistance(a: string, b: string): number;
15
+ /** The last segment of an address, the name of the page: `publication-threshold` for `glossary/publication-threshold`. */
16
+ export declare function lastSegment(address: string): string;
17
+ /** How far the name of a page may stand from the last segment of the missing address to be proposed: half its length, three characters at least. */
18
+ export declare function nearbyThreshold(name: string): number;
19
+ /**
20
+ * The pages whose address is closest to the missing one, by edit distance on the path: the
21
+ * name of the page, its last segment, against the last segment of the missing address first,
22
+ * so that a renamed file stands a character away and a moved file none, then the whole path,
23
+ * so that the nearest folder comes first among namesakes, then the order of the table; at most
24
+ * `NEARBY_LIMIT` of them and none whose name lies beyond the threshold. Each comes with its
25
+ * address under the site and its href from the root of the site.
26
+ */
27
+ export declare function nearbyOf(missing: string, entries: readonly SearchEntry[], root: string): NearbyPage[];
28
+ /** The query the missing address suggests: its last segment, the hyphens and underscores as spaces. */
29
+ export declare function queryOf(missing: string): string;
30
+ /** What the island needs from the window: the address asked for and the base the page resolves against. */
31
+ export interface NotFoundWindow {
32
+ location: {
33
+ pathname: string;
34
+ };
35
+ document: {
36
+ baseURI: string;
37
+ };
38
+ }
39
+ /**
40
+ * The props of the page once the island read the address: the query from its last segment, and
41
+ * the nearby pages from the table of the pages written at publication; the served props alone
42
+ * when the table could not be loaded.
43
+ */
44
+ export declare function notFoundPropsOf(props: NotFoundIslandProps, win: NotFoundWindow, inject: ScriptInjector, host: ShardHost): Promise<NotFoundIslandProps>;
45
+ /** What the island needs from the document: elements made for the list of the nearby pages. */
46
+ export interface NotFoundDocument {
47
+ createElement(tag: string): Element;
48
+ }
49
+ /**
50
+ * Wires the island of one page: reads its props and the address, then fills the served markup
51
+ * in place: the search exit worded on the last segment of the address and led to the search
52
+ * on it, the nearby pages listed and their block shown. Nothing changes for an address that
53
+ * gives no query and no nearby page, nor for an island without the served markup.
54
+ */
55
+ export declare function wireNotFound(element: Element, doc: NotFoundDocument, win: NotFoundWindow, inject: ScriptInjector, host: ShardHost): Promise<boolean>;
56
+ //# sourceMappingURL=not-found.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not-found.d.ts","sourceRoot":"","sources":["../../src/islands/not-found.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,WAAW,EAEjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAe,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAE/E,0HAA0H;AAC1H,eAAO,MAAM,gBAAgB,cAAc,CAAC;AAE5C,wDAAwD;AACxD,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,4HAA4H;AAC5H,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED,6GAA6G;AAC7G,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAIxE;AAED,yGAAyG;AACzG,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAoBzD;AAED,0HAA0H;AAC1H,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEnD;AAED,oJAAoJ;AACpJ,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;;;;GAOG;AACH,wBAAgB,QAAQ,CACtB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,SAAS,WAAW,EAAE,EAC/B,IAAI,EAAE,MAAM,GACX,UAAU,EAAE,CAsBd;AAED,uGAAuG;AACvG,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,2GAA2G;AAC3G,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/B,QAAQ,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,mBAAmB,EAC1B,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,mBAAmB,CAAC,CAY9B;AAED,+FAA+F;AAC/F,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACrC;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,gBAAgB,EACrB,GAAG,EAAE,cAAc,EACnB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,SAAS,GACd,OAAO,CAAC,OAAO,CAAC,CA4BlB"}
@@ -0,0 +1,138 @@
1
+ import { SEARCH_DIRECTORY, SEARCH_META, } from "../search/shared.js";
2
+ import { shardLoader } from "./shards.js";
3
+ /** The island of the page served for a missing address: it reads the address and names the nearby pages and the query. */
4
+ export const NOT_FOUND_ISLAND = "not-found";
5
+ /** How many nearby addresses the page lists at most. */
6
+ export const NEARBY_LIMIT = 3;
7
+ /** The address of a page under the site, without its file name nor its trailing slash: `glossary/publication-threshold`. */
8
+ export function pageAddress(path) {
9
+ return path.replace(/(?:^|\/)index\.html$/, "").replace(/^\/+|\/+$/g, "");
10
+ }
11
+ /** The address asked for, under the site: the path of the location without the folder of the page itself. */
12
+ export function missingAddress(pathname, baseUri) {
13
+ const folder = baseUri.replace(/^[a-z]+:\/\/[^/]*/i, "").replace(/[^/]*$/, "");
14
+ const under = pathname.startsWith(folder) ? pathname.slice(folder.length) : pathname;
15
+ return pageAddress(decodeURIComponent(under));
16
+ }
17
+ /** The edit distance between two addresses: insertions, deletions and substitutions of one character. */
18
+ export function editDistance(a, b) {
19
+ let previous = Array.from({ length: b.length + 1 }, (_, index) => index);
20
+ // Without a character of a, every character of b is an insertion.
21
+ let distance = b.length;
22
+ for (const [row, charA] of Array.from(a).entries()) {
23
+ // The first cell of a row is its index: the cost of deleting every character so far.
24
+ let diagonal = row;
25
+ let left = row + 1;
26
+ const current = [left];
27
+ for (const [column, charB] of Array.from(b).entries()) {
28
+ // Within bounds by construction: every row holds one cell per character of b, plus one.
29
+ const above = previous[column + 1];
30
+ left = Math.min(diagonal + (charA === charB ? 0 : 1), above + 1, left + 1);
31
+ current.push(left);
32
+ diagonal = above;
33
+ }
34
+ previous = current;
35
+ distance = left;
36
+ }
37
+ return distance;
38
+ }
39
+ /** The last segment of an address, the name of the page: `publication-threshold` for `glossary/publication-threshold`. */
40
+ export function lastSegment(address) {
41
+ return address.slice(address.lastIndexOf("/") + 1);
42
+ }
43
+ /** How far the name of a page may stand from the last segment of the missing address to be proposed: half its length, three characters at least. */
44
+ export function nearbyThreshold(name) {
45
+ return Math.max(3, Math.floor(name.length / 2));
46
+ }
47
+ /**
48
+ * The pages whose address is closest to the missing one, by edit distance on the path: the
49
+ * name of the page, its last segment, against the last segment of the missing address first,
50
+ * so that a renamed file stands a character away and a moved file none, then the whole path,
51
+ * so that the nearest folder comes first among namesakes, then the order of the table; at most
52
+ * `NEARBY_LIMIT` of them and none whose name lies beyond the threshold. Each comes with its
53
+ * address under the site and its href from the root of the site.
54
+ */
55
+ export function nearbyOf(missing, entries, root) {
56
+ if (missing === "")
57
+ return [];
58
+ const name = lastSegment(missing);
59
+ const threshold = nearbyThreshold(name);
60
+ return entries
61
+ .map((entry, index) => {
62
+ const address = pageAddress(entry.url);
63
+ return {
64
+ entry,
65
+ index,
66
+ name: editDistance(name, lastSegment(address)),
67
+ path: editDistance(missing, address),
68
+ };
69
+ })
70
+ .filter((candidate) => candidate.name <= threshold)
71
+ .sort((a, b) => a.name - b.name || a.path - b.path || a.index - b.index)
72
+ .slice(0, NEARBY_LIMIT)
73
+ .map(({ entry }) => ({
74
+ title: entry.title,
75
+ path: `/${pageAddress(entry.url)}/`,
76
+ href: `${root}${entry.url}`,
77
+ }));
78
+ }
79
+ /** The query the missing address suggests: its last segment, the hyphens and underscores as spaces. */
80
+ export function queryOf(missing) {
81
+ return lastSegment(missing).replace(/[-_]+/g, " ").trim();
82
+ }
83
+ /**
84
+ * The props of the page once the island read the address: the query from its last segment, and
85
+ * the nearby pages from the table of the pages written at publication; the served props alone
86
+ * when the table could not be loaded.
87
+ */
88
+ export async function notFoundPropsOf(props, win, inject, host) {
89
+ const missing = missingAddress(win.location.pathname, win.document.baseURI);
90
+ const query = queryOf(missing);
91
+ const load = shardLoader(`${props.root}${SEARCH_DIRECTORY}/`, inject, host);
92
+ // Written by the build: the table carries the shape the index builder serialises.
93
+ const meta = (await load(SEARCH_META));
94
+ const nearby = meta === undefined ? [] : nearbyOf(missing, meta.entities, props.root);
95
+ return {
96
+ ...props,
97
+ ...(query === "" ? {} : { query }),
98
+ ...(nearby.length === 0 ? {} : { nearby }),
99
+ };
100
+ }
101
+ /**
102
+ * Wires the island of one page: reads its props and the address, then fills the served markup
103
+ * in place: the search exit worded on the last segment of the address and led to the search
104
+ * on it, the nearby pages listed and their block shown. Nothing changes for an address that
105
+ * gives no query and no nearby page, nor for an island without the served markup.
106
+ */
107
+ export async function wireNotFound(element, doc, win, inject, host) {
108
+ // Written by the build: the island serialises the props of its own component.
109
+ const props = JSON.parse(element.getAttribute("data-props") ?? "{}");
110
+ const search = element.querySelector(".button-primary");
111
+ const nearby = element.querySelector(".not-found-nearby");
112
+ const list = nearby?.querySelector("ul");
113
+ if (search === null || nearby === null || list === null || list === undefined)
114
+ return false;
115
+ const filled = await notFoundPropsOf(props, win, inject, host);
116
+ if (filled.query !== undefined) {
117
+ search.setAttribute("href", `${filled.searchHref}?q=${encodeURIComponent(filled.query)}`);
118
+ search.textContent = filled.searchQueryLabel.replace("{query}", filled.query);
119
+ }
120
+ for (const page of filled.nearby ?? []) {
121
+ const item = doc.createElement("li");
122
+ const link = doc.createElement("a");
123
+ link.setAttribute("href", page.href);
124
+ const title = doc.createElement("span");
125
+ title.setAttribute("class", "not-found-nearby-title");
126
+ title.textContent = page.title;
127
+ const path = doc.createElement("code");
128
+ path.setAttribute("class", "not-found-nearby-path");
129
+ path.textContent = page.path;
130
+ link.append(title, path);
131
+ item.append(link);
132
+ list.append(item);
133
+ }
134
+ if (filled.nearby !== undefined)
135
+ nearby.removeAttribute("hidden");
136
+ return filled.query !== undefined || filled.nearby !== undefined;
137
+ }
138
+ //# sourceMappingURL=not-found.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"not-found.js","sourceRoot":"","sources":["../../src/islands/not-found.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=panels.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panels.client.d.ts","sourceRoot":"","sources":["../../src/islands/panels.client.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { ISLAND_ELEMENT } from "./element.js";
2
+ import { wirePanels } from "./panels.js";
3
+ for (const element of document.querySelectorAll(`${ISLAND_ELEMENT}[data-island="panels"]`)) {
4
+ wirePanels(element, document, localStorage, document.documentElement);
5
+ }
6
+ //# sourceMappingURL=panels.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panels.client.js","sourceRoot":"","sources":["../../src/islands/panels.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,gBAAgB,CAAC,GAAG,cAAc,wBAAwB,CAAC,EAAE,CAAC;IAC3F,UAAU,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;AACxE,CAAC"}
@@ -0,0 +1,48 @@
1
+ import type { FoldablePanel } from "../slots.js";
2
+ import { type KeyEvent } from "./editable.js";
3
+ /** The part of `localStorage` the panels use; every call may throw when storage is disabled. */
4
+ export interface PanelStorage {
5
+ getItem(key: string): string | null;
6
+ setItem(key: string, value: string): void;
7
+ removeItem(key: string): void;
8
+ }
9
+ /** The root element, whose `data-panels` the stylesheet reads to fold the panels. */
10
+ export interface PanelsRoot {
11
+ dataset: {
12
+ panels?: string;
13
+ };
14
+ }
15
+ export interface HandleText {
16
+ textContent: string | null;
17
+ }
18
+ /** The handle of one panel, served hidden on the edge of the panel it folds. */
19
+ export interface HandleElement {
20
+ hidden: boolean;
21
+ getAttribute(name: string): string | null;
22
+ setAttribute(name: string, value: string): void;
23
+ addEventListener(type: "click", listener: () => void): void;
24
+ querySelector(selector: string): HandleText | null;
25
+ }
26
+ /** What the island needs from the document: the handles of the page, and the keys pressed anywhere in it. */
27
+ export interface PanelsDocument {
28
+ querySelectorAll(selector: string): Iterable<HandleElement>;
29
+ addEventListener(type: "keydown", listener: (event: KeyEvent) => void): void;
30
+ }
31
+ /** The island element written at build, holding the serialised labels. */
32
+ export interface PanelsElement {
33
+ getAttribute(name: string): string | null;
34
+ }
35
+ /** The panels stored as folded, or none when nothing valid is stored or storage cannot be read. */
36
+ export declare function readFolded(storage: PanelStorage): FoldablePanel[];
37
+ /** Applies the folded panels to `data-panels` on the root and remembers them; a failing storage still changes the page. */
38
+ export declare function applyFolded(folded: readonly FoldablePanel[], storage: PanelStorage, root: PanelsRoot): void;
39
+ /** The folded panels with one of them folded or unfolded, in the order of the panels. */
40
+ export declare function toggleFolded(folded: readonly FoldablePanel[], panel: FoldablePanel): FoldablePanel[];
41
+ /**
42
+ * Reveals the handles of the page and makes each one fold and unfold its panel: the handle
43
+ * announces the state of its panel and names it in the language of the site, the root carries
44
+ * the folded panels for the stylesheet, and the storage keeps them for the next page. The `[`
45
+ * and `]` keys, pressed outside a field, fold and unfold the tree and the right panel.
46
+ */
47
+ export declare function wirePanels(element: PanelsElement, document: PanelsDocument, storage: PanelStorage, root: PanelsRoot): number;
48
+ //# sourceMappingURL=panels.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panels.d.ts","sourceRoot":"","sources":["../../src/islands/panels.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE1D,gGAAgG;AAChG,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,qFAAqF;AACrF,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9B;AAED,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,gFAAgF;AAChF,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC1C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAChD,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC5D,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC;CACpD;AAED,6GAA6G;AAC7G,MAAM,WAAW,cAAc;IAC7B,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;IAC5D,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,IAAI,GAAG,IAAI,CAAC;CAC9E;AAED,0EAA0E;AAC1E,MAAM,WAAW,aAAa;IAC5B,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,mGAAmG;AACnG,wBAAgB,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,aAAa,EAAE,CAMjE;AAED,2HAA2H;AAC3H,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,aAAa,EAAE,EAChC,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,UAAU,GACf,IAAI,CAgBN;AAED,yFAAyF;AACzF,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,aAAa,EAAE,EAChC,KAAK,EAAE,aAAa,GACnB,aAAa,EAAE,CAIjB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,aAAa,EACtB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,YAAY,EACrB,IAAI,EAAE,UAAU,GACf,MAAM,CAmDR"}
@@ -0,0 +1,95 @@
1
+ import { foldedValue, isPanel, PANEL_KEYS, PANELS, PANELS_STORAGE_KEY, parseFolded, } from "../panels.js";
2
+ import { isEditable } from "./editable.js";
3
+ /** The panels stored as folded, or none when nothing valid is stored or storage cannot be read. */
4
+ export function readFolded(storage) {
5
+ try {
6
+ return parseFolded(storage.getItem(PANELS_STORAGE_KEY));
7
+ }
8
+ catch {
9
+ return [];
10
+ }
11
+ }
12
+ /** Applies the folded panels to `data-panels` on the root and remembers them; a failing storage still changes the page. */
13
+ export function applyFolded(folded, storage, root) {
14
+ const value = foldedValue(folded);
15
+ if (value === undefined) {
16
+ delete root.dataset.panels;
17
+ }
18
+ else {
19
+ root.dataset.panels = value;
20
+ }
21
+ try {
22
+ if (value === undefined) {
23
+ storage.removeItem(PANELS_STORAGE_KEY);
24
+ }
25
+ else {
26
+ storage.setItem(PANELS_STORAGE_KEY, value);
27
+ }
28
+ }
29
+ catch {
30
+ // Storage disabled: the panels hold for this page only.
31
+ }
32
+ }
33
+ /** The folded panels with one of them folded or unfolded, in the order of the panels. */
34
+ export function toggleFolded(folded, panel) {
35
+ return PANELS.filter((name) => name === panel ? !folded.includes(panel) : folded.includes(name));
36
+ }
37
+ /**
38
+ * Reveals the handles of the page and makes each one fold and unfold its panel: the handle
39
+ * announces the state of its panel and names it in the language of the site, the root carries
40
+ * the folded panels for the stylesheet, and the storage keeps them for the next page. The `[`
41
+ * and `]` keys, pressed outside a field, fold and unfold the tree and the right panel.
42
+ */
43
+ export function wirePanels(element, document, storage, root) {
44
+ // Written by island() at build: the attribute carries the props of the island.
45
+ const props = JSON.parse(element.getAttribute("data-props") ?? "{}");
46
+ const handles = new Map();
47
+ for (const handle of document.querySelectorAll(".panel-handle")) {
48
+ const panel = handle.getAttribute("data-panel");
49
+ if (isPanel(panel)) {
50
+ handles.set(panel, handle);
51
+ }
52
+ }
53
+ let folded = readFolded(storage);
54
+ const show = () => {
55
+ for (const [panel, handle] of handles) {
56
+ handle.setAttribute("aria-expanded", folded.includes(panel) ? "false" : "true");
57
+ }
58
+ };
59
+ const toggle = (panel) => {
60
+ folded = toggleFolded(folded, panel);
61
+ applyFolded(folded, storage, root);
62
+ show();
63
+ };
64
+ for (const [panel, handle] of handles) {
65
+ const name = handle.querySelector(".visually-hidden");
66
+ const label = props.labels?.[panel];
67
+ if (name !== null && label !== undefined) {
68
+ name.textContent = label;
69
+ }
70
+ if (props.labels?.fold !== undefined) {
71
+ handle.setAttribute("title", props.labels.fold);
72
+ }
73
+ handle.addEventListener("click", () => {
74
+ toggle(panel);
75
+ });
76
+ }
77
+ show();
78
+ if (handles.size > 0) {
79
+ document.addEventListener("keydown", (event) => {
80
+ if (event.altKey || event.ctrlKey || event.metaKey || isEditable(event.target)) {
81
+ return;
82
+ }
83
+ const panel = PANELS.find((name) => PANEL_KEYS[name] === event.key);
84
+ if (panel !== undefined && handles.has(panel)) {
85
+ event.preventDefault();
86
+ toggle(panel);
87
+ }
88
+ });
89
+ }
90
+ for (const handle of handles.values()) {
91
+ handle.hidden = false;
92
+ }
93
+ return handles.size;
94
+ }
95
+ //# sourceMappingURL=panels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panels.js","sourceRoot":"","sources":["../../src/islands/panels.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pins.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pins.client.d.ts","sourceRoot":"","sources":["../../src/islands/pins.client.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ import { ISLAND_ELEMENT } from "./element.js";
2
+ import { wirePins } from "./pins.js";
3
+ for (const element of document.querySelectorAll(`${ISLAND_ELEMENT}[data-island="pins"]`)) {
4
+ wirePins(element, document, localStorage, window);
5
+ }
6
+ //# sourceMappingURL=pins.client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pins.client.js","sourceRoot":"","sources":["../../src/islands/pins.client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,gBAAgB,CAC7C,GAAG,cAAc,sBAAsB,CACxC,EAAE,CAAC;IACF,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;AACpD,CAAC"}