react-cheminfo 0.50.0 → 0.51.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 (258) hide show
  1. package/bin/check-seo.mjs +0 -0
  2. package/lib/clipboard/core/index.d.ts +0 -1
  3. package/lib/clipboard/core/index.d.ts.map +1 -1
  4. package/lib/clipboard/core/index.js +0 -1
  5. package/lib/clipboard/core/index.js.map +1 -1
  6. package/lib/clipboard/ui/CopyButton.d.ts +6 -0
  7. package/lib/clipboard/ui/CopyButton.d.ts.map +1 -1
  8. package/lib/clipboard/ui/CopyButton.js +5 -2
  9. package/lib/clipboard/ui/CopyButton.js.map +1 -1
  10. package/lib/color/core/index.d.ts +3 -0
  11. package/lib/color/core/index.d.ts.map +1 -1
  12. package/lib/color/core/index.js +2 -0
  13. package/lib/color/core/index.js.map +1 -1
  14. package/lib/color/core/interpolate.d.ts +4 -2
  15. package/lib/color/core/interpolate.d.ts.map +1 -1
  16. package/lib/color/core/interpolate.js +34 -12
  17. package/lib/color/core/interpolate.js.map +1 -1
  18. package/lib/color/core/stops.d.ts +43 -0
  19. package/lib/color/core/stops.d.ts.map +1 -0
  20. package/lib/color/core/stops.js +66 -0
  21. package/lib/color/core/stops.js.map +1 -0
  22. package/lib/color/core/tone.d.ts +25 -0
  23. package/lib/color/core/tone.d.ts.map +1 -0
  24. package/lib/color/core/tone.js +67 -0
  25. package/lib/color/core/tone.js.map +1 -0
  26. package/lib/color/core/uniform.d.ts +36 -0
  27. package/lib/color/core/uniform.d.ts.map +1 -0
  28. package/lib/color/core/uniform.js +61 -0
  29. package/lib/color/core/uniform.js.map +1 -0
  30. package/lib/color/ui/ColorScaleEditor.d.ts +5 -6
  31. package/lib/color/ui/ColorScaleEditor.d.ts.map +1 -1
  32. package/lib/color/ui/ColorScaleEditor.js +74 -84
  33. package/lib/color/ui/ColorScaleEditor.js.map +1 -1
  34. package/lib/color/ui/ColorScaleSelect.d.ts +16 -0
  35. package/lib/color/ui/ColorScaleSelect.d.ts.map +1 -1
  36. package/lib/color/ui/ColorScaleSelect.js +69 -17
  37. package/lib/color/ui/ColorScaleSelect.js.map +1 -1
  38. package/lib/color/ui/ColorScaleTone.d.ts +17 -0
  39. package/lib/color/ui/ColorScaleTone.d.ts.map +1 -0
  40. package/lib/color/ui/ColorScaleTone.js +55 -0
  41. package/lib/color/ui/ColorScaleTone.js.map +1 -0
  42. package/lib/color/ui/ColorScaleTrack.d.ts +29 -0
  43. package/lib/color/ui/ColorScaleTrack.d.ts.map +1 -0
  44. package/lib/color/ui/ColorScaleTrack.js +143 -0
  45. package/lib/color/ui/ColorScaleTrack.js.map +1 -0
  46. package/lib/download/core/copyFigure.d.ts +14 -0
  47. package/lib/download/core/copyFigure.d.ts.map +1 -0
  48. package/lib/download/core/copyFigure.js +18 -0
  49. package/lib/download/core/copyFigure.js.map +1 -0
  50. package/lib/download/core/figureHtml.js +1 -0
  51. package/lib/download/core/figureHtml.js.map +1 -1
  52. package/lib/download/core/figureHtmlMarkup.d.ts +10 -0
  53. package/lib/download/core/figureHtmlMarkup.d.ts.map +1 -1
  54. package/lib/download/core/figureHtmlMarkup.js +7 -1
  55. package/lib/download/core/figureHtmlMarkup.js.map +1 -1
  56. package/lib/download/core/index.d.ts +2 -0
  57. package/lib/download/core/index.d.ts.map +1 -1
  58. package/lib/download/core/index.js +1 -0
  59. package/lib/download/core/index.js.map +1 -1
  60. package/lib/download/ui/FigureDownloadPanel.d.ts +2 -3
  61. package/lib/download/ui/FigureDownloadPanel.d.ts.map +1 -1
  62. package/lib/download/ui/FigureDownloadPanel.js +1 -1
  63. package/lib/download/ui/FigureDownloadPanel.js.map +1 -1
  64. package/lib/download/ui/figureDownloadHint.d.ts +1 -1
  65. package/lib/download/ui/figureDownloadHint.d.ts.map +1 -1
  66. package/lib/download/ui/figureDownloadHint.js.map +1 -1
  67. package/lib/download/ui/index.d.ts +0 -1
  68. package/lib/download/ui/index.d.ts.map +1 -1
  69. package/lib/download/ui/useFigureActions.d.ts +2 -11
  70. package/lib/download/ui/useFigureActions.d.ts.map +1 -1
  71. package/lib/download/ui/useFigureActions.js +4 -23
  72. package/lib/download/ui/useFigureActions.js.map +1 -1
  73. package/lib/download/ui/useFigureTask.d.ts +21 -0
  74. package/lib/download/ui/useFigureTask.d.ts.map +1 -0
  75. package/lib/download/ui/useFigureTask.js +27 -0
  76. package/lib/download/ui/useFigureTask.js.map +1 -0
  77. package/lib/i18n/core/chromeCatalog.d.ts +1 -1
  78. package/lib/i18n/core/chromeCatalog.d.ts.map +1 -1
  79. package/lib/locales/de.json +28 -2
  80. package/lib/locales/en.json +28 -2
  81. package/lib/locales/es.json +28 -2
  82. package/lib/locales/fr.json +28 -2
  83. package/lib/locales/it.json +28 -2
  84. package/lib/molecule3d/core/index.d.ts +1 -1
  85. package/lib/molecule3d/core/index.d.ts.map +1 -1
  86. package/lib/molecule3d/core/index.js +1 -1
  87. package/lib/molecule3d/core/index.js.map +1 -1
  88. package/lib/molecule3d/core/settings.d.ts +15 -0
  89. package/lib/molecule3d/core/settings.d.ts.map +1 -1
  90. package/lib/molecule3d/core/settings.js +25 -0
  91. package/lib/molecule3d/core/settings.js.map +1 -1
  92. package/lib/molecule3d/ui/Molecule3DExport.d.ts +3 -0
  93. package/lib/molecule3d/ui/Molecule3DExport.d.ts.map +1 -1
  94. package/lib/molecule3d/ui/Molecule3DExport.js +10 -16
  95. package/lib/molecule3d/ui/Molecule3DExport.js.map +1 -1
  96. package/lib/molecule3d/ui/Molecule3DOptions.d.ts +3 -1
  97. package/lib/molecule3d/ui/Molecule3DOptions.d.ts.map +1 -1
  98. package/lib/molecule3d/ui/Molecule3DOptions.js +22 -6
  99. package/lib/molecule3d/ui/Molecule3DOptions.js.map +1 -1
  100. package/lib/molecule3d/ui/MoleculeCanvas3D.d.ts.map +1 -1
  101. package/lib/molecule3d/ui/MoleculeCanvas3D.js +4 -3
  102. package/lib/molecule3d/ui/MoleculeCanvas3D.js.map +1 -1
  103. package/lib/molecule3d/ui/exportMoleculeImage.d.ts +9 -0
  104. package/lib/molecule3d/ui/exportMoleculeImage.d.ts.map +1 -1
  105. package/lib/molecule3d/ui/exportMoleculeImage.js +15 -0
  106. package/lib/molecule3d/ui/exportMoleculeImage.js.map +1 -1
  107. package/lib/molecule3d/ui/moleculeViewer3DProps.d.ts +2 -1
  108. package/lib/molecule3d/ui/moleculeViewer3DProps.d.ts.map +1 -1
  109. package/lib/molecule3d/ui/useImageExport.d.ts +7 -1
  110. package/lib/molecule3d/ui/useImageExport.d.ts.map +1 -1
  111. package/lib/molecule3d/ui/useImageExport.js +12 -3
  112. package/lib/molecule3d/ui/useImageExport.js.map +1 -1
  113. package/lib/overlay/ui/FigureBar.d.ts +41 -0
  114. package/lib/overlay/ui/FigureBar.d.ts.map +1 -0
  115. package/lib/overlay/ui/FigureBar.js +43 -0
  116. package/lib/overlay/ui/FigureBar.js.map +1 -0
  117. package/lib/overlay/ui/OverlayBar.d.ts +13 -4
  118. package/lib/overlay/ui/OverlayBar.d.ts.map +1 -1
  119. package/lib/overlay/ui/OverlayBar.js +2 -2
  120. package/lib/overlay/ui/OverlayBar.js.map +1 -1
  121. package/lib/overlay/ui/OverlayBarStrip.d.ts +2 -1
  122. package/lib/overlay/ui/OverlayBarStrip.d.ts.map +1 -1
  123. package/lib/overlay/ui/OverlayBarStrip.js +9 -5
  124. package/lib/overlay/ui/OverlayBarStrip.js.map +1 -1
  125. package/lib/overlay/ui/OverlayIconButton.d.ts +8 -2
  126. package/lib/overlay/ui/OverlayIconButton.d.ts.map +1 -1
  127. package/lib/overlay/ui/OverlayIconButton.js +2 -1
  128. package/lib/overlay/ui/OverlayIconButton.js.map +1 -1
  129. package/lib/overlay/ui/index.d.ts +4 -0
  130. package/lib/overlay/ui/index.d.ts.map +1 -1
  131. package/lib/overlay/ui/index.js +2 -0
  132. package/lib/overlay/ui/index.js.map +1 -1
  133. package/lib/overlay/ui/overlayBarShape.d.ts +18 -0
  134. package/lib/overlay/ui/overlayBarShape.d.ts.map +1 -1
  135. package/lib/overlay/ui/overlayStyles.d.ts +30 -0
  136. package/lib/overlay/ui/overlayStyles.d.ts.map +1 -1
  137. package/lib/overlay/ui/overlayStyles.js +52 -0
  138. package/lib/overlay/ui/overlayStyles.js.map +1 -1
  139. package/lib/overlay/ui/useFigureBarAwake.d.ts +12 -0
  140. package/lib/overlay/ui/useFigureBarAwake.d.ts.map +1 -0
  141. package/lib/overlay/ui/useFigureBarAwake.js +51 -0
  142. package/lib/overlay/ui/useFigureBarAwake.js.map +1 -0
  143. package/lib/periodic/core/elements.d.ts +6 -3
  144. package/lib/periodic/core/elements.d.ts.map +1 -1
  145. package/lib/periodic/core/elements.js +9 -3
  146. package/lib/periodic/core/elements.js.map +1 -1
  147. package/lib/periodic/core/index.d.ts +2 -2
  148. package/lib/periodic/core/index.d.ts.map +1 -1
  149. package/lib/periodic/core/index.js +1 -1
  150. package/lib/periodic/core/index.js.map +1 -1
  151. package/lib/periodic/core/layout.d.ts +33 -3
  152. package/lib/periodic/core/layout.d.ts.map +1 -1
  153. package/lib/periodic/core/layout.js +14 -0
  154. package/lib/periodic/core/layout.js.map +1 -1
  155. package/lib/periodic/ui/BlockStrip.d.ts +20 -0
  156. package/lib/periodic/ui/BlockStrip.d.ts.map +1 -0
  157. package/lib/periodic/ui/BlockStrip.js +48 -0
  158. package/lib/periodic/ui/BlockStrip.js.map +1 -0
  159. package/lib/periodic/ui/ElementCell.d.ts.map +1 -1
  160. package/lib/periodic/ui/ElementCell.js +9 -8
  161. package/lib/periodic/ui/ElementCell.js.map +1 -1
  162. package/lib/periodic/ui/PeriodicTable.d.ts.map +1 -1
  163. package/lib/periodic/ui/PeriodicTable.js +3 -1
  164. package/lib/periodic/ui/PeriodicTable.js.map +1 -1
  165. package/lib/periodic/ui/PeriodicTableHelp.d.ts +33 -0
  166. package/lib/periodic/ui/PeriodicTableHelp.d.ts.map +1 -0
  167. package/lib/periodic/ui/PeriodicTableHelp.js +107 -0
  168. package/lib/periodic/ui/PeriodicTableHelp.js.map +1 -0
  169. package/lib/periodic/ui/cellStyles.d.ts +3 -2
  170. package/lib/periodic/ui/cellStyles.d.ts.map +1 -1
  171. package/lib/periodic/ui/cellStyles.js +3 -2
  172. package/lib/periodic/ui/cellStyles.js.map +1 -1
  173. package/lib/periodic/ui/index.d.ts +2 -0
  174. package/lib/periodic/ui/index.d.ts.map +1 -1
  175. package/lib/periodic/ui/index.js +1 -0
  176. package/lib/periodic/ui/index.js.map +1 -1
  177. package/lib/periodic/ui/periodicTableProps.d.ts +5 -4
  178. package/lib/periodic/ui/periodicTableProps.d.ts.map +1 -1
  179. package/lib/periodic/ui/tableLayout.d.ts +3 -1
  180. package/lib/periodic/ui/tableLayout.d.ts.map +1 -1
  181. package/lib/periodic/ui/tableLayout.js +8 -3
  182. package/lib/periodic/ui/tableLayout.js.map +1 -1
  183. package/lib/share/ui/ShareDialogContent.d.ts +3 -2
  184. package/lib/share/ui/ShareDialogContent.d.ts.map +1 -1
  185. package/lib/share/ui/ShareDialogContent.js +5 -6
  186. package/lib/share/ui/ShareDialogContent.js.map +1 -1
  187. package/lib/share/ui/ShareLinkBar.d.ts +8 -2
  188. package/lib/share/ui/ShareLinkBar.d.ts.map +1 -1
  189. package/lib/share/ui/ShareLinkBar.js +6 -5
  190. package/lib/share/ui/ShareLinkBar.js.map +1 -1
  191. package/lib/share/ui/SharePreview.d.ts.map +1 -1
  192. package/lib/share/ui/SharePreview.js +2 -2
  193. package/lib/share/ui/SharePreview.js.map +1 -1
  194. package/lib/structure/ui/StructurePicturePane.js +3 -3
  195. package/lib/structure/ui/StructurePicturePane.js.map +1 -1
  196. package/package.json +1 -1
  197. package/src/clipboard/core/index.ts +0 -1
  198. package/src/clipboard/ui/CopyButton.tsx +12 -1
  199. package/src/color/core/index.ts +9 -0
  200. package/src/color/core/interpolate.ts +51 -22
  201. package/src/color/core/stops.ts +98 -0
  202. package/src/color/core/tone.ts +79 -0
  203. package/src/color/core/uniform.ts +67 -0
  204. package/src/color/ui/ColorScaleEditor.tsx +115 -141
  205. package/src/color/ui/ColorScaleSelect.tsx +160 -36
  206. package/src/color/ui/ColorScaleTone.tsx +103 -0
  207. package/src/color/ui/ColorScaleTrack.tsx +239 -0
  208. package/src/download/core/copyFigure.ts +20 -0
  209. package/src/download/core/figureHtml.ts +1 -0
  210. package/src/download/core/figureHtmlMarkup.ts +14 -1
  211. package/src/download/core/index.ts +2 -0
  212. package/src/download/ui/FigureDownloadPanel.tsx +8 -11
  213. package/src/download/ui/figureDownloadHint.ts +1 -2
  214. package/src/download/ui/index.ts +0 -1
  215. package/src/download/ui/useFigureActions.ts +6 -42
  216. package/src/download/ui/useFigureTask.ts +46 -0
  217. package/src/locales/de.json +28 -2
  218. package/src/locales/en.json +28 -2
  219. package/src/locales/es.json +28 -2
  220. package/src/locales/fr.json +28 -2
  221. package/src/locales/it.json +28 -2
  222. package/src/molecule3d/core/index.ts +2 -0
  223. package/src/molecule3d/core/settings.ts +35 -0
  224. package/src/molecule3d/ui/Molecule3DExport.tsx +18 -17
  225. package/src/molecule3d/ui/Molecule3DOptions.tsx +51 -3
  226. package/src/molecule3d/ui/MoleculeCanvas3D.tsx +11 -3
  227. package/src/molecule3d/ui/exportMoleculeImage.ts +20 -0
  228. package/src/molecule3d/ui/moleculeViewer3DProps.ts +2 -1
  229. package/src/molecule3d/ui/useImageExport.ts +25 -3
  230. package/src/overlay/ui/FigureBar.tsx +96 -0
  231. package/src/overlay/ui/OverlayBar.tsx +15 -5
  232. package/src/overlay/ui/OverlayBarStrip.tsx +34 -22
  233. package/src/overlay/ui/OverlayIconButton.tsx +10 -2
  234. package/src/overlay/ui/index.ts +4 -0
  235. package/src/overlay/ui/overlayBarShape.ts +19 -0
  236. package/src/overlay/ui/overlayStyles.ts +61 -0
  237. package/src/overlay/ui/useFigureBarAwake.ts +56 -0
  238. package/src/periodic/core/elements.ts +8 -3
  239. package/src/periodic/core/index.ts +8 -1
  240. package/src/periodic/core/layout.ts +45 -3
  241. package/src/periodic/ui/BlockStrip.tsx +81 -0
  242. package/src/periodic/ui/ElementCell.tsx +9 -8
  243. package/src/periodic/ui/PeriodicTable.tsx +4 -1
  244. package/src/periodic/ui/PeriodicTableHelp.tsx +205 -0
  245. package/src/periodic/ui/cellStyles.ts +3 -2
  246. package/src/periodic/ui/index.ts +5 -0
  247. package/src/periodic/ui/periodicTableProps.ts +5 -4
  248. package/src/periodic/ui/tableLayout.ts +9 -3
  249. package/src/share/ui/ShareDialogContent.tsx +9 -13
  250. package/src/share/ui/ShareLinkBar.tsx +16 -4
  251. package/src/share/ui/SharePreview.tsx +6 -2
  252. package/src/structure/ui/StructurePicturePane.tsx +3 -3
  253. package/styles/chrome.css +43 -32
  254. package/lib/clipboard/core/copyPng.d.ts +0 -13
  255. package/lib/clipboard/core/copyPng.d.ts.map +0 -1
  256. package/lib/clipboard/core/copyPng.js +0 -19
  257. package/lib/clipboard/core/copyPng.js.map +0 -1
  258. package/src/clipboard/core/copyPng.ts +0 -20
@@ -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":"AAAA;;;;;;;;;GASG;AAEH,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,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/overlay/ui/index.ts"],"names":[],"mappings":"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"}
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/periodic/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EACL,YAAY,EACZ,WAAW,EACX,wBAAwB,EACxB,qBAAqB,EACrB,SAAS,EACT,MAAM,EACN,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/periodic/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,YAAY,EACZ,eAAe,EACf,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,UAAU,EACV,IAAI,EACJ,WAAW,EACX,YAAY,EACZ,aAAa,GACd,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,wBAAwB,EACxB,qBAAqB,EACrB,SAAS,EACT,MAAM,EACN,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export { PERIODIC_ELEMENTS, elementByAtomicNumber, elementBySymbol, } from "./elements.js";
2
2
  export { CATEGORY_LABELS, CATEGORY_ORDER, CATEGORY_SWATCHES, UNKNOWN_SWATCH, categorySwatch, } from "./categories.js";
3
- export { COLUMN_COUNT, EMPTY_BLOCK, INNER_TRANSITION_MARKERS, INNER_TRANSITION_ROWS, ROW_COUNT, cellOf, elementByArrowKey, placedElements, } from "./layout.js";
3
+ export { BLOCK_LABELS, COLUMN_COUNT, EMPTY_BLOCK, INNER_TRANSITION_MARKERS, INNER_TRANSITION_ROWS, ROW_COUNT, cellOf, elementByArrowKey, placedElements, } from "./layout.js";
4
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/periodic/core/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,YAAY,EACZ,WAAW,EACX,wBAAwB,EACxB,qBAAqB,EACrB,SAAS,EACT,MAAM,EACN,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/periodic/core/index.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,GAChB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,cAAc,GACf,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,wBAAwB,EACxB,qBAAqB,EACrB,SAAS,EACT,MAAM,EACN,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC"}
@@ -10,9 +10,16 @@
10
10
  * period 1. A table drawn with the group and period header strips offsets them
11
11
  * by one; nothing in this module needs to know that.
12
12
  */
13
- import type { ElementCategory, PeriodicElement } from './elements.ts';
14
- /** A whole run of the table: one group, or one period. */
15
- export interface ElementRange {
13
+ import type { ElementBlock, ElementCategory, PeriodicElement } from './elements.ts';
14
+ /**
15
+ * A whole run of the table: one group, one period, or one block.
16
+ *
17
+ * Narrow on `kind` before reading `value`: a group or a period is numbered, a
18
+ * block is lettered.
19
+ */
20
+ export type ElementRange = NumberedRange | BlockRange;
21
+ /** One group or one period. */
22
+ export interface NumberedRange {
16
23
  /** Whether the run is a group or a period. */
17
24
  kind: 'group' | 'period';
18
25
  /** Its number: a group from 1 to 18, a period from 1 to 7. */
@@ -24,6 +31,15 @@ export interface ElementRange {
24
31
  */
25
32
  additive: boolean;
26
33
  }
34
+ /** One block: the elements whose last electron enters the same subshell. */
35
+ export interface BlockRange {
36
+ /** A block. */
37
+ kind: 'block';
38
+ /** Its letter. */
39
+ value: ElementBlock;
40
+ /** As for {@link NumberedRange.additive}. */
41
+ additive: boolean;
42
+ }
27
43
  /** One element, and what the click that picked it asked for. */
28
44
  export interface ElementPick {
29
45
  /**
@@ -91,6 +107,20 @@ export declare const INNER_TRANSITION_MARKERS: ReadonlyArray<{
91
107
  label: string;
92
108
  category: ElementCategory;
93
109
  }>;
110
+ /**
111
+ * Where each block is named, in the cells no element occupies: s, d and p
112
+ * along the spacer under period 7, each under the columns it holds, and f in
113
+ * the two cells left of the inner-transition rows.
114
+ *
115
+ * Helium is an s element standing over the p block; a label follows the
116
+ * columns, and the element its electrons.
117
+ */
118
+ export declare const BLOCK_LABELS: ReadonlyArray<{
119
+ block: ElementBlock;
120
+ cell: Cell;
121
+ columnSpan: number;
122
+ rowSpan: number;
123
+ }>;
94
124
  /** The period each inner-transition row belongs to, for its row label. */
95
125
  export declare const INNER_TRANSITION_ROWS: ReadonlyArray<{
96
126
  row: number;
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../src/periodic/core/layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAGtE,0DAA0D;AAC1D,MAAM,WAAW,YAAY;IAC3B,8CAA8C;IAC9C,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IACzB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B;;;;;;OAMG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,2DAA2D;AAC3D,MAAM,WAAW,IAAI;IACnB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,4BAA4B;AAC5B,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B,uEAAuE;AACvE,eAAO,MAAM,SAAS,KAAK,CAAC;AAc5B;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAIrD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,aAAa,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC,CAUD;AAOD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAE;IACxB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;CACmC,CAAC;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,aAAa,CAAC;IACnD,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAGA,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAGA,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,eAAe,GAAG,IAAI,CAgBxB"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../src/periodic/core/layout.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EACf,eAAe,EAChB,MAAM,eAAe,CAAC;AAGvB;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,UAAU,CAAC;AAEtD,+BAA+B;AAC/B,MAAM,WAAW,aAAa;IAC5B,8CAA8C;IAC9C,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC;IACzB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB,eAAe;IACf,IAAI,EAAE,OAAO,CAAC;IACd,kBAAkB;IAClB,KAAK,EAAE,YAAY,CAAC;IACpB,6CAA6C;IAC7C,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,gEAAgE;AAChE,MAAM,WAAW,WAAW;IAC1B;;;;;;OAMG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,2DAA2D;AAC3D,MAAM,WAAW,IAAI;IACnB,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAC;CACb;AAED,4BAA4B;AAC5B,eAAO,MAAM,YAAY,KAAK,CAAC;AAE/B,uEAAuE;AACvE,eAAO,MAAM,SAAS,KAAK,CAAC;AAc5B;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAIrD;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,aAAa,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,IAAI,CAAC;CACZ,CAAC,CAUD;AAOD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,EAAE;IACxB,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;CACmC,CAAC;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB,EAAE,aAAa,CAAC;IACnD,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAGA,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,EAAE,aAAa,CAAC;IACvC,KAAK,EAAE,YAAY,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAKA,CAAC;AAEF,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC;IAChD,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;CAChB,CAGA,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,eAAe,GAAG,IAAI,CAgBxB"}
@@ -69,6 +69,20 @@ export const INNER_TRANSITION_MARKERS = [
69
69
  { cell: { column: 3, row: 6 }, label: '57–71', category: 'lanthanoid' },
70
70
  { cell: { column: 3, row: 7 }, label: '89–103', category: 'actinoid' },
71
71
  ];
72
+ /**
73
+ * Where each block is named, in the cells no element occupies: s, d and p
74
+ * along the spacer under period 7, each under the columns it holds, and f in
75
+ * the two cells left of the inner-transition rows.
76
+ *
77
+ * Helium is an s element standing over the p block; a label follows the
78
+ * columns, and the element its electrons.
79
+ */
80
+ export const BLOCK_LABELS = [
81
+ { block: 's', cell: { column: 1, row: 8 }, columnSpan: 2, rowSpan: 1 },
82
+ { block: 'd', cell: { column: 3, row: 8 }, columnSpan: 10, rowSpan: 1 },
83
+ { block: 'p', cell: { column: 13, row: 8 }, columnSpan: 6, rowSpan: 1 },
84
+ { block: 'f', cell: { column: 1, row: 9 }, columnSpan: 2, rowSpan: 2 },
85
+ ];
72
86
  /** The period each inner-transition row belongs to, for its row label. */
73
87
  export const INNER_TRANSITION_ROWS = [
74
88
  { row: INNER_TRANSITION_ROW, period: 6 },
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../src/periodic/core/layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../src/periodic/core/layout.ts"],"names":[],"mappings":"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"}