react-cheminfo 0.50.0 → 0.52.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 (314) hide show
  1. package/README.md +71 -16
  2. package/bin/check-seo.mjs +0 -0
  3. package/lib/clipboard/core/index.d.ts +0 -1
  4. package/lib/clipboard/core/index.d.ts.map +1 -1
  5. package/lib/clipboard/core/index.js +0 -1
  6. package/lib/clipboard/core/index.js.map +1 -1
  7. package/lib/clipboard/ui/CopyButton.d.ts +6 -0
  8. package/lib/clipboard/ui/CopyButton.d.ts.map +1 -1
  9. package/lib/clipboard/ui/CopyButton.js +5 -2
  10. package/lib/clipboard/ui/CopyButton.js.map +1 -1
  11. package/lib/color/core/index.d.ts +3 -0
  12. package/lib/color/core/index.d.ts.map +1 -1
  13. package/lib/color/core/index.js +2 -0
  14. package/lib/color/core/index.js.map +1 -1
  15. package/lib/color/core/interpolate.d.ts +4 -2
  16. package/lib/color/core/interpolate.d.ts.map +1 -1
  17. package/lib/color/core/interpolate.js +34 -12
  18. package/lib/color/core/interpolate.js.map +1 -1
  19. package/lib/color/core/stops.d.ts +43 -0
  20. package/lib/color/core/stops.d.ts.map +1 -0
  21. package/lib/color/core/stops.js +66 -0
  22. package/lib/color/core/stops.js.map +1 -0
  23. package/lib/color/core/tone.d.ts +25 -0
  24. package/lib/color/core/tone.d.ts.map +1 -0
  25. package/lib/color/core/tone.js +67 -0
  26. package/lib/color/core/tone.js.map +1 -0
  27. package/lib/color/core/uniform.d.ts +36 -0
  28. package/lib/color/core/uniform.d.ts.map +1 -0
  29. package/lib/color/core/uniform.js +61 -0
  30. package/lib/color/core/uniform.js.map +1 -0
  31. package/lib/color/ui/ColorScaleEditor.d.ts +5 -6
  32. package/lib/color/ui/ColorScaleEditor.d.ts.map +1 -1
  33. package/lib/color/ui/ColorScaleEditor.js +74 -84
  34. package/lib/color/ui/ColorScaleEditor.js.map +1 -1
  35. package/lib/color/ui/ColorScaleSelect.d.ts +16 -0
  36. package/lib/color/ui/ColorScaleSelect.d.ts.map +1 -1
  37. package/lib/color/ui/ColorScaleSelect.js +69 -17
  38. package/lib/color/ui/ColorScaleSelect.js.map +1 -1
  39. package/lib/color/ui/ColorScaleTone.d.ts +17 -0
  40. package/lib/color/ui/ColorScaleTone.d.ts.map +1 -0
  41. package/lib/color/ui/ColorScaleTone.js +55 -0
  42. package/lib/color/ui/ColorScaleTone.js.map +1 -0
  43. package/lib/color/ui/ColorScaleTrack.d.ts +29 -0
  44. package/lib/color/ui/ColorScaleTrack.d.ts.map +1 -0
  45. package/lib/color/ui/ColorScaleTrack.js +143 -0
  46. package/lib/color/ui/ColorScaleTrack.js.map +1 -0
  47. package/lib/download/core/copyFigure.d.ts +14 -0
  48. package/lib/download/core/copyFigure.d.ts.map +1 -0
  49. package/lib/download/core/copyFigure.js +18 -0
  50. package/lib/download/core/copyFigure.js.map +1 -0
  51. package/lib/download/core/figureHtml.js +1 -0
  52. package/lib/download/core/figureHtml.js.map +1 -1
  53. package/lib/download/core/figureHtmlMarkup.d.ts +10 -0
  54. package/lib/download/core/figureHtmlMarkup.d.ts.map +1 -1
  55. package/lib/download/core/figureHtmlMarkup.js +7 -1
  56. package/lib/download/core/figureHtmlMarkup.js.map +1 -1
  57. package/lib/download/core/index.d.ts +2 -0
  58. package/lib/download/core/index.d.ts.map +1 -1
  59. package/lib/download/core/index.js +1 -0
  60. package/lib/download/core/index.js.map +1 -1
  61. package/lib/download/ui/FigureDownloadPanel.d.ts +2 -3
  62. package/lib/download/ui/FigureDownloadPanel.d.ts.map +1 -1
  63. package/lib/download/ui/FigureDownloadPanel.js +1 -1
  64. package/lib/download/ui/FigureDownloadPanel.js.map +1 -1
  65. package/lib/download/ui/figureDownloadHint.d.ts +1 -1
  66. package/lib/download/ui/figureDownloadHint.d.ts.map +1 -1
  67. package/lib/download/ui/figureDownloadHint.js.map +1 -1
  68. package/lib/download/ui/index.d.ts +0 -1
  69. package/lib/download/ui/index.d.ts.map +1 -1
  70. package/lib/download/ui/useFigureActions.d.ts +2 -11
  71. package/lib/download/ui/useFigureActions.d.ts.map +1 -1
  72. package/lib/download/ui/useFigureActions.js +4 -23
  73. package/lib/download/ui/useFigureActions.js.map +1 -1
  74. package/lib/download/ui/useFigureTask.d.ts +21 -0
  75. package/lib/download/ui/useFigureTask.d.ts.map +1 -0
  76. package/lib/download/ui/useFigureTask.js +27 -0
  77. package/lib/download/ui/useFigureTask.js.map +1 -0
  78. package/lib/host/core/connectHost.d.ts +75 -0
  79. package/lib/host/core/connectHost.d.ts.map +1 -0
  80. package/lib/host/core/connectHost.js +171 -0
  81. package/lib/host/core/connectHost.js.map +1 -0
  82. package/lib/host/core/hostStructure.d.ts +52 -0
  83. package/lib/host/core/hostStructure.d.ts.map +1 -0
  84. package/lib/host/core/hostStructure.js +106 -0
  85. package/lib/host/core/hostStructure.js.map +1 -0
  86. package/lib/host/core/index.d.ts +9 -0
  87. package/lib/host/core/index.d.ts.map +1 -0
  88. package/lib/host/core/index.js +5 -0
  89. package/lib/host/core/index.js.map +1 -0
  90. package/lib/host/core/kinds.d.ts +73 -0
  91. package/lib/host/core/kinds.d.ts.map +1 -0
  92. package/lib/host/core/kinds.js +88 -0
  93. package/lib/host/core/kinds.js.map +1 -0
  94. package/lib/host/core/protocol.d.ts +134 -0
  95. package/lib/host/core/protocol.d.ts.map +1 -0
  96. package/lib/host/core/protocol.js +92 -0
  97. package/lib/host/core/protocol.js.map +1 -0
  98. package/lib/host/testing/sciPeaks.d.ts +21 -0
  99. package/lib/host/testing/sciPeaks.d.ts.map +1 -0
  100. package/lib/host/testing/sciPeaks.js +62 -0
  101. package/lib/host/testing/sciPeaks.js.map +1 -0
  102. package/lib/host/testing/standInHost.d.ts +47 -0
  103. package/lib/host/testing/standInHost.d.ts.map +1 -0
  104. package/lib/host/testing/standInHost.js +85 -0
  105. package/lib/host/testing/standInHost.js.map +1 -0
  106. package/lib/host/ui/index.d.ts +3 -0
  107. package/lib/host/ui/index.d.ts.map +1 -0
  108. package/lib/host/ui/index.js +2 -0
  109. package/lib/host/ui/index.js.map +1 -0
  110. package/lib/host/ui/useHostConnection.d.ts +36 -0
  111. package/lib/host/ui/useHostConnection.d.ts.map +1 -0
  112. package/lib/host/ui/useHostConnection.js +62 -0
  113. package/lib/host/ui/useHostConnection.js.map +1 -0
  114. package/lib/host-testing.d.ts +8 -0
  115. package/lib/host-testing.d.ts.map +1 -0
  116. package/lib/host-testing.js +7 -0
  117. package/lib/host-testing.js.map +1 -0
  118. package/lib/host.d.ts +11 -0
  119. package/lib/host.d.ts.map +1 -0
  120. package/lib/host.js +11 -0
  121. package/lib/host.js.map +1 -0
  122. package/lib/i18n/core/chromeCatalog.d.ts +1 -1
  123. package/lib/i18n/core/chromeCatalog.d.ts.map +1 -1
  124. package/lib/locales/de.json +28 -2
  125. package/lib/locales/en.json +28 -2
  126. package/lib/locales/es.json +28 -2
  127. package/lib/locales/fr.json +28 -2
  128. package/lib/locales/it.json +28 -2
  129. package/lib/molecule3d/core/index.d.ts +1 -1
  130. package/lib/molecule3d/core/index.d.ts.map +1 -1
  131. package/lib/molecule3d/core/index.js +1 -1
  132. package/lib/molecule3d/core/index.js.map +1 -1
  133. package/lib/molecule3d/core/settings.d.ts +15 -0
  134. package/lib/molecule3d/core/settings.d.ts.map +1 -1
  135. package/lib/molecule3d/core/settings.js +25 -0
  136. package/lib/molecule3d/core/settings.js.map +1 -1
  137. package/lib/molecule3d/ui/Molecule3DExport.d.ts +3 -0
  138. package/lib/molecule3d/ui/Molecule3DExport.d.ts.map +1 -1
  139. package/lib/molecule3d/ui/Molecule3DExport.js +10 -16
  140. package/lib/molecule3d/ui/Molecule3DExport.js.map +1 -1
  141. package/lib/molecule3d/ui/Molecule3DOptions.d.ts +3 -1
  142. package/lib/molecule3d/ui/Molecule3DOptions.d.ts.map +1 -1
  143. package/lib/molecule3d/ui/Molecule3DOptions.js +22 -6
  144. package/lib/molecule3d/ui/Molecule3DOptions.js.map +1 -1
  145. package/lib/molecule3d/ui/MoleculeCanvas3D.d.ts.map +1 -1
  146. package/lib/molecule3d/ui/MoleculeCanvas3D.js +4 -3
  147. package/lib/molecule3d/ui/MoleculeCanvas3D.js.map +1 -1
  148. package/lib/molecule3d/ui/exportMoleculeImage.d.ts +9 -0
  149. package/lib/molecule3d/ui/exportMoleculeImage.d.ts.map +1 -1
  150. package/lib/molecule3d/ui/exportMoleculeImage.js +15 -0
  151. package/lib/molecule3d/ui/exportMoleculeImage.js.map +1 -1
  152. package/lib/molecule3d/ui/moleculeViewer3DProps.d.ts +2 -1
  153. package/lib/molecule3d/ui/moleculeViewer3DProps.d.ts.map +1 -1
  154. package/lib/molecule3d/ui/useImageExport.d.ts +7 -1
  155. package/lib/molecule3d/ui/useImageExport.d.ts.map +1 -1
  156. package/lib/molecule3d/ui/useImageExport.js +12 -3
  157. package/lib/molecule3d/ui/useImageExport.js.map +1 -1
  158. package/lib/overlay/ui/FigureBar.d.ts +41 -0
  159. package/lib/overlay/ui/FigureBar.d.ts.map +1 -0
  160. package/lib/overlay/ui/FigureBar.js +43 -0
  161. package/lib/overlay/ui/FigureBar.js.map +1 -0
  162. package/lib/overlay/ui/OverlayBar.d.ts +13 -4
  163. package/lib/overlay/ui/OverlayBar.d.ts.map +1 -1
  164. package/lib/overlay/ui/OverlayBar.js +2 -2
  165. package/lib/overlay/ui/OverlayBar.js.map +1 -1
  166. package/lib/overlay/ui/OverlayBarStrip.d.ts +2 -1
  167. package/lib/overlay/ui/OverlayBarStrip.d.ts.map +1 -1
  168. package/lib/overlay/ui/OverlayBarStrip.js +9 -5
  169. package/lib/overlay/ui/OverlayBarStrip.js.map +1 -1
  170. package/lib/overlay/ui/OverlayIconButton.d.ts +8 -2
  171. package/lib/overlay/ui/OverlayIconButton.d.ts.map +1 -1
  172. package/lib/overlay/ui/OverlayIconButton.js +2 -1
  173. package/lib/overlay/ui/OverlayIconButton.js.map +1 -1
  174. package/lib/overlay/ui/index.d.ts +4 -0
  175. package/lib/overlay/ui/index.d.ts.map +1 -1
  176. package/lib/overlay/ui/index.js +2 -0
  177. package/lib/overlay/ui/index.js.map +1 -1
  178. package/lib/overlay/ui/overlayBarShape.d.ts +18 -0
  179. package/lib/overlay/ui/overlayBarShape.d.ts.map +1 -1
  180. package/lib/overlay/ui/overlayStyles.d.ts +30 -0
  181. package/lib/overlay/ui/overlayStyles.d.ts.map +1 -1
  182. package/lib/overlay/ui/overlayStyles.js +52 -0
  183. package/lib/overlay/ui/overlayStyles.js.map +1 -1
  184. package/lib/overlay/ui/useFigureBarAwake.d.ts +12 -0
  185. package/lib/overlay/ui/useFigureBarAwake.d.ts.map +1 -0
  186. package/lib/overlay/ui/useFigureBarAwake.js +51 -0
  187. package/lib/overlay/ui/useFigureBarAwake.js.map +1 -0
  188. package/lib/periodic/core/elements.d.ts +6 -3
  189. package/lib/periodic/core/elements.d.ts.map +1 -1
  190. package/lib/periodic/core/elements.js +9 -3
  191. package/lib/periodic/core/elements.js.map +1 -1
  192. package/lib/periodic/core/index.d.ts +2 -2
  193. package/lib/periodic/core/index.d.ts.map +1 -1
  194. package/lib/periodic/core/index.js +1 -1
  195. package/lib/periodic/core/index.js.map +1 -1
  196. package/lib/periodic/core/layout.d.ts +33 -3
  197. package/lib/periodic/core/layout.d.ts.map +1 -1
  198. package/lib/periodic/core/layout.js +14 -0
  199. package/lib/periodic/core/layout.js.map +1 -1
  200. package/lib/periodic/ui/BlockStrip.d.ts +20 -0
  201. package/lib/periodic/ui/BlockStrip.d.ts.map +1 -0
  202. package/lib/periodic/ui/BlockStrip.js +48 -0
  203. package/lib/periodic/ui/BlockStrip.js.map +1 -0
  204. package/lib/periodic/ui/ElementCell.d.ts.map +1 -1
  205. package/lib/periodic/ui/ElementCell.js +9 -8
  206. package/lib/periodic/ui/ElementCell.js.map +1 -1
  207. package/lib/periodic/ui/PeriodicTable.d.ts.map +1 -1
  208. package/lib/periodic/ui/PeriodicTable.js +3 -1
  209. package/lib/periodic/ui/PeriodicTable.js.map +1 -1
  210. package/lib/periodic/ui/PeriodicTableHelp.d.ts +33 -0
  211. package/lib/periodic/ui/PeriodicTableHelp.d.ts.map +1 -0
  212. package/lib/periodic/ui/PeriodicTableHelp.js +107 -0
  213. package/lib/periodic/ui/PeriodicTableHelp.js.map +1 -0
  214. package/lib/periodic/ui/cellStyles.d.ts +3 -2
  215. package/lib/periodic/ui/cellStyles.d.ts.map +1 -1
  216. package/lib/periodic/ui/cellStyles.js +3 -2
  217. package/lib/periodic/ui/cellStyles.js.map +1 -1
  218. package/lib/periodic/ui/index.d.ts +2 -0
  219. package/lib/periodic/ui/index.d.ts.map +1 -1
  220. package/lib/periodic/ui/index.js +1 -0
  221. package/lib/periodic/ui/index.js.map +1 -1
  222. package/lib/periodic/ui/periodicTableProps.d.ts +5 -4
  223. package/lib/periodic/ui/periodicTableProps.d.ts.map +1 -1
  224. package/lib/periodic/ui/tableLayout.d.ts +3 -1
  225. package/lib/periodic/ui/tableLayout.d.ts.map +1 -1
  226. package/lib/periodic/ui/tableLayout.js +8 -3
  227. package/lib/periodic/ui/tableLayout.js.map +1 -1
  228. package/lib/share/ui/ShareDialogContent.d.ts +3 -2
  229. package/lib/share/ui/ShareDialogContent.d.ts.map +1 -1
  230. package/lib/share/ui/ShareDialogContent.js +5 -6
  231. package/lib/share/ui/ShareDialogContent.js.map +1 -1
  232. package/lib/share/ui/ShareLinkBar.d.ts +8 -2
  233. package/lib/share/ui/ShareLinkBar.d.ts.map +1 -1
  234. package/lib/share/ui/ShareLinkBar.js +6 -5
  235. package/lib/share/ui/ShareLinkBar.js.map +1 -1
  236. package/lib/share/ui/SharePreview.d.ts.map +1 -1
  237. package/lib/share/ui/SharePreview.js +2 -2
  238. package/lib/share/ui/SharePreview.js.map +1 -1
  239. package/lib/structure/ui/StructurePicturePane.js +3 -3
  240. package/lib/structure/ui/StructurePicturePane.js.map +1 -1
  241. package/package.json +4 -1
  242. package/src/clipboard/core/index.ts +0 -1
  243. package/src/clipboard/ui/CopyButton.tsx +12 -1
  244. package/src/color/core/index.ts +9 -0
  245. package/src/color/core/interpolate.ts +51 -22
  246. package/src/color/core/stops.ts +98 -0
  247. package/src/color/core/tone.ts +79 -0
  248. package/src/color/core/uniform.ts +67 -0
  249. package/src/color/ui/ColorScaleEditor.tsx +115 -141
  250. package/src/color/ui/ColorScaleSelect.tsx +160 -36
  251. package/src/color/ui/ColorScaleTone.tsx +103 -0
  252. package/src/color/ui/ColorScaleTrack.tsx +239 -0
  253. package/src/download/core/copyFigure.ts +20 -0
  254. package/src/download/core/figureHtml.ts +1 -0
  255. package/src/download/core/figureHtmlMarkup.ts +14 -1
  256. package/src/download/core/index.ts +2 -0
  257. package/src/download/ui/FigureDownloadPanel.tsx +8 -11
  258. package/src/download/ui/figureDownloadHint.ts +1 -2
  259. package/src/download/ui/index.ts +0 -1
  260. package/src/download/ui/useFigureActions.ts +6 -42
  261. package/src/download/ui/useFigureTask.ts +46 -0
  262. package/src/host/core/connectHost.ts +240 -0
  263. package/src/host/core/hostStructure.ts +129 -0
  264. package/src/host/core/index.ts +46 -0
  265. package/src/host/core/kinds.ts +128 -0
  266. package/src/host/core/protocol.ts +197 -0
  267. package/src/host/testing/sciPeaks.ts +66 -0
  268. package/src/host/testing/standInHost.ts +116 -0
  269. package/src/host/ui/index.ts +2 -0
  270. package/src/host/ui/useHostConnection.ts +85 -0
  271. package/src/host-testing.ts +18 -0
  272. package/src/host.ts +11 -0
  273. package/src/locales/de.json +28 -2
  274. package/src/locales/en.json +28 -2
  275. package/src/locales/es.json +28 -2
  276. package/src/locales/fr.json +28 -2
  277. package/src/locales/it.json +28 -2
  278. package/src/molecule3d/core/index.ts +2 -0
  279. package/src/molecule3d/core/settings.ts +35 -0
  280. package/src/molecule3d/ui/Molecule3DExport.tsx +18 -17
  281. package/src/molecule3d/ui/Molecule3DOptions.tsx +51 -3
  282. package/src/molecule3d/ui/MoleculeCanvas3D.tsx +11 -3
  283. package/src/molecule3d/ui/exportMoleculeImage.ts +20 -0
  284. package/src/molecule3d/ui/moleculeViewer3DProps.ts +2 -1
  285. package/src/molecule3d/ui/useImageExport.ts +25 -3
  286. package/src/overlay/ui/FigureBar.tsx +96 -0
  287. package/src/overlay/ui/OverlayBar.tsx +15 -5
  288. package/src/overlay/ui/OverlayBarStrip.tsx +34 -22
  289. package/src/overlay/ui/OverlayIconButton.tsx +10 -2
  290. package/src/overlay/ui/index.ts +4 -0
  291. package/src/overlay/ui/overlayBarShape.ts +19 -0
  292. package/src/overlay/ui/overlayStyles.ts +61 -0
  293. package/src/overlay/ui/useFigureBarAwake.ts +56 -0
  294. package/src/periodic/core/elements.ts +8 -3
  295. package/src/periodic/core/index.ts +8 -1
  296. package/src/periodic/core/layout.ts +45 -3
  297. package/src/periodic/ui/BlockStrip.tsx +81 -0
  298. package/src/periodic/ui/ElementCell.tsx +9 -8
  299. package/src/periodic/ui/PeriodicTable.tsx +4 -1
  300. package/src/periodic/ui/PeriodicTableHelp.tsx +205 -0
  301. package/src/periodic/ui/cellStyles.ts +3 -2
  302. package/src/periodic/ui/index.ts +5 -0
  303. package/src/periodic/ui/periodicTableProps.ts +5 -4
  304. package/src/periodic/ui/tableLayout.ts +9 -3
  305. package/src/share/ui/ShareDialogContent.tsx +9 -13
  306. package/src/share/ui/ShareLinkBar.tsx +16 -4
  307. package/src/share/ui/SharePreview.tsx +6 -2
  308. package/src/structure/ui/StructurePicturePane.tsx +3 -3
  309. package/styles/chrome.css +43 -32
  310. package/lib/clipboard/core/copyPng.d.ts +0 -13
  311. package/lib/clipboard/core/copyPng.d.ts.map +0 -1
  312. package/lib/clipboard/core/copyPng.js +0 -19
  313. package/lib/clipboard/core/copyPng.js.map +0 -1
  314. package/src/clipboard/core/copyPng.ts +0 -20
@@ -1,6 +1,7 @@
1
1
  import type { IconName } from '@blueprintjs/core';
2
2
  import type { ReactElement, ReactNode } from 'react';
3
3
  import type { OverlayPlacement } from '../core/overlayPlacement.ts';
4
+ import type { OverlayBarRest } from './overlayBarShape.ts';
4
5
  /** What {@link OverlayBar} needs. */
5
6
  export interface OverlayBarProps {
6
7
  /**
@@ -10,10 +11,11 @@ export interface OverlayBarProps {
10
11
  */
11
12
  children: ReactNode;
12
13
  /**
13
- * What sits at the far end of the row: the controls belonging to whatever
14
- * the figure is currently showing. They are the first thing to go when the
15
- * figure is too narrow for both ends, folding in behind the button.
16
- * @default undefined — the bar's end holds only its glyphs
14
+ * The controls belonging to whatever the figure is currently showing. On a
15
+ * card they close the row; on a stretched bar they follow the start, left
16
+ * aligned, and only the glyphs keep the right edge. They are the first
17
+ * thing to go when the figure is too narrow, folding in behind the button.
18
+ * @default undefined — the bar holds only its start and its glyphs
17
19
  */
18
20
  end?: ReactNode;
19
21
  /**
@@ -62,6 +64,13 @@ export interface OverlayBarProps {
62
64
  * @default 0.74
63
65
  */
64
66
  restingOpacity?: number;
67
+ /**
68
+ * How a stretched bar's controls are drawn while nothing points at the
69
+ * figure: at full strength, faded, or not at all. The bar keeps its height
70
+ * whichever it is. A card ignores it: its rest is `restingOpacity`.
71
+ * @default 'visible'
72
+ */
73
+ rest?: OverlayBarRest;
65
74
  /**
66
75
  * Whether the bar is reduced to a button opening the same controls in a
67
76
  * popover. Left out, it folds on its own once the figure is narrower than
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayBar.d.ts","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAQpE,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;;OAKG;IACH,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,CAuD/D"}
1
+ {"version":3,"file":"OverlayBar.d.ts","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAKpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI3D,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,CAwD/D"}
@@ -27,7 +27,7 @@ export function OverlayBar(props) {
27
27
  const name = label ?? t('overlay.options');
28
28
  const { collapsed, defaultCollapsed = false } = props;
29
29
  const { collapseBelow = 420, moreIcon = 'cog', testId } = props;
30
- const { morePadded = true } = props;
30
+ const { morePadded = true, rest } = props;
31
31
  const { width } = useOverlaySurface();
32
32
  const [startedFolded] = useState(defaultCollapsed);
33
33
  const folded = overlayBarFolded({
@@ -37,7 +37,7 @@ export function OverlayBar(props) {
37
37
  collapseBelow,
38
38
  });
39
39
  if (placement === 'stretch') {
40
- return (_jsx(OverlayBarStrip, { end: end, tools: tools, info: info, more: more, placement: placement, label: name, moreIcon: moreIcon, morePadded: morePadded, folded: folded, testId: testId, children: children }));
40
+ return (_jsx(OverlayBarStrip, { end: end, tools: tools, info: info, more: more, placement: placement, label: name, moreIcon: moreIcon, morePadded: morePadded, folded: folded, rest: rest, testId: testId, children: children }));
41
41
  }
42
42
  return (_jsx(OverlayBarCard, { end: end, tools: tools, info: info, more: more, placement: placement, label: name, moreIcon: moreIcon, morePadded: morePadded, folded: folded, restingOpacity: restingOpacity, testId: testId, children: children }));
43
43
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayBar.js","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayBar.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAuB,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAwGxD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACnD,MAAM,EAAE,SAAS,GAAG,WAAW,EAAE,GAAG,KAAK,CAAC;IAC1C,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,uBAAuB,EAAE,GAAG,KAAK,CAAC;IAClE,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC3C,MAAM,EAAE,SAAS,EAAE,gBAAgB,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IACtD,MAAM,EAAE,aAAa,GAAG,GAAG,EAAE,QAAQ,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAChE,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC;IACpC,MAAM,EAAE,KAAK,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACtC,MAAM,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAG,gBAAgB,CAAC;QAC9B,SAAS;QACT,aAAa;QACb,KAAK;QACL,aAAa;KACd,CAAC,CAAC;IAEH,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,CACL,KAAC,eAAe,IACd,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,YAEb,QAAQ,GACO,CACnB,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,cAAc,IACb,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,MAAM,YAEb,QAAQ,GACM,CAClB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"OverlayBar.js","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayBar.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAG9D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAuB,CAAC;AAGxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAgHxD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IACnD,MAAM,EAAE,SAAS,GAAG,WAAW,EAAE,GAAG,KAAK,CAAC;IAC1C,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,uBAAuB,EAAE,GAAG,KAAK,CAAC;IAClE,MAAM,CAAC,GAAG,UAAU,EAAE,CAAC;IACvB,MAAM,IAAI,GAAG,KAAK,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC3C,MAAM,EAAE,SAAS,EAAE,gBAAgB,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IACtD,MAAM,EAAE,aAAa,GAAG,GAAG,EAAE,QAAQ,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAChE,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAC1C,MAAM,EAAE,KAAK,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACtC,MAAM,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAG,gBAAgB,CAAC;QAC9B,SAAS;QACT,aAAa;QACb,KAAK;QACL,aAAa;KACd,CAAC,CAAC;IAEH,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,CACL,KAAC,eAAe,IACd,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,YAEb,QAAQ,GACO,CACnB,CAAC;IACJ,CAAC;IAED,OAAO,CACL,KAAC,cAAc,IACb,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,MAAM,YAEb,QAAQ,GACM,CAClB,CAAC;AACJ,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import type { ReactElement } from 'react';
2
2
  import type { OverlayBarShapeProps } from './overlayBarShape.ts';
3
3
  /**
4
- * The bar that spans the width of the figure, its two ends pushed apart.
4
+ * The bar that spans the width of the figure: the settings from the left edge,
5
+ * the glyphs — help, saving, the button the rest folds into — at the right.
5
6
  *
6
7
  * It is in the flow above the picture rather than on it, and its ground is
7
8
  * solid rather than translucent, because a strip reaching from one edge of the
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayBarStrip.d.ts","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayBarStrip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AASjE;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,CAmCzE"}
1
+ {"version":3,"file":"OverlayBarStrip.d.ts","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayBarStrip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAWjE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,CA4CzE"}
@@ -1,9 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { OverlayBarButton } from "./OverlayBarButton.js";
3
- import { OVERLAY_BAR_GROUND_STYLE, overlayBarContentStyle, overlayBarSideStyle, overlayCardStyle, } from "./overlayStyles.js";
3
+ import { overlayBarContentStyle, overlayBarGroundStyle, overlayBarGroupStyle, overlayBarRestStyle, overlayBarSideStyle, overlayCardStyle, } from "./overlayStyles.js";
4
4
  import { useOverlaySurface } from "./overlaySurface.js";
5
5
  /**
6
- * The bar that spans the width of the figure, its two ends pushed apart.
6
+ * The bar that spans the width of the figure: the settings from the left edge,
7
+ * the glyphs — help, saving, the button the rest folds into — at the right.
7
8
  *
8
9
  * It is in the flow above the picture rather than on it, and its ground is
9
10
  * solid rather than translucent, because a strip reaching from one edge of the
@@ -18,9 +19,12 @@ import { useOverlaySurface } from "./overlaySurface.js";
18
19
  */
19
20
  export function OverlayBarStrip(props) {
20
21
  const { children, end, tools, info, more, placement, label } = props;
21
- const { moreIcon, morePadded, folded, testId } = props;
22
- const { metrics } = useOverlaySurface();
22
+ const { moreIcon, morePadded, folded, testId, rest = 'visible' } = props;
23
+ const { metrics, awake } = useOverlaySurface();
23
24
  const opens = more !== undefined || (folded && end !== undefined);
24
- return (_jsxs("div", { style: overlayCardStyle(placement, metrics), "data-testid": testId, children: [_jsx("div", { style: OVERLAY_BAR_GROUND_STYLE }), _jsxs("div", { style: overlayBarContentStyle(metrics), children: [_jsx("div", { style: overlayBarSideStyle(metrics), children: children }), _jsxs("div", { role: "group", "aria-label": label, style: overlayBarSideStyle(metrics), children: [folded ? null : end, tools, info, opens ? (_jsxs(OverlayBarButton, { placement: placement, label: label, icon: moreIcon, padded: morePadded, children: [folded ? end : null, more] })) : null] })] })] }));
25
+ return (_jsxs("div", { style: overlayCardStyle(placement, metrics), "data-testid": testId, children: [_jsx("div", { style: overlayBarGroundStyle(rest, awake) }), _jsxs("div", { style: {
26
+ ...overlayBarContentStyle(metrics),
27
+ ...overlayBarRestStyle(rest, awake),
28
+ }, children: [children === null || children === undefined ? null : (_jsx("div", { style: overlayBarSideStyle(metrics), children: children })), _jsxs("div", { role: "group", "aria-label": label, style: overlayBarGroupStyle(metrics), children: [_jsx("div", { style: overlayBarSideStyle(metrics), children: folded ? null : end }), _jsxs("div", { style: overlayBarSideStyle(metrics), children: [tools, info, opens ? (_jsxs(OverlayBarButton, { placement: placement, label: label, icon: moreIcon, padded: morePadded, children: [folded ? end : null, more] })) : null] })] })] })] }));
25
29
  }
26
30
  //# sourceMappingURL=OverlayBarStrip.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayBarStrip.js","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayBarStrip.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAwB,CAAC;AAE1D,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACrE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACvD,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAExC,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC;IAElE,OAAO,CACL,eAAK,KAAK,EAAE,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,iBAAe,MAAM,aACnE,cAAK,KAAK,EAAE,wBAAwB,GAAI,EACxC,eAAK,KAAK,EAAE,sBAAsB,CAAC,OAAO,CAAC,aACzC,cAAK,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,YAAG,QAAQ,GAAO,EAC1D,eACE,IAAI,EAAC,OAAO,gBACA,KAAK,EACjB,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,aAElC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EACnB,KAAK,EACL,IAAI,EACJ,KAAK,CAAC,CAAC,CAAC,CACP,MAAC,gBAAgB,IACf,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,UAAU,aAEjB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EACnB,IAAI,IACY,CACpB,CAAC,CAAC,CAAC,IAAI,IACJ,IACF,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"OverlayBarStrip.js","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayBarStrip.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAwB,CAAC;AAE1D,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IACrE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,GAAG,SAAS,EAAE,GAAG,KAAK,CAAC;IACzE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,iBAAiB,EAAE,CAAC;IAE/C,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC;IAElE,OAAO,CACL,eAAK,KAAK,EAAE,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,iBAAe,MAAM,aACnE,cAAK,KAAK,EAAE,qBAAqB,CAAC,IAAI,EAAE,KAAK,CAAC,GAAI,EAClD,eACE,KAAK,EAAE;oBACL,GAAG,sBAAsB,CAAC,OAAO,CAAC;oBAClC,GAAG,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC;iBACpC,aAEA,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CACpD,cAAK,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,YAAG,QAAQ,GAAO,CAC3D,EACD,eACE,IAAI,EAAC,OAAO,gBACA,KAAK,EACjB,KAAK,EAAE,oBAAoB,CAAC,OAAO,CAAC,aAEpC,cAAK,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,YAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,GAAO,EACrE,eAAK,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,aACrC,KAAK,EACL,IAAI,EACJ,KAAK,CAAC,CAAC,CAAC,CACP,MAAC,gBAAgB,IACf,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,UAAU,aAEjB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EACnB,IAAI,IACY,CACpB,CAAC,CAAC,CAAC,IAAI,IACJ,IACF,IACF,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { IconName } from '@blueprintjs/core';
2
2
  import type { ReactElement } from 'react';
3
3
  /** What {@link OverlayIconButton} needs. */
4
- interface OverlayIconButtonProps {
4
+ export interface OverlayIconButtonProps {
5
5
  /**
6
6
  * The glyph: a Blueprint icon name, or an element of the caller's own — an
7
7
  * inline `<svg>` drawing the very mark the figure draws, which is the one
@@ -53,6 +53,13 @@ interface OverlayIconButtonProps {
53
53
  * @default undefined — nothing of its own happens
54
54
  */
55
55
  onClick?: () => void;
56
+ /**
57
+ * Whether the pointer is left without the browser's own tooltip, for a
58
+ * button that already opens a card of its own on hover: the two would
59
+ * otherwise stack. The screen reader is still told the name.
60
+ * @default false
61
+ */
62
+ untitled?: boolean;
56
63
  /**
57
64
  * Value of the `data-testid` attribute.
58
65
  * @default undefined
@@ -72,5 +79,4 @@ interface OverlayIconButtonProps {
72
79
  * @returns The button.
73
80
  */
74
81
  export declare function OverlayIconButton(props: OverlayIconButtonProps): ReactElement;
75
- export {};
76
82
  //# sourceMappingURL=OverlayIconButton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayIconButton.d.ts","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayIconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAM1C,4CAA4C;AAC5C,UAAU,sBAAsB;IAC9B;;;;OAIG;IACH,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC9B;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,YAAY,CAoC7E"}
1
+ {"version":3,"file":"OverlayIconButton.d.ts","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayIconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAM1C,4CAA4C;AAC5C,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC9B;;;;;;OAMG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,YAAY,CAqC7E"}
@@ -18,11 +18,12 @@ import { useOverlayInteraction } from "./useOverlayInteraction.js";
18
18
  export function OverlayIconButton(props) {
19
19
  const { icon, label, value, active = false, disabled = false } = props;
20
20
  const { disabledReason, opensMenu = false, onClick, testId } = props;
21
+ const { untitled = false } = props;
21
22
  const { metrics } = useOverlaySurface();
22
23
  const { hovered, focused, handlers } = useOverlayInteraction();
23
24
  const name = value === undefined ? label : `${label} — ${value}`;
24
25
  const told = disabled && disabledReason !== undefined ? disabledReason : name;
25
- return (_jsx("button", { type: "button", className: "no-print", title: told, "aria-label": name, "aria-haspopup": opensMenu ? 'menu' : undefined, "aria-expanded": opensMenu ? active : undefined, "aria-pressed": opensMenu ? undefined : active, disabled: disabled, "data-testid": testId, style: overlayIconButtonStyle(metrics, {
26
+ return (_jsx("button", { type: "button", className: "no-print", title: untitled ? undefined : told, "aria-label": name, "aria-haspopup": opensMenu ? 'menu' : undefined, "aria-expanded": opensMenu ? active : undefined, "aria-pressed": opensMenu ? undefined : active, disabled: disabled, "data-testid": testId, style: overlayIconButtonStyle(metrics, {
26
27
  hovered,
27
28
  focused,
28
29
  active,
@@ -1 +1 @@
1
- {"version":3,"file":"OverlayIconButton.js","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayIconButton.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AA8DnE;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAA6B;IAC7D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IACvE,MAAM,EAAE,cAAc,EAAE,SAAS,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACrE,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACxC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAE/D,MAAM,IAAI,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,KAAK,EAAE,CAAC;IACjE,MAAM,IAAI,GAAG,QAAQ,IAAI,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;IAE9E,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,UAAU,EACpB,KAAK,EAAE,IAAI,gBACC,IAAI,mBACD,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,mBAC9B,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,kBAC/B,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAC5C,QAAQ,EAAE,QAAQ,iBACL,MAAM,EACnB,KAAK,EAAE,sBAAsB,CAAC,OAAO,EAAE;YACrC,OAAO;YACP,OAAO;YACP,MAAM;YACN,QAAQ;SACT,CAAC,EACF,OAAO,EAAE,OAAO,KACZ,QAAQ,YAEX,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC1B,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,GAAI,CAC1D,CAAC,CAAC,CAAC,CACF,IAAI,CACL,GACM,CACV,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,SAAS,CAAC,UAAkB;IACnC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"OverlayIconButton.js","sourceRoot":"","sources":["../../../src/overlay/ui/OverlayIconButton.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAGzC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAqEnE;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAA6B;IAC7D,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IACvE,MAAM,EAAE,cAAc,EAAE,SAAS,GAAG,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACrE,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IACnC,MAAM,EAAE,OAAO,EAAE,GAAG,iBAAiB,EAAE,CAAC;IACxC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAE/D,MAAM,IAAI,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,KAAK,EAAE,CAAC;IACjE,MAAM,IAAI,GAAG,QAAQ,IAAI,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;IAE9E,OAAO,CACL,iBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,UAAU,EACpB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,gBACtB,IAAI,mBACD,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,mBAC9B,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,kBAC/B,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,EAC5C,QAAQ,EAAE,QAAQ,iBACL,MAAM,EACnB,KAAK,EAAE,sBAAsB,CAAC,OAAO,EAAE;YACrC,OAAO;YACP,OAAO;YACP,MAAM;YACN,QAAQ;SACT,CAAC,EACF,OAAO,EAAE,OAAO,KACZ,QAAQ,YAEX,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC1B,KAAC,IAAI,IAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,UAAU,CAAC,GAAI,CAC1D,CAAC,CAAC,CAAC,CACF,IAAI,CACL,GACM,CACV,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,SAAS,CAAC,UAAkB;IACnC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC;AACrD,CAAC"}
@@ -8,6 +8,8 @@
8
8
  * the rules for one are the reason two figures in this package look like they
9
9
  * belong to the same tool.
10
10
  */
11
+ export type { FigureBarProps } from './FigureBar.tsx';
12
+ export { FigureBar } from './FigureBar.tsx';
11
13
  export type { OverlayActionProps } from './OverlayAction.tsx';
12
14
  export { OverlayAction } from './OverlayAction.tsx';
13
15
  export type { OverlayBarProps } from './OverlayBar.tsx';
@@ -19,6 +21,8 @@ export { OverlayChip } from './OverlayChip.tsx';
19
21
  export { OverlayDivider } from './OverlayDivider.tsx';
20
22
  export type { OverlayGroupProps } from './OverlayGroup.tsx';
21
23
  export { OverlayGroup } from './OverlayGroup.tsx';
24
+ export type { OverlayIconButtonProps } from './OverlayIconButton.tsx';
25
+ export { OverlayIconButton } from './OverlayIconButton.tsx';
22
26
  export type { OverlayInfoProps } from './OverlayInfo.tsx';
23
27
  export { OverlayInfo } from './OverlayInfo.tsx';
24
28
  export type { OverlayLayerProps } from './OverlayLayer.tsx';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/overlay/ui/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/overlay/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EACV,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,YAAY,EACV,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,gBAAgB,EAChB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EACV,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,YAAY,EACV,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -8,12 +8,14 @@
8
8
  * the rules for one are the reason two figures in this package look like they
9
9
  * belong to the same tool.
10
10
  */
11
+ export { FigureBar } from "./FigureBar.js";
11
12
  export { OverlayAction } from "./OverlayAction.js";
12
13
  export { OverlayBar } from "./OverlayBar.js";
13
14
  export { OverlayCaption } from "./OverlayCaption.js";
14
15
  export { OverlayChip } from "./OverlayChip.js";
15
16
  export { OverlayDivider } from "./OverlayDivider.js";
16
17
  export { OverlayGroup } from "./OverlayGroup.js";
18
+ export { OverlayIconButton } from "./OverlayIconButton.js";
17
19
  export { OverlayInfo } from "./OverlayInfo.js";
18
20
  export { OverlayLayer } from "./OverlayLayer.js";
19
21
  export { OverlayLegend } from "./OverlayLegend.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/overlay/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAkB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAsB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAsB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAElD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAmB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAKlD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAyB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAMlD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAsB,CAAC;AAOtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAkB,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAwB,CAAC;AAK1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAyB,CAAC;AAK5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAA0B,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAwB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/overlay/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAiB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAkB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAsB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAsB,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAElD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAyB,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAmB,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAKlD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAyB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAoB,CAAC;AAMlD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAsB,CAAC;AAOtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAkB,CAAC;AAE9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAwB,CAAC;AAK1D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAyB,CAAC;AAK5D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAqB,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAA0B,CAAC;AAE9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAwB,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -9,6 +9,18 @@
9
9
  import type { IconName } from '@blueprintjs/core';
10
10
  import type { ReactNode } from 'react';
11
11
  import type { OverlayPlacement } from '../core/overlayPlacement.ts';
12
+ /**
13
+ * How a stretched bar's controls are drawn while nothing points at the figure
14
+ * it belongs to. The bar keeps its height in every case, so nothing under it
15
+ * moves when it wakes.
16
+ *
17
+ * - `visible` — at full strength, always.
18
+ * - `quiet` — faded, so the bar still says how the figure is drawn without
19
+ * drawing the eye; full strength on pointing or focus.
20
+ * - `hidden` — an empty strip until the figure is pointed at or a control
21
+ * holds the focus.
22
+ */
23
+ export type OverlayBarRest = 'visible' | 'quiet' | 'hidden';
12
24
  /** What both shapes of a bar are drawn from, with every default resolved. */
13
25
  export interface OverlayBarShapeProps {
14
26
  /** The controls at the start of the row. */
@@ -43,6 +55,12 @@ export interface OverlayBarShapeProps {
43
55
  morePadded: boolean;
44
56
  /** Whether the bar has folded its controls away behind that button. */
45
57
  folded: boolean;
58
+ /**
59
+ * How a stretched bar's controls are drawn while nothing points at the
60
+ * figure.
61
+ * @default 'visible'
62
+ */
63
+ rest?: OverlayBarRest;
46
64
  /**
47
65
  * Value of the `data-testid` attribute of the bar.
48
66
  * @default undefined
@@ -1 +1 @@
1
- {"version":3,"file":"overlayBarShape.d.ts","sourceRoot":"","sources":["../../../src/overlay/ui/overlayBarShape.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,6EAA6E;AAC7E,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,0BAA0B;IAC1B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,QAAQ,EAAE,QAAQ,CAAC;IACnB,wEAAwE;IACxE,UAAU,EAAE,OAAO,CAAC;IACpB,uEAAuE;IACvE,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"overlayBarShape.d.ts","sourceRoot":"","sources":["../../../src/overlay/ui/overlayBarShape.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAEpE;;;;;;;;;;GAUG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE5D,6EAA6E;AAC7E,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,QAAQ,EAAE,SAAS,CAAC;IACpB;;;OAGG;IACH,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB;;;OAGG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,0BAA0B;IAC1B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,QAAQ,EAAE,QAAQ,CAAC;IACnB,wEAAwE;IACxE,UAAU,EAAE,OAAO,CAAC;IACpB,uEAAuE;IACvE,MAAM,EAAE,OAAO,CAAC;IAChB;;;;OAIG;IACH,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -111,6 +111,36 @@ export declare const OVERLAY_BAR_GROUND_STYLE: {
111
111
  * @returns The row's rules.
112
112
  */
113
113
  export declare function overlayBarContentStyle(metrics: OverlayMetrics): CSSProperties;
114
+ /** How strong a quiet bar's controls are drawn while it rests. */
115
+ export declare const OVERLAY_QUIET_OPACITY = 0.45;
116
+ /**
117
+ * How much of a resting bar's ground is left: almost none, so the strip reads
118
+ * as the page behind it until the figure is pointed at.
119
+ */
120
+ export declare const OVERLAY_RESTING_GROUND_OPACITY = 0.08;
121
+ /**
122
+ * The opacity of a stretched bar's controls.
123
+ * @param rest - How the bar rests.
124
+ * @param awake - Whether the figure is pointed at or a control holds the focus.
125
+ * @returns The rules fading the controls, never the ground under them.
126
+ */
127
+ export declare function overlayBarRestStyle(rest: 'visible' | 'quiet' | 'hidden', awake: boolean): CSSProperties;
128
+ /**
129
+ * The ground of a stretched bar — its surface and the hairline under it —
130
+ * faded with its controls, so a resting bar is the page's own grey.
131
+ * @param rest - How the bar rests.
132
+ * @param awake - Whether the figure is pointed at or a control holds the focus.
133
+ * @returns The ground's rules.
134
+ */
135
+ export declare function overlayBarGroundStyle(rest: 'visible' | 'quiet' | 'hidden', awake: boolean): CSSProperties;
136
+ /**
137
+ * Everything on a stretched bar after its start: the settings, then the glyphs
138
+ * pushed to the right edge, so settings always read from the left and the `?`
139
+ * and the save glyph are always found in the same corner.
140
+ * @param metrics - The measurements the bar is drawn from.
141
+ * @returns The group's rules.
142
+ */
143
+ export declare function overlayBarGroupStyle(metrics: OverlayMetrics): CSSProperties;
114
144
  /**
115
145
  * One end of a stretched bar.
116
146
  *
@@ -1 +1 @@
1
- {"version":3,"file":"overlayStyles.d.ts","sourceRoot":"","sources":["../../../src/overlay/ui/overlayStyles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,mFAAmF;AACnF,eAAO,MAAM,mBAAmB;;;;;CAKE,CAAC;AAEnC;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,cAAc,GACtB,aAAa,CAYf;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,GACZ,aAAa,CAaf;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CAY1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CAQxE;AAoBD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED,kEAAkE;AAClE,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB;;;;;;CAMH,CAAC;AAEnC;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CAQ7E;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CAO1E"}
1
+ {"version":3,"file":"overlayStyles.d.ts","sourceRoot":"","sources":["../../../src/overlay/ui/overlayStyles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAGpE,mFAAmF;AACnF,eAAO,MAAM,mBAAmB;;;;;CAKE,CAAC;AAEnC;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,cAAc,GACtB,aAAa,CAYf;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,OAAO,GACZ,aAAa,CAaf;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CAY1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CAQxE;AAoBD;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG3D;AAED,kEAAkE;AAClE,eAAO,MAAM,uBAAuB,OAAO,CAAC;AAE5C;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB;;;;;;CAMH,CAAC;AAEnC;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CAQ7E;AAED,kEAAkE;AAClE,eAAO,MAAM,qBAAqB,OAAO,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,8BAA8B,OAAO,CAAC;AAEnD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,EACpC,KAAK,EAAE,OAAO,GACb,aAAa,CAIf;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,EACpC,KAAK,EAAE,OAAO,GACb,aAAa,CAOf;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CAS3E;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,aAAa,CAO1E"}
@@ -184,6 +184,58 @@ export function overlayBarContentStyle(metrics) {
184
184
  minWidth: 0,
185
185
  };
186
186
  }
187
+ /** How strong a quiet bar's controls are drawn while it rests. */
188
+ export const OVERLAY_QUIET_OPACITY = 0.45;
189
+ /**
190
+ * How much of a resting bar's ground is left: almost none, so the strip reads
191
+ * as the page behind it until the figure is pointed at.
192
+ */
193
+ export const OVERLAY_RESTING_GROUND_OPACITY = 0.08;
194
+ /**
195
+ * The opacity of a stretched bar's controls.
196
+ * @param rest - How the bar rests.
197
+ * @param awake - Whether the figure is pointed at or a control holds the focus.
198
+ * @returns The rules fading the controls, never the ground under them.
199
+ */
200
+ export function overlayBarRestStyle(rest, awake) {
201
+ if (rest === 'visible')
202
+ return {};
203
+ const opacity = awake ? 1 : rest === 'quiet' ? OVERLAY_QUIET_OPACITY : 0;
204
+ return { opacity, transition: 'opacity 150ms ease-out' };
205
+ }
206
+ /**
207
+ * The ground of a stretched bar — its surface and the hairline under it —
208
+ * faded with its controls, so a resting bar is the page's own grey.
209
+ * @param rest - How the bar rests.
210
+ * @param awake - Whether the figure is pointed at or a control holds the focus.
211
+ * @returns The ground's rules.
212
+ */
213
+ export function overlayBarGroundStyle(rest, awake) {
214
+ if (rest === 'visible')
215
+ return OVERLAY_BAR_GROUND_STYLE;
216
+ return {
217
+ ...OVERLAY_BAR_GROUND_STYLE,
218
+ opacity: awake ? 1 : OVERLAY_RESTING_GROUND_OPACITY,
219
+ transition: 'opacity 150ms ease-out',
220
+ };
221
+ }
222
+ /**
223
+ * Everything on a stretched bar after its start: the settings, then the glyphs
224
+ * pushed to the right edge, so settings always read from the left and the `?`
225
+ * and the save glyph are always found in the same corner.
226
+ * @param metrics - The measurements the bar is drawn from.
227
+ * @returns The group's rules.
228
+ */
229
+ export function overlayBarGroupStyle(metrics) {
230
+ return {
231
+ display: 'flex',
232
+ flex: '1 1 auto',
233
+ alignItems: 'center',
234
+ justifyContent: 'space-between',
235
+ gap: metrics.gap,
236
+ minWidth: 0,
237
+ };
238
+ }
187
239
  /**
188
240
  * One end of a stretched bar.
189
241
  *
@@ -1 +1 @@
1
- {"version":3,"file":"overlayStyles.js","sourceRoot":"","sources":["../../../src/overlay/ui/overlayStyles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overlayStyles.js","sourceRoot":"","sources":["../../../src/overlay/ui/overlayStyles.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { RefObject } from 'react';
2
+ /**
3
+ * Whether a figure's bar is awake: the box holding the bar and its figure is
4
+ * pointed at, or the focus is in the bar or in a popover one of its controls
5
+ * opened.
6
+ * @param bar - The bar; its parent is the box holding the figure it configures.
7
+ * @param watching - Whether to watch at all. A bar that never rests is always
8
+ * awake and listens to nothing.
9
+ * @returns Whether the bar is awake.
10
+ */
11
+ export declare function useFigureBarAwake(bar: RefObject<HTMLElement | null>, watching: boolean): boolean;
12
+ //# sourceMappingURL=useFigureBarAwake.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFigureBarAwake.d.ts","sourceRoot":"","sources":["../../../src/overlay/ui/useFigureBarAwake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,EAClC,QAAQ,EAAE,OAAO,GAChB,OAAO,CAqCT"}
@@ -0,0 +1,51 @@
1
+ import { useEffect, useState } from 'react';
2
+ /** How long the bar stays awake after the pointer leaves, so a reader moving to a menu does not watch it fade. */
3
+ const SLEEP_DELAY = 300;
4
+ /**
5
+ * Whether a figure's bar is awake: the box holding the bar and its figure is
6
+ * pointed at, or the focus is in the bar or in a popover one of its controls
7
+ * opened.
8
+ * @param bar - The bar; its parent is the box holding the figure it configures.
9
+ * @param watching - Whether to watch at all. A bar that never rests is always
10
+ * awake and listens to nothing.
11
+ * @returns Whether the bar is awake.
12
+ */
13
+ export function useFigureBarAwake(bar, watching) {
14
+ const [pointed, setPointed] = useState(false);
15
+ const [focused, setFocused] = useState(false);
16
+ useEffect(() => {
17
+ const figure = bar.current?.parentElement;
18
+ if (!watching || figure === null || figure === undefined)
19
+ return;
20
+ let timer;
21
+ const enter = () => {
22
+ clearTimeout(timer);
23
+ setPointed(true);
24
+ };
25
+ const leave = () => {
26
+ clearTimeout(timer);
27
+ timer = setTimeout(() => setPointed(false), SLEEP_DELAY);
28
+ };
29
+ // A menu opened from the bar is portalled out of it; the focus inside it
30
+ // still belongs to the bar, so the trigger does not vanish under it.
31
+ const focusIn = (event) => {
32
+ const target = event.target;
33
+ if (!(target instanceof Element))
34
+ return;
35
+ const inBar = bar.current?.contains(target) ?? false;
36
+ const inPortal = target.closest('.bp6-portal') !== null;
37
+ setFocused((was) => inBar || (was && inPortal));
38
+ };
39
+ figure.addEventListener('pointerenter', enter);
40
+ figure.addEventListener('pointerleave', leave);
41
+ document.addEventListener('focusin', focusIn);
42
+ return () => {
43
+ clearTimeout(timer);
44
+ figure.removeEventListener('pointerenter', enter);
45
+ figure.removeEventListener('pointerleave', leave);
46
+ document.removeEventListener('focusin', focusIn);
47
+ };
48
+ }, [bar, watching]);
49
+ return !watching || pointed || focused;
50
+ }
51
+ //# sourceMappingURL=useFigureBarAwake.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFigureBarAwake.js","sourceRoot":"","sources":["../../../src/overlay/ui/useFigureBarAwake.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAE5C,kHAAkH;AAClH,MAAM,WAAW,GAAG,GAAG,CAAC;AAExB;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAC/B,GAAkC,EAClC,QAAiB;IAEjB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC;QAC1C,IAAI,CAAC,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjE,IAAI,KAAgD,CAAC;QACrD,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,UAAU,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,GAAG,EAAE;YACjB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;QAC3D,CAAC,CAAC;QACF,yEAAyE;QACzE,qEAAqE;QACrE,MAAM,OAAO,GAAG,CAAC,KAAiB,EAAE,EAAE;YACpC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,IAAI,CAAC,CAAC,MAAM,YAAY,OAAO,CAAC;gBAAE,OAAO;YACzC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC;YACrD,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;YACxD,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC;QAClD,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;QAC/C,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAClD,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAClD,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEpB,OAAO,CAAC,QAAQ,IAAI,OAAO,IAAI,OAAO,CAAC;AACzC,CAAC"}
@@ -9,9 +9,12 @@
9
9
  * they still agree with it.
10
10
  *
11
11
  * `block` follows the element's *position* in the table, which is what a
12
- * student reads off it. The configuration is the authority on which subshell is
13
- * actually filling, and the two disagree for a handful of elements — lanthanum
14
- * fills 5d, not 4f. See `ELEMENT_ANOMALIES` in the orbital module.
12
+ * student reads off it, with two exceptions where the table's shape and the
13
+ * chemistry part ways: helium is s, and lutetium and lawrencium close the d
14
+ * block in group 3 (IUPAC), so the f block is fourteen wide. The configuration
15
+ * is the authority on which subshell is actually filling, and the two disagree
16
+ * for a handful of elements — lanthanum fills 5d, not 4f. See
17
+ * `ELEMENT_ANOMALIES` in the orbital module.
15
18
  */
16
19
  /** Region of the table an element sits in. */
17
20
  export type ElementBlock = 's' | 'p' | 'd' | 'f';
@@ -1 +1 @@
1
- {"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../../src/periodic/core/elements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,8CAA8C;AAC9C,MAAM,MAAM,YAAY,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEjD,+CAA+C;AAC/C,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,sBAAsB,GACtB,kBAAkB,GAClB,uBAAuB,GACvB,WAAW,GACX,UAAU,GACV,SAAS,GACT,WAAW,GACX,YAAY,GACZ,UAAU,CAAC;AAEf,2CAA2C;AAC3C,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,4EAA4E;IAC5E,KAAK,EAAE,YAAY,CAAC;IACpB,sCAAsC;IACtC,QAAQ,EAAE,eAAe,CAAC;CAC3B;AA8HD,+CAA+C;AAC/C,eAAO,MAAM,iBAAiB,EAAE,SAAS,eAAe,EAUvD,CAAC;AAMF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,GACnB,eAAe,GAAG,SAAS,CAE7B"}
1
+ {"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../../src/periodic/core/elements.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,8CAA8C;AAC9C,MAAM,MAAM,YAAY,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAEjD,+CAA+C;AAC/C,MAAM,MAAM,eAAe,GACvB,cAAc,GACd,sBAAsB,GACtB,kBAAkB,GAClB,uBAAuB,GACvB,WAAW,GACX,UAAU,GACV,SAAS,GACT,WAAW,GACX,YAAY,GACZ,UAAU,CAAC;AAEf,2CAA2C;AAC3C,MAAM,WAAW,eAAe;IAC9B,8BAA8B;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;IACb,gCAAgC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,4EAA4E;IAC5E,KAAK,EAAE,YAAY,CAAC;IACpB,sCAAsC;IACtC,QAAQ,EAAE,eAAe,CAAC;CAC3B;AA8HD,+CAA+C;AAC/C,eAAO,MAAM,iBAAiB,EAAE,SAAS,eAAe,EAUvD,CAAC;AAMF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAE3E;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,GACnB,eAAe,GAAG,SAAS,CAE7B"}
@@ -9,9 +9,12 @@
9
9
  * they still agree with it.
10
10
  *
11
11
  * `block` follows the element's *position* in the table, which is what a
12
- * student reads off it. The configuration is the authority on which subshell is
13
- * actually filling, and the two disagree for a handful of elements — lanthanum
14
- * fills 5d, not 4f. See `ELEMENT_ANOMALIES` in the orbital module.
12
+ * student reads off it, with two exceptions where the table's shape and the
13
+ * chemistry part ways: helium is s, and lutetium and lawrencium close the d
14
+ * block in group 3 (IUPAC), so the f block is fourteen wide. The configuration
15
+ * is the authority on which subshell is actually filling, and the two disagree
16
+ * for a handful of elements — lanthanum fills 5d, not 4f. See
17
+ * `ELEMENT_ANOMALIES` in the orbital module.
15
18
  */
16
19
  const ROWS = [
17
20
  ['H', 'Hydrogen', 1, 1, 'nonmetal'],
@@ -161,6 +164,9 @@ export function elementByAtomicNumber(atomicNumber) {
161
164
  return PERIODIC_ELEMENTS[atomicNumber - 1];
162
165
  }
163
166
  function blockOf(atomicNumber, group) {
167
+ // Lutetium and lawrencium are drawn in the f rows but belong to group 3.
168
+ if (atomicNumber === 71 || atomicNumber === 103)
169
+ return 'd';
164
170
  if (group === null)
165
171
  return 'f';
166
172
  // Helium sits above the p block but its only electrons are 1s.
@@ -1 +1 @@
1
- {"version":3,"file":"elements.js","sourceRoot":"","sources":["../../../src/periodic/core/elements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"elements.js","sourceRoot":"","sources":["../../../src/periodic/core/elements.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  export type { ElementBlock, ElementCategory, PeriodicElement, } from './elements.ts';
2
2
  export { PERIODIC_ELEMENTS, elementByAtomicNumber, elementBySymbol, } from './elements.ts';
3
3
  export { CATEGORY_LABELS, CATEGORY_ORDER, CATEGORY_SWATCHES, UNKNOWN_SWATCH, categorySwatch, } from './categories.ts';
4
- export type { Cell, ElementPick, ElementRange } from './layout.ts';
5
- export { COLUMN_COUNT, EMPTY_BLOCK, INNER_TRANSITION_MARKERS, INNER_TRANSITION_ROWS, ROW_COUNT, cellOf, elementByArrowKey, placedElements, } from './layout.ts';
4
+ export type { BlockRange, Cell, ElementPick, ElementRange, NumberedRange, } from './layout.ts';
5
+ export { BLOCK_LABELS, COLUMN_COUNT, EMPTY_BLOCK, INNER_TRANSITION_MARKERS, INNER_TRANSITION_ROWS, ROW_COUNT, cellOf, elementByArrowKey, placedElements, } from './layout.ts';
6
6
  //# sourceMappingURL=index.d.ts.map