@pie-lib/graphing 4.0.5-next.31 → 4.0.5-next.34

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 (453) hide show
  1. package/CHANGELOG.json +1 -0
  2. package/CHANGELOG.md +1469 -0
  3. package/LICENSE.md +5 -0
  4. package/lib/axis/arrow.js +79 -0
  5. package/lib/axis/arrow.js.map +1 -0
  6. package/lib/axis/axes.js +329 -0
  7. package/lib/axis/axes.js.map +1 -0
  8. package/lib/axis/index.js +21 -0
  9. package/lib/axis/index.js.map +1 -0
  10. package/lib/bg.js +114 -0
  11. package/lib/bg.js.map +1 -0
  12. package/lib/container/actions.js +18 -0
  13. package/lib/container/actions.js.map +1 -0
  14. package/lib/container/index.js +127 -0
  15. package/lib/container/index.js.map +1 -0
  16. package/lib/container/marks.js +22 -0
  17. package/lib/container/marks.js.map +1 -0
  18. package/lib/container/middleware.js +19 -0
  19. package/lib/container/middleware.js.map +1 -0
  20. package/lib/container/reducer.js +18 -0
  21. package/lib/container/reducer.js.map +1 -0
  22. package/lib/coordinates-label.js +79 -0
  23. package/lib/coordinates-label.js.map +1 -0
  24. package/lib/graph-with-controls.js +294 -0
  25. package/lib/graph-with-controls.js.map +1 -0
  26. package/lib/graph.js +327 -0
  27. package/lib/graph.js.map +1 -0
  28. package/lib/grid-setup.js +414 -0
  29. package/lib/grid-setup.js.map +1 -0
  30. package/lib/grid.js +131 -0
  31. package/lib/grid.js.map +1 -0
  32. package/lib/index.js +47 -0
  33. package/lib/index.js.map +1 -0
  34. package/lib/key-legend.js +201 -0
  35. package/lib/key-legend.js.map +1 -0
  36. package/lib/label-svg-icon.js +50 -0
  37. package/lib/label-svg-icon.js.map +1 -0
  38. package/lib/labels.js +243 -0
  39. package/lib/labels.js.map +1 -0
  40. package/lib/mark-label.js +285 -0
  41. package/lib/mark-label.js.map +1 -0
  42. package/lib/toggle-bar.js +252 -0
  43. package/lib/toggle-bar.js.map +1 -0
  44. package/lib/tool-menu.js +78 -0
  45. package/lib/tool-menu.js.map +1 -0
  46. package/lib/tools/absolute/component.js +29 -0
  47. package/lib/tools/absolute/component.js.map +1 -0
  48. package/lib/tools/absolute/index.js +50 -0
  49. package/lib/tools/absolute/index.js.map +1 -0
  50. package/lib/tools/circle/bg-circle.js +123 -0
  51. package/lib/tools/circle/bg-circle.js.map +1 -0
  52. package/lib/tools/circle/component.js +321 -0
  53. package/lib/tools/circle/component.js.map +1 -0
  54. package/lib/tools/circle/index.js +41 -0
  55. package/lib/tools/circle/index.js.map +1 -0
  56. package/lib/tools/exponential/component.js +28 -0
  57. package/lib/tools/exponential/component.js.map +1 -0
  58. package/lib/tools/exponential/index.js +56 -0
  59. package/lib/tools/exponential/index.js.map +1 -0
  60. package/lib/tools/index.js +86 -0
  61. package/lib/tools/index.js.map +1 -0
  62. package/lib/tools/line/component.js +97 -0
  63. package/lib/tools/line/component.js.map +1 -0
  64. package/lib/tools/line/index.js +11 -0
  65. package/lib/tools/line/index.js.map +1 -0
  66. package/lib/tools/parabola/component.js +28 -0
  67. package/lib/tools/parabola/component.js.map +1 -0
  68. package/lib/tools/parabola/index.js +50 -0
  69. package/lib/tools/parabola/index.js.map +1 -0
  70. package/lib/tools/point/component.js +148 -0
  71. package/lib/tools/point/component.js.map +1 -0
  72. package/lib/tools/point/index.js +24 -0
  73. package/lib/tools/point/index.js.map +1 -0
  74. package/lib/tools/polygon/component.js +437 -0
  75. package/lib/tools/polygon/component.js.map +1 -0
  76. package/lib/tools/polygon/index.js +89 -0
  77. package/lib/tools/polygon/index.js.map +1 -0
  78. package/lib/tools/polygon/line.js +112 -0
  79. package/lib/tools/polygon/line.js.map +1 -0
  80. package/lib/tools/polygon/polygon.js +130 -0
  81. package/lib/tools/polygon/polygon.js.map +1 -0
  82. package/lib/tools/ray/component.js +95 -0
  83. package/lib/tools/ray/component.js.map +1 -0
  84. package/lib/tools/ray/index.js +11 -0
  85. package/lib/tools/ray/index.js.map +1 -0
  86. package/lib/tools/segment/component.js +71 -0
  87. package/lib/tools/segment/component.js.map +1 -0
  88. package/lib/tools/segment/index.js +11 -0
  89. package/lib/tools/segment/index.js.map +1 -0
  90. package/lib/tools/shared/arrow-head.js +111 -0
  91. package/lib/tools/shared/arrow-head.js.map +1 -0
  92. package/lib/tools/shared/icons/CorrectSVG.js +40 -0
  93. package/lib/tools/shared/icons/CorrectSVG.js.map +1 -0
  94. package/lib/tools/shared/icons/IncorrectSVG.js +40 -0
  95. package/lib/tools/shared/icons/IncorrectSVG.js.map +1 -0
  96. package/lib/tools/shared/icons/MissingSVG.js +39 -0
  97. package/lib/tools/shared/icons/MissingSVG.js.map +1 -0
  98. package/lib/tools/shared/line/index.js +550 -0
  99. package/lib/tools/shared/line/index.js.map +1 -0
  100. package/lib/tools/shared/line/line-path.js +118 -0
  101. package/lib/tools/shared/line/line-path.js.map +1 -0
  102. package/lib/tools/shared/line/with-root-edge.js +121 -0
  103. package/lib/tools/shared/line/with-root-edge.js.map +1 -0
  104. package/lib/tools/shared/point/arrow-point.js +72 -0
  105. package/lib/tools/shared/point/arrow-point.js.map +1 -0
  106. package/lib/tools/shared/point/arrow.js +67 -0
  107. package/lib/tools/shared/point/arrow.js.map +1 -0
  108. package/lib/tools/shared/point/base-point.js +157 -0
  109. package/lib/tools/shared/point/base-point.js.map +1 -0
  110. package/lib/tools/shared/point/index.js +68 -0
  111. package/lib/tools/shared/point/index.js.map +1 -0
  112. package/lib/tools/shared/styles.js +33 -0
  113. package/lib/tools/shared/styles.js.map +1 -0
  114. package/lib/tools/shared/types.js +16 -0
  115. package/lib/tools/shared/types.js.map +1 -0
  116. package/lib/tools/sine/component.js +40 -0
  117. package/lib/tools/sine/component.js.map +1 -0
  118. package/lib/tools/sine/index.js +50 -0
  119. package/lib/tools/sine/index.js.map +1 -0
  120. package/lib/tools/vector/component.js +68 -0
  121. package/lib/tools/vector/component.js.map +1 -0
  122. package/lib/tools/vector/index.js +11 -0
  123. package/lib/tools/vector/index.js.map +1 -0
  124. package/lib/undo-redo.js +86 -0
  125. package/lib/undo-redo.js.map +1 -0
  126. package/lib/use-debounce.js +25 -0
  127. package/lib/use-debounce.js.map +1 -0
  128. package/lib/utils.js +229 -0
  129. package/lib/utils.js.map +1 -0
  130. package/package.json +33 -45
  131. package/src/__tests__/bg.test.jsx +250 -0
  132. package/src/__tests__/coordinates-label.test.jsx +243 -0
  133. package/src/__tests__/graph-with-controls.test.jsx +198 -0
  134. package/src/__tests__/graph.test.jsx +721 -0
  135. package/src/__tests__/grid-setup.test.jsx +645 -0
  136. package/src/__tests__/grid.test.jsx +22 -0
  137. package/src/__tests__/key-legend.test.jsx +260 -0
  138. package/src/__tests__/label-svg-icon.test.jsx +278 -0
  139. package/src/__tests__/labels.test.jsx +55 -0
  140. package/src/__tests__/mark-label.test.jsx +63 -0
  141. package/src/__tests__/toggle-bar.test.jsx +146 -0
  142. package/src/__tests__/tool-menu.test.jsx +115 -0
  143. package/src/__tests__/undo-redo.test.jsx +24 -0
  144. package/src/__tests__/use-debounce.test.js +21 -0
  145. package/src/__tests__/utils.js +41 -0
  146. package/src/__tests__/utils.test.js +105 -0
  147. package/src/axis/__tests__/arrow.test.jsx +38 -0
  148. package/src/axis/__tests__/axes.test.jsx +216 -0
  149. package/src/axis/arrow.jsx +57 -0
  150. package/src/axis/axes.jsx +285 -0
  151. package/src/axis/index.js +3 -0
  152. package/src/bg.jsx +96 -0
  153. package/src/container/__tests__/actions.test.js +105 -0
  154. package/src/container/__tests__/index.test.jsx +319 -0
  155. package/src/container/__tests__/marks.test.js +172 -0
  156. package/src/container/__tests__/middleware.test.js +235 -0
  157. package/src/container/__tests__/reducer.test.js +324 -0
  158. package/src/container/actions.js +8 -0
  159. package/src/container/index.jsx +91 -0
  160. package/src/container/marks.js +14 -0
  161. package/src/container/middleware.js +7 -0
  162. package/src/container/reducer.js +5 -0
  163. package/src/coordinates-label.jsx +63 -0
  164. package/src/graph-with-controls.jsx +239 -0
  165. package/src/graph.jsx +303 -0
  166. package/src/grid-setup.jsx +432 -0
  167. package/src/grid.jsx +133 -0
  168. package/src/index.js +7 -0
  169. package/src/key-legend.jsx +142 -0
  170. package/src/label-svg-icon.jsx +39 -0
  171. package/src/labels.jsx +207 -0
  172. package/src/mark-label.jsx +244 -0
  173. package/src/toggle-bar.jsx +224 -0
  174. package/src/tool-menu.jsx +49 -0
  175. package/src/tools/absolute/__tests__/component.test.jsx +53 -0
  176. package/src/tools/absolute/component.jsx +23 -0
  177. package/src/tools/absolute/index.js +31 -0
  178. package/src/tools/circle/__tests__/bg-circle.test.jsx +26 -0
  179. package/src/tools/circle/__tests__/component.test.jsx +494 -0
  180. package/src/tools/circle/__tests__/index.test.js +480 -0
  181. package/src/tools/circle/bg-circle.jsx +81 -0
  182. package/src/tools/circle/component.jsx +264 -0
  183. package/src/tools/circle/index.js +25 -0
  184. package/src/tools/exponential/__tests__/component.test.jsx +53 -0
  185. package/src/tools/exponential/__tests__/index.test.js +729 -0
  186. package/src/tools/exponential/component.jsx +23 -0
  187. package/src/tools/exponential/index.js +39 -0
  188. package/src/tools/index.js +48 -0
  189. package/src/tools/line/__tests__/component.test.jsx +37 -0
  190. package/src/tools/line/component.jsx +93 -0
  191. package/src/tools/line/index.js +4 -0
  192. package/src/tools/parabola/__tests__/component.test.jsx +48 -0
  193. package/src/tools/parabola/__tests__/index.test.js +470 -0
  194. package/src/tools/parabola/component.jsx +23 -0
  195. package/src/tools/parabola/index.js +31 -0
  196. package/src/tools/point/__tests__/component.test.jsx +349 -0
  197. package/src/tools/point/__tests__/index.test.js +241 -0
  198. package/src/tools/point/component.jsx +126 -0
  199. package/src/tools/point/index.js +11 -0
  200. package/src/tools/polygon/__tests__/component.test.jsx +471 -0
  201. package/src/tools/polygon/__tests__/index.test.js +294 -0
  202. package/src/tools/polygon/__tests__/line.test.jsx +35 -0
  203. package/src/tools/polygon/__tests__/polygon.test.jsx +61 -0
  204. package/src/tools/polygon/component.jsx +409 -0
  205. package/src/tools/polygon/index.js +52 -0
  206. package/src/tools/polygon/line.jsx +74 -0
  207. package/src/tools/polygon/polygon.jsx +110 -0
  208. package/src/tools/ray/__tests__/component.test.jsx +29 -0
  209. package/src/tools/ray/component.jsx +92 -0
  210. package/src/tools/ray/index.js +4 -0
  211. package/src/tools/segment/__tests__/component.test.jsx +28 -0
  212. package/src/tools/segment/component.jsx +65 -0
  213. package/src/tools/segment/index.js +4 -0
  214. package/src/tools/shared/__tests__/arrow-head.test.jsx +31 -0
  215. package/src/tools/shared/arrow-head.jsx +102 -0
  216. package/src/tools/shared/icons/CorrectSVG.jsx +32 -0
  217. package/src/tools/shared/icons/IncorrectSVG.jsx +30 -0
  218. package/src/tools/shared/icons/MissingSVG.jsx +31 -0
  219. package/src/tools/shared/line/__tests__/index.test.jsx +109 -0
  220. package/src/tools/shared/line/__tests__/line-path.test.jsx +53 -0
  221. package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +73 -0
  222. package/src/tools/shared/line/index.jsx +487 -0
  223. package/src/tools/shared/line/line-path.jsx +80 -0
  224. package/src/tools/shared/line/with-root-edge.jsx +97 -0
  225. package/src/tools/shared/point/__tests__/arrow-point.test.jsx +91 -0
  226. package/src/tools/shared/point/__tests__/base-point.test.jsx +87 -0
  227. package/src/tools/shared/point/arrow-point.jsx +46 -0
  228. package/src/tools/shared/point/arrow.jsx +37 -0
  229. package/src/tools/shared/point/base-point.jsx +121 -0
  230. package/src/tools/shared/point/index.jsx +54 -0
  231. package/src/tools/shared/styles.js +27 -0
  232. package/src/tools/shared/types.js +10 -0
  233. package/src/tools/sine/__tests__/component.test.jsx +51 -0
  234. package/src/tools/sine/component.jsx +32 -0
  235. package/src/tools/sine/index.js +33 -0
  236. package/src/tools/vector/__tests__/component.test.jsx +25 -0
  237. package/src/tools/vector/component.jsx +56 -0
  238. package/src/tools/vector/index.js +4 -0
  239. package/src/undo-redo.jsx +45 -0
  240. package/src/use-debounce.js +13 -0
  241. package/src/utils.js +224 -0
  242. package/dist/_virtual/_rolldown/runtime.js +0 -23
  243. package/dist/autosize-input.d.ts +0 -10
  244. package/dist/autosize-input.js +0 -66
  245. package/dist/axis/arrow.d.ts +0 -13
  246. package/dist/axis/arrow.js +0 -34
  247. package/dist/axis/axes.d.ts +0 -132
  248. package/dist/axis/axes.js +0 -214
  249. package/dist/axis/index.d.ts +0 -10
  250. package/dist/bg.d.ts +0 -51
  251. package/dist/bg.js +0 -44
  252. package/dist/container/actions.d.ts +0 -15
  253. package/dist/container/actions.js +0 -7
  254. package/dist/container/index.d.ts +0 -58
  255. package/dist/container/index.js +0 -48
  256. package/dist/container/marks.d.ts +0 -10
  257. package/dist/container/marks.js +0 -11
  258. package/dist/container/middleware.d.ts +0 -10
  259. package/dist/container/middleware.js +0 -4
  260. package/dist/container/reducer.d.ts +0 -14
  261. package/dist/container/reducer.js +0 -7
  262. package/dist/coordinates-label.d.ts +0 -50
  263. package/dist/coordinates-label.js +0 -46
  264. package/dist/graph-with-controls.d.ts +0 -88
  265. package/dist/graph-with-controls.js +0 -154
  266. package/dist/graph.d.ts +0 -126
  267. package/dist/graph.js +0 -209
  268. package/dist/grid-setup.d.ts +0 -27
  269. package/dist/grid-setup.js +0 -307
  270. package/dist/grid.d.ts +0 -43
  271. package/dist/grid.js +0 -59
  272. package/dist/index.d.ts +0 -15
  273. package/dist/index.js +0 -7
  274. package/dist/key-legend.d.ts +0 -21
  275. package/dist/key-legend.js +0 -231
  276. package/dist/label-svg-icon.d.ts +0 -18
  277. package/dist/label-svg-icon.js +0 -42
  278. package/dist/labels.d.ts +0 -37
  279. package/dist/labels.js +0 -152
  280. package/dist/mark-label.d.ts +0 -58
  281. package/dist/mark-label.js +0 -171
  282. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/Axis.js +0 -101
  283. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/AxisRenderer.js +0 -63
  284. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/axis/Ticks.js +0 -44
  285. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/constants/orientation.js +0 -9
  286. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/createPoint.js +0 -14
  287. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getAxisRangePaddingConfig.js +0 -21
  288. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getLabelTransform.js +0 -16
  289. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getTickFormatter.js +0 -8
  290. package/dist/node_modules/.bun/@visx_axis@3.12.0_f4eacebf2041cd4f/node_modules/@visx/axis/esm/utils/getTickPosition.js +0 -15
  291. package/dist/node_modules/.bun/@visx_curve@3.12.0/node_modules/@visx/curve/esm/index.js +0 -2
  292. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/grids/Grid.js +0 -79
  293. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/grids/GridColumns.js +0 -79
  294. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/grids/GridRows.js +0 -79
  295. package/dist/node_modules/.bun/@visx_grid@3.12.0_f4eacebf2041cd4f/node_modules/@visx/grid/esm/utils/getScaleBandwidth.js +0 -6
  296. package/dist/node_modules/.bun/@visx_group@3.12.0_f4eacebf2041cd4f/node_modules/@visx/group/esm/Group.js +0 -50
  297. package/dist/node_modules/.bun/@visx_point@3.12.0/node_modules/@visx/point/esm/Point.js +0 -18
  298. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/coerceNumber.js +0 -10
  299. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/getTicks.js +0 -9
  300. package/dist/node_modules/.bun/@visx_scale@3.12.0/node_modules/@visx/scale/esm/utils/toString.js +0 -6
  301. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/shapes/Line.js +0 -47
  302. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/shapes/LinePath.js +0 -50
  303. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/util/D3ShapeFactories.js +0 -9
  304. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/esm/util/setNumberOrNumberAccessor.js +0 -6
  305. package/dist/node_modules/.bun/@visx_shape@3.12.0_f4eacebf2041cd4f/node_modules/@visx/shape/lib/shapes/Line.js +0 -53
  306. package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/Text.js +0 -57
  307. package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/hooks/useText.js +0 -91
  308. package/dist/node_modules/.bun/@visx_text@3.12.0_f4eacebf2041cd4f/node_modules/@visx/text/esm/util/getStringWidth.js +0 -21
  309. package/dist/node_modules/.bun/balanced-match@0.4.2/node_modules/balanced-match/index.js +0 -32
  310. package/dist/node_modules/.bun/balanced-match@1.0.2/node_modules/balanced-match/index.js +0 -33
  311. package/dist/node_modules/.bun/classnames@2.5.1/node_modules/classnames/index.js +0 -32
  312. package/dist/node_modules/.bun/clsx@2.1.1/node_modules/clsx/dist/clsx.js +0 -16
  313. package/dist/node_modules/.bun/invariant@2.2.4/node_modules/invariant/browser.js +0 -28
  314. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Hash.js +0 -21
  315. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_ListCache.js +0 -21
  316. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Map.js +0 -10
  317. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_MapCache.js +0 -21
  318. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_Symbol.js +0 -9
  319. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_assocIndexOf.js +0 -14
  320. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseGetTag.js +0 -15
  321. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_baseIsNative.js +0 -16
  322. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_coreJsData.js +0 -9
  323. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_freeGlobal.js +0 -8
  324. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getMapData.js +0 -14
  325. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getNative.js +0 -15
  326. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getRawTag.js +0 -19
  327. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_getValue.js +0 -11
  328. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_hashClear.js +0 -13
  329. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_hashDelete.js +0 -12
  330. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_hashGet.js +0 -18
  331. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_hashHas.js +0 -14
  332. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_hashSet.js +0 -14
  333. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_isKeyable.js +0 -12
  334. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_isMasked.js +0 -16
  335. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_listCacheClear.js +0 -11
  336. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_listCacheDelete.js +0 -14
  337. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_listCacheGet.js +0 -14
  338. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_listCacheHas.js +0 -13
  339. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_listCacheSet.js +0 -14
  340. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_mapCacheClear.js +0 -19
  341. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_mapCacheDelete.js +0 -14
  342. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_mapCacheGet.js +0 -13
  343. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_mapCacheHas.js +0 -13
  344. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_mapCacheSet.js +0 -14
  345. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_nativeCreate.js +0 -9
  346. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_objectToString.js +0 -12
  347. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_root.js +0 -10
  348. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/_toSource.js +0 -20
  349. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/eq.js +0 -11
  350. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/isFunction.js +0 -16
  351. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/isObject.js +0 -12
  352. package/dist/node_modules/.bun/lodash@4.17.21/node_modules/lodash/memoize.js +0 -20
  353. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/formula_evaluator.js +0 -37
  354. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/lexer.js +0 -509
  355. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/math_function.js +0 -108
  356. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix.js +0 -31
  357. package/dist/node_modules/.bun/math-expression-evaluator@1.4.0/node_modules/math-expression-evaluator/src/postfix_evaluator.js +0 -45
  358. package/dist/node_modules/.bun/react-redux@9.3.0_9e2203c65d1d5fa1/node_modules/react-redux/dist/react-redux.js +0 -471
  359. package/dist/node_modules/.bun/reduce-css-calc@1.3.0/node_modules/reduce-css-calc/index.js +0 -49
  360. package/dist/node_modules/.bun/reduce-function-call@1.0.3/node_modules/reduce-function-call/index.js +0 -34
  361. package/dist/node_modules/.bun/redux-undo@1.1.0/node_modules/redux-undo/dist/redux-undo.js +0 -185
  362. package/dist/node_modules/.bun/redux@5.0.1/node_modules/redux/dist/redux.js +0 -198
  363. package/dist/node_modules/.bun/use-sync-external-store@1.6.0_f4eacebf2041cd4f/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.development.js +0 -53
  364. package/dist/node_modules/.bun/use-sync-external-store@1.6.0_f4eacebf2041cd4f/node_modules/use-sync-external-store/cjs/use-sync-external-store-with-selector.production.js +0 -51
  365. package/dist/node_modules/.bun/use-sync-external-store@1.6.0_f4eacebf2041cd4f/node_modules/use-sync-external-store/with-selector.js +0 -10
  366. package/dist/toggle-bar.d.ts +0 -40
  367. package/dist/toggle-bar.js +0 -155
  368. package/dist/tool-menu.d.ts +0 -29
  369. package/dist/tool-menu.js +0 -41
  370. package/dist/tools/absolute/component.d.ts +0 -16
  371. package/dist/tools/absolute/component.js +0 -15
  372. package/dist/tools/absolute/index.d.ts +0 -20
  373. package/dist/tools/absolute/index.js +0 -32
  374. package/dist/tools/circle/bg-circle.d.ts +0 -116
  375. package/dist/tools/circle/bg-circle.js +0 -72
  376. package/dist/tools/circle/component.d.ts +0 -83
  377. package/dist/tools/circle/component.js +0 -195
  378. package/dist/tools/circle/index.d.ts +0 -20
  379. package/dist/tools/circle/index.js +0 -22
  380. package/dist/tools/exponential/component.d.ts +0 -16
  381. package/dist/tools/exponential/component.js +0 -14
  382. package/dist/tools/exponential/index.d.ts +0 -20
  383. package/dist/tools/exponential/index.js +0 -32
  384. package/dist/tools/index.d.ts +0 -27
  385. package/dist/tools/index.js +0 -55
  386. package/dist/tools/line/component.d.ts +0 -124
  387. package/dist/tools/line/component.js +0 -72
  388. package/dist/tools/line/index.d.ts +0 -13
  389. package/dist/tools/line/index.js +0 -6
  390. package/dist/tools/parabola/component.d.ts +0 -16
  391. package/dist/tools/parabola/component.js +0 -14
  392. package/dist/tools/parabola/index.d.ts +0 -20
  393. package/dist/tools/parabola/index.js +0 -32
  394. package/dist/tools/point/component.d.ts +0 -50
  395. package/dist/tools/point/component.js +0 -85
  396. package/dist/tools/point/index.d.ts +0 -15
  397. package/dist/tools/point/index.js +0 -13
  398. package/dist/tools/polygon/component.d.ts +0 -120
  399. package/dist/tools/polygon/component.js +0 -262
  400. package/dist/tools/polygon/index.d.ts +0 -19
  401. package/dist/tools/polygon/index.js +0 -55
  402. package/dist/tools/polygon/line.d.ts +0 -125
  403. package/dist/tools/polygon/line.js +0 -63
  404. package/dist/tools/polygon/polygon.d.ts +0 -122
  405. package/dist/tools/polygon/polygon.js +0 -74
  406. package/dist/tools/ray/component.d.ts +0 -101
  407. package/dist/tools/ray/component.js +0 -71
  408. package/dist/tools/ray/index.d.ts +0 -13
  409. package/dist/tools/ray/index.js +0 -6
  410. package/dist/tools/segment/component.d.ts +0 -100
  411. package/dist/tools/segment/component.js +0 -52
  412. package/dist/tools/segment/index.d.ts +0 -13
  413. package/dist/tools/segment/index.js +0 -6
  414. package/dist/tools/shared/arrow-head.d.ts +0 -51
  415. package/dist/tools/shared/arrow-head.js +0 -63
  416. package/dist/tools/shared/icons/CorrectSVG.d.ts +0 -26
  417. package/dist/tools/shared/icons/CorrectSVG.js +0 -29
  418. package/dist/tools/shared/icons/IncorrectSVG.d.ts +0 -26
  419. package/dist/tools/shared/icons/IncorrectSVG.js +0 -27
  420. package/dist/tools/shared/icons/MissingSVG.d.ts +0 -26
  421. package/dist/tools/shared/icons/MissingSVG.js +0 -28
  422. package/dist/tools/shared/line/index.d.ts +0 -245
  423. package/dist/tools/shared/line/index.js +0 -319
  424. package/dist/tools/shared/line/line-path.d.ts +0 -57
  425. package/dist/tools/shared/line/line-path.js +0 -71
  426. package/dist/tools/shared/line/with-root-edge.d.ts +0 -142
  427. package/dist/tools/shared/line/with-root-edge.js +0 -73
  428. package/dist/tools/shared/point/arrow-point.d.ts +0 -56
  429. package/dist/tools/shared/point/arrow-point.js +0 -41
  430. package/dist/tools/shared/point/arrow.d.ts +0 -45
  431. package/dist/tools/shared/point/arrow.js +0 -35
  432. package/dist/tools/shared/point/base-point.d.ts +0 -52
  433. package/dist/tools/shared/point/base-point.js +0 -103
  434. package/dist/tools/shared/point/index.d.ts +0 -216
  435. package/dist/tools/shared/point/index.js +0 -45
  436. package/dist/tools/shared/styles.d.ts +0 -29
  437. package/dist/tools/shared/styles.js +0 -20
  438. package/dist/tools/shared/types.d.ts +0 -21
  439. package/dist/tools/shared/types.js +0 -11
  440. package/dist/tools/sine/component.d.ts +0 -16
  441. package/dist/tools/sine/component.js +0 -22
  442. package/dist/tools/sine/index.d.ts +0 -20
  443. package/dist/tools/sine/index.js +0 -32
  444. package/dist/tools/vector/component.d.ts +0 -100
  445. package/dist/tools/vector/component.js +0 -44
  446. package/dist/tools/vector/index.d.ts +0 -13
  447. package/dist/tools/vector/index.js +0 -6
  448. package/dist/undo-redo.d.ts +0 -22
  449. package/dist/undo-redo.js +0 -47
  450. package/dist/use-debounce.d.ts +0 -9
  451. package/dist/use-debounce.js +0 -13
  452. package/dist/utils.d.ts +0 -61
  453. package/dist/utils.js +0 -75
@@ -0,0 +1,437 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.swap = exports["default"] = exports.buildLines = exports.RawBaseComponent = exports.BaseComponent = void 0;
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
18
+ var _react = _interopRequireDefault(require("react"));
19
+ var _propTypes = _interopRequireDefault(require("prop-types"));
20
+ var _types = require("../shared/types");
21
+ var _point = require("../shared/point");
22
+ var _lodashEs = require("lodash-es");
23
+ var _debug = _interopRequireDefault(require("debug"));
24
+ var _line = _interopRequireDefault(require("./line"));
25
+ var _polygon = _interopRequireWildcard(require("./polygon"));
26
+ var _plot = require("@pie-lib/plot");
27
+ var _invariant = _interopRequireDefault(require("invariant"));
28
+ var _reactDom = _interopRequireDefault(require("react-dom"));
29
+ var _markLabel = _interopRequireDefault(require("../../mark-label"));
30
+ var _utils = require("../../utils");
31
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
32
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
33
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
34
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
35
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
36
+ var log = (0, _debug["default"])('pie-lib:graphing:polygon');
37
+ var buildLines = exports.buildLines = function buildLines(points, closed) {
38
+ var expanded = points.reduce(function (acc, p, index) {
39
+ acc.push(_objectSpread(_objectSpread({}, p), {}, {
40
+ index: index
41
+ }));
42
+ var isLast = index === points.length - 1;
43
+ var next = isLast ? 0 : index + 1;
44
+ acc.push(_objectSpread(_objectSpread({}, points[next]), {}, {
45
+ index: next
46
+ }));
47
+ return acc;
48
+ }, []);
49
+ var all = (0, _lodashEs.chunk)(expanded, 2).map(function (_ref) {
50
+ var _ref2 = (0, _slicedToArray2["default"])(_ref, 2),
51
+ from = _ref2[0],
52
+ to = _ref2[1];
53
+ return {
54
+ from: from,
55
+ to: to
56
+ };
57
+ });
58
+ return closed ? all : (0, _lodashEs.initial)(all);
59
+ };
60
+ var swap = exports.swap = function swap(arr) {
61
+ for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
62
+ rest[_key - 1] = arguments[_key];
63
+ }
64
+ var pairs = (0, _lodashEs.chunk)(rest, 2);
65
+ return pairs.reduce(function (acc, pr) {
66
+ if (pr.length === 2) {
67
+ var _pr = (0, _slicedToArray2["default"])(pr, 2),
68
+ e = _pr[0],
69
+ replacement = _pr[1];
70
+ (0, _invariant["default"])(Number.isFinite(e.index), 'Index must be defined');
71
+ var index = e.index;
72
+ // const i = acc.findIndex(pt => pt.x === e.x && pt.y === e.y);
73
+
74
+ if (index >= 0) {
75
+ acc.splice(index, 1, replacement);
76
+ return acc;
77
+ } else {
78
+ return acc;
79
+ }
80
+ } else {
81
+ return acc;
82
+ }
83
+ }, (0, _toConsumableArray2["default"])(arr));
84
+ };
85
+ var RawBaseComponent = exports.RawBaseComponent = /*#__PURE__*/function (_React$Component) {
86
+ function RawBaseComponent() {
87
+ var _this;
88
+ (0, _classCallCheck2["default"])(this, RawBaseComponent);
89
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
90
+ args[_key2] = arguments[_key2];
91
+ }
92
+ _this = _callSuper(this, RawBaseComponent, [].concat(args));
93
+ (0, _defineProperty2["default"])(_this, "dragPoint", function (index, from, to) {
94
+ log('[dragPoint] from, to:', from, to);
95
+ var _this$props = _this.props,
96
+ onChange = _this$props.onChange,
97
+ points = _this$props.points;
98
+ var update = (0, _toConsumableArray2["default"])(points);
99
+ var overlapPoint = !!(points || []).find(function (p) {
100
+ return (0, _utils.equalPoints)(p, to);
101
+ });
102
+ if ((0, _utils.equalPoints)(from, to) || overlapPoint) {
103
+ return;
104
+ }
105
+ if (points[index].label) {
106
+ to.label = points[index].label;
107
+ }
108
+ update.splice(index, 1, to);
109
+ onChange(update);
110
+ });
111
+ (0, _defineProperty2["default"])(_this, "dragLine", function (existing, next) {
112
+ log('[dragLine]: ', existing, next);
113
+ var onChange = _this.props.onChange;
114
+ if (existing.from.label) {
115
+ next.from.label = existing.from.label;
116
+ }
117
+ if (existing.to.label) {
118
+ next.to.label = existing.to.label;
119
+ }
120
+ var points = swap(_this.props.points, existing.from, next.from, existing.to, next.to);
121
+ onChange(points);
122
+ });
123
+ (0, _defineProperty2["default"])(_this, "dragPoly", function (existing, next) {
124
+ log('[dragPoly] ', existing, next);
125
+ var onChange = _this.props.onChange;
126
+ next.forEach(function (point, index) {
127
+ if (existing[index].label) {
128
+ next[index].label = existing[index].label;
129
+ }
130
+ });
131
+ onChange(next);
132
+ });
133
+ (0, _defineProperty2["default"])(_this, "close", function () {
134
+ var _this$props2 = _this.props,
135
+ points = _this$props2.points,
136
+ onClosePolygon = _this$props2.onClosePolygon;
137
+ log('[close] ...');
138
+ if (points.length >= 3) {
139
+ onClosePolygon();
140
+ } else {
141
+ log('[close] - nope');
142
+ }
143
+ });
144
+ (0, _defineProperty2["default"])(_this, "labelChange", function (point, index) {
145
+ var _this$props3 = _this.props,
146
+ points = _this$props3.points,
147
+ onChangeProps = _this$props3.onChangeProps;
148
+ var updatedPoint = _objectSpread({}, point);
149
+ if (!point.label || (0, _lodashEs.isEmpty)(point.label)) {
150
+ delete updatedPoint.label;
151
+ }
152
+ var update = (0, _toConsumableArray2["default"])(points);
153
+ update.splice(index, 1, updatedPoint);
154
+ onChangeProps(update);
155
+ });
156
+ (0, _defineProperty2["default"])(_this, "clickPoint", function (point, index, data) {
157
+ var _this$props4 = _this.props,
158
+ closed = _this$props4.closed,
159
+ disabled = _this$props4.disabled,
160
+ currentMiddle = _this$props4.middle,
161
+ onClick = _this$props4.onClick,
162
+ isToolActive = _this$props4.isToolActive,
163
+ labelModeEnabled = _this$props4.labelModeEnabled,
164
+ limitLabeling = _this$props4.limitLabeling,
165
+ onSetMiddleLabel = _this$props4.onSetMiddleLabel,
166
+ points = _this$props4.points;
167
+ if (labelModeEnabled) {
168
+ // limit labeling the points of the polygon
169
+ if (disabled || limitLabeling) {
170
+ return;
171
+ }
172
+ if (points && index === points.length) {
173
+ var _getRightestPoints = (0, _utils.getRightestPoints)(points),
174
+ a = _getRightestPoints.a,
175
+ b = _getRightestPoints.b;
176
+ var middle = _objectSpread(_objectSpread({
177
+ label: ''
178
+ }, point), (0, _utils.getMiddleOfTwoPoints)(a, b));
179
+ onSetMiddleLabel(middle, points.map(_utils.stripEmptyLabel));
180
+ } else {
181
+ var strippedPoints = points.map(_utils.stripEmptyLabel);
182
+ strippedPoints.splice(index, 1, _objectSpread({
183
+ label: ''
184
+ }, point));
185
+ var strippedMiddle = currentMiddle ? (0, _utils.stripEmptyLabel)(currentMiddle) : currentMiddle;
186
+ onSetMiddleLabel(strippedMiddle, strippedPoints);
187
+ }
188
+
189
+ // defer the focus() call with setTimeout to allow the re-render to complete first.
190
+ setTimeout(function () {
191
+ if (_this.input[index]) {
192
+ _this.input[index].focus();
193
+ }
194
+ }, 0);
195
+ return;
196
+ }
197
+ if (isToolActive && !closed && index === 0) {
198
+ _this.close();
199
+ return;
200
+ }
201
+ onClick(point || data);
202
+ });
203
+ // IMPORTANT, do not remove
204
+ (0, _defineProperty2["default"])(_this, "input", {});
205
+ return _this;
206
+ }
207
+ (0, _inherits2["default"])(RawBaseComponent, _React$Component);
208
+ return (0, _createClass2["default"])(RawBaseComponent, [{
209
+ key: "render",
210
+ value: function render() {
211
+ var _this2 = this;
212
+ var _this$props5 = this.props,
213
+ closed = _this$props5.closed,
214
+ coordinatesOnHover = _this$props5.coordinatesOnHover,
215
+ correctness = _this$props5.correctness,
216
+ disabled = _this$props5.disabled,
217
+ graphProps = _this$props5.graphProps,
218
+ onChangeLabelProps = _this$props5.onChangeLabelProps,
219
+ onDragStart = _this$props5.onDragStart,
220
+ onDragStop = _this$props5.onDragStop,
221
+ points = _this$props5.points,
222
+ middle = _this$props5.middle,
223
+ labelNode = _this$props5.labelNode,
224
+ labelModeEnabled = _this$props5.labelModeEnabled;
225
+ var lines = buildLines(points, closed);
226
+ var common = {
227
+ onDragStart: onDragStart,
228
+ onDragStop: onDragStop,
229
+ graphProps: graphProps,
230
+ disabled: disabled,
231
+ correctness: correctness
232
+ };
233
+ var polygonLabelIndex = points && points.length || 0;
234
+ var polygonLabelNode = null;
235
+ if (labelNode && middle && Object.prototype.hasOwnProperty.call(middle, 'label')) {
236
+ polygonLabelNode = /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
237
+ inputRef: function inputRef(r) {
238
+ return _this2.input[polygonLabelIndex] = r;
239
+ },
240
+ disabled: disabled || !labelModeEnabled,
241
+ mark: middle,
242
+ graphProps: graphProps,
243
+ onChange: function onChange(label) {
244
+ return onChangeLabelProps(_objectSpread(_objectSpread({}, middle), {}, {
245
+ label: label
246
+ }));
247
+ }
248
+ }), labelNode);
249
+ }
250
+ return /*#__PURE__*/_react["default"].createElement("g", null, closed ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_polygon["default"], (0, _extends2["default"])({
251
+ points: points,
252
+ onDrag: this.dragPoly.bind(this, points),
253
+ closed: closed
254
+ }, common, {
255
+ onClick: this.clickPoint.bind(this, middle, polygonLabelIndex)
256
+ })), polygonLabelNode) : /*#__PURE__*/_react["default"].createElement(_polygon.Polygon, {
257
+ points: points,
258
+ graphProps: graphProps,
259
+ closed: closed
260
+ }), (lines || []).map(function (l, index) {
261
+ return /*#__PURE__*/_react["default"].createElement(_line["default"], (0, _extends2["default"])({
262
+ key: "line-".concat(index),
263
+ from: l.from,
264
+ to: l.to,
265
+ onDrag: _this2.dragLine.bind(_this2, l)
266
+ }, common, {
267
+ onClick: _this2.clickPoint.bind(_this2, middle, polygonLabelIndex)
268
+ }));
269
+ }), (points || []).map(function (p, index) {
270
+ return [/*#__PURE__*/_react["default"].createElement(_point.BasePoint, (0, _extends2["default"])({
271
+ key: "point-".concat(index),
272
+ coordinatesOnHover: coordinatesOnHover,
273
+ labelNode: labelNode,
274
+ x: p.x,
275
+ y: p.y,
276
+ onDrag: _this2.dragPoint.bind(_this2, index, p)
277
+ }, common, {
278
+ onClick: _this2.clickPoint.bind(_this2, p, index)
279
+ })), labelNode && Object.prototype.hasOwnProperty.call(p, 'label') ? /*#__PURE__*/_reactDom["default"].createPortal(/*#__PURE__*/_react["default"].createElement(_markLabel["default"], {
280
+ inputRef: function inputRef(r) {
281
+ return _this2.input[index] = r;
282
+ },
283
+ disabled: disabled || !labelModeEnabled,
284
+ mark: p,
285
+ graphProps: graphProps,
286
+ onChange: function onChange(label) {
287
+ return _this2.labelChange(_objectSpread(_objectSpread({}, p), {}, {
288
+ label: label
289
+ }), index);
290
+ }
291
+ }), labelNode) : null];
292
+ }));
293
+ }
294
+ }]);
295
+ }(_react["default"].Component);
296
+ (0, _defineProperty2["default"])(RawBaseComponent, "propTypes", {
297
+ classes: _propTypes["default"].object,
298
+ className: _propTypes["default"].string,
299
+ disabled: _propTypes["default"].bool,
300
+ correctness: _propTypes["default"].string,
301
+ points: _propTypes["default"].arrayOf(_plot.types.PointType),
302
+ closed: _propTypes["default"].bool,
303
+ coordinatesOnHover: _propTypes["default"].bool,
304
+ onChange: _propTypes["default"].func.isRequired,
305
+ onClosePolygon: _propTypes["default"].func.isRequired,
306
+ onDragStart: _propTypes["default"].func,
307
+ onDragStop: _propTypes["default"].func,
308
+ onClick: _propTypes["default"].func,
309
+ graphProps: _plot.types.GraphPropsType.isRequired,
310
+ isToolActive: _propTypes["default"].bool,
311
+ middle: _propTypes["default"].object,
312
+ labelNode: _propTypes["default"].object,
313
+ labelModeEnabled: _propTypes["default"].bool,
314
+ limitLabeling: _propTypes["default"].bool,
315
+ onChangeLabelProps: _propTypes["default"].func,
316
+ onSetMiddleLabel: _propTypes["default"].func,
317
+ onChangeProps: _propTypes["default"].func
318
+ });
319
+ (0, _defineProperty2["default"])(RawBaseComponent, "defaultProps", {
320
+ points: []
321
+ });
322
+ var BaseComponent = exports.BaseComponent = RawBaseComponent;
323
+ var Component = exports["default"] = /*#__PURE__*/function (_React$Component2) {
324
+ function Component(props) {
325
+ var _this3;
326
+ (0, _classCallCheck2["default"])(this, Component);
327
+ _this3 = _callSuper(this, Component, [props]);
328
+ (0, _defineProperty2["default"])(_this3, "change", function (points) {
329
+ var middle = _this3.props.mark.middle;
330
+ var mark = _objectSpread(_objectSpread({}, _this3.state.mark), {}, {
331
+ points: points
332
+ });
333
+ if (middle) {
334
+ var _getRightestPoints2 = (0, _utils.getRightestPoints)(points),
335
+ a = _getRightestPoints2.a,
336
+ b = _getRightestPoints2.b;
337
+ mark.middle = _objectSpread(_objectSpread({}, middle), (0, _utils.getMiddleOfTwoPoints)(a, b));
338
+ }
339
+ _this3.setState({
340
+ mark: mark
341
+ });
342
+ });
343
+ (0, _defineProperty2["default"])(_this3, "changeProps", function (points) {
344
+ var mark = _objectSpread(_objectSpread({}, _this3.props.mark), {}, {
345
+ points: points
346
+ });
347
+ _this3.props.onChange(_this3.props.mark, mark);
348
+ });
349
+ (0, _defineProperty2["default"])(_this3, "changeLabelProps", function (point) {
350
+ var _this3$props = _this3.props,
351
+ mark = _this3$props.mark,
352
+ onChange = _this3$props.onChange;
353
+ var middle = _objectSpread(_objectSpread({}, mark.middle), point);
354
+ if (!middle.label || (0, _lodashEs.isEmpty)(middle.label)) {
355
+ delete middle.label;
356
+ }
357
+ onChange(mark, _objectSpread(_objectSpread({}, mark), {}, {
358
+ middle: middle
359
+ }));
360
+ });
361
+ (0, _defineProperty2["default"])(_this3, "setMiddleLabel", function (middle, strippedPoints) {
362
+ var _this3$props2 = _this3.props,
363
+ mark = _this3$props2.mark,
364
+ onChange = _this3$props2.onChange;
365
+ var next = _objectSpread(_objectSpread({}, mark), {}, {
366
+ middle: middle
367
+ });
368
+ if (strippedPoints) {
369
+ next.points = strippedPoints;
370
+ }
371
+ onChange(mark, next);
372
+ });
373
+ (0, _defineProperty2["default"])(_this3, "closePolygon", function () {
374
+ log('[closePolygon] ...');
375
+ var _this3$props3 = _this3.props,
376
+ onComplete = _this3$props3.onComplete,
377
+ mark = _this3$props3.mark;
378
+ var update = _objectSpread(_objectSpread({}, mark), {}, {
379
+ closed: true
380
+ });
381
+ onComplete(mark, update);
382
+ });
383
+ (0, _defineProperty2["default"])(_this3, "dragStart", function () {
384
+ return _this3.setState({
385
+ mark: _this3.props.mark
386
+ });
387
+ });
388
+ (0, _defineProperty2["default"])(_this3, "dragStop", function () {
389
+ var onChange = _this3.props.onChange;
390
+ var m = _objectSpread({}, _this3.state.mark);
391
+ _this3.setState({
392
+ mark: undefined
393
+ }, function () {
394
+ onChange(_this3.props.mark, m);
395
+ });
396
+ });
397
+ _this3.state = {};
398
+ return _this3;
399
+ }
400
+ (0, _inherits2["default"])(Component, _React$Component2);
401
+ return (0, _createClass2["default"])(Component, [{
402
+ key: "render",
403
+ value: function render() {
404
+ var _this$props6 = this.props,
405
+ coordinatesOnHover = _this$props6.coordinatesOnHover,
406
+ mark = _this$props6.mark,
407
+ graphProps = _this$props6.graphProps,
408
+ onClick = _this$props6.onClick,
409
+ isToolActive = _this$props6.isToolActive,
410
+ labelNode = _this$props6.labelNode,
411
+ labelModeEnabled = _this$props6.labelModeEnabled,
412
+ limitLabeling = _this$props6.limitLabeling;
413
+ var stateMark = this.state.mark;
414
+ return /*#__PURE__*/_react["default"].createElement(BaseComponent, (0, _extends2["default"])({}, stateMark || mark, {
415
+ coordinatesOnHover: coordinatesOnHover,
416
+ onChange: this.change,
417
+ onChangeLabelProps: this.changeLabelProps,
418
+ onSetMiddleLabel: this.setMiddleLabel,
419
+ onChangeProps: this.changeProps,
420
+ onClosePolygon: this.closePolygon,
421
+ onDragStart: this.dragStart,
422
+ onDragStop: this.dragStop,
423
+ onClick: onClick,
424
+ graphProps: graphProps,
425
+ isToolActive: isToolActive,
426
+ labelNode: labelNode,
427
+ labelModeEnabled: labelModeEnabled,
428
+ limitLabeling: limitLabeling
429
+ }));
430
+ }
431
+ }]);
432
+ }(_react["default"].Component);
433
+ (0, _defineProperty2["default"])(Component, "propTypes", _objectSpread(_objectSpread({}, _types.ToolPropTypeFields), {}, {
434
+ graphProps: _plot.types.GraphPropsType.isRequired
435
+ }));
436
+ (0, _defineProperty2["default"])(Component, "defaultProps", {});
437
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.js","names":["_react","_interopRequireDefault","require","_propTypes","_types","_point","_lodashEs","_debug","_line","_polygon","_interopRequireWildcard","_plot","_invariant","_reactDom","_markLabel","_utils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_callSuper","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","log","debug","buildLines","exports","points","closed","expanded","reduce","acc","p","index","isLast","next","all","chunk","map","_ref","_ref2","_slicedToArray2","from","to","initial","swap","arr","_len","rest","Array","_key","pairs","pr","_pr","replacement","invariant","Number","isFinite","splice","_toConsumableArray2","RawBaseComponent","_React$Component","_this","_classCallCheck2","_len2","args","_key2","concat","_this$props","props","onChange","update","overlapPoint","find","equalPoints","label","existing","point","_this$props2","onClosePolygon","_this$props3","onChangeProps","updatedPoint","isEmpty","data","_this$props4","disabled","currentMiddle","middle","onClick","isToolActive","labelModeEnabled","limitLabeling","onSetMiddleLabel","_getRightestPoints","getRightestPoints","a","b","getMiddleOfTwoPoints","stripEmptyLabel","strippedPoints","strippedMiddle","setTimeout","input","focus","close","_inherits2","_createClass2","key","value","render","_this2","_this$props5","coordinatesOnHover","correctness","graphProps","onChangeLabelProps","onDragStart","onDragStop","labelNode","lines","common","polygonLabelIndex","polygonLabelNode","ReactDOM","createPortal","createElement","inputRef","mark","Fragment","_extends2","onDrag","dragPoly","bind","clickPoint","Polygon","l","dragLine","BasePoint","x","y","dragPoint","labelChange","React","Component","classes","PropTypes","object","className","string","bool","arrayOf","types","PointType","func","isRequired","GraphPropsType","BaseComponent","_React$Component2","_this3","state","_getRightestPoints2","setState","_this3$props","_this3$props2","_this3$props3","onComplete","m","undefined","_this$props6","stateMark","change","changeLabelProps","setMiddleLabel","changeProps","closePolygon","dragStart","dragStop","ToolPropTypeFields"],"sources":["../../../src/tools/polygon/component.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { ToolPropTypeFields } from '../shared/types';\nimport { BasePoint } from '../shared/point';\nimport { chunk, initial, isEmpty } from 'lodash-es';\nimport debug from 'debug';\nimport Line from './line';\nimport DraggablePolygon, { Polygon } from './polygon';\nimport { types } from '@pie-lib/plot';\nimport invariant from 'invariant';\nimport ReactDOM from 'react-dom';\nimport MarkLabel from '../../mark-label';\nimport { equalPoints, getMiddleOfTwoPoints, getRightestPoints, stripEmptyLabel } from '../../utils';\n\nconst log = debug('pie-lib:graphing:polygon');\n\nexport const buildLines = (points, closed) => {\n const expanded = points.reduce((acc, p, index) => {\n acc.push({ ...p, index });\n\n const isLast = index === points.length - 1;\n const next = isLast ? 0 : index + 1;\n\n acc.push({ ...points[next], index: next });\n\n return acc;\n }, []);\n\n const all = chunk(expanded, 2).map(([from, to]) => {\n return { from, to };\n });\n\n return closed ? all : initial(all);\n};\n\nexport const swap = (arr, ...rest) => {\n const pairs = chunk(rest, 2);\n\n return pairs.reduce(\n (acc, pr) => {\n if (pr.length === 2) {\n let [e, replacement] = pr;\n\n invariant(Number.isFinite(e.index), 'Index must be defined');\n\n const index = e.index;\n // const i = acc.findIndex(pt => pt.x === e.x && pt.y === e.y);\n\n if (index >= 0) {\n acc.splice(index, 1, replacement);\n\n return acc;\n } else {\n return acc;\n }\n } else {\n return acc;\n }\n },\n [...arr],\n );\n};\n\nexport class RawBaseComponent extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n correctness: PropTypes.string,\n points: PropTypes.arrayOf(types.PointType),\n closed: PropTypes.bool,\n coordinatesOnHover: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n onClosePolygon: PropTypes.func.isRequired,\n onDragStart: PropTypes.func,\n onDragStop: PropTypes.func,\n onClick: PropTypes.func,\n graphProps: types.GraphPropsType.isRequired,\n isToolActive: PropTypes.bool,\n middle: PropTypes.object,\n labelNode: PropTypes.object,\n labelModeEnabled: PropTypes.bool,\n limitLabeling: PropTypes.bool,\n onChangeLabelProps: PropTypes.func,\n onSetMiddleLabel: PropTypes.func,\n onChangeProps: PropTypes.func,\n };\n\n static defaultProps = {\n points: [],\n };\n\n dragPoint = (index, from, to) => {\n log('[dragPoint] from, to:', from, to);\n const { onChange, points } = this.props;\n const update = [...points];\n const overlapPoint = !!(points || []).find((p) => equalPoints(p, to));\n\n if (equalPoints(from, to) || overlapPoint) {\n return;\n }\n\n if (points[index].label) {\n to.label = points[index].label;\n }\n\n update.splice(index, 1, to);\n onChange(update);\n };\n\n dragLine = (existing, next) => {\n log('[dragLine]: ', existing, next);\n const { onChange } = this.props;\n\n if (existing.from.label) {\n next.from.label = existing.from.label;\n }\n\n if (existing.to.label) {\n next.to.label = existing.to.label;\n }\n\n const points = swap(this.props.points, existing.from, next.from, existing.to, next.to);\n onChange(points);\n };\n\n dragPoly = (existing, next) => {\n log('[dragPoly] ', existing, next);\n const { onChange } = this.props;\n\n next.forEach((point, index) => {\n if (existing[index].label) {\n next[index].label = existing[index].label;\n }\n });\n\n onChange(next);\n };\n\n close = () => {\n const { points, onClosePolygon } = this.props;\n log('[close] ...');\n\n if (points.length >= 3) {\n onClosePolygon();\n } else {\n log('[close] - nope');\n }\n };\n\n labelChange = (point, index) => {\n const { points, onChangeProps } = this.props;\n const updatedPoint = { ...point };\n\n if (!point.label || isEmpty(point.label)) {\n delete updatedPoint.label;\n }\n\n const update = [...points];\n\n update.splice(index, 1, updatedPoint);\n onChangeProps(update);\n };\n\n clickPoint = (point, index, data) => {\n const {\n closed,\n disabled,\n middle: currentMiddle,\n onClick,\n isToolActive,\n labelModeEnabled,\n limitLabeling,\n onSetMiddleLabel,\n points,\n } = this.props;\n\n if (labelModeEnabled) {\n // limit labeling the points of the polygon\n if (disabled || limitLabeling) {\n return;\n }\n\n if (points && index === points.length) {\n const { a, b } = getRightestPoints(points);\n const middle = { label: '', ...point, ...getMiddleOfTwoPoints(a, b) };\n\n onSetMiddleLabel(middle, points.map(stripEmptyLabel));\n } else {\n const strippedPoints = points.map(stripEmptyLabel);\n strippedPoints.splice(index, 1, { label: '', ...point });\n\n const strippedMiddle = currentMiddle ? stripEmptyLabel(currentMiddle) : currentMiddle;\n onSetMiddleLabel(strippedMiddle, strippedPoints);\n }\n\n // defer the focus() call with setTimeout to allow the re-render to complete first.\n setTimeout(() => {\n if (this.input[index]) {\n this.input[index].focus();\n }\n }, 0);\n\n return;\n }\n\n if (isToolActive && !closed && index === 0) {\n this.close();\n return;\n }\n\n onClick(point || data);\n };\n\n // IMPORTANT, do not remove\n input = {};\n\n render() {\n const {\n closed,\n coordinatesOnHover,\n correctness,\n disabled,\n graphProps,\n onChangeLabelProps,\n onDragStart,\n onDragStop,\n points,\n middle,\n labelNode,\n labelModeEnabled,\n } = this.props;\n const lines = buildLines(points, closed);\n const common = { onDragStart, onDragStop, graphProps, disabled, correctness };\n const polygonLabelIndex = (points && points.length) || 0;\n let polygonLabelNode = null;\n\n if (labelNode && middle && Object.prototype.hasOwnProperty.call(middle, 'label')) {\n polygonLabelNode = ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input[polygonLabelIndex] = r)}\n disabled={disabled || !labelModeEnabled}\n mark={middle}\n graphProps={graphProps}\n onChange={(label) => onChangeLabelProps({ ...middle, label })}\n />,\n labelNode,\n );\n }\n\n return (\n <g>\n {closed ? (\n <React.Fragment>\n <DraggablePolygon\n points={points}\n onDrag={this.dragPoly.bind(this, points)}\n closed={closed}\n {...common}\n onClick={this.clickPoint.bind(this, middle, polygonLabelIndex)}\n />\n {polygonLabelNode}\n </React.Fragment>\n ) : (\n <Polygon points={points} graphProps={graphProps} closed={closed} />\n )}\n {(lines || []).map((l, index) => (\n <Line\n key={`line-${index}`}\n from={l.from}\n to={l.to}\n onDrag={this.dragLine.bind(this, l)}\n {...common}\n onClick={this.clickPoint.bind(this, middle, polygonLabelIndex)}\n />\n ))}\n\n {(points || []).map((p, index) => {\n return [\n <BasePoint\n key={`point-${index}`}\n coordinatesOnHover={coordinatesOnHover}\n labelNode={labelNode}\n x={p.x}\n y={p.y}\n onDrag={this.dragPoint.bind(this, index, p)}\n {...common}\n onClick={this.clickPoint.bind(this, p, index)}\n />,\n labelNode && Object.prototype.hasOwnProperty.call(p, 'label')\n ? ReactDOM.createPortal(\n <MarkLabel\n inputRef={(r) => (this.input[index] = r)}\n disabled={disabled || !labelModeEnabled}\n mark={p}\n graphProps={graphProps}\n onChange={(label) => this.labelChange({ ...p, label }, index)}\n />,\n labelNode,\n )\n : null,\n ];\n })}\n </g>\n );\n }\n}\n\nexport const BaseComponent = RawBaseComponent;\n\nexport default class Component extends React.Component {\n static propTypes = {\n ...ToolPropTypeFields,\n graphProps: types.GraphPropsType.isRequired,\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n change = (points) => {\n const {\n mark: { middle },\n } = this.props;\n const mark = { ...this.state.mark, points };\n\n if (middle) {\n const { a, b } = getRightestPoints(points);\n\n mark.middle = { ...middle, ...getMiddleOfTwoPoints(a, b) };\n }\n\n this.setState({ mark });\n };\n\n changeProps = (points) => {\n const mark = { ...this.props.mark, points };\n\n this.props.onChange(this.props.mark, mark);\n };\n\n changeLabelProps = (point) => {\n const { mark, onChange } = this.props;\n const middle = { ...mark.middle, ...point };\n\n if (!middle.label || isEmpty(middle.label)) {\n delete middle.label;\n }\n\n onChange(mark, { ...mark, middle });\n };\n\n setMiddleLabel = (middle, strippedPoints) => {\n const { mark, onChange } = this.props;\n const next = { ...mark, middle };\n if (strippedPoints) {\n next.points = strippedPoints;\n }\n onChange(mark, next);\n };\n\n closePolygon = () => {\n log('[closePolygon] ...');\n const { onComplete, mark } = this.props;\n const update = { ...mark, closed: true };\n\n onComplete(mark, update);\n };\n\n dragStart = () => this.setState({ mark: this.props.mark });\n\n dragStop = () => {\n const { onChange } = this.props;\n const m = { ...this.state.mark };\n\n this.setState({ mark: undefined }, () => {\n onChange(this.props.mark, m);\n });\n };\n\n render() {\n const { coordinatesOnHover, mark, graphProps, onClick, isToolActive, labelNode, labelModeEnabled, limitLabeling } =\n this.props;\n const { mark: stateMark } = this.state;\n\n return (\n <BaseComponent\n {...(stateMark || mark)}\n coordinatesOnHover={coordinatesOnHover}\n onChange={this.change}\n onChangeLabelProps={this.changeLabelProps}\n onSetMiddleLabel={this.setMiddleLabel}\n onChangeProps={this.changeProps}\n onClosePolygon={this.closePolygon}\n onDragStart={this.dragStart}\n onDragStop={this.dragStop}\n onClick={onClick}\n graphProps={graphProps}\n isToolActive={isToolActive}\n labelNode={labelNode}\n labelModeEnabled={labelModeEnabled}\n limitLabeling={limitLabeling}\n />\n );\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,KAAA,GAAAP,sBAAA,CAAAC,OAAA;AACA,IAAAO,QAAA,GAAAC,uBAAA,CAAAR,OAAA;AACA,IAAAS,KAAA,GAAAT,OAAA;AACA,IAAAU,UAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,SAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,UAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,MAAA,GAAAb,OAAA;AAAoG,SAAAQ,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,wBAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,mBAAAT,CAAA,iBAAAA,CAAA,gBAAAU,OAAA,CAAAV,CAAA,0BAAAA,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,cAAAM,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAP,CAAA,IAAAD,CAAA,GAAAW,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAP,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAM,EAAA,EAAAP,CAAA,IAAAC,CAAA,CAAAM,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAN,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAAA,SAAAmB,WAAAnB,CAAA,EAAAK,CAAA,EAAAN,CAAA,WAAAM,CAAA,OAAAe,gBAAA,aAAAf,CAAA,OAAAgB,2BAAA,aAAArB,CAAA,EAAAsB,yBAAA,KAAAC,OAAA,CAAAC,SAAA,CAAAnB,CAAA,EAAAN,CAAA,YAAAqB,gBAAA,aAAApB,CAAA,EAAAyB,WAAA,IAAApB,CAAA,CAAAqB,KAAA,CAAA1B,CAAA,EAAAD,CAAA;AAAA,SAAAuB,0BAAA,cAAAtB,CAAA,IAAA2B,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAd,IAAA,CAAAQ,OAAA,CAAAC,SAAA,CAAAG,OAAA,iCAAA3B,CAAA,aAAAsB,yBAAA,YAAAA,0BAAA,aAAAtB,CAAA;AAAA,SAAA8B,QAAA/B,CAAA,EAAAG,CAAA,QAAAF,CAAA,GAAAgB,MAAA,CAAAe,IAAA,CAAAhC,CAAA,OAAAiB,MAAA,CAAAgB,qBAAA,QAAA3B,CAAA,GAAAW,MAAA,CAAAgB,qBAAA,CAAAjC,CAAA,GAAAG,CAAA,KAAAG,CAAA,GAAAA,CAAA,CAAA4B,MAAA,WAAA/B,CAAA,WAAAc,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAG,CAAA,EAAAgC,UAAA,OAAAlC,CAAA,CAAAmC,IAAA,CAAAT,KAAA,CAAA1B,CAAA,EAAAK,CAAA,YAAAL,CAAA;AAAA,SAAAoC,cAAArC,CAAA,aAAAG,CAAA,MAAAA,CAAA,GAAAmC,SAAA,CAAAC,MAAA,EAAApC,CAAA,UAAAF,CAAA,WAAAqC,SAAA,CAAAnC,CAAA,IAAAmC,SAAA,CAAAnC,CAAA,QAAAA,CAAA,OAAA4B,OAAA,CAAAd,MAAA,CAAAhB,CAAA,OAAAuC,OAAA,WAAArC,CAAA,QAAAsC,gBAAA,aAAAzC,CAAA,EAAAG,CAAA,EAAAF,CAAA,CAAAE,CAAA,SAAAc,MAAA,CAAAyB,yBAAA,GAAAzB,MAAA,CAAA0B,gBAAA,CAAA3C,CAAA,EAAAiB,MAAA,CAAAyB,yBAAA,CAAAzC,CAAA,KAAA8B,OAAA,CAAAd,MAAA,CAAAhB,CAAA,GAAAuC,OAAA,WAAArC,CAAA,IAAAc,MAAA,CAAAC,cAAA,CAAAlB,CAAA,EAAAG,CAAA,EAAAc,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAE,CAAA,iBAAAH,CAAA;AAEpG,IAAM4C,GAAG,GAAG,IAAAC,iBAAK,EAAC,0BAA0B,CAAC;AAEtC,IAAMC,UAAU,GAAAC,OAAA,CAAAD,UAAA,GAAG,SAAbA,UAAUA,CAAIE,MAAM,EAAEC,MAAM,EAAK;EAC5C,IAAMC,QAAQ,GAAGF,MAAM,CAACG,MAAM,CAAC,UAACC,GAAG,EAAEC,CAAC,EAAEC,KAAK,EAAK;IAChDF,GAAG,CAAChB,IAAI,CAAAC,aAAA,CAAAA,aAAA,KAAMgB,CAAC;MAAEC,KAAK,EAALA;IAAK,EAAE,CAAC;IAEzB,IAAMC,MAAM,GAAGD,KAAK,KAAKN,MAAM,CAACT,MAAM,GAAG,CAAC;IAC1C,IAAMiB,IAAI,GAAGD,MAAM,GAAG,CAAC,GAAGD,KAAK,GAAG,CAAC;IAEnCF,GAAG,CAAChB,IAAI,CAAAC,aAAA,CAAAA,aAAA,KAAMW,MAAM,CAACQ,IAAI,CAAC;MAAEF,KAAK,EAAEE;IAAI,EAAE,CAAC;IAE1C,OAAOJ,GAAG;EACZ,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMK,GAAG,GAAG,IAAAC,eAAK,EAACR,QAAQ,EAAE,CAAC,CAAC,CAACS,GAAG,CAAC,UAAAC,IAAA,EAAgB;IAAA,IAAAC,KAAA,OAAAC,eAAA,aAAAF,IAAA;MAAdG,IAAI,GAAAF,KAAA;MAAEG,EAAE,GAAAH,KAAA;IAC3C,OAAO;MAAEE,IAAI,EAAJA,IAAI;MAAEC,EAAE,EAAFA;IAAG,CAAC;EACrB,CAAC,CAAC;EAEF,OAAOf,MAAM,GAAGQ,GAAG,GAAG,IAAAQ,iBAAO,EAACR,GAAG,CAAC;AACpC,CAAC;AAEM,IAAMS,IAAI,GAAAnB,OAAA,CAAAmB,IAAA,GAAG,SAAPA,IAAIA,CAAIC,GAAG,EAAc;EAAA,SAAAC,IAAA,GAAA9B,SAAA,CAAAC,MAAA,EAAT8B,IAAI,OAAAC,KAAA,CAAAF,IAAA,OAAAA,IAAA,WAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;IAAJF,IAAI,CAAAE,IAAA,QAAAjC,SAAA,CAAAiC,IAAA;EAAA;EAC/B,IAAMC,KAAK,GAAG,IAAAd,eAAK,EAACW,IAAI,EAAE,CAAC,CAAC;EAE5B,OAAOG,KAAK,CAACrB,MAAM,CACjB,UAACC,GAAG,EAAEqB,EAAE,EAAK;IACX,IAAIA,EAAE,CAAClC,MAAM,KAAK,CAAC,EAAE;MACnB,IAAAmC,GAAA,OAAAZ,eAAA,aAAuBW,EAAE;QAApBzE,CAAC,GAAA0E,GAAA;QAAEC,WAAW,GAAAD,GAAA;MAEnB,IAAAE,qBAAS,EAACC,MAAM,CAACC,QAAQ,CAAC9E,CAAC,CAACsD,KAAK,CAAC,EAAE,uBAAuB,CAAC;MAE5D,IAAMA,KAAK,GAAGtD,CAAC,CAACsD,KAAK;MACrB;;MAEA,IAAIA,KAAK,IAAI,CAAC,EAAE;QACdF,GAAG,CAAC2B,MAAM,CAACzB,KAAK,EAAE,CAAC,EAAEqB,WAAW,CAAC;QAEjC,OAAOvB,GAAG;MACZ,CAAC,MAAM;QACL,OAAOA,GAAG;MACZ;IACF,CAAC,MAAM;MACL,OAAOA,GAAG;IACZ;EACF,CAAC,MAAA4B,mBAAA,aACGb,GAAG,CACT,CAAC;AACH,CAAC;AAAC,IAEWc,gBAAgB,GAAAlC,OAAA,CAAAkC,gBAAA,0BAAAC,gBAAA;EAAA,SAAAD,iBAAA;IAAA,IAAAE,KAAA;IAAA,IAAAC,gBAAA,mBAAAH,gBAAA;IAAA,SAAAI,KAAA,GAAA/C,SAAA,CAAAC,MAAA,EAAA+C,IAAA,OAAAhB,KAAA,CAAAe,KAAA,GAAAE,KAAA,MAAAA,KAAA,GAAAF,KAAA,EAAAE,KAAA;MAAAD,IAAA,CAAAC,KAAA,IAAAjD,SAAA,CAAAiD,KAAA;IAAA;IAAAJ,KAAA,GAAA/D,UAAA,OAAA6D,gBAAA,KAAAO,MAAA,CAAAF,IAAA;IAAA,IAAA7C,gBAAA,aAAA0C,KAAA,eA6Bf,UAAC7B,KAAK,EAAES,IAAI,EAAEC,EAAE,EAAK;MAC/BpB,GAAG,CAAC,uBAAuB,EAAEmB,IAAI,EAAEC,EAAE,CAAC;MACtC,IAAAyB,WAAA,GAA6BN,KAAA,CAAKO,KAAK;QAA/BC,QAAQ,GAAAF,WAAA,CAARE,QAAQ;QAAE3C,MAAM,GAAAyC,WAAA,CAANzC,MAAM;MACxB,IAAM4C,MAAM,OAAAZ,mBAAA,aAAOhC,MAAM,CAAC;MAC1B,IAAM6C,YAAY,GAAG,CAAC,CAAC,CAAC7C,MAAM,IAAI,EAAE,EAAE8C,IAAI,CAAC,UAACzC,CAAC;QAAA,OAAK,IAAA0C,kBAAW,EAAC1C,CAAC,EAAEW,EAAE,CAAC;MAAA,EAAC;MAErE,IAAI,IAAA+B,kBAAW,EAAChC,IAAI,EAAEC,EAAE,CAAC,IAAI6B,YAAY,EAAE;QACzC;MACF;MAEA,IAAI7C,MAAM,CAACM,KAAK,CAAC,CAAC0C,KAAK,EAAE;QACvBhC,EAAE,CAACgC,KAAK,GAAGhD,MAAM,CAACM,KAAK,CAAC,CAAC0C,KAAK;MAChC;MAEAJ,MAAM,CAACb,MAAM,CAACzB,KAAK,EAAE,CAAC,EAAEU,EAAE,CAAC;MAC3B2B,QAAQ,CAACC,MAAM,CAAC;IAClB,CAAC;IAAA,IAAAnD,gBAAA,aAAA0C,KAAA,cAEU,UAACc,QAAQ,EAAEzC,IAAI,EAAK;MAC7BZ,GAAG,CAAC,cAAc,EAAEqD,QAAQ,EAAEzC,IAAI,CAAC;MACnC,IAAQmC,QAAQ,GAAKR,KAAA,CAAKO,KAAK,CAAvBC,QAAQ;MAEhB,IAAIM,QAAQ,CAAClC,IAAI,CAACiC,KAAK,EAAE;QACvBxC,IAAI,CAACO,IAAI,CAACiC,KAAK,GAAGC,QAAQ,CAAClC,IAAI,CAACiC,KAAK;MACvC;MAEA,IAAIC,QAAQ,CAACjC,EAAE,CAACgC,KAAK,EAAE;QACrBxC,IAAI,CAACQ,EAAE,CAACgC,KAAK,GAAGC,QAAQ,CAACjC,EAAE,CAACgC,KAAK;MACnC;MAEA,IAAMhD,MAAM,GAAGkB,IAAI,CAACiB,KAAA,CAAKO,KAAK,CAAC1C,MAAM,EAAEiD,QAAQ,CAAClC,IAAI,EAAEP,IAAI,CAACO,IAAI,EAAEkC,QAAQ,CAACjC,EAAE,EAAER,IAAI,CAACQ,EAAE,CAAC;MACtF2B,QAAQ,CAAC3C,MAAM,CAAC;IAClB,CAAC;IAAA,IAAAP,gBAAA,aAAA0C,KAAA,cAEU,UAACc,QAAQ,EAAEzC,IAAI,EAAK;MAC7BZ,GAAG,CAAC,aAAa,EAAEqD,QAAQ,EAAEzC,IAAI,CAAC;MAClC,IAAQmC,QAAQ,GAAKR,KAAA,CAAKO,KAAK,CAAvBC,QAAQ;MAEhBnC,IAAI,CAAChB,OAAO,CAAC,UAAC0D,KAAK,EAAE5C,KAAK,EAAK;QAC7B,IAAI2C,QAAQ,CAAC3C,KAAK,CAAC,CAAC0C,KAAK,EAAE;UACzBxC,IAAI,CAACF,KAAK,CAAC,CAAC0C,KAAK,GAAGC,QAAQ,CAAC3C,KAAK,CAAC,CAAC0C,KAAK;QAC3C;MACF,CAAC,CAAC;MAEFL,QAAQ,CAACnC,IAAI,CAAC;IAChB,CAAC;IAAA,IAAAf,gBAAA,aAAA0C,KAAA,WAEO,YAAM;MACZ,IAAAgB,YAAA,GAAmChB,KAAA,CAAKO,KAAK;QAArC1C,MAAM,GAAAmD,YAAA,CAANnD,MAAM;QAAEoD,cAAc,GAAAD,YAAA,CAAdC,cAAc;MAC9BxD,GAAG,CAAC,aAAa,CAAC;MAElB,IAAII,MAAM,CAACT,MAAM,IAAI,CAAC,EAAE;QACtB6D,cAAc,CAAC,CAAC;MAClB,CAAC,MAAM;QACLxD,GAAG,CAAC,gBAAgB,CAAC;MACvB;IACF,CAAC;IAAA,IAAAH,gBAAA,aAAA0C,KAAA,iBAEa,UAACe,KAAK,EAAE5C,KAAK,EAAK;MAC9B,IAAA+C,YAAA,GAAkClB,KAAA,CAAKO,KAAK;QAApC1C,MAAM,GAAAqD,YAAA,CAANrD,MAAM;QAAEsD,aAAa,GAAAD,YAAA,CAAbC,aAAa;MAC7B,IAAMC,YAAY,GAAAlE,aAAA,KAAQ6D,KAAK,CAAE;MAEjC,IAAI,CAACA,KAAK,CAACF,KAAK,IAAI,IAAAQ,iBAAO,EAACN,KAAK,CAACF,KAAK,CAAC,EAAE;QACxC,OAAOO,YAAY,CAACP,KAAK;MAC3B;MAEA,IAAMJ,MAAM,OAAAZ,mBAAA,aAAOhC,MAAM,CAAC;MAE1B4C,MAAM,CAACb,MAAM,CAACzB,KAAK,EAAE,CAAC,EAAEiD,YAAY,CAAC;MACrCD,aAAa,CAACV,MAAM,CAAC;IACvB,CAAC;IAAA,IAAAnD,gBAAA,aAAA0C,KAAA,gBAEY,UAACe,KAAK,EAAE5C,KAAK,EAAEmD,IAAI,EAAK;MACnC,IAAAC,YAAA,GAUIvB,KAAA,CAAKO,KAAK;QATZzC,MAAM,GAAAyD,YAAA,CAANzD,MAAM;QACN0D,QAAQ,GAAAD,YAAA,CAARC,QAAQ;QACAC,aAAa,GAAAF,YAAA,CAArBG,MAAM;QACNC,OAAO,GAAAJ,YAAA,CAAPI,OAAO;QACPC,YAAY,GAAAL,YAAA,CAAZK,YAAY;QACZC,gBAAgB,GAAAN,YAAA,CAAhBM,gBAAgB;QAChBC,aAAa,GAAAP,YAAA,CAAbO,aAAa;QACbC,gBAAgB,GAAAR,YAAA,CAAhBQ,gBAAgB;QAChBlE,MAAM,GAAA0D,YAAA,CAAN1D,MAAM;MAGR,IAAIgE,gBAAgB,EAAE;QACpB;QACA,IAAIL,QAAQ,IAAIM,aAAa,EAAE;UAC7B;QACF;QAEA,IAAIjE,MAAM,IAAIM,KAAK,KAAKN,MAAM,CAACT,MAAM,EAAE;UACrC,IAAA4E,kBAAA,GAAiB,IAAAC,wBAAiB,EAACpE,MAAM,CAAC;YAAlCqE,CAAC,GAAAF,kBAAA,CAADE,CAAC;YAAEC,CAAC,GAAAH,kBAAA,CAADG,CAAC;UACZ,IAAMT,MAAM,GAAAxE,aAAA,CAAAA,aAAA;YAAK2D,KAAK,EAAE;UAAE,GAAKE,KAAK,GAAK,IAAAqB,2BAAoB,EAACF,CAAC,EAAEC,CAAC,CAAC,CAAE;UAErEJ,gBAAgB,CAACL,MAAM,EAAE7D,MAAM,CAACW,GAAG,CAAC6D,sBAAe,CAAC,CAAC;QACvD,CAAC,MAAM;UACL,IAAMC,cAAc,GAAGzE,MAAM,CAACW,GAAG,CAAC6D,sBAAe,CAAC;UAClDC,cAAc,CAAC1C,MAAM,CAACzB,KAAK,EAAE,CAAC,EAAAjB,aAAA;YAAI2D,KAAK,EAAE;UAAE,GAAKE,KAAK,CAAE,CAAC;UAExD,IAAMwB,cAAc,GAAGd,aAAa,GAAG,IAAAY,sBAAe,EAACZ,aAAa,CAAC,GAAGA,aAAa;UACrFM,gBAAgB,CAACQ,cAAc,EAAED,cAAc,CAAC;QAClD;;QAEA;QACAE,UAAU,CAAC,YAAM;UACf,IAAIxC,KAAA,CAAKyC,KAAK,CAACtE,KAAK,CAAC,EAAE;YACrB6B,KAAA,CAAKyC,KAAK,CAACtE,KAAK,CAAC,CAACuE,KAAK,CAAC,CAAC;UAC3B;QACF,CAAC,EAAE,CAAC,CAAC;QAEL;MACF;MAEA,IAAId,YAAY,IAAI,CAAC9D,MAAM,IAAIK,KAAK,KAAK,CAAC,EAAE;QAC1C6B,KAAA,CAAK2C,KAAK,CAAC,CAAC;QACZ;MACF;MAEAhB,OAAO,CAACZ,KAAK,IAAIO,IAAI,CAAC;IACxB,CAAC;IAED;IAAA,IAAAhE,gBAAA,aAAA0C,KAAA,WACQ,CAAC,CAAC;IAAA,OAAAA,KAAA;EAAA;EAAA,IAAA4C,UAAA,aAAA9C,gBAAA,EAAAC,gBAAA;EAAA,WAAA8C,aAAA,aAAA/C,gBAAA;IAAAgD,GAAA;IAAAC,KAAA,EAEV,SAAAC,MAAMA,CAAA,EAAG;MAAA,IAAAC,MAAA;MACP,IAAAC,YAAA,GAaI,IAAI,CAAC3C,KAAK;QAZZzC,MAAM,GAAAoF,YAAA,CAANpF,MAAM;QACNqF,kBAAkB,GAAAD,YAAA,CAAlBC,kBAAkB;QAClBC,WAAW,GAAAF,YAAA,CAAXE,WAAW;QACX5B,QAAQ,GAAA0B,YAAA,CAAR1B,QAAQ;QACR6B,UAAU,GAAAH,YAAA,CAAVG,UAAU;QACVC,kBAAkB,GAAAJ,YAAA,CAAlBI,kBAAkB;QAClBC,WAAW,GAAAL,YAAA,CAAXK,WAAW;QACXC,UAAU,GAAAN,YAAA,CAAVM,UAAU;QACV3F,MAAM,GAAAqF,YAAA,CAANrF,MAAM;QACN6D,MAAM,GAAAwB,YAAA,CAANxB,MAAM;QACN+B,SAAS,GAAAP,YAAA,CAATO,SAAS;QACT5B,gBAAgB,GAAAqB,YAAA,CAAhBrB,gBAAgB;MAElB,IAAM6B,KAAK,GAAG/F,UAAU,CAACE,MAAM,EAAEC,MAAM,CAAC;MACxC,IAAM6F,MAAM,GAAG;QAAEJ,WAAW,EAAXA,WAAW;QAAEC,UAAU,EAAVA,UAAU;QAAEH,UAAU,EAAVA,UAAU;QAAE7B,QAAQ,EAARA,QAAQ;QAAE4B,WAAW,EAAXA;MAAY,CAAC;MAC7E,IAAMQ,iBAAiB,GAAI/F,MAAM,IAAIA,MAAM,CAACT,MAAM,IAAK,CAAC;MACxD,IAAIyG,gBAAgB,GAAG,IAAI;MAE3B,IAAIJ,SAAS,IAAI/B,MAAM,IAAI5F,MAAM,CAACY,SAAS,CAACd,cAAc,CAACC,IAAI,CAAC6F,MAAM,EAAE,OAAO,CAAC,EAAE;QAChFmC,gBAAgB,gBAAGC,oBAAQ,CAACC,YAAY,cACtClK,MAAA,YAAAmK,aAAA,CAACrJ,UAAA,WAAS;UACRsJ,QAAQ,EAAE,SAAVA,QAAQA,CAAGjJ,CAAC;YAAA,OAAMiI,MAAI,CAACR,KAAK,CAACmB,iBAAiB,CAAC,GAAG5I,CAAC;UAAA,CAAE;UACrDwG,QAAQ,EAAEA,QAAQ,IAAI,CAACK,gBAAiB;UACxCqC,IAAI,EAAExC,MAAO;UACb2B,UAAU,EAAEA,UAAW;UACvB7C,QAAQ,EAAE,SAAVA,QAAQA,CAAGK,KAAK;YAAA,OAAKyC,kBAAkB,CAAApG,aAAA,CAAAA,aAAA,KAAMwE,MAAM;cAAEb,KAAK,EAALA;YAAK,EAAE,CAAC;UAAA;QAAC,CAC/D,CAAC,EACF4C,SACF,CAAC;MACH;MAEA,oBACE5J,MAAA,YAAAmK,aAAA,YACGlG,MAAM,gBACLjE,MAAA,YAAAmK,aAAA,CAACnK,MAAA,WAAK,CAACsK,QAAQ,qBACbtK,MAAA,YAAAmK,aAAA,CAAC1J,QAAA,WAAgB,MAAA8J,SAAA;QACfvG,MAAM,EAAEA,MAAO;QACfwG,MAAM,EAAE,IAAI,CAACC,QAAQ,CAACC,IAAI,CAAC,IAAI,EAAE1G,MAAM,CAAE;QACzCC,MAAM,EAAEA;MAAO,GACX6F,MAAM;QACVhC,OAAO,EAAE,IAAI,CAAC6C,UAAU,CAACD,IAAI,CAAC,IAAI,EAAE7C,MAAM,EAAEkC,iBAAiB;MAAE,EAChE,CAAC,EACDC,gBACa,CAAC,gBAEjBhK,MAAA,YAAAmK,aAAA,CAAC1J,QAAA,CAAAmK,OAAO;QAAC5G,MAAM,EAAEA,MAAO;QAACwF,UAAU,EAAEA,UAAW;QAACvF,MAAM,EAAEA;MAAO,CAAE,CACnE,EACA,CAAC4F,KAAK,IAAI,EAAE,EAAElF,GAAG,CAAC,UAACkG,CAAC,EAAEvG,KAAK;QAAA,oBAC1BtE,MAAA,YAAAmK,aAAA,CAAC3J,KAAA,WAAI,MAAA+J,SAAA;UACHtB,GAAG,UAAAzC,MAAA,CAAUlC,KAAK,CAAG;UACrBS,IAAI,EAAE8F,CAAC,CAAC9F,IAAK;UACbC,EAAE,EAAE6F,CAAC,CAAC7F,EAAG;UACTwF,MAAM,EAAEpB,MAAI,CAAC0B,QAAQ,CAACJ,IAAI,CAACtB,MAAI,EAAEyB,CAAC;QAAE,GAChCf,MAAM;UACVhC,OAAO,EAAEsB,MAAI,CAACuB,UAAU,CAACD,IAAI,CAACtB,MAAI,EAAEvB,MAAM,EAAEkC,iBAAiB;QAAE,EAChE,CAAC;MAAA,CACH,CAAC,EAED,CAAC/F,MAAM,IAAI,EAAE,EAAEW,GAAG,CAAC,UAACN,CAAC,EAAEC,KAAK,EAAK;QAChC,OAAO,cACLtE,MAAA,YAAAmK,aAAA,CAAC9J,MAAA,CAAA0K,SAAS,MAAAR,SAAA;UACRtB,GAAG,WAAAzC,MAAA,CAAWlC,KAAK,CAAG;UACtBgF,kBAAkB,EAAEA,kBAAmB;UACvCM,SAAS,EAAEA,SAAU;UACrBoB,CAAC,EAAE3G,CAAC,CAAC2G,CAAE;UACPC,CAAC,EAAE5G,CAAC,CAAC4G,CAAE;UACPT,MAAM,EAAEpB,MAAI,CAAC8B,SAAS,CAACR,IAAI,CAACtB,MAAI,EAAE9E,KAAK,EAAED,CAAC;QAAE,GACxCyF,MAAM;UACVhC,OAAO,EAAEsB,MAAI,CAACuB,UAAU,CAACD,IAAI,CAACtB,MAAI,EAAE/E,CAAC,EAAEC,KAAK;QAAE,EAC/C,CAAC,EACFsF,SAAS,IAAI3H,MAAM,CAACY,SAAS,CAACd,cAAc,CAACC,IAAI,CAACqC,CAAC,EAAE,OAAO,CAAC,gBACzD4F,oBAAQ,CAACC,YAAY,cACnBlK,MAAA,YAAAmK,aAAA,CAACrJ,UAAA,WAAS;UACRsJ,QAAQ,EAAE,SAAVA,QAAQA,CAAGjJ,CAAC;YAAA,OAAMiI,MAAI,CAACR,KAAK,CAACtE,KAAK,CAAC,GAAGnD,CAAC;UAAA,CAAE;UACzCwG,QAAQ,EAAEA,QAAQ,IAAI,CAACK,gBAAiB;UACxCqC,IAAI,EAAEhG,CAAE;UACRmF,UAAU,EAAEA,UAAW;UACvB7C,QAAQ,EAAE,SAAVA,QAAQA,CAAGK,KAAK;YAAA,OAAKoC,MAAI,CAAC+B,WAAW,CAAA9H,aAAA,CAAAA,aAAA,KAAMgB,CAAC;cAAE2C,KAAK,EAALA;YAAK,IAAI1C,KAAK,CAAC;UAAA;QAAC,CAC/D,CAAC,EACFsF,SACF,CAAC,GACD,IAAI,CACT;MACH,CAAC,CACA,CAAC;IAER;EAAC;AAAA,EAlPmCwB,iBAAK,CAACC,SAAS;AAAA,IAAA5H,gBAAA,aAAxCwC,gBAAgB,eACR;EACjBqF,OAAO,EAAEC,qBAAS,CAACC,MAAM;EACzBC,SAAS,EAAEF,qBAAS,CAACG,MAAM;EAC3B/D,QAAQ,EAAE4D,qBAAS,CAACI,IAAI;EACxBpC,WAAW,EAAEgC,qBAAS,CAACG,MAAM;EAC7B1H,MAAM,EAAEuH,qBAAS,CAACK,OAAO,CAACC,WAAK,CAACC,SAAS,CAAC;EAC1C7H,MAAM,EAAEsH,qBAAS,CAACI,IAAI;EACtBrC,kBAAkB,EAAEiC,qBAAS,CAACI,IAAI;EAClChF,QAAQ,EAAE4E,qBAAS,CAACQ,IAAI,CAACC,UAAU;EACnC5E,cAAc,EAAEmE,qBAAS,CAACQ,IAAI,CAACC,UAAU;EACzCtC,WAAW,EAAE6B,qBAAS,CAACQ,IAAI;EAC3BpC,UAAU,EAAE4B,qBAAS,CAACQ,IAAI;EAC1BjE,OAAO,EAAEyD,qBAAS,CAACQ,IAAI;EACvBvC,UAAU,EAAEqC,WAAK,CAACI,cAAc,CAACD,UAAU;EAC3CjE,YAAY,EAAEwD,qBAAS,CAACI,IAAI;EAC5B9D,MAAM,EAAE0D,qBAAS,CAACC,MAAM;EACxB5B,SAAS,EAAE2B,qBAAS,CAACC,MAAM;EAC3BxD,gBAAgB,EAAEuD,qBAAS,CAACI,IAAI;EAChC1D,aAAa,EAAEsD,qBAAS,CAACI,IAAI;EAC7BlC,kBAAkB,EAAE8B,qBAAS,CAACQ,IAAI;EAClC7D,gBAAgB,EAAEqD,qBAAS,CAACQ,IAAI;EAChCzE,aAAa,EAAEiE,qBAAS,CAACQ;AAC3B,CAAC;AAAA,IAAAtI,gBAAA,aAvBUwC,gBAAgB,kBAyBL;EACpBjC,MAAM,EAAE;AACV,CAAC;AA0NI,IAAMkI,aAAa,GAAAnI,OAAA,CAAAmI,aAAA,GAAGjG,gBAAgB;AAAC,IAEzBoF,SAAS,GAAAtH,OAAA,qCAAAoI,iBAAA;EAQ5B,SAAAd,UAAY3E,KAAK,EAAE;IAAA,IAAA0F,MAAA;IAAA,IAAAhG,gBAAA,mBAAAiF,SAAA;IACjBe,MAAA,GAAAhK,UAAA,OAAAiJ,SAAA,GAAM3E,KAAK;IAAE,IAAAjD,gBAAA,aAAA2I,MAAA,YAIN,UAACpI,MAAM,EAAK;MACnB,IACU6D,MAAM,GACZuE,MAAA,CAAK1F,KAAK,CADZ2D,IAAI,CAAIxC,MAAM;MAEhB,IAAMwC,IAAI,GAAAhH,aAAA,CAAAA,aAAA,KAAQ+I,MAAA,CAAKC,KAAK,CAAChC,IAAI;QAAErG,MAAM,EAANA;MAAM,EAAE;MAE3C,IAAI6D,MAAM,EAAE;QACV,IAAAyE,mBAAA,GAAiB,IAAAlE,wBAAiB,EAACpE,MAAM,CAAC;UAAlCqE,CAAC,GAAAiE,mBAAA,CAADjE,CAAC;UAAEC,CAAC,GAAAgE,mBAAA,CAADhE,CAAC;QAEZ+B,IAAI,CAACxC,MAAM,GAAAxE,aAAA,CAAAA,aAAA,KAAQwE,MAAM,GAAK,IAAAU,2BAAoB,EAACF,CAAC,EAAEC,CAAC,CAAC,CAAE;MAC5D;MAEA8D,MAAA,CAAKG,QAAQ,CAAC;QAAElC,IAAI,EAAJA;MAAK,CAAC,CAAC;IACzB,CAAC;IAAA,IAAA5G,gBAAA,aAAA2I,MAAA,iBAEa,UAACpI,MAAM,EAAK;MACxB,IAAMqG,IAAI,GAAAhH,aAAA,CAAAA,aAAA,KAAQ+I,MAAA,CAAK1F,KAAK,CAAC2D,IAAI;QAAErG,MAAM,EAANA;MAAM,EAAE;MAE3CoI,MAAA,CAAK1F,KAAK,CAACC,QAAQ,CAACyF,MAAA,CAAK1F,KAAK,CAAC2D,IAAI,EAAEA,IAAI,CAAC;IAC5C,CAAC;IAAA,IAAA5G,gBAAA,aAAA2I,MAAA,sBAEkB,UAAClF,KAAK,EAAK;MAC5B,IAAAsF,YAAA,GAA2BJ,MAAA,CAAK1F,KAAK;QAA7B2D,IAAI,GAAAmC,YAAA,CAAJnC,IAAI;QAAE1D,QAAQ,GAAA6F,YAAA,CAAR7F,QAAQ;MACtB,IAAMkB,MAAM,GAAAxE,aAAA,CAAAA,aAAA,KAAQgH,IAAI,CAACxC,MAAM,GAAKX,KAAK,CAAE;MAE3C,IAAI,CAACW,MAAM,CAACb,KAAK,IAAI,IAAAQ,iBAAO,EAACK,MAAM,CAACb,KAAK,CAAC,EAAE;QAC1C,OAAOa,MAAM,CAACb,KAAK;MACrB;MAEAL,QAAQ,CAAC0D,IAAI,EAAAhH,aAAA,CAAAA,aAAA,KAAOgH,IAAI;QAAExC,MAAM,EAANA;MAAM,EAAE,CAAC;IACrC,CAAC;IAAA,IAAApE,gBAAA,aAAA2I,MAAA,oBAEgB,UAACvE,MAAM,EAAEY,cAAc,EAAK;MAC3C,IAAAgE,aAAA,GAA2BL,MAAA,CAAK1F,KAAK;QAA7B2D,IAAI,GAAAoC,aAAA,CAAJpC,IAAI;QAAE1D,QAAQ,GAAA8F,aAAA,CAAR9F,QAAQ;MACtB,IAAMnC,IAAI,GAAAnB,aAAA,CAAAA,aAAA,KAAQgH,IAAI;QAAExC,MAAM,EAANA;MAAM,EAAE;MAChC,IAAIY,cAAc,EAAE;QAClBjE,IAAI,CAACR,MAAM,GAAGyE,cAAc;MAC9B;MACA9B,QAAQ,CAAC0D,IAAI,EAAE7F,IAAI,CAAC;IACtB,CAAC;IAAA,IAAAf,gBAAA,aAAA2I,MAAA,kBAEc,YAAM;MACnBxI,GAAG,CAAC,oBAAoB,CAAC;MACzB,IAAA8I,aAAA,GAA6BN,MAAA,CAAK1F,KAAK;QAA/BiG,UAAU,GAAAD,aAAA,CAAVC,UAAU;QAAEtC,IAAI,GAAAqC,aAAA,CAAJrC,IAAI;MACxB,IAAMzD,MAAM,GAAAvD,aAAA,CAAAA,aAAA,KAAQgH,IAAI;QAAEpG,MAAM,EAAE;MAAI,EAAE;MAExC0I,UAAU,CAACtC,IAAI,EAAEzD,MAAM,CAAC;IAC1B,CAAC;IAAA,IAAAnD,gBAAA,aAAA2I,MAAA,eAEW;MAAA,OAAMA,MAAA,CAAKG,QAAQ,CAAC;QAAElC,IAAI,EAAE+B,MAAA,CAAK1F,KAAK,CAAC2D;MAAK,CAAC,CAAC;IAAA;IAAA,IAAA5G,gBAAA,aAAA2I,MAAA,cAE/C,YAAM;MACf,IAAQzF,QAAQ,GAAKyF,MAAA,CAAK1F,KAAK,CAAvBC,QAAQ;MAChB,IAAMiG,CAAC,GAAAvJ,aAAA,KAAQ+I,MAAA,CAAKC,KAAK,CAAChC,IAAI,CAAE;MAEhC+B,MAAA,CAAKG,QAAQ,CAAC;QAAElC,IAAI,EAAEwC;MAAU,CAAC,EAAE,YAAM;QACvClG,QAAQ,CAACyF,MAAA,CAAK1F,KAAK,CAAC2D,IAAI,EAAEuC,CAAC,CAAC;MAC9B,CAAC,CAAC;IACJ,CAAC;IA7DCR,MAAA,CAAKC,KAAK,GAAG,CAAC,CAAC;IAAC,OAAAD,MAAA;EAClB;EAAC,IAAArD,UAAA,aAAAsC,SAAA,EAAAc,iBAAA;EAAA,WAAAnD,aAAA,aAAAqC,SAAA;IAAApC,GAAA;IAAAC,KAAA,EA8DD,SAAAC,MAAMA,CAAA,EAAG;MACP,IAAA2D,YAAA,GACE,IAAI,CAACpG,KAAK;QADJ4C,kBAAkB,GAAAwD,YAAA,CAAlBxD,kBAAkB;QAAEe,IAAI,GAAAyC,YAAA,CAAJzC,IAAI;QAAEb,UAAU,GAAAsD,YAAA,CAAVtD,UAAU;QAAE1B,OAAO,GAAAgF,YAAA,CAAPhF,OAAO;QAAEC,YAAY,GAAA+E,YAAA,CAAZ/E,YAAY;QAAE6B,SAAS,GAAAkD,YAAA,CAATlD,SAAS;QAAE5B,gBAAgB,GAAA8E,YAAA,CAAhB9E,gBAAgB;QAAEC,aAAa,GAAA6E,YAAA,CAAb7E,aAAa;MAE/G,IAAc8E,SAAS,GAAK,IAAI,CAACV,KAAK,CAA9BhC,IAAI;MAEZ,oBACErK,MAAA,YAAAmK,aAAA,CAAC+B,aAAa,MAAA3B,SAAA,iBACPwC,SAAS,IAAI1C,IAAI;QACtBf,kBAAkB,EAAEA,kBAAmB;QACvC3C,QAAQ,EAAE,IAAI,CAACqG,MAAO;QACtBvD,kBAAkB,EAAE,IAAI,CAACwD,gBAAiB;QAC1C/E,gBAAgB,EAAE,IAAI,CAACgF,cAAe;QACtC5F,aAAa,EAAE,IAAI,CAAC6F,WAAY;QAChC/F,cAAc,EAAE,IAAI,CAACgG,YAAa;QAClC1D,WAAW,EAAE,IAAI,CAAC2D,SAAU;QAC5B1D,UAAU,EAAE,IAAI,CAAC2D,QAAS;QAC1BxF,OAAO,EAAEA,OAAQ;QACjB0B,UAAU,EAAEA,UAAW;QACvBzB,YAAY,EAAEA,YAAa;QAC3B6B,SAAS,EAAEA,SAAU;QACrB5B,gBAAgB,EAAEA,gBAAiB;QACnCC,aAAa,EAAEA;MAAc,EAC9B,CAAC;IAEN;EAAC;AAAA,EAjGoCmD,iBAAK,CAACC,SAAS;AAAA,IAAA5H,gBAAA,aAAjC4H,SAAS,eAAAhI,aAAA,CAAAA,aAAA,KAEvBkK,yBAAkB;EACrB/D,UAAU,EAAEqC,WAAK,CAACI,cAAc,CAACD;AAAU;AAAA,IAAAvI,gBAAA,aAH1B4H,SAAS,kBAMN,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.tool = exports.addPointToArray = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
+ var _component = _interopRequireDefault(require("./component"));
11
+ var _utils = require("../../utils");
12
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
13
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
14
+ var addPointToArray = exports.addPointToArray = function addPointToArray(point, arr) {
15
+ arr = arr || [];
16
+ if (arr.length === 0) {
17
+ return {
18
+ points: [point],
19
+ closed: false
20
+ };
21
+ } else if (arr.length === 1) {
22
+ if ((0, _utils.equalPoints)(point, arr[0])) {
23
+ return {
24
+ points: arr,
25
+ closed: false
26
+ };
27
+ } else {
28
+ return {
29
+ points: [].concat((0, _toConsumableArray2["default"])(arr), [point]),
30
+ closed: false
31
+ };
32
+ }
33
+ } else if (arr.length >= 2) {
34
+ var closed = (0, _utils.equalPoints)(point, arr[0]);
35
+ if (closed) {
36
+ return {
37
+ points: arr,
38
+ closed: closed
39
+ };
40
+ } else {
41
+ var hasPoint = !!arr.find(function (p) {
42
+ return (0, _utils.equalPoints)(p, point);
43
+ });
44
+ if (hasPoint) {
45
+ return {
46
+ points: arr,
47
+ closed: false
48
+ };
49
+ } else {
50
+ return {
51
+ points: [].concat((0, _toConsumableArray2["default"])(arr), [point]),
52
+ closed: false
53
+ };
54
+ }
55
+ }
56
+ }
57
+ };
58
+ var tool = exports.tool = function tool() {
59
+ return {
60
+ type: 'polygon',
61
+ Component: _component["default"],
62
+ complete: function complete(data, mark) {
63
+ return _objectSpread(_objectSpread({}, mark), {}, {
64
+ building: false,
65
+ closed: true
66
+ });
67
+ },
68
+ addPoint: function addPoint(point, mark) {
69
+ if (!mark) {
70
+ return {
71
+ type: 'polygon',
72
+ points: [point],
73
+ closed: false,
74
+ building: true
75
+ };
76
+ } else {
77
+ var _addPointToArray = addPointToArray(point, mark.points),
78
+ closed = _addPointToArray.closed,
79
+ points = _addPointToArray.points;
80
+ return _objectSpread(_objectSpread({}, mark), {}, {
81
+ closed: closed,
82
+ points: points,
83
+ building: !closed
84
+ });
85
+ }
86
+ }
87
+ };
88
+ };
89
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_component","_interopRequireDefault","require","_utils","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","addPointToArray","exports","point","arr","points","closed","equalPoints","concat","_toConsumableArray2","hasPoint","find","p","tool","type","Component","Polygon","complete","data","mark","building","addPoint","_addPointToArray"],"sources":["../../../src/tools/polygon/index.js"],"sourcesContent":["import Polygon from './component';\nimport { equalPoints } from '../../utils';\n\nexport const addPointToArray = (point, arr) => {\n arr = arr || [];\n\n if (arr.length === 0) {\n return { points: [point], closed: false };\n } else if (arr.length === 1) {\n if (equalPoints(point, arr[0])) {\n return { points: arr, closed: false };\n } else {\n return { points: [...arr, point], closed: false };\n }\n } else if (arr.length >= 2) {\n const closed = equalPoints(point, arr[0]);\n\n if (closed) {\n return { points: arr, closed };\n } else {\n const hasPoint = !!arr.find((p) => equalPoints(p, point));\n\n if (hasPoint) {\n return { points: arr, closed: false };\n } else {\n return { points: [...arr, point], closed: false };\n }\n }\n }\n};\n\nexport const tool = () => ({\n type: 'polygon',\n Component: Polygon,\n complete: (data, mark) => {\n return { ...mark, building: false, closed: true };\n },\n addPoint: (point, mark) => {\n if (!mark) {\n return {\n type: 'polygon',\n points: [point],\n closed: false,\n building: true,\n };\n } else {\n const { closed, points } = addPointToArray(point, mark.points);\n\n return { ...mark, closed, points, building: !closed };\n }\n },\n});\n"],"mappings":"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","ignoreList":[]}