@gramlot/gramlot-examples 0.2.7 → 0.2.8

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.
package/README.md CHANGED
@@ -12,7 +12,7 @@ npm install @gramlot/gramlot-examples
12
12
  [![PyPI](https://img.shields.io/pypi/v/gramlot-examples)](https://pypi.org/project/gramlot-examples/)
13
13
  [![npm](https://img.shields.io/npm/v/@gramlot/gramlot-examples)](https://www.npmjs.com/package/@gramlot/gramlot-examples)
14
14
 
15
- Current release: 0.2.7.
15
+ Current release: 0.2.8.
16
16
 
17
17
  The repositories of the family are described in
18
18
  [The Gramlot family](https://github.com/gramlot-org/gramlot/blob/main/docs/public/055-family.md)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gramlot/gramlot-examples",
3
- "version": "0.2.7",
3
+ "version": "0.2.8",
4
4
  "description": "Gramlot example pages, the gallery page and its catalogue.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -14,7 +14,7 @@
14
14
  "prepack": "node scripts/build-browser.mjs"
15
15
  },
16
16
  "dependencies": {
17
- "@gramlot/gramlot": ">=0.2.5"
17
+ "@gramlot/gramlot": ">=0.2.10"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@genrojs/bag": ">=0.10.1",
@@ -20,7 +20,7 @@
20
20
  // src/gramlot_examples/gallery/browser/frame-entry.js
21
21
  var script = document.currentScript;
22
22
  queueMicrotask(() => {
23
- const renderer = window.gramlot.renderer;
23
+ const renderer = window.gramlot.src.renderer;
24
24
  const record = renderer.elements.get(script);
25
25
  if (!record || renderer.disposed || renderer.records.get(record.node) !== record) return;
26
26
  mountFrameTheme(renderer, record.node);
@@ -21253,7 +21253,7 @@ Please report this to https://github.com/markedjs/marked.`, e) {
21253
21253
  // src/gramlot_examples/gallery/browser/entry.js
21254
21254
  var script = document.currentScript;
21255
21255
  queueMicrotask(() => {
21256
- const renderer = window.gramlot.renderer;
21256
+ const renderer = window.gramlot.src.renderer;
21257
21257
  const record = renderer.elements.get(script.parentElement);
21258
21258
  if (!record || renderer.disposed || renderer.records.get(record.node) !== record) return;
21259
21259
  mountGallery(renderer, record.node);
@@ -28,11 +28,11 @@ export class Page extends BasePage {
28
28
  /** Logic of 08_freeze.py and 08_freeze.js: each button's nested controller calls one method. */
29
29
  export class Logic {
30
30
  sourceNode(nodeId) {
31
- return this.page.source.getNodeByAttr('node_id', nodeId);
31
+ return this.page.src.source.getNodeByAttr('node_id', nodeId);
32
32
  }
33
33
 
34
34
  freeze(node) {
35
- this.page.renderer.freeze(this.sourceNode('board'));
35
+ this.page.src.renderer.freeze(this.sourceNode('board'));
36
36
  node.SET('.frozen', true);
37
37
  }
38
38
 
@@ -47,7 +47,7 @@ export class Logic {
47
47
  }
48
48
 
49
49
  thaw(node) {
50
- this.page.renderer.unfreeze(this.sourceNode('board'));
50
+ this.page.src.renderer.unfreeze(this.sourceNode('board'));
51
51
  node.SET('.frozen', false);
52
52
  }
53
53
  }
@@ -58,7 +58,7 @@ export class Page extends BasePage {
58
58
  /** Logic of 08_end_to_end.py and 08_end_to_end.js: the named logic of the story. */
59
59
  export class Logic {
60
60
  sourceNode(nodeId) {
61
- return this.page.source.getNodeByAttr('node_id', nodeId);
61
+ return this.page.src.source.getNodeByAttr('node_id', nodeId);
62
62
  }
63
63
 
64
64
  /** Controller of the total: the circle turns red above 10. */
@@ -73,7 +73,7 @@ export class Logic {
73
73
  }
74
74
 
75
75
  freeze() {
76
- this.page.renderer.freeze(this.sourceNode('later'));
76
+ this.page.src.renderer.freeze(this.sourceNode('later'));
77
77
  }
78
78
 
79
79
  removeNote() {
@@ -83,6 +83,6 @@ export class Logic {
83
83
  }
84
84
 
85
85
  thaw() {
86
- this.page.renderer.unfreeze(this.sourceNode('later'));
86
+ this.page.src.renderer.unfreeze(this.sourceNode('later'));
87
87
  }
88
88
  }
@@ -18,7 +18,7 @@ export class Page extends BasePage {
18
18
  for (const [title, description, kind] of CARDS) {
19
19
  const card = cards.article({node_label: kind, class: 'card stack'});
20
20
  card.button('×', {type: 'button', class: 'card-remove', aria_label: `Remove ${title}`,
21
- connect_onclick: `window.gramlot.builder.source.getItem('main.page.cards').popNode('${kind}')`});
21
+ connect_onclick: `window.gramlot.src.builder.source.getItem('main.page.cards').popNode('${kind}')`});
22
22
  const icon = card.svg({viewBox: '0 0 64 64', width: 64, height: 64, aria_hidden: 'true'});
23
23
  this.icon(icon, kind);
24
24
  card.h2(title);
@@ -2,21 +2,21 @@ import {Page as BasePage} from '@gramlot/gramlot/page';
2
2
 
3
3
  // These browser actions change Source, never DOM elements.
4
4
  const ACTIONS = {
5
- "add": "window.gramlot.builder.wrapSource(window.gramlot.source.getNode('main.page.work.items')).li('A new item', {class: 'card'})",
6
- "remove": "const items = window.gramlot.source.getItem('main.page.work.items'); const last = items.getNodes().at(-1); if (last) items.popNode(last.label)",
7
- "clear": "window.gramlot.source.getItem('main.page.work.items').clear()",
8
- "rename": "window.gramlot.source.getNode('main.page.heading').setValue('Source is alive!')",
9
- "color": "window.gramlot.source.getNode('main.page.motion.scene.ball').setAttr({fill: 'var(--gramlot-warning)'})",
10
- "stop": "window.gramlot.source.getItem('main.page').popNode('motion')"
5
+ "add": "window.gramlot.src.builder.wrapSource(window.gramlot.src.source.getNode('main.page.work.items')).li('A new item', {class: 'card'})",
6
+ "remove": "const items = window.gramlot.src.source.getItem('main.page.work.items'); const last = items.getNodes().at(-1); if (last) items.popNode(last.label)",
7
+ "clear": "window.gramlot.src.source.getItem('main.page.work.items').clear()",
8
+ "rename": "window.gramlot.src.source.getNode('main.page.heading').setValue('Source is alive!')",
9
+ "color": "window.gramlot.src.source.getNode('main.page.motion.scene.ball').setAttr({fill: 'var(--gramlot-warning)'})",
10
+ "stop": "window.gramlot.src.source.getItem('main.page').popNode('motion')"
11
11
  };
12
12
  const ANIMATION = `queueMicrotask(() => {
13
13
  const app = window.gramlot;
14
- const motion = app.source.getNode('main.page.motion');
15
- const ball = app.source.getNode('main.page.motion.scene.ball');
14
+ const motion = app.src.source.getNode('main.page.motion');
15
+ const ball = app.src.source.getNode('main.page.motion.scene.ball');
16
16
  const timer = setInterval(() => {
17
17
  ball.setAttr({cx: 160 + 110 * Math.sin(performance.now() / 700)});
18
18
  }, 50);
19
- app.renderer.onDispose(motion, () => clearInterval(timer));
19
+ app.src.renderer.onDispose(motion, () => clearInterval(timer));
20
20
  });`;
21
21
 
22
22
  export class Page extends BasePage {