hyperbook 0.49.4 → 0.50.1

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 (50) hide show
  1. package/dist/assets/directive-geogebra/client.js +37 -0
  2. package/dist/assets/directive-geogebra/style.css +1 -8
  3. package/dist/assets/directive-h5p/client.js +55 -0
  4. package/dist/assets/directive-h5p/fonts/h5p-core-29.eot +0 -0
  5. package/dist/assets/directive-h5p/fonts/h5p-core-29.svg +599 -0
  6. package/dist/assets/directive-h5p/fonts/h5p-core-29.ttf +0 -0
  7. package/dist/assets/directive-h5p/fonts/h5p-core-29.woff +0 -0
  8. package/dist/assets/directive-h5p/fonts/h5p-core-29.woff2 +0 -0
  9. package/dist/assets/directive-h5p/fonts/h5p-core-30.eot +0 -0
  10. package/dist/assets/directive-h5p/fonts/h5p-core-30.svg +123 -0
  11. package/dist/assets/directive-h5p/fonts/h5p-core-30.ttf +0 -0
  12. package/dist/assets/directive-h5p/fonts/h5p-core-30.woff +0 -0
  13. package/dist/assets/directive-h5p/fonts/h5p-core-30.woff2 +0 -0
  14. package/dist/assets/directive-h5p/fonts/h5p-hub-publish.eot +0 -0
  15. package/dist/assets/directive-h5p/fonts/h5p-hub-publish.svg +38 -0
  16. package/dist/assets/directive-h5p/fonts/h5p-hub-publish.ttf +0 -0
  17. package/dist/assets/directive-h5p/fonts/h5p-hub-publish.woff +0 -0
  18. package/dist/assets/directive-h5p/fonts/open-sans/LICENSE-2.0.txt +202 -0
  19. package/dist/assets/directive-h5p/fonts/open-sans/opensans-400-600-700-v28-cyrillic-ext.woff2 +0 -0
  20. package/dist/assets/directive-h5p/fonts/open-sans/opensans-400-600-700-v28-cyrillic.woff2 +0 -0
  21. package/dist/assets/directive-h5p/fonts/open-sans/opensans-400-600-700-v28-greek-ext.woff2 +0 -0
  22. package/dist/assets/directive-h5p/fonts/open-sans/opensans-400-600-700-v28-greek.woff2 +0 -0
  23. package/dist/assets/directive-h5p/fonts/open-sans/opensans-400-600-700-v28-hebrew.woff2 +0 -0
  24. package/dist/assets/directive-h5p/fonts/open-sans/opensans-400-600-700-v28-latin-ext.woff2 +0 -0
  25. package/dist/assets/directive-h5p/fonts/open-sans/opensans-400-600-700-v28-latin.woff2 +0 -0
  26. package/dist/assets/directive-h5p/fonts/open-sans/opensans-400-600-700-v28-vietnamese.woff2 +0 -0
  27. package/dist/assets/directive-h5p/fonts/open-sans/opensans-italic-400-600-700-v28-cyrillic-ext.woff2 +0 -0
  28. package/dist/assets/directive-h5p/fonts/open-sans/opensans-italic-400-600-700-v28-cyrillic.woff2 +0 -0
  29. package/dist/assets/directive-h5p/fonts/open-sans/opensans-italic-400-600-700-v28-greek-ext.woff2 +0 -0
  30. package/dist/assets/directive-h5p/fonts/open-sans/opensans-italic-400-600-700-v28-greek.woff2 +0 -0
  31. package/dist/assets/directive-h5p/fonts/open-sans/opensans-italic-400-600-700-v28-hebrew.woff2 +0 -0
  32. package/dist/assets/directive-h5p/fonts/open-sans/opensans-italic-400-600-700-v28-latin-ext.woff2 +0 -0
  33. package/dist/assets/directive-h5p/fonts/open-sans/opensans-italic-400-600-700-v28-latin.woff2 +0 -0
  34. package/dist/assets/directive-h5p/fonts/open-sans/opensans-italic-400-600-700-v28-vietnamese.woff2 +0 -0
  35. package/dist/assets/directive-h5p/frame.bundle.js +1 -0
  36. package/dist/assets/directive-h5p/frame.d.ts +0 -0
  37. package/dist/assets/directive-h5p/h5p-integration.d.ts +2 -0
  38. package/dist/assets/directive-h5p/h5p-standalone.d.ts +72 -0
  39. package/dist/assets/directive-h5p/h5p.d.ts +264 -0
  40. package/dist/assets/directive-h5p/images/h5p.svg +16 -0
  41. package/dist/assets/directive-h5p/images/throbber.gif +0 -0
  42. package/dist/assets/directive-h5p/index.d.ts +5 -0
  43. package/dist/assets/directive-h5p/main.bundle.js +1 -0
  44. package/dist/assets/directive-h5p/style.css +11 -0
  45. package/dist/assets/directive-h5p/styles/font-open-sans.css +494 -0
  46. package/dist/assets/directive-h5p/styles/h5p.css +995 -0
  47. package/dist/assets/directive-h5p/utils.d.ts +6 -0
  48. package/dist/assets/store.js +4 -2
  49. package/dist/index.js +13 -13
  50. package/package.json +4 -3
@@ -0,0 +1,37 @@
1
+ hyperbook.geogebra = (function () {
2
+ async function init(root) {
3
+ const els = root.getElementsByTagName("hyperbook-geogebra");
4
+ for (const el of els) {
5
+ const id = el.getAttribute("data-id");
6
+
7
+ const result = await store.geogebra.get(id);
8
+ if (result && result.state) {
9
+ el.setBase64(result.state);
10
+ }
11
+
12
+ el.registerUpdateListener(() => {
13
+ el.getBase64((b) => {
14
+ store.geogebra.put({ id, state: b });
15
+ });
16
+ });
17
+ }
18
+ }
19
+
20
+ const observer = new MutationObserver((mutations) => {
21
+ mutations.forEach((mutation) => {
22
+ mutation.addedNodes.forEach((node) => {
23
+ if (
24
+ node.nodeType === 1 &&
25
+ node.classList.contains("directive-geogebra")
26
+ ) {
27
+ // Element node
28
+ init(node);
29
+ }
30
+ });
31
+ });
32
+ });
33
+
34
+ observer.observe(document.body, { childList: true, subtree: true });
35
+
36
+ init(document);
37
+ })();
@@ -1,10 +1,3 @@
1
1
  .directive-geogebra {
2
- display: flex;
3
- justify-content: center;
4
- margin-bottom: 12px;
5
- }
6
-
7
- .directive-geogebra hyperbook-geogebra {
8
- overflow: hidden;
9
- border-radius: 8px;
2
+ margin: 12px auto;
10
3
  }
@@ -0,0 +1,55 @@
1
+ hyperbook.h5p = (function () {
2
+ /**
3
+ * Initialize H5P elements within the given root element.
4
+ * @param {HTMLElement} [root=document] - The root element to initialize.
5
+ */
6
+
7
+ const save = (id) =>
8
+ H5P.getUserData(id, "state", (error, userData) => {
9
+ if (!error) {
10
+ store.h5p.put({ id, userData });
11
+ }
12
+ });
13
+
14
+ const init = async (root) => {
15
+ const els = root.getElementsByClassName("directive-h5p");
16
+ const assets = `${HYPERBOOK_ASSETS}directive-h5p`;
17
+
18
+ const h5pBaseOptions = {
19
+ frameJs: `${assets}/frame.bundle.js`,
20
+ frameCss: `${assets}/styles/h5p.css`,
21
+ librariesPath: `${assets}/libraries`,
22
+ saveFreq: 1,
23
+ contentUserData: undefined,
24
+ frame: false,
25
+ copyright: false,
26
+ export: false,
27
+ icon: false,
28
+ embed: false,
29
+ };
30
+
31
+ for (const el of els) {
32
+ const h5pFrame = el.querySelector(".h5p-frame");
33
+ const src = el.getAttribute("data-src");
34
+ const id = el.getAttribute("data-id");
35
+ if (h5pFrame && src) {
36
+ const result = await store.h5p.get(id);
37
+ const h5pOptions = {
38
+ ...h5pBaseOptions,
39
+ id,
40
+ h5pJsonPath: src,
41
+ contentUserData: result
42
+ ? [{ state: JSON.stringify(result.userData) }]
43
+ : undefined,
44
+ };
45
+
46
+ new H5PStandalone.H5P(h5pFrame, h5pOptions);
47
+
48
+ // save from time to time
49
+ setInterval(() => save(id), 1000);
50
+ }
51
+ }
52
+ };
53
+
54
+ init(document);
55
+ })();