@pie-element/number-line 6.6.0 → 6.6.1-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configure/package.json +3 -3
- package/controller/package.json +3 -3
- package/package.json +8 -7
- package/configure/lib/arrows.js +0 -117
- package/configure/lib/arrows.js.map +0 -1
- package/configure/lib/card-bar.js +0 -79
- package/configure/lib/card-bar.js.map +0 -1
- package/configure/lib/defaults.js +0 -68
- package/configure/lib/defaults.js.map +0 -1
- package/configure/lib/domain.js +0 -106
- package/configure/lib/domain.js.map +0 -1
- package/configure/lib/index.js +0 -148
- package/configure/lib/index.js.map +0 -1
- package/configure/lib/main.js +0 -630
- package/configure/lib/main.js.map +0 -1
- package/configure/lib/number-text-field.js +0 -97
- package/configure/lib/number-text-field.js.map +0 -1
- package/configure/lib/point-config.js +0 -145
- package/configure/lib/point-config.js.map +0 -1
- package/configure/lib/size.js +0 -58
- package/configure/lib/size.js.map +0 -1
- package/configure/lib/ticks.js +0 -92
- package/configure/lib/ticks.js.map +0 -1
- package/configure/lib/utils.js +0 -14
- package/configure/lib/utils.js.map +0 -1
- package/controller/lib/defaults.js +0 -47
- package/controller/lib/defaults.js.map +0 -1
- package/controller/lib/index.js +0 -443
- package/controller/lib/index.js.map +0 -1
- package/lib/data-converter.js +0 -100
- package/lib/data-converter.js.map +0 -1
- package/lib/draggable/index.js +0 -53
- package/lib/draggable/index.js.map +0 -1
- package/lib/index.js +0 -241
- package/lib/index.js.map +0 -1
- package/lib/number-line/colors.js +0 -21
- package/lib/number-line/colors.js.map +0 -1
- package/lib/number-line/feedback.js +0 -108
- package/lib/number-line/feedback.js.map +0 -1
- package/lib/number-line/graph/arrow.js +0 -63
- package/lib/number-line/graph/arrow.js.map +0 -1
- package/lib/number-line/graph/elements/base.js +0 -26
- package/lib/number-line/graph/elements/base.js.map +0 -1
- package/lib/number-line/graph/elements/builder.js +0 -38
- package/lib/number-line/graph/elements/builder.js.map +0 -1
- package/lib/number-line/graph/elements/line.js +0 -317
- package/lib/number-line/graph/elements/line.js.map +0 -1
- package/lib/number-line/graph/elements/point.js +0 -233
- package/lib/number-line/graph/elements/point.js.map +0 -1
- package/lib/number-line/graph/elements/ray.js +0 -227
- package/lib/number-line/graph/elements/ray.js.map +0 -1
- package/lib/number-line/graph/index.js +0 -326
- package/lib/number-line/graph/index.js.map +0 -1
- package/lib/number-line/graph/line.js +0 -48
- package/lib/number-line/graph/line.js.map +0 -1
- package/lib/number-line/graph/stacks.js +0 -101
- package/lib/number-line/graph/stacks.js.map +0 -1
- package/lib/number-line/graph/tick-utils.js +0 -295
- package/lib/number-line/graph/tick-utils.js.map +0 -1
- package/lib/number-line/graph/ticks.js +0 -244
- package/lib/number-line/graph/ticks.js.map +0 -1
- package/lib/number-line/index.js +0 -401
- package/lib/number-line/index.js.map +0 -1
- package/lib/number-line/point-chooser/button.js +0 -74
- package/lib/number-line/point-chooser/button.js.map +0 -1
- package/lib/number-line/point-chooser/img.js +0 -9
- package/lib/number-line/point-chooser/img.js.map +0 -1
- package/lib/number-line/point-chooser/index.js +0 -181
- package/lib/number-line/point-chooser/index.js.map +0 -1
- package/lib/number-line/point-chooser/styles.js +0 -98
- package/lib/number-line/point-chooser/styles.js.map +0 -1
- package/lib/number-line/transitions/fade.js +0 -67
- package/lib/number-line/transitions/fade.js.map +0 -1
- package/lib/number-line/transitions/index.js +0 -16
- package/lib/number-line/transitions/index.js.map +0 -1
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.Stack = Stack;
|
|
7
|
-
exports["default"] = Stacks;
|
|
8
|
-
|
|
9
|
-
function Stacks(domain) {
|
|
10
|
-
var stacks = [new Stack(domain)];
|
|
11
|
-
|
|
12
|
-
this.add = function (el) {
|
|
13
|
-
var stack = stacks.find(function (s) {
|
|
14
|
-
return s.add(el);
|
|
15
|
-
});
|
|
16
|
-
|
|
17
|
-
if (stacks.indexOf(stack) === -1) {
|
|
18
|
-
stack = new Stack(domain);
|
|
19
|
-
stacks.push(stack);
|
|
20
|
-
stack.add(el);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return stacks.indexOf(stack);
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
function Stack(domain) {
|
|
28
|
-
var elements = [];
|
|
29
|
-
/**
|
|
30
|
-
* Try to add the element to the stack.
|
|
31
|
-
* @return boolean true if added, else false
|
|
32
|
-
*/
|
|
33
|
-
|
|
34
|
-
this.add = function (el)
|
|
35
|
-
/*boolean*/
|
|
36
|
-
{
|
|
37
|
-
var elementRange = getRange(el);
|
|
38
|
-
|
|
39
|
-
if (elementRange.left < domain.min || elementRange.right > domain.max) {
|
|
40
|
-
return false;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
var touchesExisting = elements.some(function (e) {
|
|
44
|
-
return touchesRange(e, elementRange);
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
if (touchesExisting) {
|
|
48
|
-
return false;
|
|
49
|
-
} else {
|
|
50
|
-
elements.push(el);
|
|
51
|
-
return true;
|
|
52
|
-
}
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
this.elements = function () {
|
|
56
|
-
return elements;
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
var touchesRange = function touchesRange(el, candidate) {
|
|
60
|
-
var existing = getRange(el);
|
|
61
|
-
var leftOf = candidate.left < existing.left && candidate.right < existing.left;
|
|
62
|
-
var rightOf = candidate.left > existing.right && candidate.right > existing.right;
|
|
63
|
-
return !(leftOf || rightOf);
|
|
64
|
-
};
|
|
65
|
-
|
|
66
|
-
var getRange = function getRange(el) {
|
|
67
|
-
var type = el.type,
|
|
68
|
-
position = el.position;
|
|
69
|
-
|
|
70
|
-
switch (type) {
|
|
71
|
-
case 'point':
|
|
72
|
-
{
|
|
73
|
-
return {
|
|
74
|
-
left: position,
|
|
75
|
-
right: position
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
case 'line':
|
|
80
|
-
{
|
|
81
|
-
return position;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
case 'ray':
|
|
85
|
-
{
|
|
86
|
-
if (el.direction === 'positive') {
|
|
87
|
-
return {
|
|
88
|
-
left: position,
|
|
89
|
-
right: domain.max
|
|
90
|
-
};
|
|
91
|
-
} else {
|
|
92
|
-
return {
|
|
93
|
-
left: domain.min,
|
|
94
|
-
right: position
|
|
95
|
-
};
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
//# sourceMappingURL=stacks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/number-line/graph/stacks.js"],"names":["Stacks","domain","stacks","Stack","add","el","stack","find","s","indexOf","push","elements","elementRange","getRange","left","min","right","max","touchesExisting","some","e","touchesRange","candidate","existing","leftOf","rightOf","type","position","direction"],"mappings":"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","sourcesContent":["export default function Stacks(domain) {\n let stacks = [new Stack(domain)];\n\n this.add = function (el) {\n let stack = stacks.find((s) => s.add(el));\n if (stacks.indexOf(stack) === -1) {\n stack = new Stack(domain);\n stacks.push(stack);\n stack.add(el);\n }\n return stacks.indexOf(stack);\n };\n}\n\nexport function Stack(domain) {\n let elements = [];\n /**\n * Try to add the element to the stack.\n * @return boolean true if added, else false\n */\n this.add = function (el) /*boolean*/ {\n let elementRange = getRange(el);\n if (elementRange.left < domain.min || elementRange.right > domain.max) {\n return false;\n }\n\n let touchesExisting = elements.some((e) => touchesRange(e, elementRange));\n\n if (touchesExisting) {\n return false;\n } else {\n elements.push(el);\n return true;\n }\n };\n\n this.elements = function () {\n return elements;\n };\n\n let touchesRange = (el, candidate) => {\n let existing = getRange(el);\n let leftOf = candidate.left < existing.left && candidate.right < existing.left;\n let rightOf = candidate.left > existing.right && candidate.right > existing.right;\n return !(leftOf || rightOf);\n };\n\n let getRange = (el) => {\n let { type, position } = el;\n\n switch (type) {\n case 'point': {\n return { left: position, right: position };\n }\n case 'line': {\n return position;\n }\n case 'ray': {\n if (el.direction === 'positive') {\n return {\n left: position,\n right: domain.max,\n };\n } else {\n return {\n left: domain.min,\n right: position,\n };\n }\n }\n }\n };\n}\n"],"file":"stacks.js"}
|
|
@@ -1,295 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports.zeroBasedRange = exports.zbrErrorMessage = exports.snapTo = exports.snapElements = exports.simpleRange = exports.normalizeTicks = exports.minorLimits = exports.isMultiple = exports.fractionSnapTo = exports.fractionRange = exports.fraction = exports.closeTo = exports.buildTickDataAsFractions = exports.buildTickData = void 0;
|
|
11
|
-
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
|
-
var math = _interopRequireWildcard(require("mathjs"));
|
|
15
|
-
|
|
16
|
-
var _uniqWith = _interopRequireDefault(require("lodash/uniqWith"));
|
|
17
|
-
|
|
18
|
-
var _isObject = _interopRequireDefault(require("lodash/isObject"));
|
|
19
|
-
|
|
20
|
-
var _isNumber = _interopRequireDefault(require("lodash/isNumber"));
|
|
21
|
-
|
|
22
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
23
|
-
|
|
24
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
25
|
-
|
|
26
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
27
|
-
|
|
28
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
29
|
-
|
|
30
|
-
var fractionSnapTo = function fractionSnapTo(min, max, interval, value) {
|
|
31
|
-
value = fmax(fmin(value, max), min);
|
|
32
|
-
var mod = value.mod(interval);
|
|
33
|
-
var v;
|
|
34
|
-
var half = interval.div(2);
|
|
35
|
-
|
|
36
|
-
if (math.largerEq(math.abs(mod), half)) {
|
|
37
|
-
var d = interval.sub(math.abs(mod));
|
|
38
|
-
var fn = math.largerEq(value, 0) ? 'add' : 'sub';
|
|
39
|
-
v = value[fn](d);
|
|
40
|
-
} else {
|
|
41
|
-
var fn2 = math.largerEq(value, 0) ? 'sub' : 'add';
|
|
42
|
-
v = value[fn2](math.abs(mod));
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
return v;
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
exports.fractionSnapTo = fractionSnapTo;
|
|
49
|
-
|
|
50
|
-
var snapTo = function snapTo(min, max, interval, value) {
|
|
51
|
-
var out = fractionSnapTo(math.fraction(min), math.fraction(max), math.fraction(interval), math.fraction(value));
|
|
52
|
-
return math.number(out);
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
exports.snapTo = snapTo;
|
|
56
|
-
|
|
57
|
-
var fractionRange = function fractionRange(start, end, interval) {
|
|
58
|
-
var m = math.mod(math.abs(start), math.abs(interval));
|
|
59
|
-
|
|
60
|
-
if (!math.equal(m, 0)) {
|
|
61
|
-
throw new Error('start point must be divisible by interval');
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
if (math.equal(start, end)) {
|
|
65
|
-
return [];
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
var e = math.subtract(end, math.mod(end, math.abs(interval)));
|
|
69
|
-
var direction = math.larger(interval, 0) ? 'positive' : 'negative';
|
|
70
|
-
|
|
71
|
-
if (direction === 'negative' && math.largerEq(end, start)) {
|
|
72
|
-
throw new Error('start must be > than end when doing a negative decrement');
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
if (direction === 'positive' && math.smallerEq(end, start)) {
|
|
76
|
-
throw new Error('start must be < end when doing increments');
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
var compareFn = direction === 'positive' ? math.smallerEq : math.equal(e, end) ? math.largerEq : math.larger;
|
|
80
|
-
var out = [];
|
|
81
|
-
var next = start;
|
|
82
|
-
|
|
83
|
-
while (compareFn(next, e)) {
|
|
84
|
-
out.push(next);
|
|
85
|
-
next = math.add(next, interval);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
return out;
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
exports.fractionRange = fractionRange;
|
|
92
|
-
|
|
93
|
-
var zbrErrorMessage = function zbrErrorMessage(start, end) {
|
|
94
|
-
return "Can only do a positive or negative range, but got: start: ".concat(start, " and end:").concat(end);
|
|
95
|
-
};
|
|
96
|
-
|
|
97
|
-
exports.zbrErrorMessage = zbrErrorMessage;
|
|
98
|
-
|
|
99
|
-
var zeroBasedRange = function zeroBasedRange(start, end, interval) {
|
|
100
|
-
start = math.fraction(start);
|
|
101
|
-
end = math.fraction(end);
|
|
102
|
-
interval = math.fraction(interval);
|
|
103
|
-
var length = math.abs(math.subtract(end, start));
|
|
104
|
-
|
|
105
|
-
if (math.larger(length, math.abs(end))) {
|
|
106
|
-
throw new Error(zbrErrorMessage(start, end));
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
var a = {
|
|
110
|
-
start: math.abs(start),
|
|
111
|
-
end: math.abs(end),
|
|
112
|
-
interval: math.abs(interval),
|
|
113
|
-
multiplier: math.smaller(interval, 0) ? -1 : 1
|
|
114
|
-
};
|
|
115
|
-
var m = math.mod(a.start, a.interval);
|
|
116
|
-
var s = math.larger(m, 0) ? math.add(math.subtract(a.start, m), a.interval) : a.start;
|
|
117
|
-
var r = fractionRange(s, a.end, a.interval);
|
|
118
|
-
var out = a.multiplier === -1 ? r.map(function (v) {
|
|
119
|
-
return math.multiply(v, -1);
|
|
120
|
-
}) : r;
|
|
121
|
-
|
|
122
|
-
if (math.smaller(interval, 0)) {
|
|
123
|
-
out.reverse();
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
return out;
|
|
127
|
-
};
|
|
128
|
-
|
|
129
|
-
exports.zeroBasedRange = zeroBasedRange;
|
|
130
|
-
|
|
131
|
-
var fmin = function fmin(a, b) {
|
|
132
|
-
a = math.fraction(a);
|
|
133
|
-
b = math.fraction(b);
|
|
134
|
-
return math.smaller(a, b) ? a : b;
|
|
135
|
-
};
|
|
136
|
-
|
|
137
|
-
var fmax = function fmax(a, b) {
|
|
138
|
-
a = math.fraction(a);
|
|
139
|
-
b = math.fraction(b);
|
|
140
|
-
return math.larger(a, b) ? a : b;
|
|
141
|
-
};
|
|
142
|
-
/**
|
|
143
|
-
* the lodash range was causing too much variance in the rounding errors
|
|
144
|
-
* such that it was hard to round the numbers.
|
|
145
|
-
* This is a more simplistic version but makes rounding work.
|
|
146
|
-
*/
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
var simpleRange = function simpleRange(start, end, interval) {
|
|
150
|
-
start = math.fraction(start);
|
|
151
|
-
end = math.fraction(end);
|
|
152
|
-
interval = math.fraction(interval);
|
|
153
|
-
var positiveRange = math.larger(end, 0) ? zeroBasedRange(fmax(0, start), end, interval) : [];
|
|
154
|
-
var negativeRange = math.smaller(start, 0) ? zeroBasedRange(fmin(0, end), start, math.multiply(interval, -1)) : [];
|
|
155
|
-
var together = negativeRange.concat(positiveRange);
|
|
156
|
-
var out = (0, _uniqWith["default"])(together, math.equal);
|
|
157
|
-
return out;
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
exports.simpleRange = simpleRange;
|
|
161
|
-
|
|
162
|
-
var closeTo = function closeTo(a, b, precision) {
|
|
163
|
-
precision = precision || 2;
|
|
164
|
-
var expectedDiff = Math.pow(10, -precision) / 2;
|
|
165
|
-
var receivedDiff = Math.abs(a - b);
|
|
166
|
-
return receivedDiff < expectedDiff;
|
|
167
|
-
};
|
|
168
|
-
|
|
169
|
-
exports.closeTo = closeTo;
|
|
170
|
-
|
|
171
|
-
var limit = function limit(v, min, max) {
|
|
172
|
-
if (math.smaller(v, min)) {
|
|
173
|
-
return min;
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
if (math.larger(v, max)) {
|
|
177
|
-
return max;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
return v;
|
|
181
|
-
};
|
|
182
|
-
|
|
183
|
-
var minorLimits = function minorLimits(domain) {
|
|
184
|
-
var end = domain.max - domain.min;
|
|
185
|
-
return {
|
|
186
|
-
min: math.divide(math.fraction(end), 100),
|
|
187
|
-
max: math.divide(math.fraction(end), 3)
|
|
188
|
-
};
|
|
189
|
-
};
|
|
190
|
-
|
|
191
|
-
exports.minorLimits = minorLimits;
|
|
192
|
-
|
|
193
|
-
var isMultiple = function isMultiple(multiple, src) {
|
|
194
|
-
var mod = math.mod(multiple, src);
|
|
195
|
-
return math.equal(mod, 0);
|
|
196
|
-
};
|
|
197
|
-
/**
|
|
198
|
-
* Accepts a fraction object {n,d,s} or number.
|
|
199
|
-
* @param {*} v
|
|
200
|
-
* @return mathjs.fraction
|
|
201
|
-
*/
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
exports.isMultiple = isMultiple;
|
|
205
|
-
|
|
206
|
-
var fraction = function fraction(v) {
|
|
207
|
-
if ((0, _isObject["default"])(v)) {
|
|
208
|
-
return math.fraction(v.n * v.s, v.d);
|
|
209
|
-
} else if ((0, _isNumber["default"])(v)) {
|
|
210
|
-
return math.fraction(v);
|
|
211
|
-
}
|
|
212
|
-
};
|
|
213
|
-
|
|
214
|
-
exports.fraction = fraction;
|
|
215
|
-
|
|
216
|
-
var normalizeTicks = function normalizeTicks(domain, ticks, opts) {
|
|
217
|
-
var l = opts ? opts.limit !== false : true;
|
|
218
|
-
var end = fraction(domain.max - domain.min);
|
|
219
|
-
var minor = l ? limit(fraction(ticks.minor), math.divide(end, 100), math.divide(end, 3)) : math.fraction(ticks.minor);
|
|
220
|
-
var major = l ? limit(fraction(ticks.major), minor, math.multiply(minor, 10)) : math.fraction(ticks.major);
|
|
221
|
-
var m = isMultiple(major, minor);
|
|
222
|
-
|
|
223
|
-
if (!m) {
|
|
224
|
-
return {
|
|
225
|
-
minor: minor,
|
|
226
|
-
major: math.multiply(minor, 2)
|
|
227
|
-
};
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
return {
|
|
231
|
-
major: major,
|
|
232
|
-
minor: minor
|
|
233
|
-
};
|
|
234
|
-
};
|
|
235
|
-
/**
|
|
236
|
-
* Build ticks as an array of mathjs Fractions
|
|
237
|
-
*/
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
exports.normalizeTicks = normalizeTicks;
|
|
241
|
-
|
|
242
|
-
var buildTickDataAsFractions = function buildTickDataAsFractions(domain, ticks, opts) {
|
|
243
|
-
ticks = normalizeTicks(domain, ticks, opts);
|
|
244
|
-
var rng = simpleRange(domain.min, domain.max, ticks.minor);
|
|
245
|
-
var o = rng.filter(function (x) {
|
|
246
|
-
return math.smallerEq(x, math.fraction(domain.max));
|
|
247
|
-
}).map(function (x) {
|
|
248
|
-
var type = 'minor';
|
|
249
|
-
var modulo = math.mod(x, ticks.major);
|
|
250
|
-
|
|
251
|
-
if (closeTo(math.number(modulo), 0)) {
|
|
252
|
-
type = 'major';
|
|
253
|
-
}
|
|
254
|
-
|
|
255
|
-
return {
|
|
256
|
-
x: x,
|
|
257
|
-
type: type
|
|
258
|
-
};
|
|
259
|
-
});
|
|
260
|
-
return o;
|
|
261
|
-
};
|
|
262
|
-
|
|
263
|
-
exports.buildTickDataAsFractions = buildTickDataAsFractions;
|
|
264
|
-
|
|
265
|
-
var buildTickData = function buildTickData(domain, ticks, opts) {
|
|
266
|
-
var result = buildTickDataAsFractions(domain, ticks, opts);
|
|
267
|
-
var out = result.map(function (o) {
|
|
268
|
-
return opts.fraction ? o : _objectSpread(_objectSpread({}, o), {}, {
|
|
269
|
-
x: math.number(o.x) || 0
|
|
270
|
-
});
|
|
271
|
-
});
|
|
272
|
-
return out;
|
|
273
|
-
};
|
|
274
|
-
|
|
275
|
-
exports.buildTickData = buildTickData;
|
|
276
|
-
|
|
277
|
-
var snapElements = function snapElements(domain, ticks, elements) {
|
|
278
|
-
return elements.map(function (e) {
|
|
279
|
-
var size = Number.isFinite(e.size) ? snapTo(0, e.size, ticks.minor, e.size) : undefined;
|
|
280
|
-
var domainPosition = snapTo(domain.min, domain.max, ticks.minor, e.domainPosition);
|
|
281
|
-
|
|
282
|
-
var out = _objectSpread(_objectSpread({}, e), {}, {
|
|
283
|
-
domainPosition: domainPosition
|
|
284
|
-
});
|
|
285
|
-
|
|
286
|
-
if (Number.isFinite(size)) {
|
|
287
|
-
out.size = size;
|
|
288
|
-
}
|
|
289
|
-
|
|
290
|
-
return out;
|
|
291
|
-
});
|
|
292
|
-
};
|
|
293
|
-
|
|
294
|
-
exports.snapElements = snapElements;
|
|
295
|
-
//# sourceMappingURL=tick-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/number-line/graph/tick-utils.js"],"names":["fractionSnapTo","min","max","interval","value","fmax","fmin","mod","v","half","div","math","largerEq","abs","d","sub","fn","fn2","snapTo","out","fraction","number","fractionRange","start","end","m","equal","Error","e","subtract","direction","larger","smallerEq","compareFn","next","push","add","zbrErrorMessage","zeroBasedRange","length","a","multiplier","smaller","s","r","map","multiply","reverse","b","simpleRange","positiveRange","negativeRange","together","concat","closeTo","precision","expectedDiff","Math","pow","receivedDiff","limit","minorLimits","domain","divide","isMultiple","multiple","src","n","normalizeTicks","ticks","opts","l","minor","major","buildTickDataAsFractions","rng","o","filter","x","type","modulo","buildTickData","result","snapElements","elements","size","Number","isFinite","undefined","domainPosition"],"mappings":"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","sourcesContent":["import * as math from 'mathjs';\nimport uniqWith from 'lodash/uniqWith';\nimport isObject from 'lodash/isObject';\nimport isNumber from 'lodash/isNumber';\n\nexport const fractionSnapTo = (min, max, interval, value) => {\n value = fmax(fmin(value, max), min);\n const mod = value.mod(interval);\n let v;\n\n const half = interval.div(2);\n if (math.largerEq(math.abs(mod), half)) {\n const d = interval.sub(math.abs(mod));\n const fn = math.largerEq(value, 0) ? 'add' : 'sub';\n v = value[fn](d);\n } else {\n const fn2 = math.largerEq(value, 0) ? 'sub' : 'add';\n v = value[fn2](math.abs(mod));\n }\n return v;\n};\n\nexport const snapTo = (min, max, interval, value) => {\n const out = fractionSnapTo(math.fraction(min), math.fraction(max), math.fraction(interval), math.fraction(value));\n return math.number(out);\n};\n\nexport const fractionRange = (start, end, interval) => {\n const m = math.mod(math.abs(start), math.abs(interval));\n if (!math.equal(m, 0)) {\n throw new Error('start point must be divisible by interval');\n }\n\n if (math.equal(start, end)) {\n return [];\n }\n\n const e = math.subtract(end, math.mod(end, math.abs(interval)));\n\n const direction = math.larger(interval, 0) ? 'positive' : 'negative';\n\n if (direction === 'negative' && math.largerEq(end, start)) {\n throw new Error('start must be > than end when doing a negative decrement');\n }\n if (direction === 'positive' && math.smallerEq(end, start)) {\n throw new Error('start must be < end when doing increments');\n }\n const compareFn = direction === 'positive' ? math.smallerEq : math.equal(e, end) ? math.largerEq : math.larger;\n const out = [];\n\n let next = start;\n while (compareFn(next, e)) {\n out.push(next);\n next = math.add(next, interval);\n }\n return out;\n};\n\nexport const zbrErrorMessage = (start, end) =>\n `Can only do a positive or negative range, but got: start: ${start} and end:${end}`;\n\nexport const zeroBasedRange = (start, end, interval) => {\n start = math.fraction(start);\n end = math.fraction(end);\n interval = math.fraction(interval);\n\n const length = math.abs(math.subtract(end, start));\n\n if (math.larger(length, math.abs(end))) {\n throw new Error(zbrErrorMessage(start, end));\n }\n const a = {\n start: math.abs(start),\n end: math.abs(end),\n interval: math.abs(interval),\n multiplier: math.smaller(interval, 0) ? -1 : 1,\n };\n\n const m = math.mod(a.start, a.interval);\n const s = math.larger(m, 0) ? math.add(math.subtract(a.start, m), a.interval) : a.start;\n\n const r = fractionRange(s, a.end, a.interval);\n const out = a.multiplier === -1 ? r.map((v) => math.multiply(v, -1)) : r;\n\n if (math.smaller(interval, 0)) {\n out.reverse();\n }\n return out;\n};\n\nconst fmin = (a, b) => {\n a = math.fraction(a);\n b = math.fraction(b);\n return math.smaller(a, b) ? a : b;\n};\n\nconst fmax = (a, b) => {\n a = math.fraction(a);\n b = math.fraction(b);\n return math.larger(a, b) ? a : b;\n};\n/**\n * the lodash range was causing too much variance in the rounding errors\n * such that it was hard to round the numbers.\n * This is a more simplistic version but makes rounding work.\n */\nexport const simpleRange = (start, end, interval) => {\n start = math.fraction(start);\n end = math.fraction(end);\n interval = math.fraction(interval);\n\n const positiveRange = math.larger(end, 0) ? zeroBasedRange(fmax(0, start), end, interval) : [];\n\n const negativeRange = math.smaller(start, 0) ? zeroBasedRange(fmin(0, end), start, math.multiply(interval, -1)) : [];\n let together = negativeRange.concat(positiveRange);\n\n const out = uniqWith(together, math.equal);\n return out;\n};\n\nexport const closeTo = (a, b, precision) => {\n precision = precision || 2;\n const expectedDiff = Math.pow(10, -precision) / 2;\n const receivedDiff = Math.abs(a - b);\n return receivedDiff < expectedDiff;\n};\n\nconst limit = (v, min, max) => {\n if (math.smaller(v, min)) {\n return min;\n }\n\n if (math.larger(v, max)) {\n return max;\n }\n\n return v;\n};\n\nexport const minorLimits = (domain) => {\n const end = domain.max - domain.min;\n return {\n min: math.divide(math.fraction(end), 100),\n max: math.divide(math.fraction(end), 3),\n };\n};\n\nexport const isMultiple = (multiple, src) => {\n const mod = math.mod(multiple, src);\n return math.equal(mod, 0);\n};\n\n/**\n * Accepts a fraction object {n,d,s} or number.\n * @param {*} v\n * @return mathjs.fraction\n */\nexport const fraction = (v) => {\n if (isObject(v)) {\n return math.fraction(v.n * v.s, v.d);\n } else if (isNumber(v)) {\n return math.fraction(v);\n }\n};\n\nexport const normalizeTicks = (domain, ticks, opts) => {\n const l = opts ? opts.limit !== false : true;\n const end = fraction(domain.max - domain.min);\n const minor = l\n ? limit(fraction(ticks.minor), math.divide(end, 100), math.divide(end, 3))\n : math.fraction(ticks.minor);\n const major = l ? limit(fraction(ticks.major), minor, math.multiply(minor, 10)) : math.fraction(ticks.major);\n\n const m = isMultiple(major, minor);\n\n if (!m) {\n return { minor, major: math.multiply(minor, 2) };\n }\n\n return { major, minor };\n};\n\n/**\n * Build ticks as an array of mathjs Fractions\n */\nexport const buildTickDataAsFractions = (domain, ticks, opts) => {\n ticks = normalizeTicks(domain, ticks, opts);\n const rng = simpleRange(domain.min, domain.max, ticks.minor);\n\n const o = rng\n .filter((x) => math.smallerEq(x, math.fraction(domain.max)))\n .map((x) => {\n let type = 'minor';\n const modulo = math.mod(x, ticks.major);\n\n if (closeTo(math.number(modulo), 0)) {\n type = 'major';\n }\n\n return { x, type };\n });\n\n return o;\n};\n\nexport const buildTickData = (domain, ticks, opts) => {\n const result = buildTickDataAsFractions(domain, ticks, opts);\n\n const out = result.map((o) => (opts.fraction ? o : { ...o, x: math.number(o.x) || 0 }));\n\n return out;\n};\n\nexport const snapElements = (domain, ticks, elements) => {\n return elements.map((e) => {\n const size = Number.isFinite(e.size) ? snapTo(0, e.size, ticks.minor, e.size) : undefined;\n const domainPosition = snapTo(domain.min, domain.max, ticks.minor, e.domainPosition);\n const out = { ...e, domainPosition };\n\n if (Number.isFinite(size)) {\n out.size = size;\n }\n\n return out;\n });\n};\n"],"file":"tick-utils.js"}
|
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = exports.Ticks = exports.TickValidator = exports.Tick = void 0;
|
|
9
|
-
|
|
10
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
-
|
|
12
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
-
|
|
14
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
-
|
|
16
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
-
|
|
18
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
-
|
|
20
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
-
|
|
22
|
-
var _react = _interopRequireDefault(require("react"));
|
|
23
|
-
|
|
24
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
|
-
|
|
26
|
-
var _tickUtils = require("./tick-utils");
|
|
27
|
-
|
|
28
|
-
var _reactJss = _interopRequireDefault(require("react-jss"));
|
|
29
|
-
|
|
30
|
-
var _renderUi = require("@pie-lib/render-ui");
|
|
31
|
-
|
|
32
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
33
|
-
|
|
34
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
35
|
-
|
|
36
|
-
var style = {
|
|
37
|
-
text: {
|
|
38
|
-
userSelect: 'none',
|
|
39
|
-
textAlign: 'center',
|
|
40
|
-
fill: _renderUi.color.primary()
|
|
41
|
-
},
|
|
42
|
-
line: {
|
|
43
|
-
stroke: _renderUi.color.primary()
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
var TickValidator = _propTypes["default"].shape({
|
|
48
|
-
/** the number of major ticks (including min + max)
|
|
49
|
-
* to display. cant be lower than 2.
|
|
50
|
-
*/
|
|
51
|
-
major: function major(props, propName) {
|
|
52
|
-
var major = props[propName];
|
|
53
|
-
var minor = props.minor;
|
|
54
|
-
|
|
55
|
-
if (!(0, _tickUtils.isMultiple)(major, minor)) {
|
|
56
|
-
return new Error("Invalid prop major. It must be a multiple of ".concat(minor));
|
|
57
|
-
}
|
|
58
|
-
},
|
|
59
|
-
|
|
60
|
-
/** the number of minor ticks to display between major ticks.
|
|
61
|
-
* Can't be less than zero.
|
|
62
|
-
*/
|
|
63
|
-
minor: function minor(props, propName, componentName) {
|
|
64
|
-
var minor = props[propName];
|
|
65
|
-
|
|
66
|
-
if (minor <= 0) {
|
|
67
|
-
return new Error("Invalid prop ".concat(propName, " must be > 0. ").concat(componentName));
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
}).isRequired;
|
|
71
|
-
|
|
72
|
-
exports.TickValidator = TickValidator;
|
|
73
|
-
|
|
74
|
-
var Tick = /*#__PURE__*/function (_React$Component) {
|
|
75
|
-
(0, _inherits2["default"])(Tick, _React$Component);
|
|
76
|
-
|
|
77
|
-
var _super = _createSuper(Tick);
|
|
78
|
-
|
|
79
|
-
function Tick(props) {
|
|
80
|
-
var _this;
|
|
81
|
-
|
|
82
|
-
(0, _classCallCheck2["default"])(this, Tick);
|
|
83
|
-
_this = _super.call(this, props);
|
|
84
|
-
_this.wasRendered = false;
|
|
85
|
-
return _this;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
(0, _createClass2["default"])(Tick, [{
|
|
89
|
-
key: "componentDidMount",
|
|
90
|
-
value: function componentDidMount() {
|
|
91
|
-
//center align the tick text
|
|
92
|
-
if (this.text) {
|
|
93
|
-
var fraction = this.props.fraction;
|
|
94
|
-
|
|
95
|
-
var _this$text$getBBox = this.text.getBBox(),
|
|
96
|
-
width = _this$text$getBBox.width;
|
|
97
|
-
|
|
98
|
-
this.text.setAttribute('x', width / 2 * -1);
|
|
99
|
-
|
|
100
|
-
if (fraction && !this.wasRendered) {
|
|
101
|
-
// used for rendering the line fraction
|
|
102
|
-
this.wasRendered = true;
|
|
103
|
-
this.forceUpdate();
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
}, {
|
|
108
|
-
key: "render",
|
|
109
|
-
value: function render() {
|
|
110
|
-
var _this2 = this;
|
|
111
|
-
|
|
112
|
-
//the domain value
|
|
113
|
-
var _this$props = this.props,
|
|
114
|
-
x = _this$props.x,
|
|
115
|
-
y = _this$props.y,
|
|
116
|
-
type = _this$props.type,
|
|
117
|
-
classes = _this$props.classes,
|
|
118
|
-
xScale = _this$props.xScale,
|
|
119
|
-
fraction = _this$props.fraction;
|
|
120
|
-
var displayFraction = fraction && x.n !== x.d && x.n !== 0 && x.d !== 1;
|
|
121
|
-
var labelTick = type === 'major';
|
|
122
|
-
var height = labelTick ? 20 : 10;
|
|
123
|
-
|
|
124
|
-
var _ref = this.text && this.text.getBBox() || {},
|
|
125
|
-
_ref$width = _ref.width,
|
|
126
|
-
textWidth = _ref$width === void 0 ? 0 : _ref$width,
|
|
127
|
-
_ref$height = _ref.height,
|
|
128
|
-
textHeight = _ref$height === void 0 ? 0 : _ref$height,
|
|
129
|
-
_ref$x = _ref.x,
|
|
130
|
-
textX = _ref$x === void 0 ? 0 : _ref$x,
|
|
131
|
-
_ref$y = _ref.y,
|
|
132
|
-
textY = _ref$y === void 0 ? 0 : _ref$y;
|
|
133
|
-
|
|
134
|
-
var xText = !fraction ? Number(x.toFixed(2)) : !displayFraction ? x.n * x.s : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("tspan", {
|
|
135
|
-
x: "0",
|
|
136
|
-
dy: "0.71em"
|
|
137
|
-
}, x.n * x.s), /*#__PURE__*/_react["default"].createElement("tspan", {
|
|
138
|
-
x: "0",
|
|
139
|
-
dy: "1.11em"
|
|
140
|
-
}, x.d));
|
|
141
|
-
return /*#__PURE__*/_react["default"].createElement("g", {
|
|
142
|
-
opacity: "1",
|
|
143
|
-
transform: "translate(".concat(xScale(x), ", ").concat(y, ")")
|
|
144
|
-
}, /*#__PURE__*/_react["default"].createElement("line", {
|
|
145
|
-
className: classes.line,
|
|
146
|
-
y1: height / 2 * -1,
|
|
147
|
-
y2: height / 2,
|
|
148
|
-
x1: "0.5",
|
|
149
|
-
x2: "0.5"
|
|
150
|
-
}), displayFraction && /*#__PURE__*/_react["default"].createElement("line", {
|
|
151
|
-
className: classes.line,
|
|
152
|
-
x1: textX,
|
|
153
|
-
x2: textX + textWidth,
|
|
154
|
-
y1: textY + textHeight / 2,
|
|
155
|
-
y2: textY + textHeight / 2
|
|
156
|
-
}), labelTick && /*#__PURE__*/_react["default"].createElement("text", {
|
|
157
|
-
ref: function ref(text) {
|
|
158
|
-
return _this2.text = text;
|
|
159
|
-
},
|
|
160
|
-
className: classes.text,
|
|
161
|
-
y: "14",
|
|
162
|
-
width: "10",
|
|
163
|
-
dy: "0.71em",
|
|
164
|
-
textAnchor: displayFraction && 'middle'
|
|
165
|
-
}, xText));
|
|
166
|
-
}
|
|
167
|
-
}]);
|
|
168
|
-
return Tick;
|
|
169
|
-
}(_react["default"].Component);
|
|
170
|
-
|
|
171
|
-
exports.Tick = Tick;
|
|
172
|
-
(0, _defineProperty2["default"])(Tick, "propTypes", {
|
|
173
|
-
classes: _propTypes["default"].object.isRequired,
|
|
174
|
-
y: _propTypes["default"].number.isRequired,
|
|
175
|
-
x: _propTypes["default"].number.isRequired,
|
|
176
|
-
major: _propTypes["default"].bool,
|
|
177
|
-
fraction: _propTypes["default"].bool,
|
|
178
|
-
xScale: _propTypes["default"].func,
|
|
179
|
-
type: _propTypes["default"].string
|
|
180
|
-
});
|
|
181
|
-
(0, _defineProperty2["default"])(Tick, "defaultProps", {
|
|
182
|
-
major: false
|
|
183
|
-
});
|
|
184
|
-
|
|
185
|
-
var Ticks = /*#__PURE__*/function (_React$Component2) {
|
|
186
|
-
(0, _inherits2["default"])(Ticks, _React$Component2);
|
|
187
|
-
|
|
188
|
-
var _super2 = _createSuper(Ticks);
|
|
189
|
-
|
|
190
|
-
function Ticks() {
|
|
191
|
-
(0, _classCallCheck2["default"])(this, Ticks);
|
|
192
|
-
return _super2.apply(this, arguments);
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
(0, _createClass2["default"])(Ticks, [{
|
|
196
|
-
key: "render",
|
|
197
|
-
value: function render() {
|
|
198
|
-
var _this$props2 = this.props,
|
|
199
|
-
domain = _this$props2.domain,
|
|
200
|
-
ticks = _this$props2.ticks,
|
|
201
|
-
y = _this$props2.y,
|
|
202
|
-
classes = _this$props2.classes,
|
|
203
|
-
fraction = _this$props2.fraction;
|
|
204
|
-
var xScale = this.context.xScale;
|
|
205
|
-
var tickData = (0, _tickUtils.buildTickData)(domain, ticks, {
|
|
206
|
-
fraction: fraction
|
|
207
|
-
});
|
|
208
|
-
return /*#__PURE__*/_react["default"].createElement("g", null, tickData.map(function (_ref2) {
|
|
209
|
-
var x = _ref2.x,
|
|
210
|
-
type = _ref2.type;
|
|
211
|
-
return /*#__PURE__*/_react["default"].createElement(Tick, {
|
|
212
|
-
classes: classes,
|
|
213
|
-
fraction: fraction,
|
|
214
|
-
x: x,
|
|
215
|
-
y: y,
|
|
216
|
-
type: type,
|
|
217
|
-
xScale: xScale,
|
|
218
|
-
key: "".concat(x, "-").concat(type)
|
|
219
|
-
});
|
|
220
|
-
}));
|
|
221
|
-
}
|
|
222
|
-
}]);
|
|
223
|
-
return Ticks;
|
|
224
|
-
}(_react["default"].Component);
|
|
225
|
-
|
|
226
|
-
exports.Ticks = Ticks;
|
|
227
|
-
(0, _defineProperty2["default"])(Ticks, "contextTypes", {
|
|
228
|
-
xScale: _propTypes["default"].func.isRequired
|
|
229
|
-
});
|
|
230
|
-
(0, _defineProperty2["default"])(Ticks, "propTypes", {
|
|
231
|
-
classes: _propTypes["default"].object.isRequired,
|
|
232
|
-
domain: _propTypes["default"].shape({
|
|
233
|
-
min: _propTypes["default"].number.isRequired,
|
|
234
|
-
max: _propTypes["default"].number.isRequired
|
|
235
|
-
}).isRequired,
|
|
236
|
-
fraction: _propTypes["default"].bool,
|
|
237
|
-
ticks: TickValidator,
|
|
238
|
-
y: _propTypes["default"].number.isRequired
|
|
239
|
-
});
|
|
240
|
-
|
|
241
|
-
var _default = (0, _reactJss["default"])(style)(Ticks);
|
|
242
|
-
|
|
243
|
-
exports["default"] = _default;
|
|
244
|
-
//# sourceMappingURL=ticks.js.map
|