@rnacanvas/draw.bases.bonds 12.2.0 → 13.0.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.
package/README.md CHANGED
@@ -14,3 +14,50 @@ All exports of this package can be accessed as named imports.
14
14
  // an example import
15
15
  import { StraightBond } from '@rnacanvas/draw.bases.bonds';
16
16
  ```
17
+
18
+ ## `class StraightBond`
19
+
20
+ A bond composed of an SVG line element
21
+ connecting two bases
22
+ (e.g., a primary or secondary bond).
23
+
24
+ ### `addEventListener()`
25
+
26
+ Can be used to listen for any changes to a straight bond.
27
+
28
+ ```javascript
29
+ var base1 = Nucleobase.create('G');
30
+ var base2 = Nucleobase.create('C');
31
+
32
+ var sb = StraightBond.between(base1, base2);
33
+
34
+ // any function
35
+ var listener = () => {};
36
+
37
+ sb.addEventListener('change', listener);
38
+
39
+ sb.basePadding1 += 10; // listener called
40
+ sb.setAttribute('stroke', 'blue'); // listener called
41
+
42
+ // even direct DOM node manipulations are listened for
43
+ sb.domNode.setAttribute('stroke-width', '5'); // listener called
44
+ ```
45
+
46
+ ### `removeEventListener()`
47
+
48
+ Allows event listeners to be removed.
49
+
50
+ ```javascript
51
+ var base1 = Nucleobase.create('A');
52
+ var base2 = Nucleobase.create('U');
53
+
54
+ var sb = StraightBond.between(base1, base2);
55
+
56
+ var listener = () => {};
57
+
58
+ sb.addEventListener('change', listener);
59
+ sb.basePadding1 += 10; // listener called
60
+
61
+ sb.removeEventListener('change', listener);
62
+ sb.basePadding1 += 10; // listener not called
63
+ ```
@@ -11,6 +11,7 @@ export type Point = {
11
11
  * A bond that is a straight line between two bases.
12
12
  */
13
13
  export declare class StraightBond<B extends Nucleobase> {
14
+ #private;
14
15
  private line;
15
16
  readonly base1: B;
16
17
  readonly base2: B;
@@ -176,6 +177,8 @@ export declare class StraightBond<B extends Nucleobase> {
176
177
  * Repositions the straight bond based on the current positions of bases 1 and 2.
177
178
  */
178
179
  private reposition;
180
+ addEventListener(name: 'change', listener: () => void): void;
181
+ removeEventListener(name: 'change', listener: () => void): void;
179
182
  /**
180
183
  * Returns the serialized form of the straight bond,
181
184
  * which is used when saving drawings.
@@ -1 +1 @@
1
- {"version":3,"file":"StraightBond.d.ts","sourceRoot":"","sources":["../src/StraightBond.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAYF;;GAEG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,UAAU;IAwChC,OAAO,CAAC,IAAI;IAAkB,QAAQ,CAAC,KAAK,EAAE,CAAC;IAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;IAvC9E;;OAEG;IACH,MAAM,CAAC,aAAa;;;;;;;MAOlB;IAEF;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAczE;;;;;;OAMG;gBACiB,IAAI,EAAE,cAAc,EAAW,KAAK,EAAE,CAAC,EAAW,KAAK,EAAE,CAAC;IAa9E;;;;;OAKG;IACH,IAAI,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAErB;IAED;;OAEG;IACH,IAAI,OAAO,mBAEV;IAED;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM;IAIzB;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI/C;;;;;OAKG;IACH,aAAa,CAAC,UAAU,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,OAAO,GAAG,IAAI;IAUtE;;OAEG;IACH,IAAI,EAAE,WAIL;IAED;;;;OAIG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI;IAI/B;;;;OAIG;IACH,MAAM,IAAI,IAAI;IAId;;;;;OAKG;IACH,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO;IAI9B;;;;OAIG;IACH,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;IACH,cAAc,IAAI,MAAM,GAAG,KAAK;IAIhC;;;;OAIG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK;IAI/C;;OAEG;IACH,IAAI,MAAM,IAAI,KAAK,CAOlB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,KAAK,CAOlB;IAED;;;;;;OAMG;IACH,IAAI,YAAY,IAAI,MAAM,CAQzB;IAED;;OAEG;IACH,IAAI,YAAY,CAAC,YAAY,EAbT,MAaS,EAI5B;IAED;;;;OAIG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IASrD;;;;;;OAMG;IACH,IAAI,YAAY,IAAI,MAAM,CAQzB;IAED;;OAEG;IACH,IAAI,YAAY,CAAC,YAAY,EAbT,MAaS,EAI5B;IAED;;;;OAIG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IASrD;;;;;OAKG;IACH,UAAU,IAAI,OAAO;IAIrB;;;;;;OAMG;IACH,GAAG,CAAC,MAAM,EAAE,OAAO;IAYnB;;OAEG;IACH,OAAO,CAAC,UAAU;IAYlB;;;;;;OAMG;IACH,UAAU;;;;;IAaV;;;;;;;OAOG;IACH,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;CAgCxF"}
1
+ {"version":3,"file":"StraightBond.d.ts","sourceRoot":"","sources":["../src/StraightBond.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAYF;;GAEG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,UAAU;;IA8ChC,OAAO,CAAC,IAAI;IAAkB,QAAQ,CAAC,KAAK,EAAE,CAAC;IAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;IA7C9E;;OAEG;IACH,MAAM,CAAC,aAAa;;;;;;;MAOlB;IAEF;;;;;OAKG;IACH,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,UAAU,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC;IAoBzE;;;;;;OAMG;gBACiB,IAAI,EAAE,cAAc,EAAW,KAAK,EAAE,CAAC,EAAW,KAAK,EAAE,CAAC;IAgB9E;;;;;OAKG;IACH,IAAI,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAErB;IAED;;OAEG;IACH,IAAI,OAAO,mBAEV;IAED;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM;IAIzB;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAI/C;;;;;OAKG;IACH,aAAa,CAAC,UAAU,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,OAAO,GAAG,IAAI;IAUtE;;OAEG;IACH,IAAI,EAAE,WAIL;IAED;;;;OAIG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,IAAI,GAAG,IAAI;IAI/B;;;;OAIG;IACH,MAAM,IAAI,IAAI;IAId;;;;;OAKG;IACH,IAAI,CAAC,SAAS,EAAE,IAAI,GAAG,OAAO;IAI9B;;;;OAIG;IACH,SAAS,IAAI,OAAO;IAIpB;;;;OAIG;IACH,cAAc,IAAI,MAAM,GAAG,KAAK;IAIhC;;;;OAIG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,KAAK;IAI/C;;OAEG;IACH,IAAI,MAAM,IAAI,KAAK,CAOlB;IAED;;OAEG;IACH,IAAI,MAAM,IAAI,KAAK,CAOlB;IAED;;;;;;OAMG;IACH,IAAI,YAAY,IAAI,MAAM,CAQzB;IAED;;OAEG;IACH,IAAI,YAAY,CAAC,YAAY,EAbT,MAaS,EAI5B;IAED;;;;OAIG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IASrD;;;;;;OAMG;IACH,IAAI,YAAY,IAAI,MAAM,CAQzB;IAED;;OAEG;IACH,IAAI,YAAY,CAAC,YAAY,EAbT,MAaS,EAI5B;IAED;;;;OAIG;IACH,eAAe,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IASrD;;;;;OAKG;IACH,UAAU,IAAI,OAAO;IAIrB;;;;;;OAMG;IACH,GAAG,CAAC,MAAM,EAAE,OAAO;IAYnB;;OAEG;IACH,OAAO,CAAC,UAAU;IAYlB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAI5D,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;IAQ/D;;;;;;OAMG;IACH,UAAU;;;;;IAaV;;;;;;;OAOG;IACH,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;CAgCxF"}