@pie-lib/plot 3.2.0-next.2 → 3.2.0-next.4
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 +18 -31
- package/LICENSE.md +5 -0
- package/lib/draggable.js +1 -1
- package/lib/graph-props.js +1 -1
- package/lib/grid-draggable.js +1 -1
- package/lib/index.js +1 -1
- package/lib/label.js +1 -1
- package/lib/root.js +1 -1
- package/lib/root.js.map +1 -1
- package/lib/trig.js +1 -1
- package/lib/types.js +1 -1
- package/lib/utils.js +1 -1
- package/package.json +3 -3
- package/src/root.jsx +4 -4
- package/lib/__tests__/draggable.test.js +0 -48
- package/lib/__tests__/grid-draggable.test.js +0 -773
- package/lib/__tests__/root.test.js +0 -285
- package/lib/__tests__/trig.test.js +0 -168
- package/lib/__tests__/utils.test.js +0 -296
package/CHANGELOG.md
CHANGED
|
@@ -3,64 +3,51 @@
|
|
|
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.
|
|
6
|
+
# [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)
|
|
7
7
|
|
|
8
8
|
**Note:** Version bump only for package @pie-lib/plot
|
|
9
9
|
|
|
10
|
+
# [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)
|
|
10
11
|
|
|
12
|
+
### Bug Fixes
|
|
11
13
|
|
|
14
|
+
- 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))
|
|
12
15
|
|
|
13
|
-
|
|
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)
|
|
16
|
+
# [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)
|
|
15
17
|
|
|
16
18
|
**Note:** Version bump only for package @pie-lib/plot
|
|
17
19
|
|
|
20
|
+
# [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
21
|
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
**Note:** Version bump only for package @pie-lib/plot
|
|
21
23
|
|
|
22
24
|
# [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
25
|
|
|
24
|
-
|
|
25
26
|
### Bug Fixes
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
28
|
+
- 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))
|
|
29
|
+
- remove carret, point to specific libs version ([09939a5](https://github.com/pie-framework/pie-lib/commit/09939a5aca19d7dda03d62c93d4d524f98dd69da))
|
|
30
|
+
- remove exports and publish ([#2068](https://github.com/pie-framework/pie-lib/issues/2068)) ([60a96cd](https://github.com/pie-framework/pie-lib/commit/60a96cde0ec65f6b1cac0ae329aa33a0abc50d05))
|
|
31
|
+
- updated tip-tap with mui instead of material-ui [PD-5141] ([880d3ab](https://github.com/pie-framework/pie-lib/commit/880d3ab1d63aa12c7e975c882f50624200565737))
|
|
32
|
+
- **plot:** fix focus PD-5452 ([882207c](https://github.com/pie-framework/pie-lib/commit/882207c6a1155a8e5818f5c7966239f8f341a0a6))
|
|
33
|
+
- use fixed lib deps ([de7c64d](https://github.com/pie-framework/pie-lib/commit/de7c64d14f13259fe44d47405e4421baef21e24e))
|
|
34
34
|
|
|
35
35
|
### Features
|
|
36
36
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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))
|
|
45
41
|
|
|
46
42
|
# [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
43
|
|
|
48
44
|
**Note:** Version bump only for package @pie-lib/plot
|
|
49
45
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
46
|
## [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
47
|
|
|
56
|
-
|
|
57
48
|
### Bug Fixes
|
|
58
49
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
50
|
+
- **plot:** fix focus PD-5452 ([882207c](https://github.com/pie-framework/pie-lib/commit/882207c6a1155a8e5818f5c7966239f8f341a0a6))
|
|
64
51
|
|
|
65
52
|
## [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
53
|
|
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=
|
|
44
|
+
//# sourceMappingURL=draggable.js.map
|
package/lib/graph-props.js
CHANGED
|
@@ -43,4 +43,4 @@ var create = exports.create = function create(domain, range, size, getRootNode)
|
|
|
43
43
|
getRootNode: getRootNode
|
|
44
44
|
};
|
|
45
45
|
};
|
|
46
|
-
//# sourceMappingURL=
|
|
46
|
+
//# sourceMappingURL=graph-props.js.map
|
package/lib/grid-draggable.js
CHANGED
|
@@ -304,4 +304,4 @@ var gridDraggable = exports.gridDraggable = function gridDraggable(opts) {
|
|
|
304
304
|
}), _GridDraggable;
|
|
305
305
|
};
|
|
306
306
|
};
|
|
307
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfdHlwZXMiLCJfZHJhZ2dhYmxlIiwiX2RlYnVnIiwidXRpbHMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9sb2Rhc2hFcyIsIl9pbnZhcmlhbnQiLCJfZDNTZWxlY3Rpb24iLCJfZXhjbHVkZWQiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIl9jYWxsU3VwZXIiLCJfZ2V0UHJvdG90eXBlT2YyIiwiX3Bvc3NpYmxlQ29uc3RydWN0b3JSZXR1cm4yIiwiX2lzTmF0aXZlUmVmbGVjdENvbnN0cnVjdCIsIlJlZmxlY3QiLCJjb25zdHJ1Y3QiLCJjb25zdHJ1Y3RvciIsImFwcGx5IiwiQm9vbGVhbiIsInByb3RvdHlwZSIsInZhbHVlT2YiLCJsb2ciLCJkZWJ1ZyIsImRlbHRhRm4iLCJleHBvcnRzIiwic2NhbGUiLCJzbmFwIiwidmFsIiwiZGVsdGEiLCJub3JtYWxpemVkIiwiaW52ZXJ0ZWQiLCJpbnZlcnQiLCJmaXhEZWNpbWFsc0FyaXRobWV0aWMiLCJ0b0ZpeGVkIiwiZ3JpZERyYWdnYWJsZSIsIm9wdHMiLCJDb21wIiwiX0dyaWREcmFnZ2FibGUiLCJpbnZhcmlhbnQiLCJpc0Z1bmN0aW9uIiwiZnJvbURlbHRhIiwiYm91bmRzIiwiYW5jaG9yUG9pbnQiLCJfUmVhY3QkQ29tcG9uZW50IiwiR3JpZERyYWdnYWJsZSIsInByb3BzIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2syIiwiX2RlZmluZVByb3BlcnR5MiIsImdyYXBoUHJvcHMiLCJkb21haW4iLCJyYW5nZSIsIngiLCJzdGVwIiwieSIsIm9uRHJhZ1N0YXJ0IiwiZG9jdW1lbnQiLCJhY3RpdmVFbGVtZW50IiwiYmx1ciIsInNldFN0YXRlIiwic3RhcnRYIiwiY2xpZW50WCIsInN0YXJ0WSIsImNsaWVudFkiLCJfb3B0cyRhbmNob3JQb2ludCIsImtleSIsImV2ZW50IiwiSyIsInRvVXBwZXJDYXNlIiwiZW5kIiwiY29uY2F0Iiwic3RhcnQiLCJzdGF0ZSIsIk1hdGgiLCJhYnMiLCJvdXQiLCJncmlkIiwic2NhbGVkIiwibGVmdCIsInJpZ2h0IiwidG9wIiwiYm90dG9tIiwibm9kZSIsInN2ZyIsIm93bmVyU1ZHRWxlbWVudCIsImNyZWF0ZVNWR1BvaW50IiwicG9pbnQiLCJ0b3VjaGVzIiwibGVuZ3RoIiwidG91Y2giLCJnZXRTY3JlZW5DVE0iLCJtYXRyaXhUcmFuc2Zvcm0iLCJpbnZlcnNlIiwicmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImNsaWVudExlZnQiLCJjbGllbnRUb3AiLCJkZCIsInJvb3ROb2RlIiwiZ2V0Um9vdE5vZGUiLCJjbGllbnRQb2ludCIsImdldENsaWVudFBvaW50IiwiX2NsaWVudFBvaW50IiwiX3NsaWNlZFRvQXJyYXkyIiwicmF3WCIsInJhd1kiLCJ4T3V0c2lkZSIsImRlbHRhWCIsIm1pbiIsIm1heCIsInlPdXRzaWRlIiwiZGVsdGFZIiwiX3RoaXMkcHJvcHMiLCJvbkRyYWciLCJnZXRTY2FsZWRCb3VuZHMiLCJza2lwRHJhZ091dHNpZGVPZkJvdW5kcyIsImRyYWdBcmciLCJhcHBseURlbHRhIiwidW5kZWZpbmVkIiwicG9zIiwicG9zaXRpb24iLCJwIiwiZ2V0RGVsdGEiLCJfdGhpcyRwcm9wczIiLCJvbkRyYWdTdG9wIiwib25DbGljayIsImxhc3RYIiwibGFzdFkiLCJpc0NsaWNrIiwidGlueSIsIl9wb2ludGVyIiwicG9pbnRlciIsInRhcmdldCIsIl9wb2ludGVyMiIsIl9pbmhlcml0czIiLCJfY3JlYXRlQ2xhc3MyIiwidmFsdWUiLCJyZW5kZXIiLCJfdGhpcyRwcm9wczMiLCJkaXNhYmxlZCIsInJlc3QiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMyIiwib25Nb3VzZURvd24iLCJuYXRpdmVFdmVudCIsInByZXZlbnREZWZhdWx0IiwiaXNEcmFnZ2luZyIsImNyZWF0ZUVsZW1lbnQiLCJEcmFnZ2FibGVDb3JlIiwib25TdGFydCIsIm9uU3RvcCIsImF4aXMiLCJfZXh0ZW5kczIiLCJSZWFjdCIsIkNvbXBvbmVudCIsIlByb3BUeXBlcyIsImJvb2wiLCJmdW5jIiwib25Nb3ZlIiwiR3JhcGhQcm9wc1R5cGUiLCJpc1JlcXVpcmVkIl0sInNvdXJjZXMiOlsiLi4vc3JjL2dyaWQtZHJhZ2dhYmxlLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IEdyYXBoUHJvcHNUeXBlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBEcmFnZ2FibGVDb3JlIH0gZnJvbSAnLi9kcmFnZ2FibGUnO1xuaW1wb3J0IGRlYnVnIGZyb20gJ2RlYnVnJztcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4vdXRpbHMnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJ2xvZGFzaC1lcyc7XG5pbXBvcnQgaW52YXJpYW50IGZyb20gJ2ludmFyaWFudCc7XG5pbXBvcnQgeyBwb2ludGVyIH0gZnJvbSAnZDMtc2VsZWN0aW9uJztcblxuY29uc3QgbG9nID0gZGVidWcoJ3BpZS1saWI6cGxvdDpncmlkLWRyYWdnYWJsZScpO1xuXG5leHBvcnQgY29uc3QgZGVsdGFGbiA9IChzY2FsZSwgc25hcCwgdmFsKSA9PiAoZGVsdGEpID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZCA9IGRlbHRhICsgc2NhbGUoMCk7XG4gIGNvbnN0IGludmVydGVkID0gc2NhbGUuaW52ZXJ0KG5vcm1hbGl6ZWQpO1xuXG4gIGNvbnN0IGZpeERlY2ltYWxzQXJpdGhtZXRpYyA9IChzbmFwKHZhbCArIGludmVydGVkKS50b0ZpeGVkKDQpICogMTAwMCkgLyAxMDAwO1xuXG4gIHJldHVybiBmaXhEZWNpbWFsc0FyaXRobWV0aWM7XG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYSBDb21wb25lbnQgdGhhdCBpcyBkcmFnZ2FibGUsIHdpdGhpbiBhIGJvdW5kZWQgZ3JpZC5cbiAqIEBwYXJhbSB7Kn0gb3B0c1xuICovXG5leHBvcnQgY29uc3QgZ3JpZERyYWdnYWJsZSA9IChvcHRzKSA9PiAoQ29tcCkgPT4ge1xuICBpbnZhcmlhbnQoXG4gICAgISFvcHRzICYmIGlzRnVuY3Rpb24ob3B0cy5mcm9tRGVsdGEpICYmIGlzRnVuY3Rpb24ob3B0cy5ib3VuZHMpICYmIGlzRnVuY3Rpb24ob3B0cy5hbmNob3JQb2ludCksXG4gICAgJ1lvdSBtdXN0IHN1cHBseSBhbiBvYmplY3Qgd2l0aDogeyBhbmNob3JQb2ludDogRnVuY3Rpb24sIGZyb21EZWx0YTogRnVuY3Rpb24sIGJvdW5kczogRnVuY3Rpb24gfScsXG4gICk7XG4gIHJldHVybiBjbGFzcyBHcmlkRHJhZ2dhYmxlIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgICAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICAgICAgb25EcmFnU3RhcnQ6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgb25EcmFnOiBQcm9wVHlwZXMuZnVuYyxcbiAgICAgIG9uRHJhZ1N0b3A6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgb25DbGljazogUHJvcFR5cGVzLmZ1bmMsXG4gICAgICBvbk1vdmU6IFByb3BUeXBlcy5mdW5jLFxuICAgICAgZ3JhcGhQcm9wczogR3JhcGhQcm9wc1R5cGUuaXNSZXF1aXJlZCxcbiAgICB9O1xuXG4gICAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgIHN0YXJ0WDogbnVsbCxcbiAgICAgICAgc3RhcnRZOiBudWxsLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBncmlkID0gKCkgPT4ge1xuICAgICAgY29uc3QgeyBncmFwaFByb3BzIH0gPSB0aGlzLnByb3BzO1xuICAgICAgY29uc3QgeyBzY2FsZSwgZG9tYWluLCByYW5nZSB9ID0gZ3JhcGhQcm9wcztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHg6IHNjYWxlLngoZG9tYWluLnN0ZXApIC0gc2NhbGUueCgwKSxcbiAgICAgICAgeTogc2NhbGUueShyYW5nZS5zdGVwKSAtIHNjYWxlLnkoMCksXG4gICAgICB9O1xuICAgIH07XG4gICAgb25TdGFydCA9IChlKSA9PiB7XG4gICAgICBjb25zdCB7IG9uRHJhZ1N0YXJ0IH0gPSB0aGlzLnByb3BzO1xuICAgICAgaWYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpIHtcbiAgICAgICAgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyKCk7XG4gICAgICB9XG4gICAgICB0aGlzLnNldFN0YXRlKHsgc3RhcnRYOiBlLmNsaWVudFgsIHN0YXJ0WTogZS5jbGllbnRZIH0pO1xuICAgICAgaWYgKG9uRHJhZ1N0YXJ0KSB7XG4gICAgICAgIG9uRHJhZ1N0YXJ0KCk7XG4gICAgICB9XG4gICAgfTtcbiAgICBwb3NpdGlvbiA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHsgeCwgeSB9ID0gb3B0cy5hbmNob3JQb2ludCh0aGlzLnByb3BzKTtcbiAgICAgIGNvbnN0IHsgZ3JhcGhQcm9wcyB9ID0gdGhpcy5wcm9wcztcbiAgICAgIGNvbnN0IHsgc2NhbGUsIHNuYXAgfSA9IGdyYXBoUHJvcHM7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFuY2hvclBvaW50OiB7XG4gICAgICAgICAgeCxcbiAgICAgICAgICB5LFxuICAgICAgICB9LFxuICAgICAgICB4OiBkZWx0YUZuKHNjYWxlLngsIHNuYXAueCwgeCksXG4gICAgICAgIHk6IGRlbHRhRm4oc2NhbGUueSwgc25hcC55LCB5KSxcbiAgICAgIH07XG4gICAgfTtcblxuICAgIHRpbnkgPSAoa2V5LCBldmVudCkgPT4ge1xuICAgICAgY29uc3QgSyA9IGtleS50b1VwcGVyQ2FzZSgpO1xuICAgICAgY29uc3QgZW5kID0gZXZlbnRbYGNsaWVudCR7S31gXTtcbiAgICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5zdGF0ZVtgc3RhcnQke0t9YF07XG4gICAgICBjb25zdCBkZWx0YSA9IE1hdGguYWJzKGVuZCAtIHN0YXJ0KTtcbiAgICAgIGNvbnN0IG91dCA9IGRlbHRhIDwgTWF0aC5hYnModGhpcy5ncmlkKClba2V5XSkgLyAxMDtcbiAgICAgIGxvZygnW3RpbnldIGtleTogJywga2V5LCAnZGVsdGE6ICcsIGRlbHRhLCAnb3V0OiAnLCBvdXQpO1xuICAgICAgcmV0dXJuIG91dDtcbiAgICB9O1xuXG4gICAgZ2V0U2NhbGVkQm91bmRzID0gKCkgPT4ge1xuICAgICAgY29uc3QgYm91bmRzID0gb3B0cy5ib3VuZHModGhpcy5wcm9wcywgdGhpcy5wcm9wcy5ncmFwaFByb3BzKTtcbiAgICAgIGxvZygnYm91bmRzOiAnLCBib3VuZHMpO1xuICAgICAgY29uc3QgZ3JpZCA9IHRoaXMuZ3JpZCgpO1xuXG4gICAgICBjb25zdCBzY2FsZWQgPSB7XG4gICAgICAgIGxlZnQ6IGJvdW5kcy5sZWZ0ICogZ3JpZC54LFxuICAgICAgICByaWdodDogYm91bmRzLnJpZ2h0ICogZ3JpZC54LFxuICAgICAgICB0b3A6IGJvdW5kcy50b3AgKiBncmlkLnksXG4gICAgICAgIGJvdHRvbTogYm91bmRzLmJvdHRvbSAqIGdyaWQueSxcbiAgICAgIH07XG4gICAgICBsb2coJ1tnZXRTY2FsZWRCb3VuZHNdOiAnLCBzY2FsZWQpO1xuICAgICAgcmV0dXJuIHNjYWxlZDtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogUmV0cmlldmVzIHRoZSBjb29yZGluYXRlcyBvZiBhIG1vdXNlIG9yIHRvdWNoIGV2ZW50IHJlbGF0aXZlIHRvIGFuIFNWRyBlbGVtZW50LlxuICAgICAqIFRoaXMgbWV0aG9kIGhhcyBiZWVuIG92ZXJ3cml0dGVuIGZyb20gdGhlIGQzLXNlbGVjdGlvbiBsaWJyYXJ5J3MgY2xpZW50UG9pbnQgdG8gaGFuZGxlIHRvdWNoIGV2ZW50cyBhbmQgaW1wcm92ZSBjbGFyaXR5LlxuICAgICAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZSAtIFRoZSBTVkcgZWxlbWVudC5cbiAgICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudCAtIFRoZSBtb3VzZSBvciB0b3VjaCBldmVudC5cbiAgICAgKiBAcmV0dXJucyB7QXJyYXl9IC0gQW4gYXJyYXkgY29udGFpbmluZyB0aGUgY29vcmRpbmF0ZXMgW3gsIHldIHJlbGF0aXZlIHRvIHRoZSBTVkcgZWxlbWVudC5cbiAgICAgKi9cbiAgICBnZXRDbGllbnRQb2ludCA9IChub2RlLCBldmVudCkgPT4ge1xuICAgICAgaWYgKCFub2RlIHx8ICFldmVudCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHN2ZyA9IG5vZGUub3duZXJTVkdFbGVtZW50IHx8IG5vZGU7XG5cbiAgICAgIGlmIChzdmcgJiYgc3ZnLmNyZWF0ZVNWR1BvaW50KSB7XG4gICAgICAgIGxldCBwb2ludCA9IHN2Zy5jcmVhdGVTVkdQb2ludCgpO1xuICAgICAgICAvLyBDaGVjayBpZiBpdCdzIGEgdG91Y2ggZXZlbnQgYW5kIHVzZSB0aGUgZmlyc3QgdG91Y2ggcG9pbnRcbiAgICAgICAgaWYgKGV2ZW50LnRvdWNoZXMgJiYgZXZlbnQudG91Y2hlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY29uc3QgdG91Y2ggPSBldmVudC50b3VjaGVzWzBdO1xuICAgICAgICAgIHBvaW50LnggPSB0b3VjaC5jbGllbnRYO1xuICAgICAgICAgIHBvaW50LnkgPSB0b3VjaC5jbGllbnRZO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIEZhbGwgYmFjayB0byBtb3VzZSBldmVudCBwcm9wZXJ0aWVzXG4gICAgICAgICAgcG9pbnQueCA9IGV2ZW50LmNsaWVudFg7XG4gICAgICAgICAgcG9pbnQueSA9IGV2ZW50LmNsaWVudFk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUuZ2V0U2NyZWVuQ1RNKSB7XG4gICAgICAgICAgcG9pbnQgPSBwb2ludC5tYXRyaXhUcmFuc2Zvcm0obm9kZS5nZXRTY3JlZW5DVE0oKS5pbnZlcnNlKCkpO1xuICAgICAgICAgIHJldHVybiBbcG9pbnQueCwgcG9pbnQueV07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVjdCA9IG5vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICBpZiAocmVjdCkge1xuICAgICAgICByZXR1cm4gW2V2ZW50LmNsaWVudFggLSByZWN0LmxlZnQgLSBub2RlLmNsaWVudExlZnQsIGV2ZW50LmNsaWVudFkgLSByZWN0LnRvcCAtIG5vZGUuY2xpZW50VG9wXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBza2lwRHJhZ091dHNpZGVPZkJvdW5kcyA9IChkZCwgZSwgZ3JhcGhQcm9wcykgPT4ge1xuICAgICAgLy8gSWdub3JlIGRyYWcgbW92ZW1lbnQgb3V0c2lkZSBvZiB0aGUgZG9tYWluIGFuZCByYW5nZS5cbiAgICAgIGNvbnN0IHJvb3ROb2RlID0gZ3JhcGhQcm9wcy5nZXRSb290Tm9kZSgpO1xuICAgICAgY29uc3QgY2xpZW50UG9pbnQgPSB0aGlzLmdldENsaWVudFBvaW50KHJvb3ROb2RlLCBlKTtcblxuICAgICAgaWYgKGNsaWVudFBvaW50ID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0cnVlOyAvLyBJbmRpY2F0ZSB0aGF0IHRoZSBkcmFnIGlzIG91dHNpZGUgb2YgYm91bmRzXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IFtyYXdYLCByYXdZXSA9IGNsaWVudFBvaW50O1xuICAgICAgY29uc3QgeyBzY2FsZSwgZG9tYWluLCByYW5nZSB9ID0gZ3JhcGhQcm9wcztcbiAgICAgIGxldCB4ID0gc2NhbGUueC5pbnZlcnQocmF3WCk7XG4gICAgICBsZXQgeSA9IHNjYWxlLnkuaW52ZXJ0KHJhd1kpO1xuXG4gICAgICBjb25zdCB4T3V0c2lkZSA9IChkZC5kZWx0YVggPiAwICYmIHggPCBkb21haW4ubWluKSB8fCAoZGQuZGVsdGFYIDwgMCAmJiB4ID4gZG9tYWluLm1heCk7XG4gICAgICBjb25zdCB5T3V0c2lkZSA9IChkZC5kZWx0YVkgPiAwICYmIHkgPiByYW5nZS5tYXgpIHx8IChkZC5kZWx0YVkgPCAwICYmIHkgPCByYW5nZS5taW4pO1xuICAgICAgcmV0dXJuIHhPdXRzaWRlIHx8IHlPdXRzaWRlO1xuICAgIH07XG5cbiAgICBvbkRyYWcgPSAoZSwgZGQpID0+IHtcbiAgICAgIGNvbnN0IHsgb25EcmFnLCBncmFwaFByb3BzIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgICBpZiAoIW9uRHJhZykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGJvdW5kcyA9IHRoaXMuZ2V0U2NhbGVkQm91bmRzKCk7XG5cbiAgICAgIGlmIChkZC5kZWx0YVggPCAwICYmIGRkLmRlbHRhWCA8IGJvdW5kcy5sZWZ0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGRkLmRlbHRhWCA+IDAgJiYgZGQuZGVsdGFYID4gYm91bmRzLnJpZ2h0KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKGRkLmRlbHRhWSA8IDAgJiYgZGQuZGVsdGFZIDwgYm91bmRzLnRvcCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChkZC5kZWx0YVkgPiAwICYmIGRkLmRlbHRhWSA+IGJvdW5kcy5ib3R0b20pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5za2lwRHJhZ091dHNpZGVPZkJvdW5kcyhkZCwgZSwgZ3JhcGhQcm9wcykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBkcmFnQXJnID0gdGhpcy5hcHBseURlbHRhKHsgeDogZGQuZGVsdGFYLCB5OiBkZC5kZWx0YVkgfSk7XG5cbiAgICAgIGlmIChkcmFnQXJnICE9PSB1bmRlZmluZWQgfHwgZHJhZ0FyZyAhPT0gbnVsbCkge1xuICAgICAgICBvbkRyYWcoZHJhZ0FyZyk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGdldERlbHRhID0gKHBvaW50KSA9PiB7XG4gICAgICBjb25zdCBwb3MgPSB0aGlzLnBvc2l0aW9uKCk7XG5cbiAgICAgIGNvbnN0IHAgPSB7XG4gICAgICAgIHg6IHBvcy54KHBvaW50LngpLFxuICAgICAgICB5OiBwb3MueShwb2ludC55KSxcbiAgICAgIH07XG5cbiAgICAgIHJldHVybiB1dGlscy5nZXREZWx0YShwb3MuYW5jaG9yUG9pbnQsIHApO1xuICAgIH07XG5cbiAgICBhcHBseURlbHRhID0gKHBvaW50KSA9PiB7XG4gICAgICBjb25zdCBkZWx0YSA9IHRoaXMuZ2V0RGVsdGEocG9pbnQpO1xuICAgICAgbG9nKCdbYXBwbHlEZWx0YV0gZGVsdGE6JywgZGVsdGEpO1xuICAgICAgcmV0dXJuIG9wdHMuZnJvbURlbHRhKHRoaXMucHJvcHMsIGRlbHRhKTtcbiAgICB9O1xuXG4gICAgb25TdG9wID0gKGUsIGRkKSA9PiB7XG4gICAgICBsb2coJ1tvblN0b3BdIGRkOicsIGRkKTtcbiAgICAgIGNvbnN0IHsgb25EcmFnU3RvcCwgb25DbGljayB9ID0gdGhpcy5wcm9wcztcblxuICAgICAgaWYgKG9uRHJhZ1N0b3ApIHtcbiAgICAgICAgb25EcmFnU3RvcCgpO1xuICAgICAgfVxuXG4gICAgICBsb2coJ1tvblN0b3BdIGxhc3RYL1k6ICcsIGRkLmxhc3RYLCBkZC5sYXN0WSk7XG4gICAgICBjb25zdCBpc0NsaWNrID0gdGhpcy50aW55KCd4JywgZSkgJiYgdGhpcy50aW55KCd5JywgZSk7XG5cbiAgICAgIGlmIChpc0NsaWNrKSB7XG4gICAgICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICAgICAgbG9nKCdjYWxsIG9uQ2xpY2snKTtcbiAgICAgICAgICB0aGlzLnNldFN0YXRlKHsgc3RhcnRYOiBudWxsIH0pO1xuICAgICAgICAgIGNvbnN0IHsgZ3JhcGhQcm9wcyB9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgICBjb25zdCB7IHNjYWxlLCBzbmFwIH0gPSBncmFwaFByb3BzO1xuICAgICAgICAgIGNvbnN0IFtyYXdYLCByYXdZXSA9IHBvaW50ZXIoZSwgZS50YXJnZXQpO1xuICAgICAgICAgIGxldCB4ID0gc2NhbGUueC5pbnZlcnQocmF3WCk7XG4gICAgICAgICAgbGV0IHkgPSBzY2FsZS55LmludmVydChyYXdZKTtcbiAgICAgICAgICB4ID0gc25hcC54KHgpO1xuICAgICAgICAgIHkgPSBzbmFwLnkoeSk7XG4gICAgICAgICAgb25DbGljayh7IHgsIHkgfSk7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBzdGFydFg6IG51bGwsIHN0YXJ0WTogbnVsbCB9KTtcbiAgICAgIC8vIHJldHVybiBmYWxzZSB0byBwcmV2ZW50IHN0YXRlIHVwZGF0ZXMgaW4gdGhlIHVuZGVybHlpbmcgZHJhZ2dhYmxlIC0gYSBtb3ZlIHdpbGwgaGF2ZSB0cmlnZ2VyZWQgYW4gdXBkYXRlIGFscmVhZHkuXG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfTtcblxuICAgIHJlbmRlcigpIHtcbiAgICAgIGNvbnN0IHsgZGlzYWJsZWQsIC4uLnJlc3QgfSA9IHRoaXMucHJvcHM7XG4gICAgICBjb25zdCBncmlkID0gdGhpcy5ncmlkKCk7XG5cbiAgICAgIC8vIHByZXZlbnQgdGhlIHRleHQgc2VsZWN0IGljb24gZnJvbSByZW5kZXJpbmcuXG4gICAgICBjb25zdCBvbk1vdXNlRG93biA9IChlKSA9PiBlLm5hdGl2ZUV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgIC8qKlxuICAgICAgICogVE9ETzogVGhpcyBzaG91bGRudCBiZSBuZWNlc3NhcnksIHdlIHNob3VsZCBiZSBhYmxlIHRvIHVzZSB0aGUgci1kIGNsYXNzbmFtZXMuXG4gICAgICAgKiBCdXQgdGhleSBhcmVuJ3QgYmVpbmcgdW5zZXQuIElmIHdlIGNvbnRpbnVlIHdpdGggdGhpcyBsaWIsIHdlJ2xsIGhhdmUgdG8gZml4IHRoaXMuXG4gICAgICAgKi9cbiAgICAgIGNvbnN0IGlzRHJhZ2dpbmcgPSB0aGlzLnN0YXRlID8gISF0aGlzLnN0YXRlLnN0YXJ0WCA6IGZhbHNlO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8RHJhZ2dhYmxlQ29yZVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBvbk1vdXNlRG93bj17b25Nb3VzZURvd259XG4gICAgICAgICAgb25TdGFydD17dGhpcy5vblN0YXJ0fVxuICAgICAgICAgIG9uRHJhZz17dGhpcy5vbkRyYWd9XG4gICAgICAgICAgb25TdG9wPXt0aGlzLm9uU3RvcH1cbiAgICAgICAgICBheGlzPXtvcHRzLmF4aXMgfHwgJ2JvdGgnfVxuICAgICAgICAgIGdyaWQ9e1tncmlkLngsIGdyaWQueV19XG4gICAgICAgID5cbiAgICAgICAgICA8Q29tcCB7Li4ucmVzdH0gZGlzYWJsZWQ9e2Rpc2FibGVkfSBpc0RyYWdnaW5nPXtpc0RyYWdnaW5nfSAvPlxuICAgICAgICA8L0RyYWdnYWJsZUNvcmU+XG4gICAgICApO1xuICAgIH1cbiAgfTtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsTUFBQSxHQUFBRixPQUFBO0FBQ0EsSUFBQUcsVUFBQSxHQUFBSCxPQUFBO0FBQ0EsSUFBQUksTUFBQSxHQUFBTCxzQkFBQSxDQUFBQyxPQUFB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
|
|
307
|
+
//# sourceMappingURL=grid-draggable.js.map
|
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=
|
|
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
|
package/lib/root.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"root.js","names":["_react","_interopRequireDefault","require","_styles","_propTypes","_d3Selection","_renderUi","_editableHtmlTipTap","_types","_label","_utils","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","Boolean","prototype","valueOf","StyledRoot","styled","_ref","theme","border","concat","color","primaryLight","defaults","TEXT","backgroundColor","palette","common","white","touchAction","position","boxSizing","Wrapper","display","DefineChartSvg","paddingLeft","overflow","ChartSvg","GraphBox","cursor","userSelect","GraphTitle","_ref2","fontSize","typography","padding","spacing","textAlign","pointerEvents","marginRight","ChartTitle","_ref3","TopPixelGuides","paddingTop","TopPixelIndicator","flexDirection","alignItems","width","SidePixelGuides","SidePixelIndicator","height","marginBottom","Root","exports","_React$Component","props","_this","_classCallCheck2","g","event","_this$props","graphProps","onMouseMove","scale","snap","coords","pointer","node","x","invert","y","snapped","newValue","side","_this$props2","labels","onChangeLabels","isChart","titleElement","titleRef","titleHeight","clientHeight","setState","prevTitle","title","resizeObserver","ResizeObserver","setupVisibilityObserver","setTimeout","measureTitleHeight","entries","_iterator","_step","entry","_entry$contentRect","contentRect","err","observe","disconnect","state","_inherits2","_createClass2","key","componentDidMount","select","on","mouseMove","bind","componentWillUnmount","cleanupVisibilityObserver","componentDidUpdate","prevProps","render","_this2","_this$props3","disabledTitle","disabledLabels","labelsPlaceholders","titlePlaceholder","children","defineChart","onChangeTitle","showLabels","showPixelGuides","showTitle","rootRef","_this$props3$mathMlOp","mathMlOptions","labelsCharactersLimit","_graphProps$size","size","_graphProps$size$widt","_graphProps$size$heig","domain","range","topPadding","leftPadding","isEmptyString","extractTextFromHTML","left","isEmptyObject","rightPadding","right","finalWidth","finalHeight","activeTitlePlugins","actualHeight","nbOfVerticalLines","parseInt","nbOfHorizontalLines","sideGridlinesPadding","createElement","style","marginLeft","_toConsumableArray2","map","Readable","ref","className","dangerouslySetInnerHTML","__html","markup","onChange","placeholder","toolbarOpts","noPadding","noBorder","activePlugins","disableScrollbar","onKeyDown","handleKeyDown","text","top","disabledLabel","graphHeight","graphWidth","onChangeLabel","charactersLimit","isChartLeftLabel","isDefineChartLeftLabel","transform","marginTop","reverse","bottom","isChartBottomLabel","isDefineChartBottomLabel","React","Component","PropTypes","string","ChildrenType","bool","GraphPropsType","isRequired","object","func","number","_default"],"sources":["../src/root.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\nimport { pointer, select } from 'd3-selection';\n\nimport { color, Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport { ChildrenType, GraphPropsType } from './types';\nimport Label from './label';\nimport { extractTextFromHTML, isEmptyObject, isEmptyString } from './utils';\n\nconst StyledRoot = styled('div')(({ theme }) => ({\n border: `solid 1px ${color.primaryLight()}`,\n color: color.defaults.TEXT,\n backgroundColor: theme.palette.common.white,\n touchAction: 'none',\n position: 'relative',\n boxSizing: 'unset', // to override the default border-box in IBX that breaks the component width layout\n}));\n\nconst Wrapper = styled('div')({\n display: 'flex',\n position: 'relative',\n});\n\nconst DefineChartSvg = styled('svg')({\n paddingLeft: '50px',\n overflow: 'visible',\n});\n\nconst ChartSvg = styled('svg')({\n overflow: 'visible',\n});\n\nconst GraphBox = styled('g')({\n cursor: 'pointer',\n userSelect: 'none',\n});\n\nconst GraphTitle = styled('div')(({ theme }) => ({\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 2,\n padding: `${theme.spacing(1.5)} ${theme.spacing(0.5)} 0`,\n textAlign: 'center',\n '&.disabled': {\n pointerEvents: 'none',\n },\n '&.rightMargin': {\n marginRight: '74px',\n },\n}));\n\nconst ChartTitle = styled('div')(({ theme }) => ({\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 4,\n padding: `${theme.spacing(1.5)} ${theme.spacing(0.5)} 0`,\n textAlign: 'center',\n '&.disabled': {\n pointerEvents: 'none',\n },\n '&.rightMargin': {\n marginRight: '74px',\n },\n}));\n\nconst TopPixelGuides = styled('div')({\n display: 'flex',\n paddingTop: '6px',\n});\n\nconst TopPixelIndicator = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n width: '100px',\n pointerEvents: 'none',\n userSelect: 'none',\n});\n\nconst SidePixelGuides = styled('div')({\n width: '70px',\n display: 'flex',\n flexDirection: 'column',\n marginRight: '6px',\n});\n\nconst SidePixelIndicator = styled('div')({\n textAlign: 'right',\n height: '20px',\n pointerEvents: 'none',\n userSelect: 'none',\n '&:not(:last-child)': {\n marginBottom: '80px',\n },\n});\n\nexport class Root extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n titleHeight: 0,\n };\n this.resizeObserver = null;\n }\n\n static propTypes = {\n title: PropTypes.string,\n children: ChildrenType,\n defineChart: PropTypes.bool,\n disabledLabels: PropTypes.bool,\n disabledTitle: PropTypes.bool,\n graphProps: GraphPropsType.isRequired,\n isChart: PropTypes.bool,\n labels: PropTypes.object,\n labelsPlaceholders: PropTypes.object,\n onChangeTitle: PropTypes.func,\n onMouseMove: PropTypes.func,\n showLabels: PropTypes.bool,\n showTitle: PropTypes.bool,\n showPixelGuides: PropTypes.bool,\n rootRef: PropTypes.func,\n onChangeLabels: PropTypes.func,\n titlePlaceholder: PropTypes.string,\n mathMlOptions: PropTypes.object,\n labelsCharactersLimit: PropTypes.number,\n };\n\n mouseMove = (g, event) => {\n const { graphProps, onMouseMove } = this.props;\n\n if (!onMouseMove) {\n return;\n }\n\n const { scale, snap } = graphProps;\n const coords = pointer(event, g.node());\n const x = scale.x.invert(coords[0]);\n const y = scale.y.invert(coords[1]);\n\n const snapped = {\n x: snap.x(x),\n y: snap.y(y),\n };\n\n onMouseMove(snapped);\n };\n\n componentDidMount() {\n const g = select(this.g);\n g.on('mousemove', this.mouseMove.bind(this, g));\n this.measureTitleHeight();\n this.setupVisibilityObserver();\n }\n\n componentWillUnmount() {\n const g = select(this.g);\n g.on('mousemove', null);\n this.cleanupVisibilityObserver();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.title !== this.props.title) {\n this.measureTitleHeight();\n }\n }\n\n onChangeLabel = (newValue, side) => {\n const { labels, onChangeLabels, isChart } = this.props;\n\n if (!onChangeLabels) {\n return;\n }\n\n if (isChart) {\n if (side === 'left') {\n onChangeLabels('range', newValue);\n } else {\n onChangeLabels('domain', newValue);\n }\n\n return;\n }\n\n onChangeLabels({\n ...labels,\n [side]: newValue,\n });\n };\n\n measureTitleHeight = () => {\n const titleElement = this.titleRef;\n if (titleElement) {\n const titleHeight = titleElement.clientHeight;\n this.setState({ titleHeight, prevTitle: this.props.title });\n\n if (!this.resizeObserver && typeof ResizeObserver !== 'undefined') {\n this.setupVisibilityObserver();\n }\n }\n };\n\n handleKeyDown = () => {\n setTimeout(() => {\n this.measureTitleHeight();\n }, 0);\n };\n\n // handle edge case where chart is hidden with display:none and then shown with display:block\n setupVisibilityObserver = () => {\n if (typeof ResizeObserver !== 'undefined' && this.titleRef) {\n this.resizeObserver = new ResizeObserver((entries) => {\n for (let entry of entries) {\n const { width, height } = entry.contentRect;\n // trigger if element becomes visible and we haven't measured this height yet\n if (width > 0 && height > 0) {\n setTimeout(() => {\n this.measureTitleHeight();\n }, 10);\n break;\n }\n }\n });\n\n this.resizeObserver.observe(this.titleRef);\n }\n };\n\n cleanupVisibilityObserver = () => {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n };\n\n render() {\n const {\n disabledTitle,\n disabledLabels,\n labels,\n labelsPlaceholders,\n titlePlaceholder,\n graphProps,\n children,\n defineChart,\n onChangeTitle,\n isChart,\n showLabels,\n showPixelGuides,\n showTitle,\n title,\n rootRef,\n mathMlOptions = {},\n labelsCharactersLimit,\n } = this.props;\n const {\n size: { width = 500, height = 500 },\n domain,\n range,\n } = graphProps;\n\n const topPadding = 40;\n const leftPadding = isEmptyString(extractTextFromHTML(labels?.left)) && isEmptyObject(labelsPlaceholders) ? 48 : 70;\n const rightPadding =\n isEmptyString(extractTextFromHTML(labels?.right)) && isEmptyObject(labelsPlaceholders) ? 48 : 70;\n const finalWidth = width + leftPadding + rightPadding + (domain.padding || 0) * 2;\n const finalHeight = height + topPadding * 2 + (range.padding || 0) * 2;\n\n const activeTitlePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'superscript',\n 'subscript',\n 'strikethrough',\n 'math',\n // 'languageCharacters'\n ];\n\n const actualHeight = defineChart && showPixelGuides ? height - 160 : height;\n const nbOfVerticalLines = parseInt(width / 100);\n const nbOfHorizontalLines = parseInt(actualHeight / 100);\n const sideGridlinesPadding = parseInt(actualHeight % 100);\n const { titleHeight } = this.state;\n\n return (\n <StyledRoot>\n {showPixelGuides && (\n <TopPixelGuides style={{ marginLeft: isChart ? 80 : showLabels ? 30 : 10 }}>\n {[...Array(nbOfVerticalLines + 1).keys()].map((value) => (\n <Readable false key={`top-guide-${value}`}>\n <TopPixelIndicator>\n <div>{value * 100}px</div>\n <div>|</div>\n </TopPixelIndicator>\n </Readable>\n ))}\n </TopPixelGuides>\n )}\n {showTitle &&\n (disabledTitle ? (\n <div\n ref={(r) => (this.titleRef = r)}\n style={{\n ...(isChart && { width: finalWidth }),\n ...(isEmptyString(extractTextFromHTML(title)) && { display: 'none' }),\n }}\n >\n {isChart ? (\n <ChartTitle className=\"disabled\" dangerouslySetInnerHTML={{ __html: title || '' }} />\n ) : (\n <GraphTitle className=\"disabled\" dangerouslySetInnerHTML={{ __html: title || '' }} />\n )}\n </div>\n ) : (\n <div ref={(r) => (this.titleRef = r)}>\n {isChart ? (\n <ChartTitle className={showPixelGuides ? 'rightMargin' : ''}>\n <EditableHtml\n style={\n isChart && {\n width: finalWidth,\n }\n }\n markup={title || ''}\n onChange={onChangeTitle}\n placeholder={\n (defineChart && titlePlaceholder) ||\n (!disabledTitle && 'Click here to add a title for this graph')\n }\n toolbarOpts={{ noPadding: true, noBorder: true }}\n activePlugins={activeTitlePlugins}\n disableScrollbar\n onKeyDown={this.handleKeyDown}\n />\n </ChartTitle>\n ) : (\n <GraphTitle className={showPixelGuides ? 'rightMargin' : ''}>\n <EditableHtml\n style={\n isChart && {\n width: finalWidth,\n }\n }\n markup={title || ''}\n onChange={onChangeTitle}\n placeholder={\n (defineChart && titlePlaceholder) ||\n (!disabledTitle && 'Click here to add a title for this graph')\n }\n toolbarOpts={{ noPadding: true, noBorder: true }}\n activePlugins={activeTitlePlugins}\n disableScrollbar\n onKeyDown={this.handleKeyDown}\n />\n </GraphTitle>\n )}\n </div>\n ))}\n {showLabels && !isChart && (\n <Label\n side=\"top\"\n text={labels.top}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.top}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n onChange={(value) => this.onChangeLabel(value, 'top')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n <Wrapper>\n {showLabels && (\n <Label\n side=\"left\"\n text={labels.left}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.left}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n isChartLeftLabel={isChart && !defineChart}\n isDefineChartLeftLabel={isChart && defineChart}\n onChange={(value) => this.onChangeLabel(value, 'left')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n {defineChart ? (\n <DefineChartSvg width={finalWidth} height={finalHeight}>\n <GraphBox\n ref={(r) => {\n this.g = r;\n if (rootRef) {\n rootRef(r);\n }\n }}\n transform={`translate(${leftPadding + (domain.padding || 0)}, ${topPadding + (range.padding || 0)})`}\n >\n {children}\n </GraphBox>\n </DefineChartSvg>\n ) : (\n <ChartSvg width={finalWidth} height={finalHeight}>\n <GraphBox\n ref={(r) => {\n this.g = r;\n if (rootRef) {\n rootRef(r);\n }\n }}\n transform={`translate(${leftPadding + (domain.padding || 0)}, ${topPadding + (range.padding || 0)})`}\n >\n {children}\n </GraphBox>\n </ChartSvg>\n )}\n {showLabels && !isChart && (\n <Label\n side=\"right\"\n text={labels.right}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.right}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n onChange={(value) => this.onChangeLabel(value, 'right')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n {showPixelGuides && (\n <SidePixelGuides\n style={{\n paddingTop: sideGridlinesPadding,\n marginTop: 31,\n }}\n >\n {[...Array(nbOfHorizontalLines + 1).keys()].reverse().map((value) => (\n <Readable false key={`top-guide-${value}`}>\n <SidePixelIndicator>━ {value * 100}px</SidePixelIndicator>\n </Readable>\n ))}\n </SidePixelGuides>\n )}\n </Wrapper>\n {showLabels && (\n <Label\n side=\"bottom\"\n text={labels.bottom}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.bottom}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n titleHeight={titleHeight}\n isChartBottomLabel={isChart && !defineChart}\n isDefineChartBottomLabel={isChart && defineChart}\n onChange={(value) => this.onChangeLabel(value, 'bottom')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n </StyledRoot>\n );\n }\n}\n\nexport default Root;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"root.js","names":["_react","_interopRequireDefault","require","_styles","_propTypes","_d3Selection","_renderUi","_editableHtmlTipTap","_types","_label","_utils","_createForOfIteratorHelper","r","e","t","Symbol","iterator","Array","isArray","_unsupportedIterableToArray","length","_n","F","s","n","done","value","f","TypeError","o","a","u","call","next","_arrayLikeToArray","toString","slice","constructor","name","from","test","ownKeys","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","Boolean","prototype","valueOf","StyledRoot","styled","_ref","theme","border","concat","color","primaryLight","defaults","TEXT","backgroundColor","palette","common","white","touchAction","position","boxSizing","Wrapper","display","DefineChartSvg","paddingLeft","overflow","ChartSvg","GraphBox","cursor","userSelect","GraphTitle","_ref2","fontSize","typography","padding","spacing","textAlign","pointerEvents","marginRight","ChartTitle","_ref3","TopPixelGuides","paddingTop","TopPixelIndicator","flexDirection","alignItems","width","SidePixelGuides","SidePixelIndicator","height","marginBottom","Root","exports","_React$Component","props","_this","_classCallCheck2","g","event","_this$props","graphProps","onMouseMove","scale","snap","coords","pointer","node","x","invert","y","snapped","newValue","side","_this$props2","labels","onChangeLabels","isChart","titleElement","titleRef","titleHeight","clientHeight","setState","prevTitle","title","resizeObserver","ResizeObserver","setupVisibilityObserver","setTimeout","measureTitleHeight","entries","_iterator","_step","entry","_entry$contentRect","contentRect","err","observe","disconnect","state","_inherits2","_createClass2","key","componentDidMount","select","on","mouseMove","bind","componentWillUnmount","cleanupVisibilityObserver","componentDidUpdate","prevProps","render","_this2","_this$props3","disabledTitle","disabledLabels","labelsPlaceholders","titlePlaceholder","children","defineChart","onChangeTitle","showLabels","showPixelGuides","showTitle","rootRef","_this$props3$mathMlOp","mathMlOptions","labelsCharactersLimit","_graphProps$size","size","_graphProps$size$widt","_graphProps$size$heig","domain","range","topPadding","leftPadding","isEmptyString","extractTextFromHTML","left","isEmptyObject","rightPadding","right","finalWidth","finalHeight","activeTitlePlugins","actualHeight","nbOfVerticalLines","parseInt","nbOfHorizontalLines","sideGridlinesPadding","createElement","style","marginLeft","_toConsumableArray2","map","Readable","ref","className","dangerouslySetInnerHTML","__html","_extends2","markup","onChange","placeholder","toolbarOpts","noPadding","noBorder","activePlugins","disableScrollbar","onKeyDown","handleKeyDown","text","top","disabledLabel","graphHeight","graphWidth","onChangeLabel","charactersLimit","isChartLeftLabel","isDefineChartLeftLabel","transform","marginTop","reverse","bottom","isChartBottomLabel","isDefineChartBottomLabel","React","Component","PropTypes","string","ChildrenType","bool","GraphPropsType","isRequired","object","func","number","_default"],"sources":["../src/root.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\nimport { pointer, select } from 'd3-selection';\n\nimport { color, Readable } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\nimport { ChildrenType, GraphPropsType } from './types';\nimport Label from './label';\nimport { extractTextFromHTML, isEmptyObject, isEmptyString } from './utils';\n\nconst StyledRoot = styled('div')(({ theme }) => ({\n border: `solid 1px ${color.primaryLight()}`,\n color: color.defaults.TEXT,\n backgroundColor: theme.palette.common.white,\n touchAction: 'none',\n position: 'relative',\n boxSizing: 'unset', // to override the default border-box in IBX that breaks the component width layout\n}));\n\nconst Wrapper = styled('div')({\n display: 'flex',\n position: 'relative',\n});\n\nconst DefineChartSvg = styled('svg')({\n paddingLeft: '50px',\n overflow: 'visible',\n});\n\nconst ChartSvg = styled('svg')({\n overflow: 'visible',\n});\n\nconst GraphBox = styled('g')({\n cursor: 'pointer',\n userSelect: 'none',\n});\n\nconst GraphTitle = styled('div')(({ theme }) => ({\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 2,\n padding: `${theme.spacing(1.5)} ${theme.spacing(0.5)} 0`,\n textAlign: 'center',\n '&.disabled': {\n pointerEvents: 'none',\n },\n '&.rightMargin': {\n marginRight: '74px',\n },\n}));\n\nconst ChartTitle = styled('div')(({ theme }) => ({\n color: color.defaults.TEXT,\n fontSize: theme.typography.fontSize + 4,\n padding: `${theme.spacing(1.5)} ${theme.spacing(0.5)} 0`,\n textAlign: 'center',\n '&.disabled': {\n pointerEvents: 'none',\n },\n '&.rightMargin': {\n marginRight: '74px',\n },\n}));\n\nconst TopPixelGuides = styled('div')({\n display: 'flex',\n paddingTop: '6px',\n});\n\nconst TopPixelIndicator = styled('div')({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n width: '100px',\n pointerEvents: 'none',\n userSelect: 'none',\n});\n\nconst SidePixelGuides = styled('div')({\n width: '70px',\n display: 'flex',\n flexDirection: 'column',\n marginRight: '6px',\n});\n\nconst SidePixelIndicator = styled('div')({\n textAlign: 'right',\n height: '20px',\n pointerEvents: 'none',\n userSelect: 'none',\n '&:not(:last-child)': {\n marginBottom: '80px',\n },\n});\n\nexport class Root extends React.Component {\n constructor(props) {\n super(props);\n this.state = {\n titleHeight: 0,\n };\n this.resizeObserver = null;\n }\n\n static propTypes = {\n title: PropTypes.string,\n children: ChildrenType,\n defineChart: PropTypes.bool,\n disabledLabels: PropTypes.bool,\n disabledTitle: PropTypes.bool,\n graphProps: GraphPropsType.isRequired,\n isChart: PropTypes.bool,\n labels: PropTypes.object,\n labelsPlaceholders: PropTypes.object,\n onChangeTitle: PropTypes.func,\n onMouseMove: PropTypes.func,\n showLabels: PropTypes.bool,\n showTitle: PropTypes.bool,\n showPixelGuides: PropTypes.bool,\n rootRef: PropTypes.func,\n onChangeLabels: PropTypes.func,\n titlePlaceholder: PropTypes.string,\n mathMlOptions: PropTypes.object,\n labelsCharactersLimit: PropTypes.number,\n };\n\n mouseMove = (g, event) => {\n const { graphProps, onMouseMove } = this.props;\n\n if (!onMouseMove) {\n return;\n }\n\n const { scale, snap } = graphProps;\n const coords = pointer(event, g.node());\n const x = scale.x.invert(coords[0]);\n const y = scale.y.invert(coords[1]);\n\n const snapped = {\n x: snap.x(x),\n y: snap.y(y),\n };\n\n onMouseMove(snapped);\n };\n\n componentDidMount() {\n const g = select(this.g);\n g.on('mousemove', this.mouseMove.bind(this, g));\n this.measureTitleHeight();\n this.setupVisibilityObserver();\n }\n\n componentWillUnmount() {\n const g = select(this.g);\n g.on('mousemove', null);\n this.cleanupVisibilityObserver();\n }\n\n componentDidUpdate(prevProps) {\n if (prevProps.title !== this.props.title) {\n this.measureTitleHeight();\n }\n }\n\n onChangeLabel = (newValue, side) => {\n const { labels, onChangeLabels, isChart } = this.props;\n\n if (!onChangeLabels) {\n return;\n }\n\n if (isChart) {\n if (side === 'left') {\n onChangeLabels('range', newValue);\n } else {\n onChangeLabels('domain', newValue);\n }\n\n return;\n }\n\n onChangeLabels({\n ...labels,\n [side]: newValue,\n });\n };\n\n measureTitleHeight = () => {\n const titleElement = this.titleRef;\n if (titleElement) {\n const titleHeight = titleElement.clientHeight;\n this.setState({ titleHeight, prevTitle: this.props.title });\n\n if (!this.resizeObserver && typeof ResizeObserver !== 'undefined') {\n this.setupVisibilityObserver();\n }\n }\n };\n\n handleKeyDown = () => {\n setTimeout(() => {\n this.measureTitleHeight();\n }, 0);\n };\n\n // handle edge case where chart is hidden with display:none and then shown with display:block\n setupVisibilityObserver = () => {\n if (typeof ResizeObserver !== 'undefined' && this.titleRef) {\n this.resizeObserver = new ResizeObserver((entries) => {\n for (let entry of entries) {\n const { width, height } = entry.contentRect;\n // trigger if element becomes visible and we haven't measured this height yet\n if (width > 0 && height > 0) {\n setTimeout(() => {\n this.measureTitleHeight();\n }, 10);\n break;\n }\n }\n });\n\n this.resizeObserver.observe(this.titleRef);\n }\n };\n\n cleanupVisibilityObserver = () => {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n this.resizeObserver = null;\n }\n };\n\n render() {\n const {\n disabledTitle,\n disabledLabels,\n labels,\n labelsPlaceholders,\n titlePlaceholder,\n graphProps,\n children,\n defineChart,\n onChangeTitle,\n isChart,\n showLabels,\n showPixelGuides,\n showTitle,\n title,\n rootRef,\n mathMlOptions = {},\n labelsCharactersLimit,\n } = this.props;\n const {\n size: { width = 500, height = 500 },\n domain,\n range,\n } = graphProps;\n\n const topPadding = 40;\n const leftPadding = isEmptyString(extractTextFromHTML(labels?.left)) && isEmptyObject(labelsPlaceholders) ? 48 : 70;\n const rightPadding =\n isEmptyString(extractTextFromHTML(labels?.right)) && isEmptyObject(labelsPlaceholders) ? 48 : 70;\n const finalWidth = width + leftPadding + rightPadding + (domain.padding || 0) * 2;\n const finalHeight = height + topPadding * 2 + (range.padding || 0) * 2;\n\n const activeTitlePlugins = [\n 'bold',\n 'italic',\n 'underline',\n 'superscript',\n 'subscript',\n 'strikethrough',\n 'math',\n // 'languageCharacters'\n ];\n\n const actualHeight = defineChart && showPixelGuides ? height - 160 : height;\n const nbOfVerticalLines = parseInt(width / 100);\n const nbOfHorizontalLines = parseInt(actualHeight / 100);\n const sideGridlinesPadding = parseInt(actualHeight % 100);\n const { titleHeight } = this.state;\n\n return (\n <StyledRoot>\n {showPixelGuides && (\n <TopPixelGuides style={{ marginLeft: isChart ? 80 : showLabels ? 30 : 10 }}>\n {[...Array(nbOfVerticalLines + 1).keys()].map((value) => (\n <Readable false key={`top-guide-${value}`}>\n <TopPixelIndicator>\n <div>{value * 100}px</div>\n <div>|</div>\n </TopPixelIndicator>\n </Readable>\n ))}\n </TopPixelGuides>\n )}\n {showTitle &&\n (disabledTitle ? (\n <div\n ref={(r) => (this.titleRef = r)}\n style={{\n ...(isChart && { width: finalWidth }),\n ...(isEmptyString(extractTextFromHTML(title)) && { display: 'none' }),\n }}\n >\n {isChart ? (\n <ChartTitle className=\"disabled\" dangerouslySetInnerHTML={{ __html: title || '' }} />\n ) : (\n <GraphTitle className=\"disabled\" dangerouslySetInnerHTML={{ __html: title || '' }} />\n )}\n </div>\n ) : (\n <div ref={(r) => (this.titleRef = r)}>\n {isChart ? (\n <ChartTitle className={showPixelGuides ? 'rightMargin' : ''}>\n <EditableHtml\n {...(isChart && {\n width: finalWidth,\n })}\n markup={title || ''}\n onChange={onChangeTitle}\n placeholder={\n (defineChart && titlePlaceholder) ||\n (!disabledTitle && 'Click here to add a title for this graph')\n }\n toolbarOpts={{ noPadding: true, noBorder: true }}\n activePlugins={activeTitlePlugins}\n disableScrollbar\n onKeyDown={this.handleKeyDown}\n />\n </ChartTitle>\n ) : (\n <GraphTitle className={showPixelGuides ? 'rightMargin' : ''}>\n <EditableHtml\n {...(isChart && {\n width: finalWidth,\n })}\n markup={title || ''}\n onChange={onChangeTitle}\n placeholder={\n (defineChart && titlePlaceholder) ||\n (!disabledTitle && 'Click here to add a title for this graph')\n }\n toolbarOpts={{ noPadding: true, noBorder: true }}\n activePlugins={activeTitlePlugins}\n disableScrollbar\n onKeyDown={this.handleKeyDown}\n />\n </GraphTitle>\n )}\n </div>\n ))}\n {showLabels && !isChart && (\n <Label\n side=\"top\"\n text={labels.top}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.top}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n onChange={(value) => this.onChangeLabel(value, 'top')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n <Wrapper>\n {showLabels && (\n <Label\n side=\"left\"\n text={labels.left}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.left}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n isChartLeftLabel={isChart && !defineChart}\n isDefineChartLeftLabel={isChart && defineChart}\n onChange={(value) => this.onChangeLabel(value, 'left')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n {defineChart ? (\n <DefineChartSvg width={finalWidth} height={finalHeight}>\n <GraphBox\n ref={(r) => {\n this.g = r;\n if (rootRef) {\n rootRef(r);\n }\n }}\n transform={`translate(${leftPadding + (domain.padding || 0)}, ${topPadding + (range.padding || 0)})`}\n >\n {children}\n </GraphBox>\n </DefineChartSvg>\n ) : (\n <ChartSvg width={finalWidth} height={finalHeight}>\n <GraphBox\n ref={(r) => {\n this.g = r;\n if (rootRef) {\n rootRef(r);\n }\n }}\n transform={`translate(${leftPadding + (domain.padding || 0)}, ${topPadding + (range.padding || 0)})`}\n >\n {children}\n </GraphBox>\n </ChartSvg>\n )}\n {showLabels && !isChart && (\n <Label\n side=\"right\"\n text={labels.right}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.right}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n onChange={(value) => this.onChangeLabel(value, 'right')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n {showPixelGuides && (\n <SidePixelGuides\n style={{\n paddingTop: sideGridlinesPadding,\n marginTop: 31,\n }}\n >\n {[...Array(nbOfHorizontalLines + 1).keys()].reverse().map((value) => (\n <Readable false key={`top-guide-${value}`}>\n <SidePixelIndicator>━ {value * 100}px</SidePixelIndicator>\n </Readable>\n ))}\n </SidePixelGuides>\n )}\n </Wrapper>\n {showLabels && (\n <Label\n side=\"bottom\"\n text={labels.bottom}\n disabledLabel={disabledLabels}\n placeholder={labelsPlaceholders?.bottom}\n graphHeight={finalHeight}\n graphWidth={finalWidth}\n titleHeight={titleHeight}\n isChartBottomLabel={isChart && !defineChart}\n isDefineChartBottomLabel={isChart && defineChart}\n onChange={(value) => this.onChangeLabel(value, 'bottom')}\n mathMlOptions={mathMlOptions}\n charactersLimit={labelsCharactersLimit}\n />\n )}\n </StyledRoot>\n );\n }\n}\n\nexport default Root;\n"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAEA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,mBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,MAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AAA4E,SAAAS,2BAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,yBAAAC,MAAA,IAAAH,CAAA,CAAAG,MAAA,CAAAC,QAAA,KAAAJ,CAAA,qBAAAE,CAAA,QAAAG,KAAA,CAAAC,OAAA,CAAAN,CAAA,MAAAE,CAAA,GAAAK,2BAAA,CAAAP,CAAA,MAAAC,CAAA,IAAAD,CAAA,uBAAAA,CAAA,CAAAQ,MAAA,IAAAN,CAAA,KAAAF,CAAA,GAAAE,CAAA,OAAAO,EAAA,MAAAC,CAAA,YAAAA,EAAA,eAAAC,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAA,EAAA,WAAAH,EAAA,IAAAT,CAAA,CAAAQ,MAAA,KAAAK,IAAA,WAAAA,IAAA,MAAAC,KAAA,EAAAd,CAAA,CAAAS,EAAA,UAAAR,CAAA,WAAAA,EAAAD,CAAA,UAAAA,CAAA,KAAAe,CAAA,EAAAL,CAAA,gBAAAM,SAAA,iJAAAC,CAAA,EAAAC,CAAA,OAAAC,CAAA,gBAAAR,CAAA,WAAAA,EAAA,IAAAT,CAAA,GAAAA,CAAA,CAAAkB,IAAA,CAAApB,CAAA,MAAAY,CAAA,WAAAA,EAAA,QAAAZ,CAAA,GAAAE,CAAA,CAAAmB,IAAA,WAAAH,CAAA,GAAAlB,CAAA,CAAAa,IAAA,EAAAb,CAAA,KAAAC,CAAA,WAAAA,EAAAD,CAAA,IAAAmB,CAAA,OAAAF,CAAA,GAAAjB,CAAA,KAAAe,CAAA,WAAAA,EAAA,UAAAG,CAAA,YAAAhB,CAAA,cAAAA,CAAA,8BAAAiB,CAAA,QAAAF,CAAA;AAAA,SAAAV,4BAAAP,CAAA,EAAAkB,CAAA,QAAAlB,CAAA,2BAAAA,CAAA,SAAAsB,iBAAA,CAAAtB,CAAA,EAAAkB,CAAA,OAAAhB,CAAA,MAAAqB,QAAA,CAAAH,IAAA,CAAApB,CAAA,EAAAwB,KAAA,6BAAAtB,CAAA,IAAAF,CAAA,CAAAyB,WAAA,KAAAvB,CAAA,GAAAF,CAAA,CAAAyB,WAAA,CAAAC,IAAA,aAAAxB,CAAA,cAAAA,CAAA,GAAAG,KAAA,CAAAsB,IAAA,CAAA3B,CAAA,oBAAAE,CAAA,+CAAA0B,IAAA,CAAA1B,CAAA,IAAAoB,iBAAA,CAAAtB,CAAA,EAAAkB,CAAA;AAAA,SAAAI,kBAAAtB,CAAA,EAAAkB,CAAA,aAAAA,CAAA,IAAAA,CAAA,GAAAlB,CAAA,CAAAQ,MAAA,MAAAU,CAAA,GAAAlB,CAAA,CAAAQ,MAAA,YAAAP,CAAA,MAAAW,CAAA,GAAAP,KAAA,CAAAa,CAAA,GAAAjB,CAAA,GAAAiB,CAAA,EAAAjB,CAAA,IAAAW,CAAA,CAAAX,CAAA,IAAAD,CAAA,CAAAC,CAAA,UAAAW,CAAA;AAAA,SAAAiB,QAAA5B,CAAA,EAAAD,CAAA,QAAAE,CAAA,GAAA4B,MAAA,CAAAC,IAAA,CAAA9B,CAAA,OAAA6B,MAAA,CAAAE,qBAAA,QAAAf,CAAA,GAAAa,MAAA,CAAAE,qBAAA,CAAA/B,CAAA,GAAAD,CAAA,KAAAiB,CAAA,GAAAA,CAAA,CAAAgB,MAAA,WAAAjC,CAAA,WAAA8B,MAAA,CAAAI,wBAAA,CAAAjC,CAAA,EAAAD,CAAA,EAAAmC,UAAA,OAAAjC,CAAA,CAAAkC,IAAA,CAAAC,KAAA,CAAAnC,CAAA,EAAAe,CAAA,YAAAf,CAAA;AAAA,SAAAoC,cAAArC,CAAA,aAAAD,CAAA,MAAAA,CAAA,GAAAuC,SAAA,CAAA/B,MAAA,EAAAR,CAAA,UAAAE,CAAA,WAAAqC,SAAA,CAAAvC,CAAA,IAAAuC,SAAA,CAAAvC,CAAA,QAAAA,CAAA,OAAA6B,OAAA,CAAAC,MAAA,CAAA5B,CAAA,OAAAsC,OAAA,WAAAxC,CAAA,QAAAyC,gBAAA,aAAAxC,CAAA,EAAAD,CAAA,EAAAE,CAAA,CAAAF,CAAA,SAAA8B,MAAA,CAAAY,yBAAA,GAAAZ,MAAA,CAAAa,gBAAA,CAAA1C,CAAA,EAAA6B,MAAA,CAAAY,yBAAA,CAAAxC,CAAA,KAAA2B,OAAA,CAAAC,MAAA,CAAA5B,CAAA,GAAAsC,OAAA,WAAAxC,CAAA,IAAA8B,MAAA,CAAAc,cAAA,CAAA3C,CAAA,EAAAD,CAAA,EAAA8B,MAAA,CAAAI,wBAAA,CAAAhC,CAAA,EAAAF,CAAA,iBAAAC,CAAA;AAAA,SAAA4C,WAAA3C,CAAA,EAAAe,CAAA,EAAAhB,CAAA,WAAAgB,CAAA,OAAA6B,gBAAA,aAAA7B,CAAA,OAAA8B,2BAAA,aAAA7C,CAAA,EAAA8C,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAjC,CAAA,EAAAhB,CAAA,YAAA6C,gBAAA,aAAA5C,CAAA,EAAAuB,WAAA,IAAAR,CAAA,CAAAoB,KAAA,CAAAnC,CAAA,EAAAD,CAAA;AAAA,SAAA+C,0BAAA,cAAA9C,CAAA,IAAAiD,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAjC,IAAA,CAAA6B,OAAA,CAAAC,SAAA,CAAAC,OAAA,iCAAAjD,CAAA,aAAA8C,yBAAA,YAAAA,0BAAA,aAAA9C,CAAA;AAE5E,IAAMoD,UAAU,GAAG,IAAAC,cAAM,EAAC,KAAK,CAAC,CAAC,UAAAC,IAAA;EAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,OAAQ;IAC/CC,MAAM,eAAAC,MAAA,CAAeC,eAAK,CAACC,YAAY,CAAC,CAAC,CAAE;IAC3CD,KAAK,EAAEA,eAAK,CAACE,QAAQ,CAACC,IAAI;IAC1BC,eAAe,EAAEP,KAAK,CAACQ,OAAO,CAACC,MAAM,CAACC,KAAK;IAC3CC,WAAW,EAAE,MAAM;IACnBC,QAAQ,EAAE,UAAU;IACpBC,SAAS,EAAE,OAAO,CAAE;EACtB,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,OAAO,GAAG,IAAAhB,cAAM,EAAC,KAAK,CAAC,CAAC;EAC5BiB,OAAO,EAAE,MAAM;EACfH,QAAQ,EAAE;AACZ,CAAC,CAAC;AAEF,IAAMI,cAAc,GAAG,IAAAlB,cAAM,EAAC,KAAK,CAAC,CAAC;EACnCmB,WAAW,EAAE,MAAM;EACnBC,QAAQ,EAAE;AACZ,CAAC,CAAC;AAEF,IAAMC,QAAQ,GAAG,IAAArB,cAAM,EAAC,KAAK,CAAC,CAAC;EAC7BoB,QAAQ,EAAE;AACZ,CAAC,CAAC;AAEF,IAAME,QAAQ,GAAG,IAAAtB,cAAM,EAAC,GAAG,CAAC,CAAC;EAC3BuB,MAAM,EAAE,SAAS;EACjBC,UAAU,EAAE;AACd,CAAC,CAAC;AAEF,IAAMC,UAAU,GAAG,IAAAzB,cAAM,EAAC,KAAK,CAAC,CAAC,UAAA0B,KAAA;EAAA,IAAGxB,KAAK,GAAAwB,KAAA,CAALxB,KAAK;EAAA,OAAQ;IAC/CG,KAAK,EAAEA,eAAK,CAACE,QAAQ,CAACC,IAAI;IAC1BmB,QAAQ,EAAEzB,KAAK,CAAC0B,UAAU,CAACD,QAAQ,GAAG,CAAC;IACvCE,OAAO,KAAAzB,MAAA,CAAKF,KAAK,CAAC4B,OAAO,CAAC,GAAG,CAAC,OAAA1B,MAAA,CAAIF,KAAK,CAAC4B,OAAO,CAAC,GAAG,CAAC,OAAI;IACxDC,SAAS,EAAE,QAAQ;IACnB,YAAY,EAAE;MACZC,aAAa,EAAE;IACjB,CAAC;IACD,eAAe,EAAE;MACfC,WAAW,EAAE;IACf;EACF,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMC,UAAU,GAAG,IAAAlC,cAAM,EAAC,KAAK,CAAC,CAAC,UAAAmC,KAAA;EAAA,IAAGjC,KAAK,GAAAiC,KAAA,CAALjC,KAAK;EAAA,OAAQ;IAC/CG,KAAK,EAAEA,eAAK,CAACE,QAAQ,CAACC,IAAI;IAC1BmB,QAAQ,EAAEzB,KAAK,CAAC0B,UAAU,CAACD,QAAQ,GAAG,CAAC;IACvCE,OAAO,KAAAzB,MAAA,CAAKF,KAAK,CAAC4B,OAAO,CAAC,GAAG,CAAC,OAAA1B,MAAA,CAAIF,KAAK,CAAC4B,OAAO,CAAC,GAAG,CAAC,OAAI;IACxDC,SAAS,EAAE,QAAQ;IACnB,YAAY,EAAE;MACZC,aAAa,EAAE;IACjB,CAAC;IACD,eAAe,EAAE;MACfC,WAAW,EAAE;IACf;EACF,CAAC;AAAA,CAAC,CAAC;AAEH,IAAMG,cAAc,GAAG,IAAApC,cAAM,EAAC,KAAK,CAAC,CAAC;EACnCiB,OAAO,EAAE,MAAM;EACfoB,UAAU,EAAE;AACd,CAAC,CAAC;AAEF,IAAMC,iBAAiB,GAAG,IAAAtC,cAAM,EAAC,KAAK,CAAC,CAAC;EACtCiB,OAAO,EAAE,MAAM;EACfsB,aAAa,EAAE,QAAQ;EACvBC,UAAU,EAAE,QAAQ;EACpBC,KAAK,EAAE,OAAO;EACdT,aAAa,EAAE,MAAM;EACrBR,UAAU,EAAE;AACd,CAAC,CAAC;AAEF,IAAMkB,eAAe,GAAG,IAAA1C,cAAM,EAAC,KAAK,CAAC,CAAC;EACpCyC,KAAK,EAAE,MAAM;EACbxB,OAAO,EAAE,MAAM;EACfsB,aAAa,EAAE,QAAQ;EACvBN,WAAW,EAAE;AACf,CAAC,CAAC;AAEF,IAAMU,kBAAkB,GAAG,IAAA3C,cAAM,EAAC,KAAK,CAAC,CAAC;EACvC+B,SAAS,EAAE,OAAO;EAClBa,MAAM,EAAE,MAAM;EACdZ,aAAa,EAAE,MAAM;EACrBR,UAAU,EAAE,MAAM;EAClB,oBAAoB,EAAE;IACpBqB,YAAY,EAAE;EAChB;AACF,CAAC,CAAC;AAAC,IAEUC,IAAI,GAAAC,OAAA,CAAAD,IAAA,0BAAAE,gBAAA;EACf,SAAAF,KAAYG,KAAK,EAAE;IAAA,IAAAC,KAAA;IAAA,IAAAC,gBAAA,mBAAAL,IAAA;IACjBI,KAAA,GAAA5D,UAAA,OAAAwD,IAAA,GAAMG,KAAK;IAAE,IAAA/D,gBAAA,aAAAgE,KAAA,eA6BH,UAACE,CAAC,EAAEC,KAAK,EAAK;MACxB,IAAAC,WAAA,GAAoCJ,KAAA,CAAKD,KAAK;QAAtCM,UAAU,GAAAD,WAAA,CAAVC,UAAU;QAAEC,WAAW,GAAAF,WAAA,CAAXE,WAAW;MAE/B,IAAI,CAACA,WAAW,EAAE;QAChB;MACF;MAEA,IAAQC,KAAK,GAAWF,UAAU,CAA1BE,KAAK;QAAEC,IAAI,GAAKH,UAAU,CAAnBG,IAAI;MACnB,IAAMC,MAAM,GAAG,IAAAC,oBAAO,EAACP,KAAK,EAAED,CAAC,CAACS,IAAI,CAAC,CAAC,CAAC;MACvC,IAAMC,CAAC,GAAGL,KAAK,CAACK,CAAC,CAACC,MAAM,CAACJ,MAAM,CAAC,CAAC,CAAC,CAAC;MACnC,IAAMK,CAAC,GAAGP,KAAK,CAACO,CAAC,CAACD,MAAM,CAACJ,MAAM,CAAC,CAAC,CAAC,CAAC;MAEnC,IAAMM,OAAO,GAAG;QACdH,CAAC,EAAEJ,IAAI,CAACI,CAAC,CAACA,CAAC,CAAC;QACZE,CAAC,EAAEN,IAAI,CAACM,CAAC,CAACA,CAAC;MACb,CAAC;MAEDR,WAAW,CAACS,OAAO,CAAC;IACtB,CAAC;IAAA,IAAA/E,gBAAA,aAAAgE,KAAA,mBAqBe,UAACgB,QAAQ,EAAEC,IAAI,EAAK;MAClC,IAAAC,YAAA,GAA4ClB,KAAA,CAAKD,KAAK;QAA9CoB,MAAM,GAAAD,YAAA,CAANC,MAAM;QAAEC,cAAc,GAAAF,YAAA,CAAdE,cAAc;QAAEC,OAAO,GAAAH,YAAA,CAAPG,OAAO;MAEvC,IAAI,CAACD,cAAc,EAAE;QACnB;MACF;MAEA,IAAIC,OAAO,EAAE;QACX,IAAIJ,IAAI,KAAK,MAAM,EAAE;UACnBG,cAAc,CAAC,OAAO,EAAEJ,QAAQ,CAAC;QACnC,CAAC,MAAM;UACLI,cAAc,CAAC,QAAQ,EAAEJ,QAAQ,CAAC;QACpC;QAEA;MACF;MAEAI,cAAc,CAAAvF,aAAA,CAAAA,aAAA,KACTsF,MAAM,WAAAnF,gBAAA,iBACRiF,IAAI,EAAGD,QAAQ,EACjB,CAAC;IACJ,CAAC;IAAA,IAAAhF,gBAAA,aAAAgE,KAAA,wBAEoB,YAAM;MACzB,IAAMsB,YAAY,GAAGtB,KAAA,CAAKuB,QAAQ;MAClC,IAAID,YAAY,EAAE;QAChB,IAAME,WAAW,GAAGF,YAAY,CAACG,YAAY;QAC7CzB,KAAA,CAAK0B,QAAQ,CAAC;UAAEF,WAAW,EAAXA,WAAW;UAAEG,SAAS,EAAE3B,KAAA,CAAKD,KAAK,CAAC6B;QAAM,CAAC,CAAC;QAE3D,IAAI,CAAC5B,KAAA,CAAK6B,cAAc,IAAI,OAAOC,cAAc,KAAK,WAAW,EAAE;UACjE9B,KAAA,CAAK+B,uBAAuB,CAAC,CAAC;QAChC;MACF;IACF,CAAC;IAAA,IAAA/F,gBAAA,aAAAgE,KAAA,mBAEe,YAAM;MACpBgC,UAAU,CAAC,YAAM;QACfhC,KAAA,CAAKiC,kBAAkB,CAAC,CAAC;MAC3B,CAAC,EAAE,CAAC,CAAC;IACP,CAAC;IAED;IAAA,IAAAjG,gBAAA,aAAAgE,KAAA,6BAC0B,YAAM;MAC9B,IAAI,OAAO8B,cAAc,KAAK,WAAW,IAAI9B,KAAA,CAAKuB,QAAQ,EAAE;QAC1DvB,KAAA,CAAK6B,cAAc,GAAG,IAAIC,cAAc,CAAC,UAACI,OAAO,EAAK;UAAA,IAAAC,SAAA,GAAA7I,0BAAA,CAClC4I,OAAO;YAAAE,KAAA;UAAA;YAAzB,KAAAD,SAAA,CAAAjI,CAAA,MAAAkI,KAAA,GAAAD,SAAA,CAAAhI,CAAA,IAAAC,IAAA,GAA2B;cAAA,IAAlBiI,KAAK,GAAAD,KAAA,CAAA/H,KAAA;cACZ,IAAAiI,kBAAA,GAA0BD,KAAK,CAACE,WAAW;gBAAnChD,KAAK,GAAA+C,kBAAA,CAAL/C,KAAK;gBAAEG,MAAM,GAAA4C,kBAAA,CAAN5C,MAAM;cACrB;cACA,IAAIH,KAAK,GAAG,CAAC,IAAIG,MAAM,GAAG,CAAC,EAAE;gBAC3BsC,UAAU,CAAC,YAAM;kBACfhC,KAAA,CAAKiC,kBAAkB,CAAC,CAAC;gBAC3B,CAAC,EAAE,EAAE,CAAC;gBACN;cACF;YACF;UAAC,SAAAO,GAAA;YAAAL,SAAA,CAAA3I,CAAA,CAAAgJ,GAAA;UAAA;YAAAL,SAAA,CAAA7H,CAAA;UAAA;QACH,CAAC,CAAC;QAEF0F,KAAA,CAAK6B,cAAc,CAACY,OAAO,CAACzC,KAAA,CAAKuB,QAAQ,CAAC;MAC5C;IACF,CAAC;IAAA,IAAAvF,gBAAA,aAAAgE,KAAA,+BAE2B,YAAM;MAChC,IAAIA,KAAA,CAAK6B,cAAc,EAAE;QACvB7B,KAAA,CAAK6B,cAAc,CAACa,UAAU,CAAC,CAAC;QAChC1C,KAAA,CAAK6B,cAAc,GAAG,IAAI;MAC5B;IACF,CAAC;IArIC7B,KAAA,CAAK2C,KAAK,GAAG;MACXnB,WAAW,EAAE;IACf,CAAC;IACDxB,KAAA,CAAK6B,cAAc,GAAG,IAAI;IAAC,OAAA7B,KAAA;EAC7B;EAAC,IAAA4C,UAAA,aAAAhD,IAAA,EAAAE,gBAAA;EAAA,WAAA+C,aAAA,aAAAjD,IAAA;IAAAkD,GAAA;IAAAzI,KAAA,EA4CD,SAAA0I,iBAAiBA,CAAA,EAAG;MAClB,IAAM7C,CAAC,GAAG,IAAA8C,mBAAM,EAAC,IAAI,CAAC9C,CAAC,CAAC;MACxBA,CAAC,CAAC+C,EAAE,CAAC,WAAW,EAAE,IAAI,CAACC,SAAS,CAACC,IAAI,CAAC,IAAI,EAAEjD,CAAC,CAAC,CAAC;MAC/C,IAAI,CAAC+B,kBAAkB,CAAC,CAAC;MACzB,IAAI,CAACF,uBAAuB,CAAC,CAAC;IAChC;EAAC;IAAAe,GAAA;IAAAzI,KAAA,EAED,SAAA+I,oBAAoBA,CAAA,EAAG;MACrB,IAAMlD,CAAC,GAAG,IAAA8C,mBAAM,EAAC,IAAI,CAAC9C,CAAC,CAAC;MACxBA,CAAC,CAAC+C,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;MACvB,IAAI,CAACI,yBAAyB,CAAC,CAAC;IAClC;EAAC;IAAAP,GAAA;IAAAzI,KAAA,EAED,SAAAiJ,kBAAkBA,CAACC,SAAS,EAAE;MAC5B,IAAIA,SAAS,CAAC3B,KAAK,KAAK,IAAI,CAAC7B,KAAK,CAAC6B,KAAK,EAAE;QACxC,IAAI,CAACK,kBAAkB,CAAC,CAAC;MAC3B;IACF;EAAC;IAAAa,GAAA;IAAAzI,KAAA,EAsED,SAAAmJ,MAAMA,CAAA,EAAG;MAAA,IAAAC,MAAA;MACP,IAAAC,YAAA,GAkBI,IAAI,CAAC3D,KAAK;QAjBZ4D,aAAa,GAAAD,YAAA,CAAbC,aAAa;QACbC,cAAc,GAAAF,YAAA,CAAdE,cAAc;QACdzC,MAAM,GAAAuC,YAAA,CAANvC,MAAM;QACN0C,kBAAkB,GAAAH,YAAA,CAAlBG,kBAAkB;QAClBC,gBAAgB,GAAAJ,YAAA,CAAhBI,gBAAgB;QAChBzD,UAAU,GAAAqD,YAAA,CAAVrD,UAAU;QACV0D,QAAQ,GAAAL,YAAA,CAARK,QAAQ;QACRC,WAAW,GAAAN,YAAA,CAAXM,WAAW;QACXC,aAAa,GAAAP,YAAA,CAAbO,aAAa;QACb5C,OAAO,GAAAqC,YAAA,CAAPrC,OAAO;QACP6C,UAAU,GAAAR,YAAA,CAAVQ,UAAU;QACVC,eAAe,GAAAT,YAAA,CAAfS,eAAe;QACfC,SAAS,GAAAV,YAAA,CAATU,SAAS;QACTxC,KAAK,GAAA8B,YAAA,CAAL9B,KAAK;QACLyC,OAAO,GAAAX,YAAA,CAAPW,OAAO;QAAAC,qBAAA,GAAAZ,YAAA,CACPa,aAAa;QAAbA,aAAa,GAAAD,qBAAA,cAAG,CAAC,CAAC,GAAAA,qBAAA;QAClBE,qBAAqB,GAAAd,YAAA,CAArBc,qBAAqB;MAEvB,IAAAC,gBAAA,GAIIpE,UAAU,CAHZqE,IAAI;QAAAC,qBAAA,GAAAF,gBAAA,CAAIlF,KAAK;QAALA,KAAK,GAAAoF,qBAAA,cAAG,GAAG,GAAAA,qBAAA;QAAAC,qBAAA,GAAAH,gBAAA,CAAE/E,MAAM;QAANA,MAAM,GAAAkF,qBAAA,cAAG,GAAG,GAAAA,qBAAA;QACjCC,MAAM,GAEJxE,UAAU,CAFZwE,MAAM;QACNC,KAAK,GACHzE,UAAU,CADZyE,KAAK;MAGP,IAAMC,UAAU,GAAG,EAAE;MACrB,IAAMC,WAAW,GAAG,IAAAC,oBAAa,EAAC,IAAAC,0BAAmB,EAAC/D,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEgE,IAAI,CAAC,CAAC,IAAI,IAAAC,oBAAa,EAACvB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE;MACnH,IAAMwB,YAAY,GAChB,IAAAJ,oBAAa,EAAC,IAAAC,0BAAmB,EAAC/D,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEmE,KAAK,CAAC,CAAC,IAAI,IAAAF,oBAAa,EAACvB,kBAAkB,CAAC,GAAG,EAAE,GAAG,EAAE;MAClG,IAAM0B,UAAU,GAAGhG,KAAK,GAAGyF,WAAW,GAAGK,YAAY,GAAG,CAACR,MAAM,CAAClG,OAAO,IAAI,CAAC,IAAI,CAAC;MACjF,IAAM6G,WAAW,GAAG9F,MAAM,GAAGqF,UAAU,GAAG,CAAC,GAAG,CAACD,KAAK,CAACnG,OAAO,IAAI,CAAC,IAAI,CAAC;MAEtE,IAAM8G,kBAAkB,GAAG,CACzB,MAAM,EACN,QAAQ,EACR,WAAW,EACX,aAAa,EACb,WAAW,EACX,eAAe,EACf;MACA;MAAA,CACD;MAED,IAAMC,YAAY,GAAG1B,WAAW,IAAIG,eAAe,GAAGzE,MAAM,GAAG,GAAG,GAAGA,MAAM;MAC3E,IAAMiG,iBAAiB,GAAGC,QAAQ,CAACrG,KAAK,GAAG,GAAG,CAAC;MAC/C,IAAMsG,mBAAmB,GAAGD,QAAQ,CAACF,YAAY,GAAG,GAAG,CAAC;MACxD,IAAMI,oBAAoB,GAAGF,QAAQ,CAACF,YAAY,GAAG,GAAG,CAAC;MACzD,IAAQlE,WAAW,GAAK,IAAI,CAACmB,KAAK,CAA1BnB,WAAW;MAEnB,oBACE7I,MAAA,YAAAoN,aAAA,CAAClJ,UAAU,QACRsH,eAAe,iBACdxL,MAAA,YAAAoN,aAAA,CAAC7G,cAAc;QAAC8G,KAAK,EAAE;UAAEC,UAAU,EAAE5E,OAAO,GAAG,EAAE,GAAG6C,UAAU,GAAG,EAAE,GAAG;QAAG;MAAE,GACxE,IAAAgC,mBAAA,aAAItM,KAAK,CAAC+L,iBAAiB,GAAG,CAAC,CAAC,CAACrK,IAAI,CAAC,CAAC,EAAE6K,GAAG,CAAC,UAAC9L,KAAK;QAAA,oBAClD1B,MAAA,YAAAoN,aAAA,CAAC9M,SAAA,CAAAmN,QAAQ;UAAC,aAAK;UAACtD,GAAG,eAAA5F,MAAA,CAAe7C,KAAK;QAAG,gBACxC1B,MAAA,YAAAoN,aAAA,CAAC3G,iBAAiB,qBAChBzG,MAAA,YAAAoN,aAAA,cAAM1L,KAAK,GAAG,GAAG,EAAC,IAAO,CAAC,eAC1B1B,MAAA,YAAAoN,aAAA,cAAK,GAAM,CACM,CACX,CAAC;MAAA,CACZ,CACa,CACjB,EACA3B,SAAS,KACPT,aAAa,gBACZhL,MAAA,YAAAoN,aAAA;QACEM,GAAG,EAAE,SAALA,GAAGA,CAAG9M,CAAC;UAAA,OAAMkK,MAAI,CAAClC,QAAQ,GAAGhI,CAAC;QAAA,CAAE;QAChCyM,KAAK,EAAAnK,aAAA,CAAAA,aAAA,KACCwF,OAAO,IAAI;UAAE9B,KAAK,EAAEgG;QAAW,CAAC,GAChC,IAAAN,oBAAa,EAAC,IAAAC,0BAAmB,EAACtD,KAAK,CAAC,CAAC,IAAI;UAAE7D,OAAO,EAAE;QAAO,CAAC;MACpE,GAEDsD,OAAO,gBACN1I,MAAA,YAAAoN,aAAA,CAAC/G,UAAU;QAACsH,SAAS,EAAC,UAAU;QAACC,uBAAuB,EAAE;UAAEC,MAAM,EAAE5E,KAAK,IAAI;QAAG;MAAE,CAAE,CAAC,gBAErFjJ,MAAA,YAAAoN,aAAA,CAACxH,UAAU;QAAC+H,SAAS,EAAC,UAAU;QAACC,uBAAuB,EAAE;UAAEC,MAAM,EAAE5E,KAAK,IAAI;QAAG;MAAE,CAAE,CAEnF,CAAC,gBAENjJ,MAAA,YAAAoN,aAAA;QAAKM,GAAG,EAAE,SAALA,GAAGA,CAAG9M,CAAC;UAAA,OAAMkK,MAAI,CAAClC,QAAQ,GAAGhI,CAAC;QAAA;MAAE,GAClC8H,OAAO,gBACN1I,MAAA,YAAAoN,aAAA,CAAC/G,UAAU;QAACsH,SAAS,EAAEnC,eAAe,GAAG,aAAa,GAAG;MAAG,gBAC1DxL,MAAA,YAAAoN,aAAA,CAAC7M,mBAAA,WAAY,MAAAuN,SAAA,iBACNpF,OAAO,IAAI;QACd9B,KAAK,EAAEgG;MACT,CAAC;QACDmB,MAAM,EAAE9E,KAAK,IAAI,EAAG;QACpB+E,QAAQ,EAAE1C,aAAc;QACxB2C,WAAW,EACR5C,WAAW,IAAIF,gBAAgB,IAC/B,CAACH,aAAa,IAAI,0CACpB;QACDkD,WAAW,EAAE;UAAEC,SAAS,EAAE,IAAI;UAAEC,QAAQ,EAAE;QAAK,CAAE;QACjDC,aAAa,EAAEvB,kBAAmB;QAClCwB,gBAAgB;QAChBC,SAAS,EAAE,IAAI,CAACC;MAAc,EAC/B,CACS,CAAC,gBAEbxO,MAAA,YAAAoN,aAAA,CAACxH,UAAU;QAAC+H,SAAS,EAAEnC,eAAe,GAAG,aAAa,GAAG;MAAG,gBAC1DxL,MAAA,YAAAoN,aAAA,CAAC7M,mBAAA,WAAY,MAAAuN,SAAA,iBACNpF,OAAO,IAAI;QACd9B,KAAK,EAAEgG;MACT,CAAC;QACDmB,MAAM,EAAE9E,KAAK,IAAI,EAAG;QACpB+E,QAAQ,EAAE1C,aAAc;QACxB2C,WAAW,EACR5C,WAAW,IAAIF,gBAAgB,IAC/B,CAACH,aAAa,IAAI,0CACpB;QACDkD,WAAW,EAAE;UAAEC,SAAS,EAAE,IAAI;UAAEC,QAAQ,EAAE;QAAK,CAAE;QACjDC,aAAa,EAAEvB,kBAAmB;QAClCwB,gBAAgB;QAChBC,SAAS,EAAE,IAAI,CAACC;MAAc,EAC/B,CACS,CAEX,CACN,CAAC,EACHjD,UAAU,IAAI,CAAC7C,OAAO,iBACrB1I,MAAA,YAAAoN,aAAA,CAAC3M,MAAA,WAAK;QACJ6H,IAAI,EAAC,KAAK;QACVmG,IAAI,EAAEjG,MAAM,CAACkG,GAAI;QACjBC,aAAa,EAAE1D,cAAe;QAC9BgD,WAAW,EAAE/C,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEwD,GAAI;QACrCE,WAAW,EAAE/B,WAAY;QACzBgC,UAAU,EAAEjC,UAAW;QACvBoB,QAAQ,EAAE,SAAVA,QAAQA,CAAGtM,KAAK;UAAA,OAAKoJ,MAAI,CAACgE,aAAa,CAACpN,KAAK,EAAE,KAAK,CAAC;QAAA,CAAC;QACtDkK,aAAa,EAAEA,aAAc;QAC7BmD,eAAe,EAAElD;MAAsB,CACxC,CACF,eACD7L,MAAA,YAAAoN,aAAA,CAACjI,OAAO,QACLoG,UAAU,iBACTvL,MAAA,YAAAoN,aAAA,CAAC3M,MAAA,WAAK;QACJ6H,IAAI,EAAC,MAAM;QACXmG,IAAI,EAAEjG,MAAM,CAACgE,IAAK;QAClBmC,aAAa,EAAE1D,cAAe;QAC9BgD,WAAW,EAAE/C,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEsB,IAAK;QACtCoC,WAAW,EAAE/B,WAAY;QACzBgC,UAAU,EAAEjC,UAAW;QACvBoC,gBAAgB,EAAEtG,OAAO,IAAI,CAAC2C,WAAY;QAC1C4D,sBAAsB,EAAEvG,OAAO,IAAI2C,WAAY;QAC/C2C,QAAQ,EAAE,SAAVA,QAAQA,CAAGtM,KAAK;UAAA,OAAKoJ,MAAI,CAACgE,aAAa,CAACpN,KAAK,EAAE,MAAM,CAAC;QAAA,CAAC;QACvDkK,aAAa,EAAEA,aAAc;QAC7BmD,eAAe,EAAElD;MAAsB,CACxC,CACF,EACAR,WAAW,gBACVrL,MAAA,YAAAoN,aAAA,CAAC/H,cAAc;QAACuB,KAAK,EAAEgG,UAAW;QAAC7F,MAAM,EAAE8F;MAAY,gBACrD7M,MAAA,YAAAoN,aAAA,CAAC3H,QAAQ;QACPiI,GAAG,EAAE,SAALA,GAAGA,CAAG9M,CAAC,EAAK;UACVkK,MAAI,CAACvD,CAAC,GAAG3G,CAAC;UACV,IAAI8K,OAAO,EAAE;YACXA,OAAO,CAAC9K,CAAC,CAAC;UACZ;QACF,CAAE;QACFsO,SAAS,eAAA3K,MAAA,CAAe8H,WAAW,IAAIH,MAAM,CAAClG,OAAO,IAAI,CAAC,CAAC,QAAAzB,MAAA,CAAK6H,UAAU,IAAID,KAAK,CAACnG,OAAO,IAAI,CAAC,CAAC;MAAI,GAEpGoF,QACO,CACI,CAAC,gBAEjBpL,MAAA,YAAAoN,aAAA,CAAC5H,QAAQ;QAACoB,KAAK,EAAEgG,UAAW;QAAC7F,MAAM,EAAE8F;MAAY,gBAC/C7M,MAAA,YAAAoN,aAAA,CAAC3H,QAAQ;QACPiI,GAAG,EAAE,SAALA,GAAGA,CAAG9M,CAAC,EAAK;UACVkK,MAAI,CAACvD,CAAC,GAAG3G,CAAC;UACV,IAAI8K,OAAO,EAAE;YACXA,OAAO,CAAC9K,CAAC,CAAC;UACZ;QACF,CAAE;QACFsO,SAAS,eAAA3K,MAAA,CAAe8H,WAAW,IAAIH,MAAM,CAAClG,OAAO,IAAI,CAAC,CAAC,QAAAzB,MAAA,CAAK6H,UAAU,IAAID,KAAK,CAACnG,OAAO,IAAI,CAAC,CAAC;MAAI,GAEpGoF,QACO,CACF,CACX,EACAG,UAAU,IAAI,CAAC7C,OAAO,iBACrB1I,MAAA,YAAAoN,aAAA,CAAC3M,MAAA,WAAK;QACJ6H,IAAI,EAAC,OAAO;QACZmG,IAAI,EAAEjG,MAAM,CAACmE,KAAM;QACnBgC,aAAa,EAAE1D,cAAe;QAC9BgD,WAAW,EAAE/C,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEyB,KAAM;QACvCiC,WAAW,EAAE/B,WAAY;QACzBgC,UAAU,EAAEjC,UAAW;QACvBoB,QAAQ,EAAE,SAAVA,QAAQA,CAAGtM,KAAK;UAAA,OAAKoJ,MAAI,CAACgE,aAAa,CAACpN,KAAK,EAAE,OAAO,CAAC;QAAA,CAAC;QACxDkK,aAAa,EAAEA,aAAc;QAC7BmD,eAAe,EAAElD;MAAsB,CACxC,CACF,EACAL,eAAe,iBACdxL,MAAA,YAAAoN,aAAA,CAACvG,eAAe;QACdwG,KAAK,EAAE;UACL7G,UAAU,EAAE2G,oBAAoB;UAChCgC,SAAS,EAAE;QACb;MAAE,GAED,IAAA5B,mBAAA,aAAItM,KAAK,CAACiM,mBAAmB,GAAG,CAAC,CAAC,CAACvK,IAAI,CAAC,CAAC,EAAEyM,OAAO,CAAC,CAAC,CAAC5B,GAAG,CAAC,UAAC9L,KAAK;QAAA,oBAC9D1B,MAAA,YAAAoN,aAAA,CAAC9M,SAAA,CAAAmN,QAAQ;UAAC,aAAK;UAACtD,GAAG,eAAA5F,MAAA,CAAe7C,KAAK;QAAG,gBACxC1B,MAAA,YAAAoN,aAAA,CAACtG,kBAAkB,QAAC,SAAE,EAACpF,KAAK,GAAG,GAAG,EAAC,IAAsB,CACjD,CAAC;MAAA,CACZ,CACc,CAEZ,CAAC,EACT6J,UAAU,iBACTvL,MAAA,YAAAoN,aAAA,CAAC3M,MAAA,WAAK;QACJ6H,IAAI,EAAC,QAAQ;QACbmG,IAAI,EAAEjG,MAAM,CAAC6G,MAAO;QACpBV,aAAa,EAAE1D,cAAe;QAC9BgD,WAAW,EAAE/C,kBAAkB,aAAlBA,kBAAkB,uBAAlBA,kBAAkB,CAAEmE,MAAO;QACxCT,WAAW,EAAE/B,WAAY;QACzBgC,UAAU,EAAEjC,UAAW;QACvB/D,WAAW,EAAEA,WAAY;QACzByG,kBAAkB,EAAE5G,OAAO,IAAI,CAAC2C,WAAY;QAC5CkE,wBAAwB,EAAE7G,OAAO,IAAI2C,WAAY;QACjD2C,QAAQ,EAAE,SAAVA,QAAQA,CAAGtM,KAAK;UAAA,OAAKoJ,MAAI,CAACgE,aAAa,CAACpN,KAAK,EAAE,QAAQ,CAAC;QAAA,CAAC;QACzDkK,aAAa,EAAEA,aAAc;QAC7BmD,eAAe,EAAElD;MAAsB,CACxC,CAEO,CAAC;IAEjB;EAAC;AAAA,EA1WuB2D,iBAAK,CAACC,SAAS;AAAA,IAAApM,gBAAA,aAA5B4D,IAAI,eASI;EACjBgC,KAAK,EAAEyG,qBAAS,CAACC,MAAM;EACvBvE,QAAQ,EAAEwE,mBAAY;EACtBvE,WAAW,EAAEqE,qBAAS,CAACG,IAAI;EAC3B5E,cAAc,EAAEyE,qBAAS,CAACG,IAAI;EAC9B7E,aAAa,EAAE0E,qBAAS,CAACG,IAAI;EAC7BnI,UAAU,EAAEoI,qBAAc,CAACC,UAAU;EACrCrH,OAAO,EAAEgH,qBAAS,CAACG,IAAI;EACvBrH,MAAM,EAAEkH,qBAAS,CAACM,MAAM;EACxB9E,kBAAkB,EAAEwE,qBAAS,CAACM,MAAM;EACpC1E,aAAa,EAAEoE,qBAAS,CAACO,IAAI;EAC7BtI,WAAW,EAAE+H,qBAAS,CAACO,IAAI;EAC3B1E,UAAU,EAAEmE,qBAAS,CAACG,IAAI;EAC1BpE,SAAS,EAAEiE,qBAAS,CAACG,IAAI;EACzBrE,eAAe,EAAEkE,qBAAS,CAACG,IAAI;EAC/BnE,OAAO,EAAEgE,qBAAS,CAACO,IAAI;EACvBxH,cAAc,EAAEiH,qBAAS,CAACO,IAAI;EAC9B9E,gBAAgB,EAAEuE,qBAAS,CAACC,MAAM;EAClC/D,aAAa,EAAE8D,qBAAS,CAACM,MAAM;EAC/BnE,qBAAqB,EAAE6D,qBAAS,CAACQ;AACnC,CAAC;AAAA,IAAAC,QAAA,GAAAjJ,OAAA,cAgVYD,IAAI","ignoreList":[]}
|