react-cheminfo 0.25.0 → 0.26.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 (416) hide show
  1. package/README.md +73 -2
  2. package/bin/check-messages.mjs +229 -0
  3. package/lib/about/ui/AboutBuild.d.ts.map +1 -1
  4. package/lib/about/ui/AboutBuild.js +15 -4
  5. package/lib/about/ui/AboutBuild.js.map +1 -1
  6. package/lib/about/ui/AboutCitations.d.ts.map +1 -1
  7. package/lib/about/ui/AboutCitations.js +3 -1
  8. package/lib/about/ui/AboutCitations.js.map +1 -1
  9. package/lib/about/ui/AboutPage.d.ts.map +1 -1
  10. package/lib/about/ui/AboutPage.js +9 -1
  11. package/lib/about/ui/AboutPage.js.map +1 -1
  12. package/lib/about/ui/AboutProvidedBy.d.ts.map +1 -1
  13. package/lib/about/ui/AboutProvidedBy.js +8 -3
  14. package/lib/about/ui/AboutProvidedBy.js.map +1 -1
  15. package/lib/capsule/ui/Capsule.d.ts +30 -0
  16. package/lib/capsule/ui/Capsule.d.ts.map +1 -0
  17. package/lib/capsule/ui/Capsule.js +12 -0
  18. package/lib/capsule/ui/Capsule.js.map +1 -0
  19. package/lib/capsule/ui/CapsuleFilter.d.ts +19 -3
  20. package/lib/capsule/ui/CapsuleFilter.d.ts.map +1 -1
  21. package/lib/capsule/ui/CapsuleFilter.js +14 -44
  22. package/lib/capsule/ui/CapsuleFilter.js.map +1 -1
  23. package/lib/capsule/ui/capsuleFilterCapsules.d.ts +15 -0
  24. package/lib/capsule/ui/capsuleFilterCapsules.d.ts.map +1 -0
  25. package/lib/capsule/ui/capsuleFilterCapsules.js +47 -0
  26. package/lib/capsule/ui/capsuleFilterCapsules.js.map +1 -0
  27. package/lib/chart/ui/ChartTrackingLayer.d.ts.map +1 -1
  28. package/lib/chart/ui/ChartTrackingLayer.js +4 -2
  29. package/lib/chart/ui/ChartTrackingLayer.js.map +1 -1
  30. package/lib/chrome/ui/SiteHeader.d.ts +1 -1
  31. package/lib/chrome/ui/SiteHeader.d.ts.map +1 -1
  32. package/lib/chrome/ui/SiteHeader.js +4 -2
  33. package/lib/chrome/ui/SiteHeader.js.map +1 -1
  34. package/lib/citation/ui/CitationMenu.d.ts +1 -1
  35. package/lib/citation/ui/CitationMenu.d.ts.map +1 -1
  36. package/lib/citation/ui/CitationMenu.js +7 -3
  37. package/lib/citation/ui/CitationMenu.js.map +1 -1
  38. package/lib/citation/ui/CiteButton.d.ts +1 -1
  39. package/lib/citation/ui/CiteButton.d.ts.map +1 -1
  40. package/lib/citation/ui/CiteButton.js +3 -1
  41. package/lib/citation/ui/CiteButton.js.map +1 -1
  42. package/lib/citation/ui/CopyFormatEntries.d.ts.map +1 -1
  43. package/lib/citation/ui/CopyFormatEntries.js +3 -1
  44. package/lib/citation/ui/CopyFormatEntries.js.map +1 -1
  45. package/lib/citation/ui/WorkEntry.d.ts.map +1 -1
  46. package/lib/citation/ui/WorkEntry.js +3 -1
  47. package/lib/citation/ui/WorkEntry.js.map +1 -1
  48. package/lib/citation/ui/entries.d.ts.map +1 -1
  49. package/lib/citation/ui/entries.js +8 -2
  50. package/lib/citation/ui/entries.js.map +1 -1
  51. package/lib/citation/ui/useCopyFeedback.d.ts.map +1 -1
  52. package/lib/citation/ui/useCopyFeedback.js +9 -4
  53. package/lib/citation/ui/useCopyFeedback.js.map +1 -1
  54. package/lib/clipboard/ui/ClickToCopy.d.ts.map +1 -1
  55. package/lib/clipboard/ui/ClickToCopy.js +12 -6
  56. package/lib/clipboard/ui/ClickToCopy.js.map +1 -1
  57. package/lib/clipboard/ui/CopyButton.d.ts +3 -3
  58. package/lib/clipboard/ui/CopyButton.d.ts.map +1 -1
  59. package/lib/clipboard/ui/CopyButton.js +7 -4
  60. package/lib/clipboard/ui/CopyButton.js.map +1 -1
  61. package/lib/color/ui/ColorScaleEditor.d.ts.map +1 -1
  62. package/lib/color/ui/ColorScaleEditor.js +15 -10
  63. package/lib/color/ui/ColorScaleEditor.js.map +1 -1
  64. package/lib/color/ui/ColorScaleEntry.d.ts.map +1 -1
  65. package/lib/color/ui/ColorScaleEntry.js +4 -2
  66. package/lib/color/ui/ColorScaleEntry.js.map +1 -1
  67. package/lib/color/ui/ColorScaleLegend.d.ts.map +1 -1
  68. package/lib/color/ui/ColorScaleLegend.js +7 -1
  69. package/lib/color/ui/ColorScaleLegend.js.map +1 -1
  70. package/lib/color/ui/ColorScaleSelect.d.ts.map +1 -1
  71. package/lib/color/ui/ColorScaleSelect.js +8 -4
  72. package/lib/color/ui/ColorScaleSelect.js.map +1 -1
  73. package/lib/confirm/ui/ConfirmButton.d.ts +2 -2
  74. package/lib/confirm/ui/ConfirmButton.d.ts.map +1 -1
  75. package/lib/confirm/ui/ConfirmButton.js +4 -2
  76. package/lib/confirm/ui/ConfirmButton.js.map +1 -1
  77. package/lib/core.d.ts +1 -0
  78. package/lib/core.d.ts.map +1 -1
  79. package/lib/core.js +1 -0
  80. package/lib/core.js.map +1 -1
  81. package/lib/credits/ui/CreditsList.d.ts.map +1 -1
  82. package/lib/credits/ui/CreditsList.js +3 -1
  83. package/lib/credits/ui/CreditsList.js.map +1 -1
  84. package/lib/delimited/ui/DelimitedTextDialog.d.ts.map +1 -1
  85. package/lib/delimited/ui/DelimitedTextDialog.js +5 -2
  86. package/lib/delimited/ui/DelimitedTextDialog.js.map +1 -1
  87. package/lib/delimited/ui/DelimitedTextPanel.d.ts.map +1 -1
  88. package/lib/delimited/ui/DelimitedTextPanel.js +8 -8
  89. package/lib/delimited/ui/DelimitedTextPanel.js.map +1 -1
  90. package/lib/download/ui/FigureDownload.d.ts +2 -2
  91. package/lib/download/ui/FigureDownload.d.ts.map +1 -1
  92. package/lib/download/ui/FigureDownload.js +4 -2
  93. package/lib/download/ui/FigureDownload.js.map +1 -1
  94. package/lib/download/ui/FigureDownloadPanel.d.ts.map +1 -1
  95. package/lib/download/ui/FigureDownloadPanel.js +24 -18
  96. package/lib/download/ui/FigureDownloadPanel.js.map +1 -1
  97. package/lib/ecosystem/ui/EcosystemButton.d.ts +1 -1
  98. package/lib/ecosystem/ui/EcosystemButton.d.ts.map +1 -1
  99. package/lib/ecosystem/ui/EcosystemButton.js +4 -2
  100. package/lib/ecosystem/ui/EcosystemButton.js.map +1 -1
  101. package/lib/ecosystem/ui/EcosystemLinks.d.ts +1 -1
  102. package/lib/ecosystem/ui/EcosystemLinks.d.ts.map +1 -1
  103. package/lib/ecosystem/ui/EcosystemLinks.js +5 -2
  104. package/lib/ecosystem/ui/EcosystemLinks.js.map +1 -1
  105. package/lib/ecosystem/ui/EcosystemMenu.d.ts.map +1 -1
  106. package/lib/ecosystem/ui/EcosystemMenu.js +3 -1
  107. package/lib/ecosystem/ui/EcosystemMenu.js.map +1 -1
  108. package/lib/ecosystem/ui/SiteGroupSection.d.ts.map +1 -1
  109. package/lib/ecosystem/ui/SiteGroupSection.js +3 -1
  110. package/lib/ecosystem/ui/SiteGroupSection.js.map +1 -1
  111. package/lib/ecosystem/ui/SiteTile.d.ts.map +1 -1
  112. package/lib/ecosystem/ui/SiteTile.js +3 -1
  113. package/lib/ecosystem/ui/SiteTile.js.map +1 -1
  114. package/lib/error/ui/ErrorFallback.d.ts +2 -2
  115. package/lib/error/ui/ErrorFallback.d.ts.map +1 -1
  116. package/lib/error/ui/ErrorFallback.js +4 -2
  117. package/lib/error/ui/ErrorFallback.js.map +1 -1
  118. package/lib/help/ui/HelpBody.d.ts.map +1 -1
  119. package/lib/help/ui/HelpBody.js +3 -1
  120. package/lib/help/ui/HelpBody.js.map +1 -1
  121. package/lib/help/ui/HelpIcon.d.ts +2 -1
  122. package/lib/help/ui/HelpIcon.d.ts.map +1 -1
  123. package/lib/help/ui/HelpIcon.js +4 -2
  124. package/lib/help/ui/HelpIcon.js.map +1 -1
  125. package/lib/help/ui/HelpToolbarButton.d.ts.map +1 -1
  126. package/lib/help/ui/HelpToolbarButton.js +3 -1
  127. package/lib/help/ui/HelpToolbarButton.js.map +1 -1
  128. package/lib/help/ui/helpName.d.ts +5 -1
  129. package/lib/help/ui/helpName.d.ts.map +1 -1
  130. package/lib/help/ui/helpName.js +4 -2
  131. package/lib/help/ui/helpName.js.map +1 -1
  132. package/lib/i18n/core/chromeCatalog.d.ts +21 -0
  133. package/lib/i18n/core/chromeCatalog.d.ts.map +1 -0
  134. package/lib/i18n/core/chromeCatalog.js +29 -0
  135. package/lib/i18n/core/chromeCatalog.js.map +1 -0
  136. package/lib/i18n/core/index.d.ts +12 -0
  137. package/lib/i18n/core/index.d.ts.map +1 -0
  138. package/lib/i18n/core/index.js +6 -0
  139. package/lib/i18n/core/index.js.map +1 -0
  140. package/lib/i18n/core/languages.d.ts +32 -0
  141. package/lib/i18n/core/languages.d.ts.map +1 -0
  142. package/lib/i18n/core/languages.js +41 -0
  143. package/lib/i18n/core/languages.js.map +1 -0
  144. package/lib/i18n/core/messageCatalog.d.ts +113 -0
  145. package/lib/i18n/core/messageCatalog.d.ts.map +1 -0
  146. package/lib/i18n/core/messageCatalog.js +135 -0
  147. package/lib/i18n/core/messageCatalog.js.map +1 -0
  148. package/lib/i18n/core/messageValues.d.ts +3 -0
  149. package/lib/i18n/core/messageValues.d.ts.map +1 -0
  150. package/lib/i18n/core/messageValues.js +2 -0
  151. package/lib/i18n/core/messageValues.js.map +1 -0
  152. package/lib/i18n/core/session.d.ts +51 -0
  153. package/lib/i18n/core/session.d.ts.map +1 -0
  154. package/lib/i18n/core/session.js +64 -0
  155. package/lib/i18n/core/session.js.map +1 -0
  156. package/lib/i18n/core/translateSetup.d.ts +28 -0
  157. package/lib/i18n/core/translateSetup.d.ts.map +1 -0
  158. package/lib/i18n/core/translateSetup.js +30 -0
  159. package/lib/i18n/core/translateSetup.js.map +1 -0
  160. package/lib/i18n/ui/LanguageSelect.d.ts +37 -0
  161. package/lib/i18n/ui/LanguageSelect.d.ts.map +1 -0
  162. package/lib/i18n/ui/LanguageSelect.js +27 -0
  163. package/lib/i18n/ui/LanguageSelect.js.map +1 -0
  164. package/lib/i18n/ui/index.d.ts +6 -0
  165. package/lib/i18n/ui/index.d.ts.map +1 -0
  166. package/lib/i18n/ui/index.js +4 -0
  167. package/lib/i18n/ui/index.js.map +1 -0
  168. package/lib/i18n/ui/useLanguage.d.ts +23 -0
  169. package/lib/i18n/ui/useLanguage.d.ts.map +1 -0
  170. package/lib/i18n/ui/useLanguage.js +36 -0
  171. package/lib/i18n/ui/useLanguage.js.map +1 -0
  172. package/lib/i18n/ui/useT.d.ts +47 -0
  173. package/lib/i18n/ui/useT.d.ts.map +1 -0
  174. package/lib/i18n/ui/useT.js +51 -0
  175. package/lib/i18n/ui/useT.js.map +1 -0
  176. package/lib/locales/de.json +442 -0
  177. package/lib/locales/en.json +442 -0
  178. package/lib/locales/es.json +442 -0
  179. package/lib/locales/fr.json +442 -0
  180. package/lib/molecule3d/core/gestures.d.ts +10 -0
  181. package/lib/molecule3d/core/gestures.d.ts.map +1 -1
  182. package/lib/molecule3d/core/gestures.js +39 -7
  183. package/lib/molecule3d/core/gestures.js.map +1 -1
  184. package/lib/molecule3d/ui/Molecule3DExport.d.ts.map +1 -1
  185. package/lib/molecule3d/ui/Molecule3DExport.js +3 -1
  186. package/lib/molecule3d/ui/Molecule3DExport.js.map +1 -1
  187. package/lib/molecule3d/ui/Molecule3DHelp.d.ts.map +1 -1
  188. package/lib/molecule3d/ui/Molecule3DHelp.js +7 -2
  189. package/lib/molecule3d/ui/Molecule3DHelp.js.map +1 -1
  190. package/lib/molecule3d/ui/Molecule3DOptions.d.ts.map +1 -1
  191. package/lib/molecule3d/ui/Molecule3DOptions.js +9 -9
  192. package/lib/molecule3d/ui/Molecule3DOptions.js.map +1 -1
  193. package/lib/molecule3d/ui/Molecule3DSurfaceColors.d.ts.map +1 -1
  194. package/lib/molecule3d/ui/Molecule3DSurfaceColors.js +8 -8
  195. package/lib/molecule3d/ui/Molecule3DSurfaceColors.js.map +1 -1
  196. package/lib/molecule3d/ui/Molecule3DToolbar.d.ts.map +1 -1
  197. package/lib/molecule3d/ui/Molecule3DToolbar.js +15 -10
  198. package/lib/molecule3d/ui/Molecule3DToolbar.js.map +1 -1
  199. package/lib/molecule3d/ui/MoleculeViewer3D.d.ts.map +1 -1
  200. package/lib/molecule3d/ui/MoleculeViewer3D.js +6 -3
  201. package/lib/molecule3d/ui/MoleculeViewer3D.js.map +1 -1
  202. package/lib/orbital/ui/AtomicOrbitalCanvas.d.ts.map +1 -1
  203. package/lib/orbital/ui/AtomicOrbitalCanvas.js +3 -1
  204. package/lib/orbital/ui/AtomicOrbitalCanvas.js.map +1 -1
  205. package/lib/orbital/ui/AtomicOrbitalControls.d.ts.map +1 -1
  206. package/lib/orbital/ui/AtomicOrbitalControls.js +12 -15
  207. package/lib/orbital/ui/AtomicOrbitalControls.js.map +1 -1
  208. package/lib/orbital/ui/AtomicOrbitalViewer.d.ts.map +1 -1
  209. package/lib/orbital/ui/AtomicOrbitalViewer.js +6 -3
  210. package/lib/orbital/ui/AtomicOrbitalViewer.js.map +1 -1
  211. package/lib/orbital/ui/capability.d.ts +4 -0
  212. package/lib/orbital/ui/capability.d.ts.map +1 -1
  213. package/lib/orbital/ui/capability.js +4 -0
  214. package/lib/orbital/ui/capability.js.map +1 -1
  215. package/lib/overlay/ui/OverlayBar.d.ts +1 -1
  216. package/lib/overlay/ui/OverlayBar.d.ts.map +1 -1
  217. package/lib/overlay/ui/OverlayBar.js +6 -3
  218. package/lib/overlay/ui/OverlayBar.js.map +1 -1
  219. package/lib/overlay/ui/OverlayInfo.d.ts +1 -1
  220. package/lib/overlay/ui/OverlayInfo.d.ts.map +1 -1
  221. package/lib/overlay/ui/OverlayInfo.js +5 -2
  222. package/lib/overlay/ui/OverlayInfo.js.map +1 -1
  223. package/lib/overlay/ui/OverlayPanel.d.ts +9 -2
  224. package/lib/overlay/ui/OverlayPanel.d.ts.map +1 -1
  225. package/lib/overlay/ui/OverlayPanel.js +5 -11
  226. package/lib/overlay/ui/OverlayPanel.js.map +1 -1
  227. package/lib/overlay/ui/OverlayReadout.d.ts.map +1 -1
  228. package/lib/overlay/ui/OverlayReadout.js +3 -1
  229. package/lib/overlay/ui/OverlayReadout.js.map +1 -1
  230. package/lib/pedagogy/ui/ExerciseActions.d.ts +1 -1
  231. package/lib/pedagogy/ui/ExerciseActions.d.ts.map +1 -1
  232. package/lib/pedagogy/ui/ExerciseActions.js +9 -2
  233. package/lib/pedagogy/ui/ExerciseActions.js.map +1 -1
  234. package/lib/pedagogy/ui/ExerciseProgressHeader.d.ts +1 -1
  235. package/lib/pedagogy/ui/ExerciseProgressHeader.d.ts.map +1 -1
  236. package/lib/pedagogy/ui/ExerciseProgressHeader.js +9 -5
  237. package/lib/pedagogy/ui/ExerciseProgressHeader.js.map +1 -1
  238. package/lib/pedagogy/ui/GlossaryIndex.d.ts +1 -1
  239. package/lib/pedagogy/ui/GlossaryIndex.d.ts.map +1 -1
  240. package/lib/pedagogy/ui/GlossaryIndex.js +6 -8
  241. package/lib/pedagogy/ui/GlossaryIndex.js.map +1 -1
  242. package/lib/pedagogy/ui/HintLadder.d.ts +2 -2
  243. package/lib/pedagogy/ui/HintLadder.d.ts.map +1 -1
  244. package/lib/pedagogy/ui/HintLadder.js +8 -2
  245. package/lib/pedagogy/ui/HintLadder.js.map +1 -1
  246. package/lib/pedagogy/ui/SyntaxTooltip.d.ts +4 -4
  247. package/lib/pedagogy/ui/SyntaxTooltip.d.ts.map +1 -1
  248. package/lib/pedagogy/ui/SyntaxTooltip.js +4 -2
  249. package/lib/pedagogy/ui/SyntaxTooltip.js.map +1 -1
  250. package/lib/pedagogy/ui/TutorialStepStrip.d.ts.map +1 -1
  251. package/lib/pedagogy/ui/TutorialStepStrip.js +7 -2
  252. package/lib/pedagogy/ui/TutorialStepStrip.js.map +1 -1
  253. package/lib/periodic/ui/CategoryLegend.d.ts.map +1 -1
  254. package/lib/periodic/ui/CategoryLegend.js +3 -1
  255. package/lib/periodic/ui/CategoryLegend.js.map +1 -1
  256. package/lib/periodic/ui/ElementCell.d.ts.map +1 -1
  257. package/lib/periodic/ui/ElementCell.js +7 -1
  258. package/lib/periodic/ui/ElementCell.js.map +1 -1
  259. package/lib/periodic/ui/PeriodicTable.d.ts.map +1 -1
  260. package/lib/periodic/ui/PeriodicTable.js +3 -1
  261. package/lib/periodic/ui/PeriodicTable.js.map +1 -1
  262. package/lib/periodic/ui/PeriodicTableChrome.d.ts.map +1 -1
  263. package/lib/periodic/ui/PeriodicTableChrome.js +4 -2
  264. package/lib/periodic/ui/PeriodicTableChrome.js.map +1 -1
  265. package/lib/share/ui/ShareButton.d.ts +2 -2
  266. package/lib/share/ui/ShareButton.d.ts.map +1 -1
  267. package/lib/share/ui/ShareButton.js +5 -2
  268. package/lib/share/ui/ShareButton.js.map +1 -1
  269. package/lib/share/ui/ShareConfigOptions.d.ts.map +1 -1
  270. package/lib/share/ui/ShareConfigOptions.js +4 -2
  271. package/lib/share/ui/ShareConfigOptions.js.map +1 -1
  272. package/lib/share/ui/ShareDialog.d.ts.map +1 -1
  273. package/lib/share/ui/ShareDialog.js +3 -1
  274. package/lib/share/ui/ShareDialog.js.map +1 -1
  275. package/lib/share/ui/ShareDialogContent.d.ts.map +1 -1
  276. package/lib/share/ui/ShareDialogContent.js +10 -1
  277. package/lib/share/ui/ShareDialogContent.js.map +1 -1
  278. package/lib/share/ui/SharePresetTabs.d.ts.map +1 -1
  279. package/lib/share/ui/SharePresetTabs.js +3 -1
  280. package/lib/share/ui/SharePresetTabs.js.map +1 -1
  281. package/lib/slides/ui/BackToSlides.d.ts.map +1 -1
  282. package/lib/slides/ui/BackToSlides.js +4 -2
  283. package/lib/slides/ui/BackToSlides.js.map +1 -1
  284. package/lib/slides/ui/EmbedSlide.d.ts.map +1 -1
  285. package/lib/slides/ui/EmbedSlide.js +3 -1
  286. package/lib/slides/ui/EmbedSlide.js.map +1 -1
  287. package/lib/slides/ui/Slide.d.ts.map +1 -1
  288. package/lib/slides/ui/Slide.js +3 -1
  289. package/lib/slides/ui/Slide.js.map +1 -1
  290. package/lib/slides/ui/SlideshowBar.d.ts.map +1 -1
  291. package/lib/slides/ui/SlideshowBar.js +5 -3
  292. package/lib/slides/ui/SlideshowBar.js.map +1 -1
  293. package/lib/slides/ui/TalkList.d.ts +1 -1
  294. package/lib/slides/ui/TalkList.d.ts.map +1 -1
  295. package/lib/slides/ui/TalkList.js +4 -2
  296. package/lib/slides/ui/TalkList.js.map +1 -1
  297. package/lib/structure/core/editorGuide.d.ts +14 -0
  298. package/lib/structure/core/editorGuide.d.ts.map +1 -1
  299. package/lib/structure/core/editorGuide.js +117 -19
  300. package/lib/structure/core/editorGuide.js.map +1 -1
  301. package/lib/structure/core/editorToolbar.d.ts +3 -1
  302. package/lib/structure/core/editorToolbar.d.ts.map +1 -1
  303. package/lib/structure/core/editorToolbar.js +44 -23
  304. package/lib/structure/core/editorToolbar.js.map +1 -1
  305. package/lib/structure/ui/EditorHelpButton.d.ts.map +1 -1
  306. package/lib/structure/ui/EditorHelpButton.js +3 -2
  307. package/lib/structure/ui/EditorHelpButton.js.map +1 -1
  308. package/lib/structure/ui/StructureEditor.d.ts.map +1 -1
  309. package/lib/structure/ui/StructureEditor.js +3 -1
  310. package/lib/structure/ui/StructureEditor.js.map +1 -1
  311. package/lib/structure/ui/StructureEditorHelp.d.ts.map +1 -1
  312. package/lib/structure/ui/StructureEditorHelp.js +12 -3
  313. package/lib/structure/ui/StructureEditorHelp.js.map +1 -1
  314. package/lib/structure/ui/ToolbarTooltip.d.ts.map +1 -1
  315. package/lib/structure/ui/ToolbarTooltip.js +5 -3
  316. package/lib/structure/ui/ToolbarTooltip.js.map +1 -1
  317. package/lib/ui.d.ts +1 -0
  318. package/lib/ui.d.ts.map +1 -1
  319. package/lib/ui.js +1 -0
  320. package/lib/ui.js.map +1 -1
  321. package/package.json +4 -2
  322. package/src/about/ui/AboutBuild.tsx +23 -16
  323. package/src/about/ui/AboutCitations.tsx +3 -1
  324. package/src/about/ui/AboutPage.tsx +38 -12
  325. package/src/about/ui/AboutProvidedBy.tsx +13 -3
  326. package/src/capsule/ui/Capsule.tsx +48 -0
  327. package/src/capsule/ui/CapsuleFilter.tsx +38 -114
  328. package/src/capsule/ui/capsuleFilterCapsules.tsx +110 -0
  329. package/src/chart/ui/ChartTrackingLayer.tsx +4 -2
  330. package/src/chrome/ui/SiteHeader.tsx +5 -3
  331. package/src/citation/ui/CitationMenu.tsx +9 -5
  332. package/src/citation/ui/CiteButton.tsx +4 -2
  333. package/src/citation/ui/CopyFormatEntries.tsx +3 -1
  334. package/src/citation/ui/WorkEntry.tsx +5 -3
  335. package/src/citation/ui/entries.tsx +9 -2
  336. package/src/citation/ui/useCopyFeedback.ts +11 -4
  337. package/src/clipboard/ui/ClickToCopy.tsx +15 -5
  338. package/src/clipboard/ui/CopyButton.tsx +14 -10
  339. package/src/color/ui/ColorScaleEditor.tsx +17 -15
  340. package/src/color/ui/ColorScaleEntry.tsx +7 -3
  341. package/src/color/ui/ColorScaleLegend.tsx +7 -1
  342. package/src/color/ui/ColorScaleSelect.tsx +12 -6
  343. package/src/confirm/ui/ConfirmButton.tsx +9 -11
  344. package/src/core.ts +1 -0
  345. package/src/credits/ui/CreditsList.tsx +5 -1
  346. package/src/delimited/ui/DelimitedTextDialog.tsx +10 -10
  347. package/src/delimited/ui/DelimitedTextPanel.tsx +19 -12
  348. package/src/download/ui/FigureDownload.tsx +7 -5
  349. package/src/download/ui/FigureDownloadPanel.tsx +31 -25
  350. package/src/ecosystem/ui/EcosystemButton.tsx +5 -3
  351. package/src/ecosystem/ui/EcosystemLinks.tsx +10 -10
  352. package/src/ecosystem/ui/EcosystemMenu.tsx +3 -1
  353. package/src/ecosystem/ui/SiteGroupSection.tsx +6 -2
  354. package/src/ecosystem/ui/SiteTile.tsx +6 -2
  355. package/src/error/ui/ErrorFallback.tsx +13 -12
  356. package/src/help/ui/HelpBody.tsx +4 -2
  357. package/src/help/ui/HelpIcon.tsx +6 -3
  358. package/src/help/ui/HelpToolbarButton.tsx +4 -1
  359. package/src/help/ui/helpName.ts +10 -2
  360. package/src/i18n/core/chromeCatalog.ts +35 -0
  361. package/src/i18n/core/index.ts +26 -0
  362. package/src/i18n/core/languages.ts +46 -0
  363. package/src/i18n/core/messageCatalog.ts +202 -0
  364. package/src/i18n/core/messageValues.ts +2 -0
  365. package/src/i18n/core/session.ts +82 -0
  366. package/src/i18n/core/translateSetup.ts +47 -0
  367. package/src/i18n/ui/LanguageSelect.tsx +72 -0
  368. package/src/i18n/ui/index.ts +9 -0
  369. package/src/i18n/ui/useLanguage.ts +48 -0
  370. package/src/i18n/ui/useT.ts +90 -0
  371. package/src/locales/de.json +442 -0
  372. package/src/locales/en.json +442 -0
  373. package/src/locales/es.json +442 -0
  374. package/src/locales/fr.json +442 -0
  375. package/src/molecule3d/core/gestures.ts +44 -7
  376. package/src/molecule3d/ui/Molecule3DExport.tsx +3 -1
  377. package/src/molecule3d/ui/Molecule3DHelp.tsx +17 -6
  378. package/src/molecule3d/ui/Molecule3DOptions.tsx +13 -13
  379. package/src/molecule3d/ui/Molecule3DSurfaceColors.tsx +16 -13
  380. package/src/molecule3d/ui/Molecule3DToolbar.tsx +29 -18
  381. package/src/molecule3d/ui/MoleculeViewer3D.tsx +13 -8
  382. package/src/orbital/ui/AtomicOrbitalCanvas.tsx +3 -1
  383. package/src/orbital/ui/AtomicOrbitalControls.tsx +15 -20
  384. package/src/orbital/ui/AtomicOrbitalViewer.tsx +13 -13
  385. package/src/orbital/ui/capability.ts +10 -0
  386. package/src/overlay/ui/OverlayBar.tsx +7 -4
  387. package/src/overlay/ui/OverlayInfo.tsx +6 -3
  388. package/src/overlay/ui/OverlayPanel.tsx +10 -7
  389. package/src/overlay/ui/OverlayReadout.tsx +3 -1
  390. package/src/pedagogy/ui/ExerciseActions.tsx +16 -6
  391. package/src/pedagogy/ui/ExerciseProgressHeader.tsx +13 -11
  392. package/src/pedagogy/ui/GlossaryIndex.tsx +11 -12
  393. package/src/pedagogy/ui/HintLadder.tsx +15 -12
  394. package/src/pedagogy/ui/SyntaxTooltip.tsx +9 -7
  395. package/src/pedagogy/ui/TutorialStepStrip.tsx +8 -3
  396. package/src/periodic/ui/CategoryLegend.tsx +6 -1
  397. package/src/periodic/ui/ElementCell.tsx +7 -1
  398. package/src/periodic/ui/PeriodicTable.tsx +3 -1
  399. package/src/periodic/ui/PeriodicTableChrome.tsx +4 -2
  400. package/src/share/ui/ShareButton.tsx +8 -5
  401. package/src/share/ui/ShareConfigOptions.tsx +6 -7
  402. package/src/share/ui/ShareDialog.tsx +3 -1
  403. package/src/share/ui/ShareDialogContent.tsx +20 -10
  404. package/src/share/ui/SharePresetTabs.tsx +3 -1
  405. package/src/slides/ui/BackToSlides.tsx +4 -2
  406. package/src/slides/ui/EmbedSlide.tsx +3 -3
  407. package/src/slides/ui/Slide.tsx +3 -1
  408. package/src/slides/ui/SlideshowBar.tsx +12 -4
  409. package/src/slides/ui/TalkList.tsx +8 -10
  410. package/src/structure/core/editorGuide.ts +126 -19
  411. package/src/structure/core/editorToolbar.ts +52 -24
  412. package/src/structure/ui/EditorHelpButton.tsx +9 -4
  413. package/src/structure/ui/StructureEditor.tsx +7 -1
  414. package/src/structure/ui/StructureEditorHelp.tsx +34 -11
  415. package/src/structure/ui/ToolbarTooltip.tsx +8 -4
  416. package/src/ui.ts +1 -0
@@ -10,7 +10,7 @@ export interface OverlayInfoProps {
10
10
  /**
11
11
  * What the glyph is called, for the pointer and for a screen reader. Phrase
12
12
  * it as the question the reader has, not as the name of a feature.
13
- * @default 'What am I looking at?'
13
+ * @default the chrome's own line, in the language of the page
14
14
  */
15
15
  label?: string;
16
16
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayInfo.d.ts","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayInfo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAiB,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQpE,sCAAsC;AACtC,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC1C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,CAqBjE"}
1
+ {"version":3,"file":"OverlayInfo.d.ts","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayInfo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAiB,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AASpE,sCAAsC;AACtC,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC1C;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,YAAY,CAuBjE"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { PopoverNext } from '@blueprintjs/core';
3
3
  import { useState } from 'react';
4
+ import { useChromeT } from "../../i18n/ui/useT.js";
4
5
  import { OverlayIconButton } from "./OverlayIconButton.js";
5
6
  import { useOverlaySurface } from "./overlaySurface.js";
6
7
  /**
@@ -19,11 +20,13 @@ import { useOverlaySurface } from "./overlaySurface.js";
19
20
  * @returns The glyph and its explanation.
20
21
  */
21
22
  export function OverlayInfo(props) {
22
- const { children, label = 'What am I looking at?' } = props;
23
+ const { children, label } = props;
24
+ const t = useChromeT();
25
+ const name = label ?? t('overlay.whatAmILookingAt');
23
26
  const { placement = 'bottom-end', testId } = props;
24
27
  const { metrics } = useOverlaySurface();
25
28
  const [open, setOpen] = useState(false);
26
- return (_jsx(PopoverNext, { placement: placement, onInteraction: (next) => setOpen(next), content: _jsx("div", { style: explanationStyle(metrics), children: children }), children: _jsx(OverlayIconButton, { icon: "help", label: label, active: open, testId: testId, opensMenu: true }) }));
29
+ return (_jsx(PopoverNext, { placement: placement, onInteraction: (next) => setOpen(next), content: _jsx("div", { style: explanationStyle(metrics), children: children }), children: _jsx(OverlayIconButton, { icon: "help", label: name, active: open, testId: testId, opensMenu: true }) }));
27
30
  }
28
31
  /**
29
32
  * The paragraph the glyph opens.
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayInfo.js","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayInfo.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAIjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAyB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA2BxD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EAAE,QAAQ,EAAE,KAAK,GAAG,uBAAuB,EAAE,GAAG,KAAK,CAAC;IAC5D,MAAM,EAAE,SAAS,GAAG,YAAY,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACnD,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACxC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,OAAO,CACL,KAAC,WAAW,IACV,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EACtC,OAAO,EAAE,cAAK,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,YAAG,QAAQ,GAAO,YAEhE,KAAC,iBAAiB,IAChB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,SACT,GACU,CACf,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,OAAuB;IAC/C,OAAO;QACL,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI;QAC9D,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,OAAO,CAAC,SAAS,GAAG,CAAC;QAC/B,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,QAAQ;KACnB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"OverlayInfo.js","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayInfo.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAyB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA2BxD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAClC,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,0BAA0B,CAAC,CAAC;IACpD,MAAM,EAAE,SAAS,GAAG,YAAY,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACnD,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACxC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,OAAO,CACL,KAAC,WAAW,IACV,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EACtC,OAAO,EAAE,cAAK,KAAK,EAAE,gBAAgB,CAAC,OAAO,CAAC,YAAG,QAAQ,GAAO,YAEhE,KAAC,iBAAiB,IAChB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,MAAM,EACd,SAAS,SACT,GACU,CACf,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,gBAAgB,CAAC,OAAuB;IAC/C,OAAO;QACL,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,GAAG,OAAO,CAAC,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI;QAC9D,KAAK,EAAE,aAAa;QACpB,QAAQ,EAAE,OAAO,CAAC,SAAS,GAAG,CAAC;QAC/B,UAAU,EAAE,GAAG;QACf,QAAQ,EAAE,QAAQ;KACnB,CAAC;AACJ,CAAC"}
@@ -18,7 +18,7 @@ export interface OverlayPanelProps {
18
18
  onReset?: () => void;
19
19
  /**
20
20
  * What that way back reads.
21
- * @default 'Reset'
21
+ * @default the chrome's own word for it, in the language of the page
22
22
  */
23
23
  resetLabel?: string;
24
24
  /**
@@ -46,7 +46,7 @@ export interface OverlayPanelProps {
46
46
  * the panel says that the dotted names are offering anything, so one
47
47
  * sentence says it once. Pass `''` for a panel whose names carry no help at
48
48
  * all, where the line would be a promise the panel does not keep.
49
- * @default 'Hover a name for what it does.'
49
+ * @default the chrome's own line, in the language of the page
50
50
  */
51
51
  hint?: string;
52
52
  /**
@@ -78,4 +78,11 @@ export interface OverlayPanelProps {
78
78
  * @returns The panel.
79
79
  */
80
80
  export declare function OverlayPanel(props: OverlayPanelProps): ReactElement;
81
+ /**
82
+ * The sentence that teaches the convention.
83
+ *
84
+ * It names the gesture rather than the mark, because a reader who has noticed
85
+ * the dotted underlines has already asked this question and one who has not
86
+ * would not recognise a description of them.
87
+ */
81
88
  //# sourceMappingURL=OverlayPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayPanel.d.ts","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAqB9D,uCAAuC;AACvC,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CAmDnE"}
1
+ {"version":3,"file":"OverlayPanel.d.ts","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGrD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAsB9D,uCAAuC;AACvC,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;IACd,oFAAoF;IACpF,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,YAAY,CAsDnE;AAED;;;;;;GAMG"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useId, useMemo } from 'react';
3
3
  import { HelpIcon } from "../../help/ui/HelpIcon.js";
4
+ import { useChromeT } from "../../i18n/ui/useT.js";
4
5
  import { OverlayPanelContext } from "./overlayPanelContext.js";
5
6
  import { overlayPanelBodyStyle, overlayPanelFooterStyle, overlayPanelHeaderStyle, overlayPanelHintStyle, overlayPanelResetStyle, overlayPanelSurfaceStyle, overlayPanelTitleStyle, } from "./overlayPanelStyles.js";
6
7
  import { overlayNameColumnWidth } from "./overlayRowStyles.js";
@@ -23,21 +24,14 @@ import { useOverlayInteraction } from "./useOverlayInteraction.js";
23
24
  * @returns The panel.
24
25
  */
25
26
  export function OverlayPanel(props) {
26
- const { title, children, onReset, resetLabel = 'Reset', help } = props;
27
- const { actions, hint = DEFAULT_HINT, nameWidth, testId } = props;
27
+ const { title, children, onReset, resetLabel, help } = props;
28
+ const t = useChromeT();
29
+ const { actions, hint, nameWidth, testId } = props;
28
30
  const { metrics } = useOverlaySurface();
29
31
  const titleId = useId();
30
32
  const reset = useOverlayInteraction();
31
33
  const width = nameWidth ?? overlayNameColumnWidth(metrics);
32
34
  const shape = useMemo(() => ({ nameWidth: width }), [width]);
33
- return (_jsxs("div", { role: "group", "aria-labelledby": titleId, "data-testid": testId, style: overlayPanelSurfaceStyle(metrics), children: [_jsxs("div", { style: overlayPanelHeaderStyle(metrics), children: [_jsxs("span", { style: overlayPanelTitleStyle(metrics), children: [_jsx("span", { id: titleId, children: title }), help === undefined ? null : (_jsx(HelpIcon, { content: help, size: metrics.fontSize }))] }), onReset === undefined ? null : (_jsx("button", { type: "button", style: overlayPanelResetStyle(metrics, reset), onClick: onReset, ...reset.handlers, children: resetLabel }))] }), _jsxs("div", { style: overlayPanelBodyStyle(metrics), children: [_jsx(OverlayPanelContext.Provider, { value: shape, children: children }), hint === '' ? null : (_jsx("p", { style: overlayPanelHintStyle(metrics), children: hint }))] }), actions === undefined ? null : (_jsx("div", { style: overlayPanelFooterStyle(metrics), children: actions }))] }));
35
+ return (_jsxs("div", { role: "group", "aria-labelledby": titleId, "data-testid": testId, style: overlayPanelSurfaceStyle(metrics), children: [_jsxs("div", { style: overlayPanelHeaderStyle(metrics), children: [_jsxs("span", { style: overlayPanelTitleStyle(metrics), children: [_jsx("span", { id: titleId, children: title }), help === undefined ? null : (_jsx(HelpIcon, { content: help, size: metrics.fontSize }))] }), onReset === undefined ? null : (_jsx("button", { type: "button", style: overlayPanelResetStyle(metrics, reset), onClick: onReset, ...reset.handlers, children: resetLabel ?? t('overlay.reset') }))] }), _jsxs("div", { style: overlayPanelBodyStyle(metrics), children: [_jsx(OverlayPanelContext.Provider, { value: shape, children: children }), hint === '' ? null : (_jsx("p", { style: overlayPanelHintStyle(metrics), children: hint ?? t('overlay.hoverAName') }))] }), actions === undefined ? null : (_jsx("div", { style: overlayPanelFooterStyle(metrics), children: actions }))] }));
34
36
  }
35
- /**
36
- * The sentence that teaches the convention.
37
- *
38
- * It names the gesture rather than the mark, because a reader who has noticed
39
- * the dotted underlines has already asked this question and one who has not
40
- * would not recognise a description of them.
41
- */
42
- const DEFAULT_HINT = 'Hover a name for what it does.';
43
37
  //# sourceMappingURL=OverlayPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayPanel.js","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayPanel.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA4B,CAAC;AAMtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAgEnE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACvE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAClE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;IAEtC,MAAM,KAAK,GAAG,SAAS,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAC5B,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,OAAO,CACL,eACE,IAAI,EAAC,OAAO,qBACK,OAAO,iBACX,MAAM,EACnB,KAAK,EAAE,wBAAwB,CAAC,OAAO,CAAC,aAExC,eAAK,KAAK,EAAE,uBAAuB,CAAC,OAAO,CAAC,aAC1C,gBAAM,KAAK,EAAE,sBAAsB,CAAC,OAAO,CAAC,aAC1C,eAAM,EAAE,EAAE,OAAO,YAAG,KAAK,GAAQ,EAChC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC3B,KAAC,QAAQ,IAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,GAAI,CACpD,IACI,EACN,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC9B,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,EAC7C,OAAO,EAAE,OAAO,KACZ,KAAK,CAAC,QAAQ,YAEjB,UAAU,GACJ,CACV,IACG,EACN,eAAK,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,aACxC,KAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACvC,QAAQ,GACoB,EAC9B,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACpB,YAAG,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,YAAG,IAAI,GAAK,CACrD,IACG,EACL,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC9B,cAAK,KAAK,EAAE,uBAAuB,CAAC,OAAO,CAAC,YAAG,OAAO,GAAO,CAC9D,IACG,CACP,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,YAAY,GAAG,gCAAgC,CAAC"}
1
+ {"version":3,"file":"OverlayPanel.js","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayPanel.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA4B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAMnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAgEnE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,YAAY,CAAC,KAAwB;IACnD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAC7D,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACnD,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,MAAM,KAAK,GAAG,qBAAqB,EAAE,CAAC;IAEtC,MAAM,KAAK,GAAG,SAAS,IAAI,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAC5B,CAAC,KAAK,CAAC,CACR,CAAC;IAEF,OAAO,CACL,eACE,IAAI,EAAC,OAAO,qBACK,OAAO,iBACX,MAAM,EACnB,KAAK,EAAE,wBAAwB,CAAC,OAAO,CAAC,aAExC,eAAK,KAAK,EAAE,uBAAuB,CAAC,OAAO,CAAC,aAC1C,gBAAM,KAAK,EAAE,sBAAsB,CAAC,OAAO,CAAC,aAC1C,eAAM,EAAE,EAAE,OAAO,YAAG,KAAK,GAAQ,EAChC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC3B,KAAC,QAAQ,IAAC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,QAAQ,GAAI,CACpD,IACI,EACN,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC9B,iBACE,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,EAC7C,OAAO,EAAE,OAAO,KACZ,KAAK,CAAC,QAAQ,YAEjB,UAAU,IAAI,CAAC,CAAC,eAAe,CAAC,GAC1B,CACV,IACG,EACN,eAAK,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,aACxC,KAAC,mBAAmB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACvC,QAAQ,GACoB,EAC9B,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACpB,YAAG,KAAK,EAAE,qBAAqB,CAAC,OAAO,CAAC,YACrC,IAAI,IAAI,CAAC,CAAC,oBAAoB,CAAC,GAC9B,CACL,IACG,EACL,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAC9B,cAAK,KAAK,EAAE,uBAAuB,CAAC,OAAO,CAAC,YAAG,OAAO,GAAO,CAC9D,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayReadout.d.ts","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayReadout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAWzD,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,oDAAoD;AACpD,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,CAAC,EAAE,MAAM,CAAC;IACV,6DAA6D;IAC7D,CAAC,EAAE,MAAM,CAAC;IACV,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,IAAI,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACnC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CA+DvE"}
1
+ {"version":3,"file":"OverlayReadout.d.ts","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayReadout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAYzD,6CAA6C;AAC7C,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,oDAAoD;AACpD,MAAM,WAAW,mBAAmB;IAClC,8DAA8D;IAC9D,CAAC,EAAE,MAAM,CAAC;IACV,6DAA6D;IAC7D,CAAC,EAAE,MAAM,CAAC;IACV,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,uEAAuE;IACvE,IAAI,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACnC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CAgEvE"}
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useRef } from 'react';
3
3
  import { Button } from 'react-science/ui';
4
4
  import { useContainerSize } from "../../hooks/ui/useContainerSize.js";
5
+ import { useChromeT } from "../../i18n/ui/useT.js";
5
6
  import { placeOverlayCard } from "../core/placeOverlayCard.js";
6
7
  import { overlayReadoutStyle } from "./overlayFigureStyles.js";
7
8
  import { useOverlaySurface } from "./overlaySurface.js";
@@ -18,6 +19,7 @@ import { useOverlaySurface } from "./overlaySurface.js";
18
19
  */
19
20
  export function OverlayReadout(props) {
20
21
  const { x, y, boxWidth, boxHeight, title, rows, maxRows = 12, pinned = false, onUnpin, testId, } = props;
22
+ const t = useChromeT();
21
23
  const { metrics } = useOverlaySurface();
22
24
  const card = useRef(null);
23
25
  const measured = useContainerSize(card);
@@ -38,7 +40,7 @@ export function OverlayReadout(props) {
38
40
  left: place.left,
39
41
  top: place.top,
40
42
  ...(pinned ? pinnedStyle(boxHeight, metrics) : null),
41
- }, children: [_jsxs("div", { style: TITLE_STYLE, children: [_jsx("span", { children: title }), pinned && onUnpin !== undefined ? (_jsx(Button, { variant: "minimal", size: "small", icon: "cross", "aria-label": "Dismiss", onClick: onUnpin })) : null] }), readoutLines(written), hidden === 0 ? null : (_jsx("div", { style: FOOTER_STYLE, children: `+ ${hidden} more — click to keep this open` }))] }));
43
+ }, children: [_jsxs("div", { style: TITLE_STYLE, children: [_jsx("span", { children: title }), pinned && onUnpin !== undefined ? (_jsx(Button, { variant: "minimal", size: "small", icon: "cross", "aria-label": t('overlay.dismiss'), onClick: onUnpin })) : null] }), readoutLines(written), hidden === 0 ? null : (_jsx("div", { style: FOOTER_STYLE, children: `+ ${hidden} more — click to keep this open` }))] }));
42
44
  }
43
45
  /**
44
46
  * The rows, each keyed by what it says rather than by where it sits, so a card
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayReadout.js","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayReadout.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OverlayReadout.js","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayReadout.tsx"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export interface ExerciseActionsProps {
9
9
  onCheck?: () => void;
10
10
  /**
11
11
  * Text of the Check button.
12
- * @default 'Check'
12
+ * @default the chrome's own words for it, in the language of the page
13
13
  */
14
14
  checkLabel?: string;
15
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ExerciseActions.d.ts","sourceRoot":"","sources":["../../../src/pedagogy/ui/ExerciseActions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE,uFAAuF;AACvF,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,CA+CzE"}
1
+ {"version":3,"file":"ExerciseActions.d.ts","sourceRoot":"","sources":["../../../src/pedagogy/ui/ExerciseActions.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIpE,uFAAuF;AACvF,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,CAuDzE"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Button } from '@blueprintjs/core';
3
+ import { useChromeT } from "../../i18n/ui/useT.js";
3
4
  /**
4
5
  * The row of controls under an exercise: Check, Reveal hint, the solution, and
5
6
  * Reset.
@@ -11,8 +12,14 @@ import { Button } from '@blueprintjs/core';
11
12
  * @returns The row.
12
13
  */
13
14
  export function ExerciseActions(props) {
14
- const { onCheck, checkLabel = 'Check', checkDisabled = false, onRevealHint, hintsRevealed = 0, hintCount = 0, onToggleSolution, showSolution = false, onReset, children, className, } = props;
15
- return (_jsxs("div", { className: className, style: ROW_STYLE, children: [onCheck !== undefined && (_jsx(Button, { intent: "primary", icon: "tick", text: checkLabel, disabled: checkDisabled, onClick: onCheck })), onRevealHint !== undefined && (_jsx(Button, { icon: "lightbulb", text: `Reveal hint (${Math.min(hintsRevealed, hintCount)}/${hintCount})`, disabled: hintsRevealed >= hintCount, onClick: onRevealHint })), onToggleSolution !== undefined && (_jsx(Button, { icon: showSolution ? 'eye-off' : 'key', text: showSolution ? 'Hide solution' : 'Reveal solution', onClick: onToggleSolution })), onReset !== undefined && (_jsx(Button, { icon: "reset", text: "Reset", onClick: onReset })), children] }));
15
+ const { onCheck, checkLabel, checkDisabled = false, onRevealHint, hintsRevealed = 0, hintCount = 0, onToggleSolution, showSolution = false, onReset, children, className, } = props;
16
+ const t = useChromeT();
17
+ return (_jsxs("div", { className: className, style: ROW_STYLE, children: [onCheck !== undefined && (_jsx(Button, { intent: "primary", icon: "tick", text: checkLabel ?? t('pedagogy.check'), disabled: checkDisabled, onClick: onCheck })), onRevealHint !== undefined && (_jsx(Button, { icon: "lightbulb", text: t('pedagogy.revealHintCount', {
18
+ revealed: Math.min(hintsRevealed, hintCount),
19
+ total: hintCount,
20
+ }), disabled: hintsRevealed >= hintCount, onClick: onRevealHint })), onToggleSolution !== undefined && (_jsx(Button, { icon: showSolution ? 'eye-off' : 'key', text: showSolution
21
+ ? t('pedagogy.hideSolution')
22
+ : t('pedagogy.revealSolution'), onClick: onToggleSolution })), onReset !== undefined && (_jsx(Button, { icon: "reset", text: t('pedagogy.reset'), onClick: onReset })), children] }));
16
23
  }
17
24
  const ROW_STYLE = {
18
25
  display: 'flex',
@@ -1 +1 @@
1
- {"version":3,"file":"ExerciseActions.js","sourceRoot":"","sources":["../../../src/pedagogy/ui/ExerciseActions.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAkE3C;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EACJ,OAAO,EACP,UAAU,GAAG,OAAO,EACpB,aAAa,GAAG,KAAK,EACrB,YAAY,EACZ,aAAa,GAAG,CAAC,EACjB,SAAS,GAAG,CAAC,EACb,gBAAgB,EAChB,YAAY,GAAG,KAAK,EACpB,OAAO,EACP,QAAQ,EACR,SAAS,GACV,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,aACxC,OAAO,KAAK,SAAS,IAAI,CACxB,KAAC,MAAM,IACL,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,OAAO,GAChB,CACH,EACA,YAAY,KAAK,SAAS,IAAI,CAC7B,KAAC,MAAM,IACL,IAAI,EAAC,WAAW,EAChB,IAAI,EAAE,gBAAgB,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,SAAS,GAAG,EACxE,QAAQ,EAAE,aAAa,IAAI,SAAS,EACpC,OAAO,EAAE,YAAY,GACrB,CACH,EACA,gBAAgB,KAAK,SAAS,IAAI,CACjC,KAAC,MAAM,IACL,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EACtC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,EACxD,OAAO,EAAE,gBAAgB,GACzB,CACH,EACA,OAAO,KAAK,SAAS,IAAI,CACxB,KAAC,MAAM,IAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,OAAO,GAAI,CACvD,EACA,QAAQ,IACL,CACP,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAkB;IAC/B,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,MAAM;IAChB,GAAG,EAAE,CAAC;CACP,CAAC"}
1
+ {"version":3,"file":"ExerciseActions.js","sourceRoot":"","sources":["../../../src/pedagogy/ui/ExerciseActions.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAiEnD;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EACJ,OAAO,EACP,UAAU,EACV,aAAa,GAAG,KAAK,EACrB,YAAY,EACZ,aAAa,GAAG,CAAC,EACjB,SAAS,GAAG,CAAC,EACb,gBAAgB,EAChB,YAAY,GAAG,KAAK,EACpB,OAAO,EACP,QAAQ,EACR,SAAS,GACV,GAAG,KAAK,CAAC;IACV,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IAEvB,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,aACxC,OAAO,KAAK,SAAS,IAAI,CACxB,KAAC,MAAM,IACL,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,UAAU,IAAI,CAAC,CAAC,gBAAgB,CAAC,EACvC,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,OAAO,GAChB,CACH,EACA,YAAY,KAAK,SAAS,IAAI,CAC7B,KAAC,MAAM,IACL,IAAI,EAAC,WAAW,EAChB,IAAI,EAAE,CAAC,CAAC,0BAA0B,EAAE;oBAClC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,SAAS,CAAC;oBAC5C,KAAK,EAAE,SAAS;iBACjB,CAAC,EACF,QAAQ,EAAE,aAAa,IAAI,SAAS,EACpC,OAAO,EAAE,YAAY,GACrB,CACH,EACA,gBAAgB,KAAK,SAAS,IAAI,CACjC,KAAC,MAAM,IACL,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EACtC,IAAI,EACF,YAAY;oBACV,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC;oBAC5B,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,EAElC,OAAO,EAAE,gBAAgB,GACzB,CACH,EACA,OAAO,KAAK,SAAS,IAAI,CACxB,KAAC,MAAM,IAAC,IAAI,EAAC,OAAO,EAAC,IAAI,EAAE,CAAC,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,OAAO,GAAI,CACrE,EACA,QAAQ,IACL,CACP,CAAC;AACJ,CAAC;AAED,MAAM,SAAS,GAAkB;IAC/B,OAAO,EAAE,MAAM;IACf,QAAQ,EAAE,MAAM;IAChB,GAAG,EAAE,CAAC;CACP,CAAC"}
@@ -12,7 +12,7 @@ export interface ExerciseProgressHeaderProps {
12
12
  onClearAll?: () => void;
13
13
  /**
14
14
  * Text of the button that wipes the work.
15
- * @default 'Clear all answers'
15
+ * @default the chrome's own words for it, in the language of the page
16
16
  */
17
17
  clearLabel?: string;
18
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ExerciseProgressHeader.d.ts","sourceRoot":"","sources":["../../../src/pedagogy/ui/ExerciseProgressHeader.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,iDAAiD;AACjD,MAAM,WAAW,2BAA2B;IAC1C,iEAAiE;IACjE,OAAO,EAAE,eAAe,CAAC;IACzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,2BAA2B,GACjC,YAAY,CA+Dd"}
1
+ {"version":3,"file":"ExerciseProgressHeader.d.ts","sourceRoot":"","sources":["../../../src/pedagogy/ui/ExerciseProgressHeader.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAE3D,iDAAiD;AACjD,MAAM,WAAW,2BAA2B;IAC1C,iEAAiE;IACjE,OAAO,EAAE,eAAe,CAAC;IACzB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,2BAA2B,GACjC,YAAY,CAmEd"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Alert, Button, ProgressBar } from '@blueprintjs/core';
3
3
  import { useState } from 'react';
4
+ import { useChromeT } from "../../i18n/ui/useT.js";
4
5
  import { TOKEN } from "../../tokens/core/familyTokens.js";
5
6
  /**
6
7
  * How much of a set is solved, its bar, and the one way to wipe it.
@@ -12,19 +13,22 @@ import { TOKEN } from "../../tokens/core/familyTokens.js";
12
13
  * @returns The header.
13
14
  */
14
15
  export function ExerciseProgressHeader(props) {
15
- const { summary, onClearAll, clearLabel = 'Clear all answers', clearWarning = DEFAULT_WARNING, clearDisabled = false, className, } = props;
16
+ const { summary, onClearAll, clearLabel, clearWarning, clearDisabled = false, className, } = props;
17
+ const t = useChromeT();
16
18
  const [confirming, setConfirming] = useState(false);
17
19
  const complete = summary.total > 0 && summary.solved === summary.total;
18
- return (_jsxs("div", { className: className, style: ROOT_STYLE, children: [_jsxs("div", { style: ROW_STYLE, children: [_jsx("span", { style: COUNT_STYLE, children: `${summary.solved} / ${summary.total} solved` }), _jsx("span", { style: PERCENT_STYLE, children: `${Math.round(summary.ratio * 100)}%` }), onClearAll !== undefined && (_jsx(Button, { size: "small", variant: "minimal", intent: "danger", icon: "trash", text: clearLabel, disabled: clearDisabled, onClick: () => {
20
+ return (_jsxs("div", { className: className, style: ROOT_STYLE, children: [_jsxs("div", { style: ROW_STYLE, children: [_jsx("span", { style: COUNT_STYLE, children: t('pedagogy.solvedCount', {
21
+ solved: summary.solved,
22
+ total: summary.total,
23
+ }) }), _jsx("span", { style: PERCENT_STYLE, children: `${Math.round(summary.ratio * 100)}%` }), onClearAll !== undefined && (_jsx(Button, { size: "small", variant: "minimal", intent: "danger", icon: "trash", text: clearLabel ?? t('pedagogy.clearAll'), disabled: clearDisabled, onClick: () => {
19
24
  setConfirming(true);
20
- } }))] }), _jsx(ProgressBar, { animate: false, stripes: false, intent: complete ? 'success' : 'primary', value: summary.ratio }), onClearAll !== undefined && (_jsx(Alert, { isOpen: confirming, intent: "danger", icon: "trash", cancelButtonText: "Keep my answers", confirmButtonText: "Clear everything", onCancel: () => {
25
+ } }))] }), _jsx(ProgressBar, { animate: false, stripes: false, intent: complete ? 'success' : 'primary', value: summary.ratio }), onClearAll !== undefined && (_jsx(Alert, { isOpen: confirming, intent: "danger", icon: "trash", cancelButtonText: t('pedagogy.keepAnswers'), confirmButtonText: t('pedagogy.clearEverything'), onCancel: () => {
21
26
  setConfirming(false);
22
27
  }, onConfirm: () => {
23
28
  onClearAll();
24
29
  setConfirming(false);
25
- }, children: clearWarning }))] }));
30
+ }, children: clearWarning ?? t('pedagogy.clearWarning') }))] }));
26
31
  }
27
- const DEFAULT_WARNING = 'This forgets every answer, every revealed hint and every solved exercise, on this browser. There is no undo.';
28
32
  const ROOT_STYLE = {
29
33
  display: 'flex',
30
34
  flexDirection: 'column',
@@ -1 +1 @@
1
- {"version":3,"file":"ExerciseProgressHeader.js","sourceRoot":"","sources":["../../../src/pedagogy/ui/ExerciseProgressHeader.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAmC1D;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAkC;IAElC,MAAM,EACJ,OAAO,EACP,UAAU,EACV,UAAU,GAAG,mBAAmB,EAChC,YAAY,GAAG,eAAe,EAC9B,aAAa,GAAG,KAAK,EACrB,SAAS,GACV,GAAG,KAAK,CAAC;IACV,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,KAAK,CAAC;IAEvE,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,aAC1C,eAAK,KAAK,EAAE,SAAS,aACnB,eAAM,KAAK,EAAE,WAAW,YACrB,GAAG,OAAO,CAAC,MAAM,MAAM,OAAO,CAAC,KAAK,SAAS,GACzC,EACP,eACE,KAAK,EAAE,aAAa,YACpB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAQ,EAC9C,UAAU,KAAK,SAAS,IAAI,CAC3B,KAAC,MAAM,IACL,IAAI,EAAC,OAAO,EACZ,OAAO,EAAC,SAAS,EACjB,MAAM,EAAC,QAAQ,EACf,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,GAAG,EAAE;4BACZ,aAAa,CAAC,IAAI,CAAC,CAAC;wBACtB,CAAC,GACD,CACH,IACG,EAEN,KAAC,WAAW,IACV,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,KAAK,EACd,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACxC,KAAK,EAAE,OAAO,CAAC,KAAK,GACpB,EAED,UAAU,KAAK,SAAS,IAAI,CAC3B,KAAC,KAAK,IACJ,MAAM,EAAE,UAAU,EAClB,MAAM,EAAC,QAAQ,EACf,IAAI,EAAC,OAAO,EACZ,gBAAgB,EAAC,iBAAiB,EAClC,iBAAiB,EAAC,kBAAkB,EACpC,QAAQ,EAAE,GAAG,EAAE;oBACb,aAAa,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC,EACD,SAAS,EAAE,GAAG,EAAE;oBACd,UAAU,EAAE,CAAC;oBACb,aAAa,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC,YAEA,YAAY,GACP,CACT,IACG,CACP,CAAC;AACJ,CAAC;AAED,MAAM,eAAe,GACnB,8GAA8G,CAAC;AAEjH,MAAM,UAAU,GAAkB;IAChC,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,MAAM,SAAS,GAAkB;IAC/B,OAAO,EAAE,MAAM;IACf,UAAU,EAAE,QAAQ;IACpB,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,MAAM,WAAW,GAAkB,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAEvD,MAAM,aAAa,GAAkB;IACnC,KAAK,EAAE,KAAK,CAAC,SAAS;IACtB,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,EAAE;CACb,CAAC"}
1
+ {"version":3,"file":"ExerciseProgressHeader.js","sourceRoot":"","sources":["../../../src/pedagogy/ui/ExerciseProgressHeader.tsx"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ export interface GlossaryIndexProps<TExample = GlossaryExample> {
24
24
  searchable?: boolean;
25
25
  /**
26
26
  * Placeholder and accessible name of the filter box.
27
- * @default 'Filter terms…'
27
+ * @default the chrome's own words for it, in the language of the page
28
28
  */
29
29
  searchLabel?: string;
30
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"GlossaryIndex.d.ts","sourceRoot":"","sources":["../../../src/pedagogy/ui/GlossaryIndex.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKpE,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMrE,sCAAsC;AACtC,MAAM,WAAW,kBAAkB,CAAC,QAAQ,GAAG,eAAe;IAC5D;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9B;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,SAAS,CAAC;IACjD;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC;IACzC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,QAAQ,GAAG,eAAe,EACtD,KAAK,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GAClC,YAAY,CA0Dd"}
1
+ {"version":3,"file":"GlossaryIndex.d.ts","sourceRoot":"","sources":["../../../src/pedagogy/ui/GlossaryIndex.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMpE,OAAO,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMrE,sCAAsC;AACtC,MAAM,WAAW,kBAAkB,CAAC,QAAQ,GAAG,eAAe;IAC5D;;;OAGG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC9B;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,KAAK,SAAS,CAAC;IACjD;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAC;IACzC;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,QAAQ,GAAG,eAAe,EACtD,KAAK,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GAClC,YAAY,CA+Dd"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { InputGroup } from '@blueprintjs/core';
3
3
  import { useMemo, useState } from 'react';
4
+ import { useChromeT } from "../../i18n/ui/useT.js";
4
5
  import { joinClassNames } from "../../shared/ui/joinClassNames.js";
5
6
  import { TOKEN } from "../../tokens/core/familyTokens.js";
6
7
  import { listGlossary } from "../core/glossarySearch.js";
@@ -18,18 +19,15 @@ import { useGlossary } from "./glossaryContext.js";
18
19
  * @returns The index.
19
20
  */
20
21
  export function GlossaryIndex(props) {
21
- const { glossary, renderExample, renderCode, searchable = true, searchLabel = 'Filter terms…', minColumnWidth = 280, idPrefix = 'glossary-', className, } = props;
22
+ const { glossary, renderExample, renderCode, searchable = true, searchLabel, minColumnWidth = 280, idPrefix = 'glossary-', className, } = props;
23
+ const t = useChromeT();
22
24
  const context = useGlossary();
23
25
  const terms = (glossary ?? context.glossary);
24
26
  const [query, setQuery] = useState('');
25
27
  const listings = useMemo(() => listGlossary(terms, query), [terms, query]);
26
- return (_jsxs("div", { className: joinClassNames('glossary-index', className), style: ROOT_STYLE, children: [searchable && (_jsx("div", { className: "no-print", style: SEARCH_STYLE, children: _jsx(InputGroup, { type: "search", leftIcon: "search", value: query, placeholder: searchLabel, "aria-label": searchLabel, autoComplete: "off", spellCheck: false, onValueChange: setQuery }) })), listings.length === 0 ? (_jsx("p", { style: EMPTY_STYLE, children: emptyMessage(query) })) : (_jsx("div", { style: gridStyle(minColumnWidth), children: listings.map(({ key, entry }) => (_jsx("article", { id: `${idPrefix}${anchorOf(key)}`, className: "glossary-index-entry", style: ENTRY_STYLE, children: _jsx(GlossaryDefinition, { entry: entry, tone: "page", renderExample: renderExample, renderCode: renderCode }) }, key))) }))] }));
27
- }
28
- function emptyMessage(query) {
29
- const trimmed = query.trim();
30
- return trimmed === ''
31
- ? 'No term is defined yet.'
32
- : `No term matches “${trimmed}”.`;
28
+ return (_jsxs("div", { className: joinClassNames('glossary-index', className), style: ROOT_STYLE, children: [searchable && (_jsx("div", { className: "no-print", style: SEARCH_STYLE, children: _jsx(InputGroup, { type: "search", leftIcon: "search", value: query, placeholder: searchLabel ?? t('pedagogy.filterTerms'), "aria-label": searchLabel ?? t('pedagogy.filterTerms'), autoComplete: "off", spellCheck: false, onValueChange: setQuery }) })), listings.length === 0 ? (_jsx("p", { style: EMPTY_STYLE, children: query.trim() === ''
29
+ ? t('pedagogy.noTermDefined')
30
+ : t('pedagogy.noTermMatches', { query: query.trim() }) })) : (_jsx("div", { style: gridStyle(minColumnWidth), children: listings.map(({ key, entry }) => (_jsx("article", { id: `${idPrefix}${anchorOf(key)}`, className: "glossary-index-entry", style: ENTRY_STYLE, children: _jsx(GlossaryDefinition, { entry: entry, tone: "page", renderExample: renderExample, renderCode: renderCode }) }, key))) }))] }));
33
31
  }
34
32
  function anchorOf(key) {
35
33
  return key
@@ -1 +1 @@
1
- {"version":3,"file":"GlossaryIndex.js","sourceRoot":"","sources":["../../../src/pedagogy/ui/GlossaryIndex.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GlossaryIndex.js","sourceRoot":"","sources":["../../../src/pedagogy/ui/GlossaryIndex.tsx"],"names":[],"mappings":"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"}
@@ -17,12 +17,12 @@ export interface HintLadderProps {
17
17
  onReveal?: () => void;
18
18
  /**
19
19
  * Text of the button, before its count.
20
- * @default 'Reveal hint'
20
+ * @default the chrome's own words for it, in the language of the page
21
21
  */
22
22
  revealLabel?: string;
23
23
  /**
24
24
  * Heading over the hints.
25
- * @default 'Hints'
25
+ * @default the chrome's own words for it, in the language of the page
26
26
  */
27
27
  title?: string;
28
28
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"HintLadder.d.ts","sourceRoot":"","sources":["../../../src/pedagogy/ui/HintLadder.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAMzD,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,CAuCtE"}
1
+ {"version":3,"file":"HintLadder.d.ts","sourceRoot":"","sources":["../../../src/pedagogy/ui/HintLadder.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,MAAM,OAAO,CAAC;AAOzD,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IACzB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,GAAG,IAAI,CAyCtE"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Button, Callout } from '@blueprintjs/core';
3
3
  import { clamp } from "../../format/core/clamp.js";
4
+ import { useChromeT } from "../../i18n/ui/useT.js";
4
5
  import { GlossaryText } from "./GlossaryText.js";
5
6
  /**
6
7
  * The hints asked for so far, and the button that opens the next one.
@@ -12,12 +13,17 @@ import { GlossaryText } from "./GlossaryText.js";
12
13
  * @returns The hints, or nothing while none is open and none can be.
13
14
  */
14
15
  export function HintLadder(props) {
15
- const { className, hints, revealed, onReveal, revealLabel = 'Reveal hint', title = 'Hints', } = props;
16
+ const { className, hints, revealed, onReveal, revealLabel, title } = props;
17
+ const t = useChromeT();
16
18
  const open = clampRevealed(revealed, hints.length);
17
19
  const exhausted = open >= hints.length;
18
20
  if (open === 0 && (onReveal === undefined || hints.length === 0))
19
21
  return null;
20
- return (_jsxs("div", { className: className, style: ROOT_STYLE, children: [onReveal !== undefined && hints.length > 0 && (_jsx("div", { children: _jsx(Button, { icon: "lightbulb", text: `${revealLabel} (${open}/${hints.length})`, disabled: exhausted, onClick: onReveal }) })), open > 0 && (_jsx(Callout, { intent: "primary", icon: "lightbulb", title: title, children: _jsx("ol", { style: LIST_STYLE, children: hints.slice(0, open).map((hint) => (_jsx("li", { style: ITEM_STYLE, children: _jsx(GlossaryText, { text: hint }) }, hint))) }) }))] }));
22
+ return (_jsxs("div", { className: className, style: ROOT_STYLE, children: [onReveal !== undefined && hints.length > 0 && (_jsx("div", { children: _jsx(Button, { icon: "lightbulb", text: t('pedagogy.revealHintLadder', {
23
+ label: revealLabel ?? t('pedagogy.revealHint'),
24
+ open,
25
+ total: hints.length,
26
+ }), disabled: exhausted, onClick: onReveal }) })), open > 0 && (_jsx(Callout, { intent: "primary", icon: "lightbulb", title: title ?? t('pedagogy.hints'), children: _jsx("ol", { style: LIST_STYLE, children: hints.slice(0, open).map((hint) => (_jsx("li", { style: ITEM_STYLE, children: _jsx(GlossaryText, { text: hint }) }, hint))) }) }))] }));
21
27
  }
22
28
  function clampRevealed(revealed, total) {
23
29
  return Math.floor(clamp(revealed, 0, total));
@@ -1 +1 @@
1
- {"version":3,"file":"HintLadder.js","sourceRoot":"","sources":["../../../src/pedagogy/ui/HintLadder.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAmClD;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,EACJ,SAAS,EACT,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,WAAW,GAAG,aAAa,EAC3B,KAAK,GAAG,OAAO,GAChB,GAAG,KAAK,CAAC;IACV,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;IACvC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9E,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,aACzC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAC7C,wBACE,KAAC,MAAM,IACL,IAAI,EAAC,WAAW,EAChB,IAAI,EAAE,GAAG,WAAW,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,EAChD,QAAQ,EAAE,SAAS,EACnB,OAAO,EAAE,QAAQ,GACjB,GACE,CACP,EAEA,IAAI,GAAG,CAAC,IAAI,CACX,KAAC,OAAO,IAAC,MAAM,EAAC,SAAS,EAAC,IAAI,EAAC,WAAW,EAAC,KAAK,EAAE,KAAK,YACrD,aAAI,KAAK,EAAE,UAAU,YAClB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAClC,aAAe,KAAK,EAAE,UAAU,YAC9B,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,GAAI,IADrB,IAAI,CAER,CACN,CAAC,GACC,GACG,CACX,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB,EAAE,KAAa;IACpD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,GAAkB;IAChC,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,MAAM,UAAU,GAAkB,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AAEjE,MAAM,UAAU,GAAkB,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"HintLadder.js","sourceRoot":"","sources":["../../../src/pedagogy/ui/HintLadder.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGpD,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAmClD;;;;;;;;GAQG;AACH,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAC3E,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,SAAS,GAAG,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC;IACvC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAE9E,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,aACzC,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAC7C,wBACE,KAAC,MAAM,IACL,IAAI,EAAC,WAAW,EAChB,IAAI,EAAE,CAAC,CAAC,2BAA2B,EAAE;wBACnC,KAAK,EAAE,WAAW,IAAI,CAAC,CAAC,qBAAqB,CAAC;wBAC9C,IAAI;wBACJ,KAAK,EAAE,KAAK,CAAC,MAAM;qBACpB,CAAC,EACF,QAAQ,EAAE,SAAS,EACnB,OAAO,EAAE,QAAQ,GACjB,GACE,CACP,EAEA,IAAI,GAAG,CAAC,IAAI,CACX,KAAC,OAAO,IACN,MAAM,EAAC,SAAS,EAChB,IAAI,EAAC,WAAW,EAChB,KAAK,EAAE,KAAK,IAAI,CAAC,CAAC,gBAAgB,CAAC,YAEnC,aAAI,KAAK,EAAE,UAAU,YAClB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAClC,aAAe,KAAK,EAAE,UAAU,YAC9B,KAAC,YAAY,IAAC,IAAI,EAAE,IAAI,GAAI,IADrB,IAAI,CAER,CACN,CAAC,GACC,GACG,CACX,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB,EAAE,KAAa;IACpD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,GAAkB;IAChC,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,QAAQ;IACvB,GAAG,EAAE,CAAC;CACP,CAAC;AAEF,MAAM,UAAU,GAAkB,EAAE,MAAM,EAAE,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AAEjE,MAAM,UAAU,GAAkB,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC"}
@@ -38,12 +38,12 @@ export interface SyntaxTooltipProps {
38
38
  placement?: Placement;
39
39
  /**
40
40
  * Label of the example's code line.
41
- * @default 'Example'
41
+ * @default the chrome's own word for it, in the language of the page
42
42
  */
43
43
  codeLabel?: string;
44
44
  /**
45
45
  * Label of the example's input line.
46
- * @default 'Input'
46
+ * @default the chrome's own word for it, in the language of the page
47
47
  */
48
48
  inputLabel?: string;
49
49
  /**
@@ -71,12 +71,12 @@ interface SyntaxTooltipBodyProps {
71
71
  content: SyntaxTooltipContent;
72
72
  /**
73
73
  * Label of the example's code line.
74
- * @default 'Example'
74
+ * @default the chrome's own word for it, in the language of the page
75
75
  */
76
76
  codeLabel?: string;
77
77
  /**
78
78
  * Label of the example's input line.
79
- * @default 'Input'
79
+ * @default the chrome's own word for it, in the language of the page
80
80
  */
81
81
  inputLabel?: string;
82
82
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SyntaxTooltip.d.ts","sourceRoot":"","sources":["../../../src/pedagogy/ui/SyntaxTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAiB,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAI3D;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAEnD,4DAA4D;AAC5D,MAAM,WAAW,oBAAoB;IACnC,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,OAAO,EAAE,oBAAoB,CAAC;CAC/B;AAED,wCAAwC;AACxC,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,sEAAsE;IACtE,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,CA4BrE;AAED,UAAU,sBAAsB;IAC9B,uBAAuB;IACvB,OAAO,EAAE,oBAAoB,CAAC;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,YAAY,CA8B7E"}
1
+ {"version":3,"file":"SyntaxTooltip.d.ts","sourceRoot":"","sources":["../../../src/pedagogy/ui/SyntaxTooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,KAAK,EAAiB,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAI3D;;;GAGG;AACH,MAAM,MAAM,oBAAoB,GAAG,eAAe,CAAC;AAEnD,4DAA4D;AAC5D,MAAM,WAAW,oBAAoB;IACnC,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IACf,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,OAAO,EAAE,oBAAoB,CAAC;CAC/B;AAED,wCAAwC;AACxC,MAAM,WAAW,kBAAkB;IACjC,uBAAuB;IACvB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,sEAAsE;IACtE,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,YAAY,CA4BrE;AAED,UAAU,sBAAsB;IAC9B,uBAAuB;IACvB,OAAO,EAAE,oBAAoB,CAAC;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,YAAY,CA+B7E"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Tooltip } from '@blueprintjs/core';
3
+ import { useChromeT } from "../../i18n/ui/useT.js";
3
4
  import { HOVER_OPEN_DELAY, MONOSPACE, PROSE_INK } from "./pedagogyStyle.js";
4
5
  /**
5
6
  * The one rich tooltip of a tool: cheatsheet rows, option chips and inline help
@@ -21,9 +22,10 @@ export function SyntaxTooltip(props) {
21
22
  * @returns The body.
22
23
  */
23
24
  export function SyntaxTooltipBody(props) {
24
- const { content, codeLabel = 'Example', inputLabel = 'Input' } = props;
25
+ const { content, codeLabel, inputLabel } = props;
26
+ const t = useChromeT();
25
27
  const { syntax, name, tag, summary, detail, example } = content;
26
- return (_jsxs("div", { style: BODY_STYLE, children: [_jsxs("div", { style: HEADER_STYLE, children: [_jsx("code", { style: SYNTAX_STYLE, children: syntax }), _jsx("span", { style: NAME_STYLE, children: name }), tag !== undefined && _jsx("span", { style: TAG_STYLE, children: tag })] }), _jsx("div", { style: SUMMARY_STYLE, children: summary }), _jsx("div", { style: DETAIL_STYLE, children: detail }), _jsxs("div", { style: EXAMPLE_STYLE, children: [_jsxs("div", { style: ROW_STYLE, children: [_jsx("span", { style: LABEL_STYLE, children: codeLabel }), _jsx("code", { style: VALUE_STYLE, children: example.code })] }), example.input !== undefined && (_jsxs("div", { style: ROW_STYLE, children: [_jsx("span", { style: LABEL_STYLE, children: inputLabel }), _jsx("code", { style: VALUE_STYLE, children: example.input })] })), example.note !== undefined && (_jsx("div", { style: NOTE_STYLE, children: example.note }))] })] }));
28
+ return (_jsxs("div", { style: BODY_STYLE, children: [_jsxs("div", { style: HEADER_STYLE, children: [_jsx("code", { style: SYNTAX_STYLE, children: syntax }), _jsx("span", { style: NAME_STYLE, children: name }), tag !== undefined && _jsx("span", { style: TAG_STYLE, children: tag })] }), _jsx("div", { style: SUMMARY_STYLE, children: summary }), _jsx("div", { style: DETAIL_STYLE, children: detail }), _jsxs("div", { style: EXAMPLE_STYLE, children: [_jsxs("div", { style: ROW_STYLE, children: [_jsx("span", { style: LABEL_STYLE, children: codeLabel ?? t('pedagogy.example') }), _jsx("code", { style: VALUE_STYLE, children: example.code })] }), example.input !== undefined && (_jsxs("div", { style: ROW_STYLE, children: [_jsx("span", { style: LABEL_STYLE, children: inputLabel ?? t('pedagogy.input') }), _jsx("code", { style: VALUE_STYLE, children: example.input })] })), example.note !== undefined && (_jsx("div", { style: NOTE_STYLE, children: example.note }))] })] }));
27
29
  }
28
30
  const BODY_STYLE = {
29
31
  display: 'flex',
@@ -1 +1 @@
1
- {"version":3,"file":"SyntaxTooltip.js","sourceRoot":"","sources":["../../../src/pedagogy/ui/SyntaxTooltip.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SyntaxTooltip.js","sourceRoot":"","sources":["../../../src/pedagogy/ui/SyntaxTooltip.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TutorialStepStrip.d.ts","sourceRoot":"","sources":["../../../src/pedagogy/ui/TutorialStepStrip.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOtD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,4CAA4C;AAC5C,MAAM,WAAW,sBAAsB;IACrC,yCAAyC;IACzC,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACpC;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,YAAY,CA6D7E"}
1
+ {"version":3,"file":"TutorialStepStrip.d.ts","sourceRoot":"","sources":["../../../src/pedagogy/ui/TutorialStepStrip.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAiB,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAOtD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,6CAA6C;IAC7C,KAAK,EAAE,aAAa,CAAC;CACtB;AAED,4CAA4C;AAC5C,MAAM,WAAW,sBAAsB;IACrC,yCAAyC;IACzC,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACpC;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD;;;;;OAKG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,YAAY,CAiE7E"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Button, Tag, Tooltip } from '@blueprintjs/core';
3
3
  import { clamp } from "../../format/core/clamp.js";
4
+ import { useChromeT } from "../../i18n/ui/useT.js";
4
5
  import { TOKEN } from "../../tokens/core/familyTokens.js";
5
6
  import { LEVEL_ORDER } from "./exerciseMeta.js";
6
7
  import { HOVER_OPEN_DELAY } from "./pedagogyStyle.js";
@@ -12,15 +13,19 @@ import { TUTORIAL_LEVEL_COLOURS } from "./tutorialLevels.js";
12
13
  */
13
14
  export function TutorialStepStrip(props) {
14
15
  const { steps, activeIndex, onSelect, levelLabels, pager = true, pagerHint, className, } = props;
16
+ const t = useChromeT();
15
17
  const active = clampIndex(activeIndex, steps.length);
16
18
  return (_jsxs("div", { className: className, style: ROOT_STYLE, children: [LEVEL_ORDER.map((level) => {
17
19
  const positions = positionsOfLevel(steps, level);
18
20
  if (positions.length === 0)
19
21
  return null;
20
22
  return (_jsx(LevelStrip, { steps: steps, positions: positions, colours: TUTORIAL_LEVEL_COLOURS[level], label: levelLabels?.[level] ?? level, activeIndex: active, onSelect: onSelect }, level));
21
- }), pager && (_jsxs("div", { style: PAGER_STYLE, children: [_jsx(Button, { size: "small", icon: "chevron-left", text: "Previous", disabled: active === 0, onClick: () => {
23
+ }), pager && (_jsxs("div", { style: PAGER_STYLE, children: [_jsx(Button, { size: "small", icon: "chevron-left", text: t('pedagogy.previous'), disabled: active === 0, onClick: () => {
22
24
  onSelect(active - 1);
23
- } }), _jsx(Tag, { minimal: true, round: true, children: `Step ${active + 1} of ${steps.length}` }), _jsx(Button, { size: "small", endIcon: "chevron-right", text: "Next", intent: "primary", disabled: active >= steps.length - 1, onClick: () => {
25
+ } }), _jsx(Tag, { minimal: true, round: true, children: t('pedagogy.stepOf', {
26
+ step: active + 1,
27
+ total: steps.length,
28
+ }) }), _jsx(Button, { size: "small", endIcon: "chevron-right", text: t('pedagogy.next'), intent: "primary", disabled: active >= steps.length - 1, onClick: () => {
24
29
  onSelect(active + 1);
25
30
  } }), pagerHint !== undefined && (_jsx("span", { style: HINT_STYLE, children: pagerHint }))] }))] }));
26
31
  }