@curvenote/theme-ui 2.0.1 → 2.0.2

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 (252) hide show
  1. package/dist/components/index.d.ts +3 -3
  2. package/dist/components/index.d.ts.map +1 -1
  3. package/dist/components/index.js +3 -3
  4. package/dist/components/layout/app-layout.d.ts +3 -3
  5. package/dist/components/layout/app-layout.d.ts.map +1 -1
  6. package/dist/components/layout/app-layout.js +19 -15
  7. package/dist/components/layout/app-sidebar.d.ts +2 -1
  8. package/dist/components/layout/app-sidebar.d.ts.map +1 -1
  9. package/dist/components/layout/app-sidebar.js +8 -8
  10. package/dist/components/layout/article-layout.d.ts +3 -3
  11. package/dist/components/layout/article-layout.d.ts.map +1 -1
  12. package/dist/components/layout/article-layout.js +17 -10
  13. package/dist/components/layout/grid.d.ts +1 -1
  14. package/dist/components/layout/grid.d.ts.map +1 -1
  15. package/dist/components/layout/header.d.ts +5 -3
  16. package/dist/components/layout/header.d.ts.map +1 -1
  17. package/dist/components/layout/header.js +6 -3
  18. package/dist/components/layout/index.d.ts +7 -7
  19. package/dist/components/layout/index.d.ts.map +1 -1
  20. package/dist/components/layout/index.js +7 -7
  21. package/dist/components/layout/layout-header.d.ts +9 -0
  22. package/dist/components/layout/layout-header.d.ts.map +1 -0
  23. package/dist/components/layout/layout-header.js +13 -0
  24. package/dist/components/layout/loading-bar.d.ts +1 -1
  25. package/dist/components/layout/loading-bar.d.ts.map +1 -1
  26. package/dist/components/layout/loading-bar.js +1 -1
  27. package/dist/components/layout/site-header.d.ts +1 -1
  28. package/dist/components/layout/site-header.d.ts.map +1 -1
  29. package/dist/components/layout/site-header.js +18 -8
  30. package/dist/components/layout/types.d.ts +6 -0
  31. package/dist/components/layout/types.d.ts.map +1 -1
  32. package/dist/components/providers/analytics-boundary.d.ts +1 -1
  33. package/dist/components/providers/analytics-boundary.d.ts.map +1 -1
  34. package/dist/components/providers/analytics-boundary.js +3 -3
  35. package/dist/components/providers/analytics-dev-tray.d.ts +1 -1
  36. package/dist/components/providers/analytics-dev-tray.d.ts.map +1 -1
  37. package/dist/components/providers/analytics-dev-tray.js +3 -3
  38. package/dist/components/providers/article-versions-provider.d.ts +1 -1
  39. package/dist/components/providers/article-versions-provider.d.ts.map +1 -1
  40. package/dist/components/providers/compute.d.ts +1 -1
  41. package/dist/components/providers/compute.d.ts.map +1 -1
  42. package/dist/components/providers/curvenote-providers.d.ts +14 -18
  43. package/dist/components/providers/curvenote-providers.d.ts.map +1 -1
  44. package/dist/components/providers/curvenote-providers.js +10 -10
  45. package/dist/components/providers/design.d.ts +1 -1
  46. package/dist/components/providers/design.d.ts.map +1 -1
  47. package/dist/components/providers/design.js +2 -1
  48. package/dist/components/providers/index.d.ts +11 -11
  49. package/dist/components/providers/index.d.ts.map +1 -1
  50. package/dist/components/providers/index.js +11 -11
  51. package/dist/components/providers/lightbox-provider.d.ts +1 -1
  52. package/dist/components/providers/lightbox-provider.d.ts.map +1 -1
  53. package/dist/components/providers/myst-providers.d.ts +1 -1
  54. package/dist/components/providers/myst-providers.d.ts.map +1 -1
  55. package/dist/components/providers/overlay-depth.d.ts +1 -1
  56. package/dist/components/providers/overlay-depth.d.ts.map +1 -1
  57. package/dist/components/providers/page-providers.d.ts +2 -2
  58. package/dist/components/providers/page-providers.d.ts.map +1 -1
  59. package/dist/components/providers/ping-boundary.d.ts +1 -1
  60. package/dist/components/providers/ping-boundary.d.ts.map +1 -1
  61. package/dist/components/providers/platform-providers.d.ts +1 -1
  62. package/dist/components/providers/platform-providers.d.ts.map +1 -1
  63. package/dist/components/ui/Callout.d.ts +1 -1
  64. package/dist/components/ui/Callout.d.ts.map +1 -1
  65. package/dist/components/ui/Callout.js +1 -1
  66. package/dist/components/ui/PageCards.d.ts +2 -1
  67. package/dist/components/ui/PageCards.d.ts.map +1 -1
  68. package/dist/components/ui/abbreviations.d.ts +2 -1
  69. package/dist/components/ui/abbreviations.d.ts.map +1 -1
  70. package/dist/components/ui/abbreviations.js +7 -14
  71. package/dist/components/ui/abstract.d.ts +1 -1
  72. package/dist/components/ui/abstract.d.ts.map +1 -1
  73. package/dist/components/ui/accessibility-skip-to.d.ts +3 -3
  74. package/dist/components/ui/accessibility-skip-to.d.ts.map +1 -1
  75. package/dist/components/ui/accessibility-skip-to.js +1 -1
  76. package/dist/components/ui/acknowledgements.d.ts +1 -1
  77. package/dist/components/ui/acknowledgements.d.ts.map +1 -1
  78. package/dist/components/ui/acknowledgements.js +4 -4
  79. package/dist/components/ui/arrow.d.ts +3 -3
  80. package/dist/components/ui/arrow.d.ts.map +1 -1
  81. package/dist/components/ui/article-actions-downloads.d.ts +24 -3
  82. package/dist/components/ui/article-actions-downloads.d.ts.map +1 -1
  83. package/dist/components/ui/article-actions-downloads.js +58 -16
  84. package/dist/components/ui/article-actions-dropdown.d.ts +1 -1
  85. package/dist/components/ui/article-actions-dropdown.d.ts.map +1 -1
  86. package/dist/components/ui/article-actions-dropdown.js +9 -9
  87. package/dist/components/ui/article-actions-share.d.ts +1 -1
  88. package/dist/components/ui/article-actions-share.d.ts.map +1 -1
  89. package/dist/components/ui/article-actions-share.js +2 -2
  90. package/dist/components/ui/article-actions.d.ts +1 -1
  91. package/dist/components/ui/article-actions.d.ts.map +1 -1
  92. package/dist/components/ui/article-actions.js +29 -8
  93. package/dist/components/ui/article-bar.d.ts +16 -3
  94. package/dist/components/ui/article-bar.d.ts.map +1 -1
  95. package/dist/components/ui/article-bar.js +9 -7
  96. package/dist/components/ui/article-card.d.ts +1 -1
  97. package/dist/components/ui/article-card.d.ts.map +1 -1
  98. package/dist/components/ui/article-card.js +2 -2
  99. package/dist/components/ui/article-footer.d.ts +1 -1
  100. package/dist/components/ui/article-footer.d.ts.map +1 -1
  101. package/dist/components/ui/article-footer.js +1 -1
  102. package/dist/components/ui/author-popover.d.ts +1 -1
  103. package/dist/components/ui/author-popover.d.ts.map +1 -1
  104. package/dist/components/ui/author-popover.js +3 -3
  105. package/dist/components/ui/backmatter.d.ts +41 -3
  106. package/dist/components/ui/backmatter.d.ts.map +1 -1
  107. package/dist/components/ui/backmatter.js +117 -34
  108. package/dist/components/ui/badge.d.ts +1 -1
  109. package/dist/components/ui/badge.d.ts.map +1 -1
  110. package/dist/components/ui/badge.js +1 -1
  111. package/dist/components/ui/banner.d.ts +22 -1
  112. package/dist/components/ui/banner.d.ts.map +1 -1
  113. package/dist/components/ui/banner.js +44 -3
  114. package/dist/components/ui/bibliography.d.ts +1 -1
  115. package/dist/components/ui/bibliography.d.ts.map +1 -1
  116. package/dist/components/ui/bibliography.js +3 -3
  117. package/dist/components/ui/breadcrumb.d.ts +7 -7
  118. package/dist/components/ui/breadcrumb.d.ts.map +1 -1
  119. package/dist/components/ui/breadcrumb.js +1 -1
  120. package/dist/components/ui/button.d.ts +1 -1
  121. package/dist/components/ui/button.d.ts.map +1 -1
  122. package/dist/components/ui/button.js +2 -2
  123. package/dist/components/ui/calendar.d.ts +1 -1
  124. package/dist/components/ui/calendar.d.ts.map +1 -1
  125. package/dist/components/ui/calendar.js +2 -2
  126. package/dist/components/ui/citation.d.ts +2 -2
  127. package/dist/components/ui/citation.d.ts.map +1 -1
  128. package/dist/components/ui/citation.js +5 -5
  129. package/dist/components/ui/collapsible-backmatter-section.d.ts +2 -2
  130. package/dist/components/ui/collapsible-backmatter-section.d.ts.map +1 -1
  131. package/dist/components/ui/collapsible-backmatter-section.js +3 -3
  132. package/dist/components/ui/collapsible.d.ts +3 -3
  133. package/dist/components/ui/collapsible.d.ts.map +1 -1
  134. package/dist/components/ui/cookie-banner.d.ts +2 -1
  135. package/dist/components/ui/cookie-banner.d.ts.map +1 -1
  136. package/dist/components/ui/cookie-banner.js +4 -4
  137. package/dist/components/ui/data-availability.d.ts +1 -1
  138. package/dist/components/ui/data-availability.d.ts.map +1 -1
  139. package/dist/components/ui/data-availability.js +4 -4
  140. package/dist/components/ui/dhr-cta-buttons.d.ts +30 -0
  141. package/dist/components/ui/dhr-cta-buttons.d.ts.map +1 -0
  142. package/dist/components/ui/dhr-cta-buttons.js +40 -0
  143. package/dist/components/ui/dialog.d.ts +10 -10
  144. package/dist/components/ui/dialog.d.ts.map +1 -1
  145. package/dist/components/ui/dialog.js +1 -1
  146. package/dist/components/ui/document-outline.d.ts +11 -2
  147. package/dist/components/ui/document-outline.d.ts.map +1 -1
  148. package/dist/components/ui/document-outline.js +101 -54
  149. package/dist/components/ui/dropdown-menu.d.ts +15 -15
  150. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  151. package/dist/components/ui/dropdown-menu.js +1 -1
  152. package/dist/components/ui/error-page.d.ts +1 -1
  153. package/dist/components/ui/error-page.d.ts.map +1 -1
  154. package/dist/components/ui/error-page.js +1 -1
  155. package/dist/components/ui/font-styles.d.ts +23 -0
  156. package/dist/components/ui/font-styles.d.ts.map +1 -0
  157. package/dist/components/ui/font-styles.js +39 -0
  158. package/dist/components/ui/footer-links.d.ts +1 -1
  159. package/dist/components/ui/footer-links.d.ts.map +1 -1
  160. package/dist/components/ui/footer-links.js +2 -2
  161. package/dist/components/ui/footnotes.d.ts +1 -1
  162. package/dist/components/ui/footnotes.d.ts.map +1 -1
  163. package/dist/components/ui/footnotes.js +3 -2
  164. package/dist/components/ui/frontmatter-badges.d.ts +7 -7
  165. package/dist/components/ui/frontmatter-badges.d.ts.map +1 -1
  166. package/dist/components/ui/frontmatter-badges.js +5 -5
  167. package/dist/components/ui/frontmatter.d.ts +1 -1
  168. package/dist/components/ui/frontmatter.d.ts.map +1 -1
  169. package/dist/components/ui/frontmatter.js +1 -1
  170. package/dist/components/ui/hash-link.d.ts.map +1 -1
  171. package/dist/components/ui/hash-link.js +2 -1
  172. package/dist/components/ui/image.d.ts +2 -2
  173. package/dist/components/ui/image.d.ts.map +1 -1
  174. package/dist/components/ui/image.js +3 -3
  175. package/dist/components/ui/index.d.ts +61 -57
  176. package/dist/components/ui/index.d.ts.map +1 -1
  177. package/dist/components/ui/index.js +58 -56
  178. package/dist/components/ui/input.d.ts +1 -1
  179. package/dist/components/ui/input.d.ts.map +1 -1
  180. package/dist/components/ui/input.js +1 -1
  181. package/dist/components/ui/keywords.d.ts +1 -1
  182. package/dist/components/ui/keywords.d.ts.map +1 -1
  183. package/dist/components/ui/keywords.js +3 -3
  184. package/dist/components/ui/label.js +1 -1
  185. package/dist/components/ui/license-description.d.ts +1 -1
  186. package/dist/components/ui/license-description.d.ts.map +1 -1
  187. package/dist/components/ui/license-description.js +3 -3
  188. package/dist/components/ui/license-frontmatter.d.ts +2 -2
  189. package/dist/components/ui/license-frontmatter.d.ts.map +1 -1
  190. package/dist/components/ui/license-frontmatter.js +4 -4
  191. package/dist/components/ui/lightbox-container.d.ts +2 -2
  192. package/dist/components/ui/lightbox-container.d.ts.map +1 -1
  193. package/dist/components/ui/lightbox-container.js +2 -2
  194. package/dist/components/ui/lightbox.d.ts +3 -2
  195. package/dist/components/ui/lightbox.d.ts.map +1 -1
  196. package/dist/components/ui/lightbox.js +6 -6
  197. package/dist/components/ui/link-card.d.ts +1 -1
  198. package/dist/components/ui/link-card.d.ts.map +1 -1
  199. package/dist/components/ui/link-card.js +1 -1
  200. package/dist/components/ui/pagination.d.ts +7 -7
  201. package/dist/components/ui/pagination.d.ts.map +1 -1
  202. package/dist/components/ui/pagination.js +1 -1
  203. package/dist/components/ui/popover.d.ts +4 -4
  204. package/dist/components/ui/popover.d.ts.map +1 -1
  205. package/dist/components/ui/popover.js +1 -1
  206. package/dist/components/ui/search.d.ts +1 -1
  207. package/dist/components/ui/search.d.ts.map +1 -1
  208. package/dist/components/ui/search.js +2 -2
  209. package/dist/components/ui/select.d.ts +10 -10
  210. package/dist/components/ui/select.d.ts.map +1 -1
  211. package/dist/components/ui/select.js +1 -1
  212. package/dist/components/ui/separator.d.ts +1 -1
  213. package/dist/components/ui/separator.d.ts.map +1 -1
  214. package/dist/components/ui/separator.js +1 -1
  215. package/dist/components/ui/sheet.d.ts +8 -8
  216. package/dist/components/ui/sheet.d.ts.map +1 -1
  217. package/dist/components/ui/sheet.js +1 -1
  218. package/dist/components/ui/sidebar.d.ts +23 -23
  219. package/dist/components/ui/sidebar.d.ts.map +1 -1
  220. package/dist/components/ui/sidebar.js +3 -3
  221. package/dist/components/ui/skeleton.d.ts +1 -1
  222. package/dist/components/ui/skeleton.d.ts.map +1 -1
  223. package/dist/components/ui/skeleton.js +1 -1
  224. package/dist/components/ui/sonner.d.ts +1 -1
  225. package/dist/components/ui/sonner.d.ts.map +1 -1
  226. package/dist/components/ui/theme-button.d.ts +1 -1
  227. package/dist/components/ui/theme-button.d.ts.map +1 -1
  228. package/dist/components/ui/theme-button.js +3 -3
  229. package/dist/components/ui/tooltip.d.ts +4 -4
  230. package/dist/components/ui/tooltip.d.ts.map +1 -1
  231. package/dist/components/ui/tooltip.js +2 -2
  232. package/dist/components/ui/types.d.ts +1 -0
  233. package/dist/components/ui/types.d.ts.map +1 -1
  234. package/dist/components/ui/types.js +1 -0
  235. package/dist/hooks/index.d.ts +4 -4
  236. package/dist/hooks/index.d.ts.map +1 -1
  237. package/dist/hooks/index.js +4 -4
  238. package/dist/hooks/use-theme.d.ts +1 -1
  239. package/dist/hooks/use-theme.d.ts.map +1 -1
  240. package/dist/index.d.ts +3 -3
  241. package/dist/index.d.ts.map +1 -1
  242. package/dist/index.js +3 -3
  243. package/dist/lib/dedupeAbbreviations.d.ts +11 -0
  244. package/dist/lib/dedupeAbbreviations.d.ts.map +1 -1
  245. package/dist/lib/dedupeAbbreviations.js +17 -0
  246. package/dist/lib/fonts.d.ts +29 -0
  247. package/dist/lib/fonts.d.ts.map +1 -0
  248. package/dist/lib/fonts.js +148 -0
  249. package/dist/lib/index.d.ts +6 -5
  250. package/dist/lib/index.d.ts.map +1 -1
  251. package/dist/lib/index.js +6 -5
  252. package/package.json +22 -4
@@ -2,16 +2,16 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { ComputeOptionsProvider, ConnectionStatusTray, LogBoundary, } from '@curvenote/bridge-jupyter';
3
3
  import { useProjectManifest, useReferences, useSiteManifest } from '@myst-theme/providers';
4
4
  import {} from 'myst-config';
5
- import { useAnalytics } from './analytics-boundary';
6
- import { ComputeProvider } from './compute';
7
- import { checkHasMECAExport } from '../../lib';
8
- import { useImages } from './lightbox-provider';
9
- import { jupyterHubStreamingConnectFnFactory } from './connect';
10
- import { LightboxContainer } from '../ui/lightbox-container';
11
- import { DesignProvider } from './design';
12
- import { usePage } from './page-providers';
13
- import { usePingFn } from './ping-boundary';
14
- import { usePlatformSite } from './platform-providers';
5
+ import { useAnalytics } from './analytics-boundary.js';
6
+ import { ComputeProvider } from './compute.js';
7
+ import { checkHasMECAExport } from '../../lib/index.js';
8
+ import { useImages } from './lightbox-provider.js';
9
+ import { jupyterHubStreamingConnectFnFactory } from './connect.js';
10
+ import { LightboxContainer } from '../ui/lightbox-container.js';
11
+ import { DesignProvider } from './design.js';
12
+ import { usePage } from './page-providers.js';
13
+ import { usePingFn } from './ping-boundary.js';
14
+ import { usePlatformSite } from './platform-providers.js';
15
15
  /**
16
16
  * Based on the article SubmissionKind, resolve the theme config options for that kind, if specified,
17
17
  * pulling up defaults from the base theme.config.articles object and theme.config.jupyter object as needed
@@ -4,6 +4,6 @@ export declare const DESIGN_PRESETS: Record<DesignPresetName, Omit<DesignPresetC
4
4
  export declare function DesignProvider({ children, designs, }: {
5
5
  children: React.ReactNode;
6
6
  designs: (DesignPresetConfig | DesignOptions | undefined)[];
7
- }): import("react/jsx-runtime").JSX.Element;
7
+ }): React.JSX.Element;
8
8
  export declare function useDesign(): DesignOptions;
9
9
  //# sourceMappingURL=design.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../../../src/components/providers/design.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE7F,OAAO,KAAoC,MAAM,OAAO,CAAC;AAIzD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAwCvF,CAAC;AAmCF,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,OAAO,GACR,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,EAAE,CAAC,kBAAkB,GAAG,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC;CAC7D,2CAKA;AAED,wBAAgB,SAAS,IAAI,aAAa,CAoBzC"}
1
+ {"version":3,"file":"design.d.ts","sourceRoot":"","sources":["../../../src/components/providers/design.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAE7F,OAAO,KAAoC,MAAM,OAAO,CAAC;AAIzD,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAyCvF,CAAC;AAmCF,wBAAgB,cAAc,CAAC,EAC7B,QAAQ,EACR,OAAO,GACR,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,EAAE,CAAC,kBAAkB,GAAG,aAAa,GAAG,SAAS,CAAC,EAAE,CAAC;CAC7D,qBAKA;AAED,wBAAgB,SAAS,IAAI,aAAa,CAoBzC"}
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useProjectManifest, useReferences } from '@myst-theme/providers';
3
3
  import React, { createContext, useContext } from 'react';
4
4
  import { select } from 'unist-util-select';
5
- import { useIsIndexPage } from './page-providers';
5
+ import { useIsIndexPage } from './page-providers.js';
6
6
  export const DESIGN_PRESETS = {
7
7
  landing: {
8
8
  base: {
@@ -17,6 +17,7 @@ export const DESIGN_PRESETS = {
17
17
  hide_bibliography: true,
18
18
  hide_footnotes: false,
19
19
  hide_outline: true,
20
+ hide_license_description: true,
20
21
  },
21
22
  index: {},
22
23
  page: {},
@@ -1,12 +1,12 @@
1
- export { ComputeProvider } from './compute';
2
- export { CurvenoteProviders } from './curvenote-providers';
3
- export { MystProviders } from './myst-providers';
4
- export * from './ping-boundary';
5
- export * from './analytics-boundary';
6
- export * from './overlay-depth';
7
- export * from './platform-providers';
8
- export { LightboxProvider, useLightbox, type LightboxImageData, useImages, } from './lightbox-provider';
9
- export { PageProviders, useIsIndexPage, usePage } from './page-providers';
10
- export { ArticleVersionsProvider, useArticleVersions, type ArticleVersionNavItem, } from './article-versions-provider';
11
- export { DesignProvider, useDesign } from './design';
1
+ export { ComputeProvider } from './compute.js';
2
+ export { CurvenoteProviders } from './curvenote-providers.js';
3
+ export { MystProviders } from './myst-providers.js';
4
+ export * from './ping-boundary.js';
5
+ export * from './analytics-boundary.js';
6
+ export * from './overlay-depth.js';
7
+ export * from './platform-providers.js';
8
+ export { LightboxProvider, useLightbox, type LightboxImageData, useImages, } from './lightbox-provider.js';
9
+ export { PageProviders, useIsIndexPage, usePage } from './page-providers.js';
10
+ export { ArticleVersionsProvider, useArticleVersions, type ArticleVersionNavItem, } from './article-versions-provider.js';
11
+ export { DesignProvider, useDesign } from './design.js';
12
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/providers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,sBAAsB,CAAC;AAGrC,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,KAAK,iBAAiB,EACtB,SAAS,GACV,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,KAAK,qBAAqB,GAC3B,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/providers/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AAGxC,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,KAAK,iBAAiB,EACtB,SAAS,GACV,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,KAAK,qBAAqB,GAC3B,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC"}
@@ -1,14 +1,14 @@
1
1
  // Provider Components
2
- export { ComputeProvider } from './compute';
3
- export { CurvenoteProviders } from './curvenote-providers';
4
- export { MystProviders } from './myst-providers';
5
- export * from './ping-boundary';
6
- export * from './analytics-boundary';
7
- export * from './overlay-depth';
8
- export * from './platform-providers';
2
+ export { ComputeProvider } from './compute.js';
3
+ export { CurvenoteProviders } from './curvenote-providers.js';
4
+ export { MystProviders } from './myst-providers.js';
5
+ export * from './ping-boundary.js';
6
+ export * from './analytics-boundary.js';
7
+ export * from './overlay-depth.js';
8
+ export * from './platform-providers.js';
9
9
  // Lightbox Provider
10
- export { LightboxProvider, useLightbox, useImages, } from './lightbox-provider';
10
+ export { LightboxProvider, useLightbox, useImages, } from './lightbox-provider.js';
11
11
  // Page Providers
12
- export { PageProviders, useIsIndexPage, usePage } from './page-providers';
13
- export { ArticleVersionsProvider, useArticleVersions, } from './article-versions-provider';
14
- export { DesignProvider, useDesign } from './design';
12
+ export { PageProviders, useIsIndexPage, usePage } from './page-providers.js';
13
+ export { ArticleVersionsProvider, useArticleVersions, } from './article-versions-provider.js';
14
+ export { DesignProvider, useDesign } from './design.js';
@@ -33,7 +33,7 @@ interface LightboxProviderProps {
33
33
  children: React.ReactNode;
34
34
  imageList?: LightboxImageData[];
35
35
  }
36
- export declare function LightboxProvider({ children, imageList: initialImageList, }: LightboxProviderProps): import("react/jsx-runtime").JSX.Element;
36
+ export declare function LightboxProvider({ children, imageList: initialImageList, }: LightboxProviderProps): React.JSX.Element;
37
37
  export declare function useLightbox(): LightboxContextType;
38
38
  export {};
39
39
  //# sourceMappingURL=lightbox-provider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lightbox-provider.d.ts","sourceRoot":"","sources":["../../../src/components/providers/lightbox-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMjD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,iBAAiB,EAAE,CA2ClF;AAED,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,aAAa,CAAA;CAAE,uBAI7D;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACjC,kGAAkG;IAClG,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,UAAU,mBAAmB;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACvC,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACjD,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC/C,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,SAAS,EAAE,gBAAqB,GACjC,EAAE,qBAAqB,2CAoFvB;AAED,wBAAgB,WAAW,wBAM1B"}
1
+ {"version":3,"file":"lightbox-provider.d.ts","sourceRoot":"","sources":["../../../src/components/providers/lightbox-provider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAMjD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,iBAAiB,EAAE,CA2ClF;AAED,wBAAgB,SAAS,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,CAAC,EAAE,aAAa,CAAA;CAAE,uBAI7D;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACjC,kGAAkG;IAClG,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,UAAU,mBAAmB;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACvC,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACjD,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC/C,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB;AAID,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,QAAQ,EACR,SAAS,EAAE,gBAAqB,GACjC,EAAE,qBAAqB,qBAoFvB;AAED,wBAAgB,WAAW,wBAM1B"}
@@ -2,5 +2,5 @@ import { type NodeRenderers } from '@myst-theme/providers';
2
2
  export declare function MystProviders({ children, renderers, }: {
3
3
  children: React.ReactNode;
4
4
  renderers: NodeRenderers;
5
- }): import("react/jsx-runtime").JSX.Element;
5
+ }): import("react").JSX.Element;
6
6
  //# sourceMappingURL=myst-providers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"myst-providers.d.ts","sourceRoot":"","sources":["../../../src/components/providers/myst-providers.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,uBAAuB,CAAC;AA0B/B,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,EAAE,aAAa,CAAC;CAC1B,2CAkBA"}
1
+ {"version":3,"file":"myst-providers.d.ts","sourceRoot":"","sources":["../../../src/components/providers/myst-providers.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,aAAa,EACnB,MAAM,uBAAuB,CAAC;AA0B/B,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,EAAE,aAAa,CAAC;CAC1B,+BAkBA"}
@@ -12,5 +12,5 @@ export type OverlayDepthIncrementProps = {
12
12
  * Wrap floating overlay **content** (not the trigger) so nested interactions report a
13
13
  * higher `overlay_depth` without manual per-callsite wiring.
14
14
  */
15
- export declare function OverlayDepthIncrement({ children }: OverlayDepthIncrementProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function OverlayDepthIncrement({ children }: OverlayDepthIncrementProps): import("react").JSX.Element;
16
16
  //# sourceMappingURL=overlay-depth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"overlay-depth.d.ts","sourceRoot":"","sources":["../../../src/components/providers/overlay-depth.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,iCAAmB,CAAC;AAE/D,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE,0BAA0B,2CAO7E"}
1
+ {"version":3,"file":"overlay-depth.d.ts","sourceRoot":"","sources":["../../../src/components/providers/overlay-depth.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAElE;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,iCAAmB,CAAC;AAE/D,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE,EAAE,0BAA0B,+BAO7E"}
@@ -3,7 +3,7 @@ import type { SiteManifest } from 'myst-config';
3
3
  export declare function PageProvider({ children, page }: {
4
4
  children: React.ReactNode;
5
5
  page: PageLoader;
6
- }): import("react/jsx-runtime").JSX.Element;
6
+ }): import("react").JSX.Element;
7
7
  export declare function usePage(): PageLoader;
8
8
  export declare function useIsIndexPage(): boolean;
9
9
  export declare function PageProviders({ children, page, config, project, }: {
@@ -11,5 +11,5 @@ export declare function PageProviders({ children, page, config, project, }: {
11
11
  page: PageLoader;
12
12
  config?: SiteManifest;
13
13
  project?: string | undefined;
14
- }): import("react/jsx-runtime").JSX.Element;
14
+ }): import("react").JSX.Element;
15
15
  //# sourceMappingURL=page-providers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"page-providers.d.ts","sourceRoot":"","sources":["../../../src/components/providers/page-providers.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,2CAE/F;AAED,wBAAgB,OAAO,IAAI,UAAU,CAIpC;AAED,wBAAgB,cAAc,IAAI,OAAO,CAIxC;AAED,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,OAAO,GACR,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B,2CAqBA"}
1
+ {"version":3,"file":"page-providers.d.ts","sourceRoot":"","sources":["../../../src/components/providers/page-providers.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAOrD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAAC,IAAI,EAAE,UAAU,CAAA;CAAE,+BAE/F;AAED,wBAAgB,OAAO,IAAI,UAAU,CAIpC;AAED,wBAAgB,cAAc,IAAI,OAAO,CAIxC;AAED,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,OAAO,GACR,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC9B,+BAqBA"}
@@ -18,7 +18,7 @@ import type { PingFn, PingPayload } from '@curvenote/bridge-jupyter';
18
18
  export declare function PingBoundary({ csrfToken, site, children, }: React.PropsWithChildren<{
19
19
  csrfToken: string;
20
20
  site: SiteDTO;
21
- }>): import("react/jsx-runtime").JSX.Element;
21
+ }>): import("react").JSX.Element;
22
22
  /**
23
23
  * A hook to get the ping function from the PingBoundary context.
24
24
  * Is additionalPayload is provided, it will be merged with the payload of the ping event
@@ -1 +1 @@
1
- {"version":3,"file":"ping-boundary.d.ts","sourceRoot":"","sources":["../../../src/components/providers/ping-boundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAyDrE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,IAAI,EACJ,QAAQ,GACT,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC,2CAQD;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,UAkBvE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,IAAI,UAAQ,QAWnF"}
1
+ {"version":3,"file":"ping-boundary.d.ts","sourceRoot":"","sources":["../../../src/components/providers/ping-boundary.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAyDrE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAAC,EAC3B,SAAS,EACT,IAAI,EACJ,QAAQ,GACT,EAAE,KAAK,CAAC,iBAAiB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;CACf,CAAC,+BAQD;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,UAkBvE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,IAAI,UAAQ,QAWnF"}
@@ -5,7 +5,7 @@ export declare function PlatformSiteProvider({ site, config, children, }: {
5
5
  site?: Site;
6
6
  config?: SiteManifest;
7
7
  children: React.ReactNode;
8
- }): import("react/jsx-runtime").JSX.Element;
8
+ }): React.JSX.Element;
9
9
  export declare function usePlatformSite(): Partial<Site>;
10
10
  export declare function usePlatformConfig(): Partial<SiteManifest>;
11
11
  //# sourceMappingURL=platform-providers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform-providers.d.ts","sourceRoot":"","sources":["../../../src/components/providers/platform-providers.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAU9C,wBAAgB,oBAAoB,CAAC,EACnC,IAAI,EACJ,MAAM,EACN,QAAQ,GACT,EAAE;IACD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CAMA;AAED,wBAAgB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAG/C;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,YAAY,CAAC,CAGzD"}
1
+ {"version":3,"file":"platform-providers.d.ts","sourceRoot":"","sources":["../../../src/components/providers/platform-providers.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAoC,MAAM,OAAO,CAAC;AACzD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAU9C,wBAAgB,oBAAoB,CAAC,EACnC,IAAI,EACJ,MAAM,EACN,QAAQ,GACT,EAAE;IACD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,qBAMA;AAED,wBAAgB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAG/C;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,YAAY,CAAC,CAGzD"}
@@ -5,6 +5,6 @@ interface CalloutProps {
5
5
  button?: React.ReactNode;
6
6
  className?: string;
7
7
  }
8
- export declare function Callout({ title, description, button, className }: CalloutProps): import("react/jsx-runtime").JSX.Element;
8
+ export declare function Callout({ title, description, button, className }: CalloutProps): React.JSX.Element;
9
9
  export {};
10
10
  //# sourceMappingURL=Callout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Callout.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Callout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,UAAU,YAAY;IACpB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,YAAY,2CAkB9E"}
1
+ {"version":3,"file":"Callout.d.ts","sourceRoot":"","sources":["../../../src/components/ui/Callout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,UAAU,YAAY;IACpB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,YAAY,qBAkB9E"}
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import { Info } from 'lucide-react';
4
- import { cn } from '../../lib/utils';
4
+ import { cn } from '../../lib/utils.js';
5
5
  export function Callout({ title, description, button, className }) {
6
6
  return (_jsxs("div", { className: cn('flex flex-col lg:flex-row items-center justify-between bg-muted/50 rounded p-4 my-4 gap-3', className), children: [_jsxs("div", { className: "flex items-start gap-2 grow self-start", children: [_jsx(Info, { className: "text-sky-500 mt-0.5", size: 18 }), _jsxs("div", { children: [_jsx("div", { className: "font-semibold text-sm", children: title }), description && _jsx("div", { className: "text-sm text-muted-foreground mt-0.5", children: description })] })] }), button && _jsx("div", { className: "ml-4 self-end lg:self-center", children: button })] }));
7
7
  }
@@ -1,2 +1,3 @@
1
- export declare function PageCards(): import("react/jsx-runtime").JSX.Element;
1
+ import * as React from 'react';
2
+ export declare function PageCards(): React.JSX.Element;
2
3
  //# sourceMappingURL=PageCards.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageCards.d.ts","sourceRoot":"","sources":["../../../src/components/ui/PageCards.tsx"],"names":[],"mappings":"AAIA,wBAAgB,SAAS,4CAyCxB"}
1
+ {"version":3,"file":"PageCards.d.ts","sourceRoot":"","sources":["../../../src/components/ui/PageCards.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,wBAAgB,SAAS,sBAyCxB"}
@@ -1,7 +1,8 @@
1
+ import React from 'react';
1
2
  export declare function Abbreviations({ sorted, className, hideManyAbbreviations, }: {
2
3
  sorted?: boolean;
3
4
  className?: string;
4
5
  /** When truthy, initially show only this many abbreviations with a "Show All" option. Pass a number or true. */
5
6
  hideManyAbbreviations?: boolean | number;
6
- }): import("react/jsx-runtime").JSX.Element | null;
7
+ }): React.JSX.Element | null;
7
8
  //# sourceMappingURL=abbreviations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"abbreviations.d.ts","sourceRoot":"","sources":["../../../src/components/ui/abbreviations.tsx"],"names":[],"mappings":"AAgCA,wBAAgB,aAAa,CAAC,EAC5B,MAAa,EACb,SAAS,EACT,qBAAkD,GACnD,EAAE;IACD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gHAAgH;IAChH,qBAAqB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1C,kDAsDA"}
1
+ {"version":3,"file":"abbreviations.d.ts","sourceRoot":"","sources":["../../../src/components/ui/abbreviations.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAuB1B,wBAAgB,aAAa,CAAC,EAC5B,MAAa,EACb,SAAS,EACT,qBAAkD,GACnD,EAAE;IACD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gHAAgH;IAChH,qBAAqB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAC1C,4BAsDA"}
@@ -1,24 +1,17 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from 'react';
3
3
  import { useFrontmatter, useReferences } from '@myst-theme/providers';
4
- import { toText } from 'myst-common';
5
- import { cn } from '../../lib/utils';
6
- import { selectAll } from 'unist-util-select';
7
- import { PART_IDS } from './types';
8
- import { useCollapsibleBackmatter, CollapsibleBackmatterHeader, CollapsibleBackmatterFooterButton, } from './collapsible-backmatter-section';
9
- import { dedupeAbbreviationEntries } from '../../lib/dedupeAbbreviations';
4
+ import { cn } from '../../lib/utils.js';
5
+ import { PART_IDS } from './types.js';
6
+ import { useCollapsibleBackmatter, CollapsibleBackmatterHeader, CollapsibleBackmatterFooterButton, } from './collapsible-backmatter-section.js';
7
+ import { selectAbbreviationEntries } from '../../lib/dedupeAbbreviations.js';
10
8
  const DEFAULT_MANY_ABBREVIATIONS = 5;
11
9
  function useAbbreviations() {
12
10
  const frontmatter = useFrontmatter();
13
11
  const references = useReferences();
14
12
  const page = references?.article;
15
- const parts = Object.values(frontmatter?.parts ?? {})
16
- .map((part) => part.mdast)
17
- .filter(Boolean);
18
- const fullTree = { type: 'page', children: [page, ...parts].filter(Boolean) };
19
- const inTextAbbreviations = selectAll('abbreviation', fullTree);
20
- const entries = inTextAbbreviations.map((node) => [toText(node), node.title]);
21
- const deduped = dedupeAbbreviationEntries(entries, frontmatter?.abbreviations);
13
+ const parts = Object.values(frontmatter?.parts ?? {}).map((part) => part.mdast);
14
+ const deduped = selectAbbreviationEntries([page, ...parts], frontmatter?.abbreviations);
22
15
  if (deduped.length === 0)
23
16
  return undefined;
24
17
  return Object.fromEntries(deduped);
@@ -34,5 +27,5 @@ export function Abbreviations({ sorted = true, className, hideManyAbbreviations
34
27
  : Object.entries(abbreviations);
35
28
  const { hidden, toggle, displayedCount, isCollapsible } = useCollapsibleBackmatter(sortedAbbreviations.length, hideManyAbbreviations, DEFAULT_MANY_ABBREVIATIONS);
36
29
  const displayed = sortedAbbreviations.slice(0, displayedCount);
37
- return (_jsxs("section", { id: PART_IDS.abbreviations, className: cn('min-w-full prose dark:prose-invert prose-sm', className), children: [_jsx(CollapsibleBackmatterHeader, { id: PART_IDS.abbreviations, title: "Abbreviations", linkTitle: "Link to Abbreviations", hidden: hidden, onToggle: toggle, isCollapsible: isCollapsible }), _jsxs("div", { className: cn('pl-3 mb-8 text-xs text-stone-500 dark:text-stone-300'), children: [_jsx("dl", { className: "grid grid-cols-[auto_1fr] gap-x-6 gap-y-2", children: displayed.map(([abbreviation, description]) => (_jsxs(React.Fragment, { children: [_jsx("dt", { className: "py-1 pt-0 m-0 mt-0 font-medium text-stone-900 dark:text-white", children: abbreviation }), _jsx("dd", { className: "flex items-center py-1 pt-0 m-0 mt-0 text-center text-stone-600 dark:text-stone-400", children: description })] }, abbreviation))) }), isCollapsible && (_jsx(CollapsibleBackmatterFooterButton, { hidden: hidden, onToggle: toggle, totalCount: sortedAbbreviations.length, itemLabel: "abbreviations", sectionId: PART_IDS.abbreviations, className: "flex justify-center pt-2", as: "div" }))] })] }));
30
+ return (_jsxs("section", { id: PART_IDS.abbreviations, className: cn('min-w-full prose dark:prose-invert prose-sm font-small', className), children: [_jsx(CollapsibleBackmatterHeader, { id: PART_IDS.abbreviations, title: "Abbreviations", linkTitle: "Link to Abbreviations", hidden: hidden, onToggle: toggle, isCollapsible: isCollapsible }), _jsxs("div", { className: cn('pl-3 mb-8 text-xs text-stone-500 dark:text-stone-300'), children: [_jsx("dl", { className: "grid grid-cols-[auto_1fr] gap-x-6 gap-y-2", children: displayed.map(([abbreviation, description]) => (_jsxs(React.Fragment, { children: [_jsx("dt", { className: "py-1 pt-0 m-0 mt-0 font-medium text-stone-900 dark:text-white", children: abbreviation }), _jsx("dd", { className: "flex items-center py-1 pt-0 m-0 mt-0 text-center text-stone-600 dark:text-stone-400", children: description })] }, abbreviation))) }), isCollapsible && (_jsx(CollapsibleBackmatterFooterButton, { hidden: hidden, onToggle: toggle, totalCount: sortedAbbreviations.length, itemLabel: "abbreviations", sectionId: PART_IDS.abbreviations, className: "flex justify-center pt-2", as: "div" }))] })] }));
38
31
  }
@@ -4,5 +4,5 @@ export declare function Abstract({ content, title, id, className, }: {
4
4
  id?: string;
5
5
  content?: GenericParent;
6
6
  className?: string;
7
- }): import("react/jsx-runtime").JSX.Element | null;
7
+ }): import("react").JSX.Element | null;
8
8
  //# sourceMappingURL=abstract.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../src/components/ui/abstract.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,aAAa,CAAC;AAI9D,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,KAAkB,EAClB,EAAe,EACf,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,kDAcA"}
1
+ {"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../src/components/ui/abstract.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,aAAa,EAAE,MAAM,aAAa,CAAC;AAI9D,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,KAAkB,EAClB,EAAe,EACf,SAAS,GACV,EAAE;IACD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,sCAcA"}
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { PART_IDS } from './types';
2
+ import { PART_IDS } from './types.js';
3
3
  export declare function createSkipToTargets(): ({
4
4
  id: "skip-to-content";
5
5
  title: string;
@@ -18,8 +18,8 @@ export declare const SkipTo: React.MemoExoticComponent<({ targets }: {
18
18
  id: string;
19
19
  title: string;
20
20
  }[];
21
- }) => import("react/jsx-runtime").JSX.Element>;
21
+ }) => React.JSX.Element>;
22
22
  export declare function SkipToAnchor({ id }: {
23
23
  id: (typeof PART_IDS)[keyof typeof PART_IDS];
24
- }): import("react/jsx-runtime").JSX.Element;
24
+ }): React.JSX.Element;
25
25
  //# sourceMappingURL=accessibility-skip-to.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accessibility-skip-to.d.ts","sourceRoot":"","sources":["../../../src/components/ui/accessibility-skip-to.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAgBnC,wBAAgB,mBAAmB;;;;;;;;;KAMlC;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,0CAA4B;IAAE,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,6CAkBzF,CAAC;AAEH,wBAAgB,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE;IAAE,EAAE,EAAE,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAA;CAAE,2CAEpF"}
1
+ {"version":3,"file":"accessibility-skip-to.d.ts","sourceRoot":"","sources":["../../../src/components/ui/accessibility-skip-to.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAgBtC,wBAAgB,mBAAmB;;;;;;;;;KAMlC;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,0CAA4B;IAAE,OAAO,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,uBAkBzF,CAAC;AAEH,wBAAgB,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE;IAAE,EAAE,EAAE,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAA;CAAE,qBAEpF"}
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import React from 'react';
3
- import { PART_IDS } from './types';
3
+ import { PART_IDS } from './types.js';
4
4
  function makeSkipClickHandler(hash) {
5
5
  return (e) => {
6
6
  e.preventDefault();
@@ -1,4 +1,4 @@
1
1
  export declare function Acknowledgements({ className }: {
2
2
  className?: string;
3
- }): import("react/jsx-runtime").JSX.Element | null;
3
+ }): import("react").JSX.Element | null;
4
4
  //# sourceMappingURL=acknowledgements.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"acknowledgements.d.ts","sourceRoot":"","sources":["../../../src/components/ui/acknowledgements.tsx"],"names":[],"mappings":"AAeA,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,kDAuBrE"}
1
+ {"version":3,"file":"acknowledgements.d.ts","sourceRoot":"","sources":["../../../src/components/ui/acknowledgements.tsx"],"names":[],"mappings":"AAeA,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,sCAuBrE"}
@@ -2,9 +2,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useFrontmatter, useReferences } from '@myst-theme/providers';
3
3
  import { copyNode } from 'myst-common';
4
4
  import { MyST, HashLink } from 'myst-to-react';
5
- import { cn } from '../../lib/utils';
6
- import { extractKnownParts } from '../../lib/knownParts';
7
- import { PART_IDS } from './types';
5
+ import { cn } from '../../lib/utils.js';
6
+ import { extractKnownParts } from '../../lib/knownParts.js';
7
+ import { PART_IDS } from './types.js';
8
8
  function useAcknowledgements() {
9
9
  const frontmatter = useFrontmatter();
10
10
  const references = useReferences();
@@ -16,5 +16,5 @@ export function Acknowledgements({ className }) {
16
16
  const acknowledgements = useAcknowledgements();
17
17
  if (!acknowledgements)
18
18
  return null;
19
- return (_jsxs("section", { id: PART_IDS.acknowledgements, className: cn('min-w-full prose dark:prose-invert prose-sm', className), children: [_jsxs("header", { className: "text-lg font-semibold text-stone-900 dark:text-white group", children: ["Acknowledgements", _jsx(HashLink, { id: PART_IDS.acknowledgements, title: "Link to Acknowledgements", hover: true, className: "ml-2" })] }), _jsx("div", { className: cn('pl-3 mb-8 text-sm text-stone-500 dark:text-stone-300'), children: _jsx(MyST, { ast: acknowledgements }) })] }));
19
+ return (_jsxs("section", { id: PART_IDS.acknowledgements, className: cn('min-w-full prose dark:prose-invert prose-sm font-small', className), children: [_jsxs("header", { className: "text-lg font-semibold text-stone-900 dark:text-white group", children: ["Acknowledgements", _jsx(HashLink, { id: PART_IDS.acknowledgements, title: "Link to Acknowledgements", hover: true, className: "ml-2" })] }), _jsx("div", { className: cn('pl-3 mb-8 text-sm text-stone-500 dark:text-stone-300'), children: _jsx(MyST, { ast: acknowledgements }) })] }));
20
20
  }
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import type { LinkProps } from 'react-router';
3
- export declare function Arrow(): import("react/jsx-runtime").JSX.Element;
4
- export declare function LongArrowIcon({ className, ...props }: React.SVGProps<SVGSVGElement>): import("react/jsx-runtime").JSX.Element;
5
- export declare function ArrowLink({ children, className, ...props }: LinkProps): import("react/jsx-runtime").JSX.Element | null;
3
+ export declare function Arrow(): React.JSX.Element;
4
+ export declare function LongArrowIcon({ className, ...props }: React.SVGProps<SVGSVGElement>): React.JSX.Element;
5
+ export declare function ArrowLink({ children, className, ...props }: LinkProps): React.JSX.Element | null;
6
6
  //# sourceMappingURL=arrow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"arrow.d.ts","sourceRoot":"","sources":["../../../src/components/ui/arrow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9C,wBAAgB,KAAK,4CASpB;AAED,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,2CAiBnF;AAED,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,kDAerE"}
1
+ {"version":3,"file":"arrow.d.ts","sourceRoot":"","sources":["../../../src/components/ui/arrow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9C,wBAAgB,KAAK,sBASpB;AAED,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,qBAiBnF;AAED,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,4BAerE"}
@@ -1,4 +1,7 @@
1
+ import { FileText } from 'lucide-react';
1
2
  import type { SiteAction, SiteExport } from 'myst-config';
3
+ import React from 'react';
4
+ import { type AnalyticsCaptureFn } from '../providers/index.js';
2
5
  /**
3
6
  * triggerDirectDownload - aims to trigger a direct download for the
4
7
  *
@@ -17,10 +20,28 @@ export declare function triggerDirectDownload(url: string, filename?: string): P
17
20
  export declare function triggerBlobDownload(blob: Blob, filename?: string): Promise<any>;
18
21
  export declare function useDownloads(): {
19
22
  projectExports: SiteExport[];
20
- projectDownloads: SiteAction[];
23
+ projectDownloads: (SiteAction | SiteExport)[];
21
24
  articleExports: SiteExport[];
22
25
  articleDownloads: SiteAction[];
23
26
  };
24
- export declare function ArticleDownloadItems(): import("react/jsx-runtime").JSX.Element | null;
25
- export declare function ArticleExportItems(): import("react/jsx-runtime").JSX.Element | null;
27
+ type DownloadEventContext = {
28
+ category: 'download' | 'export';
29
+ scope: 'project' | 'article';
30
+ surface: string;
31
+ };
32
+ export declare function handleDownload(download: SiteAction | SiteExport, capture: AnalyticsCaptureFn, ctx: DownloadEventContext): Promise<void>;
33
+ /**
34
+ * getExtension - lowercased extension of a file name or path, without the leading dot
35
+ *
36
+ * Compound extensions (e.g. `tar.gz`) are returned in full. A leading dot marks a
37
+ * hidden file rather than an extension, so `.gitignore` has no extension.
38
+ *
39
+ * @param filename - file name, path or url pathname
40
+ * @returns the extension, or undefined if there is none
41
+ */
42
+ export declare function getExtension(filename?: string): string | undefined;
43
+ export declare function getIconForFormat(format?: string, filename?: string): typeof FileText;
44
+ export declare function ArticleDownloadItems(): React.JSX.Element | null;
45
+ export declare function ArticleExportItems(): React.JSX.Element | null;
46
+ export {};
26
47
  //# sourceMappingURL=article-actions-downloads.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"article-actions-downloads.d.ts","sourceRoot":"","sources":["../../../src/components/ui/article-actions-downloads.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK1D;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,gBAKzE;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,gBA0BtE;AAsCD,wBAAgB,YAAY;;;;;EAa3B;AA0HD,wBAAgB,oBAAoB,mDA8CnC;AAED,wBAAgB,kBAAkB,mDAgDjC"}
1
+ {"version":3,"file":"article-actions-downloads.d.ts","sourceRoot":"","sources":["../../../src/components/ui/article-actions-downloads.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,QAAQ,EAUT,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAA2B,KAAK,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEzF;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,gBAKzE;AAED;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,gBA0BtE;AAsCD,wBAAgB,YAAY,IAAI;IAC9B,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,gBAAgB,EAAE,CAAC,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC;IAC9C,cAAc,EAAE,UAAU,EAAE,CAAC;IAC7B,gBAAgB,EAAE,UAAU,EAAE,CAAC;CAChC,CAaA;AAED,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,EAAE,UAAU,GAAG,QAAQ,CAAC;IAChC,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAeF,wBAAsB,cAAc,CAClC,QAAQ,EAAE,UAAU,GAAG,UAAU,EACjC,OAAO,EAAE,kBAAkB,EAC3B,GAAG,EAAE,oBAAoB,iBAmB1B;AA+BD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CASlE;AAED,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,QAAQ,CAWpF;AAyDD,wBAAgB,oBAAoB,6BA8CnC;AAED,wBAAgB,kBAAkB,6BAgDjC"}
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { DropdownMenuItem, DropdownMenuSeparator, DropdownMenuLabel } from '.';
2
+ import { DropdownMenuItem, DropdownMenuSeparator, DropdownMenuLabel } from './index.js';
3
3
  import { useFrontmatter, useProjectManifest, useSiteManifest } from '@myst-theme/providers';
4
4
  import { toast } from 'sonner';
5
- import { File, FileText, FileCode, FileArchive, ScrollText, FileVolume } from 'lucide-react';
5
+ import { File, FileText, FileCode, FileArchive, ScrollText, FileVolume, FileSpreadsheet, Presentation, FileVideo, FileCode2, FileBox, } from 'lucide-react';
6
6
  import React from 'react';
7
- import { BibTeXCitationMenuItem, useShowCitation } from './citation';
8
- import { useAnalytics, useDesign } from '../providers';
7
+ import { BibTeXCitationMenuItem, useShowCitation } from './citation.js';
8
+ import { useAnalytics, useDesign } from '../providers/index.js';
9
9
  /**
10
10
  * triggerDirectDownload - aims to trigger a direct download for the
11
11
  *
@@ -106,7 +106,7 @@ function buildDownloadAnalyticsProps(download, ctx) {
106
106
  downloadTitle: download.title,
107
107
  };
108
108
  }
109
- async function handleDownload(download, capture, ctx) {
109
+ export async function handleDownload(download, capture, ctx) {
110
110
  const baseProps = buildDownloadAnalyticsProps(download, ctx);
111
111
  capture('article_download', { action: 'clicked', ...baseProps });
112
112
  toast.success(_jsxs(_Fragment, { children: ["Download starting... ", _jsx("br", {}), _jsx("code", { children: download.filename })] }));
@@ -124,26 +124,68 @@ const formatIconMap = {
124
124
  pdf: FileText,
125
125
  xml: FileCode,
126
126
  jats: FileCode,
127
- meca: FileArchive,
128
- omex: FileArchive,
127
+ meca: FileBox,
128
+ omex: FileBox,
129
+ zip: FileArchive,
130
+ 'tar.gz': FileArchive,
129
131
  tex: ScrollText,
130
132
  typst: ScrollText,
131
133
  mp3: FileVolume,
134
+ mp4: FileVideo,
135
+ avi: FileVideo,
136
+ mov: FileVideo,
137
+ csv: FileSpreadsheet,
138
+ xlsx: FileSpreadsheet,
139
+ xls: FileSpreadsheet,
140
+ pptx: Presentation,
141
+ ppt: Presentation,
142
+ key: Presentation,
143
+ py: FileCode2,
144
+ r: FileCode2,
145
+ html: FileCode2,
146
+ ipynb: FileCode2,
132
147
  };
133
- function getIconForFormat(format) {
134
- const lowerFormat = format.toLowerCase();
135
- for (const [key, icon] of Object.entries(formatIconMap)) {
136
- if (lowerFormat.includes(key)) {
137
- return icon;
148
+ /** Multi-part extensions that should be returned whole, rather than as their final segment */
149
+ const COMPOUND_EXTENSIONS = ['tar.gz', 'tar.bz2', 'tar.xz', 'tar.zst', 'tar.lz4'];
150
+ /**
151
+ * getExtension - lowercased extension of a file name or path, without the leading dot
152
+ *
153
+ * Compound extensions (e.g. `tar.gz`) are returned in full. A leading dot marks a
154
+ * hidden file rather than an extension, so `.gitignore` has no extension.
155
+ *
156
+ * @param filename - file name, path or url pathname
157
+ * @returns the extension, or undefined if there is none
158
+ */
159
+ export function getExtension(filename) {
160
+ if (!filename)
161
+ return undefined;
162
+ const base = filename.split(/[\\/]/).pop()?.replace(/^\.+/, '').toLowerCase();
163
+ if (!base)
164
+ return undefined;
165
+ const compound = COMPOUND_EXTENSIONS.find((ext) => base.endsWith(`.${ext}`));
166
+ if (compound)
167
+ return compound;
168
+ const lastDot = base.lastIndexOf('.');
169
+ if (lastDot < 1)
170
+ return undefined;
171
+ return base.slice(lastDot + 1) || undefined;
172
+ }
173
+ export function getIconForFormat(format, filename) {
174
+ if (format) {
175
+ const lowerFormat = format.toLowerCase();
176
+ for (const [key, icon] of Object.entries(formatIconMap)) {
177
+ if (lowerFormat.includes(key)) {
178
+ return icon;
179
+ }
138
180
  }
139
181
  }
140
- return File;
182
+ const extension = getExtension(filename);
183
+ return (extension && formatIconMap[extension]) || File;
141
184
  }
142
185
  function formatFromUrl(url) {
143
186
  try {
144
187
  const urlObj = new URL(url);
145
- const pathname = urlObj.pathname;
146
- const format = pathname.split('.').pop()?.toLowerCase();
188
+ const format = getExtension(urlObj.pathname);
147
189
  if (format && format.length <= 6) {
148
190
  return format;
149
191
  }
@@ -157,7 +199,7 @@ function renderDownloadItems(downloads, capture, ctx, options = {}) {
157
199
  return downloads.map((download, index) => {
158
200
  const format = download.format || formatFromUrl(download.url) || 'unknown';
159
201
  const downloadName = download.title || getFormatDisplayName(format);
160
- const icon = getIconForFormat(format);
202
+ const icon = getIconForFormat(format, download.filename);
161
203
  if (options.linkMode) {
162
204
  return (_jsx(DropdownMenuItem, { asChild: true, children: _jsxs("a", { href: download.url, download: download.filename, target: "_blank", rel: "noopener noreferrer", onClick: () => capture('article_download', {
163
205
  action: 'clicked',
@@ -2,5 +2,5 @@ import React from 'react';
2
2
  export declare function ArticleActionsDropdown({ children, onOpenChange, }: {
3
3
  children: React.ReactNode;
4
4
  onOpenChange?: (open: boolean) => void;
5
- }): import("react/jsx-runtime").JSX.Element;
5
+ }): React.JSX.Element;
6
6
  //# sourceMappingURL=article-actions-dropdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"article-actions-dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/ui/article-actions-dropdown.tsx"],"names":[],"mappings":"AAqCA,OAAO,KAAK,MAAM,OAAO,CAAC;AAuF1B,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,YAAY,GACb,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC,2CA4TA"}
1
+ {"version":3,"file":"article-actions-dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/ui/article-actions-dropdown.tsx"],"names":[],"mappings":"AAqCA,OAAO,KAAK,MAAM,OAAO,CAAC;AAuF1B,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,YAAY,GACb,EAAE;IACD,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACxC,qBA4TA"}