@pie-element/number-line 13.1.1 → 13.1.2-next.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.
Files changed (381) hide show
  1. package/configure.js +2 -0
  2. package/controller.js +1 -0
  3. package/dist/_virtual/_rolldown/runtime.js +11 -0
  4. package/dist/author/arrows.d.ts +28 -0
  5. package/dist/author/arrows.js +69 -0
  6. package/dist/author/card-bar.d.ts +20 -0
  7. package/dist/author/card-bar.js +41 -0
  8. package/dist/author/defaults.d.ts +178 -0
  9. package/dist/author/defaults.js +144 -0
  10. package/dist/author/domain.d.ts +15 -0
  11. package/dist/author/domain.js +54 -0
  12. package/dist/author/index.d.ts +23 -0
  13. package/dist/author/index.js +89 -0
  14. package/dist/author/main.d.ts +44 -0
  15. package/dist/author/main.js +485 -0
  16. package/dist/author/number-text-field.d.ts +13 -0
  17. package/dist/author/number-text-field.js +13 -0
  18. package/dist/author/point-config.d.ts +25 -0
  19. package/dist/author/point-config.js +69 -0
  20. package/dist/author/size.d.ts +24 -0
  21. package/dist/author/size.js +48 -0
  22. package/dist/author/ticks.d.ts +22 -0
  23. package/dist/author/ticks.js +115 -0
  24. package/dist/author/utils.d.ts +9 -0
  25. package/dist/author/utils.js +4 -0
  26. package/dist/browser/_baseSet-ycZx94p7.js +8672 -0
  27. package/dist/browser/_baseSet-ycZx94p7.js.map +1 -0
  28. package/dist/browser/author/index.js +40436 -0
  29. package/dist/browser/author/index.js.map +1 -0
  30. package/dist/browser/controller/index.js +823 -0
  31. package/dist/browser/controller/index.js.map +1 -0
  32. package/dist/browser/delivery/index.js +2 -0
  33. package/dist/browser/delivery-Dh8QdqpO.js +17950 -0
  34. package/dist/browser/delivery-Dh8QdqpO.js.map +1 -0
  35. package/dist/browser/number-line.css +2 -0
  36. package/dist/browser/uniqWith-CKN50xMI.js +17886 -0
  37. package/dist/browser/uniqWith-CKN50xMI.js.map +1 -0
  38. package/dist/controller/defaults.d.ts +58 -0
  39. package/dist/controller/defaults.js +50 -0
  40. package/dist/controller/index.d.ts +33 -0
  41. package/dist/controller/index.js +170 -0
  42. package/dist/controller/tickUtils.d.ts +20 -0
  43. package/dist/controller/tickUtils.js +254 -0
  44. package/dist/controller/utils.d.ts +9 -0
  45. package/dist/controller/utils.js +68 -0
  46. package/dist/delivery/data-converter.d.ts +64 -0
  47. package/dist/delivery/data-converter.js +70 -0
  48. package/dist/delivery/draggable/index.d.ts +33 -0
  49. package/dist/delivery/draggable/index.js +39 -0
  50. package/dist/delivery/index.d.ts +35 -0
  51. package/dist/delivery/index.js +109 -0
  52. package/dist/delivery/number-line/colors.d.ts +11 -0
  53. package/dist/delivery/number-line/colors.js +5 -0
  54. package/dist/delivery/number-line/feedback.d.ts +19 -0
  55. package/dist/delivery/number-line/feedback.js +57 -0
  56. package/dist/delivery/number-line/graph/arrow.d.ts +30 -0
  57. package/dist/delivery/number-line/graph/arrow.js +27 -0
  58. package/dist/delivery/number-line/graph/elements/base.d.ts +16 -0
  59. package/dist/delivery/number-line/graph/elements/base.js +11 -0
  60. package/dist/delivery/number-line/graph/elements/builder.d.ts +33 -0
  61. package/dist/delivery/number-line/graph/elements/builder.js +30 -0
  62. package/dist/delivery/number-line/graph/elements/line.d.ts +51 -0
  63. package/dist/delivery/number-line/graph/elements/line.js +189 -0
  64. package/dist/delivery/number-line/graph/elements/point.d.ts +43 -0
  65. package/dist/delivery/number-line/graph/elements/point.js +127 -0
  66. package/dist/delivery/number-line/graph/elements/ray.d.ts +43 -0
  67. package/dist/delivery/number-line/graph/elements/ray.js +130 -0
  68. package/dist/delivery/number-line/graph/index.d.ts +59 -0
  69. package/dist/delivery/number-line/graph/index.js +196 -0
  70. package/dist/delivery/number-line/graph/line.d.ts +46 -0
  71. package/dist/delivery/number-line/graph/line.js +27 -0
  72. package/dist/delivery/number-line/graph/stacks.d.ts +10 -0
  73. package/dist/delivery/number-line/graph/stacks.js +40 -0
  74. package/dist/delivery/number-line/graph/tick-utils.d.ts +73 -0
  75. package/dist/delivery/number-line/graph/tick-utils.js +297 -0
  76. package/dist/delivery/number-line/graph/ticks.d.ts +46 -0
  77. package/dist/delivery/number-line/graph/ticks.js +115 -0
  78. package/dist/delivery/number-line/index.d.ts +35 -0
  79. package/dist/delivery/number-line/index.js +218 -0
  80. package/dist/delivery/number-line/point-chooser/button.d.ts +31 -0
  81. package/dist/delivery/number-line/point-chooser/button.js +36 -0
  82. package/dist/delivery/number-line/point-chooser/img.d.ts +10 -0
  83. package/dist/delivery/number-line/point-chooser/img.js +4 -0
  84. package/dist/delivery/number-line/point-chooser/index.d.ts +37 -0
  85. package/dist/delivery/number-line/point-chooser/index.js +154 -0
  86. package/dist/delivery/number-line/point-chooser/styles.d.ts +192 -0
  87. package/dist/delivery/number-line/transitions/fade.d.ts +34 -0
  88. package/dist/delivery/number-line/transitions/fade.js +75 -0
  89. package/dist/delivery/number-line/transitions/index.d.ts +10 -0
  90. package/dist/index.d.ts +1 -0
  91. package/dist/index.iife.d.ts +8 -0
  92. package/dist/index.iife.js +201 -0
  93. package/dist/index.js +2 -0
  94. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_DataView.js +6 -0
  95. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Hash.js +16 -0
  96. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_ListCache.js +16 -0
  97. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Map.js +6 -0
  98. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_MapCache.js +16 -0
  99. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Promise.js +6 -0
  100. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Set.js +6 -0
  101. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_SetCache.js +11 -0
  102. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Stack.js +14 -0
  103. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Symbol.js +5 -0
  104. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_Uint8Array.js +5 -0
  105. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_WeakMap.js +6 -0
  106. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_apply.js +12 -0
  107. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayEach.js +7 -0
  108. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayFilter.js +10 -0
  109. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayIncludes.js +7 -0
  110. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayIncludesWith.js +7 -0
  111. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayLikeKeys.js +15 -0
  112. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayMap.js +7 -0
  113. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arrayPush.js +7 -0
  114. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_arraySome.js +7 -0
  115. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assignMergeValue.js +8 -0
  116. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assignValue.js +10 -0
  117. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_assocIndexOf.js +8 -0
  118. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssign.js +8 -0
  119. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignIn.js +8 -0
  120. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseAssignValue.js +12 -0
  121. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseClone.js +57 -0
  122. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseCreate.js +14 -0
  123. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseFindIndex.js +7 -0
  124. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseFor.js +5 -0
  125. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGet.js +10 -0
  126. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetAllKeys.js +9 -0
  127. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseGetTag.js +10 -0
  128. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseHasIn.js +6 -0
  129. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIndexOf.js +9 -0
  130. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsArguments.js +9 -0
  131. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqual.js +8 -0
  132. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsEqualDeep.js +30 -0
  133. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsMap.js +9 -0
  134. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsMatch.js +26 -0
  135. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNaN.js +6 -0
  136. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsNative.js +11 -0
  137. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsSet.js +9 -0
  138. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIsTypedArray.js +11 -0
  139. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseIteratee.js +11 -0
  140. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeys.js +12 -0
  141. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseKeysIn.js +13 -0
  142. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseMatches.js +12 -0
  143. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseMatchesProperty.js +17 -0
  144. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseMerge.js +19 -0
  145. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseMergeDeep.js +31 -0
  146. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_basePickBy.js +13 -0
  147. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseProperty.js +8 -0
  148. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_basePropertyDeep.js +9 -0
  149. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseRest.js +9 -0
  150. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseSet.js +22 -0
  151. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseSetToString.js +14 -0
  152. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseTimes.js +7 -0
  153. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseToString.js +15 -0
  154. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseTrim.js +8 -0
  155. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseUnary.js +8 -0
  156. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_baseUniq.js +27 -0
  157. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cacheHas.js +6 -0
  158. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_castPath.js +10 -0
  159. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneArrayBuffer.js +8 -0
  160. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneBuffer.js +10 -0
  161. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneDataView.js +8 -0
  162. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneRegExp.js +8 -0
  163. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneSymbol.js +8 -0
  164. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_cloneTypedArray.js +8 -0
  165. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyArray.js +8 -0
  166. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copyObject.js +14 -0
  167. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbols.js +8 -0
  168. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_copySymbolsIn.js +8 -0
  169. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_coreJsData.js +5 -0
  170. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_createAssigner.js +15 -0
  171. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_createBaseFor.js +12 -0
  172. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_createFind.js +19 -0
  173. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_createSet.js +9 -0
  174. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_defineProperty.js +10 -0
  175. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalArrays.js +35 -0
  176. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalByTag.js +35 -0
  177. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_equalObjects.js +32 -0
  178. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_freeGlobal.js +4 -0
  179. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeys.js +9 -0
  180. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getAllKeysIn.js +9 -0
  181. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getMapData.js +8 -0
  182. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getMatchData.js +16 -0
  183. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getNative.js +9 -0
  184. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getPrototype.js +5 -0
  185. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getRawTag.js +14 -0
  186. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbols.js +10 -0
  187. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getSymbolsIn.js +11 -0
  188. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getTag.js +23 -0
  189. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_getValue.js +6 -0
  190. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hasPath.js +18 -0
  191. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashClear.js +7 -0
  192. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashDelete.js +7 -0
  193. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashGet.js +13 -0
  194. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashHas.js +9 -0
  195. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_hashSet.js +9 -0
  196. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneArray.js +8 -0
  197. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneByTag.js +33 -0
  198. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_initCloneObject.js +9 -0
  199. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isIndex.js +8 -0
  200. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isIterateeCall.js +12 -0
  201. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isKey.js +11 -0
  202. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isKeyable.js +7 -0
  203. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isMasked.js +11 -0
  204. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isPrototype.js +8 -0
  205. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_isStrictComparable.js +7 -0
  206. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheClear.js +6 -0
  207. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheDelete.js +9 -0
  208. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheGet.js +8 -0
  209. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheHas.js +7 -0
  210. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_listCacheSet.js +8 -0
  211. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheClear.js +13 -0
  212. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheDelete.js +8 -0
  213. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheGet.js +7 -0
  214. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheHas.js +7 -0
  215. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapCacheSet.js +8 -0
  216. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_mapToArray.js +9 -0
  217. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_matchesStrictComparable.js +8 -0
  218. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_memoizeCapped.js +11 -0
  219. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeCreate.js +5 -0
  220. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeys.js +5 -0
  221. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nativeKeysIn.js +8 -0
  222. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_nodeUtil.js +9 -0
  223. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_objectToString.js +7 -0
  224. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_overArg.js +8 -0
  225. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_overRest.js +13 -0
  226. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_root.js +5 -0
  227. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_safeGet.js +6 -0
  228. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setCacheAdd.js +7 -0
  229. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setCacheHas.js +6 -0
  230. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setToArray.js +9 -0
  231. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_setToString.js +6 -0
  232. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_shortOut.js +14 -0
  233. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackClear.js +7 -0
  234. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackDelete.js +7 -0
  235. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackGet.js +6 -0
  236. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackHas.js +6 -0
  237. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stackSet.js +16 -0
  238. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_strictIndexOf.js +7 -0
  239. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_stringToPath.js +10 -0
  240. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_toKey.js +10 -0
  241. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_toSource.js +15 -0
  242. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/_trimmedEndIndex.js +8 -0
  243. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/cloneDeep.js +8 -0
  244. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/constant.js +8 -0
  245. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/eq.js +6 -0
  246. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/find.js +6 -0
  247. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/findIndex.js +13 -0
  248. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/get.js +8 -0
  249. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/hasIn.js +8 -0
  250. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/identity.js +6 -0
  251. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArguments.js +10 -0
  252. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArray.js +4 -0
  253. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArrayLike.js +8 -0
  254. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isArrayLikeObject.js +8 -0
  255. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isBuffer.js +6 -0
  256. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEmpty.js +21 -0
  257. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEqual.js +7 -0
  258. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isEqualWith.js +9 -0
  259. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isFunction.js +11 -0
  260. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isLength.js +7 -0
  261. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isMap.js +7 -0
  262. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isNumber.js +9 -0
  263. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObject.js +7 -0
  264. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isObjectLike.js +6 -0
  265. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isPlainObject.js +14 -0
  266. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSet.js +7 -0
  267. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isSymbol.js +9 -0
  268. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/isTypedArray.js +7 -0
  269. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keys.js +9 -0
  270. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/keysIn.js +9 -0
  271. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/memoize.js +16 -0
  272. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/merge.js +8 -0
  273. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/negate.js +17 -0
  274. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/noop.js +4 -0
  275. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/omitBy.js +9 -0
  276. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/pickBy.js +16 -0
  277. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/property.js +10 -0
  278. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubArray.js +6 -0
  279. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/stubFalse.js +6 -0
  280. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/toFinite.js +8 -0
  281. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/toInteger.js +8 -0
  282. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/toNumber.js +19 -0
  283. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/toPlainObject.js +8 -0
  284. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/toString.js +7 -0
  285. package/dist/node_modules/.bun/lodash-es@4.18.1/node_modules/lodash-es/uniqWith.js +7 -0
  286. package/package.json +78 -16
  287. package/CHANGELOG.json +0 -1247
  288. package/CHANGELOG.md +0 -2435
  289. package/LICENSE.md +0 -5
  290. package/README.md +0 -28
  291. package/configure/CHANGELOG.json +0 -827
  292. package/configure/CHANGELOG.md +0 -2082
  293. package/configure/lib/arrows.js +0 -89
  294. package/configure/lib/arrows.js.map +0 -1
  295. package/configure/lib/card-bar.js +0 -57
  296. package/configure/lib/card-bar.js.map +0 -1
  297. package/configure/lib/defaults.js +0 -177
  298. package/configure/lib/defaults.js.map +0 -1
  299. package/configure/lib/domain.js +0 -87
  300. package/configure/lib/domain.js.map +0 -1
  301. package/configure/lib/index.js +0 -176
  302. package/configure/lib/index.js.map +0 -1
  303. package/configure/lib/main.js +0 -815
  304. package/configure/lib/main.js.map +0 -1
  305. package/configure/lib/number-text-field.js +0 -26
  306. package/configure/lib/number-text-field.js.map +0 -1
  307. package/configure/lib/point-config.js +0 -84
  308. package/configure/lib/point-config.js.map +0 -1
  309. package/configure/lib/size.js +0 -66
  310. package/configure/lib/size.js.map +0 -1
  311. package/configure/lib/ticks.js +0 -234
  312. package/configure/lib/ticks.js.map +0 -1
  313. package/configure/lib/utils.js +0 -12
  314. package/configure/lib/utils.js.map +0 -1
  315. package/configure/package.json +0 -20
  316. package/controller/CHANGELOG.json +0 -332
  317. package/controller/CHANGELOG.md +0 -1360
  318. package/controller/lib/defaults.js +0 -56
  319. package/controller/lib/defaults.js.map +0 -1
  320. package/controller/lib/index.js +0 -430
  321. package/controller/lib/index.js.map +0 -1
  322. package/controller/lib/tickUtils.js +0 -294
  323. package/controller/lib/tickUtils.js.map +0 -1
  324. package/controller/lib/utils.js +0 -168
  325. package/controller/lib/utils.js.map +0 -1
  326. package/controller/package.json +0 -20
  327. package/demo.gif +0 -0
  328. package/docs/config-schema.json +0 -2532
  329. package/docs/config-schema.json.md +0 -1844
  330. package/docs/demo/config.js +0 -8
  331. package/docs/demo/generate.js +0 -39
  332. package/docs/demo/index.html +0 -1
  333. package/docs/pie-schema.json +0 -2461
  334. package/docs/pie-schema.json.md +0 -1228
  335. package/docs/schemas/config.json +0 -256
  336. package/lib/data-converter.js +0 -96
  337. package/lib/data-converter.js.map +0 -1
  338. package/lib/draggable/index.js +0 -114
  339. package/lib/draggable/index.js.map +0 -1
  340. package/lib/index.js +0 -196
  341. package/lib/index.js.map +0 -1
  342. package/lib/number-line/colors.js +0 -11
  343. package/lib/number-line/colors.js.map +0 -1
  344. package/lib/number-line/feedback.js +0 -92
  345. package/lib/number-line/feedback.js.map +0 -1
  346. package/lib/number-line/graph/arrow.js +0 -44
  347. package/lib/number-line/graph/arrow.js.map +0 -1
  348. package/lib/number-line/graph/elements/base.js +0 -20
  349. package/lib/number-line/graph/elements/base.js.map +0 -1
  350. package/lib/number-line/graph/elements/builder.js +0 -37
  351. package/lib/number-line/graph/elements/builder.js.map +0 -1
  352. package/lib/number-line/graph/elements/line.js +0 -259
  353. package/lib/number-line/graph/elements/line.js.map +0 -1
  354. package/lib/number-line/graph/elements/point.js +0 -204
  355. package/lib/number-line/graph/elements/point.js.map +0 -1
  356. package/lib/number-line/graph/elements/ray.js +0 -190
  357. package/lib/number-line/graph/elements/ray.js.map +0 -1
  358. package/lib/number-line/graph/index.js +0 -262
  359. package/lib/number-line/graph/index.js.map +0 -1
  360. package/lib/number-line/graph/line.js +0 -38
  361. package/lib/number-line/graph/line.js.map +0 -1
  362. package/lib/number-line/graph/stacks.js +0 -78
  363. package/lib/number-line/graph/stacks.js.map +0 -1
  364. package/lib/number-line/graph/tick-utils.js +0 -347
  365. package/lib/number-line/graph/tick-utils.js.map +0 -1
  366. package/lib/number-line/graph/ticks.js +0 -188
  367. package/lib/number-line/graph/ticks.js.map +0 -1
  368. package/lib/number-line/index.js +0 -384
  369. package/lib/number-line/index.js.map +0 -1
  370. package/lib/number-line/point-chooser/button.js +0 -49
  371. package/lib/number-line/point-chooser/button.js.map +0 -1
  372. package/lib/number-line/point-chooser/img.js +0 -8
  373. package/lib/number-line/point-chooser/img.js.map +0 -1
  374. package/lib/number-line/point-chooser/index.js +0 -197
  375. package/lib/number-line/point-chooser/index.js.map +0 -1
  376. package/lib/number-line/point-chooser/styles.js +0 -77
  377. package/lib/number-line/point-chooser/styles.js.map +0 -1
  378. package/lib/number-line/transitions/fade.js +0 -88
  379. package/lib/number-line/transitions/fade.js.map +0 -1
  380. package/lib/number-line/transitions/index.js +0 -14
  381. package/lib/number-line/transitions/index.js.map +0 -1
@@ -1,347 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.zeroBasedRange = exports.zbrErrorMessage = exports.snapTo = exports.snapElements = exports.simpleRange = exports.normalizeTicks = exports.labelMultiplier = exports.isMultiple = exports.getMinorLimits = exports.generateMinorValues = exports.generateMajorValuesForMinor = exports.fractionTickValues = exports.fractionSnapTo = exports.fractionRange = exports.fraction = exports.decimalTickValues = exports.closeTo = exports.buildTickDataAsFractions = exports.buildTickData = void 0;
7
- var math = _interopRequireWildcard(require("mathjs"));
8
- var _lodashEs = require("lodash-es");
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); }
10
- // All these functions are duplicated in controller/src/tickUtils
11
-
12
- /*This will store the possible decimal tick values*/
13
- const decimalTickValues = exports.decimalTickValues = [0.001, 0.01, 0.02, 0.04, 0.05, 0.1, 0.125, 0.2, 0.25, 0.5];
14
-
15
- /*This will store the possible fraction tick values*/
16
- const fractionTickValues = exports.fractionTickValues = ['1/1000', '1/100', '1/64', '1/50', '1/32', '1/25', '1/20', '1/16', '1/15', '1/12', '1/10', '1/9', '1/8', '1/7', '1/6', '1/5', '1/4', '1/3', '1/2'];
17
-
18
- /*This const will store possible multiplier for label interval that needs to be multiplied
19
- with tick interval with denominator represented with object key.*/
20
- const labelMultiplier = exports.labelMultiplier = {
21
- 1: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
22
- 2: [1, 2, 4, 6, 8, 10],
23
- 3: [1, 3, 6, 9],
24
- 4: [1, 2, 4, 8],
25
- 5: [1, 5, 10],
26
- 6: [1, 2, 3, 6],
27
- 7: [1, 7],
28
- 8: [1, 2, 4, 8],
29
- 9: [1, 3, 9],
30
- 10: [1, 2, 5, 10],
31
- 12: [1, 2, 3, 4, 6],
32
- 15: [1, 3, 5],
33
- 16: [1, 2, 4, 8],
34
- 20: [1, 2, 4, 5, 10],
35
- 25: [1, 5],
36
- 32: [1, 2, 4, 8],
37
- 50: [1, 2, 5, 10],
38
- 64: [1, 2, 4, 8],
39
- 100: [1, 2, 4, 5, 10],
40
- 1000: [1, 2, 4, 5, 8, 10]
41
- };
42
- const fractionRange = (start, end, interval) => {
43
- const m = math.mod(math.abs(start), math.abs(interval));
44
- if (!math.equal(m, 0)) {
45
- throw new Error('start point must be divisible by interval');
46
- }
47
- if (math.equal(start, end)) {
48
- return [];
49
- }
50
- const e = math.subtract(end, math.mod(end, math.abs(interval)));
51
- const direction = math.larger(interval, 0) ? 'positive' : 'negative';
52
- if (direction === 'negative' && math.largerEq(end, start)) {
53
- throw new Error('start must be > than end when doing a negative decrement');
54
- }
55
- if (direction === 'positive' && math.smallerEq(end, start)) {
56
- throw new Error('start must be < end when doing increments');
57
- }
58
- let compareFn;
59
- if (direction === 'positive') {
60
- compareFn = math.smallerEq;
61
- } else if (math.equal(e, end)) {
62
- compareFn = math.largerEq;
63
- } else {
64
- compareFn = math.larger;
65
- }
66
- const out = [];
67
- let next = start;
68
- while (compareFn(next, e)) {
69
- out.push(next);
70
- next = math.add(next, interval);
71
- }
72
- return out;
73
- };
74
- exports.fractionRange = fractionRange;
75
- const zbrErrorMessage = (start, end) => `Can only do a positive or negative range, but got: start: ${start} and end:${end}`;
76
- exports.zbrErrorMessage = zbrErrorMessage;
77
- const zeroBasedRange = (start, end, interval) => {
78
- start = math.fraction(start);
79
- end = math.fraction(end);
80
- interval = math.fraction(interval);
81
- const length = math.abs(math.subtract(end, start));
82
- if (math.larger(length, math.abs(end))) {
83
- throw new Error(zbrErrorMessage(start, end));
84
- }
85
- const a = {
86
- start: math.abs(start),
87
- end: math.abs(end),
88
- interval: math.abs(interval),
89
- multiplier: math.smaller(interval, 0) ? -1 : 1
90
- };
91
- const m = math.mod(a.start, a.interval);
92
- const s = math.larger(m, 0) ? math.add(math.subtract(a.start, m), a.interval) : a.start;
93
- const r = fractionRange(s, a.end, a.interval);
94
- const out = a.multiplier === -1 ? r.map(v => math.multiply(v, -1)) : r;
95
- if (math.smaller(interval, 0)) {
96
- out.reverse();
97
- }
98
- return out;
99
- };
100
- exports.zeroBasedRange = zeroBasedRange;
101
- const fmin = (a, b) => {
102
- a = math.fraction(a);
103
- b = math.fraction(b);
104
- return math.smaller(a, b) ? a : b;
105
- };
106
- const fmax = (a, b) => {
107
- a = math.fraction(a);
108
- b = math.fraction(b);
109
- return math.larger(a, b) ? a : b;
110
- };
111
- /**
112
- * the lodash range was causing too much variance in the rounding errors
113
- * such that it was hard to round the numbers.
114
- * This is a more simplistic version but makes rounding work.
115
- */
116
- const simpleRange = (start, end, interval) => {
117
- start = math.fraction(start);
118
- end = math.fraction(end);
119
- interval = math.fraction(interval);
120
- const positiveRange = math.larger(end, 0) ? zeroBasedRange(fmax(0, start), end, interval) : [];
121
- const negativeRange = math.smaller(start, 0) ? zeroBasedRange(fmin(0, end), start, math.multiply(interval, -1)) : [];
122
- let together = negativeRange.concat(positiveRange);
123
- const out = (0, _lodashEs.uniqWith)(together, math.equal);
124
- return out;
125
- };
126
- exports.simpleRange = simpleRange;
127
- const closeTo = (a, b, precision) => {
128
- precision = precision || 2;
129
- const expectedDiff = Math.pow(10, -precision) / 2;
130
- const receivedDiff = Math.abs(a - b);
131
- return receivedDiff < expectedDiff;
132
- };
133
- exports.closeTo = closeTo;
134
- const limit = (v, min, max) => {
135
- if (math.smaller(fraction(v), fraction(min))) {
136
- return min;
137
- }
138
- if (math.larger(fraction(v), fraction(max))) {
139
- return max;
140
- }
141
- return v;
142
- };
143
-
144
- /*
145
- * Function to get tick interval limits based on min, max and width entered by the user.
146
- * @param domain object containing max and min value.
147
- * @param width number represents width of number line.
148
- * */
149
- const getMinorLimits = (domain, width) => {
150
- const end = domain.max - domain.min;
151
- const min = math.number(math.multiply(10, math.divide(math.fraction(end), width)));
152
- const max = math.number(math.multiply(20, min));
153
- return {
154
- min: min,
155
- max: max
156
- };
157
- };
158
- exports.getMinorLimits = getMinorLimits;
159
- const isMultiple = (multiple, src) => {
160
- const mod = math.mod(multiple, src);
161
- return math.equal(mod, 0);
162
- };
163
-
164
- /**
165
- * Accepts a fraction object {n,d,s} or number.
166
- * @param {*} v
167
- * @return mathjs.fraction
168
- */
169
- exports.isMultiple = isMultiple;
170
- const fraction = v => {
171
- if ((0, _lodashEs.isObject)(v)) {
172
- return math.fraction(v.n * v.s, v.d);
173
- } else if ((0, _lodashEs.isNumber)(v)) {
174
- return math.fraction(v);
175
- }
176
- };
177
- exports.fraction = fraction;
178
- const normalizeTicks = (domain, width, ticks, opts) => {
179
- const useLimit = opts ? opts.limit !== false : true;
180
- const minorLimits = getMinorLimits(domain, width);
181
- const minor = useLimit ? limit(fraction(ticks.minor), minorLimits.min, minorLimits.max) : fraction(ticks.minor);
182
- const major = useLimit ? limit(fraction(ticks.major), minor, math.multiply(minor, 20)) : fraction(ticks.major);
183
- const isMajorMultiple = isMultiple(major, minor);
184
- if (!isMajorMultiple) {
185
- const multiplier = math.divide(major, minor);
186
- const multiplyBy = multiplier <= 2 ? 2 : Math.round(multiplier);
187
-
188
- // major must be a multiple of minor
189
- return {
190
- minor,
191
- major: math.multiply(minor, multiplyBy)
192
- };
193
- }
194
- return {
195
- major,
196
- minor
197
- };
198
- };
199
-
200
- /**
201
- * Build ticks as an array of mathjs Fractions
202
- */
203
- exports.normalizeTicks = normalizeTicks;
204
- const buildTickDataAsFractions = (domain, width, ticks, opts) => {
205
- ticks = normalizeTicks(domain, width, ticks, opts);
206
- const rng = simpleRange(domain.min, domain.max, ticks.minor);
207
- const o = rng.filter(x => math.smallerEq(x, math.fraction(domain.max))).map(x => {
208
- let type = 'minor';
209
- const modulo = math.mod(x, ticks.major);
210
- if (closeTo(math.number(modulo), 0)) {
211
- type = 'major';
212
- }
213
- return {
214
- x,
215
- type
216
- };
217
- });
218
- return o;
219
- };
220
-
221
- /*
222
- * This function will generate tick interval values based on min and max limits of ticks.
223
- * @param minorLimits object containing min and max values
224
- * @return out object containing three arrays 1. fraction values, 2. decimal values,
225
- * */
226
- exports.buildTickDataAsFractions = buildTickDataAsFractions;
227
- const generateMinorValues = minorLimits => {
228
- let out = {
229
- fraction: [],
230
- decimal: []
231
- };
232
- decimalTickValues.forEach(value => {
233
- if (value >= minorLimits.min && value <= minorLimits.max) {
234
- out.decimal.push(value);
235
- }
236
- });
237
- fractionTickValues.forEach(value => {
238
- let decimalValue = math.number(math.fraction(value));
239
- if (decimalValue >= minorLimits.min && decimalValue <= minorLimits.max) {
240
- out.fraction.push(value);
241
- }
242
- });
243
- return out;
244
- };
245
-
246
- /*
247
- * This function will generate label interval values for provided tick interval value.
248
- * @param minor number representing tick interval value.
249
- * @param domain object containing min and max values.
250
- * @param width number representing width of number line.
251
- * @return out object containing three arrays 1. fraction values, 2. decimal values,
252
- * */
253
- exports.generateMinorValues = generateMinorValues;
254
- const generateMajorValuesForMinor = (minor, domain, width) => {
255
- let out = {
256
- decimal: [],
257
- fraction: []
258
- };
259
- let fraction = math.fraction(math.number(math.number(minor)));
260
- let n = fraction.n;
261
- let d = fraction.d;
262
- if (n >= 1 && d === 1) {
263
- for (let i = 1; i <= 10; i++) {
264
- let num = math.number(math.multiply(n, i));
265
- //Here we check if this major value can plot at least 2 points on number line.
266
- let ticksData = {
267
- minor: minor,
268
- major: num
269
- };
270
- let output = buildTickData(domain, width, ticksData, {
271
- fraction: undefined
272
- });
273
- if (output.filter(x => x.type === 'major').length > 1) {
274
- out.fraction.push(num.toString());
275
- out.decimal.push(num);
276
- }
277
- }
278
- } else {
279
- for (const multiplierKey in labelMultiplier[d]) {
280
- let num = math.multiply(math.fraction(n, d), labelMultiplier[d][multiplierKey]);
281
- //Here we check if this major value can plot at least 2 points on number line.
282
- let ticksData = {
283
- minor: minor,
284
- major: math.number(num)
285
- };
286
- let output = buildTickData(domain, width, ticksData, {
287
- fraction: undefined
288
- });
289
- if (output.filter(x => x.type === 'major').length > 1) {
290
- if (num.d !== 1) {
291
- out.fraction.push(num.n + '/' + num.d);
292
- } else {
293
- out.fraction.push(num.n.toString());
294
- }
295
- out.decimal.push(math.number(num));
296
- }
297
- }
298
- }
299
- return out;
300
- };
301
- exports.generateMajorValuesForMinor = generateMajorValuesForMinor;
302
- const buildTickData = (domain, width, ticks, opts) => {
303
- const result = buildTickDataAsFractions(domain, width, ticks, opts);
304
- const out = result.map(o => opts.fraction ? o : {
305
- ...o,
306
- x: math.number(o.x) || 0
307
- });
308
- return out;
309
- };
310
- exports.buildTickData = buildTickData;
311
- const fractionSnapTo = (min, max, interval, value) => {
312
- value = fmax(fmin(value, max), min);
313
- const mod = value.mod(interval);
314
- let v;
315
- const half = interval.div(2);
316
- if (math.largerEq(math.abs(mod), half)) {
317
- const d = interval.sub(math.abs(mod));
318
- const fn = math.largerEq(value, 0) ? 'add' : 'sub';
319
- v = value[fn](d);
320
- } else {
321
- const fn2 = math.largerEq(value, 0) ? 'sub' : 'add';
322
- v = value[fn2](math.abs(mod));
323
- }
324
- return v;
325
- };
326
- exports.fractionSnapTo = fractionSnapTo;
327
- const snapTo = (min, max, interval, value) => {
328
- const out = fractionSnapTo(math.fraction(min), math.fraction(max), math.fraction(interval), math.fraction(value));
329
- return math.number(out);
330
- };
331
- exports.snapTo = snapTo;
332
- const snapElements = (domain, ticks, elements) => {
333
- return elements.map(e => {
334
- const size = Number.isFinite(e.size) ? snapTo(0, e.size, ticks.minor, e.size) : undefined;
335
- const domainPosition = snapTo(domain.min, domain.max, ticks.minor, e.domainPosition);
336
- const out = {
337
- ...e,
338
- domainPosition
339
- };
340
- if (Number.isFinite(size)) {
341
- out.size = size;
342
- }
343
- return out;
344
- });
345
- };
346
- exports.snapElements = snapElements;
347
- //# sourceMappingURL=tick-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tick-utils.js","names":["math","_interopRequireWildcard","require","_lodashEs","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","decimalTickValues","exports","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","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","fractionSnapTo","half","div","sub","fn","fn2","snapTo","snapElements","elements","size","Number","isFinite","domainPosition"],"sources":["../../../src/number-line/graph/tick-utils.js"],"sourcesContent":["import * as math from 'mathjs';\nimport { isNumber, isObject, uniqWith } from 'lodash-es';\n\n// All these functions are duplicated in controller/src/tickUtils\n\n/*This will store the possible decimal tick values*/\nexport const 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*/\nexport const 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.*/\nexport const 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\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\n let compareFn;\n if (direction === 'positive') {\n compareFn = math.smallerEq;\n } else if (math.equal(e, end)) {\n compareFn = math.largerEq;\n } else {\n compareFn = math.larger;\n }\n\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(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\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, 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 */\nexport const 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\nexport const 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\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 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"],"mappings":"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","ignoreList":[]}
@@ -1,188 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = exports.Ticks = exports.TickValidator = exports.Tick = void 0;
8
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _styles = require("@mui/material/styles");
12
- var _tickUtils = require("./tick-utils");
13
- var _renderUi = require("@pie-lib/render-ui");
14
- const StyledText = (0, _styles.styled)('text')({
15
- userSelect: 'none',
16
- textAlign: 'center',
17
- fill: _renderUi.color.primary()
18
- });
19
- const StyledLine = (0, _styles.styled)('line')({
20
- stroke: _renderUi.color.primary()
21
- });
22
- const TickValidator = exports.TickValidator = _propTypes.default.shape({
23
- /** the number of major ticks (including min + max)
24
- * to display. cant be lower than 2.
25
- */
26
- major: (props, propName) => {},
27
- /** the number of minor ticks to display between major ticks.
28
- * Can't be less than zero.
29
- */
30
- minor: (props, propName, componentName) => {
31
- let minor = props[propName];
32
- if (minor <= 0) {
33
- return new Error(`Invalid prop ${propName} must be > 0. ${componentName}`);
34
- }
35
- }
36
- }).isRequired;
37
- class Tick extends _react.default.Component {
38
- constructor(props) {
39
- super(props);
40
- this.wasRendered = false;
41
- this.state = {
42
- textBox: {
43
- width: 0,
44
- height: 0,
45
- x: 0,
46
- y: 0
47
- }
48
- };
49
- this.resizeObserver = null;
50
- }
51
- updateTextBox() {
52
- if (this.text) {
53
- const {
54
- width,
55
- height,
56
- x,
57
- y
58
- } = this.text.getBBox();
59
- this.text.setAttribute('x', width / 2 * -1);
60
- this.setState({
61
- textBox: {
62
- width,
63
- height,
64
- x,
65
- y
66
- }
67
- });
68
- }
69
- }
70
- componentDidMount() {
71
- // Set up ResizeObserver
72
- this.resizeObserver = new ResizeObserver(() => {
73
- this.updateTextBox();
74
- });
75
- if (this.text) {
76
- this.resizeObserver.observe(this.text);
77
- }
78
- }
79
- componentWillUnmount() {
80
- if (this.resizeObserver) {
81
- this.resizeObserver.disconnect();
82
- }
83
- }
84
- render() {
85
- //the domain value
86
- let {
87
- x,
88
- y,
89
- type,
90
- xScale,
91
- fraction
92
- } = this.props;
93
- const displayFraction = fraction && x.n !== x.d && x.n !== 0 && x.d !== 1;
94
- const labelTick = type === 'major';
95
- const height = labelTick ? 20 : 10;
96
- const {
97
- width: textWidth = 0,
98
- height: textHeight = 0,
99
- x: textX = 0,
100
- y: textY = 0
101
- } = this.state.textBox;
102
- const xText = !fraction ? Number(x.toFixed(3)) : !displayFraction ? x.n * x.s : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("tspan", {
103
- x: "0",
104
- dy: "0.71em"
105
- }, x.n * x.s), /*#__PURE__*/_react.default.createElement("tspan", {
106
- x: "0",
107
- dy: "1.11em"
108
- }, x.d));
109
- return /*#__PURE__*/_react.default.createElement("g", {
110
- opacity: "1",
111
- transform: `translate(${xScale(x)}, ${y})`
112
- }, /*#__PURE__*/_react.default.createElement(StyledLine, {
113
- y1: height / 2 * -1,
114
- y2: height / 2,
115
- x1: "0.5",
116
- x2: "0.5"
117
- }), displayFraction && /*#__PURE__*/_react.default.createElement(StyledLine, {
118
- x1: textX,
119
- x2: textX + textWidth,
120
- y1: textY + textHeight / 2,
121
- y2: textY + textHeight / 2
122
- }), labelTick && /*#__PURE__*/_react.default.createElement(StyledText, {
123
- ref: text => this.text = text,
124
- y: "14",
125
- width: "10",
126
- dy: "0.71em",
127
- textAnchor: displayFraction && 'middle'
128
- }, xText));
129
- }
130
- }
131
- exports.Tick = Tick;
132
- (0, _defineProperty2.default)(Tick, "propTypes", {
133
- y: _propTypes.default.number.isRequired,
134
- x: _propTypes.default.number.isRequired,
135
- major: _propTypes.default.bool,
136
- fraction: _propTypes.default.bool,
137
- xScale: _propTypes.default.func,
138
- type: _propTypes.default.string
139
- });
140
- (0, _defineProperty2.default)(Tick, "defaultProps", {
141
- major: false
142
- });
143
- class Ticks extends _react.default.Component {
144
- render() {
145
- let {
146
- domain,
147
- width,
148
- ticks,
149
- y,
150
- fraction
151
- } = this.props;
152
- let {
153
- xScale
154
- } = this.context;
155
- const tickData = (0, _tickUtils.buildTickData)(domain, width, ticks, {
156
- fraction
157
- });
158
- return /*#__PURE__*/_react.default.createElement("g", null, tickData.map(({
159
- x,
160
- type
161
- }) => {
162
- return /*#__PURE__*/_react.default.createElement(Tick, {
163
- fraction: fraction,
164
- x: x,
165
- y: y,
166
- type: type,
167
- xScale: xScale,
168
- key: `${x}-${type}-${fraction}`
169
- });
170
- }));
171
- }
172
- }
173
- exports.Ticks = Ticks;
174
- (0, _defineProperty2.default)(Ticks, "contextTypes", {
175
- xScale: _propTypes.default.func.isRequired
176
- });
177
- (0, _defineProperty2.default)(Ticks, "propTypes", {
178
- domain: _propTypes.default.shape({
179
- min: _propTypes.default.number.isRequired,
180
- max: _propTypes.default.number.isRequired
181
- }).isRequired,
182
- fraction: _propTypes.default.bool,
183
- width: _propTypes.default.number,
184
- ticks: TickValidator,
185
- y: _propTypes.default.number.isRequired
186
- });
187
- var _default = exports.default = Ticks;
188
- //# sourceMappingURL=ticks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ticks.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_tickUtils","_renderUi","StyledText","styled","userSelect","textAlign","fill","color","primary","StyledLine","stroke","TickValidator","exports","PropTypes","shape","major","props","propName","minor","componentName","Error","isRequired","Tick","React","Component","constructor","wasRendered","state","textBox","width","height","x","y","resizeObserver","updateTextBox","text","getBBox","setAttribute","setState","componentDidMount","ResizeObserver","observe","componentWillUnmount","disconnect","render","type","xScale","fraction","displayFraction","n","d","labelTick","textWidth","textHeight","textX","textY","xText","Number","toFixed","s","default","createElement","Fragment","dy","opacity","transform","y1","y2","x1","x2","ref","textAnchor","_defineProperty2","number","bool","func","string","Ticks","domain","ticks","context","tickData","buildTickData","map","key","min","max","_default"],"sources":["../../../src/number-line/graph/ticks.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { buildTickData } from './tick-utils';\nimport { color } from '@pie-lib/render-ui';\n\nconst StyledText = styled('text')({\n userSelect: 'none',\n textAlign: 'center',\n fill: color.primary(),\n});\n\nconst StyledLine = styled('line')({\n stroke: color.primary(),\n});\n\nexport const TickValidator = PropTypes.shape({\n /** the number of major ticks (including min + max)\n * to display. cant be lower than 2.\n */\n major: (props, propName) => {},\n /** the number of minor ticks to display between major ticks.\n * Can't be less than zero.\n */\n minor: (props, propName, componentName) => {\n let minor = props[propName];\n if (minor <= 0) {\n return new Error(`Invalid prop ${propName} must be > 0. ${componentName}`);\n }\n },\n}).isRequired;\n\nexport class Tick extends React.Component {\n static propTypes = {\n y: PropTypes.number.isRequired,\n x: PropTypes.number.isRequired,\n major: PropTypes.bool,\n fraction: PropTypes.bool,\n xScale: PropTypes.func,\n type: PropTypes.string,\n };\n\n static defaultProps = {\n major: false,\n };\n\n constructor(props) {\n super(props);\n this.wasRendered = false;\n this.state = {\n textBox: {\n width: 0,\n height: 0,\n x: 0,\n y: 0,\n },\n };\n this.resizeObserver = null;\n }\n\n updateTextBox() {\n if (this.text) {\n const { width, height, x, y } = this.text.getBBox();\n this.text.setAttribute('x', (width / 2) * -1);\n this.setState({ textBox: { width, height, x, y } });\n }\n }\n\n componentDidMount() {\n // Set up ResizeObserver\n this.resizeObserver = new ResizeObserver(() => {\n this.updateTextBox();\n });\n\n if (this.text) {\n this.resizeObserver.observe(this.text);\n }\n }\n\n componentWillUnmount() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n }\n\n render() {\n //the domain value\n let { x, y, type, xScale, fraction } = this.props;\n const displayFraction = fraction && x.n !== x.d && x.n !== 0 && x.d !== 1;\n const labelTick = type === 'major';\n const height = labelTick ? 20 : 10;\n const { width: textWidth = 0, height: textHeight = 0, x: textX = 0, y: textY = 0 } = this.state.textBox;\n\n const xText = !fraction ? (\n Number(x.toFixed(3))\n ) : !displayFraction ? (\n x.n * x.s\n ) : (\n <React.Fragment>\n <tspan x=\"0\" dy=\"0.71em\">\n {x.n * x.s}\n </tspan>\n <tspan x=\"0\" dy=\"1.11em\">\n {x.d}\n </tspan>\n </React.Fragment>\n );\n\n return (\n <g opacity=\"1\" transform={`translate(${xScale(x)}, ${y})`}>\n <StyledLine y1={(height / 2) * -1} y2={height / 2} x1=\"0.5\" x2=\"0.5\" />\n\n {displayFraction && (\n <StyledLine\n x1={textX}\n x2={textX + textWidth}\n y1={textY + textHeight / 2}\n y2={textY + textHeight / 2}\n />\n )}\n\n {labelTick && (\n <StyledText\n ref={(text) => (this.text = text)}\n y=\"14\"\n width=\"10\"\n dy=\"0.71em\"\n textAnchor={displayFraction && 'middle'}\n >\n {xText}\n </StyledText>\n )}\n </g>\n );\n }\n}\n\nexport class Ticks extends React.Component {\n static contextTypes = {\n xScale: PropTypes.func.isRequired,\n };\n\n static propTypes = {\n domain: PropTypes.shape({\n min: PropTypes.number.isRequired,\n max: PropTypes.number.isRequired,\n }).isRequired,\n fraction: PropTypes.bool,\n width: PropTypes.number,\n ticks: TickValidator,\n y: PropTypes.number.isRequired,\n };\n\n render() {\n let { domain, width, ticks, y, fraction } = this.props;\n let { xScale } = this.context;\n\n const tickData = buildTickData(domain, width, ticks, { fraction });\n\n return (\n <g>\n {tickData.map(({ x, type }) => {\n return (\n <Tick\n fraction={fraction}\n x={x}\n y={y}\n type={type}\n xScale={xScale}\n key={`${x}-${type}-${fraction}`}\n />\n );\n })}\n </g>\n );\n }\n}\n\nexport default Ticks;\n"],"mappings":"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","ignoreList":[]}