@ndla/ui 55.0.18-alpha.0 → 55.0.19-alpha.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 (80) hide show
  1. package/es/AudioPlayer/SpeechControl.js +1 -0
  2. package/es/BlogPost/BlogPost.js +1 -0
  3. package/es/CampaignBlock/CampaignBlock.js +32 -27
  4. package/es/ContactBlock/ContactBlock.js +1 -0
  5. package/es/CopyParagraphButton/CopyParagraphButton.js +9 -11
  6. package/es/Embed/AudioEmbed.js +3 -1
  7. package/es/Embed/BrightcoveEmbed.js +1 -0
  8. package/es/Embed/CodeEmbed.js +1 -0
  9. package/es/Embed/ConceptEmbed.js +8 -9
  10. package/es/Embed/ConceptListEmbed.js +1 -0
  11. package/es/Embed/ContentLinkEmbed.js +1 -0
  12. package/es/Embed/CopyrightEmbed.js +1 -0
  13. package/es/Embed/EmbedErrorPlaceholder.js +1 -0
  14. package/es/Embed/ExternalEmbed.js +2 -0
  15. package/es/Embed/FootnoteEmbed.js +1 -0
  16. package/es/Embed/GlossEmbed.js +1 -0
  17. package/es/Embed/H5pEmbed.js +2 -0
  18. package/es/Embed/IframeEmbed.js +2 -0
  19. package/es/Embed/ImageEmbed.js +1 -0
  20. package/es/Embed/UnknownEmbed.js +1 -0
  21. package/es/Embed/UuDisclaimerEmbed.js +1 -0
  22. package/es/ErrorMessage/ErrorResourceAccessDenied.js +2 -3
  23. package/es/FactBox/FactBox.js +1 -0
  24. package/es/LinkBlock/LinkBlock.js +1 -0
  25. package/es/RelatedArticleList/RelatedArticleList.js +2 -0
  26. package/es/TreeStructure/AddFolderButton.js +25 -28
  27. package/lib/AudioPlayer/SpeechControl.js +1 -0
  28. package/lib/BlogPost/BlogPost.js +1 -0
  29. package/lib/CampaignBlock/CampaignBlock.js +32 -27
  30. package/lib/ContactBlock/ContactBlock.js +1 -0
  31. package/lib/CopyParagraphButton/CopyParagraphButton.js +9 -11
  32. package/lib/Embed/AudioEmbed.js +3 -1
  33. package/lib/Embed/BrightcoveEmbed.js +1 -0
  34. package/lib/Embed/CodeEmbed.js +1 -0
  35. package/lib/Embed/ConceptEmbed.js +7 -8
  36. package/lib/Embed/ConceptListEmbed.js +1 -0
  37. package/lib/Embed/ContentLinkEmbed.js +1 -0
  38. package/lib/Embed/CopyrightEmbed.js +1 -0
  39. package/lib/Embed/EmbedErrorPlaceholder.js +1 -0
  40. package/lib/Embed/ExternalEmbed.js +2 -0
  41. package/lib/Embed/FootnoteEmbed.js +1 -0
  42. package/lib/Embed/GlossEmbed.js +1 -0
  43. package/lib/Embed/H5pEmbed.js +2 -0
  44. package/lib/Embed/IframeEmbed.js +2 -0
  45. package/lib/Embed/ImageEmbed.js +1 -0
  46. package/lib/Embed/UnknownEmbed.js +1 -0
  47. package/lib/Embed/UuDisclaimerEmbed.js +1 -0
  48. package/lib/ErrorMessage/ErrorResourceAccessDenied.js +2 -3
  49. package/lib/FactBox/FactBox.js +1 -0
  50. package/lib/LinkBlock/LinkBlock.js +1 -0
  51. package/lib/RelatedArticleList/RelatedArticleList.js +2 -0
  52. package/lib/TreeStructure/AddFolderButton.js +25 -28
  53. package/package.json +4 -7
  54. package/src/AudioPlayer/SpeechControl.tsx +1 -1
  55. package/src/BlogPost/BlogPost.tsx +1 -1
  56. package/src/CampaignBlock/CampaignBlock.tsx +2 -1
  57. package/src/ContactBlock/ContactBlock.tsx +1 -1
  58. package/src/CopyParagraphButton/CopyParagraphButton.tsx +4 -7
  59. package/src/Embed/AudioEmbed.tsx +3 -2
  60. package/src/Embed/BrightcoveEmbed.tsx +1 -1
  61. package/src/Embed/CodeEmbed.tsx +1 -1
  62. package/src/Embed/ConceptEmbed.tsx +4 -6
  63. package/src/Embed/ConceptListEmbed.tsx +1 -1
  64. package/src/Embed/ContentLinkEmbed.tsx +1 -1
  65. package/src/Embed/CopyrightEmbed.tsx +1 -1
  66. package/src/Embed/EmbedErrorPlaceholder.tsx +1 -1
  67. package/src/Embed/ExternalEmbed.tsx +8 -2
  68. package/src/Embed/FootnoteEmbed.tsx +1 -1
  69. package/src/Embed/GlossEmbed.tsx +1 -1
  70. package/src/Embed/H5pEmbed.tsx +2 -2
  71. package/src/Embed/IframeEmbed.tsx +2 -2
  72. package/src/Embed/ImageEmbed.tsx +5 -1
  73. package/src/Embed/UnknownEmbed.tsx +1 -1
  74. package/src/Embed/UuDisclaimerEmbed.tsx +1 -1
  75. package/src/ErrorMessage/ErrorResourceAccessDenied.tsx +3 -3
  76. package/src/FactBox/FactBox.tsx +1 -1
  77. package/src/LinkBlock/LinkBlock.tsx +1 -1
  78. package/src/RelatedArticleList/RelatedArticleList.tsx +2 -2
  79. package/src/TreeStructure/AddFolderButton.tsx +25 -27
  80. package/src/TreeStructure/TreeStructure.stories.tsx +5 -5
@@ -167,6 +167,7 @@ const ContactBlock = _ref => {
167
167
  t
168
168
  } = (0, _reactI18next.useTranslation)();
169
169
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledWrapper, {
170
+ "data-embed-type": "contact-block",
170
171
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(ContentWrapper, {
171
172
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(HeaderWrapper, {
172
173
  variant: backgroundColor,
@@ -9,7 +9,6 @@ var _react = require("react");
9
9
  var _reactI18next = require("react-i18next");
10
10
  var _core = require("@ndla/core");
11
11
  var _common = require("@ndla/icons/common");
12
- var _tooltip = require("@ndla/tooltip");
13
12
  var _util = require("@ndla/util");
14
13
  var _jsxRuntime = require("react/jsx-runtime");
15
14
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -29,13 +28,13 @@ const ContainerDiv = /*#__PURE__*/(0, _base.default)("div", {
29
28
  } : {
30
29
  name: "w6zggb",
31
30
  styles: "position:relative;&:hover{[data-copy-button]{opacity:1;cursor:pointer;}}",
32
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvcHlQYXJhZ3JhcGhCdXR0b24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdCK0IiLCJmaWxlIjoiQ29weVBhcmFncmFwaEJ1dHRvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMS1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCB7IFJlYWN0Tm9kZSwgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgY29sb3JzLCBzdGFja09yZGVyIH0gZnJvbSBcIkBuZGxhL2NvcmVcIjtcbmltcG9ydCB7IExpbmsgfSBmcm9tIFwiQG5kbGEvaWNvbnMvY29tbW9uXCI7XG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSBcIkBuZGxhL3Rvb2x0aXBcIjtcbmltcG9ydCB7IGNvcHlUZXh0VG9DbGlwYm9hcmQgfSBmcm9tIFwiQG5kbGEvdXRpbFwiO1xuXG5jb25zdCBDb250YWluZXJEaXYgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6aG92ZXIge1xuICAgIFtkYXRhLWNvcHktYnV0dG9uXSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuYDtcbmNvbnN0IEljb25CdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0zZW07XG4gIHRvcDogMC4xZW07XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgei1pbmRleDogJHtzdGFja09yZGVyLm9mZnNldFNpbmdsZX07XG4gIHRyYW5zaXRpb246IDAuMnM7XG4gIG9wYWNpdHk6IDA7XG4gIGNvbG9yOiAke2NvbG9ycy5icmFuZC5ncmV5fTtcblxuICAmIHN2ZyB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJjpmb2N1cy12aXNpYmxlLFxuICAmOmFjdGl2ZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbmA7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIC8vIFdoYXQgdG8gcmVuZGVyIHdpdGhpbiB0aGUgaDJcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgY29weVRleHQ6IHN0cmluZztcbiAgbGFuZz86IHN0cmluZztcbn1cbmNvbnN0IENvcHlQYXJhZ3JhcGhCdXR0b24gPSAoeyBjaGlsZHJlbiwgY29weVRleHQsIGxhbmcgfTogUHJvcHMpID0+IHtcbiAgY29uc3QgW2hhc0NvcGllZCwgc2V0SGFzQ29waWVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCBzYW5pdGl6ZWRUaXRsZSA9IHVzZU1lbW8oKCkgPT4gZW5jb2RlVVJJQ29tcG9uZW50KGNvcHlUZXh0LnJlcGxhY2UoLyAvZywgXCItXCIpKSwgW2NvcHlUZXh0XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaGFzQ29waWVkKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldEhhc0NvcGllZChmYWxzZSksIDMwMDApO1xuICAgIH1cbiAgfSwgW2hhc0NvcGllZF0pO1xuXG4gIGNvbnN0IG9uQ29weUNsaWNrID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldEhhc0NvcGllZCh0cnVlKTtcbiAgICBjb25zdCB7IGxvY2F0aW9uIH0gPSB3aW5kb3c7XG4gICAgY29uc3QgbmV3SGFzaCA9IGAjJHtzYW5pdGl6ZWRUaXRsZX1gO1xuICAgIGNvbnN0IHBvcnQgPSBsb2NhdGlvbi5wb3J0ID8gYDoke2xvY2F0aW9uLnBvcnR9YCA6IFwiXCI7XG4gICAgY29uc3QgdXJsVG9Db3B5ID0gYCR7bG9jYXRpb24ucHJvdG9jb2x9Ly8ke2xvY2F0aW9uLmhvc3RuYW1lfSR7cG9ydH0ke2xvY2F0aW9uLnBhdGhuYW1lfSR7bG9jYXRpb24uc2VhcmNofSR7bmV3SGFzaH1gO1xuXG4gICAgY29weVRleHRUb0NsaXBib2FyZCh1cmxUb0NvcHkpO1xuICB9LCBbc2FuaXRpemVkVGl0bGVdKTtcblxuICBjb25zdCB0b29sdGlwID0gaGFzQ29waWVkID8gdChcImFydGljbGUuY29weVBhZ2VMaW5rQ29waWVkXCIpIDogdChcImFydGljbGUuY29weUhlYWRlckxpbmtcIik7XG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lckRpdj5cbiAgICAgIDxUb29sdGlwIHRvb2x0aXA9e3Rvb2x0aXB9PlxuICAgICAgICA8SWNvbkJ1dHRvbiBkYXRhLWNvcHktYnV0dG9uPVwiXCIgb25DbGljaz17b25Db3B5Q2xpY2t9IGFyaWEtbGFiZWw9e2Ake3Rvb2x0aXB9OiAke2NvcHlUZXh0fWB9PlxuICAgICAgICAgIDxMaW5rIC8+XG4gICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgIDwvVG9vbHRpcD5cbiAgICAgIDxoMiBpZD17c2FuaXRpemVkVGl0bGV9IHRhYkluZGV4PXstMX0gbGFuZz17bGFuZ30+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvaDI+XG4gICAgPC9Db250YWluZXJEaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDb3B5UGFyYWdyYXBoQnV0dG9uO1xuIl19 */",
31
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvcHlQYXJhZ3JhcGhCdXR0b24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWUrQiIsImZpbGUiOiJDb3B5UGFyYWdyYXBoQnV0dG9uLnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDIxLXByZXNlbnQsIE5ETEEuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgR1BMdjMgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKi9cblxuaW1wb3J0IHsgUmVhY3ROb2RlLCB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwiQGVtb3Rpb24vc3R5bGVkXCI7XG5pbXBvcnQgeyBjb2xvcnMsIHN0YWNrT3JkZXIgfSBmcm9tIFwiQG5kbGEvY29yZVwiO1xuaW1wb3J0IHsgTGluayB9IGZyb20gXCJAbmRsYS9pY29ucy9jb21tb25cIjtcbmltcG9ydCB7IGNvcHlUZXh0VG9DbGlwYm9hcmQgfSBmcm9tIFwiQG5kbGEvdXRpbFwiO1xuXG5jb25zdCBDb250YWluZXJEaXYgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6aG92ZXIge1xuICAgIFtkYXRhLWNvcHktYnV0dG9uXSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuYDtcbmNvbnN0IEljb25CdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0zZW07XG4gIHRvcDogMC4xZW07XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgei1pbmRleDogJHtzdGFja09yZGVyLm9mZnNldFNpbmdsZX07XG4gIHRyYW5zaXRpb246IDAuMnM7XG4gIG9wYWNpdHk6IDA7XG4gIGNvbG9yOiAke2NvbG9ycy5icmFuZC5ncmV5fTtcblxuICAmIHN2ZyB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJjpmb2N1cy12aXNpYmxlLFxuICAmOmFjdGl2ZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbmA7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIC8vIFdoYXQgdG8gcmVuZGVyIHdpdGhpbiB0aGUgaDJcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgY29weVRleHQ6IHN0cmluZztcbiAgbGFuZz86IHN0cmluZztcbn1cbmNvbnN0IENvcHlQYXJhZ3JhcGhCdXR0b24gPSAoeyBjaGlsZHJlbiwgY29weVRleHQsIGxhbmcgfTogUHJvcHMpID0+IHtcbiAgY29uc3QgW2hhc0NvcGllZCwgc2V0SGFzQ29waWVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCBzYW5pdGl6ZWRUaXRsZSA9IHVzZU1lbW8oKCkgPT4gZW5jb2RlVVJJQ29tcG9uZW50KGNvcHlUZXh0LnJlcGxhY2UoLyAvZywgXCItXCIpKSwgW2NvcHlUZXh0XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaGFzQ29waWVkKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldEhhc0NvcGllZChmYWxzZSksIDMwMDApO1xuICAgIH1cbiAgfSwgW2hhc0NvcGllZF0pO1xuXG4gIGNvbnN0IG9uQ29weUNsaWNrID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldEhhc0NvcGllZCh0cnVlKTtcbiAgICBjb25zdCB7IGxvY2F0aW9uIH0gPSB3aW5kb3c7XG4gICAgY29uc3QgbmV3SGFzaCA9IGAjJHtzYW5pdGl6ZWRUaXRsZX1gO1xuICAgIGNvbnN0IHBvcnQgPSBsb2NhdGlvbi5wb3J0ID8gYDoke2xvY2F0aW9uLnBvcnR9YCA6IFwiXCI7XG4gICAgY29uc3QgdXJsVG9Db3B5ID0gYCR7bG9jYXRpb24ucHJvdG9jb2x9Ly8ke2xvY2F0aW9uLmhvc3RuYW1lfSR7cG9ydH0ke2xvY2F0aW9uLnBhdGhuYW1lfSR7bG9jYXRpb24uc2VhcmNofSR7bmV3SGFzaH1gO1xuXG4gICAgY29weVRleHRUb0NsaXBib2FyZCh1cmxUb0NvcHkpO1xuICB9LCBbc2FuaXRpemVkVGl0bGVdKTtcblxuICBjb25zdCB0b29sdGlwID0gaGFzQ29waWVkID8gdChcImFydGljbGUuY29weVBhZ2VMaW5rQ29waWVkXCIpIDogdChcImFydGljbGUuY29weUhlYWRlckxpbmtcIik7XG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lckRpdiBkYXRhLWVtYmVkLXR5cGU9XCJjb3B5LWhlYWRpbmdcIj5cbiAgICAgIDxJY29uQnV0dG9uIGRhdGEtY29weS1idXR0b249XCJcIiBvbkNsaWNrPXtvbkNvcHlDbGlja30gdGl0bGU9e3Rvb2x0aXB9IGFyaWEtbGFiZWw9e2Ake3Rvb2x0aXB9OiAke2NvcHlUZXh0fWB9PlxuICAgICAgICA8TGluayAvPlxuICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgPGgyIGlkPXtzYW5pdGl6ZWRUaXRsZX0gdGFiSW5kZXg9ey0xfSBsYW5nPXtsYW5nfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9oMj5cbiAgICA8L0NvbnRhaW5lckRpdj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENvcHlQYXJhZ3JhcGhCdXR0b247XG4iXX0= */",
33
32
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
34
33
  });
35
34
  const IconButton = /*#__PURE__*/(0, _base.default)("button", {
36
35
  target: "e18czas70",
37
36
  label: "IconButton"
38
- })("position:absolute;left:-3em;top:0.1em;background:none;border:0;z-index:", _core.stackOrder.offsetSingle, ";transition:0.2s;opacity:0;color:", _core.colors.brand.grey, ";& svg{width:30px;height:30px;}&:focus,&:focus-visible,&:active{cursor:pointer;opacity:1;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvcHlQYXJhZ3JhcGhCdXR0b24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlCZ0MiLCJmaWxlIjoiQ29weVBhcmFncmFwaEJ1dHRvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMS1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCB7IFJlYWN0Tm9kZSwgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgY29sb3JzLCBzdGFja09yZGVyIH0gZnJvbSBcIkBuZGxhL2NvcmVcIjtcbmltcG9ydCB7IExpbmsgfSBmcm9tIFwiQG5kbGEvaWNvbnMvY29tbW9uXCI7XG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSBcIkBuZGxhL3Rvb2x0aXBcIjtcbmltcG9ydCB7IGNvcHlUZXh0VG9DbGlwYm9hcmQgfSBmcm9tIFwiQG5kbGEvdXRpbFwiO1xuXG5jb25zdCBDb250YWluZXJEaXYgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6aG92ZXIge1xuICAgIFtkYXRhLWNvcHktYnV0dG9uXSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuYDtcbmNvbnN0IEljb25CdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IC0zZW07XG4gIHRvcDogMC4xZW07XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgei1pbmRleDogJHtzdGFja09yZGVyLm9mZnNldFNpbmdsZX07XG4gIHRyYW5zaXRpb246IDAuMnM7XG4gIG9wYWNpdHk6IDA7XG4gIGNvbG9yOiAke2NvbG9ycy5icmFuZC5ncmV5fTtcblxuICAmIHN2ZyB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJjpmb2N1cy12aXNpYmxlLFxuICAmOmFjdGl2ZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbmA7XG5cbmludGVyZmFjZSBQcm9wcyB7XG4gIC8vIFdoYXQgdG8gcmVuZGVyIHdpdGhpbiB0aGUgaDJcbiAgY2hpbGRyZW46IFJlYWN0Tm9kZTtcbiAgY29weVRleHQ6IHN0cmluZztcbiAgbGFuZz86IHN0cmluZztcbn1cbmNvbnN0IENvcHlQYXJhZ3JhcGhCdXR0b24gPSAoeyBjaGlsZHJlbiwgY29weVRleHQsIGxhbmcgfTogUHJvcHMpID0+IHtcbiAgY29uc3QgW2hhc0NvcGllZCwgc2V0SGFzQ29waWVkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCBzYW5pdGl6ZWRUaXRsZSA9IHVzZU1lbW8oKCkgPT4gZW5jb2RlVVJJQ29tcG9uZW50KGNvcHlUZXh0LnJlcGxhY2UoLyAvZywgXCItXCIpKSwgW2NvcHlUZXh0XSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaGFzQ29waWVkKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHNldEhhc0NvcGllZChmYWxzZSksIDMwMDApO1xuICAgIH1cbiAgfSwgW2hhc0NvcGllZF0pO1xuXG4gIGNvbnN0IG9uQ29weUNsaWNrID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldEhhc0NvcGllZCh0cnVlKTtcbiAgICBjb25zdCB7IGxvY2F0aW9uIH0gPSB3aW5kb3c7XG4gICAgY29uc3QgbmV3SGFzaCA9IGAjJHtzYW5pdGl6ZWRUaXRsZX1gO1xuICAgIGNvbnN0IHBvcnQgPSBsb2NhdGlvbi5wb3J0ID8gYDoke2xvY2F0aW9uLnBvcnR9YCA6IFwiXCI7XG4gICAgY29uc3QgdXJsVG9Db3B5ID0gYCR7bG9jYXRpb24ucHJvdG9jb2x9Ly8ke2xvY2F0aW9uLmhvc3RuYW1lfSR7cG9ydH0ke2xvY2F0aW9uLnBhdGhuYW1lfSR7bG9jYXRpb24uc2VhcmNofSR7bmV3SGFzaH1gO1xuXG4gICAgY29weVRleHRUb0NsaXBib2FyZCh1cmxUb0NvcHkpO1xuICB9LCBbc2FuaXRpemVkVGl0bGVdKTtcblxuICBjb25zdCB0b29sdGlwID0gaGFzQ29waWVkID8gdChcImFydGljbGUuY29weVBhZ2VMaW5rQ29waWVkXCIpIDogdChcImFydGljbGUuY29weUhlYWRlckxpbmtcIik7XG4gIHJldHVybiAoXG4gICAgPENvbnRhaW5lckRpdj5cbiAgICAgIDxUb29sdGlwIHRvb2x0aXA9e3Rvb2x0aXB9PlxuICAgICAgICA8SWNvbkJ1dHRvbiBkYXRhLWNvcHktYnV0dG9uPVwiXCIgb25DbGljaz17b25Db3B5Q2xpY2t9IGFyaWEtbGFiZWw9e2Ake3Rvb2x0aXB9OiAke2NvcHlUZXh0fWB9PlxuICAgICAgICAgIDxMaW5rIC8+XG4gICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgIDwvVG9vbHRpcD5cbiAgICAgIDxoMiBpZD17c2FuaXRpemVkVGl0bGV9IHRhYkluZGV4PXstMX0gbGFuZz17bGFuZ30+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvaDI+XG4gICAgPC9Db250YWluZXJEaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDb3B5UGFyYWdyYXBoQnV0dG9uO1xuIl19 */"));
37
+ })("position:absolute;left:-3em;top:0.1em;background:none;border:0;z-index:", _core.stackOrder.offsetSingle, ";transition:0.2s;opacity:0;color:", _core.colors.brand.grey, ";& svg{width:30px;height:30px;}&:focus,&:focus-visible,&:active{cursor:pointer;opacity:1;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvcHlQYXJhZ3JhcGhCdXR0b24udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdCZ0MiLCJmaWxlIjoiQ29weVBhcmFncmFwaEJ1dHRvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAyMS1wcmVzZW50LCBORExBLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIEdQTHYzIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKlxuICovXG5cbmltcG9ydCB7IFJlYWN0Tm9kZSwgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgY29sb3JzLCBzdGFja09yZGVyIH0gZnJvbSBcIkBuZGxhL2NvcmVcIjtcbmltcG9ydCB7IExpbmsgfSBmcm9tIFwiQG5kbGEvaWNvbnMvY29tbW9uXCI7XG5pbXBvcnQgeyBjb3B5VGV4dFRvQ2xpcGJvYXJkIH0gZnJvbSBcIkBuZGxhL3V0aWxcIjtcblxuY29uc3QgQ29udGFpbmVyRGl2ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOmhvdmVyIHtcbiAgICBbZGF0YS1jb3B5LWJ1dHRvbl0ge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cbmA7XG5jb25zdCBJY29uQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtM2VtO1xuICB0b3A6IDAuMWVtO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIHotaW5kZXg6ICR7c3RhY2tPcmRlci5vZmZzZXRTaW5nbGV9O1xuICB0cmFuc2l0aW9uOiAwLjJzO1xuICBvcGFjaXR5OiAwO1xuICBjb2xvcjogJHtjb2xvcnMuYnJhbmQuZ3JleX07XG5cbiAgJiBzdmcge1xuICAgIHdpZHRoOiAzMHB4O1xuICAgIGhlaWdodDogMzBweDtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICY6Zm9jdXMtdmlzaWJsZSxcbiAgJjphY3RpdmUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5gO1xuXG5pbnRlcmZhY2UgUHJvcHMge1xuICAvLyBXaGF0IHRvIHJlbmRlciB3aXRoaW4gdGhlIGgyXG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIGNvcHlUZXh0OiBzdHJpbmc7XG4gIGxhbmc/OiBzdHJpbmc7XG59XG5jb25zdCBDb3B5UGFyYWdyYXBoQnV0dG9uID0gKHsgY2hpbGRyZW4sIGNvcHlUZXh0LCBsYW5nIH06IFByb3BzKSA9PiB7XG4gIGNvbnN0IFtoYXNDb3BpZWQsIHNldEhhc0NvcGllZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oKTtcbiAgY29uc3Qgc2FuaXRpemVkVGl0bGUgPSB1c2VNZW1vKCgpID0+IGVuY29kZVVSSUNvbXBvbmVudChjb3B5VGV4dC5yZXBsYWNlKC8gL2csIFwiLVwiKSksIFtjb3B5VGV4dF0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGhhc0NvcGllZCkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiBzZXRIYXNDb3BpZWQoZmFsc2UpLCAzMDAwKTtcbiAgICB9XG4gIH0sIFtoYXNDb3BpZWRdKTtcblxuICBjb25zdCBvbkNvcHlDbGljayA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRIYXNDb3BpZWQodHJ1ZSk7XG4gICAgY29uc3QgeyBsb2NhdGlvbiB9ID0gd2luZG93O1xuICAgIGNvbnN0IG5ld0hhc2ggPSBgIyR7c2FuaXRpemVkVGl0bGV9YDtcbiAgICBjb25zdCBwb3J0ID0gbG9jYXRpb24ucG9ydCA/IGA6JHtsb2NhdGlvbi5wb3J0fWAgOiBcIlwiO1xuICAgIGNvbnN0IHVybFRvQ29weSA9IGAke2xvY2F0aW9uLnByb3RvY29sfS8vJHtsb2NhdGlvbi5ob3N0bmFtZX0ke3BvcnR9JHtsb2NhdGlvbi5wYXRobmFtZX0ke2xvY2F0aW9uLnNlYXJjaH0ke25ld0hhc2h9YDtcblxuICAgIGNvcHlUZXh0VG9DbGlwYm9hcmQodXJsVG9Db3B5KTtcbiAgfSwgW3Nhbml0aXplZFRpdGxlXSk7XG5cbiAgY29uc3QgdG9vbHRpcCA9IGhhc0NvcGllZCA/IHQoXCJhcnRpY2xlLmNvcHlQYWdlTGlua0NvcGllZFwiKSA6IHQoXCJhcnRpY2xlLmNvcHlIZWFkZXJMaW5rXCIpO1xuICByZXR1cm4gKFxuICAgIDxDb250YWluZXJEaXYgZGF0YS1lbWJlZC10eXBlPVwiY29weS1oZWFkaW5nXCI+XG4gICAgICA8SWNvbkJ1dHRvbiBkYXRhLWNvcHktYnV0dG9uPVwiXCIgb25DbGljaz17b25Db3B5Q2xpY2t9IHRpdGxlPXt0b29sdGlwfSBhcmlhLWxhYmVsPXtgJHt0b29sdGlwfTogJHtjb3B5VGV4dH1gfT5cbiAgICAgICAgPExpbmsgLz5cbiAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgIDxoMiBpZD17c2FuaXRpemVkVGl0bGV9IHRhYkluZGV4PXstMX0gbGFuZz17bGFuZ30+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvaDI+XG4gICAgPC9Db250YWluZXJEaXY+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBDb3B5UGFyYWdyYXBoQnV0dG9uO1xuIl19 */"));
39
38
  const CopyParagraphButton = _ref => {
40
39
  let {
41
40
  children,
@@ -64,14 +63,13 @@ const CopyParagraphButton = _ref => {
64
63
  }, [sanitizedTitle]);
65
64
  const tooltip = hasCopied ? t("article.copyPageLinkCopied") : t("article.copyHeaderLink");
66
65
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(ContainerDiv, {
67
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.Tooltip, {
68
- tooltip: tooltip,
69
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(IconButton, {
70
- "data-copy-button": "",
71
- onClick: onCopyClick,
72
- "aria-label": `${tooltip}: ${copyText}`,
73
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_common.Link, {})
74
- })
66
+ "data-embed-type": "copy-heading",
67
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(IconButton, {
68
+ "data-copy-button": "",
69
+ onClick: onCopyClick,
70
+ title: tooltip,
71
+ "aria-label": `${tooltip}: ${copyText}`,
72
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_common.Link, {})
75
73
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)("h2", {
76
74
  id: sanitizedTitle,
77
75
  tabIndex: -1,
@@ -25,9 +25,10 @@ const AudioEmbed = _ref => {
25
25
  embed,
26
26
  lang
27
27
  } = _ref;
28
+ const type = embed.embedData.type === "standard" ? "audio" : "podcast";
28
29
  if (embed.status === "error") {
29
30
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_EmbedErrorPlaceholder.default, {
30
- type: embed.embedData.type === "standard" ? "audio" : "podcast"
31
+ type: type
31
32
  });
32
33
  }
33
34
  const {
@@ -52,6 +53,7 @@ const AudioEmbed = _ref => {
52
53
  };
53
54
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.Figure, {
54
55
  lang: lang,
56
+ "data-embed-type": type,
55
57
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_AudioPlayer.default, {
56
58
  description: data.podcastMeta?.introduction ?? "",
57
59
  img: img,
@@ -108,6 +108,7 @@ const BrightcoveEmbed = _ref => {
108
108
  videoid: linkedVideoId
109
109
  }, data.sources) : undefined;
110
110
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.Figure, {
111
+ "data-embed-type": "brightcove",
111
112
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
112
113
  className: "brightcove-video",
113
114
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(BrightcoveIframe, {
@@ -62,6 +62,7 @@ const CodeEmbed = _ref => {
62
62
  }
63
63
  }, [isCopied]);
64
64
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledFigure, {
65
+ "data-embed-type": "code-block",
65
66
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(StyledFigCaption, {
66
67
  children: embed.embedData.title || getTitleFromFormat(embed.embedData.codeFormat)
67
68
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_CodeBlock.CodeBlock, {
@@ -100,19 +100,18 @@ const InlineConcept = exports.InlineConcept = /*#__PURE__*/(0, _react.forwardRef
100
100
  children: linkText
101
101
  })
102
102
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledPopoverContent, {
103
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.Figure, {
104
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Concept.Concept, {
105
- copyright: copyright,
106
- visualElement: visualElement,
107
- lang: lang,
108
- title: title,
109
- children: children
110
- })
103
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Concept.Concept, {
104
+ copyright: copyright,
105
+ visualElement: visualElement,
106
+ lang: lang,
107
+ title: title,
108
+ children: children
111
109
  })
112
110
  })]
113
111
  });
114
112
  });
115
113
  const BlockConcept = exports.BlockConcept = /*#__PURE__*/(0, _react.forwardRef)((props, ref) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_Concept.Concept, {
116
114
  ...props,
115
+ "data-embed-type": "concept",
117
116
  ref: ref
118
117
  }));
@@ -50,6 +50,7 @@ const ConceptListEmbed = _ref => {
50
50
  data
51
51
  } = embed;
52
52
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
53
+ "data-embed-type": "concept-list",
53
54
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.Figure, {
54
55
  children: [embedData.title && /*#__PURE__*/(0, _jsxRuntime.jsx)("h2", {
55
56
  lang: lang,
@@ -43,6 +43,7 @@ const ContentLinkEmbed = _ref => {
43
43
  if (embedData.openIn === "new-context" || isOembed) {
44
44
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
45
45
  href: data.path,
46
+ "data-embed-type": "content-link",
46
47
  target: "_blank",
47
48
  rel: "noopener noreferrer",
48
49
  children: children
@@ -20,6 +20,7 @@ const CopyrightEmbed = _ref => {
20
20
  children
21
21
  } = _ref;
22
22
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("figure", {
23
+ "data-embed-type": "copyright",
23
24
  children: [children, /*#__PURE__*/(0, _jsxRuntime.jsx)(_LicenseByline.EmbedByline, {
24
25
  type: "copyright",
25
26
  copyright: embed.embedData.copyright
@@ -51,6 +51,7 @@ const EmbedErrorPlaceholder = _ref => {
51
51
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledFigure, {
52
52
  size: figureType,
53
53
  float: float,
54
+ "data-embed-type": type,
54
55
  children: [children ?? /*#__PURE__*/(0, _jsxRuntime.jsx)(ErrorPlaceholder, {
55
56
  "data-embed-type": type,
56
57
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_common.WarningOutline, {})
@@ -60,6 +60,7 @@ const ExternalEmbed = _ref => {
60
60
  alt: embedData.alt !== undefined ? embedData.alt : data.iframeImage?.alttext?.alttext ?? ""
61
61
  };
62
62
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.Figure, {
63
+ "data-embed-type": "external",
63
64
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ResourceBox.ResourceBox, {
64
65
  image: image,
65
66
  title: embedData.title ?? "",
@@ -70,6 +71,7 @@ const ExternalEmbed = _ref => {
70
71
  });
71
72
  }
72
73
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledFigure, {
74
+ "data-embed-type": "external",
73
75
  ref: figRef,
74
76
  dangerouslySetInnerHTML: {
75
77
  __html: data.oembed.html ?? ""
@@ -37,6 +37,7 @@ const FootnoteEmbed = _ref => {
37
37
  }
38
38
  return /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
39
39
  id: `ref${embed.data.entryNum}`,
40
+ "data-embed-type": "footnote",
40
41
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledSup, {
41
42
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("a", {
42
43
  href: `#note${embed.data.entryNum}`,
@@ -65,6 +65,7 @@ const GlossEmbed = _ref => {
65
65
  });
66
66
  }
67
67
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.Figure, {
68
+ "data-embed-type": "gloss",
68
69
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Gloss.Gloss, {
69
70
  glossData: concept.glossData,
70
71
  title: concept.title,
@@ -44,12 +44,14 @@ const H5pEmbed = _ref => {
44
44
  }
45
45
  if (embed.data.oembed) {
46
46
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(FigureOembed, {
47
+ "data-embed-type": "h5p",
47
48
  dangerouslySetInnerHTML: {
48
49
  __html: embed.data.oembed.html ?? ""
49
50
  }
50
51
  });
51
52
  }
52
53
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledFigure, {
54
+ "data-embed-type": "h5p",
53
55
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("iframe", {
54
56
  title: embed.embedData.url,
55
57
  "aria-label": embed.embedData.url,
@@ -59,6 +59,7 @@ const IframeEmbed = _ref => {
59
59
  alt: alt ?? ""
60
60
  };
61
61
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.Figure, {
62
+ "data-embed-type": "iframe",
62
63
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_ResourceBox.ResourceBox, {
63
64
  image: image,
64
65
  title: embedData.title ?? "",
@@ -78,6 +79,7 @@ const IframeEmbed = _ref => {
78
79
  const strippedHeight = typeof height === "number" ? height : height?.replace(/\s*px/, "");
79
80
  const urlOrTitle = title || url;
80
81
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.Figure, {
82
+ "data-embed-type": "iframe",
81
83
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledIframe, {
82
84
  ref: iframeRef,
83
85
  title: urlOrTitle,
@@ -240,6 +240,7 @@ const ImageEmbed = _ref => {
240
240
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledFigure, {
241
241
  float: figureProps?.float,
242
242
  size: imageSizes ? "full" : figureProps?.size ?? "medium",
243
+ "data-embed-type": "image",
243
244
  children: [children, /*#__PURE__*/(0, _jsxRuntime.jsxs)(ImageWrapper, {
244
245
  border: embedData.border === "true",
245
246
  expandable: !!figureProps?.float,
@@ -26,6 +26,7 @@ const UnknownEmbed = _ref => {
26
26
  color: "text.error",
27
27
  asChild: true,
28
28
  consumeCss: true,
29
+ "data-embed-type": "unknown",
29
30
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
30
31
  children: t("embed.unsupported", {
31
32
  type: embed.resource
@@ -54,6 +54,7 @@ const UuDisclaimerEmbed = _ref => {
54
54
  }) : null;
55
55
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
56
56
  role: "region",
57
+ "data-embed-type": "uu-disclaimer",
57
58
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledMessageBox, {
58
59
  variant: "warning",
59
60
  contentEditable: false,
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _reactI18next = require("react-i18next");
8
- var _button = require("@ndla/button");
9
8
  var _common = require("@ndla/icons/common");
9
+ var _primitives = require("@ndla/primitives");
10
10
  var _jsx2 = require("@ndla/styled-system/jsx");
11
11
  var _ErrorMessage = _interopRequireDefault(require("./ErrorMessage"));
12
12
  var _jsxRuntime = require("react/jsx-runtime");
@@ -41,8 +41,7 @@ const ErrorResourceAccessDenied = _ref => {
41
41
  illustrationElement: /*#__PURE__*/(0, _jsxRuntime.jsx)(_common.HumanMaleBoard, {
42
42
  size: "medium"
43
43
  }),
44
- customElement: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_button.ButtonV2, {
45
- size: "medium",
44
+ customElement: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.Button, {
46
45
  onClick: onAuthenticateClick,
47
46
  children: [t("user.buttonLogIn"), /*#__PURE__*/(0, _jsxRuntime.jsx)(StyledLogInIconWrapper, {
48
47
  "aria-hidden": true,
@@ -137,6 +137,7 @@ const FactBox = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
137
137
  }, [state, onOpenChange]);
138
138
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledAside, {
139
139
  "data-state": state,
140
+ "data-embed-type": "factbox",
140
141
  ...rest,
141
142
  ref: ref,
142
143
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(StyledIconButton, {
@@ -89,6 +89,7 @@ const LinkBlock = _ref => {
89
89
  }, [date, articleLanguage]);
90
90
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledSafeLink, {
91
91
  to: href,
92
+ "data-embed-type": "link-block",
92
93
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(InfoWrapper, {
93
94
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.Heading, {
94
95
  asChild: true,
@@ -31,6 +31,7 @@ const RelatedArticle = _ref => {
31
31
  type = _ContentType.contentTypes.SUBJECT_MATERIAL
32
32
  } = _ref;
33
33
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.CardRoot, {
34
+ "data-embed-type": "related-article",
34
35
  children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_primitives.CardContent, {
35
36
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_ContentTypeBadgeNew.ContentTypeBadge, {
36
37
  contentType: type
@@ -109,6 +110,7 @@ const RelatedArticleList = _ref2 => {
109
110
  const childrenToShow = (0, _react.useMemo)(() => childCount > 2 && !expanded ? children?.slice(0, 2) : children, [childCount, children, expanded]);
110
111
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledSection, {
111
112
  ...rest,
113
+ "data-embed-type": "related-content-list",
112
114
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(HeadingWrapper, {
113
115
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.Heading, {
114
116
  asChild: true,
@@ -9,7 +9,6 @@ var _react = require("react");
9
9
  var _reactI18next = require("react-i18next");
10
10
  var _button = require("@ndla/button");
11
11
  var _action = require("@ndla/icons/action");
12
- var _tooltip = require("@ndla/tooltip");
13
12
  var _jsxRuntime = require("react/jsx-runtime");
14
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
14
  function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; } /**
@@ -28,7 +27,7 @@ const StyledAddFolderButton = /*#__PURE__*/(0, _base.default)(_button.ButtonV2,
28
27
  } : {
29
28
  name: "it7ogd",
30
29
  styles: "&,&:disabled{border-color:transparent;}",
31
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFkZEZvbGRlckJ1dHRvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0I0QyIsImZpbGUiOiJBZGRGb2xkZXJCdXR0b24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjItcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgeyB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgQnV0dG9uVjIgYXMgQnV0dG9uIH0gZnJvbSBcIkBuZGxhL2J1dHRvblwiO1xuaW1wb3J0IHsgUGx1cyB9IGZyb20gXCJAbmRsYS9pY29ucy9hY3Rpb25cIjtcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tIFwiQG5kbGEvdG9vbHRpcFwiO1xuaW1wb3J0IHsgSUZvbGRlciB9IGZyb20gXCJAbmRsYS90eXBlcy1iYWNrZW5kL215bmRsYS1hcGlcIjtcblxuaW50ZXJmYWNlIEFkZEZvbGRlckJ1dHRvblByb3BzIHtcbiAgY2FuQWRkRm9sZGVyOiBib29sZWFuO1xuICBmb2N1c2VkRm9sZGVyPzogSUZvbGRlcjtcbiAgc2V0TmV3Rm9sZGVyUGFyZW50SWQ6IChpZD86IHN0cmluZykgPT4gdm9pZDtcbiAgc2V0U2hvd1RyZWU6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcbiAgbG9hZGluZz86IGJvb2xlYW47XG59XG5cbmNvbnN0IFN0eWxlZEFkZEZvbGRlckJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICAmLFxuICAmOmRpc2FibGVkIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRQbHVzID0gc3R5bGVkKFBsdXMpYFxuICBoZWlnaHQ6IDI0cHg7XG4gIHdpZHRoOiAyNHB4O1xuYDtcblxuY29uc3QgQWRkRm9sZGVyQnV0dG9uID0gKHtcbiAgY2FuQWRkRm9sZGVyLFxuICBsb2FkaW5nLFxuICBzZXROZXdGb2xkZXJQYXJlbnRJZCxcbiAgZm9jdXNlZEZvbGRlcixcbiAgc2V0U2hvd1RyZWUsXG59OiBBZGRGb2xkZXJCdXR0b25Qcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MQnV0dG9uRWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHRvb2x0aXAgPSBsb2FkaW5nXG4gICAgPyB0KFwibG9hZGluZ1wiKVxuICAgIDogY2FuQWRkRm9sZGVyXG4gICAgICA/IHQoXCJteU5kbGEubmV3Rm9sZGVyVW5kZXJcIiwgeyBmb2xkZXJOYW1lOiBmb2N1c2VkRm9sZGVyPy5uYW1lIH0pXG4gICAgICA6IHQoXCJ0cmVlU3RydWN0dXJlLm1heEZvbGRlcnNBbHJlYWR5QWRkZWRcIik7XG4gIHJldHVybiAoXG4gICAgPFRvb2x0aXAgdG9vbHRpcD17dG9vbHRpcH0+XG4gICAgICA8U3R5bGVkQWRkRm9sZGVyQnV0dG9uXG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICB2YXJpYW50PVwib3V0bGluZVwiXG4gICAgICAgIHNoYXBlPVwicGlsbFwiXG4gICAgICAgIGRpc2FibGVkPXtsb2FkaW5nIHx8ICFjYW5BZGRGb2xkZXJ9XG4gICAgICAgIGFyaWEtbGFiZWw9e3Rvb2x0aXB9XG4gICAgICAgIG9uTW91c2VEb3duPXsoZSkgPT4ge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIHJlZi5jdXJyZW50Py5mb2N1cygpO1xuICAgICAgICB9fVxuICAgICAgICBvbk1vdXNlVXA9eyhlKSA9PiB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgcmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICAgIH19XG4gICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgZS5jdXJyZW50VGFyZ2V0LmZvY3VzKCk7XG4gICAgICAgICAgc2V0TmV3Rm9sZGVyUGFyZW50SWQoZm9jdXNlZEZvbGRlcj8uaWQpO1xuICAgICAgICAgIHNldFNob3dUcmVlKHRydWUpO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8U3R5bGVkUGx1cyAvPiB7dChcIm15TmRsYS5uZXdGb2xkZXJcIil9XG4gICAgICA8L1N0eWxlZEFkZEZvbGRlckJ1dHRvbj5cbiAgICA8L1Rvb2x0aXA+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBBZGRGb2xkZXJCdXR0b247XG4iXX0= */",
30
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFkZEZvbGRlckJ1dHRvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUI0QyIsImZpbGUiOiJBZGRGb2xkZXJCdXR0b24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjItcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgeyB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgQnV0dG9uVjIgYXMgQnV0dG9uIH0gZnJvbSBcIkBuZGxhL2J1dHRvblwiO1xuaW1wb3J0IHsgUGx1cyB9IGZyb20gXCJAbmRsYS9pY29ucy9hY3Rpb25cIjtcbmltcG9ydCB7IElGb2xkZXIgfSBmcm9tIFwiQG5kbGEvdHlwZXMtYmFja2VuZC9teW5kbGEtYXBpXCI7XG5cbmludGVyZmFjZSBBZGRGb2xkZXJCdXR0b25Qcm9wcyB7XG4gIGNhbkFkZEZvbGRlcjogYm9vbGVhbjtcbiAgZm9jdXNlZEZvbGRlcj86IElGb2xkZXI7XG4gIHNldE5ld0ZvbGRlclBhcmVudElkOiAoaWQ/OiBzdHJpbmcpID0+IHZvaWQ7XG4gIHNldFNob3dUcmVlOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIGxvYWRpbmc/OiBib29sZWFuO1xufVxuXG5jb25zdCBTdHlsZWRBZGRGb2xkZXJCdXR0b24gPSBzdHlsZWQoQnV0dG9uKWBcbiAgJixcbiAgJjpkaXNhYmxlZCB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkUGx1cyA9IHN0eWxlZChQbHVzKWBcbiAgaGVpZ2h0OiAyNHB4O1xuICB3aWR0aDogMjRweDtcbmA7XG5cbmNvbnN0IEFkZEZvbGRlckJ1dHRvbiA9ICh7XG4gIGNhbkFkZEZvbGRlcixcbiAgbG9hZGluZyxcbiAgc2V0TmV3Rm9sZGVyUGFyZW50SWQsXG4gIGZvY3VzZWRGb2xkZXIsXG4gIHNldFNob3dUcmVlLFxufTogQWRkRm9sZGVyQnV0dG9uUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCByZWYgPSB1c2VSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCB0b29sdGlwID0gbG9hZGluZ1xuICAgID8gdChcImxvYWRpbmdcIilcbiAgICA6IGNhbkFkZEZvbGRlclxuICAgICAgPyB0KFwibXlOZGxhLm5ld0ZvbGRlclVuZGVyXCIsIHsgZm9sZGVyTmFtZTogZm9jdXNlZEZvbGRlcj8ubmFtZSB9KVxuICAgICAgOiB0KFwidHJlZVN0cnVjdHVyZS5tYXhGb2xkZXJzQWxyZWFkeUFkZGVkXCIpO1xuICByZXR1cm4gKFxuICAgIDxTdHlsZWRBZGRGb2xkZXJCdXR0b25cbiAgICAgIHJlZj17cmVmfVxuICAgICAgdmFyaWFudD1cIm91dGxpbmVcIlxuICAgICAgc2hhcGU9XCJwaWxsXCJcbiAgICAgIGRpc2FibGVkPXtsb2FkaW5nIHx8ICFjYW5BZGRGb2xkZXJ9XG4gICAgICB0aXRsZT17dG9vbHRpcH1cbiAgICAgIGFyaWEtbGFiZWw9e3Rvb2x0aXB9XG4gICAgICBvbk1vdXNlRG93bj17KGUpID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICByZWYuY3VycmVudD8uZm9jdXMoKTtcbiAgICAgIH19XG4gICAgICBvbk1vdXNlVXA9eyhlKSA9PiB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgcmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICB9fVxuICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgZS5jdXJyZW50VGFyZ2V0LmZvY3VzKCk7XG4gICAgICAgIHNldE5ld0ZvbGRlclBhcmVudElkKGZvY3VzZWRGb2xkZXI/LmlkKTtcbiAgICAgICAgc2V0U2hvd1RyZWUodHJ1ZSk7XG4gICAgICB9fVxuICAgID5cbiAgICAgIDxTdHlsZWRQbHVzIC8+IHt0KFwibXlOZGxhLm5ld0ZvbGRlclwiKX1cbiAgICA8L1N0eWxlZEFkZEZvbGRlckJ1dHRvbj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEFkZEZvbGRlckJ1dHRvbjtcbiJdfQ== */",
32
31
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
33
32
  });
34
33
  const StyledPlus = /*#__PURE__*/(0, _base.default)(_action.Plus, {
@@ -40,7 +39,7 @@ const StyledPlus = /*#__PURE__*/(0, _base.default)(_action.Plus, {
40
39
  } : {
41
40
  name: "u5mh39",
42
41
  styles: "height:24px;width:24px",
43
- map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFkZEZvbGRlckJ1dHRvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0IrQiIsImZpbGUiOiJBZGRGb2xkZXJCdXR0b24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjItcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgeyB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgQnV0dG9uVjIgYXMgQnV0dG9uIH0gZnJvbSBcIkBuZGxhL2J1dHRvblwiO1xuaW1wb3J0IHsgUGx1cyB9IGZyb20gXCJAbmRsYS9pY29ucy9hY3Rpb25cIjtcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tIFwiQG5kbGEvdG9vbHRpcFwiO1xuaW1wb3J0IHsgSUZvbGRlciB9IGZyb20gXCJAbmRsYS90eXBlcy1iYWNrZW5kL215bmRsYS1hcGlcIjtcblxuaW50ZXJmYWNlIEFkZEZvbGRlckJ1dHRvblByb3BzIHtcbiAgY2FuQWRkRm9sZGVyOiBib29sZWFuO1xuICBmb2N1c2VkRm9sZGVyPzogSUZvbGRlcjtcbiAgc2V0TmV3Rm9sZGVyUGFyZW50SWQ6IChpZD86IHN0cmluZykgPT4gdm9pZDtcbiAgc2V0U2hvd1RyZWU6ICh2YWx1ZTogYm9vbGVhbikgPT4gdm9pZDtcbiAgbG9hZGluZz86IGJvb2xlYW47XG59XG5cbmNvbnN0IFN0eWxlZEFkZEZvbGRlckJ1dHRvbiA9IHN0eWxlZChCdXR0b24pYFxuICAmLFxuICAmOmRpc2FibGVkIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5gO1xuXG5jb25zdCBTdHlsZWRQbHVzID0gc3R5bGVkKFBsdXMpYFxuICBoZWlnaHQ6IDI0cHg7XG4gIHdpZHRoOiAyNHB4O1xuYDtcblxuY29uc3QgQWRkRm9sZGVyQnV0dG9uID0gKHtcbiAgY2FuQWRkRm9sZGVyLFxuICBsb2FkaW5nLFxuICBzZXROZXdGb2xkZXJQYXJlbnRJZCxcbiAgZm9jdXNlZEZvbGRlcixcbiAgc2V0U2hvd1RyZWUsXG59OiBBZGRGb2xkZXJCdXR0b25Qcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MQnV0dG9uRWxlbWVudD4obnVsbCk7XG4gIGNvbnN0IHRvb2x0aXAgPSBsb2FkaW5nXG4gICAgPyB0KFwibG9hZGluZ1wiKVxuICAgIDogY2FuQWRkRm9sZGVyXG4gICAgICA/IHQoXCJteU5kbGEubmV3Rm9sZGVyVW5kZXJcIiwgeyBmb2xkZXJOYW1lOiBmb2N1c2VkRm9sZGVyPy5uYW1lIH0pXG4gICAgICA6IHQoXCJ0cmVlU3RydWN0dXJlLm1heEZvbGRlcnNBbHJlYWR5QWRkZWRcIik7XG4gIHJldHVybiAoXG4gICAgPFRvb2x0aXAgdG9vbHRpcD17dG9vbHRpcH0+XG4gICAgICA8U3R5bGVkQWRkRm9sZGVyQnV0dG9uXG4gICAgICAgIHJlZj17cmVmfVxuICAgICAgICB2YXJpYW50PVwib3V0bGluZVwiXG4gICAgICAgIHNoYXBlPVwicGlsbFwiXG4gICAgICAgIGRpc2FibGVkPXtsb2FkaW5nIHx8ICFjYW5BZGRGb2xkZXJ9XG4gICAgICAgIGFyaWEtbGFiZWw9e3Rvb2x0aXB9XG4gICAgICAgIG9uTW91c2VEb3duPXsoZSkgPT4ge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIHJlZi5jdXJyZW50Py5mb2N1cygpO1xuICAgICAgICB9fVxuICAgICAgICBvbk1vdXNlVXA9eyhlKSA9PiB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgcmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICAgIH19XG4gICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgZS5jdXJyZW50VGFyZ2V0LmZvY3VzKCk7XG4gICAgICAgICAgc2V0TmV3Rm9sZGVyUGFyZW50SWQoZm9jdXNlZEZvbGRlcj8uaWQpO1xuICAgICAgICAgIHNldFNob3dUcmVlKHRydWUpO1xuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8U3R5bGVkUGx1cyAvPiB7dChcIm15TmRsYS5uZXdGb2xkZXJcIil9XG4gICAgICA8L1N0eWxlZEFkZEZvbGRlckJ1dHRvbj5cbiAgICA8L1Rvb2x0aXA+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBBZGRGb2xkZXJCdXR0b247XG4iXX0= */",
42
+ map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkFkZEZvbGRlckJ1dHRvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEIrQiIsImZpbGUiOiJBZGRGb2xkZXJCdXR0b24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjItcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgeyB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IHsgQnV0dG9uVjIgYXMgQnV0dG9uIH0gZnJvbSBcIkBuZGxhL2J1dHRvblwiO1xuaW1wb3J0IHsgUGx1cyB9IGZyb20gXCJAbmRsYS9pY29ucy9hY3Rpb25cIjtcbmltcG9ydCB7IElGb2xkZXIgfSBmcm9tIFwiQG5kbGEvdHlwZXMtYmFja2VuZC9teW5kbGEtYXBpXCI7XG5cbmludGVyZmFjZSBBZGRGb2xkZXJCdXR0b25Qcm9wcyB7XG4gIGNhbkFkZEZvbGRlcjogYm9vbGVhbjtcbiAgZm9jdXNlZEZvbGRlcj86IElGb2xkZXI7XG4gIHNldE5ld0ZvbGRlclBhcmVudElkOiAoaWQ/OiBzdHJpbmcpID0+IHZvaWQ7XG4gIHNldFNob3dUcmVlOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQ7XG4gIGxvYWRpbmc/OiBib29sZWFuO1xufVxuXG5jb25zdCBTdHlsZWRBZGRGb2xkZXJCdXR0b24gPSBzdHlsZWQoQnV0dG9uKWBcbiAgJixcbiAgJjpkaXNhYmxlZCB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuYDtcblxuY29uc3QgU3R5bGVkUGx1cyA9IHN0eWxlZChQbHVzKWBcbiAgaGVpZ2h0OiAyNHB4O1xuICB3aWR0aDogMjRweDtcbmA7XG5cbmNvbnN0IEFkZEZvbGRlckJ1dHRvbiA9ICh7XG4gIGNhbkFkZEZvbGRlcixcbiAgbG9hZGluZyxcbiAgc2V0TmV3Rm9sZGVyUGFyZW50SWQsXG4gIGZvY3VzZWRGb2xkZXIsXG4gIHNldFNob3dUcmVlLFxufTogQWRkRm9sZGVyQnV0dG9uUHJvcHMpID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCByZWYgPSB1c2VSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+KG51bGwpO1xuICBjb25zdCB0b29sdGlwID0gbG9hZGluZ1xuICAgID8gdChcImxvYWRpbmdcIilcbiAgICA6IGNhbkFkZEZvbGRlclxuICAgICAgPyB0KFwibXlOZGxhLm5ld0ZvbGRlclVuZGVyXCIsIHsgZm9sZGVyTmFtZTogZm9jdXNlZEZvbGRlcj8ubmFtZSB9KVxuICAgICAgOiB0KFwidHJlZVN0cnVjdHVyZS5tYXhGb2xkZXJzQWxyZWFkeUFkZGVkXCIpO1xuICByZXR1cm4gKFxuICAgIDxTdHlsZWRBZGRGb2xkZXJCdXR0b25cbiAgICAgIHJlZj17cmVmfVxuICAgICAgdmFyaWFudD1cIm91dGxpbmVcIlxuICAgICAgc2hhcGU9XCJwaWxsXCJcbiAgICAgIGRpc2FibGVkPXtsb2FkaW5nIHx8ICFjYW5BZGRGb2xkZXJ9XG4gICAgICB0aXRsZT17dG9vbHRpcH1cbiAgICAgIGFyaWEtbGFiZWw9e3Rvb2x0aXB9XG4gICAgICBvbk1vdXNlRG93bj17KGUpID0+IHtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICByZWYuY3VycmVudD8uZm9jdXMoKTtcbiAgICAgIH19XG4gICAgICBvbk1vdXNlVXA9eyhlKSA9PiB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgcmVmLmN1cnJlbnQ/LmZvY3VzKCk7XG4gICAgICB9fVxuICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgZS5jdXJyZW50VGFyZ2V0LmZvY3VzKCk7XG4gICAgICAgIHNldE5ld0ZvbGRlclBhcmVudElkKGZvY3VzZWRGb2xkZXI/LmlkKTtcbiAgICAgICAgc2V0U2hvd1RyZWUodHJ1ZSk7XG4gICAgICB9fVxuICAgID5cbiAgICAgIDxTdHlsZWRQbHVzIC8+IHt0KFwibXlOZGxhLm5ld0ZvbGRlclwiKX1cbiAgICA8L1N0eWxlZEFkZEZvbGRlckJ1dHRvbj5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEFkZEZvbGRlckJ1dHRvbjtcbiJdfQ== */",
44
43
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
45
44
  });
46
45
  const AddFolderButton = _ref => {
@@ -58,31 +57,29 @@ const AddFolderButton = _ref => {
58
57
  const tooltip = loading ? t("loading") : canAddFolder ? t("myNdla.newFolderUnder", {
59
58
  folderName: focusedFolder?.name
60
59
  }) : t("treeStructure.maxFoldersAlreadyAdded");
61
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_tooltip.Tooltip, {
62
- tooltip: tooltip,
63
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledAddFolderButton, {
64
- ref: ref,
65
- variant: "outline",
66
- shape: "pill",
67
- disabled: loading || !canAddFolder,
68
- "aria-label": tooltip,
69
- onMouseDown: e => {
70
- e.preventDefault();
71
- e.stopPropagation();
72
- ref.current?.focus();
73
- },
74
- onMouseUp: e => {
75
- e.preventDefault();
76
- e.stopPropagation();
77
- ref.current?.focus();
78
- },
79
- onClick: e => {
80
- e.currentTarget.focus();
81
- setNewFolderParentId(focusedFolder?.id);
82
- setShowTree(true);
83
- },
84
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(StyledPlus, {}), " ", t("myNdla.newFolder")]
85
- })
60
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledAddFolderButton, {
61
+ ref: ref,
62
+ variant: "outline",
63
+ shape: "pill",
64
+ disabled: loading || !canAddFolder,
65
+ title: tooltip,
66
+ "aria-label": tooltip,
67
+ onMouseDown: e => {
68
+ e.preventDefault();
69
+ e.stopPropagation();
70
+ ref.current?.focus();
71
+ },
72
+ onMouseUp: e => {
73
+ e.preventDefault();
74
+ e.stopPropagation();
75
+ ref.current?.focus();
76
+ },
77
+ onClick: e => {
78
+ e.currentTarget.focus();
79
+ setNewFolderParentId(focusedFolder?.id);
80
+ setShowTree(true);
81
+ },
82
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(StyledPlus, {}), " ", t("myNdla.newFolder")]
86
83
  });
87
84
  };
88
85
  var _default = exports.default = AddFolderButton;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ndla/ui",
3
- "version": "55.0.18-alpha.0",
3
+ "version": "55.0.19-alpha.0",
4
4
  "description": "UI component library for NDLA",
5
5
  "license": "GPL-3.0",
6
6
  "main": "lib/index.js",
@@ -35,15 +35,12 @@
35
35
  "dependencies": {
36
36
  "@ndla/button": "^14.0.8-alpha.0",
37
37
  "@ndla/core": "^5.0.1",
38
- "@ndla/forms": "^9.0.10-alpha.0",
39
38
  "@ndla/hooks": "^2.1.8",
40
39
  "@ndla/icons": "^7.0.9-alpha.0",
41
40
  "@ndla/licenses": "^8.0.0-alpha.0",
42
- "@ndla/modal": "^7.0.8-alpha.0",
43
- "@ndla/primitives": "^0.0.21",
44
- "@ndla/safelink": "^6.0.4-alpha.0",
41
+ "@ndla/primitives": "^0.0.22",
42
+ "@ndla/safelink": "^6.0.5-alpha.0",
45
43
  "@ndla/styled-system": "^0.0.8",
46
- "@ndla/tooltip": "^8.0.1",
47
44
  "@ndla/typography": "^0.4.23",
48
45
  "@ndla/util": "^4.1.0",
49
46
  "date-fns": "^2.30.0",
@@ -76,5 +73,5 @@
76
73
  "publishConfig": {
77
74
  "access": "public"
78
75
  },
79
- "gitHead": "a5f4f60d7a65d6f0aa91e357e080584cda8a70f3"
76
+ "gitHead": "cbe8d6b48a44da4dd99d66bd5cda517622da2859"
80
77
  }
@@ -32,7 +32,7 @@ const SpeechControl = ({ src, title, type = "audio" }: Props) => {
32
32
  }
33
33
  };
34
34
  return (
35
- <div>
35
+ <div data-embed-type="speech">
36
36
  {/* eslint-disable-next-line jsx-a11y/media-has-caption */}
37
37
  <audio ref={audioRef} src={src} title={title} preload="metadata" />
38
38
  <TooltipRoot>
@@ -111,7 +111,7 @@ const BlogPost = ({ title, author, url, metaImage, headingLevel: Heading = "h3",
111
111
  const href = getPossiblyRelativeUrl(url, path);
112
112
  const imageWidth = size === "large" ? 532 : 350;
113
113
  return (
114
- <Container data-size={size} to={href} size={size}>
114
+ <Container data-size={size} to={href} size={size} data-embed-type="blog-post">
115
115
  <StyledHeading className="blog-title" asChild consumeCss textStyle="title.large">
116
116
  <Heading>{parse(title)}</Heading>
117
117
  </StyledHeading>
@@ -121,7 +121,8 @@ const CampaignBlock = ({
121
121
  const imageComponent = image && <StyledImg src={`${image.src}?width=455`} height={340} width={455} alt={image.alt} />;
122
122
  const HeaderComponent = url?.url ? LinkText : Text;
123
123
  return (
124
- <Container className={className} data-type="campaign-block">
124
+ // TODO: Remove data-type
125
+ <Container className={className} data-type="campaign-block" data-embed-type="campaign-block">
125
126
  {imageSide === "left" && imageComponent}
126
127
  <ContentWrapper>
127
128
  <MaybeLinkText url={url?.url} path={path}>
@@ -167,7 +167,7 @@ export const ContactBlock = ({
167
167
  }: Props) => {
168
168
  const { t } = useTranslation();
169
169
  return (
170
- <StyledWrapper>
170
+ <StyledWrapper data-embed-type="contact-block">
171
171
  <ContentWrapper>
172
172
  <HeaderWrapper variant={backgroundColor} imageExists={!!image}>
173
173
  {/* TODO: The font in the design specified `Source Sans Pro` and this is the default `Satoshi` */}
@@ -11,7 +11,6 @@ import { useTranslation } from "react-i18next";
11
11
  import styled from "@emotion/styled";
12
12
  import { colors, stackOrder } from "@ndla/core";
13
13
  import { Link } from "@ndla/icons/common";
14
- import { Tooltip } from "@ndla/tooltip";
15
14
  import { copyTextToClipboard } from "@ndla/util";
16
15
 
17
16
  const ContainerDiv = styled.div`
@@ -76,12 +75,10 @@ const CopyParagraphButton = ({ children, copyText, lang }: Props) => {
76
75
 
77
76
  const tooltip = hasCopied ? t("article.copyPageLinkCopied") : t("article.copyHeaderLink");
78
77
  return (
79
- <ContainerDiv>
80
- <Tooltip tooltip={tooltip}>
81
- <IconButton data-copy-button="" onClick={onCopyClick} aria-label={`${tooltip}: ${copyText}`}>
82
- <Link />
83
- </IconButton>
84
- </Tooltip>
78
+ <ContainerDiv data-embed-type="copy-heading">
79
+ <IconButton data-copy-button="" onClick={onCopyClick} title={tooltip} aria-label={`${tooltip}: ${copyText}`}>
80
+ <Link />
81
+ </IconButton>
85
82
  <h2 id={sanitizedTitle} tabIndex={-1} lang={lang}>
86
83
  {children}
87
84
  </h2>
@@ -25,8 +25,9 @@ export const getFirstNonEmptyLicenseCredits = (authors: {
25
25
  }) => Object.values(authors).find((i) => i.length > 0) ?? [];
26
26
 
27
27
  const AudioEmbed = ({ embed, lang }: Props) => {
28
+ const type = embed.embedData.type === "standard" ? "audio" : "podcast";
28
29
  if (embed.status === "error") {
29
- return <EmbedErrorPlaceholder type={embed.embedData.type === "standard" ? "audio" : "podcast"} />;
30
+ return <EmbedErrorPlaceholder type={type} />;
30
31
  }
31
32
 
32
33
  const { data, embedData } = embed;
@@ -42,7 +43,7 @@ const AudioEmbed = ({ embed, lang }: Props) => {
42
43
  const img = coverPhoto && { url: coverPhoto.url, alt: coverPhoto.altText };
43
44
 
44
45
  return (
45
- <Figure lang={lang}>
46
+ <Figure lang={lang} data-embed-type={type}>
46
47
  <AudioPlayer
47
48
  description={data.podcastMeta?.introduction ?? ""}
48
49
  img={img}
@@ -101,7 +101,7 @@ const BrightcoveEmbed = ({ embed, renderContext = "article" }: Props) => {
101
101
  : undefined;
102
102
 
103
103
  return (
104
- <Figure>
104
+ <Figure data-embed-type="brightcove">
105
105
  <div className="brightcove-video">
106
106
  <BrightcoveIframe
107
107
  ref={iframeRef}
@@ -62,7 +62,7 @@ const CodeEmbed = ({ embed }: Props) => {
62
62
  }, [isCopied]);
63
63
 
64
64
  return (
65
- <StyledFigure>
65
+ <StyledFigure data-embed-type="code-block">
66
66
  <StyledFigCaption>{embed.embedData.title || getTitleFromFormat(embed.embedData.codeFormat)}</StyledFigCaption>
67
67
  <CodeBlock
68
68
  highlightedCode={embed.status === "success" ? embed.data.highlightedCode : ""}
@@ -95,11 +95,9 @@ export const InlineConcept = forwardRef<HTMLSpanElement, InlineConceptProps>(
95
95
  </InlineTriggerButton>
96
96
  </PopoverTrigger>
97
97
  <StyledPopoverContent>
98
- <Figure>
99
- <Concept copyright={copyright} visualElement={visualElement} lang={lang} title={title}>
100
- {children}
101
- </Concept>
102
- </Figure>
98
+ <Concept copyright={copyright} visualElement={visualElement} lang={lang} title={title}>
99
+ {children}
100
+ </Concept>
103
101
  </StyledPopoverContent>
104
102
  </PopoverRoot>
105
103
  ),
@@ -108,5 +106,5 @@ export const InlineConcept = forwardRef<HTMLSpanElement, InlineConceptProps>(
108
106
  export interface BlockConceptProps extends ConceptProps {}
109
107
 
110
108
  export const BlockConcept = forwardRef<HTMLElement, BlockConceptProps>((props, ref) => (
111
- <Concept {...props} ref={ref} />
109
+ <Concept {...props} data-embed-type="concept" ref={ref} />
112
110
  ));
@@ -41,7 +41,7 @@ const ConceptListEmbed = ({ embed, lang }: Props) => {
41
41
  }
42
42
  const { embedData, data } = embed;
43
43
  return (
44
- <div>
44
+ <div data-embed-type="concept-list">
45
45
  <Figure>
46
46
  {embedData.title && <h2 lang={lang}>{embedData.title}</h2>}
47
47
  <ConceptList>