@pie-lib/plot 3.2.0-next.2 → 3.2.0-next.5

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/CHANGELOG.md CHANGED
@@ -3,64 +3,57 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- # [3.1.0-next.4](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@3.1.0-next.2...@pie-lib/plot@3.1.0-next.4) (2026-01-27)
6
+ # [3.2.0-next.5](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@3.2.0-next.4...@pie-lib/plot@3.2.0-next.5) (2026-02-25)
7
7
 
8
- **Note:** Version bump only for package @pie-lib/plot
8
+ ### Bug Fixes
9
9
 
10
+ - **plot:** add a small buffer to ensure we can reach the boudaries PD-5498 ([e71922d](https://github.com/pie-framework/pie-lib/commit/e71922d80e60dc013ea97c8818ee3458ecf85ba8))
10
11
 
12
+ # [3.2.0-next.4](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@3.2.0-next.3...@pie-lib/plot@3.2.0-next.4) (2026-02-24)
11
13
 
14
+ **Note:** Version bump only for package @pie-lib/plot
12
15
 
16
+ # [3.2.0-next.3](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@3.2.0-next.1...@pie-lib/plot@3.2.0-next.3) (2026-02-24)
13
17
 
14
- # [3.1.0-next.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@3.1.0-next.1...@pie-lib/plot@3.1.0-next.2) (2026-01-26)
18
+ ### Bug Fixes
15
19
 
16
- **Note:** Version bump only for package @pie-lib/plot
20
+ - made sure placeholder works, math item does not blur editor, table toolbar contains correct extensions [PD-5616] [PD-5584] [PD-5627] ([9bc768f](https://github.com/pie-framework/pie-lib/commit/9bc768f4e4301f91cc768475f0defa545ee7b43d))
17
21
 
22
+ # [3.1.0-next.4](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@3.1.0-next.2...@pie-lib/plot@3.1.0-next.4) (2026-01-27)
18
23
 
24
+ **Note:** Version bump only for package @pie-lib/plot
19
25
 
26
+ # [3.1.0-next.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@3.1.0-next.1...@pie-lib/plot@3.1.0-next.2) (2026-01-26)
20
27
 
28
+ **Note:** Version bump only for package @pie-lib/plot
21
29
 
22
30
  # [3.1.0-next.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@2.27.2...@pie-lib/plot@3.1.0-next.1) (2026-01-26)
23
31
 
24
-
25
32
  ### Bug Fixes
26
33
 
27
- * remove carets from [@pie-lib](https://github.com/pie-lib) dependencies and configure lerna to use exact versions ([c9cd800](https://github.com/pie-framework/pie-lib/commit/c9cd800844abca09e7acf1fd35b2ddf51a6d86df))
28
- * remove carret, point to specific libs version ([09939a5](https://github.com/pie-framework/pie-lib/commit/09939a5aca19d7dda03d62c93d4d524f98dd69da))
29
- * remove exports and publish ([#2068](https://github.com/pie-framework/pie-lib/issues/2068)) ([60a96cd](https://github.com/pie-framework/pie-lib/commit/60a96cde0ec65f6b1cac0ae329aa33a0abc50d05))
30
- * updated tip-tap with mui instead of material-ui [PD-5141] ([880d3ab](https://github.com/pie-framework/pie-lib/commit/880d3ab1d63aa12c7e975c882f50624200565737))
31
- * **plot:** fix focus PD-5452 ([882207c](https://github.com/pie-framework/pie-lib/commit/882207c6a1155a8e5818f5c7966239f8f341a0a6))
32
- * use fixed lib deps ([de7c64d](https://github.com/pie-framework/pie-lib/commit/de7c64d14f13259fe44d47405e4421baef21e24e))
33
-
34
+ - remove carets from [@pie-lib](https://github.com/pie-lib) dependencies and configure lerna to use exact versions ([c9cd800](https://github.com/pie-framework/pie-lib/commit/c9cd800844abca09e7acf1fd35b2ddf51a6d86df))
35
+ - remove carret, point to specific libs version ([09939a5](https://github.com/pie-framework/pie-lib/commit/09939a5aca19d7dda03d62c93d4d524f98dd69da))
36
+ - remove exports and publish ([#2068](https://github.com/pie-framework/pie-lib/issues/2068)) ([60a96cd](https://github.com/pie-framework/pie-lib/commit/60a96cde0ec65f6b1cac0ae329aa33a0abc50d05))
37
+ - updated tip-tap with mui instead of material-ui [PD-5141] ([880d3ab](https://github.com/pie-framework/pie-lib/commit/880d3ab1d63aa12c7e975c882f50624200565737))
38
+ - **plot:** fix focus PD-5452 ([882207c](https://github.com/pie-framework/pie-lib/commit/882207c6a1155a8e5818f5c7966239f8f341a0a6))
39
+ - use fixed lib deps ([de7c64d](https://github.com/pie-framework/pie-lib/commit/de7c64d14f13259fe44d47405e4421baef21e24e))
34
40
 
35
41
  ### Features
36
42
 
37
- * bump react and react-dom ([01dc19e](https://github.com/pie-framework/pie-lib/commit/01dc19e88bbc8d372c561d1511df1a82937d45af))
38
- * migrate from [@vx](https://github.com/vx) library to [@visx](https://github.com/visx) ([135bf60](https://github.com/pie-framework/pie-lib/commit/135bf605161bfbd0070ac181892df20931691ce3))
39
- * packages/plot mui update PD-5268 ([6456853](https://github.com/pie-framework/pie-lib/commit/645685333cb277208ca197b2853a3780edc92b15))
40
- * sync latest changes from dev ([c936e9c](https://github.com/pie-framework/pie-lib/commit/c936e9c7f9e095e7d9b9805ac2bf72bd271e05f1))
41
-
42
-
43
-
44
-
43
+ - bump react and react-dom ([01dc19e](https://github.com/pie-framework/pie-lib/commit/01dc19e88bbc8d372c561d1511df1a82937d45af))
44
+ - migrate from [@vx](https://github.com/vx) library to [@visx](https://github.com/visx) ([135bf60](https://github.com/pie-framework/pie-lib/commit/135bf605161bfbd0070ac181892df20931691ce3))
45
+ - packages/plot mui update PD-5268 ([6456853](https://github.com/pie-framework/pie-lib/commit/645685333cb277208ca197b2853a3780edc92b15))
46
+ - sync latest changes from dev ([c936e9c](https://github.com/pie-framework/pie-lib/commit/c936e9c7f9e095e7d9b9805ac2bf72bd271e05f1))
45
47
 
46
48
  # [3.0.0-next.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@2.27.3-next.0...@pie-lib/plot@3.0.0-next.0) (2026-01-19)
47
49
 
48
50
  **Note:** Version bump only for package @pie-lib/plot
49
51
 
50
-
51
-
52
-
53
-
54
52
  ## [2.27.3-next.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@2.41.0-mui-update.0...@pie-lib/plot@2.27.3-next.0) (2026-01-19)
55
53
 
56
-
57
54
  ### Bug Fixes
58
55
 
59
- * **plot:** fix focus PD-5452 ([882207c](https://github.com/pie-framework/pie-lib/commit/882207c6a1155a8e5818f5c7966239f8f341a0a6))
60
-
61
-
62
-
63
-
56
+ - **plot:** fix focus PD-5452 ([882207c](https://github.com/pie-framework/pie-lib/commit/882207c6a1155a8e5818f5c7966239f8f341a0a6))
64
57
 
65
58
  ## [2.27.2](https://github.com/pie-framework/pie-lib/compare/@pie-lib/plot@2.27.1...@pie-lib/plot@2.27.2) (2025-11-27)
66
59
 
package/LICENSE.md ADDED
@@ -0,0 +1,5 @@
1
+ Copyright 2019 CoreSpring Inc
2
+
3
+ Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
4
+
5
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
package/lib/draggable.js CHANGED
@@ -41,4 +41,4 @@ var LocalDraggable = exports["default"] = /*#__PURE__*/function (_Draggable) {
41
41
  }
42
42
  }]);
43
43
  }(_reactDraggable["default"]);
44
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3REcmFnZ2FibGUiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsImFwcGx5IiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJfc3VwZXJQcm9wR2V0IiwicCIsIl9nZXQyIiwiTG9jYWxEcmFnZ2FibGUiLCJleHBvcnRzIiwiX0RyYWdnYWJsZSIsIl9jbGFzc0NhbGxDaGVjazIiLCJhcmd1bWVudHMiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsImtleSIsInZhbHVlIiwiY29tcG9uZW50V2lsbFJlY2VpdmVQcm9wcyIsIm5leHQiLCJzZXRTdGF0ZSIsIngiLCJ5IiwiRHJhZ2dhYmxlIl0sInNvdXJjZXMiOlsiLi4vc3JjL2RyYWdnYWJsZS5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IERyYWdnYWJsZSwgeyBEcmFnZ2FibGVDb3JlIH0gZnJvbSAncmVhY3QtZHJhZ2dhYmxlJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTG9jYWxEcmFnZ2FibGUgZXh0ZW5kcyBEcmFnZ2FibGUge1xuICBjb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHQpIHtcbiAgICBzdXBlci5jb21wb25lbnRXaWxsUmVjZWl2ZVByb3BzKG5leHQpO1xuICAgIC8vUmVtb3ZlIHRoZSB4L3kgc3RhdGUgYXMgdGhlc2UgdmFsdWVzIGhhdmUgbm93IGJlZW4gdXBkYXRlZCBhbmQgd2lsbCBjb21lIHRocm91Z2ggYXMgcHJvcHMuXG4gICAgdGhpcy5zZXRTdGF0ZSh7IHg6IDAsIHk6IDAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IHsgRHJhZ2dhYmxlQ29yZSB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLGVBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUEyRCxTQUFBRCx3QkFBQUUsQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUosdUJBQUEsWUFBQUEsd0JBQUFFLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxtQkFBQVQsQ0FBQSxpQkFBQUEsQ0FBQSxnQkFBQVUsT0FBQSxDQUFBVixDQUFBLDBCQUFBQSxDQUFBLFNBQUFRLENBQUEsTUFBQUYsQ0FBQSxHQUFBTCxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRyxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTSxDQUFBLENBQUFNLEdBQUEsQ0FBQVosQ0FBQSxHQUFBTSxDQUFBLENBQUFPLEdBQUEsQ0FBQWIsQ0FBQSxFQUFBUSxDQUFBLGNBQUFNLEVBQUEsSUFBQWQsQ0FBQSxnQkFBQWMsRUFBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLElBQUFELENBQUEsR0FBQVcsTUFBQSxDQUFBQyxjQUFBLEtBQUFELE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQW5CLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLENBQUFLLEdBQUEsSUFBQUwsQ0FBQSxDQUFBTSxHQUFBLElBQUFQLENBQUEsQ0FBQUUsQ0FBQSxFQUFBTSxFQUFBLEVBQUFQLENBQUEsSUFBQUMsQ0FBQSxDQUFBTSxFQUFBLElBQUFkLENBQUEsQ0FBQWMsRUFBQSxXQUFBTixDQUFBLEtBQUFSLENBQUEsRUFBQUMsQ0FBQTtBQUFBLFNBQUFtQixXQUFBbkIsQ0FBQSxFQUFBSyxDQUFBLEVBQUFOLENBQUEsV0FBQU0sQ0FBQSxPQUFBZSxnQkFBQSxhQUFBZixDQUFBLE9BQUFnQiwyQkFBQSxhQUFBckIsQ0FBQSxFQUFBc0IseUJBQUEsS0FBQUMsT0FBQSxDQUFBQyxTQUFBLENBQUFuQixDQUFBLEVBQUFOLENBQUEsWUFBQXFCLGdCQUFBLGFBQUFwQixDQUFBLEVBQUF5QixXQUFBLElBQUFwQixDQUFBLENBQUFxQixLQUFBLENBQUExQixDQUFBLEVBQUFELENBQUE7QUFBQSxTQUFBdUIsMEJBQUEsY0FBQXRCLENBQUEsSUFBQTJCLE9BQUEsQ0FBQUMsU0FBQSxDQUFBQyxPQUFBLENBQUFkLElBQUEsQ0FBQVEsT0FBQSxDQUFBQyxTQUFBLENBQUFHLE9BQUEsaUNBQUEzQixDQUFBLGFBQUFzQix5QkFBQSxZQUFBQSwwQkFBQSxhQUFBdEIsQ0FBQTtBQUFBLFNBQUE4QixjQUFBOUIsQ0FBQSxFQUFBSyxDQUFBLEVBQUFOLENBQUEsRUFBQUcsQ0FBQSxRQUFBNkIsQ0FBQSxPQUFBQyxLQUFBLGlCQUFBWixnQkFBQSxpQkFBQWxCLENBQUEsR0FBQUYsQ0FBQSxDQUFBNEIsU0FBQSxHQUFBNUIsQ0FBQSxHQUFBSyxDQUFBLEVBQUFOLENBQUEsY0FBQUcsQ0FBQSx5QkFBQTZCLENBQUEsYUFBQS9CLENBQUEsV0FBQStCLENBQUEsQ0FBQUwsS0FBQSxDQUFBM0IsQ0FBQSxFQUFBQyxDQUFBLE9BQUErQixDQUFBO0FBQUEsSUFFdENFLGNBQWMsR0FBQUMsT0FBQSxxQ0FBQUMsVUFBQTtFQUFBLFNBQUFGLGVBQUE7SUFBQSxJQUFBRyxnQkFBQSxtQkFBQUgsY0FBQTtJQUFBLE9BQUFkLFVBQUEsT0FBQWMsY0FBQSxFQUFBSSxTQUFBO0VBQUE7RUFBQSxJQUFBQyxVQUFBLGFBQUFMLGNBQUEsRUFBQUUsVUFBQTtFQUFBLFdBQUFJLGFBQUEsYUFBQU4sY0FBQTtJQUFBTyxHQUFBO0lBQUFDLEtBQUEsRUFDakMsU0FBQUMseUJBQXlCQSxDQUFDQyxJQUFJLEVBQUU7TUFDOUJiLGFBQUEsQ0FBQUcsY0FBQSx5Q0FBZ0NVLElBQUk7TUFDcEM7TUFDQSxJQUFJLENBQUNDLFFBQVEsQ0FBQztRQUFFQyxDQUFDLEVBQUUsQ0FBQztRQUFFQyxDQUFDLEVBQUU7TUFBRSxDQUFDLENBQUM7SUFDL0I7RUFBQztBQUFBLEVBTHlDQywwQkFBUyIsImlnbm9yZUxpc3QiOltdfQ==
44
+ //# sourceMappingURL=draggable.js.map
@@ -43,4 +43,4 @@ var create = exports.create = function create(domain, range, size, getRootNode)
43
43
  getRootNode: getRootNode
44
44
  };
45
45
  };
46
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaW52YXJpYW50IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfdXRpbHMiLCJfZDNTY2FsZSIsImNyZWF0ZVNuYXBNaW5BbmRNYXgiLCJfcmVmIiwibWluIiwibWF4Iiwic3RlcCIsInBhcnNlSW50IiwiY3JlYXRlIiwiZXhwb3J0cyIsImRvbWFpbiIsInJhbmdlIiwic2l6ZSIsImdldFJvb3ROb2RlIiwiaW52YXJpYW50IiwiZG9tYWluTWluTWF4IiwicmFuZ2VNaW5NYXgiLCJzY2FsZSIsIngiLCJzY2FsZUxpbmVhciIsIndpZHRoIiwieSIsImhlaWdodCIsInNuYXAiLCJzbmFwVG8iLCJiaW5kIl0sInNvdXJjZXMiOlsiLi4vc3JjL2dyYXBoLXByb3BzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBpbnZhcmlhbnQgZnJvbSAnaW52YXJpYW50JztcbmltcG9ydCB7IHNuYXBUbyB9IGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgc2NhbGVMaW5lYXIgfSBmcm9tICdkMy1zY2FsZSc7XG5cbmNvbnN0IGNyZWF0ZVNuYXBNaW5BbmRNYXggPSAoeyBtaW4sIG1heCwgc3RlcCB9KSA9PiB7XG4gIC8vIGZvciBncmFwaGluZywgaWYgc3RlcCBpcyBhIHZhbHVlIHdpdGggZGVjaW1hbHMsIHdlIGhhdmUgdG8gY2FsY3VsYXRlIHRoZSBtaW4gJiBtYXggZm9yIHRoZSBncmlkIHRha2luZyBpbiBjb25zaWRlcmF0aW9uIHRoYXQgMCBoYXMgdG8gYmUgZXhhY3RseSBpbiB0aGUgbWlkZGxlXG4gIC8vIGZvciBleGFtcGxlLCBpZiBtaW46IC01ICYgbWF4OiA1ICYgc3RlcDogMC43NSwgaW4gb3JkZXIgdG8ga2VlcCAwIGluIHRoZSBtaWRkbGUgd2UgaGF2ZSB0byBzZXQgbWluOiAtNC41ICYgbWF4OiA0LjVcblxuICByZXR1cm4ge1xuICAgIHN0ZXAsXG4gICAgbWluOiBwYXJzZUludChtaW4gLyBzdGVwKSAqIHN0ZXAsXG4gICAgbWF4OiBwYXJzZUludChtYXggLyBzdGVwKSAqIHN0ZXAsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlID0gKGRvbWFpbiwgcmFuZ2UsIHNpemUsIGdldFJvb3ROb2RlKSA9PiB7XG4gIGludmFyaWFudChkb21haW4ubWluIDwgZG9tYWluLm1heCwgJ2RvbWFpbjogbWluIG11c3QgYmUgbGVzcyB0aGFuIG1heCcpO1xuICBpbnZhcmlhbnQocmFuZ2UubWluIDwgcmFuZ2UubWF4LCAncmFuZ2U6IG1pbiBtdXN0IGJlIGxlc3MgdGhhbiBtYXgnKTtcblxuICBjb25zdCBkb21haW5NaW5NYXggPSBjcmVhdGVTbmFwTWluQW5kTWF4KGRvbWFpbik7XG4gIGNvbnN0IHJhbmdlTWluTWF4ID0gY3JlYXRlU25hcE1pbkFuZE1heChyYW5nZSk7XG5cbiAgY29uc3Qgc2NhbGUgPSB7XG4gICAgeDogc2NhbGVMaW5lYXIoKS5kb21haW4oW2RvbWFpbi5taW4sIGRvbWFpbi5tYXhdKS5yYW5nZShbMCwgc2l6ZS53aWR0aF0pLFxuICAgIHk6IHNjYWxlTGluZWFyKCkuZG9tYWluKFtyYW5nZS5tYXgsIHJhbmdlLm1pbl0pLnJhbmdlKFswLCBzaXplLmhlaWdodF0pLFxuICB9O1xuXG4gIGNvbnN0IHNuYXAgPSB7XG4gICAgeDogc25hcFRvLmJpbmQobnVsbCwgZG9tYWluTWluTWF4Lm1pbiwgZG9tYWluTWluTWF4Lm1heCwgZG9tYWluTWluTWF4LnN0ZXApLFxuICAgIHk6IHNuYXBUby5iaW5kKG51bGwsIHJhbmdlTWluTWF4Lm1pbiwgcmFuZ2VNaW5NYXgubWF4LCByYW5nZU1pbk1heC5zdGVwKSxcbiAgfTtcblxuICByZXR1cm4geyBzY2FsZSwgc25hcCwgZG9tYWluLCByYW5nZSwgc2l6ZSwgZ2V0Um9vdE5vZGUgfTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxJQUFBQSxVQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxRQUFBLEdBQUFGLE9BQUE7QUFFQSxJQUFNRyxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQW1CQSxDQUFBQyxJQUFBLEVBQTJCO0VBQUEsSUFBckJDLEdBQUcsR0FBQUQsSUFBQSxDQUFIQyxHQUFHO0lBQUVDLEdBQUcsR0FBQUYsSUFBQSxDQUFIRSxHQUFHO0lBQUVDLElBQUksR0FBQUgsSUFBQSxDQUFKRyxJQUFJO0VBQzNDO0VBQ0E7O0VBRUEsT0FBTztJQUNMQSxJQUFJLEVBQUpBLElBQUk7SUFDSkYsR0FBRyxFQUFFRyxRQUFRLENBQUNILEdBQUcsR0FBR0UsSUFBSSxDQUFDLEdBQUdBLElBQUk7SUFDaENELEdBQUcsRUFBRUUsUUFBUSxDQUFDRixHQUFHLEdBQUdDLElBQUksQ0FBQyxHQUFHQTtFQUM5QixDQUFDO0FBQ0gsQ0FBQztBQUVNLElBQU1FLE1BQU0sR0FBQUMsT0FBQSxDQUFBRCxNQUFBLEdBQUcsU0FBVEEsTUFBTUEsQ0FBSUUsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLElBQUksRUFBRUMsV0FBVyxFQUFLO0VBQzFELElBQUFDLHFCQUFTLEVBQUNKLE1BQU0sQ0FBQ04sR0FBRyxHQUFHTSxNQUFNLENBQUNMLEdBQUcsRUFBRSxtQ0FBbUMsQ0FBQztFQUN2RSxJQUFBUyxxQkFBUyxFQUFDSCxLQUFLLENBQUNQLEdBQUcsR0FBR08sS0FBSyxDQUFDTixHQUFHLEVBQUUsa0NBQWtDLENBQUM7RUFFcEUsSUFBTVUsWUFBWSxHQUFHYixtQkFBbUIsQ0FBQ1EsTUFBTSxDQUFDO0VBQ2hELElBQU1NLFdBQVcsR0FBR2QsbUJBQW1CLENBQUNTLEtBQUssQ0FBQztFQUU5QyxJQUFNTSxLQUFLLEdBQUc7SUFDWkMsQ0FBQyxFQUFFLElBQUFDLG9CQUFXLEVBQUMsQ0FBQyxDQUFDVCxNQUFNLENBQUMsQ0FBQ0EsTUFBTSxDQUFDTixHQUFHLEVBQUVNLE1BQU0sQ0FBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQ00sS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFQyxJQUFJLENBQUNRLEtBQUssQ0FBQyxDQUFDO0lBQ3hFQyxDQUFDLEVBQUUsSUFBQUYsb0JBQVcsRUFBQyxDQUFDLENBQUNULE1BQU0sQ0FBQyxDQUFDQyxLQUFLLENBQUNOLEdBQUcsRUFBRU0sS0FBSyxDQUFDUCxHQUFHLENBQUMsQ0FBQyxDQUFDTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUVDLElBQUksQ0FBQ1UsTUFBTSxDQUFDO0VBQ3hFLENBQUM7RUFFRCxJQUFNQyxJQUFJLEdBQUc7SUFDWEwsQ0FBQyxFQUFFTSxhQUFNLENBQUNDLElBQUksQ0FBQyxJQUFJLEVBQUVWLFlBQVksQ0FBQ1gsR0FBRyxFQUFFVyxZQUFZLENBQUNWLEdBQUcsRUFBRVUsWUFBWSxDQUFDVCxJQUFJLENBQUM7SUFDM0VlLENBQUMsRUFBRUcsYUFBTSxDQUFDQyxJQUFJLENBQUMsSUFBSSxFQUFFVCxXQUFXLENBQUNaLEdBQUcsRUFBRVksV0FBVyxDQUFDWCxHQUFHLEVBQUVXLFdBQVcsQ0FBQ1YsSUFBSTtFQUN6RSxDQUFDO0VBRUQsT0FBTztJQUFFVyxLQUFLLEVBQUxBLEtBQUs7SUFBRU0sSUFBSSxFQUFKQSxJQUFJO0lBQUViLE1BQU0sRUFBTkEsTUFBTTtJQUFFQyxLQUFLLEVBQUxBLEtBQUs7SUFBRUMsSUFBSSxFQUFKQSxJQUFJO0lBQUVDLFdBQVcsRUFBWEE7RUFBWSxDQUFDO0FBQzFELENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
46
+ //# sourceMappingURL=graph-props.js.map
@@ -26,6 +26,8 @@ var _invariant = _interopRequireDefault(require("invariant"));
26
26
  var _d3Selection = require("d3-selection");
27
27
  var _excluded = ["disabled"];
28
28
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
29
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
30
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
29
31
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
30
32
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
31
33
  var log = (0, _debug["default"])('pie-lib:plot:grid-draggable');
@@ -109,6 +111,18 @@ var gridDraggable = exports.gridDraggable = function gridDraggable(opts) {
109
111
  top: bounds.top * grid.y,
110
112
  bottom: bounds.bottom * grid.y
111
113
  };
114
+
115
+ // Normalize Y bounds so that:
116
+ // - top is <= 0 (negative or zero, allowing upward movement)
117
+ // - bottom is >= 0 (positive or zero, allowing downward movement)
118
+ // This compensates for the inverted Y scale (range.max -> 0, range.min -> size.height)
119
+ // Add a small buffer (1 grid unit) to ensure we can reach exact boundaries
120
+ var buffer = Math.abs(grid.y);
121
+ scaled = _objectSpread(_objectSpread({}, scaled), {}, {
122
+ top: Math.min(0, scaled.top) - buffer,
123
+ // More negative to allow reaching max
124
+ bottom: Math.abs(scaled.bottom) + buffer // More positive to allow reaching min
125
+ });
112
126
  log('[getScaledBounds]: ', scaled);
113
127
  return scaled;
114
128
  });
@@ -304,4 +318,4 @@ var gridDraggable = exports.gridDraggable = function gridDraggable(opts) {
304
318
  }), _GridDraggable;
305
319
  };
306
320
  };
307
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfdHlwZXMiLCJfZHJhZ2dhYmxlIiwiX2RlYnVnIiwidXRpbHMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9sb2Rhc2hFcyIsIl9pbnZhcmlhbnQiLCJfZDNTZWxlY3Rpb24iLCJfZXhjbHVkZWQiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsImFwcGx5IiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJsb2ciLCJkZWJ1ZyIsImRlbHRhRm4iLCJleHBvcnRzIiwic2NhbGUiLCJzbmFwIiwidmFsIiwiZGVsdGEiLCJub3JtYWxpemVkIiwiaW52ZXJ0ZWQiLCJpbnZlcnQiLCJmaXhEZWNpbWFsc0FyaXRobWV0aWMiLCJ0b0ZpeGVkIiwiZ3JpZERyYWdnYWJsZSIsIm9wdHMiLCJDb21wIiwiX0dyaWREcmFnZ2FibGUiLCJpbnZhcmlhbnQiLCJpc0Z1bmN0aW9uIiwiZnJvbURlbHRhIiwiYm91bmRzIiwiYW5jaG9yUG9pbnQiLCJfUmVhY3QkQ29tcG9uZW50IiwiR3JpZERyYWdnYWJsZSIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2RlZmluZVByb3BlcnR5MiIsImdyYXBoUHJvcHMiLCJkb21haW4iLCJyYW5nZSIsIngiLCJzdGVwIiwieSIsIm9uRHJhZ1N0YXJ0IiwiZG9jdW1lbnQiLCJhY3RpdmVFbGVtZW50IiwiYmx1ciIsInNldFN0YXRlIiwic3RhcnRYIiwiY2xpZW50WCIsInN0YXJ0WSIsImNsaWVudFkiLCJfb3B0cyRhbmNob3JQb2ludCIsImtleSIsImV2ZW50IiwiSyIsInRvVXBwZXJDYXNlIiwiZW5kIiwiY29uY2F0Iiwic3RhcnQiLCJzdGF0ZSIsIk1hdGgiLCJhYnMiLCJvdXQiLCJncmlkIiwic2NhbGVkIiwibGVmdCIsInJpZ2h0IiwidG9wIiwiYm90dG9tIiwibm9kZSIsInN2ZyIsIm93bmVyU1ZHRWxlbWVudCIsImNyZWF0ZVNWR1BvaW50IiwicG9pbnQiLCJ0b3VjaGVzIiwibGVuZ3RoIiwidG91Y2giLCJnZXRTY3JlZW5DVE0iLCJtYXRyaXhUcmFuc2Zvcm0iLCJpbnZlcnNlIiwicmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImNsaWVudExlZnQiLCJjbGllbnRUb3AiLCJkZCIsInJvb3ROb2RlIiwiZ2V0Um9vdE5vZGUiLCJjbGllbnRQb2ludCIsImdldENsaWVudFBvaW50IiwiX2NsaWVudFBvaW50IiwiX3NsaWNlZFRvQXJyYXkyIiwicmF3WCIsInJhd1kiLCJ4T3V0c2lkZSIsImRlbHRhWCIsIm1pbiIsIm1heCIsInlPdXRzaWRlIiwiZGVsdGFZIiwiX3RoaXMkcHJvcHMiLCJvbkRyYWciLCJnZXRTY2FsZWRCb3VuZHMiLCJza2lwRHJhZ091dHNpZGVPZkJvdW5kcyIsImRyYWdBcmciLCJhcHBseURlbHRhIiwidW5kZWZpbmVkIiwicG9zIiwicG9zaXRpb24iLCJwIiwiZ2V0RGVsdGEiLCJfdGhpcyRwcm9wczIiLCJvbkRyYWdTdG9wIiwib25DbGljayIsImxhc3RYIiwibGFzdFkiLCJpc0NsaWNrIiwidGlueSIsIl9wb2ludGVyIiwicG9pbnRlciIsInRhcmdldCIsIl9wb2ludGVyMiIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwidmFsdWUiLCJyZW5kZXIiLCJfdGhpcyRwcm9wczMiLCJkaXNhYmxlZCIsInJlc3QiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwib25Nb3VzZURvd24iLCJuYXRpdmVFdmVudCIsInByZXZlbnREZWZhdWx0IiwiaXNEcmFnZ2luZyIsImNyZWF0ZUVsZW1lbnQiLCJEcmFnZ2FibGVDb3JlIiwib25TdGFydCIsIm9uU3RvcCIsImF4aXMiLCJfZXh0ZW5kczIiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsImJvb2wiLCJmdW5jIiwib25Nb3ZlIiwiR3JhcGhQcm9wc1R5cGUiLCJpc1JlcXVpcmVkIl0sInNvdXJjZXMiOlsiLi4vc3JjL2dyaWQtZHJhZ2dhYmxlLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IEdyYXBoUHJvcHNUeXBlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBEcmFnZ2FibGVDb3JlIH0gZnJvbSAnLi9kcmFnZ2FibGUnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgaW52YXJpYW50IGZyb20gJ2ludmFyaWFudCc7XG5pbXBvcnQgeyBwb2ludGVyIH0gZnJvbSAnZDMtc2VsZWN0aW9uJztcblxuY29uc3QgbG9nID0gZGVidWcoJ3BpZS1saWI6cGxvdDpncmlkLWRyYWdnYWJsZScpO1xuXG5leHBvcnQgY29uc3QgZGVsdGFGbiA9IChzY2FsZSwgc25hcCwgdmFsKSA9PiAoZGVsdGEpID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IGRlbHRhICsgc2NhbGUoMCk7XG4gIGNvbnN0IGludmVydGVkID0gc2NhbGUuaW52ZXJ0KG5vcm1hbGl6ZWQpO1xuXG4gIGNvbnN0IGZpeERlY2ltYWxzQXJpdGhtZXRpYyA9IChzbmFwKHZhbCArIGludmVydGVkKS50b0ZpeGVkKDQpICogMTAwMCkgLyAxMDAwO1xuXG4gIHJldHVybiBmaXhEZWNpbWFsc0FyaXRobWV0aWM7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBDb21wb25lbnQgdGhhdCBpcyBkcmFnZ2FibGUsIHdpdGhpbiBhIGJvdW5kZWQgZ3JpZC5cbiAqIEBwYXJhbSB7Kn0gb3B0c1xuICovXG5leHBvcnQgY29uc3QgZ3JpZERyYWdnYWJsZSA9IChvcHRzKSA9PiAoQ29tcCkgPT4ge1xuICBpbnZhcmlhbnQoXG4gICAgISFvcHRzICYmIGlzRnVuY3Rpb24ob3B0cy5mcm9tRGVsdGEpICYmIGlzRnVuY3Rpb24ob3B0cy5ib3VuZHMpICYmIGlzRnVuY3Rpb24ob3B0cy5hbmNob3JQb2ludCksXG4gICAgJ1lvdSBtdXN0IHN1cHBseSBhbiBvYmplY3Qgd2l0aDogeyBhbmNob3JQb2ludDogRnVuY3Rpb24sIGZyb21EZWx0YTogRnVuY3Rpb24sIGJvdW5kczogRnVuY3Rpb24gfScsXG4gICk7XG4gIHJldHVybiBjbGFzcyBHcmlkRHJhZ2dhYmxlIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgb25EcmFnU3RhcnQ6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgb25EcmFnOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAgIG9uRHJhZ1N0b3A6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMsXG4gICAgICBvbk1vdmU6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgZ3JhcGhQcm9wczogR3JhcGhQcm9wc1R5cGUuaXNSZXF1aXJlZCxcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgIHN0YXJ0WDogbnVsbCxcbiAgICAgICAgc3RhcnRZOiBudWxsLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBncmlkID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBncmFwaFByb3BzIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgeyBzY2FsZSwgZG9tYWluLCByYW5nZSB9ID0gZ3JhcGhQcm9wcztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHg6IHNjYWxlLngoZG9tYWluLnN0ZXApIC0gc2NhbGUueCgwKSxcbiAgICAgICAgeTogc2NhbGUueShyYW5nZS5zdGVwKSAtIHNjYWxlLnkoMCksXG4gICAgICB9O1xuICAgIH07XG4gICAgb25TdGFydCA9IChlKSA9PiB7XG4gICAgICBjb25zdCB7IG9uRHJhZ1N0YXJ0IH0gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnNldFN0YXRlKHsgc3RhcnRYOiBlLmNsaWVudFgsIHN0YXJ0WTogZS5jbGllbnRZIH0pO1xuICAgICAgaWYgKG9uRHJhZ1N0YXJ0KSB7XG4gICAgICAgIG9uRHJhZ1N0YXJ0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgICBwb3NpdGlvbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgeCwgeSB9ID0gb3B0cy5hbmNob3JQb2ludCh0aGlzLnByb3BzKTtcbiAgICAgIGNvbnN0IHsgZ3JhcGhQcm9wcyB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHsgc2NhbGUsIHNuYXAgfSA9IGdyYXBoUHJvcHM7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFuY2hvclBvaW50OiB7XG4gICAgICAgICAgeCxcbiAgICAgICAgICB5LFxuICAgICAgICB9LFxuICAgICAgICB4OiBkZWx0YUZuKHNjYWxlLngsIHNuYXAueCwgeCksXG4gICAgICAgIHk6IGRlbHRhRm4oc2NhbGUueSwgc25hcC55LCB5KSxcbiAgICAgIH07XG4gICAgfTtcblxuICAgIHRpbnkgPSAoa2V5LCBldmVudCkgPT4ge1xuICAgICAgY29uc3QgSyA9IGtleS50b1VwcGVyQ2FzZSgpO1xuICAgICAgY29uc3QgZW5kID0gZXZlbnRbYGNsaWVudCR7S31gXTtcbiAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5zdGF0ZVtgc3RhcnQke0t9YF07XG4gICAgICBjb25zdCBkZWx0YSA9IE1hdGguYWJzKGVuZCAtIHN0YXJ0KTtcbiAgICAgIGNvbnN0IG91dCA9IGRlbHRhIDwgTWF0aC5hYnModGhpcy5ncmlkKClba2V5XSkgLyAxMDtcbiAgICAgIGxvZygnW3RpbnldIGtleTogJywga2V5LCAnZGVsdGE6ICcsIGRlbHRhLCAnb3V0OiAnLCBvdXQpO1xuICAgICAgcmV0dXJuIG91dDtcbiAgICB9O1xuXG4gICAgZ2V0U2NhbGVkQm91bmRzID0gKCkgPT4ge1xuICAgICAgY29uc3QgYm91bmRzID0gb3B0cy5ib3VuZHModGhpcy5wcm9wcywgdGhpcy5wcm9wcy5ncmFwaFByb3BzKTtcbiAgICAgIGxvZygnYm91bmRzOiAnLCBib3VuZHMpO1xuICAgICAgY29uc3QgZ3JpZCA9IHRoaXMuZ3JpZCgpO1xuXG4gICAgICBjb25zdCBzY2FsZWQgPSB7XG4gICAgICAgIGxlZnQ6IGJvdW5kcy5sZWZ0ICogZ3JpZC54LFxuICAgICAgICByaWdodDogYm91bmRzLnJpZ2h0ICogZ3JpZC54LFxuICAgICAgICB0b3A6IGJvdW5kcy50b3AgKiBncmlkLnksXG4gICAgICAgIGJvdHRvbTogYm91bmRzLmJvdHRvbSAqIGdyaWQueSxcbiAgICAgIH07XG4gICAgICBsb2coJ1tnZXRTY2FsZWRCb3VuZHNdOiAnLCBzY2FsZWQpO1xuICAgICAgcmV0dXJuIHNjYWxlZDtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBjb29yZGluYXRlcyBvZiBhIG1vdXNlIG9yIHRvdWNoIGV2ZW50IHJlbGF0aXZlIHRvIGFuIFNWRyBlbGVtZW50LlxuICAgICAqIFRoaXMgbWV0aG9kIGhhcyBiZWVuIG92ZXJ3cml0dGVuIGZyb20gdGhlIGQzLXNlbGVjdGlvbiBsaWJyYXJ5J3MgY2xpZW50UG9pbnQgdG8gaGFuZGxlIHRvdWNoIGV2ZW50cyBhbmQgaW1wcm92ZSBjbGFyaXR5LlxuICAgICAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZSAtIFRoZSBTVkcgZWxlbWVudC5cbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudCAtIFRoZSBtb3VzZSBvciB0b3VjaCBldmVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IC0gQW4gYXJyYXkgY29udGFpbmluZyB0aGUgY29vcmRpbmF0ZXMgW3gsIHldIHJlbGF0aXZlIHRvIHRoZSBTVkcgZWxlbWVudC5cbiAgICAgKi9cbiAgICBnZXRDbGllbnRQb2ludCA9IChub2RlLCBldmVudCkgPT4ge1xuICAgICAgaWYgKCFub2RlIHx8ICFldmVudCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHN2ZyA9IG5vZGUub3duZXJTVkdFbGVtZW50IHx8IG5vZGU7XG5cbiAgICAgIGlmIChzdmcgJiYgc3ZnLmNyZWF0ZVNWR1BvaW50KSB7XG4gICAgICAgIGxldCBwb2ludCA9IHN2Zy5jcmVhdGVTVkdQb2ludCgpO1xuICAgICAgICAvLyBDaGVjayBpZiBpdCdzIGEgdG91Y2ggZXZlbnQgYW5kIHVzZSB0aGUgZmlyc3QgdG91Y2ggcG9pbnRcbiAgICAgICAgaWYgKGV2ZW50LnRvdWNoZXMgJiYgZXZlbnQudG91Y2hlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc3QgdG91Y2ggPSBldmVudC50b3VjaGVzWzBdO1xuICAgICAgICAgIHBvaW50LnggPSB0b3VjaC5jbGllbnRYO1xuICAgICAgICAgIHBvaW50LnkgPSB0b3VjaC5jbGllbnRZO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEZhbGwgYmFjayB0byBtb3VzZSBldmVudCBwcm9wZXJ0aWVzXG4gICAgICAgICAgcG9pbnQueCA9IGV2ZW50LmNsaWVudFg7XG4gICAgICAgICAgcG9pbnQueSA9IGV2ZW50LmNsaWVudFk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUuZ2V0U2NyZWVuQ1RNKSB7XG4gICAgICAgICAgcG9pbnQgPSBwb2ludC5tYXRyaXhUcmFuc2Zvcm0obm9kZS5nZXRTY3JlZW5DVE0oKS5pbnZlcnNlKCkpO1xuICAgICAgICAgIHJldHVybiBbcG9pbnQueCwgcG9pbnQueV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVjdCA9IG5vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBpZiAocmVjdCkge1xuICAgICAgICByZXR1cm4gW2V2ZW50LmNsaWVudFggLSByZWN0LmxlZnQgLSBub2RlLmNsaWVudExlZnQsIGV2ZW50LmNsaWVudFkgLSByZWN0LnRvcCAtIG5vZGUuY2xpZW50VG9wXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBza2lwRHJhZ091dHNpZGVPZkJvdW5kcyA9IChkZCwgZSwgZ3JhcGhQcm9wcykgPT4ge1xuICAgICAgLy8gSWdub3JlIGRyYWcgbW92ZW1lbnQgb3V0c2lkZSBvZiB0aGUgZG9tYWluIGFuZCByYW5nZS5cbiAgICAgIGNvbnN0IHJvb3ROb2RlID0gZ3JhcGhQcm9wcy5nZXRSb290Tm9kZSgpO1xuICAgICAgY29uc3QgY2xpZW50UG9pbnQgPSB0aGlzLmdldENsaWVudFBvaW50KHJvb3ROb2RlLCBlKTtcblxuICAgICAgaWYgKGNsaWVudFBvaW50ID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0cnVlOyAvLyBJbmRpY2F0ZSB0aGF0IHRoZSBkcmFnIGlzIG91dHNpZGUgb2YgYm91bmRzXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IFtyYXdYLCByYXdZXSA9IGNsaWVudFBvaW50O1xuICAgICAgY29uc3QgeyBzY2FsZSwgZG9tYWluLCByYW5nZSB9ID0gZ3JhcGhQcm9wcztcbiAgICAgIGxldCB4ID0gc2NhbGUueC5pbnZlcnQocmF3WCk7XG4gICAgICBsZXQgeSA9IHNjYWxlLnkuaW52ZXJ0KHJhd1kpO1xuXG4gICAgICBjb25zdCB4T3V0c2lkZSA9IChkZC5kZWx0YVggPiAwICYmIHggPCBkb21haW4ubWluKSB8fCAoZGQuZGVsdGFYIDwgMCAmJiB4ID4gZG9tYWluLm1heCk7XG4gICAgICBjb25zdCB5T3V0c2lkZSA9IChkZC5kZWx0YVkgPiAwICYmIHkgPiByYW5nZS5tYXgpIHx8IChkZC5kZWx0YVkgPCAwICYmIHkgPCByYW5nZS5taW4pO1xuICAgICAgcmV0dXJuIHhPdXRzaWRlIHx8IHlPdXRzaWRlO1xuICAgIH07XG5cbiAgICBvbkRyYWcgPSAoZSwgZGQpID0+IHtcbiAgICAgIGNvbnN0IHsgb25EcmFnLCBncmFwaFByb3BzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoIW9uRHJhZykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGJvdW5kcyA9IHRoaXMuZ2V0U2NhbGVkQm91bmRzKCk7XG5cbiAgICAgIGlmIChkZC5kZWx0YVggPCAwICYmIGRkLmRlbHRhWCA8IGJvdW5kcy5sZWZ0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGRkLmRlbHRhWCA+IDAgJiYgZGQuZGVsdGFYID4gYm91bmRzLnJpZ2h0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGRkLmRlbHRhWSA8IDAgJiYgZGQuZGVsdGFZIDwgYm91bmRzLnRvcCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChkZC5kZWx0YVkgPiAwICYmIGRkLmRlbHRhWSA+IGJvdW5kcy5ib3R0b20pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5za2lwRHJhZ091dHNpZGVPZkJvdW5kcyhkZCwgZSwgZ3JhcGhQcm9wcykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBkcmFnQXJnID0gdGhpcy5hcHBseURlbHRhKHsgeDogZGQuZGVsdGFYLCB5OiBkZC5kZWx0YVkgfSk7XG5cbiAgICAgIGlmIChkcmFnQXJnICE9PSB1bmRlZmluZWQgfHwgZHJhZ0FyZyAhPT0gbnVsbCkge1xuICAgICAgICBvbkRyYWcoZHJhZ0FyZyk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGdldERlbHRhID0gKHBvaW50KSA9PiB7XG4gICAgICBjb25zdCBwb3MgPSB0aGlzLnBvc2l0aW9uKCk7XG5cbiAgICAgIGNvbnN0IHAgPSB7XG4gICAgICAgIHg6IHBvcy54KHBvaW50LngpLFxuICAgICAgICB5OiBwb3MueShwb2ludC55KSxcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiB1dGlscy5nZXREZWx0YShwb3MuYW5jaG9yUG9pbnQsIHApO1xuICAgIH07XG5cbiAgICBhcHBseURlbHRhID0gKHBvaW50KSA9PiB7XG4gICAgICBjb25zdCBkZWx0YSA9IHRoaXMuZ2V0RGVsdGEocG9pbnQpO1xuICAgICAgbG9nKCdbYXBwbHlEZWx0YV0gZGVsdGE6JywgZGVsdGEpO1xuICAgICAgcmV0dXJuIG9wdHMuZnJvbURlbHRhKHRoaXMucHJvcHMsIGRlbHRhKTtcbiAgICB9O1xuXG4gICAgb25TdG9wID0gKGUsIGRkKSA9PiB7XG4gICAgICBsb2coJ1tvblN0b3BdIGRkOicsIGRkKTtcbiAgICAgIGNvbnN0IHsgb25EcmFnU3RvcCwgb25DbGljayB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKG9uRHJhZ1N0b3ApIHtcbiAgICAgICAgb25EcmFnU3RvcCgpO1xuICAgICAgfVxuXG4gICAgICBsb2coJ1tvblN0b3BdIGxhc3RYL1k6ICcsIGRkLmxhc3RYLCBkZC5sYXN0WSk7XG4gICAgICBjb25zdCBpc0NsaWNrID0gdGhpcy50aW55KCd4JywgZSkgJiYgdGhpcy50aW55KCd5JywgZSk7XG5cbiAgICAgIGlmIChpc0NsaWNrKSB7XG4gICAgICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICAgICAgbG9nKCdjYWxsIG9uQ2xpY2snKTtcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgc3RhcnRYOiBudWxsIH0pO1xuICAgICAgICAgIGNvbnN0IHsgZ3JhcGhQcm9wcyB9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgICBjb25zdCB7IHNjYWxlLCBzbmFwIH0gPSBncmFwaFByb3BzO1xuICAgICAgICAgIGNvbnN0IFtyYXdYLCByYXdZXSA9IHBvaW50ZXIoZSwgZS50YXJnZXQpO1xuICAgICAgICAgIGxldCB4ID0gc2NhbGUueC5pbnZlcnQocmF3WCk7XG4gICAgICAgICAgbGV0IHkgPSBzY2FsZS55LmludmVydChyYXdZKTtcbiAgICAgICAgICB4ID0gc25hcC54KHgpO1xuICAgICAgICAgIHkgPSBzbmFwLnkoeSk7XG4gICAgICAgICAgb25DbGljayh7IHgsIHkgfSk7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBzdGFydFg6IG51bGwsIHN0YXJ0WTogbnVsbCB9KTtcbiAgICAgIC8vIHJldHVybiBmYWxzZSB0byBwcmV2ZW50IHN0YXRlIHVwZGF0ZXMgaW4gdGhlIHVuZGVybHlpbmcgZHJhZ2dhYmxlIC0gYSBtb3ZlIHdpbGwgaGF2ZSB0cmlnZ2VyZWQgYW4gdXBkYXRlIGFscmVhZHkuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgZGlzYWJsZWQsIC4uLnJlc3QgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBncmlkID0gdGhpcy5ncmlkKCk7XG5cbiAgICAgIC8vIHByZXZlbnQgdGhlIHRleHQgc2VsZWN0IGljb24gZnJvbSByZW5kZXJpbmcuXG4gICAgICBjb25zdCBvbk1vdXNlRG93biA9IChlKSA9PiBlLm5hdGl2ZUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIC8qKlxuICAgICAgICogVE9ETzogVGhpcyBzaG91bGRudCBiZSBuZWNlc3NhcnksIHdlIHNob3VsZCBiZSBhYmxlIHRvIHVzZSB0aGUgci1kIGNsYXNzbmFtZXMuXG4gICAgICAgKiBCdXQgdGhleSBhcmVuJ3QgYmVpbmcgdW5zZXQuIElmIHdlIGNvbnRpbnVlIHdpdGggdGhpcyBsaWIsIHdlJ2xsIGhhdmUgdG8gZml4IHRoaXMuXG4gICAgICAgKi9cbiAgICAgIGNvbnN0IGlzRHJhZ2dpbmcgPSB0aGlzLnN0YXRlID8gISF0aGlzLnN0YXRlLnN0YXJ0WCA6IGZhbHNlO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RHJhZ2dhYmxlQ29yZVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBvbk1vdXNlRG93bj17b25Nb3VzZURvd259XG4gICAgICAgICAgb25TdGFydD17dGhpcy5vblN0YXJ0fVxuICAgICAgICAgIG9uRHJhZz17dGhpcy5vbkRyYWd9XG4gICAgICAgICAgb25TdG9wPXt0aGlzLm9uU3RvcH1cbiAgICAgICAgICBheGlzPXtvcHRzLmF4aXMgfHwgJ2JvdGgnfVxuICAgICAgICAgIGdyaWQ9e1tncmlkLngsIGdyaWQueV19XG4gICAgICAgID5cbiAgICAgICAgICA8Q29tcCB7Li4ucmVzdH0gZGlzYWJsZWQ9e2Rpc2FibGVkfSBpc0RyYWdnaW5nPXtpc0RyYWdnaW5nfSAvPlxuICAgICAgICA8L0RyYWdnYWJsZUNvcmU+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsVUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFB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
321
+ //# sourceMappingURL=grid-draggable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"grid-draggable.js","names":["_react","_interopRequireDefault","require","_propTypes","_types","_draggable","_debug","utils","_interopRequireWildcard","_lodashEs","_invariant","_d3Selection","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","log","debug","deltaFn","exports","scale","snap","val","delta","normalized","inverted","invert","fixDecimalsArithmetic","toFixed","gridDraggable","opts","Comp","_GridDraggable","invariant","isFunction","fromDelta","bounds","anchorPoint","_React$Component","GridDraggable","props","_this","_classCallCheck2","_defineProperty2","graphProps","domain","range","x","step","y","onDragStart","document","activeElement","blur","setState","startX","clientX","startY","clientY","_opts$anchorPoint","key","event","K","toUpperCase","end","concat","start","state","Math","abs","out","grid","scaled","left","right","top","bottom","node","svg","ownerSVGElement","createSVGPoint","point","touches","length","touch","getScreenCTM","matrixTransform","inverse","rect","getBoundingClientRect","clientLeft","clientTop","dd","rootNode","getRootNode","clientPoint","getClientPoint","_clientPoint","_slicedToArray2","rawX","rawY","xOutside","deltaX","min","max","yOutside","deltaY","_this$props","onDrag","getScaledBounds","skipDragOutsideOfBounds","dragArg","applyDelta","undefined","pos","position","p","getDelta","_this$props2","onDragStop","onClick","lastX","lastY","isClick","tiny","_pointer","pointer","target","_pointer2","_inherits2","_createClass2","value","render","_this$props3","disabled","rest","_objectWithoutProperties2","onMouseDown","nativeEvent","preventDefault","isDragging","createElement","DraggableCore","onStart","onStop","axis","_extends2","React","Component","PropTypes","bool","func","onMove","GraphPropsType","isRequired"],"sources":["../src/grid-draggable.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { GraphPropsType } from './types';\nimport { DraggableCore } from './draggable';\nimport debug from 'debug';\nimport * as utils from './utils';\nimport { isFunction } from 'lodash-es';\nimport invariant from 'invariant';\nimport { pointer } from 'd3-selection';\n\nconst log = debug('pie-lib:plot:grid-draggable');\n\nexport const deltaFn = (scale, snap, val) => (delta) => {\n const normalized = delta + scale(0);\n const inverted = scale.invert(normalized);\n\n const fixDecimalsArithmetic = (snap(val + inverted).toFixed(4) * 1000) / 1000;\n\n return fixDecimalsArithmetic;\n};\n\n/**\n * Creates a Component that is draggable, within a bounded grid.\n * @param {*} opts\n */\nexport const gridDraggable = (opts) => (Comp) => {\n invariant(\n !!opts && isFunction(opts.fromDelta) && isFunction(opts.bounds) && isFunction(opts.anchorPoint),\n 'You must supply an object with: { anchorPoint: Function, fromDelta: Function, bounds: Function }',\n );\n return class GridDraggable extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n onDragStart: PropTypes.func,\n onDrag: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n onMove: PropTypes.func,\n graphProps: GraphPropsType.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n startX: null,\n startY: null,\n };\n }\n\n grid = () => {\n const { graphProps } = this.props;\n const { scale, domain, range } = graphProps;\n return {\n x: scale.x(domain.step) - scale.x(0),\n y: scale.y(range.step) - scale.y(0),\n };\n };\n onStart = (e) => {\n const { onDragStart } = this.props;\n if (document.activeElement) {\n document.activeElement.blur();\n }\n this.setState({ startX: e.clientX, startY: e.clientY });\n if (onDragStart) {\n onDragStart();\n }\n };\n position = () => {\n const { x, y } = opts.anchorPoint(this.props);\n const { graphProps } = this.props;\n const { scale, snap } = graphProps;\n\n return {\n anchorPoint: {\n x,\n y,\n },\n x: deltaFn(scale.x, snap.x, x),\n y: deltaFn(scale.y, snap.y, y),\n };\n };\n\n tiny = (key, event) => {\n const K = key.toUpperCase();\n const end = event[`client${K}`];\n const start = this.state[`start${K}`];\n const delta = Math.abs(end - start);\n const out = delta < Math.abs(this.grid()[key]) / 10;\n log('[tiny] key: ', key, 'delta: ', delta, 'out: ', out);\n return out;\n };\n\n getScaledBounds = () => {\n const bounds = opts.bounds(this.props, this.props.graphProps);\n log('bounds: ', bounds);\n const grid = this.grid();\n\n const scaled = {\n left: bounds.left * grid.x,\n right: bounds.right * grid.x,\n top: bounds.top * grid.y,\n bottom: bounds.bottom * grid.y,\n };\n log('[getScaledBounds]: ', scaled);\n return scaled;\n };\n\n /**\n * Retrieves the coordinates of a mouse or touch event relative to an SVG element.\n * This method has been overwritten from the d3-selection library's clientPoint to handle touch events and improve clarity.\n * @param {Element} node - The SVG element.\n * @param {Event} event - The mouse or touch event.\n * @returns {Array} - An array containing the coordinates [x, y] relative to the SVG element.\n */\n getClientPoint = (node, event) => {\n if (!node || !event) {\n return null;\n }\n const svg = node.ownerSVGElement || node;\n\n if (svg && svg.createSVGPoint) {\n let point = svg.createSVGPoint();\n // Check if it's a touch event and use the first touch point\n if (event.touches && event.touches.length > 0) {\n const touch = event.touches[0];\n point.x = touch.clientX;\n point.y = touch.clientY;\n } else {\n // Fall back to mouse event properties\n point.x = event.clientX;\n point.y = event.clientY;\n }\n if (node.getScreenCTM) {\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n } else {\n return null;\n }\n }\n\n const rect = node.getBoundingClientRect();\n if (rect) {\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n } else {\n return null;\n }\n };\n\n skipDragOutsideOfBounds = (dd, e, graphProps) => {\n // Ignore drag movement outside of the domain and range.\n const rootNode = graphProps.getRootNode();\n const clientPoint = this.getClientPoint(rootNode, e);\n\n if (clientPoint === null) {\n return true; // Indicate that the drag is outside of bounds\n }\n\n const [rawX, rawY] = clientPoint;\n const { scale, domain, range } = graphProps;\n let x = scale.x.invert(rawX);\n let y = scale.y.invert(rawY);\n\n const xOutside = (dd.deltaX > 0 && x < domain.min) || (dd.deltaX < 0 && x > domain.max);\n const yOutside = (dd.deltaY > 0 && y > range.max) || (dd.deltaY < 0 && y < range.min);\n return xOutside || yOutside;\n };\n\n onDrag = (e, dd) => {\n const { onDrag, graphProps } = this.props;\n\n if (!onDrag) {\n return;\n }\n\n const bounds = this.getScaledBounds();\n\n if (dd.deltaX < 0 && dd.deltaX < bounds.left) {\n return;\n }\n\n if (dd.deltaX > 0 && dd.deltaX > bounds.right) {\n return;\n }\n\n if (dd.deltaY < 0 && dd.deltaY < bounds.top) {\n return;\n }\n\n if (dd.deltaY > 0 && dd.deltaY > bounds.bottom) {\n return;\n }\n\n if (this.skipDragOutsideOfBounds(dd, e, graphProps)) {\n return;\n }\n\n const dragArg = this.applyDelta({ x: dd.deltaX, y: dd.deltaY });\n\n if (dragArg !== undefined || dragArg !== null) {\n onDrag(dragArg);\n }\n };\n\n getDelta = (point) => {\n const pos = this.position();\n\n const p = {\n x: pos.x(point.x),\n y: pos.y(point.y),\n };\n\n return utils.getDelta(pos.anchorPoint, p);\n };\n\n applyDelta = (point) => {\n const delta = this.getDelta(point);\n log('[applyDelta] delta:', delta);\n return opts.fromDelta(this.props, delta);\n };\n\n onStop = (e, dd) => {\n log('[onStop] dd:', dd);\n const { onDragStop, onClick } = this.props;\n\n if (onDragStop) {\n onDragStop();\n }\n\n log('[onStop] lastX/Y: ', dd.lastX, dd.lastY);\n const isClick = this.tiny('x', e) && this.tiny('y', e);\n\n if (isClick) {\n if (onClick) {\n log('call onClick');\n this.setState({ startX: null });\n const { graphProps } = this.props;\n const { scale, snap } = graphProps;\n const [rawX, rawY] = pointer(e, e.target);\n let x = scale.x.invert(rawX);\n let y = scale.y.invert(rawY);\n x = snap.x(x);\n y = snap.y(y);\n onClick({ x, y });\n return false;\n }\n }\n\n this.setState({ startX: null, startY: null });\n // return false to prevent state updates in the underlying draggable - a move will have triggered an update already.\n return false;\n };\n\n render() {\n const { disabled, ...rest } = this.props;\n const grid = this.grid();\n\n // prevent the text select icon from rendering.\n const onMouseDown = (e) => e.nativeEvent.preventDefault();\n\n /**\n * TODO: This shouldnt be necessary, we should be able to use the r-d classnames.\n * But they aren't being unset. If we continue with this lib, we'll have to fix this.\n */\n const isDragging = this.state ? !!this.state.startX : false;\n\n return (\n <DraggableCore\n disabled={disabled}\n onMouseDown={onMouseDown}\n onStart={this.onStart}\n onDrag={this.onDrag}\n onStop={this.onStop}\n axis={opts.axis || 'both'}\n grid={[grid.x, grid.y]}\n >\n <Comp {...rest} disabled={disabled} isDragging={isDragging} />\n </DraggableCore>\n );\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"grid-draggable.js","names":["_react","_interopRequireDefault","require","_propTypes","_types","_draggable","_debug","utils","_interopRequireWildcard","_lodashEs","_invariant","_d3Selection","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","Boolean","prototype","valueOf","log","debug","deltaFn","exports","scale","snap","val","delta","normalized","inverted","invert","fixDecimalsArithmetic","toFixed","gridDraggable","opts","Comp","_GridDraggable","invariant","isFunction","fromDelta","bounds","anchorPoint","_React$Component","GridDraggable","props","_this","_classCallCheck2","graphProps","domain","range","x","step","y","onDragStart","document","activeElement","blur","setState","startX","clientX","startY","clientY","_opts$anchorPoint","key","event","K","toUpperCase","end","concat","start","state","Math","abs","out","grid","scaled","left","right","top","bottom","buffer","min","node","svg","ownerSVGElement","createSVGPoint","point","touches","touch","getScreenCTM","matrixTransform","inverse","rect","getBoundingClientRect","clientLeft","clientTop","dd","rootNode","getRootNode","clientPoint","getClientPoint","_clientPoint","_slicedToArray2","rawX","rawY","xOutside","deltaX","max","yOutside","deltaY","_this$props","onDrag","getScaledBounds","skipDragOutsideOfBounds","dragArg","applyDelta","undefined","pos","position","p","getDelta","_this$props2","onDragStop","onClick","lastX","lastY","isClick","tiny","_pointer","pointer","target","_pointer2","_inherits2","_createClass2","value","render","_this$props3","disabled","rest","_objectWithoutProperties2","onMouseDown","nativeEvent","preventDefault","isDragging","createElement","DraggableCore","onStart","onStop","axis","_extends2","React","Component","PropTypes","bool","func","onMove","GraphPropsType","isRequired"],"sources":["../src/grid-draggable.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { GraphPropsType } from './types';\nimport { DraggableCore } from './draggable';\nimport debug from 'debug';\nimport * as utils from './utils';\nimport { isFunction } from 'lodash-es';\nimport invariant from 'invariant';\nimport { pointer } from 'd3-selection';\n\nconst log = debug('pie-lib:plot:grid-draggable');\n\nexport const deltaFn = (scale, snap, val) => (delta) => {\n const normalized = delta + scale(0);\n const inverted = scale.invert(normalized);\n\n const fixDecimalsArithmetic = (snap(val + inverted).toFixed(4) * 1000) / 1000;\n\n return fixDecimalsArithmetic;\n};\n\n/**\n * Creates a Component that is draggable, within a bounded grid.\n * @param {*} opts\n */\nexport const gridDraggable = (opts) => (Comp) => {\n invariant(\n !!opts && isFunction(opts.fromDelta) && isFunction(opts.bounds) && isFunction(opts.anchorPoint),\n 'You must supply an object with: { anchorPoint: Function, fromDelta: Function, bounds: Function }',\n );\n return class GridDraggable extends React.Component {\n static propTypes = {\n disabled: PropTypes.bool,\n onDragStart: PropTypes.func,\n onDrag: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n onMove: PropTypes.func,\n graphProps: GraphPropsType.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n startX: null,\n startY: null,\n };\n }\n\n grid = () => {\n const { graphProps } = this.props;\n const { scale, domain, range } = graphProps;\n return {\n x: scale.x(domain.step) - scale.x(0),\n y: scale.y(range.step) - scale.y(0),\n };\n };\n onStart = (e) => {\n const { onDragStart } = this.props;\n if (document.activeElement) {\n document.activeElement.blur();\n }\n this.setState({ startX: e.clientX, startY: e.clientY });\n if (onDragStart) {\n onDragStart();\n }\n };\n position = () => {\n const { x, y } = opts.anchorPoint(this.props);\n const { graphProps } = this.props;\n const { scale, snap } = graphProps;\n\n return {\n anchorPoint: {\n x,\n y,\n },\n x: deltaFn(scale.x, snap.x, x),\n y: deltaFn(scale.y, snap.y, y),\n };\n };\n\n tiny = (key, event) => {\n const K = key.toUpperCase();\n const end = event[`client${K}`];\n const start = this.state[`start${K}`];\n const delta = Math.abs(end - start);\n const out = delta < Math.abs(this.grid()[key]) / 10;\n log('[tiny] key: ', key, 'delta: ', delta, 'out: ', out);\n return out;\n };\n\n getScaledBounds = () => {\n const bounds = opts.bounds(this.props, this.props.graphProps);\n log('bounds: ', bounds);\n const grid = this.grid();\n\n let scaled = {\n left: bounds.left * grid.x,\n right: bounds.right * grid.x,\n top: bounds.top * grid.y,\n bottom: bounds.bottom * grid.y,\n };\n\n // Normalize Y bounds so that:\n // - top is <= 0 (negative or zero, allowing upward movement)\n // - bottom is >= 0 (positive or zero, allowing downward movement)\n // This compensates for the inverted Y scale (range.max -> 0, range.min -> size.height)\n // Add a small buffer (1 grid unit) to ensure we can reach exact boundaries\n const buffer = Math.abs(grid.y);\n scaled = {\n ...scaled,\n top: Math.min(0, scaled.top) - buffer, // More negative to allow reaching max\n bottom: Math.abs(scaled.bottom) + buffer, // More positive to allow reaching min\n };\n\n log('[getScaledBounds]: ', scaled);\n return scaled;\n };\n\n /**\n * Retrieves the coordinates of a mouse or touch event relative to an SVG element.\n * This method has been overwritten from the d3-selection library's clientPoint to handle touch events and improve clarity.\n * @param {Element} node - The SVG element.\n * @param {Event} event - The mouse or touch event.\n * @returns {Array} - An array containing the coordinates [x, y] relative to the SVG element.\n */\n getClientPoint = (node, event) => {\n if (!node || !event) {\n return null;\n }\n const svg = node.ownerSVGElement || node;\n\n if (svg && svg.createSVGPoint) {\n let point = svg.createSVGPoint();\n // Check if it's a touch event and use the first touch point\n if (event.touches && event.touches.length > 0) {\n const touch = event.touches[0];\n point.x = touch.clientX;\n point.y = touch.clientY;\n } else {\n // Fall back to mouse event properties\n point.x = event.clientX;\n point.y = event.clientY;\n }\n if (node.getScreenCTM) {\n point = point.matrixTransform(node.getScreenCTM().inverse());\n return [point.x, point.y];\n } else {\n return null;\n }\n }\n\n const rect = node.getBoundingClientRect();\n if (rect) {\n return [event.clientX - rect.left - node.clientLeft, event.clientY - rect.top - node.clientTop];\n } else {\n return null;\n }\n };\n\n skipDragOutsideOfBounds = (dd, e, graphProps) => {\n // Ignore drag movement outside of the domain and range.\n const rootNode = graphProps.getRootNode();\n const clientPoint = this.getClientPoint(rootNode, e);\n\n if (clientPoint === null) {\n return true; // Indicate that the drag is outside of bounds\n }\n\n const [rawX, rawY] = clientPoint;\n const { scale, domain, range } = graphProps;\n let x = scale.x.invert(rawX);\n let y = scale.y.invert(rawY);\n\n const xOutside = (dd.deltaX > 0 && x < domain.min) || (dd.deltaX < 0 && x > domain.max);\n const yOutside = (dd.deltaY > 0 && y > range.max) || (dd.deltaY < 0 && y < range.min);\n return xOutside || yOutside;\n };\n\n onDrag = (e, dd) => {\n const { onDrag, graphProps } = this.props;\n\n if (!onDrag) {\n return;\n }\n\n const bounds = this.getScaledBounds();\n\n if (dd.deltaX < 0 && dd.deltaX < bounds.left) {\n return;\n }\n\n if (dd.deltaX > 0 && dd.deltaX > bounds.right) {\n return;\n }\n\n if (dd.deltaY < 0 && dd.deltaY < bounds.top) {\n return;\n }\n\n if (dd.deltaY > 0 && dd.deltaY > bounds.bottom) {\n return;\n }\n\n if (this.skipDragOutsideOfBounds(dd, e, graphProps)) {\n return;\n }\n\n const dragArg = this.applyDelta({ x: dd.deltaX, y: dd.deltaY });\n\n if (dragArg !== undefined || dragArg !== null) {\n onDrag(dragArg);\n }\n };\n\n getDelta = (point) => {\n const pos = this.position();\n\n const p = {\n x: pos.x(point.x),\n y: pos.y(point.y),\n };\n\n return utils.getDelta(pos.anchorPoint, p);\n };\n\n applyDelta = (point) => {\n const delta = this.getDelta(point);\n log('[applyDelta] delta:', delta);\n return opts.fromDelta(this.props, delta);\n };\n\n onStop = (e, dd) => {\n log('[onStop] dd:', dd);\n const { onDragStop, onClick } = this.props;\n\n if (onDragStop) {\n onDragStop();\n }\n\n log('[onStop] lastX/Y: ', dd.lastX, dd.lastY);\n const isClick = this.tiny('x', e) && this.tiny('y', e);\n\n if (isClick) {\n if (onClick) {\n log('call onClick');\n this.setState({ startX: null });\n const { graphProps } = this.props;\n const { scale, snap } = graphProps;\n const [rawX, rawY] = pointer(e, e.target);\n let x = scale.x.invert(rawX);\n let y = scale.y.invert(rawY);\n x = snap.x(x);\n y = snap.y(y);\n onClick({ x, y });\n return false;\n }\n }\n\n this.setState({ startX: null, startY: null });\n // return false to prevent state updates in the underlying draggable - a move will have triggered an update already.\n return false;\n };\n\n render() {\n const { disabled, ...rest } = this.props;\n const grid = this.grid();\n\n // prevent the text select icon from rendering.\n const onMouseDown = (e) => e.nativeEvent.preventDefault();\n\n /**\n * TODO: This shouldnt be necessary, we should be able to use the r-d classnames.\n * But they aren't being unset. If we continue with this lib, we'll have to fix this.\n */\n const isDragging = this.state ? !!this.state.startX : false;\n\n return (\n <DraggableCore\n disabled={disabled}\n onMouseDown={onMouseDown}\n onStart={this.onStart}\n onDrag={this.onDrag}\n onStop={this.onStop}\n axis={opts.axis || 'both'}\n grid={[grid.x, grid.y]}\n >\n <Comp {...rest} disabled={disabled} isDragging={isDragging} />\n </DraggableCore>\n );\n }\n };\n};\n"],"mappings":"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","ignoreList":[]}
package/lib/index.js CHANGED
@@ -41,4 +41,4 @@ var types = _interopRequireWildcard(require("./types"));
41
41
  exports.types = types;
42
42
  var _graphProps = require("./graph-props");
43
43
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
44
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcm9vdCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2RyYWdnYWJsZSIsIl9ncmlkRHJhZ2dhYmxlIiwidXRpbHMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsImV4cG9ydHMiLCJ0cmlnIiwidHlwZXMiLCJfZ3JhcGhQcm9wcyIsImUiLCJ0IiwiV2Vha01hcCIsInIiLCJuIiwiX19lc01vZHVsZSIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJzZXQiLCJfdCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIl0sInNvdXJjZXMiOlsiLi4vc3JjL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSb290IGZyb20gJy4vcm9vdCc7XG5pbXBvcnQgRHJhZ2dhYmxlIGZyb20gJy4vZHJhZ2dhYmxlJztcbmltcG9ydCB7IGdyaWREcmFnZ2FibGUgfSBmcm9tICcuL2dyaWQtZHJhZ2dhYmxlJztcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0ICogYXMgdHJpZyBmcm9tICcuL3RyaWcnO1xuaW1wb3J0ICogYXMgdHlwZXMgZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGUgYXMgY3JlYXRlR3JhcGhQcm9wcyB9IGZyb20gJy4vZ3JhcGgtcHJvcHMnO1xuXG5leHBvcnQgeyBSb290LCBEcmFnZ2FibGUsIGdyaWREcmFnZ2FibGUsIHV0aWxzLCB0cmlnLCB0eXBlcywgY3JlYXRlR3JhcGhQcm9wcyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLElBQUFBLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLGNBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUMsdUJBQUEsQ0FBQUosT0FBQTtBQUFpQ0ssT0FBQSxDQUFBRixLQUFBLEdBQUFBLEtBQUE7QUFDakMsSUFBQUcsSUFBQSxHQUFBRix1QkFBQSxDQUFBSixPQUFBO0FBQStCSyxPQUFBLENBQUFDLElBQUEsR0FBQUEsSUFBQTtBQUMvQixJQUFBQyxLQUFBLEdBQUFILHVCQUFBLENBQUFKLE9BQUE7QUFBaUNLLE9BQUEsQ0FBQUUsS0FBQSxHQUFBQSxLQUFBO0FBQ2pDLElBQUFDLFdBQUEsR0FBQVIsT0FBQTtBQUEyRCxTQUFBSSx3QkFBQUssQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQVAsdUJBQUEsWUFBQUEsd0JBQUFLLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxtQkFBQVQsQ0FBQSxpQkFBQUEsQ0FBQSxnQkFBQVUsT0FBQSxDQUFBVixDQUFBLDBCQUFBQSxDQUFBLFNBQUFRLENBQUEsTUFBQUYsQ0FBQSxHQUFBTCxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRyxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTSxDQUFBLENBQUFNLEdBQUEsQ0FBQVosQ0FBQSxHQUFBTSxDQUFBLENBQUFPLEdBQUEsQ0FBQWIsQ0FBQSxFQUFBUSxDQUFBLGNBQUFNLEVBQUEsSUFBQWQsQ0FBQSxnQkFBQWMsRUFBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLElBQUFELENBQUEsR0FBQVcsTUFBQSxDQUFBQyxjQUFBLEtBQUFELE1BQUEsQ0FBQUUsd0JBQUEsQ0FBQW5CLENBQUEsRUFBQWMsRUFBQSxPQUFBUCxDQUFBLENBQUFLLEdBQUEsSUFBQUwsQ0FBQSxDQUFBTSxHQUFBLElBQUFQLENBQUEsQ0FBQUUsQ0FBQSxFQUFBTSxFQUFBLEVBQUFQLENBQUEsSUFBQUMsQ0FBQSxDQUFBTSxFQUFBLElBQUFkLENBQUEsQ0FBQWMsRUFBQSxXQUFBTixDQUFBLEtBQUFSLENBQUEsRUFBQUMsQ0FBQSIsImlnbm9yZUxpc3QiOltdfQ==
44
+ //# sourceMappingURL=index.js.map
package/lib/label.js CHANGED
@@ -147,4 +147,4 @@ LabelComponent.propTypes = {
147
147
  titleHeight: _propTypes["default"].number
148
148
  };
149
149
  var _default = exports["default"] = LabelComponent;
150
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcmVuZGVyVWkiLCJfZWRpdGFibGVIdG1sVGlwVGFwIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9wcm9wVHlwZXMiLCJfdXRpbHMiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwic3R5bGVzIiwiYXhpc0xhYmVsIiwiZm9udFNpemUiLCJ0ZXh0QWxpZ24iLCJtYXJnaW4iLCJwYWRkaW5nIiwiY2hhcnRMYWJlbCIsImRpc2FibGVkTGFiZWwiLCJwb2ludGVyRXZlbnRzIiwid2lkdGgiLCJlZGl0TGFiZWwiLCJwb3NpdGlvbiIsImJhY2tncm91bmRDb2xvciIsImJvcmRlclJhZGl1cyIsImJveFNoYWRvdyIsInpJbmRleCIsInJvdGF0ZUxlZnRMYWJlbCIsInRyYW5zZm9ybSIsInRyYW5zZm9ybU9yaWdpbiIsInJvdGF0ZVJpZ2h0TGFiZWwiLCJjdXN0b21Cb3R0b20iLCJkaXNwbGF5Tm9uZSIsImRpc3BsYXkiLCJMYWJlbENvbXBvbmVudCIsInByb3BzIiwiZ3JhcGhIZWlnaHQiLCJncmFwaFdpZHRoIiwiaXNDaGFydEJvdHRvbUxhYmVsIiwiaXNEZWZpbmVDaGFydEJvdHRvbUxhYmVsIiwiaXNDaGFydExlZnRMYWJlbCIsImlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWwiLCJwbGFjZWhvbGRlciIsInRleHQiLCJzaWRlIiwib25DaGFuZ2UiLCJfcHJvcHMkbWF0aE1sT3B0aW9ucyIsIm1hdGhNbE9wdGlvbnMiLCJjaGFyYWN0ZXJzTGltaXQiLCJ0aXRsZUhlaWdodCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInJvdGF0ZWRUb0hvcml6b250YWwiLCJzZXRSb3RhdGVkVG9Ib3Jpem9udGFsIiwiYWN0aXZlUGx1Z2lucyIsImlzQ2hhcnQiLCJjaGFydFZhbHVlIiwiZGVmYXVsdFN0eWxlIiwidG9wIiwiY29uY2F0IiwibGVmdCIsInJvdGF0ZWRTdHlsZSIsInJvdGF0ZUxhYmVsIiwiZXhpdEVkaXRNb2RlIiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwiX2RvY3VtZW50JGFjdGl2ZUVsZW1lIiwiX2RvY3VtZW50JGFjdGl2ZUVsZW1lMiIsImRvY3VtZW50IiwiYWN0aXZlRWxlbWVudCIsImJsdXIiLCJjcmVhdGVFbGVtZW50IiwiUmVhZGFibGUiLCJvbkNsaWNrIiwic3R5bGUiLCJpc0VtcHR5U3RyaW5nIiwiZXh0cmFjdFRleHRGcm9tSFRNTCIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwibWFya3VwIiwidG9vbGJhck9wdHMiLCJub1BhZGRpbmciLCJub0JvcmRlciIsImRpc2FibGVTY3JvbGxiYXIiLCJvbkRvbmUiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJib29sIiwibnVtYmVyIiwic3RyaW5nIiwiZnVuYyIsIm9iamVjdCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9sYWJlbC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgUmVhZGFibGUgfSBmcm9tICdAcGllLWxpYi9yZW5kZXItdWknO1xuaW1wb3J0IEVkaXRhYmxlSHRtbCBmcm9tICdAcGllLWxpYi9lZGl0YWJsZS1odG1sLXRpcC10YXAnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IGV4dHJhY3RUZXh0RnJvbUhUTUwsIGlzRW1wdHlTdHJpbmcgfSBmcm9tICcuL3V0aWxzJztcblxuY29uc3Qgc3R5bGVzID0ge1xuICBheGlzTGFiZWw6IHtcbiAgICBmb250U2l6ZTogMTIsXG4gICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICBtYXJnaW46IDQsXG4gICAgcGFkZGluZzogJzRweCAwJyxcbiAgfSxcbiAgY2hhcnRMYWJlbDoge1xuICAgIGZvbnRTaXplOiAxNixcbiAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgIG1hcmdpbjogNCxcbiAgICBwYWRkaW5nOiAnNHB4IDAnLFxuICB9LFxuICBkaXNhYmxlZExhYmVsOiB7XG4gICAgcG9pbnRlckV2ZW50czogJ25vbmUnLFxuICAgIHdpZHRoOiAnMTAwJScsXG4gIH0sXG4gIGVkaXRMYWJlbDoge1xuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgIGJhY2tncm91bmRDb2xvcjogJ3doaXRlJyxcbiAgICBib3JkZXJSYWRpdXM6IDQsXG4gICAgYm94U2hhZG93OiAnMHB4IDVweCA4cHggcmdiYSgwLDAsMCwwLjE1KScsXG4gICAgekluZGV4OiAxMCxcbiAgfSxcbiAgcm90YXRlTGVmdExhYmVsOiB7XG4gICAgdHJhbnNmb3JtOiAncm90YXRlKC05MGRlZyknLFxuICAgIHRyYW5zZm9ybU9yaWdpbjogJzAgMCcsXG4gICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gIH0sXG4gIHJvdGF0ZVJpZ2h0TGFiZWw6IHtcbiAgICB0cmFuc2Zvcm06ICdyb3RhdGUoOTBkZWcpJyxcbiAgICB0cmFuc2Zvcm1PcmlnaW46ICcwIDAnLFxuICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICB9LFxuICBjdXN0b21Cb3R0b206IHtcbiAgICBwb3NpdGlvbjogJ2Fic29sdXRlJyxcbiAgfSxcbiAgZGlzcGxheU5vbmU6IHtcbiAgICBkaXNwbGF5OiAnbm9uZScsXG4gIH0sXG59O1xuXG5jb25zdCBMYWJlbENvbXBvbmVudCA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgZGlzYWJsZWRMYWJlbCxcbiAgICBncmFwaEhlaWdodCxcbiAgICBncmFwaFdpZHRoLFxuICAgIGlzQ2hhcnRCb3R0b21MYWJlbCxcbiAgICBpc0RlZmluZUNoYXJ0Qm90dG9tTGFiZWwsXG4gICAgaXNDaGFydExlZnRMYWJlbCxcbiAgICBpc0RlZmluZUNoYXJ0TGVmdExhYmVsLFxuICAgIHBsYWNlaG9sZGVyLFxuICAgIHRleHQsXG4gICAgc2lkZSxcbiAgICBvbkNoYW5nZSxcbiAgICBtYXRoTWxPcHRpb25zID0ge30sXG4gICAgY2hhcmFjdGVyc0xpbWl0LFxuICAgIHRpdGxlSGVpZ2h0LFxuICB9ID0gcHJvcHM7XG5cbiAgY29uc3QgW3JvdGF0ZWRUb0hvcml6b250YWwsIHNldFJvdGF0ZWRUb0hvcml6b250YWxdID0gdXNlU3RhdGUoZmFsc2UpO1xuXG4gIGNvbnN0IGFjdGl2ZVBsdWdpbnMgPSBbJ2JvbGQnLCAnaXRhbGljJywgJ3VuZGVybGluZScsICdzdHJpa2V0aHJvdWdoJywgJ21hdGgnXTtcblxuICBjb25zdCBpc0NoYXJ0ID0gaXNDaGFydEJvdHRvbUxhYmVsIHx8IGlzQ2hhcnRMZWZ0TGFiZWwgfHwgaXNEZWZpbmVDaGFydEJvdHRvbUxhYmVsIHx8IGlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWw7XG5cbiAgY29uc3QgY2hhcnRWYWx1ZSA9IHNpZGUgPT09ICdsZWZ0JyAmJiBpc0RlZmluZUNoYXJ0TGVmdExhYmVsICYmIGdyYXBoSGVpZ2h0IC0gMjIwO1xuXG4gIGNvbnN0IGRlZmF1bHRTdHlsZSA9IHtcbiAgICB3aWR0aDogY2hhcnRWYWx1ZSB8fCAoc2lkZSA9PT0gJ2xlZnQnIHx8IHNpZGUgPT09ICdyaWdodCcgPyBncmFwaEhlaWdodCAtIDggOiBncmFwaFdpZHRoIC0gOCksXG4gICAgdG9wOlxuICAgICAgY2hhcnRWYWx1ZSB8fFxuICAgICAgKGlzQ2hhcnRMZWZ0TGFiZWwgJiYgYCR7Z3JhcGhIZWlnaHQgLSA3MH1weGApIHx8XG4gICAgICAoc2lkZSA9PT0gJ2xlZnQnICYmIGAke2dyYXBoSGVpZ2h0IC0gOH1weGApIHx8XG4gICAgICAoaXNDaGFydEJvdHRvbUxhYmVsICYmIGAke2dyYXBoSGVpZ2h0IC0gNjAgKyB0aXRsZUhlaWdodH1weGApIHx8XG4gICAgICAoc2lkZSA9PT0gJ2JvdHRvbScgJiYgYCR7Z3JhcGhIZWlnaHQgLSAxMjAgKyB0aXRsZUhlaWdodH1weGApIHx8XG4gICAgICAwLFxuICAgIGxlZnQ6XG4gICAgICAoc2lkZSA9PT0gJ3JpZ2h0JyAmJiBgJHtncmFwaFdpZHRoIC0gOH1weGApIHx8XG4gICAgICAoKGlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWwgfHwgaXNEZWZpbmVDaGFydEJvdHRvbUxhYmVsKSAmJiAnNDBweCcpIHx8XG4gICAgICAoaXNDaGFydEJvdHRvbUxhYmVsICYmICctMTBweCcpIHx8XG4gICAgICAwLFxuICB9O1xuXG4gIGNvbnN0IHJvdGF0ZWRTdHlsZSA9IHtcbiAgICB3aWR0aDogZ3JhcGhXaWR0aCAtIDgsXG4gICAgdG9wOiBzaWRlID09PSAncmlnaHQnID8gYCR7Z3JhcGhIZWlnaHQgLSAyMn1weGAgOiAwLFxuICAgIGxlZnQ6IDAsXG4gIH07XG5cbiAgY29uc3Qgcm90YXRlTGFiZWwgPSAoKSA9PiB7XG4gICAgaWYgKCFkaXNhYmxlZExhYmVsICYmIChzaWRlID09PSAnbGVmdCcgfHwgc2lkZSA9PT0gJ3JpZ2h0JykpIHtcbiAgICAgIHNldFJvdGF0ZWRUb0hvcml6b250YWwodHJ1ZSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGV4aXRFZGl0TW9kZSA9ICgpID0+IHtcbiAgICBzZXRSb3RhdGVkVG9Ib3Jpem9udGFsKGZhbHNlKTtcblxuICAgIC8vIGJsdXIgYWN0aXZlIGVsZW1lbnQgYmVjYXVzZSByb3RhdGlvbiBpcyBjYXVzaW5nIGVkaXRpbmcgaXNzdWVzIG9uIGV4aXRcbiAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudD8uYmx1cj8uKCk7XG4gICAgfSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8UmVhZGFibGUgZmFsc2U+XG4gICAgICA8ZGl2XG4gICAgICAgIG9uQ2xpY2s9e3JvdGF0ZUxhYmVsfVxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIC4uLihyb3RhdGVkVG9Ib3Jpem9udGFsID8gcm90YXRlZFN0eWxlIDogZGVmYXVsdFN0eWxlKSxcbiAgICAgICAgICAuLi4oaXNDaGFydCA/IHN0eWxlcy5jaGFydExhYmVsIDogc3R5bGVzLmF4aXNMYWJlbCksXG4gICAgICAgICAgLi4uKHNpZGUgPT09ICdsZWZ0JyAmJiAhcm90YXRlZFRvSG9yaXpvbnRhbCA/IHN0eWxlcy5yb3RhdGVMZWZ0TGFiZWwgOiB7fSksXG4gICAgICAgICAgLi4uKHNpZGUgPT09ICdyaWdodCcgJiYgIXJvdGF0ZWRUb0hvcml6b250YWwgPyBzdHlsZXMucm90YXRlUmlnaHRMYWJlbCA6IHt9KSxcbiAgICAgICAgICAuLi4ocm90YXRlZFRvSG9yaXpvbnRhbCA/IHN0eWxlcy5lZGl0TGFiZWwgOiB7fSksXG4gICAgICAgICAgLi4uKGlzQ2hhcnRCb3R0b21MYWJlbCB8fCBpc0RlZmluZUNoYXJ0Qm90dG9tTGFiZWwgPyBzdHlsZXMuY3VzdG9tQm90dG9tIDoge30pLFxuICAgICAgICAgIC4uLihkaXNhYmxlZExhYmVsICYmICFpc0NoYXJ0ICYmIGlzRW1wdHlTdHJpbmcoZXh0cmFjdFRleHRGcm9tSFRNTCh0ZXh0KSkgJiYgc3R5bGVzLmRpc3BsYXlOb25lKSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge2Rpc2FibGVkTGFiZWwgPyAoXG4gICAgICAgICAgPGRpdiBzdHlsZT17c3R5bGVzLmRpc2FibGVkTGFiZWx9IGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogdGV4dCB8fCAnJyB9fSAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICAgIG1hcmt1cD17dGV4dCB8fCAnJ31cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXshZGlzYWJsZWRMYWJlbCAmJiBwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIHRvb2xiYXJPcHRzPXt7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBzaWRlID09PSAnYm90dG9tJyA/ICd0b3AnIDogJ2JvdHRvbScsXG4gICAgICAgICAgICAgIG5vUGFkZGluZzogdHJ1ZSxcbiAgICAgICAgICAgICAgbm9Cb3JkZXI6IHRydWUsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgZGlzYWJsZVNjcm9sbGJhclxuICAgICAgICAgICAgYWN0aXZlUGx1Z2lucz17YWN0aXZlUGx1Z2luc31cbiAgICAgICAgICAgIG9uRG9uZT17ZXhpdEVkaXRNb2RlfVxuICAgICAgICAgICAgbWF0aE1sT3B0aW9ucz17bWF0aE1sT3B0aW9uc31cbiAgICAgICAgICAgIGNoYXJhY3RlcnNMaW1pdD17Y2hhcmFjdGVyc0xpbWl0fVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICA8L1JlYWRhYmxlPlxuICApO1xufTtcblxuTGFiZWxDb21wb25lbnQucHJvcFR5cGVzID0ge1xuICBkaXNhYmxlZExhYmVsOiBQcm9wVHlwZXMuYm9vbCxcbiAgZ3JhcGhIZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIsXG4gIGdyYXBoV2lkdGg6IFByb3BUeXBlcy5udW1iZXIsXG4gIGlzQ2hhcnRCb3R0b21MYWJlbDogUHJvcFR5cGVzLmJvb2wsXG4gIGlzRGVmaW5lQ2hhcnRCb3R0b21MYWJlbDogUHJvcFR5cGVzLmJvb2wsXG4gIGlzQ2hhcnRMZWZ0TGFiZWw6IFByb3BUeXBlcy5ib29sLFxuICBpc0RlZmluZUNoYXJ0TGVmdExhYmVsOiBQcm9wVHlwZXMuYm9vbCxcbiAgcGxhY2Vob2xkZXI6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHRleHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHNpZGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgbWF0aE1sT3B0aW9uczogUHJvcFR5cGVzLm9iamVjdCxcbiAgY2hhcmFjdGVyc0xpbWl0OiBQcm9wVHlwZXMubnVtYmVyLFxuICB0aXRsZUhlaWdodDogUHJvcFR5cGVzLm51bWJlcixcbn07XG5cbmV4cG9ydCBkZWZhdWx0IExhYmVsQ29tcG9uZW50O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsU0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsbUJBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLFVBQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFLLE1BQUEsR0FBQUwsT0FBQTtBQUE2RCxTQUFBRCx3QkFBQU8sQ0FBQSxFQUFBQyxDQUFBLDZCQUFBQyxPQUFBLE1BQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQVQsdUJBQUEsWUFBQUEsd0JBQUFPLENBQUEsRUFBQUMsQ0FBQSxTQUFBQSxDQUFBLElBQUFELENBQUEsSUFBQUEsQ0FBQSxDQUFBSyxVQUFBLFNBQUFMLENBQUEsTUFBQU0sQ0FBQSxFQUFBQyxDQUFBLEVBQUFDLENBQUEsS0FBQUMsU0FBQSxtQkFBQVQsQ0FBQSxpQkFBQUEsQ0FBQSxnQkFBQVUsT0FBQSxDQUFBVixDQUFBLDBCQUFBQSxDQUFBLFNBQUFRLENBQUEsTUFBQUYsQ0FBQSxHQUFBTCxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxRQUFBRyxDQUFBLENBQUFLLEdBQUEsQ0FBQVgsQ0FBQSxVQUFBTSxDQUFBLENB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
150
+ //# sourceMappingURL=label.js.map
package/lib/root.js CHANGED
@@ -451,4 +451,4 @@ var Root = exports.Root = /*#__PURE__*/function (_React$Component) {
451
451
  labelsCharactersLimit: _propTypes["default"].number
452
452
  });
453
453
  var _default = exports["default"] = Root;
454
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZXMiLCJfcHJvcFR5cGVzIiwiX2QzU2VsZWN0aW9uIiwiX3JlbmRlclVpIiwiX2VkaXRhYmxlSHRtbFRpcFRhcCIsIl90eXBlcyIsIl9sYWJlbCIsIl91dGlscyIsIl9jcmVhdGVGb3JPZkl0ZXJhdG9ySGVscGVyIiwiciIsImUiLCJ0IiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJBcnJheSIsImlzQXJyYXkiLCJfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkiLCJsZW5ndGgiLCJfbiIsIkYiLCJzIiwibiIsImRvbmUiLCJ2YWx1ZSIsImYiLCJUeXBlRXJyb3IiLCJvIiwiYSIsInUiLCJjYWxsIiwibmV4dCIsIl9hcnJheUxpa2VUb0FycmF5IiwidG9TdHJpbmciLCJzbGljZSIsImNvbnN0cnVjdG9yIiwibmFtZSIsImZyb20iLCJ0ZXN0Iiwib3duS2V5cyIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJCb29sZWFuIiwicHJvdG90eXBlIiwidmFsdWVPZiIsIlN0eWxlZFJvb3QiLCJzdHlsZWQiLCJfcmVmIiwidGhlbWUiLCJib3JkZXIiLCJjb25jYXQiLCJjb2xvciIsInByaW1hcnlMaWdodCIsImRlZmF1bHRzIiwiVEVYVCIsImJhY2tncm91bmRDb2xvciIsInBhbGV0dGUiLCJjb21tb24iLCJ3aGl0ZSIsInRvdWNoQWN0aW9uIiwicG9zaXRpb24iLCJib3hTaXppbmciLCJXcmFwcGVyIiwiZGlzcGxheSIsIkRlZmluZUNoYXJ0U3ZnIiwicGFkZGluZ0xlZnQiLCJvdmVyZmxvdyIsIkNoYXJ0U3ZnIiwiR3JhcGhCb3giLCJjdXJzb3IiLCJ1c2VyU2VsZWN0IiwiR3JhcGhUaXRsZSIsIl9yZWYyIiwiZm9udFNpemUiLCJ0eXBvZ3JhcGh5IiwicGFkZGluZyIsInNwYWNpbmciLCJ0ZXh0QWxpZ24iLCJwb2ludGVyRXZlbnRzIiwibWFyZ2luUmlnaHQiLCJDaGFydFRpdGxlIiwiX3JlZjMiLCJUb3BQaXhlbEd1aWRlcyIsInBhZGRpbmdUb3AiLCJUb3BQaXhlbEluZGljYXRvciIsImZsZXhEaXJlY3Rpb24iLCJhbGlnbkl0ZW1zIiwid2lkdGgiLCJTaWRlUGl4ZWxHdWlkZXMiLCJTaWRlUGl4ZWxJbmRpY2F0b3IiLCJoZWlnaHQiLCJtYXJnaW5Cb3R0b20iLCJSb290IiwiZXhwb3J0cyIsIl9SZWFjdCRDb21wb25lbnQiLCJwcm9wcyIsIl90aGlzIiwiX2NsYXNzQ2FsbENoZWNrMiIsImciLCJldmVudCIsIl90aGlzJHByb3BzIiwiZ3JhcGhQcm9wcyIsIm9uTW91c2VNb3ZlIiwic2NhbGUiLCJzbmFwIiwiY29vcmRzIiwicG9pbnRlciIsIm5vZGUiLCJ4IiwiaW52ZXJ0IiwieSIsInNuYXBwZWQiLCJuZXdWYWx1ZSIsInNpZGUiLCJfdGhpcyRwcm9wczIiLCJsYWJlbHMiLCJvbkNoYW5nZUxhYmVscyIsImlzQ2hhcnQiLCJ0aXRsZUVsZW1lbnQiLCJ0aXRsZVJlZiIsInRpdGxlSGVpZ2h0IiwiY2xpZW50SGVpZ2h0Iiwic2V0U3RhdGUiLCJwcmV2VGl0bGUiLCJ0aXRsZSIsInJlc2l6ZU9ic2VydmVyIiwiUmVzaXplT2JzZXJ2ZXIiLCJzZXR1cFZpc2liaWxpdHlPYnNlcnZlciIsInNldFRpbWVvdXQiLCJtZWFzdXJlVGl0bGVIZWlnaHQiLCJlbnRyaWVzIiwiX2l0ZXJhdG9yIiwiX3N0ZXAiLCJlbnRyeSIsIl9lbnRyeSRjb250ZW50UmVjdCIsImNvbnRlbnRSZWN0IiwiZXJyIiwib2JzZXJ2ZSIsImRpc2Nvbm5lY3QiLCJzdGF0ZSIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwia2V5IiwiY29tcG9uZW50RGlkTW91bnQiLCJzZWxlY3QiLCJvbiIsIm1vdXNlTW92ZSIsImJpbmQiLCJjb21wb25lbnRXaWxsVW5tb3VudCIsImNsZWFudXBWaXNpYmlsaXR5T2JzZXJ2ZXIiLCJjb21wb25lbnREaWRVcGRhdGUiLCJwcmV2UHJvcHMiLCJyZW5kZXIiLCJfdGhpczIiLCJfdGhpcyRwcm9wczMiLCJkaXNhYmxlZFRpdGxlIiwiZGlzYWJsZWRMYWJlbHMiLCJsYWJlbHNQbGFjZWhvbGRlcnMiLCJ0aXRsZVBsYWNlaG9sZGVyIiwiY2hpbGRyZW4iLCJkZWZpbmVDaGFydCIsIm9uQ2hhbmdlVGl0bGUiLCJzaG93TGFiZWxzIiwic2hvd1BpeGVsR3VpZGVzIiwic2hvd1RpdGxlIiwicm9vdFJlZiIsIl90aGlzJHByb3BzMyRtYXRoTWxPcCIsIm1hdGhNbE9wdGlvbnMiLCJsYWJlbHNDaGFyYWN0ZXJzTGltaXQiLCJfZ3JhcGhQcm9wcyRzaXplIiwic2l6ZSIsIl9ncmFwaFByb3BzJHNpemUkd2lkdCIsIl9ncmFwaFByb3BzJHNpemUkaGVpZyIsImRvbWFpbiIsInJhbmdlIiwidG9wUGFkZGluZyIsImxlZnRQYWRkaW5nIiwiaXNFbXB0eVN0cmluZyIsImV4dHJhY3RUZXh0RnJvbUhUTUwiLCJsZWZ0IiwiaXNFbXB0eU9iamVjdCIsInJpZ2h0UGFkZGluZyIsInJpZ2h0IiwiZmluYWxXaWR0aCIsImZpbmFsSGVpZ2h0IiwiYWN0aXZlVGl0bGVQbHVnaW5zIiwiYWN0dWFsSGVpZ2h0IiwibmJPZlZlcnRpY2FsTGluZXMiLCJwYXJzZUludCIsIm5iT2ZIb3Jpem9udGFsTGluZXMiLCJzaWRlR3JpZGxpbmVzUGFkZGluZyIsImNyZWF0ZUVsZW1lbnQiLCJzdHlsZSIsIm1hcmdpbkxlZnQiLCJfdG9Db25zdW1hYmxlQXJyYXkyIiwibWFwIiwiUmVhZGFibGUiLCJyZWYiLCJjbGFzc05hbWUiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsIl9leHRlbmRzMiIsIm1hcmt1cCIsIm9uQ2hhbmdlIiwicGxhY2Vob2xkZXIiLCJ0b29sYmFyT3B0cyIsIm5vUGFkZGluZyIsIm5vQm9yZGVyIiwiYWN0aXZlUGx1Z2lucyIsImRpc2FibGVTY3JvbGxiYXIiLCJvbktleURvd24iLCJoYW5kbGVLZXlEb3duIiwidGV4dCIsInRvcCIsImRpc2FibGVkTGFiZWwiLCJncmFwaEhlaWdodCIsImdyYXBoV2lkdGgiLCJvbkNoYW5nZUxhYmVsIiwiY2hhcmFjdGVyc0xpbWl0IiwiaXNDaGFydExlZnRMYWJlbCIsImlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWwiLCJ0cmFuc2Zvcm0iLCJtYXJnaW5Ub3AiLCJyZXZlcnNlIiwiYm90dG9tIiwiaXNDaGFydEJvdHRvbUxhYmVsIiwiaXNEZWZpbmVDaGFydEJvdHRvbUxhYmVsIiwiUmVhY3QiLCJDb21wb25lbnQiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJDaGlsZHJlblR5cGUiLCJib29sIiwiR3JhcGhQcm9wc1R5cGUiLCJpc1JlcXVpcmVkIiwib2JqZWN0IiwiZnVuYyIsIm51bWJlciIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vc3JjL3Jvb3QuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBzdHlsZWQgfSBmcm9tICdAbXVpL21hdGVyaWFsL3N0eWxlcyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgcG9pbnRlciwgc2VsZWN0IH0gZnJvbSAnZDMtc2VsZWN0aW9uJztcblxuaW1wb3J0IHsgY29sb3IsIFJlYWRhYmxlIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCBFZGl0YWJsZUh0bWwgZnJvbSAnQHBpZS1saWIvZWRpdGFibGUtaHRtbC10aXAtdGFwJztcbmltcG9ydCB7IENoaWxkcmVuVHlwZSwgR3JhcGhQcm9wc1R5cGUgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCBMYWJlbCBmcm9tICcuL2xhYmVsJztcbmltcG9ydCB7IGV4dHJhY3RUZXh0RnJvbUhUTUwsIGlzRW1wdHlPYmplY3QsIGlzRW1wdHlTdHJpbmcgfSBmcm9tICcuL3V0aWxzJztcblxuY29uc3QgU3R5bGVkUm9vdCA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgYm9yZGVyOiBgc29saWQgMXB4ICR7Y29sb3IucHJpbWFyeUxpZ2h0KCl9YCxcbiAgY29sb3I6IGNvbG9yLmRlZmF1bHRzLlRFWFQsXG4gIGJhY2tncm91bmRDb2xvcjogdGhlbWUucGFsZXR0ZS5jb21tb24ud2hpdGUsXG4gIHRvdWNoQWN0aW9uOiAnbm9uZScsXG4gIHBvc2l0aW9uOiAncmVsYXRpdmUnLFxuICBib3hTaXppbmc6ICd1bnNldCcsIC8vIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGJvcmRlci1ib3ggaW4gSUJYIHRoYXQgYnJlYWtzIHRoZSBjb21wb25lbnQgd2lkdGggbGF5b3V0XG59KSk7XG5cbmNvbnN0IFdyYXBwZXIgPSBzdHlsZWQoJ2RpdicpKHtcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbn0pO1xuXG5jb25zdCBEZWZpbmVDaGFydFN2ZyA9IHN0eWxlZCgnc3ZnJykoe1xuICBwYWRkaW5nTGVmdDogJzUwcHgnLFxuICBvdmVyZmxvdzogJ3Zpc2libGUnLFxufSk7XG5cbmNvbnN0IENoYXJ0U3ZnID0gc3R5bGVkKCdzdmcnKSh7XG4gIG92ZXJmbG93OiAndmlzaWJsZScsXG59KTtcblxuY29uc3QgR3JhcGhCb3ggPSBzdHlsZWQoJ2cnKSh7XG4gIGN1cnNvcjogJ3BvaW50ZXInLFxuICB1c2VyU2VsZWN0OiAnbm9uZScsXG59KTtcblxuY29uc3QgR3JhcGhUaXRsZSA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgY29sb3I6IGNvbG9yLmRlZmF1bHRzLlRFWFQsXG4gIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplICsgMixcbiAgcGFkZGluZzogYCR7dGhlbWUuc3BhY2luZygxLjUpfSAke3RoZW1lLnNwYWNpbmcoMC41KX0gMGAsXG4gIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICcmLmRpc2FibGVkJzoge1xuICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgfSxcbiAgJyYucmlnaHRNYXJnaW4nOiB7XG4gICAgbWFyZ2luUmlnaHQ6ICc3NHB4JyxcbiAgfSxcbn0pKTtcblxuY29uc3QgQ2hhcnRUaXRsZSA9IHN0eWxlZCgnZGl2JykoKHsgdGhlbWUgfSkgPT4gKHtcbiAgY29sb3I6IGNvbG9yLmRlZmF1bHRzLlRFWFQsXG4gIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplICsgNCxcbiAgcGFkZGluZzogYCR7dGhlbWUuc3BhY2luZygxLjUpfSAke3RoZW1lLnNwYWNpbmcoMC41KX0gMGAsXG4gIHRleHRBbGlnbjogJ2NlbnRlcicsXG4gICcmLmRpc2FibGVkJzoge1xuICAgIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgfSxcbiAgJyYucmlnaHRNYXJnaW4nOiB7XG4gICAgbWFyZ2luUmlnaHQ6ICc3NHB4JyxcbiAgfSxcbn0pKTtcblxuY29uc3QgVG9wUGl4ZWxHdWlkZXMgPSBzdHlsZWQoJ2RpdicpKHtcbiAgZGlzcGxheTogJ2ZsZXgnLFxuICBwYWRkaW5nVG9wOiAnNnB4Jyxcbn0pO1xuXG5jb25zdCBUb3BQaXhlbEluZGljYXRvciA9IHN0eWxlZCgnZGl2Jykoe1xuICBkaXNwbGF5OiAnZmxleCcsXG4gIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgd2lkdGg6ICcxMDBweCcsXG4gIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgdXNlclNlbGVjdDogJ25vbmUnLFxufSk7XG5cbmNvbnN0IFNpZGVQaXhlbEd1aWRlcyA9IHN0eWxlZCgnZGl2Jykoe1xuICB3aWR0aDogJzcwcHgnLFxuICBkaXNwbGF5OiAnZmxleCcsXG4gIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICBtYXJnaW5SaWdodDogJzZweCcsXG59KTtcblxuY29uc3QgU2lkZVBpeGVsSW5kaWNhdG9yID0gc3R5bGVkKCdkaXYnKSh7XG4gIHRleHRBbGlnbjogJ3JpZ2h0JyxcbiAgaGVpZ2h0OiAnMjBweCcsXG4gIHBvaW50ZXJFdmVudHM6ICdub25lJyxcbiAgdXNlclNlbGVjdDogJ25vbmUnLFxuICAnJjpub3QoOmxhc3QtY2hpbGQpJzoge1xuICAgIG1hcmdpbkJvdHRvbTogJzgwcHgnLFxuICB9LFxufSk7XG5cbmV4cG9ydCBjbGFzcyBSb290IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHRpdGxlSGVpZ2h0OiAwLFxuICAgIH07XG4gICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG51bGw7XG4gIH1cblxuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNoaWxkcmVuOiBDaGlsZHJlblR5cGUsXG4gICAgZGVmaW5lQ2hhcnQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGRpc2FibGVkTGFiZWxzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBkaXNhYmxlZFRpdGxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBncmFwaFByb3BzOiBHcmFwaFByb3BzVHlwZS5pc1JlcXVpcmVkLFxuICAgIGlzQ2hhcnQ6IFByb3BUeXBlcy5ib29sLFxuICAgIGxhYmVsczogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBsYWJlbHNQbGFjZWhvbGRlcnM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgb25DaGFuZ2VUaXRsZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25Nb3VzZU1vdmU6IFByb3BUeXBlcy5mdW5jLFxuICAgIHNob3dMYWJlbHM6IFByb3BUeXBlcy5ib29sLFxuICAgIHNob3dUaXRsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgc2hvd1BpeGVsR3VpZGVzOiBQcm9wVHlwZXMuYm9vbCxcbiAgICByb290UmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkNoYW5nZUxhYmVsczogUHJvcFR5cGVzLmZ1bmMsXG4gICAgdGl0bGVQbGFjZWhvbGRlcjogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBtYXRoTWxPcHRpb25zOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxhYmVsc0NoYXJhY3RlcnNMaW1pdDogUHJvcFR5cGVzLm51bWJlcixcbiAgfTtcblxuICBtb3VzZU1vdmUgPSAoZywgZXZlbnQpID0+IHtcbiAgICBjb25zdCB7IGdyYXBoUHJvcHMsIG9uTW91c2VNb3ZlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgaWYgKCFvbk1vdXNlTW92ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHsgc2NhbGUsIHNuYXAgfSA9IGdyYXBoUHJvcHM7XG4gICAgY29uc3QgY29vcmRzID0gcG9pbnRlcihldmVudCwgZy5ub2RlKCkpO1xuICAgIGNvbnN0IHggPSBzY2FsZS54LmludmVydChjb29yZHNbMF0pO1xuICAgIGNvbnN0IHkgPSBzY2FsZS55LmludmVydChjb29yZHNbMV0pO1xuXG4gICAgY29uc3Qgc25hcHBlZCA9IHtcbiAgICAgIHg6IHNuYXAueCh4KSxcbiAgICAgIHk6IHNuYXAueSh5KSxcbiAgICB9O1xuXG4gICAgb25Nb3VzZU1vdmUoc25hcHBlZCk7XG4gIH07XG5cbiAgY29tcG9uZW50RGlkTW91bnQoKSB7XG4gICAgY29uc3QgZyA9IHNlbGVjdCh0aGlzLmcpO1xuICAgIGcub24oJ21vdXNlbW92ZScsIHRoaXMubW91c2VNb3ZlLmJpbmQodGhpcywgZykpO1xuICAgIHRoaXMubWVhc3VyZVRpdGxlSGVpZ2h0KCk7XG4gICAgdGhpcy5zZXR1cFZpc2liaWxpdHlPYnNlcnZlcigpO1xuICB9XG5cbiAgY29tcG9uZW50V2lsbFVubW91bnQoKSB7XG4gICAgY29uc3QgZyA9IHNlbGVjdCh0aGlzLmcpO1xuICAgIGcub24oJ21vdXNlbW92ZScsIG51bGwpO1xuICAgIHRoaXMuY2xlYW51cFZpc2liaWxpdHlPYnNlcnZlcigpO1xuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcykge1xuICAgIGlmIChwcmV2UHJvcHMudGl0bGUgIT09IHRoaXMucHJvcHMudGl0bGUpIHtcbiAgICAgIHRoaXMubWVhc3VyZVRpdGxlSGVpZ2h0KCk7XG4gICAgfVxuICB9XG5cbiAgb25DaGFuZ2VMYWJlbCA9IChuZXdWYWx1ZSwgc2lkZSkgPT4ge1xuICAgIGNvbnN0IHsgbGFiZWxzLCBvbkNoYW5nZUxhYmVscywgaXNDaGFydCB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmICghb25DaGFuZ2VMYWJlbHMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoaXNDaGFydCkge1xuICAgICAgaWYgKHNpZGUgPT09ICdsZWZ0Jykge1xuICAgICAgICBvbkNoYW5nZUxhYmVscygncmFuZ2UnLCBuZXdWYWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvbkNoYW5nZUxhYmVscygnZG9tYWluJywgbmV3VmFsdWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgb25DaGFuZ2VMYWJlbHMoe1xuICAgICAgLi4ubGFiZWxzLFxuICAgICAgW3NpZGVdOiBuZXdWYWx1ZSxcbiAgICB9KTtcbiAgfTtcblxuICBtZWFzdXJlVGl0bGVIZWlnaHQgPSAoKSA9PiB7XG4gICAgY29uc3QgdGl0bGVFbGVtZW50ID0gdGhpcy50aXRsZVJlZjtcbiAgICBpZiAodGl0bGVFbGVtZW50KSB7XG4gICAgICBjb25zdCB0aXRsZUhlaWdodCA9IHRpdGxlRWxlbWVudC5jbGllbnRIZWlnaHQ7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgdGl0bGVIZWlnaHQsIHByZXZUaXRsZTogdGhpcy5wcm9wcy50aXRsZSB9KTtcblxuICAgICAgaWYgKCF0aGlzLnJlc2l6ZU9ic2VydmVyICYmIHR5cGVvZiBSZXNpemVPYnNlcnZlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgdGhpcy5zZXR1cFZpc2liaWxpdHlPYnNlcnZlcigpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBoYW5kbGVLZXlEb3duID0gKCkgPT4ge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5tZWFzdXJlVGl0bGVIZWlnaHQoKTtcbiAgICB9LCAwKTtcbiAgfTtcblxuICAvLyBoYW5kbGUgZWRnZSBjYXNlIHdoZXJlIGNoYXJ0IGlzIGhpZGRlbiB3aXRoIGRpc3BsYXk6bm9uZSBhbmQgdGhlbiBzaG93biB3aXRoIGRpc3BsYXk6YmxvY2tcbiAgc2V0dXBWaXNpYmlsaXR5T2JzZXJ2ZXIgPSAoKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBSZXNpemVPYnNlcnZlciAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy50aXRsZVJlZikge1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgICBmb3IgKGxldCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICAgICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBlbnRyeS5jb250ZW50UmVjdDtcbiAgICAgICAgICAvLyB0cmlnZ2VyIGlmIGVsZW1lbnQgYmVjb21lcyB2aXNpYmxlIGFuZCB3ZSBoYXZlbid0IG1lYXN1cmVkIHRoaXMgaGVpZ2h0IHlldFxuICAgICAgICAgIGlmICh3aWR0aCA+IDAgJiYgaGVpZ2h0ID4gMCkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMubWVhc3VyZVRpdGxlSGVpZ2h0KCk7XG4gICAgICAgICAgICB9LCAxMCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyLm9ic2VydmUodGhpcy50aXRsZVJlZik7XG4gICAgfVxuICB9O1xuXG4gIGNsZWFudXBWaXNpYmlsaXR5T2JzZXJ2ZXIgPSAoKSA9PiB7XG4gICAgaWYgKHRoaXMucmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xuICAgICAgdGhpcy5yZXNpemVPYnNlcnZlciA9IG51bGw7XG4gICAgfVxuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICBkaXNhYmxlZFRpdGxlLFxuICAgICAgZGlzYWJsZWRMYWJlbHMsXG4gICAgICBsYWJlbHMsXG4gICAgICBsYWJlbHNQbGFjZWhvbGRlcnMsXG4gICAgICB0aXRsZVBsYWNlaG9sZGVyLFxuICAgICAgZ3JhcGhQcm9wcyxcbiAgICAgIGNoaWxkcmVuLFxuICAgICAgZGVmaW5lQ2hhcnQsXG4gICAgICBvbkNoYW5nZVRpdGxlLFxuICAgICAgaXNDaGFydCxcbiAgICAgIHNob3dMYWJlbHMsXG4gICAgICBzaG93UGl4ZWxHdWlkZXMsXG4gICAgICBzaG93VGl0bGUsXG4gICAgICB0aXRsZSxcbiAgICAgIHJvb3RSZWYsXG4gICAgICBtYXRoTWxPcHRpb25zID0ge30sXG4gICAgICBsYWJlbHNDaGFyYWN0ZXJzTGltaXQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qge1xuICAgICAgc2l6ZTogeyB3aWR0aCA9IDUwMCwgaGVpZ2h0ID0gNTAwIH0sXG4gICAgICBkb21haW4sXG4gICAgICByYW5nZSxcbiAgICB9ID0gZ3JhcGhQcm9wcztcblxuICAgIGNvbnN0IHRvcFBhZGRpbmcgPSA0MDtcbiAgICBjb25zdCBsZWZ0UGFkZGluZyA9IGlzRW1wdHlTdHJpbmcoZXh0cmFjdFRleHRGcm9tSFRNTChsYWJlbHM/LmxlZnQpKSAmJiBpc0VtcHR5T2JqZWN0KGxhYmVsc1BsYWNlaG9sZGVycykgPyA0OCA6IDcwO1xuICAgIGNvbnN0IHJpZ2h0UGFkZGluZyA9XG4gICAgICBpc0VtcHR5U3RyaW5nKGV4dHJhY3RUZXh0RnJvbUhUTUwobGFiZWxzPy5yaWdodCkpICYmIGlzRW1wdHlPYmplY3QobGFiZWxzUGxhY2Vob2xkZXJzKSA/IDQ4IDogNzA7XG4gICAgY29uc3QgZmluYWxXaWR0aCA9IHdpZHRoICsgbGVmdFBhZGRpbmcgKyByaWdodFBhZGRpbmcgKyAoZG9tYWluLnBhZGRpbmcgfHwgMCkgKiAyO1xuICAgIGNvbnN0IGZpbmFsSGVpZ2h0ID0gaGVpZ2h0ICsgdG9wUGFkZGluZyAqIDIgKyAocmFuZ2UucGFkZGluZyB8fCAwKSAqIDI7XG5cbiAgICBjb25zdCBhY3RpdmVUaXRsZVBsdWdpbnMgPSBbXG4gICAgICAnYm9sZCcsXG4gICAgICAnaXRhbGljJyxcbiAgICAgICd1bmRlcmxpbmUnLFxuICAgICAgJ3N1cGVyc2NyaXB0JyxcbiAgICAgICdzdWJzY3JpcHQnLFxuICAgICAgJ3N0cmlrZXRocm91Z2gnLFxuICAgICAgJ21hdGgnLFxuICAgICAgLy8gJ2xhbmd1YWdlQ2hhcmFjdGVycydcbiAgICBdO1xuXG4gICAgY29uc3QgYWN0dWFsSGVpZ2h0ID0gZGVmaW5lQ2hhcnQgJiYgc2hvd1BpeGVsR3VpZGVzID8gaGVpZ2h0IC0gMTYwIDogaGVpZ2h0O1xuICAgIGNvbnN0IG5iT2ZWZXJ0aWNhbExpbmVzID0gcGFyc2VJbnQod2lkdGggLyAxMDApO1xuICAgIGNvbnN0IG5iT2ZIb3Jpem9udGFsTGluZXMgPSBwYXJzZUludChhY3R1YWxIZWlnaHQgLyAxMDApO1xuICAgIGNvbnN0IHNpZGVHcmlkbGluZXNQYWRkaW5nID0gcGFyc2VJbnQoYWN0dWFsSGVpZ2h0ICUgMTAwKTtcbiAgICBjb25zdCB7IHRpdGxlSGVpZ2h0IH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRSb290PlxuICAgICAgICB7c2hvd1BpeGVsR3VpZGVzICYmIChcbiAgICAgICAgICA8VG9wUGl4ZWxHdWlkZXMgc3R5bGU9e3sgbWFyZ2luTGVmdDogaXNDaGFydCA/IDgwIDogc2hvd0xhYmVscyA/IDMwIDogMTAgfX0+XG4gICAgICAgICAgICB7Wy4uLkFycmF5KG5iT2ZWZXJ0aWNhbExpbmVzICsgMSkua2V5cygpXS5tYXAoKHZhbHVlKSA9PiAoXG4gICAgICAgICAgICAgIDxSZWFkYWJsZSBmYWxzZSBrZXk9e2B0b3AtZ3VpZGUtJHt2YWx1ZX1gfT5cbiAgICAgICAgICAgICAgICA8VG9wUGl4ZWxJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICAgICA8ZGl2Pnt2YWx1ZSAqIDEwMH1weDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdj58PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9Ub3BQaXhlbEluZGljYXRvcj5cbiAgICAgICAgICAgICAgPC9SZWFkYWJsZT5cbiAgICAgICAgICAgICkpfVxuICAgICAgICAgIDwvVG9wUGl4ZWxHdWlkZXM+XG4gICAgICAgICl9XG4gICAgICAgIHtzaG93VGl0bGUgJiZcbiAgICAgICAgICAoZGlzYWJsZWRUaXRsZSA/IChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgcmVmPXsocikgPT4gKHRoaXMudGl0bGVSZWYgPSByKX1cbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAuLi4oaXNDaGFydCAmJiB7IHdpZHRoOiBmaW5hbFdpZHRoIH0pLFxuICAgICAgICAgICAgICAgIC4uLihpc0VtcHR5U3RyaW5nKGV4dHJhY3RUZXh0RnJvbUhUTUwodGl0bGUpKSAmJiB7IGRpc3BsYXk6ICdub25lJyB9KSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2lzQ2hhcnQgPyAoXG4gICAgICAgICAgICAgICAgPENoYXJ0VGl0bGUgY2xhc3NOYW1lPVwiZGlzYWJsZWRcIiBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IHRpdGxlIHx8ICcnIH19IC8+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPEdyYXBoVGl0bGUgY2xhc3NOYW1lPVwiZGlzYWJsZWRcIiBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IHRpdGxlIHx8ICcnIH19IC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPGRpdiByZWY9eyhyKSA9PiAodGhpcy50aXRsZVJlZiA9IHIpfT5cbiAgICAgICAgICAgICAge2lzQ2hhcnQgPyAoXG4gICAgICAgICAgICAgICAgPENoYXJ0VGl0bGUgY2xhc3NOYW1lPXtzaG93UGl4ZWxHdWlkZXMgPyAncmlnaHRNYXJnaW4nIDogJyd9PlxuICAgICAgICAgICAgICAgICAgPEVkaXRhYmxlSHRtbFxuICAgICAgICAgICAgICAgICAgICB7Li4uaXNDaGFydCAmJiB7XG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGZpbmFsV2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgIG1hcmt1cD17dGl0bGUgfHwgJyd9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZVRpdGxlfVxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17XG4gICAgICAgICAgICAgICAgICAgICAgKGRlZmluZUNoYXJ0ICYmIHRpdGxlUGxhY2Vob2xkZXIpIHx8XG4gICAgICAgICAgICAgICAgICAgICAgKCFkaXNhYmxlZFRpdGxlICYmICdDbGljayBoZXJlIHRvIGFkZCBhIHRpdGxlIGZvciB0aGlzIGdyYXBoJylcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0b29sYmFyT3B0cz17eyBub1BhZGRpbmc6IHRydWUsIG5vQm9yZGVyOiB0cnVlIH19XG4gICAgICAgICAgICAgICAgICAgIGFjdGl2ZVBsdWdpbnM9e2FjdGl2ZVRpdGxlUGx1Z2luc31cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVNjcm9sbGJhclxuICAgICAgICAgICAgICAgICAgICBvbktleURvd249e3RoaXMuaGFuZGxlS2V5RG93bn1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9DaGFydFRpdGxlPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxHcmFwaFRpdGxlIGNsYXNzTmFtZT17c2hvd1BpeGVsR3VpZGVzID8gJ3JpZ2h0TWFyZ2luJyA6ICcnfT5cbiAgICAgICAgICAgICAgICAgIDxFZGl0YWJsZUh0bWxcbiAgICAgICAgICAgICAgICAgICAgey4uLmlzQ2hhcnQgJiYge1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBmaW5hbFdpZHRoLFxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICBtYXJrdXA9e3RpdGxlIHx8ICcnfVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2VUaXRsZX1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e1xuICAgICAgICAgICAgICAgICAgICAgIChkZWZpbmVDaGFydCAmJiB0aXRsZVBsYWNlaG9sZGVyKSB8fFxuICAgICAgICAgICAgICAgICAgICAgICghZGlzYWJsZWRUaXRsZSAmJiAnQ2xpY2sgaGVyZSB0byBhZGQgYSB0aXRsZSBmb3IgdGhpcyBncmFwaCcpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdG9vbGJhck9wdHM9e3sgbm9QYWRkaW5nOiB0cnVlLCBub0JvcmRlcjogdHJ1ZSB9fVxuICAgICAgICAgICAgICAgICAgICBhY3RpdmVQbHVnaW5zPXthY3RpdmVUaXRsZVBsdWdpbnN9XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVTY3JvbGxiYXJcbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXt0aGlzLmhhbmRsZUtleURvd259XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvR3JhcGhUaXRsZT5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICkpfVxuICAgICAgICB7c2hvd0xhYmVscyAmJiAhaXNDaGFydCAmJiAoXG4gICAgICAgICAgPExhYmVsXG4gICAgICAgICAgICBzaWRlPVwidG9wXCJcbiAgICAgICAgICAgIHRleHQ9e2xhYmVscy50b3B9XG4gICAgICAgICAgICBkaXNhYmxlZExhYmVsPXtkaXNhYmxlZExhYmVsc31cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtsYWJlbHNQbGFjZWhvbGRlcnM/LnRvcH1cbiAgICAgICAgICAgIGdyYXBoSGVpZ2h0PXtmaW5hbEhlaWdodH1cbiAgICAgICAgICAgIGdyYXBoV2lkdGg9e2ZpbmFsV2lkdGh9XG4gICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlKSA9PiB0aGlzLm9uQ2hhbmdlTGFiZWwodmFsdWUsICd0b3AnKX1cbiAgICAgICAgICAgIG1hdGhNbE9wdGlvbnM9e21hdGhNbE9wdGlvbnN9XG4gICAgICAgICAgICBjaGFyYWN0ZXJzTGltaXQ9e2xhYmVsc0NoYXJhY3RlcnNMaW1pdH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICA8V3JhcHBlcj5cbiAgICAgICAgICB7c2hvd0xhYmVscyAmJiAoXG4gICAgICAgICAgICA8TGFiZWxcbiAgICAgICAgICAgICAgc2lkZT1cImxlZnRcIlxuICAgICAgICAgICAgICB0ZXh0PXtsYWJlbHMubGVmdH1cbiAgICAgICAgICAgICAgZGlzYWJsZWRMYWJlbD17ZGlzYWJsZWRMYWJlbHN9XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtsYWJlbHNQbGFjZWhvbGRlcnM/LmxlZnR9XG4gICAgICAgICAgICAgIGdyYXBoSGVpZ2h0PXtmaW5hbEhlaWdodH1cbiAgICAgICAgICAgICAgZ3JhcGhXaWR0aD17ZmluYWxXaWR0aH1cbiAgICAgICAgICAgICAgaXNDaGFydExlZnRMYWJlbD17aXNDaGFydCAmJiAhZGVmaW5lQ2hhcnR9XG4gICAgICAgICAgICAgIGlzRGVmaW5lQ2hhcnRMZWZ0TGFiZWw9e2lzQ2hhcnQgJiYgZGVmaW5lQ2hhcnR9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsodmFsdWUpID0+IHRoaXMub25DaGFuZ2VMYWJlbCh2YWx1ZSwgJ2xlZnQnKX1cbiAgICAgICAgICAgICAgbWF0aE1sT3B0aW9ucz17bWF0aE1sT3B0aW9uc31cbiAgICAgICAgICAgICAgY2hhcmFjdGVyc0xpbWl0PXtsYWJlbHNDaGFyYWN0ZXJzTGltaXR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgICAge2RlZmluZUNoYXJ0ID8gKFxuICAgICAgICAgICAgPERlZmluZUNoYXJ0U3ZnIHdpZHRoPXtmaW5hbFdpZHRofSBoZWlnaHQ9e2ZpbmFsSGVpZ2h0fT5cbiAgICAgICAgICAgICAgPEdyYXBoQm94XG4gICAgICAgICAgICAgICAgcmVmPXsocikgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5nID0gcjtcbiAgICAgICAgICAgICAgICAgIGlmIChyb290UmVmKSB7XG4gICAgICAgICAgICAgICAgICAgIHJvb3RSZWYocik7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09e2B0cmFuc2xhdGUoJHtsZWZ0UGFkZGluZyArIChkb21haW4ucGFkZGluZyB8fCAwKX0sICR7dG9wUGFkZGluZyArIChyYW5nZS5wYWRkaW5nIHx8IDApfSlgfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICA8L0dyYXBoQm94PlxuICAgICAgICAgICAgPC9EZWZpbmVDaGFydFN2Zz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPENoYXJ0U3ZnIHdpZHRoPXtmaW5hbFdpZHRofSBoZWlnaHQ9e2ZpbmFsSGVpZ2h0fT5cbiAgICAgICAgICAgICAgPEdyYXBoQm94XG4gICAgICAgICAgICAgICAgcmVmPXsocikgPT4ge1xuICAgICAgICAgICAgICAgICAgdGhpcy5nID0gcjtcbiAgICAgICAgICAgICAgICAgIGlmIChyb290UmVmKSB7XG4gICAgICAgICAgICAgICAgICAgIHJvb3RSZWYocik7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm09e2B0cmFuc2xhdGUoJHtsZWZ0UGFkZGluZyArIChkb21haW4ucGFkZGluZyB8fCAwKX0sICR7dG9wUGFkZGluZyArIChyYW5nZS5wYWRkaW5nIHx8IDApfSlgfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICA8L0dyYXBoQm94PlxuICAgICAgICAgICAgPC9DaGFydFN2Zz5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtzaG93TGFiZWxzICYmICFpc0NoYXJ0ICYmIChcbiAgICAgICAgICAgIDxMYWJlbFxuICAgICAgICAgICAgICBzaWRlPVwicmlnaHRcIlxuICAgICAgICAgICAgICB0ZXh0PXtsYWJlbHMucmlnaHR9XG4gICAgICAgICAgICAgIGRpc2FibGVkTGFiZWw9e2Rpc2FibGVkTGFiZWxzfVxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17bGFiZWxzUGxhY2Vob2xkZXJzPy5yaWdodH1cbiAgICAgICAgICAgICAgZ3JhcGhIZWlnaHQ9e2ZpbmFsSGVpZ2h0fVxuICAgICAgICAgICAgICBncmFwaFdpZHRoPXtmaW5hbFdpZHRofVxuICAgICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlKSA9PiB0aGlzLm9uQ2hhbmdlTGFiZWwodmFsdWUsICdyaWdodCcpfVxuICAgICAgICAgICAgICBtYXRoTWxPcHRpb25zPXttYXRoTWxPcHRpb25zfVxuICAgICAgICAgICAgICBjaGFyYWN0ZXJzTGltaXQ9e2xhYmVsc0NoYXJhY3RlcnNMaW1pdH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7c2hvd1BpeGVsR3VpZGVzICYmIChcbiAgICAgICAgICAgIDxTaWRlUGl4ZWxHdWlkZXNcbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBwYWRkaW5nVG9wOiBzaWRlR3JpZGxpbmVzUGFkZGluZyxcbiAgICAgICAgICAgICAgICBtYXJnaW5Ub3A6IDMxLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7Wy4uLkFycmF5KG5iT2ZIb3Jpem9udGFsTGluZXMgKyAxKS5rZXlzKCldLnJldmVyc2UoKS5tYXAoKHZhbHVlKSA9PiAoXG4gICAgICAgICAgICAgICAgPFJlYWRhYmxlIGZhbHNlIGtleT17YHRvcC1ndWlkZS0ke3ZhbHVlfWB9PlxuICAgICAgICAgICAgICAgICAgPFNpZGVQaXhlbEluZGljYXRvcj7ilIEge3ZhbHVlICogMTAwfXB4PC9TaWRlUGl4ZWxJbmRpY2F0b3I+XG4gICAgICAgICAgICAgICAgPC9SZWFkYWJsZT5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L1NpZGVQaXhlbEd1aWRlcz5cbiAgICAgICAgICApfVxuICAgICAgICA8L1dyYXBwZXI+XG4gICAgICAgIHtzaG93TGFiZWxzICYmIChcbiAgICAgICAgICA8TGFiZWxcbiAgICAgICAgICAgIHNpZGU9XCJib3R0b21cIlxuICAgICAgICAgICAgdGV4dD17bGFiZWxzLmJvdHRvbX1cbiAgICAgICAgICAgIGRpc2FibGVkTGFiZWw9e2Rpc2FibGVkTGFiZWxzfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2xhYmVsc1BsYWNlaG9sZGVycz8uYm90dG9tfVxuICAgICAgICAgICAgZ3JhcGhIZWlnaHQ9e2ZpbmFsSGVpZ2h0fVxuICAgICAgICAgICAgZ3JhcGhXaWR0aD17ZmluYWxXaWR0aH1cbiAgICAgICAgICAgIHRpdGxlSGVpZ2h0PXt0aXRsZUhlaWdodH1cbiAgICAgICAgICAgIGlzQ2hhcnRCb3R0b21MYWJlbD17aXNDaGFydCAmJiAhZGVmaW5lQ2hhcnR9XG4gICAgICAgICAgICBpc0RlZmluZUNoYXJ0Qm90dG9tTGFiZWw9e2lzQ2hhcnQgJiYgZGVmaW5lQ2hhcnR9XG4gICAgICAgICAgICBvbkNoYW5nZT17KHZhbHVlKSA9PiB0aGlzLm9uQ2hhbmdlTGFiZWwodmFsdWUsICdib3R0b20nKX1cbiAgICAgICAgICAgIG1hdGhNbE9wdGlvbnM9e21hdGhNbE9wdGlvbnN9XG4gICAgICAgICAgICBjaGFyYWN0ZXJzTGltaXQ9e2xhYmVsc0NoYXJhY3RlcnNMaW1pdH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9TdHlsZWRSb290PlxuICAgICk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgUm9vdDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsT0FBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUcsWUFBQSxHQUFBSCxPQUFBO0FBRUEsSUFBQUksU0FBQSxHQUFBSixPQUFBO0FBQ0EsSUFBQUssbUJBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLE1BQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLE1BQUEsR0FBQVIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFRLE1BQUEsR0FBQVIsT0FBQTtBQUE0RSxTQUFBUywyQkFBQUMsQ0FBQSxFQUFBQyxDQUFBLFFBQUFDLENBQUEseUJBQUFDLE1BQUEsSUFBQUgsQ0FBQSxDQUFBRyxNQUFBLENBQUFDLFFBQUEsS0FBQUosQ0FBQSxxQkFBQUUsQ0FBQSxRQUFBRyxLQUFBLENBQUFDLE9BQUEsQ0FBQU4sQ0FBQSxNQUFBRSxDQUFBLEdBQUFLLDJCQUFB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
454
+ //# sourceMappingURL=root.js.map