react-cheminfo 0.2.0 → 0.4.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 (882) hide show
  1. package/README.md +139 -10
  2. package/lib/capsule/ui/CapsuleFilter.d.ts +61 -0
  3. package/lib/capsule/ui/CapsuleFilter.d.ts.map +1 -0
  4. package/lib/capsule/ui/CapsuleFilter.js +33 -0
  5. package/lib/capsule/ui/CapsuleFilter.js.map +1 -0
  6. package/lib/capsule/ui/index.d.ts +3 -0
  7. package/lib/capsule/ui/index.d.ts.map +1 -0
  8. package/lib/capsule/ui/index.js +2 -0
  9. package/lib/capsule/ui/index.js.map +1 -0
  10. package/lib/chrome/ui/NavLink.d.ts +27 -0
  11. package/lib/chrome/ui/NavLink.d.ts.map +1 -0
  12. package/lib/chrome/ui/NavLink.js +36 -0
  13. package/lib/chrome/ui/NavLink.js.map +1 -0
  14. package/lib/chrome/ui/NavMenuButton.d.ts +40 -0
  15. package/lib/chrome/ui/NavMenuButton.d.ts.map +1 -0
  16. package/lib/chrome/ui/NavMenuButton.js +26 -0
  17. package/lib/chrome/ui/NavMenuButton.js.map +1 -0
  18. package/lib/chrome/ui/SiteFooter.d.ts +39 -0
  19. package/lib/chrome/ui/SiteFooter.d.ts.map +1 -0
  20. package/lib/chrome/ui/SiteFooter.js +17 -0
  21. package/lib/chrome/ui/SiteFooter.js.map +1 -0
  22. package/lib/chrome/ui/SiteHeader.d.ts +59 -0
  23. package/lib/chrome/ui/SiteHeader.d.ts.map +1 -0
  24. package/lib/chrome/ui/SiteHeader.js +28 -0
  25. package/lib/chrome/ui/SiteHeader.js.map +1 -0
  26. package/lib/chrome/ui/index.d.ts +12 -0
  27. package/lib/chrome/ui/index.d.ts.map +1 -0
  28. package/lib/chrome/ui/index.js +6 -0
  29. package/lib/chrome/ui/index.js.map +1 -0
  30. package/lib/chrome/ui/navItem.d.ts +57 -0
  31. package/lib/chrome/ui/navItem.d.ts.map +1 -0
  32. package/lib/chrome/ui/navItem.js +10 -0
  33. package/lib/chrome/ui/navItem.js.map +1 -0
  34. package/lib/chrome/ui/useCompactHeader.d.ts +31 -0
  35. package/lib/chrome/ui/useCompactHeader.d.ts.map +1 -0
  36. package/lib/chrome/ui/useCompactHeader.js +50 -0
  37. package/lib/chrome/ui/useCompactHeader.js.map +1 -0
  38. package/lib/citation/core/clipboard.d.ts +12 -3
  39. package/lib/citation/core/clipboard.d.ts.map +1 -1
  40. package/lib/citation/core/clipboard.js +21 -10
  41. package/lib/citation/core/clipboard.js.map +1 -1
  42. package/lib/citation/core/download.d.ts +11 -3
  43. package/lib/citation/core/download.d.ts.map +1 -1
  44. package/lib/citation/core/download.js +17 -13
  45. package/lib/citation/core/download.js.map +1 -1
  46. package/lib/citation/core/index.d.ts +4 -3
  47. package/lib/citation/core/index.d.ts.map +1 -1
  48. package/lib/citation/core/index.js +3 -3
  49. package/lib/citation/core/index.js.map +1 -1
  50. package/lib/citation/core/works.d.ts +44 -0
  51. package/lib/citation/core/works.d.ts.map +1 -0
  52. package/lib/citation/core/works.js +51 -0
  53. package/lib/citation/core/works.js.map +1 -0
  54. package/lib/citation/ui/CitationMenu.d.ts +20 -3
  55. package/lib/citation/ui/CitationMenu.d.ts.map +1 -1
  56. package/lib/citation/ui/CitationMenu.js +60 -49
  57. package/lib/citation/ui/CitationMenu.js.map +1 -1
  58. package/lib/citation/ui/CitationPreview.d.ts +5 -2
  59. package/lib/citation/ui/CitationPreview.d.ts.map +1 -1
  60. package/lib/citation/ui/CitationPreview.js +9 -4
  61. package/lib/citation/ui/CitationPreview.js.map +1 -1
  62. package/lib/citation/ui/CiteButton.d.ts +13 -6
  63. package/lib/citation/ui/CiteButton.d.ts.map +1 -1
  64. package/lib/citation/ui/CiteButton.js +5 -4
  65. package/lib/citation/ui/CiteButton.js.map +1 -1
  66. package/lib/citation/ui/CopyFormatEntries.d.ts +31 -0
  67. package/lib/citation/ui/CopyFormatEntries.d.ts.map +1 -0
  68. package/lib/citation/ui/CopyFormatEntries.js +29 -0
  69. package/lib/citation/ui/CopyFormatEntries.js.map +1 -0
  70. package/lib/citation/ui/WorkEntry.d.ts +18 -0
  71. package/lib/citation/ui/WorkEntry.d.ts.map +1 -0
  72. package/lib/citation/ui/WorkEntry.js +32 -0
  73. package/lib/citation/ui/WorkEntry.js.map +1 -0
  74. package/lib/citation/ui/entries.d.ts +7 -7
  75. package/lib/citation/ui/entries.d.ts.map +1 -1
  76. package/lib/citation/ui/entries.js +11 -13
  77. package/lib/citation/ui/entries.js.map +1 -1
  78. package/lib/citation/ui/index.d.ts +2 -2
  79. package/lib/citation/ui/index.d.ts.map +1 -1
  80. package/lib/citation/ui/index.js.map +1 -1
  81. package/lib/citation/ui/useCopyFeedback.d.ts +20 -0
  82. package/lib/citation/ui/useCopyFeedback.d.ts.map +1 -0
  83. package/lib/citation/ui/useCopyFeedback.js +49 -0
  84. package/lib/citation/ui/useCopyFeedback.js.map +1 -0
  85. package/lib/clipboard/core/index.d.ts +2 -0
  86. package/lib/clipboard/core/index.d.ts.map +1 -0
  87. package/lib/clipboard/core/index.js +2 -0
  88. package/lib/clipboard/core/index.js.map +1 -0
  89. package/lib/clipboard/core/writeToClipboard.d.ts +12 -0
  90. package/lib/clipboard/core/writeToClipboard.d.ts.map +1 -0
  91. package/lib/clipboard/core/writeToClipboard.js +49 -0
  92. package/lib/clipboard/core/writeToClipboard.js.map +1 -0
  93. package/lib/clipboard/ui/CodeBlock.d.ts +43 -0
  94. package/lib/clipboard/ui/CodeBlock.d.ts.map +1 -0
  95. package/lib/clipboard/ui/CodeBlock.js +49 -0
  96. package/lib/clipboard/ui/CodeBlock.js.map +1 -0
  97. package/lib/clipboard/ui/CopyButton.d.ts +64 -0
  98. package/lib/clipboard/ui/CopyButton.d.ts.map +1 -0
  99. package/lib/clipboard/ui/CopyButton.js +21 -0
  100. package/lib/clipboard/ui/CopyButton.js.map +1 -0
  101. package/lib/clipboard/ui/index.d.ts +7 -0
  102. package/lib/clipboard/ui/index.d.ts.map +1 -0
  103. package/lib/clipboard/ui/index.js +4 -0
  104. package/lib/clipboard/ui/index.js.map +1 -0
  105. package/lib/clipboard/ui/useCopyToClipboard.d.ts +24 -0
  106. package/lib/clipboard/ui/useCopyToClipboard.d.ts.map +1 -0
  107. package/lib/clipboard/ui/useCopyToClipboard.js +36 -0
  108. package/lib/clipboard/ui/useCopyToClipboard.js.map +1 -0
  109. package/lib/color/core/contrast.d.ts +43 -0
  110. package/lib/color/core/contrast.d.ts.map +1 -0
  111. package/lib/color/core/contrast.js +61 -0
  112. package/lib/color/core/contrast.js.map +1 -0
  113. package/lib/color/core/hex.d.ts +26 -0
  114. package/lib/color/core/hex.d.ts.map +1 -0
  115. package/lib/color/core/hex.js +44 -0
  116. package/lib/color/core/hex.js.map +1 -0
  117. package/lib/color/core/index.d.ts +5 -0
  118. package/lib/color/core/index.d.ts.map +1 -0
  119. package/lib/color/core/index.js +3 -0
  120. package/lib/color/core/index.js.map +1 -0
  121. package/lib/color/core/scale.d.ts +52 -0
  122. package/lib/color/core/scale.d.ts.map +1 -0
  123. package/lib/color/core/scale.js +96 -0
  124. package/lib/color/core/scale.js.map +1 -0
  125. package/lib/color/ui/ColorScaleLegend.d.ts +38 -0
  126. package/lib/color/ui/ColorScaleLegend.d.ts.map +1 -0
  127. package/lib/color/ui/ColorScaleLegend.js +68 -0
  128. package/lib/color/ui/ColorScaleLegend.js.map +1 -0
  129. package/lib/color/ui/index.d.ts +3 -0
  130. package/lib/color/ui/index.d.ts.map +1 -0
  131. package/lib/color/ui/index.js +2 -0
  132. package/lib/color/ui/index.js.map +1 -0
  133. package/lib/core.d.ts +12 -0
  134. package/lib/core.d.ts.map +1 -1
  135. package/lib/core.js +12 -0
  136. package/lib/core.js.map +1 -1
  137. package/lib/credits/core/credits.d.ts +144 -0
  138. package/lib/credits/core/credits.d.ts.map +1 -0
  139. package/lib/credits/core/credits.js +156 -0
  140. package/lib/credits/core/credits.js.map +1 -0
  141. package/lib/credits/core/index.d.ts +3 -0
  142. package/lib/credits/core/index.d.ts.map +1 -0
  143. package/lib/credits/core/index.js +2 -0
  144. package/lib/credits/core/index.js.map +1 -0
  145. package/lib/credits/ui/CreditsList.d.ts +29 -0
  146. package/lib/credits/ui/CreditsList.d.ts.map +1 -0
  147. package/lib/credits/ui/CreditsList.js +33 -0
  148. package/lib/credits/ui/CreditsList.js.map +1 -0
  149. package/lib/credits/ui/index.d.ts +3 -0
  150. package/lib/credits/ui/index.d.ts.map +1 -0
  151. package/lib/credits/ui/index.js +2 -0
  152. package/lib/credits/ui/index.js.map +1 -0
  153. package/lib/delimited/core/delimiters.d.ts +31 -0
  154. package/lib/delimited/core/delimiters.d.ts.map +1 -0
  155. package/lib/delimited/core/delimiters.js +46 -0
  156. package/lib/delimited/core/delimiters.js.map +1 -0
  157. package/lib/delimited/core/index.d.ts +9 -0
  158. package/lib/delimited/core/index.d.ts.map +1 -0
  159. package/lib/delimited/core/index.js +5 -0
  160. package/lib/delimited/core/index.js.map +1 -0
  161. package/lib/delimited/core/readDelimited.d.ts +32 -0
  162. package/lib/delimited/core/readDelimited.d.ts.map +1 -0
  163. package/lib/delimited/core/readDelimited.js +122 -0
  164. package/lib/delimited/core/readDelimited.js.map +1 -0
  165. package/lib/delimited/core/rowsToDelimited.d.ts +59 -0
  166. package/lib/delimited/core/rowsToDelimited.d.ts.map +1 -0
  167. package/lib/delimited/core/rowsToDelimited.js +87 -0
  168. package/lib/delimited/core/rowsToDelimited.js.map +1 -0
  169. package/lib/delimited/core/toDelimited.d.ts +38 -0
  170. package/lib/delimited/core/toDelimited.d.ts.map +1 -0
  171. package/lib/delimited/core/toDelimited.js +45 -0
  172. package/lib/delimited/core/toDelimited.js.map +1 -0
  173. package/lib/delimited/ui/DelimitedTextDialog.d.ts +22 -0
  174. package/lib/delimited/ui/DelimitedTextDialog.d.ts.map +1 -0
  175. package/lib/delimited/ui/DelimitedTextDialog.js +17 -0
  176. package/lib/delimited/ui/DelimitedTextDialog.js.map +1 -0
  177. package/lib/delimited/ui/DelimitedTextPanel.d.ts +56 -0
  178. package/lib/delimited/ui/DelimitedTextPanel.d.ts.map +1 -0
  179. package/lib/delimited/ui/DelimitedTextPanel.js +55 -0
  180. package/lib/delimited/ui/DelimitedTextPanel.js.map +1 -0
  181. package/lib/delimited/ui/index.d.ts +5 -0
  182. package/lib/delimited/ui/index.d.ts.map +1 -0
  183. package/lib/delimited/ui/index.js +3 -0
  184. package/lib/delimited/ui/index.js.map +1 -0
  185. package/lib/disclosure/ui/CollapsibleSection.d.ts +57 -0
  186. package/lib/disclosure/ui/CollapsibleSection.d.ts.map +1 -0
  187. package/lib/disclosure/ui/CollapsibleSection.js +60 -0
  188. package/lib/disclosure/ui/CollapsibleSection.js.map +1 -0
  189. package/lib/disclosure/ui/index.d.ts +5 -0
  190. package/lib/disclosure/ui/index.d.ts.map +1 -0
  191. package/lib/disclosure/ui/index.js +3 -0
  192. package/lib/disclosure/ui/index.js.map +1 -0
  193. package/lib/disclosure/ui/useDisclosure.d.ts +22 -0
  194. package/lib/disclosure/ui/useDisclosure.d.ts.map +1 -0
  195. package/lib/disclosure/ui/useDisclosure.js +18 -0
  196. package/lib/disclosure/ui/useDisclosure.js.map +1 -0
  197. package/lib/download/core/downloadBlob.d.ts +10 -0
  198. package/lib/download/core/downloadBlob.d.ts.map +1 -0
  199. package/lib/download/core/downloadBlob.js +20 -0
  200. package/lib/download/core/downloadBlob.js.map +1 -0
  201. package/lib/download/core/downloadText.d.ts +9 -0
  202. package/lib/download/core/downloadText.d.ts.map +1 -0
  203. package/lib/download/core/downloadText.js +14 -0
  204. package/lib/download/core/downloadText.js.map +1 -0
  205. package/lib/download/core/index.d.ts +4 -0
  206. package/lib/download/core/index.d.ts.map +1 -0
  207. package/lib/download/core/index.js +4 -0
  208. package/lib/download/core/index.js.map +1 -0
  209. package/lib/download/core/sanitizeFileName.d.ts +15 -0
  210. package/lib/download/core/sanitizeFileName.d.ts.map +1 -0
  211. package/lib/download/core/sanitizeFileName.js +33 -0
  212. package/lib/download/core/sanitizeFileName.js.map +1 -0
  213. package/lib/ecosystem/core/index.d.ts +3 -0
  214. package/lib/ecosystem/core/index.d.ts.map +1 -1
  215. package/lib/ecosystem/core/index.js +3 -0
  216. package/lib/ecosystem/core/index.js.map +1 -1
  217. package/lib/ecosystem/core/links.d.ts +11 -0
  218. package/lib/ecosystem/core/links.d.ts.map +1 -0
  219. package/lib/ecosystem/core/links.js +28 -0
  220. package/lib/ecosystem/core/links.js.map +1 -0
  221. package/lib/ecosystem/core/lookup.d.ts +21 -0
  222. package/lib/ecosystem/core/lookup.d.ts.map +1 -0
  223. package/lib/ecosystem/core/lookup.js +40 -0
  224. package/lib/ecosystem/core/lookup.js.map +1 -0
  225. package/lib/ecosystem/core/sites.d.ts +3 -1
  226. package/lib/ecosystem/core/sites.d.ts.map +1 -1
  227. package/lib/ecosystem/core/sites.js +33 -0
  228. package/lib/ecosystem/core/sites.js.map +1 -1
  229. package/lib/ecosystem/core/tokens.d.ts +21 -0
  230. package/lib/ecosystem/core/tokens.d.ts.map +1 -0
  231. package/lib/ecosystem/core/tokens.js +42 -0
  232. package/lib/ecosystem/core/tokens.js.map +1 -0
  233. package/lib/ecosystem/ui/SiteTheme.d.ts +18 -0
  234. package/lib/ecosystem/ui/SiteTheme.d.ts.map +1 -0
  235. package/lib/ecosystem/ui/SiteTheme.js +16 -0
  236. package/lib/ecosystem/ui/SiteTheme.js.map +1 -0
  237. package/lib/ecosystem/ui/Wordmark.d.ts +30 -0
  238. package/lib/ecosystem/ui/Wordmark.d.ts.map +1 -0
  239. package/lib/ecosystem/ui/Wordmark.js +26 -0
  240. package/lib/ecosystem/ui/Wordmark.js.map +1 -0
  241. package/lib/ecosystem/ui/glyphs.d.ts +16 -0
  242. package/lib/ecosystem/ui/glyphs.d.ts.map +1 -0
  243. package/lib/ecosystem/ui/glyphs.js +41 -0
  244. package/lib/ecosystem/ui/glyphs.js.map +1 -0
  245. package/lib/ecosystem/ui/index.d.ts +4 -0
  246. package/lib/ecosystem/ui/index.d.ts.map +1 -1
  247. package/lib/ecosystem/ui/index.js +2 -0
  248. package/lib/ecosystem/ui/index.js.map +1 -1
  249. package/lib/ecosystem/ui/marks.d.ts +30 -4
  250. package/lib/ecosystem/ui/marks.d.ts.map +1 -1
  251. package/lib/ecosystem/ui/marks.js +15 -36
  252. package/lib/ecosystem/ui/marks.js.map +1 -1
  253. package/lib/error/ui/ErrorBoundary.d.ts +60 -0
  254. package/lib/error/ui/ErrorBoundary.d.ts.map +1 -0
  255. package/lib/error/ui/ErrorBoundary.js +59 -0
  256. package/lib/error/ui/ErrorBoundary.js.map +1 -0
  257. package/lib/error/ui/ErrorFallback.d.ts +38 -0
  258. package/lib/error/ui/ErrorFallback.d.ts.map +1 -0
  259. package/lib/error/ui/ErrorFallback.js +16 -0
  260. package/lib/error/ui/ErrorFallback.js.map +1 -0
  261. package/lib/error/ui/index.d.ts +5 -0
  262. package/lib/error/ui/index.d.ts.map +1 -0
  263. package/lib/error/ui/index.js +3 -0
  264. package/lib/error/ui/index.js.map +1 -0
  265. package/lib/error/ui/toError.d.ts +11 -0
  266. package/lib/error/ui/toError.d.ts.map +1 -0
  267. package/lib/error/ui/toError.js +35 -0
  268. package/lib/error/ui/toError.js.map +1 -0
  269. package/lib/format/core/index.d.ts +5 -0
  270. package/lib/format/core/index.d.ts.map +1 -0
  271. package/lib/format/core/index.js +5 -0
  272. package/lib/format/core/index.js.map +1 -0
  273. package/lib/format/core/missing.d.ts +7 -0
  274. package/lib/format/core/missing.d.ts.map +1 -0
  275. package/lib/format/core/missing.js +7 -0
  276. package/lib/format/core/missing.js.map +1 -0
  277. package/lib/format/core/numbers.d.ts +40 -0
  278. package/lib/format/core/numbers.d.ts.map +1 -0
  279. package/lib/format/core/numbers.js +81 -0
  280. package/lib/format/core/numbers.js.map +1 -0
  281. package/lib/format/core/units.d.ts +17 -0
  282. package/lib/format/core/units.d.ts.map +1 -0
  283. package/lib/format/core/units.js +54 -0
  284. package/lib/format/core/units.js.map +1 -0
  285. package/lib/format/core/words.d.ts +12 -0
  286. package/lib/format/core/words.d.ts.map +1 -0
  287. package/lib/format/core/words.js +14 -0
  288. package/lib/format/core/words.js.map +1 -0
  289. package/lib/help/ui/HelpBody.d.ts +57 -0
  290. package/lib/help/ui/HelpBody.d.ts.map +1 -0
  291. package/lib/help/ui/HelpBody.js +44 -0
  292. package/lib/help/ui/HelpBody.js.map +1 -0
  293. package/lib/help/ui/HelpIcon.d.ts +33 -0
  294. package/lib/help/ui/HelpIcon.d.ts.map +1 -0
  295. package/lib/help/ui/HelpIcon.js +16 -0
  296. package/lib/help/ui/HelpIcon.js.map +1 -0
  297. package/lib/help/ui/HelpToolbarButton.d.ts +45 -0
  298. package/lib/help/ui/HelpToolbarButton.d.ts.map +1 -0
  299. package/lib/help/ui/HelpToolbarButton.js +17 -0
  300. package/lib/help/ui/HelpToolbarButton.js.map +1 -0
  301. package/lib/help/ui/HelpTooltip.d.ts +36 -0
  302. package/lib/help/ui/HelpTooltip.d.ts.map +1 -0
  303. package/lib/help/ui/HelpTooltip.js +24 -0
  304. package/lib/help/ui/HelpTooltip.js.map +1 -0
  305. package/lib/help/ui/index.d.ts +9 -0
  306. package/lib/help/ui/index.d.ts.map +1 -0
  307. package/lib/help/ui/index.js +5 -0
  308. package/lib/help/ui/index.js.map +1 -0
  309. package/lib/hooks/ui/index.d.ts +7 -0
  310. package/lib/hooks/ui/index.d.ts.map +1 -0
  311. package/lib/hooks/ui/index.js +5 -0
  312. package/lib/hooks/ui/index.js.map +1 -0
  313. package/lib/hooks/ui/listNavigation.d.ts +54 -0
  314. package/lib/hooks/ui/listNavigation.d.ts.map +1 -0
  315. package/lib/hooks/ui/listNavigation.js +77 -0
  316. package/lib/hooks/ui/listNavigation.js.map +1 -0
  317. package/lib/hooks/ui/useContainerSize.d.ts +15 -0
  318. package/lib/hooks/ui/useContainerSize.d.ts.map +1 -0
  319. package/lib/hooks/ui/useContainerSize.js +24 -0
  320. package/lib/hooks/ui/useContainerSize.js.map +1 -0
  321. package/lib/hooks/ui/useDebouncedValue.d.ts +12 -0
  322. package/lib/hooks/ui/useDebouncedValue.d.ts.map +1 -0
  323. package/lib/hooks/ui/useDebouncedValue.js +24 -0
  324. package/lib/hooks/ui/useDebouncedValue.js.map +1 -0
  325. package/lib/hooks/ui/useListKeyboardNavigation.d.ts +17 -0
  326. package/lib/hooks/ui/useListKeyboardNavigation.d.ts.map +1 -0
  327. package/lib/hooks/ui/useListKeyboardNavigation.js +25 -0
  328. package/lib/hooks/ui/useListKeyboardNavigation.js.map +1 -0
  329. package/lib/hooks/ui/useResizeObserver.d.ts +20 -0
  330. package/lib/hooks/ui/useResizeObserver.d.ts.map +1 -0
  331. package/lib/hooks/ui/useResizeObserver.js +37 -0
  332. package/lib/hooks/ui/useResizeObserver.js.map +1 -0
  333. package/lib/orbital/core/atomicGrid.d.ts +85 -0
  334. package/lib/orbital/core/atomicGrid.d.ts.map +1 -0
  335. package/lib/orbital/core/atomicGrid.js +105 -0
  336. package/lib/orbital/core/atomicGrid.js.map +1 -0
  337. package/lib/orbital/core/atomicOrbitals.d.ts +97 -0
  338. package/lib/orbital/core/atomicOrbitals.d.ts.map +1 -0
  339. package/lib/orbital/core/atomicOrbitals.js +135 -0
  340. package/lib/orbital/core/atomicOrbitals.js.map +1 -0
  341. package/lib/orbital/core/constants.d.ts +33 -0
  342. package/lib/orbital/core/constants.d.ts.map +1 -0
  343. package/lib/orbital/core/constants.js +21 -0
  344. package/lib/orbital/core/constants.js.map +1 -0
  345. package/lib/orbital/core/electronConfiguration.d.ts +106 -0
  346. package/lib/orbital/core/electronConfiguration.d.ts.map +1 -0
  347. package/lib/orbital/core/electronConfiguration.js +207 -0
  348. package/lib/orbital/core/electronConfiguration.js.map +1 -0
  349. package/lib/orbital/core/grid.d.ts +60 -0
  350. package/lib/orbital/core/grid.d.ts.map +1 -0
  351. package/lib/orbital/core/grid.js +81 -0
  352. package/lib/orbital/core/grid.js.map +1 -0
  353. package/lib/orbital/core/hydrogenic.d.ts +99 -0
  354. package/lib/orbital/core/hydrogenic.d.ts.map +1 -0
  355. package/lib/orbital/core/hydrogenic.js +181 -0
  356. package/lib/orbital/core/hydrogenic.js.map +1 -0
  357. package/lib/orbital/core/index.d.ts +24 -0
  358. package/lib/orbital/core/index.d.ts.map +1 -0
  359. package/lib/orbital/core/index.js +13 -0
  360. package/lib/orbital/core/index.js.map +1 -0
  361. package/lib/orbital/core/isovalue.d.ts +60 -0
  362. package/lib/orbital/core/isovalue.d.ts.map +1 -0
  363. package/lib/orbital/core/isovalue.js +128 -0
  364. package/lib/orbital/core/isovalue.js.map +1 -0
  365. package/lib/orbital/core/numerics.d.ts +39 -0
  366. package/lib/orbital/core/numerics.d.ts.map +1 -0
  367. package/lib/orbital/core/numerics.js +75 -0
  368. package/lib/orbital/core/numerics.js.map +1 -0
  369. package/lib/orbital/core/occupancy.d.ts +44 -0
  370. package/lib/orbital/core/occupancy.d.ts.map +1 -0
  371. package/lib/orbital/core/occupancy.js +85 -0
  372. package/lib/orbital/core/occupancy.js.map +1 -0
  373. package/lib/orbital/core/palette.d.ts +36 -0
  374. package/lib/orbital/core/palette.d.ts.map +1 -0
  375. package/lib/orbital/core/palette.js +37 -0
  376. package/lib/orbital/core/palette.js.map +1 -0
  377. package/lib/orbital/core/realHarmonics.d.ts +57 -0
  378. package/lib/orbital/core/realHarmonics.d.ts.map +1 -0
  379. package/lib/orbital/core/realHarmonics.js +144 -0
  380. package/lib/orbital/core/realHarmonics.js.map +1 -0
  381. package/lib/orbital/core/sample.d.ts +66 -0
  382. package/lib/orbital/core/sample.d.ts.map +1 -0
  383. package/lib/orbital/core/sample.js +61 -0
  384. package/lib/orbital/core/sample.js.map +1 -0
  385. package/lib/orbital/core/screening.d.ts +46 -0
  386. package/lib/orbital/core/screening.d.ts.map +1 -0
  387. package/lib/orbital/core/screening.js +72 -0
  388. package/lib/orbital/core/screening.js.map +1 -0
  389. package/lib/orbital/ui/AtomicOrbitalCanvas.d.ts +62 -0
  390. package/lib/orbital/ui/AtomicOrbitalCanvas.d.ts.map +1 -0
  391. package/lib/orbital/ui/AtomicOrbitalCanvas.js +115 -0
  392. package/lib/orbital/ui/AtomicOrbitalCanvas.js.map +1 -0
  393. package/lib/orbital/ui/AtomicOrbitalViewer.d.ts +77 -0
  394. package/lib/orbital/ui/AtomicOrbitalViewer.d.ts.map +1 -0
  395. package/lib/orbital/ui/AtomicOrbitalViewer.js +49 -0
  396. package/lib/orbital/ui/AtomicOrbitalViewer.js.map +1 -0
  397. package/lib/orbital/ui/camera.d.ts +36 -0
  398. package/lib/orbital/ui/camera.d.ts.map +1 -0
  399. package/lib/orbital/ui/camera.js +98 -0
  400. package/lib/orbital/ui/camera.js.map +1 -0
  401. package/lib/orbital/ui/capability.d.ts +28 -0
  402. package/lib/orbital/ui/capability.d.ts.map +1 -0
  403. package/lib/orbital/ui/capability.js +77 -0
  404. package/lib/orbital/ui/capability.js.map +1 -0
  405. package/lib/orbital/ui/index.d.ts +17 -0
  406. package/lib/orbital/ui/index.d.ts.map +1 -0
  407. package/lib/orbital/ui/index.js +13 -0
  408. package/lib/orbital/ui/index.js.map +1 -0
  409. package/lib/orbital/ui/renderVolume.d.ts +60 -0
  410. package/lib/orbital/ui/renderVolume.d.ts.map +1 -0
  411. package/lib/orbital/ui/renderVolume.js +119 -0
  412. package/lib/orbital/ui/renderVolume.js.map +1 -0
  413. package/lib/orbital/ui/viewer.d.ts +88 -0
  414. package/lib/orbital/ui/viewer.d.ts.map +1 -0
  415. package/lib/orbital/ui/viewer.js +156 -0
  416. package/lib/orbital/ui/viewer.js.map +1 -0
  417. package/lib/orbital/ui/volumeField.d.ts +33 -0
  418. package/lib/orbital/ui/volumeField.d.ts.map +1 -0
  419. package/lib/orbital/ui/volumeField.js +68 -0
  420. package/lib/orbital/ui/volumeField.js.map +1 -0
  421. package/lib/orbital.d.ts +11 -0
  422. package/lib/orbital.d.ts.map +1 -0
  423. package/lib/orbital.js +11 -0
  424. package/lib/orbital.js.map +1 -0
  425. package/lib/pedagogy/core/glossary.d.ts +79 -0
  426. package/lib/pedagogy/core/glossary.d.ts.map +1 -0
  427. package/lib/pedagogy/core/glossary.js +71 -0
  428. package/lib/pedagogy/core/glossary.js.map +1 -0
  429. package/lib/pedagogy/core/index.d.ts +8 -0
  430. package/lib/pedagogy/core/index.d.ts.map +1 -0
  431. package/lib/pedagogy/core/index.js +4 -0
  432. package/lib/pedagogy/core/index.js.map +1 -0
  433. package/lib/pedagogy/core/jsonStorage.d.ts +21 -0
  434. package/lib/pedagogy/core/jsonStorage.d.ts.map +1 -0
  435. package/lib/pedagogy/core/jsonStorage.js +55 -0
  436. package/lib/pedagogy/core/jsonStorage.js.map +1 -0
  437. package/lib/pedagogy/core/progress.d.ts +116 -0
  438. package/lib/pedagogy/core/progress.d.ts.map +1 -0
  439. package/lib/pedagogy/core/progress.js +122 -0
  440. package/lib/pedagogy/core/progress.js.map +1 -0
  441. package/lib/pedagogy/core/types.d.ts +74 -0
  442. package/lib/pedagogy/core/types.d.ts.map +1 -0
  443. package/lib/pedagogy/core/types.js +8 -0
  444. package/lib/pedagogy/core/types.js.map +1 -0
  445. package/lib/pedagogy/core/validation.d.ts +79 -0
  446. package/lib/pedagogy/core/validation.d.ts.map +1 -0
  447. package/lib/pedagogy/core/validation.js +47 -0
  448. package/lib/pedagogy/core/validation.js.map +1 -0
  449. package/lib/pedagogy/ui/ExerciseActions.d.ts +74 -0
  450. package/lib/pedagogy/ui/ExerciseActions.d.ts.map +1 -0
  451. package/lib/pedagogy/ui/ExerciseActions.js +22 -0
  452. package/lib/pedagogy/ui/ExerciseActions.js.map +1 -0
  453. package/lib/pedagogy/ui/ExerciseProgressHeader.d.ts +43 -0
  454. package/lib/pedagogy/ui/ExerciseProgressHeader.d.ts.map +1 -0
  455. package/lib/pedagogy/ui/ExerciseProgressHeader.js +43 -0
  456. package/lib/pedagogy/ui/ExerciseProgressHeader.js.map +1 -0
  457. package/lib/pedagogy/ui/ExerciseTags.d.ts +49 -0
  458. package/lib/pedagogy/ui/ExerciseTags.d.ts.map +1 -0
  459. package/lib/pedagogy/ui/ExerciseTags.js +22 -0
  460. package/lib/pedagogy/ui/ExerciseTags.js.map +1 -0
  461. package/lib/pedagogy/ui/GlossaryProvider.d.ts +19 -0
  462. package/lib/pedagogy/ui/GlossaryProvider.d.ts.map +1 -0
  463. package/lib/pedagogy/ui/GlossaryProvider.js +16 -0
  464. package/lib/pedagogy/ui/GlossaryProvider.js.map +1 -0
  465. package/lib/pedagogy/ui/GlossaryText.d.ts +50 -0
  466. package/lib/pedagogy/ui/GlossaryText.d.ts.map +1 -0
  467. package/lib/pedagogy/ui/GlossaryText.js +79 -0
  468. package/lib/pedagogy/ui/GlossaryText.js.map +1 -0
  469. package/lib/pedagogy/ui/HintLadder.d.ts +38 -0
  470. package/lib/pedagogy/ui/HintLadder.d.ts.map +1 -0
  471. package/lib/pedagogy/ui/HintLadder.js +33 -0
  472. package/lib/pedagogy/ui/HintLadder.js.map +1 -0
  473. package/lib/pedagogy/ui/ReferenceGrid.d.ts +31 -0
  474. package/lib/pedagogy/ui/ReferenceGrid.d.ts.map +1 -0
  475. package/lib/pedagogy/ui/ReferenceGrid.js +25 -0
  476. package/lib/pedagogy/ui/ReferenceGrid.js.map +1 -0
  477. package/lib/pedagogy/ui/ReferenceSectionBlock.d.ts +64 -0
  478. package/lib/pedagogy/ui/ReferenceSectionBlock.d.ts.map +1 -0
  479. package/lib/pedagogy/ui/ReferenceSectionBlock.js +78 -0
  480. package/lib/pedagogy/ui/ReferenceSectionBlock.js.map +1 -0
  481. package/lib/pedagogy/ui/SyntaxTooltip.d.ts +94 -0
  482. package/lib/pedagogy/ui/SyntaxTooltip.d.ts.map +1 -0
  483. package/lib/pedagogy/ui/SyntaxTooltip.js +79 -0
  484. package/lib/pedagogy/ui/SyntaxTooltip.js.map +1 -0
  485. package/lib/pedagogy/ui/TestCaseList.d.ts +35 -0
  486. package/lib/pedagogy/ui/TestCaseList.d.ts.map +1 -0
  487. package/lib/pedagogy/ui/TestCaseList.js +63 -0
  488. package/lib/pedagogy/ui/TestCaseList.js.map +1 -0
  489. package/lib/pedagogy/ui/TutorialStepStrip.d.ts +42 -0
  490. package/lib/pedagogy/ui/TutorialStepStrip.d.ts.map +1 -0
  491. package/lib/pedagogy/ui/TutorialStepStrip.js +98 -0
  492. package/lib/pedagogy/ui/TutorialStepStrip.js.map +1 -0
  493. package/lib/pedagogy/ui/exerciseMeta.d.ts +24 -0
  494. package/lib/pedagogy/ui/exerciseMeta.d.ts.map +1 -0
  495. package/lib/pedagogy/ui/exerciseMeta.js +38 -0
  496. package/lib/pedagogy/ui/exerciseMeta.js.map +1 -0
  497. package/lib/pedagogy/ui/glossaryContext.d.ts +17 -0
  498. package/lib/pedagogy/ui/glossaryContext.d.ts.map +1 -0
  499. package/lib/pedagogy/ui/glossaryContext.js +19 -0
  500. package/lib/pedagogy/ui/glossaryContext.js.map +1 -0
  501. package/lib/pedagogy/ui/index.d.ts +27 -0
  502. package/lib/pedagogy/ui/index.d.ts.map +1 -0
  503. package/lib/pedagogy/ui/index.js +15 -0
  504. package/lib/pedagogy/ui/index.js.map +1 -0
  505. package/lib/pedagogy/ui/tutorialLevels.d.ts +18 -0
  506. package/lib/pedagogy/ui/tutorialLevels.d.ts.map +1 -0
  507. package/lib/pedagogy/ui/tutorialLevels.js +14 -0
  508. package/lib/pedagogy/ui/tutorialLevels.js.map +1 -0
  509. package/lib/router/core/address.d.ts +42 -0
  510. package/lib/router/core/address.d.ts.map +1 -0
  511. package/lib/router/core/address.js +64 -0
  512. package/lib/router/core/address.js.map +1 -0
  513. package/lib/router/core/basePath.d.ts +49 -0
  514. package/lib/router/core/basePath.d.ts.map +1 -0
  515. package/lib/router/core/basePath.js +78 -0
  516. package/lib/router/core/basePath.js.map +1 -0
  517. package/lib/router/core/index.d.ts +8 -0
  518. package/lib/router/core/index.d.ts.map +1 -0
  519. package/lib/router/core/index.js +5 -0
  520. package/lib/router/core/index.js.map +1 -0
  521. package/lib/router/core/legacyHash.d.ts +45 -0
  522. package/lib/router/core/legacyHash.d.ts.map +1 -0
  523. package/lib/router/core/legacyHash.js +50 -0
  524. package/lib/router/core/legacyHash.js.map +1 -0
  525. package/lib/router/core/pageAddresses.d.ts +50 -0
  526. package/lib/router/core/pageAddresses.d.ts.map +1 -0
  527. package/lib/router/core/pageAddresses.js +56 -0
  528. package/lib/router/core/pageAddresses.js.map +1 -0
  529. package/lib/router/core/query.d.ts +41 -0
  530. package/lib/router/core/query.d.ts.map +1 -0
  531. package/lib/router/core/query.js +64 -0
  532. package/lib/router/core/query.js.map +1 -0
  533. package/lib/router/core/tabRouter.d.ts +111 -0
  534. package/lib/router/core/tabRouter.d.ts.map +1 -0
  535. package/lib/router/core/tabRouter.js +87 -0
  536. package/lib/router/core/tabRouter.js.map +1 -0
  537. package/lib/seo/core/documentMeta.d.ts +45 -0
  538. package/lib/seo/core/documentMeta.d.ts.map +1 -0
  539. package/lib/seo/core/documentMeta.js +69 -0
  540. package/lib/seo/core/documentMeta.js.map +1 -0
  541. package/lib/seo/core/index.d.ts +3 -0
  542. package/lib/seo/core/index.d.ts.map +1 -0
  543. package/lib/seo/core/index.js +2 -0
  544. package/lib/seo/core/index.js.map +1 -0
  545. package/lib/share/core/config.d.ts +63 -0
  546. package/lib/share/core/config.d.ts.map +1 -0
  547. package/lib/share/core/config.js +125 -0
  548. package/lib/share/core/config.js.map +1 -0
  549. package/lib/share/core/escape.d.ts +15 -0
  550. package/lib/share/core/escape.d.ts.map +1 -0
  551. package/lib/share/core/escape.js +22 -0
  552. package/lib/share/core/escape.js.map +1 -0
  553. package/lib/share/core/index.d.ts +9 -0
  554. package/lib/share/core/index.d.ts.map +1 -0
  555. package/lib/share/core/index.js +5 -0
  556. package/lib/share/core/index.js.map +1 -0
  557. package/lib/share/core/params.d.ts +93 -0
  558. package/lib/share/core/params.d.ts.map +1 -0
  559. package/lib/share/core/params.js +111 -0
  560. package/lib/share/core/params.js.map +1 -0
  561. package/lib/share/core/query.d.ts +30 -0
  562. package/lib/share/core/query.d.ts.map +1 -0
  563. package/lib/share/core/query.js +68 -0
  564. package/lib/share/core/query.js.map +1 -0
  565. package/lib/share/core/url.d.ts +57 -0
  566. package/lib/share/core/url.d.ts.map +1 -0
  567. package/lib/share/core/url.js +49 -0
  568. package/lib/share/core/url.js.map +1 -0
  569. package/lib/share/core/vocabulary.d.ts +51 -0
  570. package/lib/share/core/vocabulary.d.ts.map +1 -0
  571. package/lib/share/core/vocabulary.js +2 -0
  572. package/lib/share/core/vocabulary.js.map +1 -0
  573. package/lib/share/ui/HiddenPartsProvider.d.ts +19 -0
  574. package/lib/share/ui/HiddenPartsProvider.d.ts.map +1 -0
  575. package/lib/share/ui/HiddenPartsProvider.js +15 -0
  576. package/lib/share/ui/HiddenPartsProvider.js.map +1 -0
  577. package/lib/share/ui/PagePart.d.ts +18 -0
  578. package/lib/share/ui/PagePart.d.ts.map +1 -0
  579. package/lib/share/ui/PagePart.js +16 -0
  580. package/lib/share/ui/PagePart.js.map +1 -0
  581. package/lib/share/ui/ShareButton.d.ts +42 -0
  582. package/lib/share/ui/ShareButton.d.ts.map +1 -0
  583. package/lib/share/ui/ShareButton.js +18 -0
  584. package/lib/share/ui/ShareButton.js.map +1 -0
  585. package/lib/share/ui/ShareDialog.d.ts +73 -0
  586. package/lib/share/ui/ShareDialog.d.ts.map +1 -0
  587. package/lib/share/ui/ShareDialog.js +19 -0
  588. package/lib/share/ui/ShareDialog.js.map +1 -0
  589. package/lib/share/ui/ShareDialogContent.d.ts +13 -0
  590. package/lib/share/ui/ShareDialogContent.d.ts.map +1 -0
  591. package/lib/share/ui/ShareDialogContent.js +71 -0
  592. package/lib/share/ui/ShareDialogContent.js.map +1 -0
  593. package/lib/share/ui/SharePartOptions.d.ts +18 -0
  594. package/lib/share/ui/SharePartOptions.d.ts.map +1 -0
  595. package/lib/share/ui/SharePartOptions.js +22 -0
  596. package/lib/share/ui/SharePartOptions.js.map +1 -0
  597. package/lib/share/ui/draft.d.ts +13 -0
  598. package/lib/share/ui/draft.d.ts.map +1 -0
  599. package/lib/share/ui/draft.js +16 -0
  600. package/lib/share/ui/draft.js.map +1 -0
  601. package/lib/share/ui/hiddenParts.d.ts +17 -0
  602. package/lib/share/ui/hiddenParts.d.ts.map +1 -0
  603. package/lib/share/ui/hiddenParts.js +21 -0
  604. package/lib/share/ui/hiddenParts.js.map +1 -0
  605. package/lib/share/ui/index.d.ts +10 -0
  606. package/lib/share/ui/index.d.ts.map +1 -0
  607. package/lib/share/ui/index.js +6 -0
  608. package/lib/share/ui/index.js.map +1 -0
  609. package/lib/shared/ui/index.d.ts +2 -1
  610. package/lib/shared/ui/index.d.ts.map +1 -1
  611. package/lib/shared/ui/index.js +1 -1
  612. package/lib/shared/ui/index.js.map +1 -1
  613. package/lib/state/ui/index.d.ts +3 -0
  614. package/lib/state/ui/index.d.ts.map +1 -0
  615. package/lib/state/ui/index.js +2 -0
  616. package/lib/state/ui/index.js.map +1 -0
  617. package/lib/state/ui/mergeStored.d.ts +27 -0
  618. package/lib/state/ui/mergeStored.d.ts.map +1 -0
  619. package/lib/state/ui/mergeStored.js +82 -0
  620. package/lib/state/ui/mergeStored.js.map +1 -0
  621. package/lib/state/ui/persistBucket.d.ts +65 -0
  622. package/lib/state/ui/persistBucket.d.ts.map +1 -0
  623. package/lib/state/ui/persistBucket.js +90 -0
  624. package/lib/state/ui/persistBucket.js.map +1 -0
  625. package/lib/structure/core/editorValue.d.ts +69 -0
  626. package/lib/structure/core/editorValue.d.ts.map +1 -0
  627. package/lib/structure/core/editorValue.js +72 -0
  628. package/lib/structure/core/editorValue.js.map +1 -0
  629. package/lib/structure/core/fragmentQuery.d.ts +33 -0
  630. package/lib/structure/core/fragmentQuery.d.ts.map +1 -0
  631. package/lib/structure/core/fragmentQuery.js +37 -0
  632. package/lib/structure/core/fragmentQuery.js.map +1 -0
  633. package/lib/structure/core/index.d.ts +11 -0
  634. package/lib/structure/core/index.d.ts.map +1 -0
  635. package/lib/structure/core/index.js +6 -0
  636. package/lib/structure/core/index.js.map +1 -0
  637. package/lib/structure/core/molfile.d.ts +42 -0
  638. package/lib/structure/core/molfile.d.ts.map +1 -0
  639. package/lib/structure/core/molfile.js +74 -0
  640. package/lib/structure/core/molfile.js.map +1 -0
  641. package/lib/structure/core/readStructure.d.ts +37 -0
  642. package/lib/structure/core/readStructure.d.ts.map +1 -0
  643. package/lib/structure/core/readStructure.js +59 -0
  644. package/lib/structure/core/readStructure.js.map +1 -0
  645. package/lib/structure/core/structureSource.d.ts +34 -0
  646. package/lib/structure/core/structureSource.d.ts.map +1 -0
  647. package/lib/structure/core/structureSource.js +32 -0
  648. package/lib/structure/core/structureSource.js.map +1 -0
  649. package/lib/structure/core/toolbarFloor.d.ts +16 -0
  650. package/lib/structure/core/toolbarFloor.d.ts.map +1 -0
  651. package/lib/structure/core/toolbarFloor.js +27 -0
  652. package/lib/structure/core/toolbarFloor.js.map +1 -0
  653. package/lib/structure/ui/EditorCanvas.d.ts +55 -0
  654. package/lib/structure/ui/EditorCanvas.d.ts.map +1 -0
  655. package/lib/structure/ui/EditorCanvas.js +41 -0
  656. package/lib/structure/ui/EditorCanvas.js.map +1 -0
  657. package/lib/structure/ui/Structure.d.ts +122 -0
  658. package/lib/structure/ui/Structure.d.ts.map +1 -0
  659. package/lib/structure/ui/Structure.js +28 -0
  660. package/lib/structure/ui/Structure.js.map +1 -0
  661. package/lib/structure/ui/StructureEditor.d.ts +75 -0
  662. package/lib/structure/ui/StructureEditor.d.ts.map +1 -0
  663. package/lib/structure/ui/StructureEditor.js +83 -0
  664. package/lib/structure/ui/StructureEditor.js.map +1 -0
  665. package/lib/structure/ui/StructurePlaceholder.d.ts +29 -0
  666. package/lib/structure/ui/StructurePlaceholder.d.ts.map +1 -0
  667. package/lib/structure/ui/StructurePlaceholder.js +19 -0
  668. package/lib/structure/ui/StructurePlaceholder.js.map +1 -0
  669. package/lib/structure/ui/StructureSvg.d.ts +58 -0
  670. package/lib/structure/ui/StructureSvg.d.ts.map +1 -0
  671. package/lib/structure/ui/StructureSvg.js +33 -0
  672. package/lib/structure/ui/StructureSvg.js.map +1 -0
  673. package/lib/structure/ui/index.d.ts +19 -0
  674. package/lib/structure/ui/index.d.ts.map +1 -0
  675. package/lib/structure/ui/index.js +15 -0
  676. package/lib/structure/ui/index.js.map +1 -0
  677. package/lib/structure/ui/useToolbarFloor.d.ts +26 -0
  678. package/lib/structure/ui/useToolbarFloor.d.ts.map +1 -0
  679. package/lib/structure/ui/useToolbarFloor.js +70 -0
  680. package/lib/structure/ui/useToolbarFloor.js.map +1 -0
  681. package/lib/structure.d.ts +3 -0
  682. package/lib/structure.d.ts.map +1 -0
  683. package/lib/structure.js +3 -0
  684. package/lib/structure.js.map +1 -0
  685. package/lib/ui.d.ts +13 -0
  686. package/lib/ui.d.ts.map +1 -1
  687. package/lib/ui.js +13 -0
  688. package/lib/ui.js.map +1 -1
  689. package/lib/worker/core/errors.d.ts +15 -0
  690. package/lib/worker/core/errors.d.ts.map +1 -0
  691. package/lib/worker/core/errors.js +15 -0
  692. package/lib/worker/core/errors.js.map +1 -0
  693. package/lib/worker/core/index.d.ts +5 -0
  694. package/lib/worker/core/index.d.ts.map +1 -0
  695. package/lib/worker/core/index.js +3 -0
  696. package/lib/worker/core/index.js.map +1 -0
  697. package/lib/worker/core/messages.d.ts +48 -0
  698. package/lib/worker/core/messages.d.ts.map +1 -0
  699. package/lib/worker/core/messages.js +2 -0
  700. package/lib/worker/core/messages.js.map +1 -0
  701. package/lib/worker/core/workerChannel.d.ts +69 -0
  702. package/lib/worker/core/workerChannel.d.ts.map +1 -0
  703. package/lib/worker/core/workerChannel.js +121 -0
  704. package/lib/worker/core/workerChannel.js.map +1 -0
  705. package/package.json +25 -4
  706. package/src/capsule/ui/CapsuleFilter.tsx +119 -0
  707. package/src/capsule/ui/index.ts +2 -0
  708. package/src/chrome/ui/NavLink.tsx +88 -0
  709. package/src/chrome/ui/NavMenuButton.tsx +95 -0
  710. package/src/chrome/ui/SiteFooter.tsx +65 -0
  711. package/src/chrome/ui/SiteHeader.tsx +119 -0
  712. package/src/chrome/ui/index.ts +11 -0
  713. package/src/chrome/ui/navItem.ts +60 -0
  714. package/src/chrome/ui/useCompactHeader.ts +81 -0
  715. package/src/citation/core/clipboard.ts +27 -11
  716. package/src/citation/core/download.ts +25 -15
  717. package/src/citation/core/index.ts +8 -3
  718. package/src/citation/core/works.ts +81 -0
  719. package/src/citation/ui/CitationMenu.tsx +104 -89
  720. package/src/citation/ui/CitationPreview.tsx +18 -8
  721. package/src/citation/ui/CiteButton.tsx +24 -9
  722. package/src/citation/ui/CopyFormatEntries.tsx +84 -0
  723. package/src/citation/ui/WorkEntry.tsx +80 -0
  724. package/src/citation/ui/entries.tsx +18 -20
  725. package/src/citation/ui/index.ts +10 -2
  726. package/src/citation/ui/useCopyFeedback.ts +76 -0
  727. package/src/clipboard/core/index.ts +1 -0
  728. package/src/clipboard/core/writeToClipboard.ts +47 -0
  729. package/src/clipboard/ui/CodeBlock.tsx +110 -0
  730. package/src/clipboard/ui/CopyButton.tsx +111 -0
  731. package/src/clipboard/ui/index.ts +9 -0
  732. package/src/clipboard/ui/useCopyToClipboard.ts +57 -0
  733. package/src/color/core/contrast.ts +85 -0
  734. package/src/color/core/hex.ts +57 -0
  735. package/src/color/core/index.ts +4 -0
  736. package/src/color/core/scale.ts +132 -0
  737. package/src/color/ui/ColorScaleLegend.tsx +144 -0
  738. package/src/color/ui/index.ts +2 -0
  739. package/src/core.ts +12 -0
  740. package/src/credits/core/credits.ts +183 -0
  741. package/src/credits/core/index.ts +2 -0
  742. package/src/credits/ui/CreditsList.tsx +82 -0
  743. package/src/credits/ui/index.ts +2 -0
  744. package/src/delimited/core/delimiters.ts +64 -0
  745. package/src/delimited/core/index.ts +11 -0
  746. package/src/delimited/core/readDelimited.ts +132 -0
  747. package/src/delimited/core/rowsToDelimited.ts +135 -0
  748. package/src/delimited/core/toDelimited.ts +69 -0
  749. package/src/delimited/ui/DelimitedTextDialog.tsx +49 -0
  750. package/src/delimited/ui/DelimitedTextPanel.tsx +161 -0
  751. package/src/delimited/ui/index.ts +4 -0
  752. package/src/disclosure/ui/CollapsibleSection.tsx +150 -0
  753. package/src/disclosure/ui/index.ts +4 -0
  754. package/src/disclosure/ui/useDisclosure.ts +35 -0
  755. package/src/download/core/downloadBlob.ts +19 -0
  756. package/src/download/core/downloadText.ts +19 -0
  757. package/src/download/core/index.ts +3 -0
  758. package/src/download/core/sanitizeFileName.ts +33 -0
  759. package/src/ecosystem/core/index.ts +3 -0
  760. package/src/ecosystem/core/links.ts +29 -0
  761. package/src/ecosystem/core/lookup.ts +41 -0
  762. package/src/ecosystem/core/sites.ts +38 -1
  763. package/src/ecosystem/core/tokens.ts +47 -0
  764. package/src/ecosystem/ui/SiteTheme.tsx +23 -0
  765. package/src/ecosystem/ui/Wordmark.tsx +65 -0
  766. package/src/ecosystem/ui/glyphs.tsx +246 -0
  767. package/src/ecosystem/ui/index.ts +4 -0
  768. package/src/ecosystem/ui/marks.tsx +56 -214
  769. package/src/error/ui/ErrorBoundary.tsx +94 -0
  770. package/src/error/ui/ErrorFallback.tsx +64 -0
  771. package/src/error/ui/index.ts +4 -0
  772. package/src/error/ui/toError.ts +33 -0
  773. package/src/format/core/index.ts +9 -0
  774. package/src/format/core/missing.ts +6 -0
  775. package/src/format/core/numbers.ts +84 -0
  776. package/src/format/core/units.ts +60 -0
  777. package/src/format/core/words.ts +17 -0
  778. package/src/help/ui/HelpBody.tsx +130 -0
  779. package/src/help/ui/HelpIcon.tsx +53 -0
  780. package/src/help/ui/HelpToolbarButton.tsx +72 -0
  781. package/src/help/ui/HelpTooltip.tsx +72 -0
  782. package/src/help/ui/index.ts +8 -0
  783. package/src/hooks/ui/index.ts +6 -0
  784. package/src/hooks/ui/listNavigation.ts +116 -0
  785. package/src/hooks/ui/useContainerSize.ts +32 -0
  786. package/src/hooks/ui/useDebouncedValue.ts +29 -0
  787. package/src/hooks/ui/useListKeyboardNavigation.ts +37 -0
  788. package/src/hooks/ui/useResizeObserver.ts +50 -0
  789. package/src/orbital/core/atomicGrid.ts +167 -0
  790. package/src/orbital/core/atomicOrbitals.ts +212 -0
  791. package/src/orbital/core/constants.ts +36 -0
  792. package/src/orbital/core/electronConfiguration.ts +242 -0
  793. package/src/orbital/core/grid.ts +126 -0
  794. package/src/orbital/core/hydrogenic.ts +222 -0
  795. package/src/orbital/core/index.ts +63 -0
  796. package/src/orbital/core/isovalue.ts +146 -0
  797. package/src/orbital/core/numerics.ts +79 -0
  798. package/src/orbital/core/occupancy.ts +100 -0
  799. package/src/orbital/core/palette.ts +56 -0
  800. package/src/orbital/core/realHarmonics.ts +172 -0
  801. package/src/orbital/core/sample.ts +111 -0
  802. package/src/orbital/core/screening.ts +90 -0
  803. package/src/orbital/ui/AtomicOrbitalCanvas.tsx +197 -0
  804. package/src/orbital/ui/AtomicOrbitalViewer.tsx +154 -0
  805. package/src/orbital/ui/camera.ts +125 -0
  806. package/src/orbital/ui/capability.ts +102 -0
  807. package/src/orbital/ui/index.ts +17 -0
  808. package/src/orbital/ui/renderVolume.ts +203 -0
  809. package/src/orbital/ui/viewer.ts +191 -0
  810. package/src/orbital/ui/volumeField.ts +84 -0
  811. package/src/orbital.ts +11 -0
  812. package/src/pedagogy/core/glossary.ts +122 -0
  813. package/src/pedagogy/core/index.ts +28 -0
  814. package/src/pedagogy/core/jsonStorage.ts +51 -0
  815. package/src/pedagogy/core/progress.ts +205 -0
  816. package/src/pedagogy/core/types.ts +78 -0
  817. package/src/pedagogy/core/validation.ts +109 -0
  818. package/src/pedagogy/ui/ExerciseActions.tsx +129 -0
  819. package/src/pedagogy/ui/ExerciseProgressHeader.tsx +135 -0
  820. package/src/pedagogy/ui/ExerciseTags.tsx +85 -0
  821. package/src/pedagogy/ui/GlossaryProvider.tsx +31 -0
  822. package/src/pedagogy/ui/GlossaryText.tsx +164 -0
  823. package/src/pedagogy/ui/HintLadder.tsx +95 -0
  824. package/src/pedagogy/ui/ReferenceGrid.tsx +69 -0
  825. package/src/pedagogy/ui/ReferenceSectionBlock.tsx +175 -0
  826. package/src/pedagogy/ui/SyntaxTooltip.tsx +222 -0
  827. package/src/pedagogy/ui/TestCaseList.tsx +122 -0
  828. package/src/pedagogy/ui/TutorialStepStrip.tsx +230 -0
  829. package/src/pedagogy/ui/exerciseMeta.ts +45 -0
  830. package/src/pedagogy/ui/glossaryContext.ts +23 -0
  831. package/src/pedagogy/ui/index.ts +37 -0
  832. package/src/pedagogy/ui/tutorialLevels.ts +27 -0
  833. package/src/router/core/address.ts +74 -0
  834. package/src/router/core/basePath.ts +76 -0
  835. package/src/router/core/index.ts +26 -0
  836. package/src/router/core/legacyHash.ts +77 -0
  837. package/src/router/core/pageAddresses.ts +106 -0
  838. package/src/router/core/query.ts +87 -0
  839. package/src/router/core/tabRouter.ts +214 -0
  840. package/src/seo/core/documentMeta.ts +92 -0
  841. package/src/seo/core/index.ts +6 -0
  842. package/src/share/core/config.ts +165 -0
  843. package/src/share/core/escape.ts +22 -0
  844. package/src/share/core/index.ts +31 -0
  845. package/src/share/core/params.ts +176 -0
  846. package/src/share/core/query.ts +72 -0
  847. package/src/share/core/url.ts +105 -0
  848. package/src/share/core/vocabulary.ts +60 -0
  849. package/src/share/ui/HiddenPartsProvider.tsx +34 -0
  850. package/src/share/ui/PagePart.tsx +26 -0
  851. package/src/share/ui/ShareButton.tsx +84 -0
  852. package/src/share/ui/ShareDialog.tsx +114 -0
  853. package/src/share/ui/ShareDialogContent.tsx +189 -0
  854. package/src/share/ui/SharePartOptions.tsx +51 -0
  855. package/src/share/ui/draft.ts +19 -0
  856. package/src/share/ui/hiddenParts.ts +22 -0
  857. package/src/share/ui/index.ts +9 -0
  858. package/src/shared/ui/index.ts +2 -1
  859. package/src/state/ui/index.ts +6 -0
  860. package/src/state/ui/mergeStored.ts +87 -0
  861. package/src/state/ui/persistBucket.ts +147 -0
  862. package/src/structure/core/editorValue.ts +116 -0
  863. package/src/structure/core/fragmentQuery.ts +50 -0
  864. package/src/structure/core/index.ts +13 -0
  865. package/src/structure/core/molfile.ts +90 -0
  866. package/src/structure/core/readStructure.ts +73 -0
  867. package/src/structure/core/structureSource.ts +57 -0
  868. package/src/structure/core/toolbarFloor.ts +31 -0
  869. package/src/structure/ui/EditorCanvas.tsx +130 -0
  870. package/src/structure/ui/Structure.tsx +183 -0
  871. package/src/structure/ui/StructureEditor.tsx +196 -0
  872. package/src/structure/ui/StructurePlaceholder.tsx +48 -0
  873. package/src/structure/ui/StructureSvg.tsx +110 -0
  874. package/src/structure/ui/index.ts +22 -0
  875. package/src/structure/ui/useToolbarFloor.ts +93 -0
  876. package/src/structure.ts +2 -0
  877. package/src/ui.ts +13 -0
  878. package/src/worker/core/errors.ts +15 -0
  879. package/src/worker/core/index.ts +8 -0
  880. package/src/worker/core/messages.ts +47 -0
  881. package/src/worker/core/workerChannel.ts +218 -0
  882. package/styles/chrome.css +223 -0
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Read a query string into its pairs, in the order it wrote them.
3
+ *
4
+ * A `+` is a plus, not a space: a link carries structures such as
5
+ * `CC[N+](C)(C)C`, and the form-urlencoded reading of `+` would turn one into
6
+ * a different molecule without anything failing. A malformed escape is kept as
7
+ * written rather than throwing, so a link somebody retyped still opens.
8
+ * @param search - The query string, with or without its leading `?`, and without a fragment.
9
+ * @returns The pairs, decoded.
10
+ */
11
+ export function parseQuery(search) {
12
+ const text = search.startsWith('?') ? search.slice(1) : search;
13
+ const entries = [];
14
+ if (text === '')
15
+ return entries;
16
+ for (const chunk of text.split('&')) {
17
+ if (chunk === '')
18
+ continue;
19
+ const separator = chunk.indexOf('=');
20
+ const key = separator === -1 ? chunk : chunk.slice(0, separator);
21
+ const value = separator === -1 ? '' : chunk.slice(separator + 1);
22
+ entries.push([decodeComponent(key), decodeComponent(value)]);
23
+ }
24
+ return entries;
25
+ }
26
+ /**
27
+ * Write pairs back into a query string, keeping the two characters a reader
28
+ * of these links cares about legible: a comma stays a comma rather than
29
+ * `%2C`, and a plus stays a plus rather than `%2B`. Both parse back
30
+ * identically through {@link parseQuery}.
31
+ * @param entries - The pairs to write, in the order they should appear.
32
+ * @returns The query string, without its leading `?`.
33
+ */
34
+ export function serializeQuery(entries) {
35
+ const chunks = [];
36
+ for (const [key, value] of entries) {
37
+ chunks.push(`${encodeComponent(key)}=${encodeComponent(value)}`);
38
+ }
39
+ return chunks.join('&');
40
+ }
41
+ /**
42
+ * The first value each key carries, which is what a link means when it names
43
+ * the same parameter twice.
44
+ * @param entries - The pairs of a query string.
45
+ * @returns One value per key.
46
+ */
47
+ export function firstValues(entries) {
48
+ const values = new Map();
49
+ for (const [key, value] of entries) {
50
+ if (!values.has(key))
51
+ values.set(key, value);
52
+ }
53
+ return values;
54
+ }
55
+ function decodeComponent(value) {
56
+ try {
57
+ return decodeURIComponent(value);
58
+ }
59
+ catch {
60
+ return value;
61
+ }
62
+ }
63
+ function encodeComponent(value) {
64
+ return encodeURIComponent(value)
65
+ .replaceAll('%2C', ',')
66
+ .replaceAll('%2B', '+');
67
+ }
68
+ //# sourceMappingURL=query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/share/core/query.ts"],"names":[],"mappings":"AAGA;;;;;;;;;GASG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC/D,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,OAAO,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACpC,IAAI,KAAK,KAAK,EAAE;YAAE,SAAS;QAC3B,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACrC,MAAM,GAAG,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAAC,OAA8B;IAC3D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,OAA8B;IAE9B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,IAAI,CAAC;QACH,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,kBAAkB,CAAC,KAAK,CAAC;SAC7B,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC;SACtB,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAC5B,CAAC"}
@@ -0,0 +1,57 @@
1
+ import type { ShareConfig } from './config.ts';
2
+ import type { ShareParamCodecs, ShareVocabulary } from './vocabulary.ts';
3
+ /** What {@link buildShareUrl} needs to write a link. */
4
+ export interface ShareUrlOptions<Codecs extends ShareParamCodecs = Record<string, never>> {
5
+ /**
6
+ * Where the page is served from — origin and path. Anything from the first
7
+ * `?` or `#` is dropped, so the current address can be handed over as it is.
8
+ */
9
+ base: string;
10
+ /**
11
+ * The address as it stands, so the tool's own inputs travel with the link.
12
+ * @default ''
13
+ */
14
+ search?: string;
15
+ /** The configuration the link carries. */
16
+ config: ShareConfig<Codecs>;
17
+ /** What this site's links can say. */
18
+ vocabulary: ShareVocabulary<Codecs>;
19
+ }
20
+ /**
21
+ * The absolute link the share dialog hands out: the page, the tool's own
22
+ * inputs, and the configuration written over whatever the address carried.
23
+ * @param options - Where the page is, what it is showing, and how it is configured.
24
+ * @returns An absolute URL.
25
+ */
26
+ export declare function buildShareUrl<Codecs extends ShareParamCodecs = Record<string, never>>(options: ShareUrlOptions<Codecs>): string;
27
+ /** What {@link buildEmbedCode} needs to write the snippet. */
28
+ export interface EmbedCodeOptions {
29
+ /** The link the frame loads. */
30
+ url: string;
31
+ /** What a screen reader announces the frame as; a frame without one is unreadable. */
32
+ title: string;
33
+ /**
34
+ * Height of the frame, in pixels.
35
+ * @default 700
36
+ */
37
+ height?: number;
38
+ /**
39
+ * Width of the frame; a number is taken as pixels.
40
+ * @default '100%'
41
+ */
42
+ width?: number | string;
43
+ /**
44
+ * The CSS border the frame is drawn with.
45
+ * @default '1px solid #ddd'
46
+ */
47
+ border?: string;
48
+ }
49
+ /**
50
+ * The snippet to paste into a course page: one iframe loading the shared link.
51
+ * Every value is escaped, so an address carrying an ampersand or a title
52
+ * carrying a quote cannot break out of its attribute.
53
+ * @param options - The link, its accessible name and the frame's dimensions.
54
+ * @returns One line of HTML.
55
+ */
56
+ export declare function buildEmbedCode(options: EmbedCodeOptions): string;
57
+ //# sourceMappingURL=url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../src/share/core/url.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEzE,wDAAwD;AACxD,MAAM,WAAW,eAAe,CAC9B,MAAM,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAEvD;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,sCAAsC;IACtC,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;CACrC;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,MAAM,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACvD,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,MAAM,CAK1C;AAED,8DAA8D;AAC9D,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,sFAAsF;IACtF,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAiBhE"}
@@ -0,0 +1,49 @@
1
+ import { applyShareConfig } from "./config.js";
2
+ import { escapeAttribute } from "./escape.js";
3
+ /**
4
+ * The absolute link the share dialog hands out: the page, the tool's own
5
+ * inputs, and the configuration written over whatever the address carried.
6
+ * @param options - Where the page is, what it is showing, and how it is configured.
7
+ * @returns An absolute URL.
8
+ */
9
+ export function buildShareUrl(options) {
10
+ const { base, search = '', config, vocabulary } = options;
11
+ const query = applyShareConfig(search, config, vocabulary);
12
+ const address = trimAddress(base);
13
+ return query === '' ? address : `${address}?${query}`;
14
+ }
15
+ /**
16
+ * The snippet to paste into a course page: one iframe loading the shared link.
17
+ * Every value is escaped, so an address carrying an ampersand or a title
18
+ * carrying a quote cannot break out of its attribute.
19
+ * @param options - The link, its accessible name and the frame's dimensions.
20
+ * @returns One line of HTML.
21
+ */
22
+ export function buildEmbedCode(options) {
23
+ const { url, title, height = DEFAULT_HEIGHT, width = '100%', border = '1px solid #ddd', } = options;
24
+ const style = `border: ${border}; border-radius: 8px`;
25
+ return [
26
+ `<iframe src="${escapeAttribute(url)}"`,
27
+ `title="${escapeAttribute(title)}"`,
28
+ `width="${escapeAttribute(formatWidth(width))}"`,
29
+ `height="${formatHeight(height)}"`,
30
+ `style="${escapeAttribute(style)}"`,
31
+ 'loading="lazy"></iframe>',
32
+ ].join(' ');
33
+ }
34
+ const DEFAULT_HEIGHT = 700;
35
+ function trimAddress(base) {
36
+ const cut = base.search(/[#?]/);
37
+ return cut === -1 ? base : base.slice(0, cut);
38
+ }
39
+ function formatWidth(width) {
40
+ if (typeof width !== 'number')
41
+ return width;
42
+ return String(Math.max(1, Math.round(width)));
43
+ }
44
+ function formatHeight(height) {
45
+ if (!Number.isFinite(height))
46
+ return String(DEFAULT_HEIGHT);
47
+ return String(Math.max(1, Math.round(height)));
48
+ }
49
+ //# sourceMappingURL=url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.js","sourceRoot":"","sources":["../../../src/share/core/url.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAuB9C;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAE3B,OAAgC;IAChC,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IAC1D,MAAM,KAAK,GAAG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,KAAK,EAAE,CAAC;AACxD,CAAC;AAyBD;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,OAAyB;IACtD,MAAM,EACJ,GAAG,EACH,KAAK,EACL,MAAM,GAAG,cAAc,EACvB,KAAK,GAAG,MAAM,EACd,MAAM,GAAG,gBAAgB,GAC1B,GAAG,OAAO,CAAC;IACZ,MAAM,KAAK,GAAG,WAAW,MAAM,sBAAsB,CAAC;IACtD,OAAO;QACL,gBAAgB,eAAe,CAAC,GAAG,CAAC,GAAG;QACvC,UAAU,eAAe,CAAC,KAAK,CAAC,GAAG;QACnC,UAAU,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,GAAG;QAChD,WAAW,YAAY,CAAC,MAAM,CAAC,GAAG;QAClC,UAAU,eAAe,CAAC,KAAK,CAAC,GAAG;QACnC,0BAA0B;KAC3B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,MAAM,cAAc,GAAG,GAAG,CAAC;AAE3B,SAAS,WAAW,CAAC,IAAY;IAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,WAAW,CAAC,KAAsB;IACzC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAChD,CAAC;AAED,SAAS,YAAY,CAAC,MAAc;IAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC;IAC5D,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC"}
@@ -0,0 +1,51 @@
1
+ import type { ShareParamCodec } from './params.ts';
2
+ /**
3
+ * A part of a page a shared link can switch off through `?hide=`.
4
+ *
5
+ * The label is written positively — the dialog shows a ticked box for a part
6
+ * that stays visible — and the description says what switching it off does,
7
+ * for the person building the link rather than for the visitor.
8
+ */
9
+ export interface HideablePart {
10
+ /** The name this part takes in `?hide=`, in lowerCamelCase. */
11
+ key: string;
12
+ /** How the part is named in the dialog. */
13
+ label: string;
14
+ /** What hiding it does. */
15
+ description: string;
16
+ /**
17
+ * Whether the dialog starts with this part already switched off, because it
18
+ * is noise inside somebody else's page.
19
+ * @default false
20
+ */
21
+ hiddenByDefault?: boolean;
22
+ }
23
+ /**
24
+ * The codecs of a tool's own parameters, keyed by the name each takes in the
25
+ * query string.
26
+ */
27
+ export type ShareParamCodecs = Readonly<Record<string, ShareParamCodec<unknown>>>;
28
+ /** The value each codec of a set reads and writes. */
29
+ export type ShareParamValues<Codecs extends ShareParamCodecs> = {
30
+ [Key in keyof Codecs]: Codecs[Key] extends ShareParamCodec<infer Value> ? Value : never;
31
+ };
32
+ /**
33
+ * Everything one site's links can say: the parts they can switch off, and the
34
+ * typed parameters they carry beyond `embed` and `hide`.
35
+ *
36
+ * This is the only place that knows those names. A key it does not list is a
37
+ * tool input, left alone by every function here.
38
+ */
39
+ export interface ShareVocabulary<Codecs extends ShareParamCodecs = Record<string, never>> {
40
+ /**
41
+ * The hideable parts, in the order `?hide=` and the dialog list them, so one
42
+ * selection always produces one link.
43
+ */
44
+ parts: readonly HideablePart[];
45
+ /**
46
+ * The tool's own parameters — a series length, a zoom, a seed.
47
+ * @default {}
48
+ */
49
+ params?: Codecs;
50
+ }
51
+ //# sourceMappingURL=vocabulary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocabulary.d.ts","sourceRoot":"","sources":["../../../src/share/core/vocabulary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,+DAA+D;IAC/D,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CACrC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CACzC,CAAC;AAEF,sDAAsD;AACtD,MAAM,MAAM,gBAAgB,CAAC,MAAM,SAAS,gBAAgB,IAAI;KAC7D,GAAG,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,SAAS,eAAe,CAAC,MAAM,KAAK,CAAC,GACnE,KAAK,GACL,KAAK;CACV,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,WAAW,eAAe,CAC9B,MAAM,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAEvD;;;OAGG;IACH,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=vocabulary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocabulary.js","sourceRoot":"","sources":["../../../src/share/core/vocabulary.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import type { ReactElement, ReactNode } from 'react';
2
+ export interface HiddenPartsProviderProps {
3
+ /**
4
+ * The parts the link switches off — the `hidden` of the parsed
5
+ * configuration.
6
+ * @default [] — nothing is switched off
7
+ */
8
+ hidden?: readonly string[];
9
+ /** The page, and everything in it that may ask what is hidden. */
10
+ children: ReactNode;
11
+ }
12
+ /**
13
+ * Put the configuration of the current link where every part of the page can
14
+ * read it, so nothing has to be threaded through props.
15
+ * @param props - The parts the link switches off, and the page.
16
+ * @returns The page, under the configuration.
17
+ */
18
+ export declare function HiddenPartsProvider(props: HiddenPartsProviderProps): ReactElement;
19
+ //# sourceMappingURL=HiddenPartsProvider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HiddenPartsProvider.d.ts","sourceRoot":"","sources":["../../../src/share/ui/HiddenPartsProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKrD,MAAM,WAAW,wBAAwB;IACvC;;;;OAIG;IACH,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,kEAAkE;IAClE,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,wBAAwB,GAC9B,YAAY,CASd"}
@@ -0,0 +1,15 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useMemo } from 'react';
3
+ import { HiddenPartsContext } from "./hiddenParts.js";
4
+ /**
5
+ * Put the configuration of the current link where every part of the page can
6
+ * read it, so nothing has to be threaded through props.
7
+ * @param props - The parts the link switches off, and the page.
8
+ * @returns The page, under the configuration.
9
+ */
10
+ export function HiddenPartsProvider(props) {
11
+ const { hidden, children } = props;
12
+ const parts = useMemo(() => new Set(hidden), [hidden]);
13
+ return (_jsx(HiddenPartsContext.Provider, { value: parts, children: children }));
14
+ }
15
+ //# sourceMappingURL=HiddenPartsProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HiddenPartsProvider.js","sourceRoot":"","sources":["../../../src/share/ui/HiddenPartsProvider.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAatD;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,KAA+B;IAE/B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvD,OAAO,CACL,KAAC,kBAAkB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACtC,QAAQ,GACmB,CAC/B,CAAC;AACJ,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface PagePartProps {
3
+ /** The name this region takes in `?hide=`. */
4
+ part: string;
5
+ /** What the region draws. */
6
+ children: ReactNode;
7
+ }
8
+ /**
9
+ * A region of the page a shared link may leave out.
10
+ *
11
+ * A switched-off part is dropped from the tree rather than hidden with CSS: an
12
+ * embedded figure must not mount a 3D canvas, or run a search, for a panel
13
+ * nobody will see.
14
+ * @param props - Which region this is, and what it draws.
15
+ * @returns The children, or nothing.
16
+ */
17
+ export declare function PagePart(props: PagePartProps): ReactNode;
18
+ //# sourceMappingURL=PagePart.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PagePart.d.ts","sourceRoot":"","sources":["../../../src/share/ui/PagePart.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,CAKxD"}
@@ -0,0 +1,16 @@
1
+ import { useIsHidden } from "./hiddenParts.js";
2
+ /**
3
+ * A region of the page a shared link may leave out.
4
+ *
5
+ * A switched-off part is dropped from the tree rather than hidden with CSS: an
6
+ * embedded figure must not mount a 3D canvas, or run a search, for a panel
7
+ * nobody will see.
8
+ * @param props - Which region this is, and what it draws.
9
+ * @returns The children, or nothing.
10
+ */
11
+ export function PagePart(props) {
12
+ const { part, children } = props;
13
+ const isHidden = useIsHidden();
14
+ return isHidden(part) ? null : children;
15
+ }
16
+ //# sourceMappingURL=PagePart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PagePart.js","sourceRoot":"","sources":["../../../src/share/ui/PagePart.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAS/C;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAoB;IAC3C,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACjC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC;AAC1C,CAAC"}
@@ -0,0 +1,42 @@
1
+ import type { ReactElement } from 'react';
2
+ /** How the button is dressed for the bar it sits in. */
3
+ export type ShareButtonVariant = 'nav-link' | 'blueprint';
4
+ export interface ShareButtonProps {
5
+ /** Called when the button is pressed; what it opens is the caller's business. */
6
+ onClick: () => void;
7
+ /**
8
+ * A plain entry of a site's own header bar, or a Blueprint button for a
9
+ * toolbar already made of them.
10
+ * @default 'nav-link'
11
+ */
12
+ variant?: ShareButtonVariant;
13
+ /**
14
+ * Text of the button, and what a screen reader is told.
15
+ * @default 'Share'
16
+ */
17
+ label?: string;
18
+ /**
19
+ * Whether the button is reduced to its icon, for a bar that has run out of
20
+ * room. It is still named to the pointer and to a screen reader.
21
+ * @default false
22
+ */
23
+ compact?: boolean;
24
+ /**
25
+ * What the pointer is told.
26
+ * @default 'Share a link to this page, or embed it in your own site'
27
+ */
28
+ title?: string;
29
+ /**
30
+ * Class the button carries, on top of the one its variant gives it.
31
+ * @default undefined
32
+ */
33
+ className?: string;
34
+ }
35
+ /**
36
+ * The Share entry of a site header: the button that offers the open page as a
37
+ * link, or as the iframe that frames it in someone else's site.
38
+ * @param props - What the button does, how it is dressed, and how it is named.
39
+ * @returns The button.
40
+ */
41
+ export declare function ShareButton(props: ShareButtonProps): ReactElement;
42
+ //# sourceMappingURL=ShareButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShareButton.d.ts","sourceRoot":"","sources":["../../../src/share/ui/ShareButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAI1C,wDAAwD;AACxD,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,WAAW,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,CAqCjE"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button, Icon } from '@blueprintjs/core';
3
+ const SHARE_TITLE = 'Share a link to this page, or embed it in your own site';
4
+ /**
5
+ * The Share entry of a site header: the button that offers the open page as a
6
+ * link, or as the iframe that frames it in someone else's site.
7
+ * @param props - What the button does, how it is dressed, and how it is named.
8
+ * @returns The button.
9
+ */
10
+ export function ShareButton(props) {
11
+ const { onClick, variant = 'nav-link', label = 'Share', compact = false, title = SHARE_TITLE, className, } = props;
12
+ const text = compact ? undefined : label;
13
+ if (variant === 'blueprint') {
14
+ return (_jsx(Button, { className: className, variant: "minimal", icon: "share", text: text, title: title, "aria-label": label, onClick: onClick }));
15
+ }
16
+ return (_jsxs("button", { type: "button", className: className === undefined ? 'nav-link' : `nav-link ${className}`, title: title, "aria-label": label, onClick: onClick, children: [_jsx(Icon, { icon: "share", size: 14 }), text] }));
17
+ }
18
+ //# sourceMappingURL=ShareButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShareButton.js","sourceRoot":"","sources":["../../../src/share/ui/ShareButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGjD,MAAM,WAAW,GAAG,yDAAyD,CAAC;AAqC9E;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EACJ,OAAO,EACP,OAAO,GAAG,UAAU,EACpB,KAAK,GAAG,OAAO,EACf,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,WAAW,EACnB,SAAS,GACV,GAAG,KAAK,CAAC;IACV,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAEzC,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,OAAO,CACL,KAAC,MAAM,IACL,SAAS,EAAE,SAAS,EACpB,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,KAAK,gBACA,KAAK,EACjB,OAAO,EAAE,OAAO,GAChB,CACH,CAAC;IACJ,CAAC;IAED,OAAO,CACL,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,SAAS,EAAE,EACzE,KAAK,EAAE,KAAK,gBACA,KAAK,EACjB,OAAO,EAAE,OAAO,aAEhB,KAAC,IAAI,IAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAE,EAAE,GAAI,EAC9B,IAAI,IACE,CACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,73 @@
1
+ import type { ReactElement, ReactNode } from 'react';
2
+ import type { ShareConfig, ShareParamCodecs, ShareParamValues, ShareVocabulary } from '../core/index.ts';
3
+ /**
4
+ * The configuration the dialog is holding, handed to a tool-specific section so
5
+ * it can read it and change it.
6
+ */
7
+ export interface ShareDraft<Codecs extends ShareParamCodecs = Record<string, never>> {
8
+ /** What the link would say if it were handed out now. */
9
+ config: ShareConfig<Codecs>;
10
+ /** Frame the page, or give it its chrome back. */
11
+ setEmbed: (embed: boolean) => void;
12
+ /** Switch one part of the page off, or on again. */
13
+ setPartHidden: (part: string, hidden: boolean) => void;
14
+ /** Give one of the tool's own parameters a new value. */
15
+ setParam: <Key extends keyof ShareParamValues<Codecs>>(key: Key, value: ShareParamValues<Codecs>[Key]) => void;
16
+ }
17
+ export interface ShareDialogProps<Codecs extends ShareParamCodecs = Record<string, never>> {
18
+ /** Whether the dialog is on screen. */
19
+ isOpen: boolean;
20
+ /** Called when the dialog is dismissed. */
21
+ onClose: () => void;
22
+ /** What this site's links can say: the hideable parts, and the tool's own parameters. */
23
+ vocabulary: ShareVocabulary<Codecs>;
24
+ /** How the open page is named in the dialog, and in the frame. */
25
+ title: string;
26
+ /**
27
+ * Where the page is served from — origin and path. Anything from the first
28
+ * `?` or `#` is dropped, so an address can be handed over as it is.
29
+ * @default the address of the page
30
+ */
31
+ baseUrl?: string;
32
+ /**
33
+ * The address as it stands, so the tool's own inputs travel with the link and
34
+ * a page already running a configuration opens on that one.
35
+ * @default the query string of the page
36
+ */
37
+ search?: string;
38
+ /**
39
+ * What a screen reader announces the frame as. A frame in someone else's page
40
+ * is usually named after the site as well as the page.
41
+ * @default the title
42
+ */
43
+ frameTitle?: string;
44
+ /**
45
+ * Height of the frame, in pixels.
46
+ * @default 700
47
+ */
48
+ frameHeight?: number;
49
+ /**
50
+ * Whether the dialog is rendered through a portal on `document.body`.
51
+ * @default true
52
+ */
53
+ usePortal?: boolean;
54
+ /**
55
+ * An extra section for what only this tool can configure — a series length, a
56
+ * difficulty, a seed. A function is handed the draft, so such a section can
57
+ * write the tool's own parameters into the link.
58
+ * @default undefined — the dialog shows the sections every site shares
59
+ */
60
+ children?: ReactNode | ((draft: ShareDraft<Codecs>) => ReactNode);
61
+ }
62
+ /**
63
+ * Hand the open page out as a link, or as the iframe that frames it in someone
64
+ * else's site.
65
+ *
66
+ * The dialog opens on the link one actually hands out: framed, and with the
67
+ * parts a host page has no use for already switched off. A page that is itself
68
+ * running a configuration shows that one instead.
69
+ * @param props - Whether the dialog is open, what the site's links can say, and how the page is named.
70
+ * @returns The dialog.
71
+ */
72
+ export declare function ShareDialog<Codecs extends ShareParamCodecs = Record<string, never>>(props: ShareDialogProps<Codecs>): ReactElement;
73
+ //# sourceMappingURL=ShareDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShareDialog.d.ts","sourceRoot":"","sources":["../../../src/share/ui/ShareDialog.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAM1B;;;GAGG;AACH,MAAM,WAAW,UAAU,CACzB,MAAM,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAEvD,yDAAyD;IACzD,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,kDAAkD;IAClD,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,oDAAoD;IACpD,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,yDAAyD;IACzD,QAAQ,EAAE,CAAC,GAAG,SAAS,MAAM,gBAAgB,CAAC,MAAM,CAAC,EACnD,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,KACjC,IAAI,CAAC;CACX;AAED,MAAM,WAAW,gBAAgB,CAC/B,MAAM,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IAEvD,uCAAuC;IACvC,MAAM,EAAE,OAAO,CAAC;IAChB,2CAA2C;IAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,yFAAyF;IACzF,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACpC,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC;CACnE;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,MAAM,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACvD,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,GAAG,YAAY,CAmB/C"}
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Dialog } from '@blueprintjs/core';
3
+ import { ShareDialogContent } from "./ShareDialogContent.js";
4
+ const DIALOG_STYLE = { width: 'min(680px, 94vw)' };
5
+ /**
6
+ * Hand the open page out as a link, or as the iframe that frames it in someone
7
+ * else's site.
8
+ *
9
+ * The dialog opens on the link one actually hands out: framed, and with the
10
+ * parts a host page has no use for already switched off. A page that is itself
11
+ * running a configuration shows that one instead.
12
+ * @param props - Whether the dialog is open, what the site's links can say, and how the page is named.
13
+ * @returns The dialog.
14
+ */
15
+ export function ShareDialog(props) {
16
+ const { isOpen, onClose, usePortal = true, ...rest } = props;
17
+ return (_jsx(Dialog, { isOpen: isOpen, onClose: onClose, usePortal: usePortal, title: "Share or embed", icon: "share", className: "share-dialog", style: DIALOG_STYLE, children: isOpen ? _jsx(ShareDialogContent, { ...rest, onClose: onClose }) : null }));
18
+ }
19
+ //# sourceMappingURL=ShareDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShareDialog.js","sourceRoot":"","sources":["../../../src/share/ui/ShareDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAU3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAA0B,CAAC;AAE9D,MAAM,YAAY,GAAkB,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;AAsElE;;;;;;;;;GASG;AACH,MAAM,UAAU,WAAW,CAEzB,KAA+B;IAC/B,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IAE7D,OAAO,CACL,KAAC,MAAM,IACL,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAC,gBAAgB,EACtB,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,cAAc,EACxB,KAAK,EAAE,YAAY,YAKlB,MAAM,CAAC,CAAC,CAAC,KAAC,kBAAkB,OAAK,IAAI,EAAE,OAAO,EAAE,OAAO,GAAI,CAAC,CAAC,CAAC,IAAI,GAC5D,CACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { ReactElement } from 'react';
2
+ import type { ShareParamCodecs } from '../core/index.ts';
3
+ import type { ShareDialogProps } from './ShareDialog.tsx';
4
+ /** Everything the dialog holds, minus what only its shell is concerned with. */
5
+ export type ShareDialogContentProps<Codecs extends ShareParamCodecs = Record<string, never>> = Omit<ShareDialogProps<Codecs>, 'isOpen' | 'usePortal'>;
6
+ /**
7
+ * The sections of the share dialog: what the link says, what it hands out, and
8
+ * the markup that frames it.
9
+ * @param props - What the site's links can say, how the page is named, and the extra section.
10
+ * @returns The body and the footer of the dialog.
11
+ */
12
+ export declare function ShareDialogContent<Codecs extends ShareParamCodecs = Record<string, never>>(props: ShareDialogContentProps<Codecs>): ReactElement;
13
+ //# sourceMappingURL=ShareDialogContent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShareDialogContent.d.ts","sourceRoot":"","sources":["../../../src/share/ui/ShareDialogContent.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAIzD,OAAO,KAAK,EAEV,gBAAgB,EAGjB,MAAM,kBAAkB,CAAC;AAS1B,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,mBAAmB,CAAC;AAmBtE,gFAAgF;AAChF,MAAM,MAAM,uBAAuB,CACjC,MAAM,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IACrD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC,CAAC;AAE3D;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,SAAS,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EACvD,KAAK,EAAE,uBAAuB,CAAC,MAAM,CAAC,GAAG,YAAY,CAwHtD"}
@@ -0,0 +1,71 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { AnchorButton, Button, Checkbox, DialogBody, DialogFooter, H6, } from '@blueprintjs/core';
3
+ import { useState } from 'react';
4
+ import { CodeBlock, CopyButton } from "../../clipboard/ui/index.js";
5
+ import { buildEmbedCode, buildShareUrl, isShareConfigured, parseShareConfig, suggestedShareConfig, } from "../core/index.js";
6
+ import { SharePartOptions } from "./SharePartOptions.js";
7
+ import { withPart } from "./draft.js";
8
+ const LEAD_STYLE = { marginTop: 0, color: '#5b6875' };
9
+ const SECTION_STYLE = { marginBottom: 18 };
10
+ const ACTIONS_STYLE = {
11
+ display: 'flex',
12
+ flexWrap: 'wrap',
13
+ gap: 8,
14
+ marginTop: 8,
15
+ };
16
+ const HINT_STYLE = {
17
+ display: 'block',
18
+ marginLeft: 26,
19
+ color: '#5b6875',
20
+ fontSize: 12,
21
+ };
22
+ /**
23
+ * The sections of the share dialog: what the link says, what it hands out, and
24
+ * the markup that frames it.
25
+ * @param props - What the site's links can say, how the page is named, and the extra section.
26
+ * @returns The body and the footer of the dialog.
27
+ */
28
+ export function ShareDialogContent(props) {
29
+ const { onClose, vocabulary, title, baseUrl, search, frameTitle, frameHeight, children, } = props;
30
+ const address = globalThis.location;
31
+ const base = baseUrl ?? address?.href ?? '';
32
+ const query = search ?? address?.search ?? '';
33
+ const [config, setConfig] = useState(() => initialDraft(query, vocabulary));
34
+ function setEmbed(embed) {
35
+ setConfig((previous) => ({ ...previous, embed }));
36
+ }
37
+ function setPartHidden(part, hidden) {
38
+ setConfig((previous) => ({
39
+ ...previous,
40
+ hidden: withPart(previous.hidden, part, hidden),
41
+ }));
42
+ }
43
+ function setParam(key, value) {
44
+ setConfig((previous) => ({
45
+ ...previous,
46
+ params: { ...previous.params, [key]: value },
47
+ }));
48
+ }
49
+ const draft = {
50
+ config,
51
+ setEmbed,
52
+ setPartHidden,
53
+ setParam,
54
+ };
55
+ const url = buildShareUrl({ base, search: query, config, vocabulary });
56
+ const frame = buildEmbedCode({
57
+ url,
58
+ title: frameTitle ?? title,
59
+ height: frameHeight,
60
+ });
61
+ return (_jsxs(_Fragment, { children: [_jsxs(DialogBody, { children: [_jsxs("p", { style: LEAD_STYLE, children: ["A link to ", _jsx("b", { children: title }), " as you have it set up now."] }), _jsxs("section", { className: "share-section", style: SECTION_STYLE, children: [_jsx(H6, { children: "Layout" }), _jsx(Checkbox, { checked: config.embed, label: "Embed in another page", onChange: (event) => {
62
+ setEmbed(event.currentTarget.checked);
63
+ } }), _jsx("span", { style: HINT_STYLE, children: "Drops the site header and its navigation, so the page sits inside a page of your own." })] }), vocabulary.parts.length > 0 ? (_jsxs("section", { className: "share-section", style: SECTION_STYLE, children: [_jsx(H6, { children: "Show on the page" }), _jsx(SharePartOptions, { parts: vocabulary.parts, hidden: config.hidden, onChange: setPartHidden })] })) : null, children === undefined ? null : (_jsx("section", { className: "share-section", style: SECTION_STYLE, children: typeof children === 'function' ? children(draft) : children })), _jsxs("section", { className: "share-section", style: SECTION_STYLE, children: [_jsx(H6, { children: "Link" }), _jsx(CodeBlock, { code: url, tone: "muted" }), _jsxs("div", { style: ACTIONS_STYLE, children: [_jsx(CopyButton, { content: url, label: "Copy the link" }), _jsx(AnchorButton, { icon: "share", text: "Open in a new tab", href: url, target: "_blank", rel: "noopener noreferrer" })] })] }), _jsxs("section", { className: "share-section", style: SECTION_STYLE, children: [_jsx(H6, { children: "Iframe" }), _jsx(CodeBlock, { code: frame, tone: "muted" }), _jsx("div", { style: ACTIONS_STYLE, children: _jsx(CopyButton, { content: frame, label: "Copy the iframe" }) })] })] }), _jsx(DialogFooter, { actions: _jsx(Button, { intent: "primary", text: "Done", onClick: onClose }) })] }));
64
+ }
65
+ function initialDraft(search, vocabulary) {
66
+ const current = parseShareConfig(search, vocabulary);
67
+ return isShareConfigured(current, vocabulary)
68
+ ? current
69
+ : suggestedShareConfig(vocabulary);
70
+ }
71
+ //# sourceMappingURL=ShareDialogContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShareDialogContent.js","sourceRoot":"","sources":["../../../src/share/ui/ShareDialogContent.tsx"],"names":[],"mappings":"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"}