@pie-element/number-line 11.3.4-next.0 → 12.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/configure/lib/arrows.js +68 -103
- package/configure/lib/arrows.js.map +1 -1
- package/configure/lib/card-bar.js +41 -62
- package/configure/lib/card-bar.js.map +1 -1
- package/configure/lib/defaults.js +5 -7
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/domain.js +60 -116
- package/configure/lib/domain.js.map +1 -1
- package/configure/lib/index.js +124 -194
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/main.js +585 -721
- package/configure/lib/main.js.map +1 -1
- package/configure/lib/number-text-field.js +15 -86
- package/configure/lib/number-text-field.js.map +1 -1
- package/configure/lib/point-config.js +69 -129
- package/configure/lib/point-config.js.map +1 -1
- package/configure/lib/size.js +43 -77
- package/configure/lib/size.js.map +1 -1
- package/configure/lib/ticks.js +89 -151
- package/configure/lib/ticks.js.map +1 -1
- package/configure/lib/utils.js +2 -4
- package/configure/lib/utils.js.map +1 -1
- package/configure/package.json +10 -7
- package/controller/lib/defaults.js +5 -6
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +171 -286
- package/controller/lib/index.js.map +1 -1
- package/controller/lib/tickUtils.js +96 -169
- package/controller/lib/tickUtils.js.map +1 -1
- package/controller/lib/utils.js +55 -88
- package/controller/lib/utils.js.map +1 -1
- package/controller/package.json +3 -3
- package/lib/data-converter.js +19 -23
- package/lib/data-converter.js.map +1 -1
- package/lib/draggable/index.js +104 -43
- package/lib/draggable/index.js.map +1 -1
- package/lib/index.js +118 -205
- package/lib/index.js.map +1 -1
- package/lib/number-line/colors.js +3 -13
- package/lib/number-line/colors.js.map +1 -1
- package/lib/number-line/feedback.js +53 -69
- package/lib/number-line/feedback.js.map +1 -1
- package/lib/number-line/graph/arrow.js +19 -38
- package/lib/number-line/graph/arrow.js.map +1 -1
- package/lib/number-line/graph/elements/base.js +7 -13
- package/lib/number-line/graph/elements/base.js.map +1 -1
- package/lib/number-line/graph/elements/builder.js +6 -7
- package/lib/number-line/graph/elements/builder.js.map +1 -1
- package/lib/number-line/graph/elements/line.js +209 -265
- package/lib/number-line/graph/elements/line.js.map +1 -1
- package/lib/number-line/graph/elements/point.js +170 -201
- package/lib/number-line/graph/elements/point.js.map +1 -1
- package/lib/number-line/graph/elements/ray.js +147 -185
- package/lib/number-line/graph/elements/ray.js.map +1 -1
- package/lib/number-line/graph/index.js +217 -283
- package/lib/number-line/graph/index.js.map +1 -1
- package/lib/number-line/graph/line.js +12 -22
- package/lib/number-line/graph/line.js.map +1 -1
- package/lib/number-line/graph/stacks.js +31 -54
- package/lib/number-line/graph/stacks.js.map +1 -1
- package/lib/number-line/graph/tick-utils.js +120 -209
- package/lib/number-line/graph/tick-utils.js.map +1 -1
- package/lib/number-line/graph/ticks.js +144 -225
- package/lib/number-line/graph/ticks.js.map +1 -1
- package/lib/number-line/index.js +331 -395
- package/lib/number-line/index.js.map +1 -1
- package/lib/number-line/point-chooser/button.js +33 -58
- package/lib/number-line/point-chooser/button.js.map +1 -1
- package/lib/number-line/point-chooser/img.js +2 -3
- package/lib/number-line/point-chooser/img.js.map +1 -1
- package/lib/number-line/point-chooser/index.js +152 -148
- package/lib/number-line/point-chooser/index.js.map +1 -1
- package/lib/number-line/point-chooser/styles.js +29 -52
- package/lib/number-line/point-chooser/styles.js.map +1 -1
- package/lib/number-line/transitions/fade.js +69 -48
- package/lib/number-line/transitions/fade.js.map +1 -1
- package/lib/number-line/transitions/index.js +2 -4
- package/lib/number-line/transitions/index.js.map +1 -1
- package/package.json +14 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/tickUtils.js"],"names":["decimalTickValues","fractionTickValues","labelMultiplier","fractionRange","start","end","interval","m","math","mod","abs","equal","Error","e","subtract","direction","larger","largerEq","smallerEq","compareFn","out","next","push","add","zbrErrorMessage","zeroBasedRange","fraction","length","a","multiplier","smaller","s","r","map","v","multiply","reverse","fmin","b","fmax","simpleRange","positiveRange","negativeRange","together","concat","closeTo","precision","expectedDiff","Math","pow","receivedDiff","limit","min","max","getMinorLimits","domain","width","number","divide","isMultiple","multiple","src","n","d","normalizeTicks","ticks","opts","useLimit","minorLimits","minor","major","isMajorMultiple","multiplyBy","round","buildTickDataAsFractions","rng","o","filter","x","type","modulo","generateMinorValues","decimal","forEach","value","decimalValue","generateMajorValuesForMinor","i","num","ticksData","output","buildTickData","undefined","toString","multiplierKey","result"],"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\n// All these functions are duplicated in src/number-line/graph/tick-utils\n\n/*This will store the possible decimal tick values*/\nconst decimalTickValues = [0.001, 0.01, 0.02, 0.04, 0.05, 0.1, 0.125, 0.2, 0.25, 0.5];\n\n/*This will store the possible fraction tick values*/\nconst fractionTickValues = [\n '1/1000',\n '1/100',\n '1/64',\n '1/50',\n '1/32',\n '1/25',\n '1/20',\n '1/16',\n '1/15',\n '1/12',\n '1/10',\n '1/9',\n '1/8',\n '1/7',\n '1/6',\n '1/5',\n '1/4',\n '1/3',\n '1/2',\n];\n\n/*This const will store possible multiplier for label interval that needs to be multiplied\nwith tick interval with denominator represented with object key.*/\nconst labelMultiplier = {\n 1: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n 2: [1, 2, 4, 6, 8, 10],\n 3: [1, 3, 6, 9],\n 4: [1, 2, 4, 8],\n 5: [1, 5, 10],\n 6: [1, 2, 3, 6],\n 7: [1, 7],\n 8: [1, 2, 4, 8],\n 9: [1, 3, 9],\n 10: [1, 2, 5, 10],\n 12: [1, 2, 3, 4, 6],\n 15: [1, 3, 5],\n 16: [1, 2, 4, 8],\n 20: [1, 2, 4, 5, 10],\n 25: [1, 5],\n 32: [1, 2, 4, 8],\n 50: [1, 2, 5, 10],\n 64: [1, 2, 4, 8],\n 100: [1, 2, 4, 5, 10],\n 1000: [1, 2, 4, 5, 8, 10],\n};\n\nconst 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\nconst zbrErrorMessage = (start, end) =>\n `Can only do a positive or negative range, but got: start: ${start} and end:${end}`;\n\nconst 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 */\nconst 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\nconst 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(fraction(v), fraction(min))) {\n return min;\n }\n\n if (math.larger(fraction(v), fraction(max))) {\n return max;\n }\n\n return v;\n};\n\n/*\n * Function to get tick interval limits based on min, max and width entered by the user.\n * @param domain object containing max and min value.\n * @param width number represents width of number line.\n * */\nexport const getMinorLimits = (domain, width) => {\n const end = domain.max - domain.min;\n const min = math.number(math.multiply(10, math.divide(math.fraction(end), width)));\n const max = math.number(math.multiply(20, min));\n return {\n min: min,\n max: max,\n };\n};\n\nconst 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 */\nconst 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\nconst normalizeTicks = (domain, width, ticks, opts) => {\n const useLimit = opts ? opts.limit !== false : true;\n const minorLimits = getMinorLimits(domain, width);\n\n const minor = useLimit ? limit(fraction(ticks.minor), minorLimits.min, minorLimits.max) : fraction(ticks.minor);\n const major = useLimit ? limit(fraction(ticks.major), minor, math.multiply(minor, 20)) : fraction(ticks.major);\n\n const isMajorMultiple = isMultiple(major, minor);\n\n if (!isMajorMultiple) {\n const multiplier = math.divide(major, minor);\n const multiplyBy = multiplier <= 2 ? 2 : Math.round(multiplier);\n\n // major must be a multiple of minor\n return { minor, major: math.multiply(minor, multiplyBy) };\n }\n\n return { major, minor };\n};\n\n/**\n * Build ticks as an array of mathjs Fractions\n */\nconst buildTickDataAsFractions = (domain, width, ticks, opts) => {\n ticks = normalizeTicks(domain, width, 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\n/*\n * This function will generate tick interval values based on min and max limits of ticks.\n * @param minorLimits object containing min and max values\n * @return out object containing three arrays 1. fraction values, 2. decimal values,\n * */\nexport const generateMinorValues = (minorLimits) => {\n let out = { fraction: [], decimal: [] };\n decimalTickValues.forEach((value) => {\n if (value >= minorLimits.min && value <= minorLimits.max) {\n out.decimal.push(value);\n }\n });\n fractionTickValues.forEach((value) => {\n let decimalValue = math.number(math.fraction(value));\n if (decimalValue >= minorLimits.min && decimalValue <= minorLimits.max) {\n out.fraction.push(value);\n }\n });\n return out;\n};\n\n/*\n * This function will generate label interval values for provided tick interval value.\n * @param minor number representing tick interval value.\n * @param domain object containing min and max values.\n * @param width number representing width of number line.\n * @return out object containing three arrays 1. fraction values, 2. decimal values,\n * */\nexport const generateMajorValuesForMinor = (minor, domain, width) => {\n let out = { decimal: [], fraction: [] };\n let fraction = math.fraction(math.number(math.number(minor)));\n let n = fraction.n;\n let d = fraction.d;\n if (n >= 1 && d === 1) {\n for (let i = 1; i <= 10; i++) {\n let num = math.number(math.multiply(n, i));\n //Here we check if this major value can plot at least 2 points on number line.\n let ticksData = { minor: minor, major: num };\n let output = buildTickData(domain, width, ticksData, { fraction: undefined });\n if (output.filter((x) => x.type === 'major').length > 1) {\n out.fraction.push(num.toString());\n out.decimal.push(num);\n }\n }\n } else {\n for (const multiplierKey in labelMultiplier[d]) {\n let num = math.multiply(math.fraction(n, d), labelMultiplier[d][multiplierKey]);\n //Here we check if this major value can plot at least 2 points on number line.\n let ticksData = { minor: minor, major: math.number(num) };\n let output = buildTickData(domain, width, ticksData, { fraction: undefined });\n if (output.filter((x) => x.type === 'major').length > 1) {\n if (num.d !== 1) {\n out.fraction.push(num.n + '/' + num.d);\n } else {\n out.fraction.push(num.n.toString());\n }\n out.decimal.push(math.number(num));\n }\n }\n }\n return out;\n};\n\nconst buildTickData = (domain, width, ticks, opts) => {\n const result = buildTickDataAsFractions(domain, width, 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"],"file":"tickUtils.js"}
|
|
1
|
+
{"version":3,"file":"tickUtils.js","names":["math","_interopRequireWildcard","require","_uniqWith","_interopRequireDefault","_isObject","_isNumber","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","decimalTickValues","fractionTickValues","labelMultiplier","fractionRange","start","end","interval","m","mod","abs","equal","Error","subtract","direction","larger","largerEq","smallerEq","compareFn","out","next","push","add","zbrErrorMessage","zeroBasedRange","fraction","length","a","multiplier","smaller","s","map","v","multiply","reverse","fmin","b","fmax","simpleRange","positiveRange","negativeRange","together","concat","uniqWith","closeTo","precision","expectedDiff","Math","pow","receivedDiff","limit","min","max","getMinorLimits","domain","width","number","divide","exports","isMultiple","multiple","src","isObject","d","isNumber","normalizeTicks","ticks","opts","useLimit","minorLimits","minor","major","isMajorMultiple","multiplyBy","round","buildTickDataAsFractions","rng","filter","x","type","modulo","generateMinorValues","decimal","forEach","value","decimalValue","generateMajorValuesForMinor","num","ticksData","output","buildTickData","undefined","toString","multiplierKey","result"],"sources":["../src/tickUtils.js"],"sourcesContent":["import * as math from 'mathjs';\nimport uniqWith from 'lodash/uniqWith';\nimport isObject from 'lodash/isObject';\nimport isNumber from 'lodash/isNumber';\n\n// All these functions are duplicated in src/number-line/graph/tick-utils\n\n/*This will store the possible decimal tick values*/\nconst decimalTickValues = [0.001, 0.01, 0.02, 0.04, 0.05, 0.1, 0.125, 0.2, 0.25, 0.5];\n\n/*This will store the possible fraction tick values*/\nconst fractionTickValues = [\n '1/1000',\n '1/100',\n '1/64',\n '1/50',\n '1/32',\n '1/25',\n '1/20',\n '1/16',\n '1/15',\n '1/12',\n '1/10',\n '1/9',\n '1/8',\n '1/7',\n '1/6',\n '1/5',\n '1/4',\n '1/3',\n '1/2',\n];\n\n/*This const will store possible multiplier for label interval that needs to be multiplied\nwith tick interval with denominator represented with object key.*/\nconst labelMultiplier = {\n 1: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],\n 2: [1, 2, 4, 6, 8, 10],\n 3: [1, 3, 6, 9],\n 4: [1, 2, 4, 8],\n 5: [1, 5, 10],\n 6: [1, 2, 3, 6],\n 7: [1, 7],\n 8: [1, 2, 4, 8],\n 9: [1, 3, 9],\n 10: [1, 2, 5, 10],\n 12: [1, 2, 3, 4, 6],\n 15: [1, 3, 5],\n 16: [1, 2, 4, 8],\n 20: [1, 2, 4, 5, 10],\n 25: [1, 5],\n 32: [1, 2, 4, 8],\n 50: [1, 2, 5, 10],\n 64: [1, 2, 4, 8],\n 100: [1, 2, 4, 5, 10],\n 1000: [1, 2, 4, 5, 8, 10],\n};\n\nconst 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\nconst zbrErrorMessage = (start, end) =>\n `Can only do a positive or negative range, but got: start: ${start} and end:${end}`;\n\nconst 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 */\nconst 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\nconst 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(fraction(v), fraction(min))) {\n return min;\n }\n\n if (math.larger(fraction(v), fraction(max))) {\n return max;\n }\n\n return v;\n};\n\n/*\n * Function to get tick interval limits based on min, max and width entered by the user.\n * @param domain object containing max and min value.\n * @param width number represents width of number line.\n * */\nexport const getMinorLimits = (domain, width) => {\n const end = domain.max - domain.min;\n const min = math.number(math.multiply(10, math.divide(math.fraction(end), width)));\n const max = math.number(math.multiply(20, min));\n return {\n min: min,\n max: max,\n };\n};\n\nconst 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 */\nconst 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\nconst normalizeTicks = (domain, width, ticks, opts) => {\n const useLimit = opts ? opts.limit !== false : true;\n const minorLimits = getMinorLimits(domain, width);\n\n const minor = useLimit ? limit(fraction(ticks.minor), minorLimits.min, minorLimits.max) : fraction(ticks.minor);\n const major = useLimit ? limit(fraction(ticks.major), minor, math.multiply(minor, 20)) : fraction(ticks.major);\n\n const isMajorMultiple = isMultiple(major, minor);\n\n if (!isMajorMultiple) {\n const multiplier = math.divide(major, minor);\n const multiplyBy = multiplier <= 2 ? 2 : Math.round(multiplier);\n\n // major must be a multiple of minor\n return { minor, major: math.multiply(minor, multiplyBy) };\n }\n\n return { major, minor };\n};\n\n/**\n * Build ticks as an array of mathjs Fractions\n */\nconst buildTickDataAsFractions = (domain, width, ticks, opts) => {\n ticks = normalizeTicks(domain, width, 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\n/*\n * This function will generate tick interval values based on min and max limits of ticks.\n * @param minorLimits object containing min and max values\n * @return out object containing three arrays 1. fraction values, 2. decimal values,\n * */\nexport const generateMinorValues = (minorLimits) => {\n let out = { fraction: [], decimal: [] };\n decimalTickValues.forEach((value) => {\n if (value >= minorLimits.min && value <= minorLimits.max) {\n out.decimal.push(value);\n }\n });\n fractionTickValues.forEach((value) => {\n let decimalValue = math.number(math.fraction(value));\n if (decimalValue >= minorLimits.min && decimalValue <= minorLimits.max) {\n out.fraction.push(value);\n }\n });\n return out;\n};\n\n/*\n * This function will generate label interval values for provided tick interval value.\n * @param minor number representing tick interval value.\n * @param domain object containing min and max values.\n * @param width number representing width of number line.\n * @return out object containing three arrays 1. fraction values, 2. decimal values,\n * */\nexport const generateMajorValuesForMinor = (minor, domain, width) => {\n let out = { decimal: [], fraction: [] };\n let fraction = math.fraction(math.number(math.number(minor)));\n let n = fraction.n;\n let d = fraction.d;\n if (n >= 1 && d === 1) {\n for (let i = 1; i <= 10; i++) {\n let num = math.number(math.multiply(n, i));\n //Here we check if this major value can plot at least 2 points on number line.\n let ticksData = { minor: minor, major: num };\n let output = buildTickData(domain, width, ticksData, { fraction: undefined });\n if (output.filter((x) => x.type === 'major').length > 1) {\n out.fraction.push(num.toString());\n out.decimal.push(num);\n }\n }\n } else {\n for (const multiplierKey in labelMultiplier[d]) {\n let num = math.multiply(math.fraction(n, d), labelMultiplier[d][multiplierKey]);\n //Here we check if this major value can plot at least 2 points on number line.\n let ticksData = { minor: minor, major: math.number(num) };\n let output = buildTickData(domain, width, ticksData, { fraction: undefined });\n if (output.filter((x) => x.type === 'major').length > 1) {\n if (num.d !== 1) {\n out.fraction.push(num.n + '/' + num.d);\n } else {\n out.fraction.push(num.n.toString());\n }\n out.decimal.push(math.number(num));\n }\n }\n }\n return out;\n};\n\nconst buildTickData = (domain, width, ticks, opts) => {\n const result = buildTickDataAsFractions(domain, width, 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"],"mappings":";;;;;;;AAAA,IAAAA,IAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,SAAA,GAAAF,sBAAA,CAAAF,OAAA;AAAuC,SAAAD,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAEvC;;AAEA;AACA,MAAMkB,iBAAiB,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC;;AAErF;AACA,MAAMC,kBAAkB,GAAG,CACzB,QAAQ,EACR,OAAO,EACP,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,MAAM,EACN,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,CACN;;AAED;AACA;AACA,MAAMC,eAAe,GAAG;EACtB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;EAClC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;EACtB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EACf,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EACf,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;EACb,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EACf,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACT,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EACf,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EACZ,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;EACjB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EACnB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EACb,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAChB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;EACpB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EACV,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAChB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;EACjB,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;EAChB,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;EACrB,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;AAC1B,CAAC;AAED,MAAMC,aAAa,GAAGA,CAACC,KAAK,EAAEC,GAAG,EAAEC,QAAQ,KAAK;EAC9C,MAAMC,CAAC,GAAGjC,IAAI,CAACkC,GAAG,CAAClC,IAAI,CAACmC,GAAG,CAACL,KAAK,CAAC,EAAE9B,IAAI,CAACmC,GAAG,CAACH,QAAQ,CAAC,CAAC;EACvD,IAAI,CAAChC,IAAI,CAACoC,KAAK,CAACH,CAAC,EAAE,CAAC,CAAC,EAAE;IACrB,MAAM,IAAII,KAAK,CAAC,2CAA2C,CAAC;EAC9D;EAEA,IAAIrC,IAAI,CAACoC,KAAK,CAACN,KAAK,EAAEC,GAAG,CAAC,EAAE;IAC1B,OAAO,EAAE;EACX;EAEA,MAAMxB,CAAC,GAAGP,IAAI,CAACsC,QAAQ,CAACP,GAAG,EAAE/B,IAAI,CAACkC,GAAG,CAACH,GAAG,EAAE/B,IAAI,CAACmC,GAAG,CAACH,QAAQ,CAAC,CAAC,CAAC;EAE/D,MAAMO,SAAS,GAAGvC,IAAI,CAACwC,MAAM,CAACR,QAAQ,EAAE,CAAC,CAAC,GAAG,UAAU,GAAG,UAAU;EAEpE,IAAIO,SAAS,KAAK,UAAU,IAAIvC,IAAI,CAACyC,QAAQ,CAACV,GAAG,EAAED,KAAK,CAAC,EAAE;IACzD,MAAM,IAAIO,KAAK,CAAC,0DAA0D,CAAC;EAC7E;EACA,IAAIE,SAAS,KAAK,UAAU,IAAIvC,IAAI,CAAC0C,SAAS,CAACX,GAAG,EAAED,KAAK,CAAC,EAAE;IAC1D,MAAM,IAAIO,KAAK,CAAC,2CAA2C,CAAC;EAC9D;EACA,MAAMM,SAAS,GAAGJ,SAAS,KAAK,UAAU,GAAGvC,IAAI,CAAC0C,SAAS,GAAG1C,IAAI,CAACoC,KAAK,CAAC7B,CAAC,EAAEwB,GAAG,CAAC,GAAG/B,IAAI,CAACyC,QAAQ,GAAGzC,IAAI,CAACwC,MAAM;EAC9G,MAAMI,GAAG,GAAG,EAAE;EAEd,IAAIC,IAAI,GAAGf,KAAK;EAChB,OAAOa,SAAS,CAACE,IAAI,EAAEtC,CAAC,CAAC,EAAE;IACzBqC,GAAG,CAACE,IAAI,CAACD,IAAI,CAAC;IACdA,IAAI,GAAG7C,IAAI,CAAC+C,GAAG,CAACF,IAAI,EAAEb,QAAQ,CAAC;EACjC;EACA,OAAOY,GAAG;AACZ,CAAC;AAED,MAAMI,eAAe,GAAGA,CAAClB,KAAK,EAAEC,GAAG,KACjC,6DAA6DD,KAAK,YAAYC,GAAG,EAAE;AAErF,MAAMkB,cAAc,GAAGA,CAACnB,KAAK,EAAEC,GAAG,EAAEC,QAAQ,KAAK;EAC/CF,KAAK,GAAG9B,IAAI,CAACkD,QAAQ,CAACpB,KAAK,CAAC;EAC5BC,GAAG,GAAG/B,IAAI,CAACkD,QAAQ,CAACnB,GAAG,CAAC;EACxBC,QAAQ,GAAGhC,IAAI,CAACkD,QAAQ,CAAClB,QAAQ,CAAC;EAElC,MAAMmB,MAAM,GAAGnD,IAAI,CAACmC,GAAG,CAACnC,IAAI,CAACsC,QAAQ,CAACP,GAAG,EAAED,KAAK,CAAC,CAAC;EAElD,IAAI9B,IAAI,CAACwC,MAAM,CAACW,MAAM,EAAEnD,IAAI,CAACmC,GAAG,CAACJ,GAAG,CAAC,CAAC,EAAE;IACtC,MAAM,IAAIM,KAAK,CAACW,eAAe,CAAClB,KAAK,EAAEC,GAAG,CAAC,CAAC;EAC9C;EACA,MAAMqB,CAAC,GAAG;IACRtB,KAAK,EAAE9B,IAAI,CAACmC,GAAG,CAACL,KAAK,CAAC;IACtBC,GAAG,EAAE/B,IAAI,CAACmC,GAAG,CAACJ,GAAG,CAAC;IAClBC,QAAQ,EAAEhC,IAAI,CAACmC,GAAG,CAACH,QAAQ,CAAC;IAC5BqB,UAAU,EAAErD,IAAI,CAACsD,OAAO,CAACtB,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG;EAC/C,CAAC;EAED,MAAMC,CAAC,GAAGjC,IAAI,CAACkC,GAAG,CAACkB,CAAC,CAACtB,KAAK,EAAEsB,CAAC,CAACpB,QAAQ,CAAC;EACvC,MAAMuB,CAAC,GAAGvD,IAAI,CAACwC,MAAM,CAACP,CAAC,EAAE,CAAC,CAAC,GAAGjC,IAAI,CAAC+C,GAAG,CAAC/C,IAAI,CAACsC,QAAQ,CAACc,CAAC,CAACtB,KAAK,EAAEG,CAAC,CAAC,EAAEmB,CAAC,CAACpB,QAAQ,CAAC,GAAGoB,CAAC,CAACtB,KAAK;EAEvF,MAAMpB,CAAC,GAAGmB,aAAa,CAAC0B,CAAC,EAAEH,CAAC,CAACrB,GAAG,EAAEqB,CAAC,CAACpB,QAAQ,CAAC;EAC7C,MAAMY,GAAG,GAAGQ,CAAC,CAACC,UAAU,KAAK,CAAC,CAAC,GAAG3C,CAAC,CAAC8C,GAAG,CAAEC,CAAC,IAAKzD,IAAI,CAAC0D,QAAQ,CAACD,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG/C,CAAC;EAExE,IAAIV,IAAI,CAACsD,OAAO,CAACtB,QAAQ,EAAE,CAAC,CAAC,EAAE;IAC7BY,GAAG,CAACe,OAAO,CAAC,CAAC;EACf;EACA,OAAOf,GAAG;AACZ,CAAC;AAED,MAAMgB,IAAI,GAAGA,CAACR,CAAC,EAAES,CAAC,KAAK;EACrBT,CAAC,GAAGpD,IAAI,CAACkD,QAAQ,CAACE,CAAC,CAAC;EACpBS,CAAC,GAAG7D,IAAI,CAACkD,QAAQ,CAACW,CAAC,CAAC;EACpB,OAAO7D,IAAI,CAACsD,OAAO,CAACF,CAAC,EAAES,CAAC,CAAC,GAAGT,CAAC,GAAGS,CAAC;AACnC,CAAC;AAED,MAAMC,IAAI,GAAGA,CAACV,CAAC,EAAES,CAAC,KAAK;EACrBT,CAAC,GAAGpD,IAAI,CAACkD,QAAQ,CAACE,CAAC,CAAC;EACpBS,CAAC,GAAG7D,IAAI,CAACkD,QAAQ,CAACW,CAAC,CAAC;EACpB,OAAO7D,IAAI,CAACwC,MAAM,CAACY,CAAC,EAAES,CAAC,CAAC,GAAGT,CAAC,GAAGS,CAAC;AAClC,CAAC;AACD;AACA;AACA;AACA;AACA;AACA,MAAME,WAAW,GAAGA,CAACjC,KAAK,EAAEC,GAAG,EAAEC,QAAQ,KAAK;EAC5CF,KAAK,GAAG9B,IAAI,CAACkD,QAAQ,CAACpB,KAAK,CAAC;EAC5BC,GAAG,GAAG/B,IAAI,CAACkD,QAAQ,CAACnB,GAAG,CAAC;EACxBC,QAAQ,GAAGhC,IAAI,CAACkD,QAAQ,CAAClB,QAAQ,CAAC;EAElC,MAAMgC,aAAa,GAAGhE,IAAI,CAACwC,MAAM,CAACT,GAAG,EAAE,CAAC,CAAC,GAAGkB,cAAc,CAACa,IAAI,CAAC,CAAC,EAAEhC,KAAK,CAAC,EAAEC,GAAG,EAAEC,QAAQ,CAAC,GAAG,EAAE;EAE9F,MAAMiC,aAAa,GAAGjE,IAAI,CAACsD,OAAO,CAACxB,KAAK,EAAE,CAAC,CAAC,GAAGmB,cAAc,CAACW,IAAI,CAAC,CAAC,EAAE7B,GAAG,CAAC,EAAED,KAAK,EAAE9B,IAAI,CAAC0D,QAAQ,CAAC1B,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;EACpH,IAAIkC,QAAQ,GAAGD,aAAa,CAACE,MAAM,CAACH,aAAa,CAAC;EAElD,MAAMpB,GAAG,GAAG,IAAAwB,iBAAQ,EAACF,QAAQ,EAAElE,IAAI,CAACoC,KAAK,CAAC;EAC1C,OAAOQ,GAAG;AACZ,CAAC;AAED,MAAMyB,OAAO,GAAGA,CAACjB,CAAC,EAAES,CAAC,EAAES,SAAS,KAAK;EACnCA,SAAS,GAAGA,SAAS,IAAI,CAAC;EAC1B,MAAMC,YAAY,GAAGC,IAAI,CAACC,GAAG,CAAC,EAAE,EAAE,CAACH,SAAS,CAAC,GAAG,CAAC;EACjD,MAAMI,YAAY,GAAGF,IAAI,CAACrC,GAAG,CAACiB,CAAC,GAAGS,CAAC,CAAC;EACpC,OAAOa,YAAY,GAAGH,YAAY;AACpC,CAAC;AAED,MAAMI,KAAK,GAAGA,CAAClB,CAAC,EAAEmB,GAAG,EAAEC,GAAG,KAAK;EAC7B,IAAI7E,IAAI,CAACsD,OAAO,CAACJ,QAAQ,CAACO,CAAC,CAAC,EAAEP,QAAQ,CAAC0B,GAAG,CAAC,CAAC,EAAE;IAC5C,OAAOA,GAAG;EACZ;EAEA,IAAI5E,IAAI,CAACwC,MAAM,CAACU,QAAQ,CAACO,CAAC,CAAC,EAAEP,QAAQ,CAAC2B,GAAG,CAAC,CAAC,EAAE;IAC3C,OAAOA,GAAG;EACZ;EAEA,OAAOpB,CAAC;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAMqB,cAAc,GAAGA,CAACC,MAAM,EAAEC,KAAK,KAAK;EAC/C,MAAMjD,GAAG,GAAGgD,MAAM,CAACF,GAAG,GAAGE,MAAM,CAACH,GAAG;EACnC,MAAMA,GAAG,GAAG5E,IAAI,CAACiF,MAAM,CAACjF,IAAI,CAAC0D,QAAQ,CAAC,EAAE,EAAE1D,IAAI,CAACkF,MAAM,CAAClF,IAAI,CAACkD,QAAQ,CAACnB,GAAG,CAAC,EAAEiD,KAAK,CAAC,CAAC,CAAC;EAClF,MAAMH,GAAG,GAAG7E,IAAI,CAACiF,MAAM,CAACjF,IAAI,CAAC0D,QAAQ,CAAC,EAAE,EAAEkB,GAAG,CAAC,CAAC;EAC/C,OAAO;IACLA,GAAG,EAAEA,GAAG;IACRC,GAAG,EAAEA;EACP,CAAC;AACH,CAAC;AAACM,OAAA,CAAAL,cAAA,GAAAA,cAAA;AAEF,MAAMM,UAAU,GAAGA,CAACC,QAAQ,EAAEC,GAAG,KAAK;EACpC,MAAMpD,GAAG,GAAGlC,IAAI,CAACkC,GAAG,CAACmD,QAAQ,EAAEC,GAAG,CAAC;EACnC,OAAOtF,IAAI,CAACoC,KAAK,CAACF,GAAG,EAAE,CAAC,CAAC;AAC3B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMgB,QAAQ,GAAIO,CAAC,IAAK;EACtB,IAAI,IAAA8B,iBAAQ,EAAC9B,CAAC,CAAC,EAAE;IACf,OAAOzD,IAAI,CAACkD,QAAQ,CAACO,CAAC,CAAC9C,CAAC,GAAG8C,CAAC,CAACF,CAAC,EAAEE,CAAC,CAAC+B,CAAC,CAAC;EACtC,CAAC,MAAM,IAAI,IAAAC,iBAAQ,EAAChC,CAAC,CAAC,EAAE;IACtB,OAAOzD,IAAI,CAACkD,QAAQ,CAACO,CAAC,CAAC;EACzB;AACF,CAAC;AAED,MAAMiC,cAAc,GAAGA,CAACX,MAAM,EAAEC,KAAK,EAAEW,KAAK,EAAEC,IAAI,KAAK;EACrD,MAAMC,QAAQ,GAAGD,IAAI,GAAGA,IAAI,CAACjB,KAAK,KAAK,KAAK,GAAG,IAAI;EACnD,MAAMmB,WAAW,GAAGhB,cAAc,CAACC,MAAM,EAAEC,KAAK,CAAC;EAEjD,MAAMe,KAAK,GAAGF,QAAQ,GAAGlB,KAAK,CAACzB,QAAQ,CAACyC,KAAK,CAACI,KAAK,CAAC,EAAED,WAAW,CAAClB,GAAG,EAAEkB,WAAW,CAACjB,GAAG,CAAC,GAAG3B,QAAQ,CAACyC,KAAK,CAACI,KAAK,CAAC;EAC/G,MAAMC,KAAK,GAAGH,QAAQ,GAAGlB,KAAK,CAACzB,QAAQ,CAACyC,KAAK,CAACK,KAAK,CAAC,EAAED,KAAK,EAAE/F,IAAI,CAAC0D,QAAQ,CAACqC,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG7C,QAAQ,CAACyC,KAAK,CAACK,KAAK,CAAC;EAE9G,MAAMC,eAAe,GAAGb,UAAU,CAACY,KAAK,EAAED,KAAK,CAAC;EAEhD,IAAI,CAACE,eAAe,EAAE;IACpB,MAAM5C,UAAU,GAAGrD,IAAI,CAACkF,MAAM,CAACc,KAAK,EAAED,KAAK,CAAC;IAC5C,MAAMG,UAAU,GAAG7C,UAAU,IAAI,CAAC,GAAG,CAAC,GAAGmB,IAAI,CAAC2B,KAAK,CAAC9C,UAAU,CAAC;;IAE/D;IACA,OAAO;MAAE0C,KAAK;MAAEC,KAAK,EAAEhG,IAAI,CAAC0D,QAAQ,CAACqC,KAAK,EAAEG,UAAU;IAAE,CAAC;EAC3D;EAEA,OAAO;IAAEF,KAAK;IAAED;EAAM,CAAC;AACzB,CAAC;;AAED;AACA;AACA;AACA,MAAMK,wBAAwB,GAAGA,CAACrB,MAAM,EAAEC,KAAK,EAAEW,KAAK,EAAEC,IAAI,KAAK;EAC/DD,KAAK,GAAGD,cAAc,CAACX,MAAM,EAAEC,KAAK,EAAEW,KAAK,EAAEC,IAAI,CAAC;EAClD,MAAMS,GAAG,GAAGtC,WAAW,CAACgB,MAAM,CAACH,GAAG,EAAEG,MAAM,CAACF,GAAG,EAAEc,KAAK,CAACI,KAAK,CAAC;EAE5D,MAAMlF,CAAC,GAAGwF,GAAG,CACVC,MAAM,CAAEC,CAAC,IAAKvG,IAAI,CAAC0C,SAAS,CAAC6D,CAAC,EAAEvG,IAAI,CAACkD,QAAQ,CAAC6B,MAAM,CAACF,GAAG,CAAC,CAAC,CAAC,CAC3DrB,GAAG,CAAE+C,CAAC,IAAK;IACV,IAAIC,IAAI,GAAG,OAAO;IAClB,MAAMC,MAAM,GAAGzG,IAAI,CAACkC,GAAG,CAACqE,CAAC,EAAEZ,KAAK,CAACK,KAAK,CAAC;IAEvC,IAAI3B,OAAO,CAACrE,IAAI,CAACiF,MAAM,CAACwB,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE;MACnCD,IAAI,GAAG,OAAO;IAChB;IAEA,OAAO;MAAED,CAAC;MAAEC;IAAK,CAAC;EACpB,CAAC,CAAC;EAEJ,OAAO3F,CAAC;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA;AACO,MAAM6F,mBAAmB,GAAIZ,WAAW,IAAK;EAClD,IAAIlD,GAAG,GAAG;IAAEM,QAAQ,EAAE,EAAE;IAAEyD,OAAO,EAAE;EAAG,CAAC;EACvCjF,iBAAiB,CAACkF,OAAO,CAAEC,KAAK,IAAK;IACnC,IAAIA,KAAK,IAAIf,WAAW,CAAClB,GAAG,IAAIiC,KAAK,IAAIf,WAAW,CAACjB,GAAG,EAAE;MACxDjC,GAAG,CAAC+D,OAAO,CAAC7D,IAAI,CAAC+D,KAAK,CAAC;IACzB;EACF,CAAC,CAAC;EACFlF,kBAAkB,CAACiF,OAAO,CAAEC,KAAK,IAAK;IACpC,IAAIC,YAAY,GAAG9G,IAAI,CAACiF,MAAM,CAACjF,IAAI,CAACkD,QAAQ,CAAC2D,KAAK,CAAC,CAAC;IACpD,IAAIC,YAAY,IAAIhB,WAAW,CAAClB,GAAG,IAAIkC,YAAY,IAAIhB,WAAW,CAACjB,GAAG,EAAE;MACtEjC,GAAG,CAACM,QAAQ,CAACJ,IAAI,CAAC+D,KAAK,CAAC;IAC1B;EACF,CAAC,CAAC;EACF,OAAOjE,GAAG;AACZ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AANAuC,OAAA,CAAAuB,mBAAA,GAAAA,mBAAA;AAOO,MAAMK,2BAA2B,GAAGA,CAAChB,KAAK,EAAEhB,MAAM,EAAEC,KAAK,KAAK;EACnE,IAAIpC,GAAG,GAAG;IAAE+D,OAAO,EAAE,EAAE;IAAEzD,QAAQ,EAAE;EAAG,CAAC;EACvC,IAAIA,QAAQ,GAAGlD,IAAI,CAACkD,QAAQ,CAAClD,IAAI,CAACiF,MAAM,CAACjF,IAAI,CAACiF,MAAM,CAACc,KAAK,CAAC,CAAC,CAAC;EAC7D,IAAIpF,CAAC,GAAGuC,QAAQ,CAACvC,CAAC;EAClB,IAAI6E,CAAC,GAAGtC,QAAQ,CAACsC,CAAC;EAClB,IAAI7E,CAAC,IAAI,CAAC,IAAI6E,CAAC,KAAK,CAAC,EAAE;IACrB,KAAK,IAAI1E,CAAC,GAAG,CAAC,EAAEA,CAAC,IAAI,EAAE,EAAEA,CAAC,EAAE,EAAE;MAC5B,IAAIkG,GAAG,GAAGhH,IAAI,CAACiF,MAAM,CAACjF,IAAI,CAAC0D,QAAQ,CAAC/C,CAAC,EAAEG,CAAC,CAAC,CAAC;MAC1C;MACA,IAAImG,SAAS,GAAG;QAAElB,KAAK,EAAEA,KAAK;QAAEC,KAAK,EAAEgB;MAAI,CAAC;MAC5C,IAAIE,MAAM,GAAGC,aAAa,CAACpC,MAAM,EAAEC,KAAK,EAAEiC,SAAS,EAAE;QAAE/D,QAAQ,EAAEkE;MAAU,CAAC,CAAC;MAC7E,IAAIF,MAAM,CAACZ,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,OAAO,CAAC,CAACrD,MAAM,GAAG,CAAC,EAAE;QACvDP,GAAG,CAACM,QAAQ,CAACJ,IAAI,CAACkE,GAAG,CAACK,QAAQ,CAAC,CAAC,CAAC;QACjCzE,GAAG,CAAC+D,OAAO,CAAC7D,IAAI,CAACkE,GAAG,CAAC;MACvB;IACF;EACF,CAAC,MAAM;IACL,KAAK,MAAMM,aAAa,IAAI1F,eAAe,CAAC4D,CAAC,CAAC,EAAE;MAC9C,IAAIwB,GAAG,GAAGhH,IAAI,CAAC0D,QAAQ,CAAC1D,IAAI,CAACkD,QAAQ,CAACvC,CAAC,EAAE6E,CAAC,CAAC,EAAE5D,eAAe,CAAC4D,CAAC,CAAC,CAAC8B,aAAa,CAAC,CAAC;MAC/E;MACA,IAAIL,SAAS,GAAG;QAAElB,KAAK,EAAEA,KAAK;QAAEC,KAAK,EAAEhG,IAAI,CAACiF,MAAM,CAAC+B,GAAG;MAAE,CAAC;MACzD,IAAIE,MAAM,GAAGC,aAAa,CAACpC,MAAM,EAAEC,KAAK,EAAEiC,SAAS,EAAE;QAAE/D,QAAQ,EAAEkE;MAAU,CAAC,CAAC;MAC7E,IAAIF,MAAM,CAACZ,MAAM,CAAEC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,OAAO,CAAC,CAACrD,MAAM,GAAG,CAAC,EAAE;QACvD,IAAI6D,GAAG,CAACxB,CAAC,KAAK,CAAC,EAAE;UACf5C,GAAG,CAACM,QAAQ,CAACJ,IAAI,CAACkE,GAAG,CAACrG,CAAC,GAAG,GAAG,GAAGqG,GAAG,CAACxB,CAAC,CAAC;QACxC,CAAC,MAAM;UACL5C,GAAG,CAACM,QAAQ,CAACJ,IAAI,CAACkE,GAAG,CAACrG,CAAC,CAAC0G,QAAQ,CAAC,CAAC,CAAC;QACrC;QACAzE,GAAG,CAAC+D,OAAO,CAAC7D,IAAI,CAAC9C,IAAI,CAACiF,MAAM,CAAC+B,GAAG,CAAC,CAAC;MACpC;IACF;EACF;EACA,OAAOpE,GAAG;AACZ,CAAC;AAACuC,OAAA,CAAA4B,2BAAA,GAAAA,2BAAA;AAEF,MAAMI,aAAa,GAAGA,CAACpC,MAAM,EAAEC,KAAK,EAAEW,KAAK,EAAEC,IAAI,KAAK;EACpD,MAAM2B,MAAM,GAAGnB,wBAAwB,CAACrB,MAAM,EAAEC,KAAK,EAAEW,KAAK,EAAEC,IAAI,CAAC;EAEnE,MAAMhD,GAAG,GAAG2E,MAAM,CAAC/D,GAAG,CAAE3C,CAAC,IAAM+E,IAAI,CAAC1C,QAAQ,GAAGrC,CAAC,GAAG;IAAE,GAAGA,CAAC;IAAE0F,CAAC,EAAEvG,IAAI,CAACiF,MAAM,CAACpE,CAAC,CAAC0F,CAAC,CAAC,IAAI;EAAE,CAAE,CAAC;EAEvF,OAAO3D,GAAG;AACZ,CAAC","ignoreList":[]}
|
package/controller/lib/utils.js
CHANGED
|
@@ -1,57 +1,41 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
3
|
Object.defineProperty(exports, "__esModule", {
|
|
8
4
|
value: true
|
|
9
5
|
});
|
|
10
6
|
exports.reloadTicksData = void 0;
|
|
11
|
-
|
|
12
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
-
|
|
14
7
|
var math = _interopRequireWildcard(require("mathjs"));
|
|
15
|
-
|
|
16
8
|
var _tickUtils = require("./tickUtils");
|
|
17
|
-
|
|
18
|
-
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); }
|
|
19
|
-
|
|
20
|
-
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; }
|
|
21
|
-
|
|
22
|
-
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; }
|
|
23
|
-
|
|
24
|
-
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; }
|
|
25
|
-
|
|
9
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (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 (const 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); }
|
|
26
10
|
/*
|
|
27
11
|
* This function is duplicated in configure/main.js
|
|
28
12
|
* This function will update major value whenever minor value is changed or tick type is changed
|
|
29
13
|
* @param graph object containing domain, ticks and width value
|
|
30
14
|
* @return graph object with updated ticks values
|
|
31
15
|
* */
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
16
|
+
const updateMajorValue = graph => {
|
|
17
|
+
const {
|
|
18
|
+
domain,
|
|
19
|
+
ticks,
|
|
20
|
+
width
|
|
21
|
+
} = graph;
|
|
22
|
+
const majorValues = (0, _tickUtils.generateMajorValuesForMinor)(ticks.minor, domain, width);
|
|
38
23
|
if (majorValues.decimal.indexOf(ticks.major) === -1) {
|
|
39
|
-
|
|
40
|
-
|
|
24
|
+
let currIndex = 0;
|
|
41
25
|
if (ticks.tickIntervalType === 'Integer') {
|
|
42
26
|
currIndex = majorValues.decimal.length > 4 ? 4 : majorValues.decimal.length - 1;
|
|
43
27
|
} else {
|
|
44
28
|
currIndex = majorValues.decimal.length - 1;
|
|
45
29
|
}
|
|
46
|
-
|
|
47
30
|
ticks.major = majorValues.decimal[currIndex];
|
|
48
31
|
}
|
|
49
|
-
|
|
50
32
|
graph.fraction = ticks.tickIntervalType === 'Fraction' && ticks.major < 1;
|
|
51
|
-
return
|
|
52
|
-
|
|
53
|
-
|
|
33
|
+
return {
|
|
34
|
+
...graph,
|
|
35
|
+
ticks
|
|
36
|
+
};
|
|
54
37
|
};
|
|
38
|
+
|
|
55
39
|
/*
|
|
56
40
|
* This function is duplicated in configure/main.js
|
|
57
41
|
* This function will reload ticks data whenever graph object is changed and also sets required tick object
|
|
@@ -60,25 +44,23 @@ var updateMajorValue = function updateMajorValue(graph) {
|
|
|
60
44
|
* @return graph object with updated ticks values
|
|
61
45
|
* */
|
|
62
46
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
47
|
+
const reloadTicksData = graph => {
|
|
48
|
+
const {
|
|
49
|
+
domain,
|
|
50
|
+
ticks = {},
|
|
51
|
+
width
|
|
52
|
+
} = graph;
|
|
53
|
+
//Set tick interval type if not present for legacy number line models depending upon minor value
|
|
70
54
|
if (!ticks.tickIntervalType) {
|
|
71
55
|
if (ticks.minor > 0.5) {
|
|
72
56
|
ticks.tickIntervalType = 'Integer';
|
|
73
57
|
} else {
|
|
74
58
|
ticks.tickIntervalType = 'Decimal';
|
|
75
59
|
}
|
|
76
|
-
}
|
|
60
|
+
}
|
|
61
|
+
// This section will calculate minor and major values array and assign respective value
|
|
77
62
|
// to different tick types object
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
var minorLimits = (0, _tickUtils.getMinorLimits)(domain, width);
|
|
81
|
-
|
|
63
|
+
const minorLimits = (0, _tickUtils.getMinorLimits)(domain, width);
|
|
82
64
|
if (minorLimits.min >= 1) {
|
|
83
65
|
/*
|
|
84
66
|
* In this scenario only integer tick will be enabled
|
|
@@ -86,7 +68,7 @@ var reloadTicksData = function reloadTicksData(graph) {
|
|
|
86
68
|
ticks.tickIntervalType = 'Integer';
|
|
87
69
|
ticks.minor = ticks.minor < 1 ? math.number(math.ceil(minorLimits.min)) : ticks.minor >= math.number(math.ceil(minorLimits.min)) && ticks.minor <= math.number(math.floor(minorLimits.max)) ? ticks.minor : math.number(math.ceil(minorLimits.min));
|
|
88
70
|
ticks.integerTick = ticks.minor;
|
|
89
|
-
|
|
71
|
+
const minorValues = {
|
|
90
72
|
decimal: [],
|
|
91
73
|
fraction: []
|
|
92
74
|
};
|
|
@@ -99,103 +81,88 @@ var reloadTicksData = function reloadTicksData(graph) {
|
|
|
99
81
|
if (ticks.tickIntervalType === 'Integer') {
|
|
100
82
|
ticks.tickIntervalType = 'Fraction';
|
|
101
83
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
var minValue = math.number(math.fraction(_minorValues.fraction[0]));
|
|
106
|
-
var maxValue = math.number(math.fraction(_minorValues.fraction[_minorValues.fraction.length - 1]));
|
|
107
|
-
|
|
84
|
+
const minorValues = (0, _tickUtils.generateMinorValues)(minorLimits);
|
|
85
|
+
let minValue = math.number(math.fraction(minorValues.fraction[0]));
|
|
86
|
+
let maxValue = math.number(math.fraction(minorValues.fraction[minorValues.fraction.length - 1]));
|
|
108
87
|
if (ticks.minor < minValue || ticks.minor > maxValue) {
|
|
109
88
|
switch (ticks.tickIntervalType) {
|
|
110
89
|
case 'Fraction':
|
|
111
|
-
ticks.minor = math.number(math.fraction(
|
|
112
|
-
ticks.fractionTick =
|
|
113
|
-
ticks.decimalTick =
|
|
90
|
+
ticks.minor = math.number(math.fraction(minorValues.fraction[minorValues.fraction.length - 1]));
|
|
91
|
+
ticks.fractionTick = minorValues.fraction[minorValues.fraction.length - 1];
|
|
92
|
+
ticks.decimalTick = minorValues.decimal[0];
|
|
114
93
|
break;
|
|
115
|
-
|
|
116
94
|
case 'Decimal':
|
|
117
95
|
case 'Integer':
|
|
118
|
-
ticks.minor =
|
|
119
|
-
ticks.decimalTick =
|
|
120
|
-
ticks.fractionTick =
|
|
96
|
+
ticks.minor = minorValues.decimal[minorValues.decimal.length - 1];
|
|
97
|
+
ticks.decimalTick = minorValues.decimal[minorValues.decimal.length - 1];
|
|
98
|
+
ticks.fractionTick = minorValues.fraction[0];
|
|
121
99
|
}
|
|
122
100
|
} else {
|
|
123
101
|
switch (ticks.tickIntervalType) {
|
|
124
102
|
case 'Fraction':
|
|
125
|
-
|
|
103
|
+
let fraction = math.fraction(math.number(ticks.minor));
|
|
126
104
|
ticks.fractionTick = fraction.n + '/' + fraction.d;
|
|
127
|
-
ticks.decimalTick = ticks.decimalTick ? ticks.decimalTick :
|
|
105
|
+
ticks.decimalTick = ticks.decimalTick ? ticks.decimalTick : minorValues.decimal[0];
|
|
128
106
|
break;
|
|
129
|
-
|
|
130
107
|
case 'Decimal':
|
|
131
108
|
case 'Integer':
|
|
132
109
|
ticks.decimalTick = ticks.minor;
|
|
133
|
-
ticks.fractionTick = ticks.fractionTick ? ticks.fractionTick :
|
|
110
|
+
ticks.fractionTick = ticks.fractionTick ? ticks.fractionTick : minorValues.fraction[0];
|
|
134
111
|
}
|
|
135
112
|
}
|
|
136
|
-
|
|
137
113
|
ticks.integerTick = 1;
|
|
138
114
|
} else if (minorLimits.min < 1 && minorLimits.max >= 1) {
|
|
139
115
|
/*
|
|
140
116
|
* In this scenario all integer, decimal or fraction tick will be enabled
|
|
141
117
|
* */
|
|
142
|
-
|
|
143
|
-
|
|
118
|
+
const minorValues = (0, _tickUtils.generateMinorValues)(minorLimits);
|
|
144
119
|
if (!(ticks.minor >= minorLimits.min && ticks.minor <= minorLimits.max)) {
|
|
145
120
|
if (minorLimits.min > 0.5) {
|
|
146
121
|
ticks.tickIntervalType = 'Integer';
|
|
147
122
|
}
|
|
148
|
-
|
|
149
123
|
switch (ticks.tickIntervalType) {
|
|
150
124
|
case 'Integer':
|
|
151
125
|
ticks.minor = math.number(math.ceil(minorLimits.min));
|
|
152
126
|
ticks.integerTick = ticks.minor;
|
|
153
|
-
ticks.decimalTick = minorLimits.min > 0.5 ? 0 :
|
|
154
|
-
ticks.fractionTick = minorLimits.min > 0.5 ? '0' :
|
|
127
|
+
ticks.decimalTick = minorLimits.min > 0.5 ? 0 : minorValues.decimal[0];
|
|
128
|
+
ticks.fractionTick = minorLimits.min > 0.5 ? '0' : minorValues.fraction[0];
|
|
155
129
|
break;
|
|
156
|
-
|
|
157
130
|
case 'Decimal':
|
|
158
|
-
ticks.minor =
|
|
131
|
+
ticks.minor = minorValues.decimal[0];
|
|
159
132
|
ticks.integerTick = 1;
|
|
160
133
|
ticks.decimalTick = ticks.minor;
|
|
161
|
-
ticks.fractionTick =
|
|
134
|
+
ticks.fractionTick = minorValues.fraction[0];
|
|
162
135
|
break;
|
|
163
|
-
|
|
164
136
|
case 'Fraction':
|
|
165
|
-
ticks.minor = math.number(math.fraction(
|
|
137
|
+
ticks.minor = math.number(math.fraction(minorValues.fraction[0]));
|
|
166
138
|
ticks.integerTick = 1;
|
|
167
|
-
ticks.decimalTick =
|
|
168
|
-
ticks.fractionTick =
|
|
139
|
+
ticks.decimalTick = minorValues.decimal[0];
|
|
140
|
+
ticks.fractionTick = minorValues.fraction[0];
|
|
169
141
|
}
|
|
170
142
|
} else {
|
|
171
143
|
switch (ticks.tickIntervalType) {
|
|
172
144
|
case 'Integer':
|
|
173
145
|
ticks.integerTick = ticks.minor;
|
|
174
|
-
ticks.decimalTick = minorLimits.min > 0.5 ? 0 :
|
|
175
|
-
ticks.fractionTick = minorLimits.min > 0.5 ? '0' :
|
|
146
|
+
ticks.decimalTick = minorLimits.min > 0.5 ? 0 : minorValues.decimal[0];
|
|
147
|
+
ticks.fractionTick = minorLimits.min > 0.5 ? '0' : minorValues.fraction[0];
|
|
176
148
|
break;
|
|
177
|
-
|
|
178
149
|
case 'Decimal':
|
|
179
150
|
ticks.integerTick = 1;
|
|
180
151
|
ticks.decimalTick = ticks.minor;
|
|
181
|
-
ticks.fractionTick =
|
|
152
|
+
ticks.fractionTick = minorValues.fraction[0];
|
|
182
153
|
break;
|
|
183
|
-
|
|
184
154
|
case 'Fraction':
|
|
185
155
|
ticks.integerTick = 1;
|
|
186
|
-
ticks.decimalTick =
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
ticks.fractionTick = _fraction.n + '/' + _fraction.d;
|
|
156
|
+
ticks.decimalTick = minorValues.decimal[0];
|
|
157
|
+
let fraction = math.fraction(math.number(ticks.minor));
|
|
158
|
+
ticks.fractionTick = fraction.n + '/' + fraction.d;
|
|
191
159
|
}
|
|
192
160
|
}
|
|
193
161
|
}
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
ticks
|
|
197
|
-
})
|
|
162
|
+
return updateMajorValue({
|
|
163
|
+
...graph,
|
|
164
|
+
ticks
|
|
165
|
+
});
|
|
198
166
|
};
|
|
199
|
-
|
|
200
167
|
exports.reloadTicksData = reloadTicksData;
|
|
201
168
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/utils.js"],"names":["updateMajorValue","graph","domain","ticks","width","majorValues","minor","decimal","indexOf","major","currIndex","tickIntervalType","length","fraction","reloadTicksData","minorLimits","min","math","number","ceil","floor","max","integerTick","minorValues","fractionTick","decimalTick","minValue","maxValue","n","d"],"mappings":"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","sourcesContent":["import * as math from 'mathjs';\nimport { generateMajorValuesForMinor, generateMinorValues, getMinorLimits } from './tickUtils';\n\n/*\n * This function is duplicated in configure/main.js\n * This function will update major value whenever minor value is changed or tick type is changed\n * @param graph object containing domain, ticks and width value\n * @return graph object with updated ticks values\n * */\nconst updateMajorValue = (graph) => {\n const { domain, ticks, width } = graph;\n const majorValues = generateMajorValuesForMinor(ticks.minor, domain, width);\n if (majorValues.decimal.indexOf(ticks.major) === -1) {\n let currIndex = 0;\n if (ticks.tickIntervalType === 'Integer') {\n currIndex = majorValues.decimal.length > 4 ? 4 : majorValues.decimal.length - 1;\n } else {\n currIndex = majorValues.decimal.length - 1;\n }\n ticks.major = majorValues.decimal[currIndex];\n }\n graph.fraction = ticks.tickIntervalType === 'Fraction' && ticks.major < 1;\n return { ...graph, ticks };\n};\n\n/*\n * This function is duplicated in configure/main.js\n * This function will reload ticks data whenever graph object is changed and also sets required tick object\n * for rendering Ticks Components.\n * @param graph object containing domain, ticks and width value\n * @return graph object with updated ticks values\n * */\n\nexport const reloadTicksData = (graph) => {\n const { domain, ticks = {}, width } = graph;\n //Set tick interval type if not present for legacy number line models depending upon minor value\n if (!ticks.tickIntervalType) {\n if (ticks.minor > 0.5) {\n ticks.tickIntervalType = 'Integer';\n } else {\n ticks.tickIntervalType = 'Decimal';\n }\n }\n // This section will calculate minor and major values array and assign respective value\n // to different tick types object\n const minorLimits = getMinorLimits(domain, width);\n if (minorLimits.min >= 1) {\n /*\n * In this scenario only integer tick will be enabled\n * */\n ticks.tickIntervalType = 'Integer';\n ticks.minor =\n ticks.minor < 1\n ? math.number(math.ceil(minorLimits.min))\n : ticks.minor >= math.number(math.ceil(minorLimits.min)) &&\n ticks.minor <= math.number(math.floor(minorLimits.max))\n ? ticks.minor\n : math.number(math.ceil(minorLimits.min));\n ticks.integerTick = ticks.minor;\n const minorValues = { decimal: [], fraction: [] };\n ticks.fractionTick = '0';\n ticks.decimalTick = 0;\n } else if (minorLimits.min >= 0 && minorLimits.max < 1) {\n /*\n * In this scenario only decimal or fraction tick will be enabled\n * */\n if (ticks.tickIntervalType === 'Integer') {\n ticks.tickIntervalType = 'Fraction';\n }\n const minorValues = generateMinorValues(minorLimits);\n let minValue = math.number(math.fraction(minorValues.fraction[0]));\n let maxValue = math.number(math.fraction(minorValues.fraction[minorValues.fraction.length - 1]));\n if (ticks.minor < minValue || ticks.minor > maxValue) {\n switch (ticks.tickIntervalType) {\n case 'Fraction':\n ticks.minor = math.number(math.fraction(minorValues.fraction[minorValues.fraction.length - 1]));\n ticks.fractionTick = minorValues.fraction[minorValues.fraction.length - 1];\n ticks.decimalTick = minorValues.decimal[0];\n break;\n case 'Decimal':\n case 'Integer':\n ticks.minor = minorValues.decimal[minorValues.decimal.length - 1];\n ticks.decimalTick = minorValues.decimal[minorValues.decimal.length - 1];\n ticks.fractionTick = minorValues.fraction[0];\n }\n } else {\n switch (ticks.tickIntervalType) {\n case 'Fraction':\n let fraction = math.fraction(math.number(ticks.minor));\n ticks.fractionTick = fraction.n + '/' + fraction.d;\n ticks.decimalTick = ticks.decimalTick ? ticks.decimalTick : minorValues.decimal[0];\n break;\n case 'Decimal':\n case 'Integer':\n ticks.decimalTick = ticks.minor;\n ticks.fractionTick = ticks.fractionTick ? ticks.fractionTick : minorValues.fraction[0];\n }\n }\n ticks.integerTick = 1;\n } else if (minorLimits.min < 1 && minorLimits.max >= 1) {\n /*\n * In this scenario all integer, decimal or fraction tick will be enabled\n * */\n const minorValues = generateMinorValues(minorLimits);\n if (!(ticks.minor >= minorLimits.min && ticks.minor <= minorLimits.max)) {\n if (minorLimits.min > 0.5) {\n ticks.tickIntervalType = 'Integer';\n }\n switch (ticks.tickIntervalType) {\n case 'Integer':\n ticks.minor = math.number(math.ceil(minorLimits.min));\n ticks.integerTick = ticks.minor;\n ticks.decimalTick = minorLimits.min > 0.5 ? 0 : minorValues.decimal[0];\n ticks.fractionTick = minorLimits.min > 0.5 ? '0' : minorValues.fraction[0];\n break;\n case 'Decimal':\n ticks.minor = minorValues.decimal[0];\n ticks.integerTick = 1;\n ticks.decimalTick = ticks.minor;\n ticks.fractionTick = minorValues.fraction[0];\n break;\n case 'Fraction':\n ticks.minor = math.number(math.fraction(minorValues.fraction[0]));\n ticks.integerTick = 1;\n ticks.decimalTick = minorValues.decimal[0];\n ticks.fractionTick = minorValues.fraction[0];\n }\n } else {\n switch (ticks.tickIntervalType) {\n case 'Integer':\n ticks.integerTick = ticks.minor;\n ticks.decimalTick = minorLimits.min > 0.5 ? 0 : minorValues.decimal[0];\n ticks.fractionTick = minorLimits.min > 0.5 ? '0' : minorValues.fraction[0];\n break;\n case 'Decimal':\n ticks.integerTick = 1;\n ticks.decimalTick = ticks.minor;\n ticks.fractionTick = minorValues.fraction[0];\n break;\n case 'Fraction':\n ticks.integerTick = 1;\n ticks.decimalTick = minorValues.decimal[0];\n let fraction = math.fraction(math.number(ticks.minor));\n ticks.fractionTick = fraction.n + '/' + fraction.d;\n }\n }\n }\n return updateMajorValue({ ...graph, ticks });\n};\n"],"file":"utils.js"}
|
|
1
|
+
{"version":3,"file":"utils.js","names":["math","_interopRequireWildcard","require","_tickUtils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","updateMajorValue","graph","domain","ticks","width","majorValues","generateMajorValuesForMinor","minor","decimal","indexOf","major","currIndex","tickIntervalType","length","fraction","reloadTicksData","minorLimits","getMinorLimits","min","number","ceil","floor","max","integerTick","minorValues","fractionTick","decimalTick","generateMinorValues","minValue","maxValue","d","exports"],"sources":["../src/utils.js"],"sourcesContent":["import * as math from 'mathjs';\nimport { generateMajorValuesForMinor, generateMinorValues, getMinorLimits } from './tickUtils';\n\n/*\n * This function is duplicated in configure/main.js\n * This function will update major value whenever minor value is changed or tick type is changed\n * @param graph object containing domain, ticks and width value\n * @return graph object with updated ticks values\n * */\nconst updateMajorValue = (graph) => {\n const { domain, ticks, width } = graph;\n const majorValues = generateMajorValuesForMinor(ticks.minor, domain, width);\n if (majorValues.decimal.indexOf(ticks.major) === -1) {\n let currIndex = 0;\n if (ticks.tickIntervalType === 'Integer') {\n currIndex = majorValues.decimal.length > 4 ? 4 : majorValues.decimal.length - 1;\n } else {\n currIndex = majorValues.decimal.length - 1;\n }\n ticks.major = majorValues.decimal[currIndex];\n }\n graph.fraction = ticks.tickIntervalType === 'Fraction' && ticks.major < 1;\n return { ...graph, ticks };\n};\n\n/*\n * This function is duplicated in configure/main.js\n * This function will reload ticks data whenever graph object is changed and also sets required tick object\n * for rendering Ticks Components.\n * @param graph object containing domain, ticks and width value\n * @return graph object with updated ticks values\n * */\n\nexport const reloadTicksData = (graph) => {\n const { domain, ticks = {}, width } = graph;\n //Set tick interval type if not present for legacy number line models depending upon minor value\n if (!ticks.tickIntervalType) {\n if (ticks.minor > 0.5) {\n ticks.tickIntervalType = 'Integer';\n } else {\n ticks.tickIntervalType = 'Decimal';\n }\n }\n // This section will calculate minor and major values array and assign respective value\n // to different tick types object\n const minorLimits = getMinorLimits(domain, width);\n if (minorLimits.min >= 1) {\n /*\n * In this scenario only integer tick will be enabled\n * */\n ticks.tickIntervalType = 'Integer';\n ticks.minor =\n ticks.minor < 1\n ? math.number(math.ceil(minorLimits.min))\n : ticks.minor >= math.number(math.ceil(minorLimits.min)) &&\n ticks.minor <= math.number(math.floor(minorLimits.max))\n ? ticks.minor\n : math.number(math.ceil(minorLimits.min));\n ticks.integerTick = ticks.minor;\n const minorValues = { decimal: [], fraction: [] };\n ticks.fractionTick = '0';\n ticks.decimalTick = 0;\n } else if (minorLimits.min >= 0 && minorLimits.max < 1) {\n /*\n * In this scenario only decimal or fraction tick will be enabled\n * */\n if (ticks.tickIntervalType === 'Integer') {\n ticks.tickIntervalType = 'Fraction';\n }\n const minorValues = generateMinorValues(minorLimits);\n let minValue = math.number(math.fraction(minorValues.fraction[0]));\n let maxValue = math.number(math.fraction(minorValues.fraction[minorValues.fraction.length - 1]));\n if (ticks.minor < minValue || ticks.minor > maxValue) {\n switch (ticks.tickIntervalType) {\n case 'Fraction':\n ticks.minor = math.number(math.fraction(minorValues.fraction[minorValues.fraction.length - 1]));\n ticks.fractionTick = minorValues.fraction[minorValues.fraction.length - 1];\n ticks.decimalTick = minorValues.decimal[0];\n break;\n case 'Decimal':\n case 'Integer':\n ticks.minor = minorValues.decimal[minorValues.decimal.length - 1];\n ticks.decimalTick = minorValues.decimal[minorValues.decimal.length - 1];\n ticks.fractionTick = minorValues.fraction[0];\n }\n } else {\n switch (ticks.tickIntervalType) {\n case 'Fraction':\n let fraction = math.fraction(math.number(ticks.minor));\n ticks.fractionTick = fraction.n + '/' + fraction.d;\n ticks.decimalTick = ticks.decimalTick ? ticks.decimalTick : minorValues.decimal[0];\n break;\n case 'Decimal':\n case 'Integer':\n ticks.decimalTick = ticks.minor;\n ticks.fractionTick = ticks.fractionTick ? ticks.fractionTick : minorValues.fraction[0];\n }\n }\n ticks.integerTick = 1;\n } else if (minorLimits.min < 1 && minorLimits.max >= 1) {\n /*\n * In this scenario all integer, decimal or fraction tick will be enabled\n * */\n const minorValues = generateMinorValues(minorLimits);\n if (!(ticks.minor >= minorLimits.min && ticks.minor <= minorLimits.max)) {\n if (minorLimits.min > 0.5) {\n ticks.tickIntervalType = 'Integer';\n }\n switch (ticks.tickIntervalType) {\n case 'Integer':\n ticks.minor = math.number(math.ceil(minorLimits.min));\n ticks.integerTick = ticks.minor;\n ticks.decimalTick = minorLimits.min > 0.5 ? 0 : minorValues.decimal[0];\n ticks.fractionTick = minorLimits.min > 0.5 ? '0' : minorValues.fraction[0];\n break;\n case 'Decimal':\n ticks.minor = minorValues.decimal[0];\n ticks.integerTick = 1;\n ticks.decimalTick = ticks.minor;\n ticks.fractionTick = minorValues.fraction[0];\n break;\n case 'Fraction':\n ticks.minor = math.number(math.fraction(minorValues.fraction[0]));\n ticks.integerTick = 1;\n ticks.decimalTick = minorValues.decimal[0];\n ticks.fractionTick = minorValues.fraction[0];\n }\n } else {\n switch (ticks.tickIntervalType) {\n case 'Integer':\n ticks.integerTick = ticks.minor;\n ticks.decimalTick = minorLimits.min > 0.5 ? 0 : minorValues.decimal[0];\n ticks.fractionTick = minorLimits.min > 0.5 ? '0' : minorValues.fraction[0];\n break;\n case 'Decimal':\n ticks.integerTick = 1;\n ticks.decimalTick = ticks.minor;\n ticks.fractionTick = minorValues.fraction[0];\n break;\n case 'Fraction':\n ticks.integerTick = 1;\n ticks.decimalTick = minorValues.decimal[0];\n let fraction = math.fraction(math.number(ticks.minor));\n ticks.fractionTick = fraction.n + '/' + fraction.d;\n }\n }\n }\n return updateMajorValue({ ...graph, ticks });\n};\n"],"mappings":"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","ignoreList":[]}
|
package/controller/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/number-line-controller",
|
|
3
3
|
"private": true,
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "8.0.0-beta.0",
|
|
5
5
|
"description": "Controller logic for @pie-ui/number-line",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"pie",
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"access": "public"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@pie-lib/controller-utils": "0.22.
|
|
18
|
-
"@pie-lib/feedback": "0.24.
|
|
17
|
+
"@pie-lib/controller-utils": "0.22.4-next.0",
|
|
18
|
+
"@pie-lib/feedback": "0.24.3-next.0",
|
|
19
19
|
"lodash": "^4.17.15",
|
|
20
20
|
"mathjs": "^7.5.1"
|
|
21
21
|
},
|
package/lib/data-converter.js
CHANGED
|
@@ -4,23 +4,24 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.toSessionFormat = exports.toGraphFormat = exports.switchPosition = exports.switchGraphLine = exports.lineIsSwitched = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
const lineIsSwitched = line => {
|
|
8
|
+
let {
|
|
9
|
+
position
|
|
10
|
+
} = line;
|
|
10
11
|
return position.left > position.right;
|
|
11
12
|
};
|
|
12
|
-
|
|
13
13
|
exports.lineIsSwitched = lineIsSwitched;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
const switchGraphLine = line => {
|
|
15
|
+
let {
|
|
16
|
+
position
|
|
17
|
+
} = line;
|
|
18
18
|
if (position.left < position.right) {
|
|
19
19
|
return line;
|
|
20
20
|
}
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
let {
|
|
22
|
+
leftPoint: newRightPoint,
|
|
23
|
+
rightPoint: newLeftPoint
|
|
24
|
+
} = line;
|
|
24
25
|
return {
|
|
25
26
|
leftPoint: newLeftPoint,
|
|
26
27
|
rightPoint: newRightPoint,
|
|
@@ -28,21 +29,19 @@ var switchGraphLine = function switchGraphLine(line) {
|
|
|
28
29
|
type: 'line'
|
|
29
30
|
};
|
|
30
31
|
};
|
|
31
|
-
|
|
32
32
|
exports.switchGraphLine = switchGraphLine;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
33
|
+
const switchPosition = p => {
|
|
34
|
+
let {
|
|
35
|
+
left: newRight,
|
|
36
|
+
right: newLeft
|
|
37
|
+
} = p;
|
|
37
38
|
return {
|
|
38
39
|
left: newLeft,
|
|
39
40
|
right: newRight
|
|
40
41
|
};
|
|
41
42
|
};
|
|
42
|
-
|
|
43
43
|
exports.switchPosition = switchPosition;
|
|
44
|
-
|
|
45
|
-
var toSessionFormat = function toSessionFormat(gf) {
|
|
44
|
+
const toSessionFormat = gf => {
|
|
46
45
|
if (gf.type === 'point') {
|
|
47
46
|
return {
|
|
48
47
|
type: 'point',
|
|
@@ -66,10 +65,8 @@ var toSessionFormat = function toSessionFormat(gf) {
|
|
|
66
65
|
};
|
|
67
66
|
}
|
|
68
67
|
};
|
|
69
|
-
|
|
70
68
|
exports.toSessionFormat = toSessionFormat;
|
|
71
|
-
|
|
72
|
-
var toGraphFormat = function toGraphFormat(sf) {
|
|
69
|
+
const toGraphFormat = sf => {
|
|
73
70
|
if (sf.type === 'point') {
|
|
74
71
|
return {
|
|
75
72
|
type: 'point',
|
|
@@ -95,6 +92,5 @@ var toGraphFormat = function toGraphFormat(sf) {
|
|
|
95
92
|
};
|
|
96
93
|
}
|
|
97
94
|
};
|
|
98
|
-
|
|
99
95
|
exports.toGraphFormat = toGraphFormat;
|
|
100
96
|
//# sourceMappingURL=data-converter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"data-converter.js","names":["lineIsSwitched","line","position","left","right","exports","switchGraphLine","leftPoint","newRightPoint","rightPoint","newLeftPoint","switchPosition","type","p","newRight","newLeft","toSessionFormat","gf","pointType","domainPosition","size","direction","toGraphFormat","sf"],"sources":["../src/data-converter.js"],"sourcesContent":["export const lineIsSwitched = (line) => {\n let { position } = line;\n return position.left > position.right;\n};\n\nexport const switchGraphLine = (line) => {\n let { position } = line;\n\n if (position.left < position.right) {\n return line;\n }\n\n let { leftPoint: newRightPoint, rightPoint: newLeftPoint } = line;\n\n return {\n leftPoint: newLeftPoint,\n rightPoint: newRightPoint,\n position: switchPosition(position),\n type: 'line',\n };\n};\n\nexport const switchPosition = (p) => {\n let { left: newRight, right: newLeft } = p;\n return { left: newLeft, right: newRight };\n};\n\nexport const toSessionFormat = (gf) => {\n if (gf.type === 'point') {\n return {\n type: 'point',\n pointType: gf.pointType,\n domainPosition: gf.position,\n };\n } else if (gf.type === 'line') {\n return {\n type: 'line',\n size: gf.position.right - gf.position.left,\n domainPosition: gf.position.left,\n leftPoint: gf.leftPoint,\n rightPoint: gf.rightPoint,\n };\n } else if (gf.type === 'ray') {\n return {\n type: 'ray',\n domainPosition: gf.position,\n pointType: gf.pointType,\n direction: gf.direction,\n };\n }\n};\n\nexport const toGraphFormat = (sf) => {\n if (sf.type === 'point') {\n return {\n type: 'point',\n pointType: sf.pointType,\n position: sf.domainPosition,\n };\n } else if (sf.type === 'line') {\n return {\n type: 'line',\n position: {\n left: sf.domainPosition,\n right: sf.domainPosition + sf.size,\n },\n leftPoint: sf.leftPoint,\n rightPoint: sf.rightPoint,\n };\n } else if (sf.type === 'ray') {\n return {\n type: 'ray',\n position: sf.domainPosition,\n pointType: sf.pointType,\n direction: sf.direction,\n };\n }\n};\n"],"mappings":"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","ignoreList":[]}
|