@mlightcad/cad-simple-viewer 1.4.10 → 1.4.12

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 (309) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +88 -88
  3. package/dist/index.js +21257 -14069
  4. package/dist/index.umd.cjs +201 -76
  5. package/dist/libredwg-parser-worker.js +6604 -12157
  6. package/dist/mtext-renderer-worker.js +28725 -28097
  7. package/lib/app/AcApAnnotation.d.ts.map +1 -1
  8. package/lib/app/AcApAnnotation.js +3 -3
  9. package/lib/app/AcApAnnotation.js.map +1 -1
  10. package/lib/app/AcApContext.d.ts.map +1 -1
  11. package/lib/app/AcApContext.js +3 -3
  12. package/lib/app/AcApContext.js.map +1 -1
  13. package/lib/app/AcApDocManager.d.ts +24 -1
  14. package/lib/app/AcApDocManager.d.ts.map +1 -1
  15. package/lib/app/AcApDocManager.js +67 -12
  16. package/lib/app/AcApDocManager.js.map +1 -1
  17. package/lib/app/AcApDocument.d.ts +6 -0
  18. package/lib/app/AcApDocument.d.ts.map +1 -1
  19. package/lib/app/AcApDocument.js +14 -2
  20. package/lib/app/AcApDocument.js.map +1 -1
  21. package/lib/app/AcApProgress.d.ts.map +1 -1
  22. package/lib/app/AcApProgress.js +3 -3
  23. package/lib/app/AcApProgress.js.map +1 -1
  24. package/lib/app/AcApSettingManager.d.ts.map +1 -1
  25. package/lib/app/AcApSettingManager.js +3 -1
  26. package/lib/app/AcApSettingManager.js.map +1 -1
  27. package/lib/app/AcDbOpenDatabaseOptions.d.ts.map +1 -1
  28. package/lib/command/AcApArcCmd.d.ts +140 -0
  29. package/lib/command/AcApArcCmd.d.ts.map +1 -0
  30. package/lib/command/AcApArcCmd.js +1009 -0
  31. package/lib/command/AcApArcCmd.js.map +1 -0
  32. package/lib/command/AcApCircleCmd.d.ts.map +1 -1
  33. package/lib/command/AcApCircleCmd.js +10 -4
  34. package/lib/command/AcApCircleCmd.js.map +1 -1
  35. package/lib/command/AcApClearMeasurementsCmd.d.ts +13 -0
  36. package/lib/command/AcApClearMeasurementsCmd.d.ts.map +1 -0
  37. package/lib/command/AcApClearMeasurementsCmd.js +84 -0
  38. package/lib/command/AcApClearMeasurementsCmd.js.map +1 -0
  39. package/lib/command/AcApConvertToDxfCmd.d.ts +9 -0
  40. package/lib/command/AcApConvertToDxfCmd.d.ts.map +1 -0
  41. package/lib/command/AcApConvertToDxfCmd.js +75 -0
  42. package/lib/command/AcApConvertToDxfCmd.js.map +1 -0
  43. package/lib/command/AcApDimLinearCmd.d.ts.map +1 -1
  44. package/lib/command/AcApDimLinearCmd.js +14 -5
  45. package/lib/command/AcApDimLinearCmd.js.map +1 -1
  46. package/lib/command/AcApDxfConvertor.d.ts +12 -0
  47. package/lib/command/AcApDxfConvertor.d.ts.map +1 -0
  48. package/lib/command/AcApDxfConvertor.js +37 -0
  49. package/lib/command/AcApDxfConvertor.js.map +1 -0
  50. package/lib/command/AcApEraseCmd.d.ts.map +1 -1
  51. package/lib/command/AcApEraseCmd.js +10 -6
  52. package/lib/command/AcApEraseCmd.js.map +1 -1
  53. package/lib/command/AcApLineCmd.d.ts.map +1 -1
  54. package/lib/command/AcApLineCmd.js +10 -4
  55. package/lib/command/AcApLineCmd.js.map +1 -1
  56. package/lib/command/AcApLogCmd.js +3 -3
  57. package/lib/command/AcApLogCmd.js.map +1 -1
  58. package/lib/command/AcApMTextCmd.d.ts +12 -0
  59. package/lib/command/AcApMTextCmd.d.ts.map +1 -0
  60. package/lib/command/AcApMTextCmd.js +123 -0
  61. package/lib/command/AcApMTextCmd.js.map +1 -0
  62. package/lib/command/AcApMeasureAngleCmd.d.ts +15 -0
  63. package/lib/command/AcApMeasureAngleCmd.d.ts.map +1 -0
  64. package/lib/command/AcApMeasureAngleCmd.js +369 -0
  65. package/lib/command/AcApMeasureAngleCmd.js.map +1 -0
  66. package/lib/command/AcApMeasureArcCmd.d.ts +25 -0
  67. package/lib/command/AcApMeasureArcCmd.d.ts.map +1 -0
  68. package/lib/command/AcApMeasureArcCmd.js +429 -0
  69. package/lib/command/AcApMeasureArcCmd.js.map +1 -0
  70. package/lib/command/AcApMeasureAreaCmd.d.ts +21 -0
  71. package/lib/command/AcApMeasureAreaCmd.d.ts.map +1 -0
  72. package/lib/command/AcApMeasureAreaCmd.js +387 -0
  73. package/lib/command/AcApMeasureAreaCmd.js.map +1 -0
  74. package/lib/command/AcApMeasureDistanceCmd.d.ts +34 -0
  75. package/lib/command/AcApMeasureDistanceCmd.d.ts.map +1 -0
  76. package/lib/command/AcApMeasureDistanceCmd.js +191 -0
  77. package/lib/command/AcApMeasureDistanceCmd.js.map +1 -0
  78. package/lib/command/AcApPolylineCmd.d.ts +71 -0
  79. package/lib/command/AcApPolylineCmd.d.ts.map +1 -0
  80. package/lib/command/AcApPolylineCmd.js +569 -0
  81. package/lib/command/AcApPolylineCmd.js.map +1 -0
  82. package/lib/command/AcApRectCmd.d.ts.map +1 -1
  83. package/lib/command/AcApRectCmd.js +10 -4
  84. package/lib/command/AcApRectCmd.js.map +1 -1
  85. package/lib/command/AcApRevCloudCmd.d.ts.map +1 -1
  86. package/lib/command/AcApRevCloudCmd.js +10 -4
  87. package/lib/command/AcApRevCloudCmd.js.map +1 -1
  88. package/lib/command/AcApSketchCmd.d.ts.map +1 -1
  89. package/lib/command/AcApSketchCmd.js +11 -7
  90. package/lib/command/AcApSketchCmd.js.map +1 -1
  91. package/lib/command/AcApSplineCmd.d.ts +20 -0
  92. package/lib/command/AcApSplineCmd.d.ts.map +1 -0
  93. package/lib/command/AcApSplineCmd.js +213 -0
  94. package/lib/command/AcApSplineCmd.js.map +1 -0
  95. package/lib/command/AcApSwitchBgCmd.js +2 -2
  96. package/lib/command/AcApSwitchBgCmd.js.map +1 -1
  97. package/lib/command/AcApSysVarCmd.d.ts.map +1 -1
  98. package/lib/command/AcApSysVarCmd.js +20 -7
  99. package/lib/command/AcApSysVarCmd.js.map +1 -1
  100. package/lib/command/AcApZoomToBoxCmd.d.ts +1 -1
  101. package/lib/command/AcApZoomToBoxCmd.d.ts.map +1 -1
  102. package/lib/command/AcApZoomToBoxCmd.js +10 -5
  103. package/lib/command/AcApZoomToBoxCmd.js.map +1 -1
  104. package/lib/command/index.d.ts +11 -0
  105. package/lib/command/index.d.ts.map +1 -1
  106. package/lib/command/index.js +11 -0
  107. package/lib/command/index.js.map +1 -1
  108. package/lib/editor/command/AcEdCommandIterator.d.ts.map +1 -1
  109. package/lib/editor/command/AcEdCommandIterator.js.map +1 -1
  110. package/lib/editor/global/AcEdConditionWaiter.d.ts +1 -1
  111. package/lib/editor/global/AcEdConditionWaiter.d.ts.map +1 -1
  112. package/lib/editor/global/AcEdConditionWaiter.js +3 -2
  113. package/lib/editor/global/AcEdConditionWaiter.js.map +1 -1
  114. package/lib/editor/global/AcEdUiTheme.d.ts +4 -0
  115. package/lib/editor/global/AcEdUiTheme.d.ts.map +1 -0
  116. package/lib/editor/global/AcEdUiTheme.js +44 -0
  117. package/lib/editor/global/AcEdUiTheme.js.map +1 -0
  118. package/lib/editor/global/index.d.ts +1 -0
  119. package/lib/editor/global/index.d.ts.map +1 -1
  120. package/lib/editor/global/index.js +1 -0
  121. package/lib/editor/global/index.js.map +1 -1
  122. package/lib/editor/input/AcEdCursorManager.d.ts +10 -0
  123. package/lib/editor/input/AcEdCursorManager.d.ts.map +1 -1
  124. package/lib/editor/input/AcEdCursorManager.js +26 -6
  125. package/lib/editor/input/AcEdCursorManager.js.map +1 -1
  126. package/lib/editor/input/AcEdInputModifiers.d.ts +39 -0
  127. package/lib/editor/input/AcEdInputModifiers.d.ts.map +1 -0
  128. package/lib/editor/input/AcEdInputModifiers.js +2 -0
  129. package/lib/editor/input/AcEdInputModifiers.js.map +1 -0
  130. package/lib/editor/input/AcEdInputToggles.d.ts +24 -0
  131. package/lib/editor/input/AcEdInputToggles.d.ts.map +1 -0
  132. package/lib/editor/input/AcEdInputToggles.js +2 -0
  133. package/lib/editor/input/AcEdInputToggles.js.map +1 -0
  134. package/lib/editor/input/AcEdPromptStateMachine.d.ts +110 -0
  135. package/lib/editor/input/AcEdPromptStateMachine.d.ts.map +1 -0
  136. package/lib/editor/input/AcEdPromptStateMachine.js +147 -0
  137. package/lib/editor/input/AcEdPromptStateMachine.js.map +1 -0
  138. package/lib/editor/input/AcEditor.d.ts +58 -9
  139. package/lib/editor/input/AcEditor.d.ts.map +1 -1
  140. package/lib/editor/input/AcEditor.js +98 -3
  141. package/lib/editor/input/AcEditor.js.map +1 -1
  142. package/lib/editor/input/index.d.ts +3 -0
  143. package/lib/editor/input/index.d.ts.map +1 -1
  144. package/lib/editor/input/index.js +3 -0
  145. package/lib/editor/input/index.js.map +1 -1
  146. package/lib/editor/input/marker/AcEdMarker.d.ts.map +1 -1
  147. package/lib/editor/input/marker/AcEdMarker.js +3 -3
  148. package/lib/editor/input/marker/AcEdMarker.js.map +1 -1
  149. package/lib/editor/input/prompt/AcEdKeywordCollection.d.ts.map +1 -1
  150. package/lib/editor/input/prompt/AcEdKeywordCollection.js +11 -4
  151. package/lib/editor/input/prompt/AcEdKeywordCollection.js.map +1 -1
  152. package/lib/editor/input/prompt/AcEdPromptAngleOptions.d.ts +1 -1
  153. package/lib/editor/input/prompt/AcEdPromptAngleOptions.d.ts.map +1 -1
  154. package/lib/editor/input/prompt/AcEdPromptAngleOptions.js +2 -2
  155. package/lib/editor/input/prompt/AcEdPromptAngleOptions.js.map +1 -1
  156. package/lib/editor/input/prompt/AcEdPromptBoxOptions.d.ts +20 -0
  157. package/lib/editor/input/prompt/AcEdPromptBoxOptions.d.ts.map +1 -0
  158. package/lib/editor/input/prompt/AcEdPromptBoxOptions.js +80 -0
  159. package/lib/editor/input/prompt/AcEdPromptBoxOptions.js.map +1 -0
  160. package/lib/editor/input/prompt/AcEdPromptBoxResult.d.ts +12 -0
  161. package/lib/editor/input/prompt/AcEdPromptBoxResult.d.ts.map +1 -0
  162. package/lib/editor/input/prompt/AcEdPromptBoxResult.js +30 -0
  163. package/lib/editor/input/prompt/AcEdPromptBoxResult.js.map +1 -0
  164. package/lib/editor/input/prompt/AcEdPromptDoubleResult.d.ts +9 -0
  165. package/lib/editor/input/prompt/AcEdPromptDoubleResult.d.ts.map +1 -0
  166. package/lib/editor/input/prompt/AcEdPromptDoubleResult.js +28 -0
  167. package/lib/editor/input/prompt/AcEdPromptDoubleResult.js.map +1 -0
  168. package/lib/editor/input/prompt/AcEdPromptEntityOptions.d.ts +1 -1
  169. package/lib/editor/input/prompt/AcEdPromptEntityOptions.d.ts.map +1 -1
  170. package/lib/editor/input/prompt/AcEdPromptEntityOptions.js +2 -2
  171. package/lib/editor/input/prompt/AcEdPromptEntityOptions.js.map +1 -1
  172. package/lib/editor/input/prompt/AcEdPromptEntityResult.d.ts +14 -0
  173. package/lib/editor/input/prompt/AcEdPromptEntityResult.d.ts.map +1 -0
  174. package/lib/editor/input/prompt/AcEdPromptEntityResult.js +31 -0
  175. package/lib/editor/input/prompt/AcEdPromptEntityResult.js.map +1 -0
  176. package/lib/editor/input/prompt/AcEdPromptIntegerResult.d.ts +9 -0
  177. package/lib/editor/input/prompt/AcEdPromptIntegerResult.d.ts.map +1 -0
  178. package/lib/editor/input/prompt/AcEdPromptIntegerResult.js +28 -0
  179. package/lib/editor/input/prompt/AcEdPromptIntegerResult.js.map +1 -0
  180. package/lib/editor/input/prompt/AcEdPromptKeywordOptions.d.ts +1 -1
  181. package/lib/editor/input/prompt/AcEdPromptKeywordOptions.d.ts.map +1 -1
  182. package/lib/editor/input/prompt/AcEdPromptKeywordOptions.js +2 -2
  183. package/lib/editor/input/prompt/AcEdPromptKeywordOptions.js.map +1 -1
  184. package/lib/editor/input/prompt/AcEdPromptNumericalOptions.d.ts +1 -1
  185. package/lib/editor/input/prompt/AcEdPromptNumericalOptions.d.ts.map +1 -1
  186. package/lib/editor/input/prompt/AcEdPromptNumericalOptions.js +2 -2
  187. package/lib/editor/input/prompt/AcEdPromptNumericalOptions.js.map +1 -1
  188. package/lib/editor/input/prompt/AcEdPromptOptions.d.ts +3 -2
  189. package/lib/editor/input/prompt/AcEdPromptOptions.d.ts.map +1 -1
  190. package/lib/editor/input/prompt/AcEdPromptOptions.js +15 -4
  191. package/lib/editor/input/prompt/AcEdPromptOptions.js.map +1 -1
  192. package/lib/editor/input/prompt/AcEdPromptPointOptions.d.ts +1 -1
  193. package/lib/editor/input/prompt/AcEdPromptPointOptions.d.ts.map +1 -1
  194. package/lib/editor/input/prompt/AcEdPromptPointOptions.js +2 -2
  195. package/lib/editor/input/prompt/AcEdPromptPointOptions.js.map +1 -1
  196. package/lib/editor/input/prompt/AcEdPromptPointResult.d.ts +3 -3
  197. package/lib/editor/input/prompt/AcEdPromptSelectionOptions.d.ts +1 -1
  198. package/lib/editor/input/prompt/AcEdPromptSelectionOptions.d.ts.map +1 -1
  199. package/lib/editor/input/prompt/AcEdPromptSelectionOptions.js +2 -2
  200. package/lib/editor/input/prompt/AcEdPromptSelectionOptions.js.map +1 -1
  201. package/lib/editor/input/prompt/AcEdPromptSelectionResult.d.ts +12 -0
  202. package/lib/editor/input/prompt/AcEdPromptSelectionResult.d.ts.map +1 -0
  203. package/lib/editor/input/prompt/AcEdPromptSelectionResult.js +30 -0
  204. package/lib/editor/input/prompt/AcEdPromptSelectionResult.js.map +1 -0
  205. package/lib/editor/input/prompt/AcEdPromptStringOptions.d.ts +1 -1
  206. package/lib/editor/input/prompt/AcEdPromptStringOptions.d.ts.map +1 -1
  207. package/lib/editor/input/prompt/AcEdPromptStringOptions.js +2 -2
  208. package/lib/editor/input/prompt/AcEdPromptStringOptions.js.map +1 -1
  209. package/lib/editor/input/prompt/index.d.ts +10 -0
  210. package/lib/editor/input/prompt/index.d.ts.map +1 -1
  211. package/lib/editor/input/prompt/index.js +10 -0
  212. package/lib/editor/input/prompt/index.js.map +1 -1
  213. package/lib/editor/input/session/AcEdKeywordSession.d.ts +2 -1
  214. package/lib/editor/input/session/AcEdKeywordSession.d.ts.map +1 -1
  215. package/lib/editor/input/session/AcEdKeywordSession.js +7 -1
  216. package/lib/editor/input/session/AcEdKeywordSession.js.map +1 -1
  217. package/lib/editor/input/ui/AcEdCommandLine.d.ts +4 -1
  218. package/lib/editor/input/ui/AcEdCommandLine.d.ts.map +1 -1
  219. package/lib/editor/input/ui/AcEdCommandLine.js +34 -5
  220. package/lib/editor/input/ui/AcEdCommandLine.js.map +1 -1
  221. package/lib/editor/input/ui/AcEdFloatingInput.d.ts +23 -1
  222. package/lib/editor/input/ui/AcEdFloatingInput.d.ts.map +1 -1
  223. package/lib/editor/input/ui/AcEdFloatingInput.js +140 -26
  224. package/lib/editor/input/ui/AcEdFloatingInput.js.map +1 -1
  225. package/lib/editor/input/ui/AcEdFloatingInputBox.d.ts +2 -0
  226. package/lib/editor/input/ui/AcEdFloatingInputBox.d.ts.map +1 -1
  227. package/lib/editor/input/ui/AcEdFloatingInputBox.js +4 -0
  228. package/lib/editor/input/ui/AcEdFloatingInputBox.js.map +1 -1
  229. package/lib/editor/input/ui/AcEdFloatingInputBoxes.d.ts +7 -0
  230. package/lib/editor/input/ui/AcEdFloatingInputBoxes.d.ts.map +1 -1
  231. package/lib/editor/input/ui/AcEdFloatingInputBoxes.js +14 -6
  232. package/lib/editor/input/ui/AcEdFloatingInputBoxes.js.map +1 -1
  233. package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts +5 -0
  234. package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts.map +1 -1
  235. package/lib/editor/input/ui/AcEdFloatingMessage.d.ts +12 -0
  236. package/lib/editor/input/ui/AcEdFloatingMessage.d.ts.map +1 -1
  237. package/lib/editor/input/ui/AcEdFloatingMessage.js +61 -2
  238. package/lib/editor/input/ui/AcEdFloatingMessage.js.map +1 -1
  239. package/lib/editor/input/ui/AcEdInputManager.d.ts +47 -13
  240. package/lib/editor/input/ui/AcEdInputManager.d.ts.map +1 -1
  241. package/lib/editor/input/ui/AcEdInputManager.js +854 -389
  242. package/lib/editor/input/ui/AcEdInputManager.js.map +1 -1
  243. package/lib/editor/input/ui/AcEdMTextEditor.d.ts +79 -0
  244. package/lib/editor/input/ui/AcEdMTextEditor.d.ts.map +1 -0
  245. package/lib/editor/input/ui/AcEdMTextEditor.js +157 -0
  246. package/lib/editor/input/ui/AcEdMTextEditor.js.map +1 -0
  247. package/lib/editor/input/ui/AcEdRubberBand.js +1 -1
  248. package/lib/editor/input/ui/AcEdRubberBand.js.map +1 -1
  249. package/lib/editor/input/ui/index.d.ts +2 -0
  250. package/lib/editor/input/ui/index.d.ts.map +1 -1
  251. package/lib/editor/input/ui/index.js +1 -0
  252. package/lib/editor/input/ui/index.js.map +1 -1
  253. package/lib/editor/view/AcEdBaseView.d.ts +81 -0
  254. package/lib/editor/view/AcEdBaseView.d.ts.map +1 -1
  255. package/lib/editor/view/AcEdBaseView.js +173 -1
  256. package/lib/editor/view/AcEdBaseView.js.map +1 -1
  257. package/lib/editor/view/AcEdSpatialQueryResult.d.ts.map +1 -1
  258. package/lib/i18n/en/command.d.ts +21 -0
  259. package/lib/i18n/en/command.d.ts.map +1 -1
  260. package/lib/i18n/en/command.js +21 -0
  261. package/lib/i18n/en/command.js.map +1 -1
  262. package/lib/i18n/en/jig.d.ts +131 -0
  263. package/lib/i18n/en/jig.d.ts.map +1 -1
  264. package/lib/i18n/en/jig.js +131 -0
  265. package/lib/i18n/en/jig.js.map +1 -1
  266. package/lib/i18n/zh/command.d.ts +21 -0
  267. package/lib/i18n/zh/command.d.ts.map +1 -1
  268. package/lib/i18n/zh/command.js +21 -0
  269. package/lib/i18n/zh/command.js.map +1 -1
  270. package/lib/i18n/zh/jig.d.ts +131 -0
  271. package/lib/i18n/zh/jig.d.ts.map +1 -1
  272. package/lib/i18n/zh/jig.js +131 -0
  273. package/lib/i18n/zh/jig.js.map +1 -1
  274. package/lib/index.d.ts +2 -0
  275. package/lib/index.d.ts.map +1 -1
  276. package/lib/index.js +1 -0
  277. package/lib/index.js.map +1 -1
  278. package/lib/plugin/AcApPluginExample.d.ts.map +1 -1
  279. package/lib/plugin/AcApPluginExample.js +7 -6
  280. package/lib/plugin/AcApPluginExample.js.map +1 -1
  281. package/lib/plugin/AcApPluginManager.d.ts +4 -4
  282. package/lib/plugin/AcApPluginManager.d.ts.map +1 -1
  283. package/lib/plugin/AcApPluginManager.js +7 -6
  284. package/lib/plugin/AcApPluginManager.js.map +1 -1
  285. package/lib/util/AcApMeasurementElementGenerator.d.ts +36 -0
  286. package/lib/util/AcApMeasurementElementGenerator.d.ts.map +1 -0
  287. package/lib/util/AcApMeasurementElementGenerator.js +92 -0
  288. package/lib/util/AcApMeasurementElementGenerator.js.map +1 -0
  289. package/lib/util/index.d.ts +1 -0
  290. package/lib/util/index.d.ts.map +1 -1
  291. package/lib/util/index.js +1 -0
  292. package/lib/util/index.js.map +1 -1
  293. package/lib/view/AcTrLayout.d.ts +14 -0
  294. package/lib/view/AcTrLayout.d.ts.map +1 -1
  295. package/lib/view/AcTrLayout.js +21 -0
  296. package/lib/view/AcTrLayout.js.map +1 -1
  297. package/lib/view/AcTrLayoutView.d.ts +11 -0
  298. package/lib/view/AcTrLayoutView.d.ts.map +1 -1
  299. package/lib/view/AcTrLayoutView.js +30 -0
  300. package/lib/view/AcTrLayoutView.js.map +1 -1
  301. package/lib/view/AcTrScene.d.ts +7 -1
  302. package/lib/view/AcTrScene.d.ts.map +1 -1
  303. package/lib/view/AcTrScene.js +16 -2
  304. package/lib/view/AcTrScene.js.map +1 -1
  305. package/lib/view/AcTrView2d.d.ts +16 -1
  306. package/lib/view/AcTrView2d.d.ts.map +1 -1
  307. package/lib/view/AcTrView2d.js +145 -56
  308. package/lib/view/AcTrView2d.js.map +1 -1
  309. package/package.json +10 -9
@@ -50,7 +50,8 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
50
50
  }
51
51
  };
52
52
  import { AcApDocManager } from '../app';
53
- import { AcEdCommand } from '../command';
53
+ import { AcEdCommand, AcEdPromptBoxOptions, AcEdPromptStatus } from '../editor';
54
+ import { AcApI18n } from '../i18n';
54
55
  /**
55
56
  * Command for zooming to a user-selected rectangular area.
56
57
  *
@@ -81,13 +82,17 @@ var AcApZoomToBoxCmd = /** @class */ (function (_super) {
81
82
  */
82
83
  AcApZoomToBoxCmd.prototype.execute = function (context) {
83
84
  return __awaiter(this, void 0, void 0, function () {
84
- var box;
85
+ var options, boxResult;
85
86
  return __generator(this, function (_a) {
86
87
  switch (_a.label) {
87
- case 0: return [4 /*yield*/, AcApDocManager.instance.editor.getBox()];
88
+ case 0:
89
+ options = new AcEdPromptBoxOptions(AcApI18n.t('main.inputManager.firstCorner'), AcApI18n.t('main.inputManager.secondCorner'));
90
+ return [4 /*yield*/, AcApDocManager.instance.editor.getBox(options)];
88
91
  case 1:
89
- box = _a.sent();
90
- return [2 /*return*/, context.view.zoomTo(box, 1)];
92
+ boxResult = _a.sent();
93
+ if (boxResult.status !== AcEdPromptStatus.OK || !boxResult.value)
94
+ return [2 /*return*/];
95
+ return [2 /*return*/, context.view.zoomTo(boxResult.value, 1)];
91
96
  }
92
97
  });
93
98
  });
@@ -1 +1 @@
1
- {"version":3,"file":"AcApZoomToBoxCmd.js","sourceRoot":"","sources":["../../src/command/AcApZoomToBoxCmd.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAe,cAAc,EAAE,MAAM,QAAQ,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC;;;;;;;;;;;;;;;;GAgBG;AACH;IAAsC,oCAAW;IAAjD;;IAWA,CAAC;IAVC;;;;;OAKG;IACG,kCAAO,GAAb,UAAc,OAAoB;;;;;4BACpB,qBAAM,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,EAAA;;wBAAnD,GAAG,GAAG,SAA6C;wBACzD,sBAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,EAAA;;;;KACnC;IACH,uBAAC;AAAD,CAAC,AAXD,CAAsC,WAAW,GAWhD"}
1
+ {"version":3,"file":"AcApZoomToBoxCmd.js","sourceRoot":"","sources":["../../src/command/AcApZoomToBoxCmd.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAe,cAAc,EAAE,MAAM,QAAQ,CAAA;AACpD,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAElC;;;;;;;;;;;;;;;;GAgBG;AACH;IAAsC,oCAAW;IAAjD;;IAgBA,CAAC;IAfC;;;;;OAKG;IACG,kCAAO,GAAb,UAAc,OAAoB;;;;;;wBAC1B,OAAO,GAAG,IAAI,oBAAoB,CACtC,QAAQ,CAAC,CAAC,CAAC,+BAA+B,CAAC,EAC3C,QAAQ,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAC7C,CAAA;wBACiB,qBAAM,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAA;;wBAAhE,SAAS,GAAG,SAAoD;wBACtE,IAAI,SAAS,CAAC,MAAM,KAAK,gBAAgB,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;4BAAE,sBAAM;wBACxE,sBAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC,EAAA;;;;KAC/C;IACH,uBAAC;AAAD,CAAC,AAhBD,CAAsC,WAAW,GAgBhD"}
@@ -1,12 +1,21 @@
1
1
  export * from '../editor/command/AcEdCommand';
2
2
  export * from '../editor/command/AcEdCommandStack';
3
+ export * from './AcApArcCmd';
3
4
  export * from './AcApBaseRevCmd';
4
5
  export * from './AcApCircleCmd';
6
+ export * from './AcApConvertToDxfCmd';
5
7
  export * from './AcApConvertToSvgCmd';
6
8
  export * from './AcApDimLinearCmd';
9
+ export * from './AcApDxfConvertor';
10
+ export * from './AcApClearMeasurementsCmd';
11
+ export * from './AcApMeasureAngleCmd';
12
+ export * from './AcApMeasureAreaCmd';
13
+ export * from './AcApMeasureArcCmd';
14
+ export * from './AcApMeasureDistanceCmd';
7
15
  export * from './AcApEraseCmd';
8
16
  export * from './AcApLineCmd';
9
17
  export * from './AcApLogCmd';
18
+ export * from './AcApMTextCmd';
10
19
  export * from './AcApOpenCmd';
11
20
  export * from './AcApQNewCmd';
12
21
  export * from './AcApRectCmd';
@@ -22,4 +31,6 @@ export * from './AcApSwitchBgCmd';
22
31
  export * from './AcApZoomCmd';
23
32
  export * from './AcApZoomToBoxCmd';
24
33
  export * from './AcApPanCmd';
34
+ export * from './AcApPolylineCmd';
35
+ export * from './AcApSplineCmd';
25
36
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/command/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,oCAAoC,CAAA;AAClD,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/command/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,oCAAoC,CAAA;AAClD,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA"}
@@ -1,12 +1,21 @@
1
1
  export * from '../editor/command/AcEdCommand';
2
2
  export * from '../editor/command/AcEdCommandStack';
3
+ export * from './AcApArcCmd';
3
4
  export * from './AcApBaseRevCmd';
4
5
  export * from './AcApCircleCmd';
6
+ export * from './AcApConvertToDxfCmd';
5
7
  export * from './AcApConvertToSvgCmd';
6
8
  export * from './AcApDimLinearCmd';
9
+ export * from './AcApDxfConvertor';
10
+ export * from './AcApClearMeasurementsCmd';
11
+ export * from './AcApMeasureAngleCmd';
12
+ export * from './AcApMeasureAreaCmd';
13
+ export * from './AcApMeasureArcCmd';
14
+ export * from './AcApMeasureDistanceCmd';
7
15
  export * from './AcApEraseCmd';
8
16
  export * from './AcApLineCmd';
9
17
  export * from './AcApLogCmd';
18
+ export * from './AcApMTextCmd';
10
19
  export * from './AcApOpenCmd';
11
20
  export * from './AcApQNewCmd';
12
21
  export * from './AcApRectCmd';
@@ -22,4 +31,6 @@ export * from './AcApSwitchBgCmd';
22
31
  export * from './AcApZoomCmd';
23
32
  export * from './AcApZoomToBoxCmd';
24
33
  export * from './AcApPanCmd';
34
+ export * from './AcApPolylineCmd';
35
+ export * from './AcApSplineCmd';
25
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/command/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,oCAAoC,CAAA;AAClD,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/command/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,oCAAoC,CAAA;AAClD,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,0BAA0B,CAAA;AACxC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,oBAAoB,CAAA;AAClC,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA;AACjC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"AcEdCommandIterator.d.ts","sourceRoot":"","sources":["../../../src/editor/command/AcEdCommandIterator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,WAAW,CAAA;CACrB;AACD;;;GAGG;AACH,qBAAa,mBACX,YAAW,gBAAgB,CAAC,uBAAuB,CAAC;IAEpD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,SAAS,CAA2B;gBAEhC,aAAa,EAAE,gBAAgB,EAAE;IAc7C,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,uBAAuB,CAAC;IAI9D;;;OAGG;IACH,IAAI,OAAO,2BAIV;IAED;;;;OAIG;IACH,IAAI,YAAY,kBAIf;IAED;;;OAGG;IACH,IAAI,IAAI,cAAc,CAAC,uBAAuB,EAAE,IAAI,CAAC;CAQtD"}
1
+ {"version":3,"file":"AcEdCommandIterator.d.ts","sourceRoot":"","sources":["../../../src/editor/command/AcEdCommandIterator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,WAAW,CAAA;CACrB;AACD;;;GAGG;AACH,qBAAa,mBAAoB,YAAW,gBAAgB,CAAC,uBAAuB,CAAC;IACnF,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,SAAS,CAA2B;gBAEhC,aAAa,EAAE,gBAAgB,EAAE;IAc7C,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC,uBAAuB,CAAC;IAI9D;;;OAGG;IACH,IAAI,OAAO,2BAIV;IAED;;;;OAIG;IACH,IAAI,YAAY,kBAIf;IAED;;;OAGG;IACH,IAAI,IAAI,cAAc,CAAC,uBAAuB,EAAE,IAAI,CAAC;CAQtD"}
@@ -1 +1 @@
1
- {"version":3,"file":"AcEdCommandIterator.js","sourceRoot":"","sources":["../../../src/editor/command/AcEdCommandIterator.ts"],"names":[],"mappings":"AAUA;;;GAGG;AACH;IAME,6BAAY,aAAiC;QAA7C,iBAYC;QAXC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QACf,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QACnB,aAAa,CAAC,OAAO,CAAC,UAAA,KAAK;YACzB,IAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAA;YACpC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAA,OAAO;gBACxC,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAClB,OAAO,SAAA;oBACP,YAAY,cAAA;iBACb,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,8BAAC,MAAM,CAAC,QAAQ,CAAC,GAAjB;QACE,OAAO,IAAI,CAAA;IACb,CAAC;IAMD,sBAAI,wCAAO;QAJX;;;WAGG;aACH;YACE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM;gBACxC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO;gBACrC,CAAC,CAAC,IAAI,CAAA;QACV,CAAC;;;OAAA;IAOD,sBAAI,6CAAY;QALhB;;;;WAIG;aACH;YACE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM;gBACxC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY;gBAC1C,CAAC,CAAC,IAAI,CAAA;QACV,CAAC;;;OAAA;IAED;;;OAGG;IACH,kCAAI,GAAJ;QACE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC3C,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACzC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;YAChB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;QACtC,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IACpC,CAAC;IACH,0BAAC;AAAD,CAAC,AAzDD,IAyDC"}
1
+ {"version":3,"file":"AcEdCommandIterator.js","sourceRoot":"","sources":["../../../src/editor/command/AcEdCommandIterator.ts"],"names":[],"mappings":"AAUA;;;GAGG;AACH;IAIE,6BAAY,aAAiC;QAA7C,iBAYC;QAXC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;QACf,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;QACnB,aAAa,CAAC,OAAO,CAAC,UAAA,KAAK;YACzB,IAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAA;YACpC,KAAK,CAAC,oBAAoB,CAAC,OAAO,CAAC,UAAA,OAAO;gBACxC,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC;oBAClB,OAAO,SAAA;oBACP,YAAY,cAAA;iBACb,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,8BAAC,MAAM,CAAC,QAAQ,CAAC,GAAjB;QACE,OAAO,IAAI,CAAA;IACb,CAAC;IAMD,sBAAI,wCAAO;QAJX;;;WAGG;aACH;YACE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM;gBACxC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO;gBACrC,CAAC,CAAC,IAAI,CAAA;QACV,CAAC;;;OAAA;IAOD,sBAAI,6CAAY;QALhB;;;;WAIG;aACH;YACE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM;gBACxC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,YAAY;gBAC1C,CAAC,CAAC,IAAI,CAAA;QACV,CAAC;;;OAAA;IAED;;;OAGG;IACH,kCAAI,GAAJ;QACE,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC3C,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YACzC,IAAI,CAAC,MAAM,IAAI,CAAC,CAAA;YAChB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAA;QACtC,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IACpC,CAAC;IACH,0BAAC;AAAD,CAAC,AAvDD,IAuDC"}
@@ -6,7 +6,7 @@
6
6
  * ```ts
7
7
  * const waiter = new AcEdConditionWaiter(
8
8
  * () => isDataReady(), // condition
9
- * () => console.log('Ready or timed out'), // action
9
+ * () => log.info('Ready or timed out'), // action
10
10
  * 1000, // check every 1s
11
11
  * 10000 // timeout after 10s
12
12
  * );
@@ -1 +1 @@
1
- {"version":3,"file":"AcEdConditionWaiter.d.ts","sourceRoot":"","sources":["../../../src/editor/global/AcEdConditionWaiter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,mBAAmB;IAa5B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAf1B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,SAAS,CAAsB;IAEvC;;;;;;;OAOG;gBAEgB,SAAS,EAAE,MAAM,OAAO,EACxB,MAAM,EAAE,MAAM,IAAI,EAClB,aAAa,GAAE,MAAa,EAC5B,OAAO,GAAE,MAAU;IAGtC;;;OAGG;IACI,KAAK,IAAI,IAAI;IAmBpB;;OAEG;IACI,IAAI,IAAI,IAAI;IAWnB;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB;;OAEG;IACI,SAAS,IAAI,OAAO;CAG5B"}
1
+ {"version":3,"file":"AcEdConditionWaiter.d.ts","sourceRoot":"","sources":["../../../src/editor/global/AcEdConditionWaiter.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,mBAAmB;IAa5B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAf1B,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,SAAS,CAAsB;IAEvC;;;;;;;OAOG;gBAEgB,SAAS,EAAE,MAAM,OAAO,EACxB,MAAM,EAAE,MAAM,IAAI,EAClB,aAAa,GAAE,MAAa,EAC5B,OAAO,GAAE,MAAU;IAGtC;;;OAGG;IACI,KAAK,IAAI,IAAI;IAmBpB;;OAEG;IACI,IAAI,IAAI,IAAI;IAWnB;;OAEG;IACH,OAAO,CAAC,cAAc;IAKtB;;OAEG;IACI,SAAS,IAAI,OAAO;CAG5B"}
@@ -1,3 +1,4 @@
1
+ import { log } from '@mlightcad/data-model';
1
2
  /**
2
3
  * A utility class that waits until a specified condition is met
3
4
  * or a timeout occurs, and then executes a single action.
@@ -6,7 +7,7 @@
6
7
  * ```ts
7
8
  * const waiter = new AcEdConditionWaiter(
8
9
  * () => isDataReady(), // condition
9
- * () => console.log('Ready or timed out'), // action
10
+ * () => log.info('Ready or timed out'), // action
10
11
  * 1000, // check every 1s
11
12
  * 10000 // timeout after 10s
12
13
  * );
@@ -50,7 +51,7 @@ var AcEdConditionWaiter = /** @class */ (function () {
50
51
  // Setup timeout if provided
51
52
  if (this.timeout > 0) {
52
53
  this.timeoutId = window.setTimeout(function () {
53
- console.warn('AcEdConditionWaiter: Timeout reached.');
54
+ log.warn('AcEdConditionWaiter: Timeout reached.');
54
55
  _this.executeAndStop();
55
56
  }, this.timeout);
56
57
  }
@@ -1 +1 @@
1
- {"version":3,"file":"AcEdConditionWaiter.js","sourceRoot":"","sources":["../../../src/editor/global/AcEdConditionWaiter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH;IAIE;;;;;;;OAOG;IACH,6BACmB,SAAwB,EACxB,MAAkB,EAClB,aAA4B,EAC5B,OAAmB;QADnB,8BAAA,EAAA,oBAA4B;QAC5B,wBAAA,EAAA,WAAmB;QAHnB,cAAS,GAAT,SAAS,CAAe;QACxB,WAAM,GAAN,MAAM,CAAY;QAClB,kBAAa,GAAb,aAAa,CAAe;QAC5B,YAAO,GAAP,OAAO,CAAY;QAf9B,YAAO,GAAkB,IAAI,CAAA;QAC7B,cAAS,GAAkB,IAAI,CAAA;IAepC,CAAC;IAEJ;;;OAGG;IACI,mCAAK,GAAZ;QAAA,iBAiBC;QAhBC,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;YAAE,OAAM,CAAC,kBAAkB;QAEpD,+BAA+B;QAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;YAChC,IAAI,KAAI,CAAC,SAAS,EAAE,EAAE,CAAC;gBACrB,KAAI,CAAC,cAAc,EAAE,CAAA;YACvB,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QAEtB,4BAA4B;QAC5B,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;gBACjC,OAAO,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;gBACrD,KAAI,CAAC,cAAc,EAAE,CAAA;YACvB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACI,kCAAI,GAAX;QACE,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,4CAAc,GAAtB;QACE,IAAI,CAAC,IAAI,EAAE,CAAA;QACX,IAAI,CAAC,MAAM,EAAE,CAAA;IACf,CAAC;IAED;;OAEG;IACI,uCAAS,GAAhB;QACE,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,CAAA;IAC9B,CAAC;IACH,0BAAC;AAAD,CAAC,AAtED,IAsEC"}
1
+ {"version":3,"file":"AcEdConditionWaiter.js","sourceRoot":"","sources":["../../../src/editor/global/AcEdConditionWaiter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAA;AAC3C;;;;;;;;;;;;;;;GAeG;AACH;IAIE;;;;;;;OAOG;IACH,6BACmB,SAAwB,EACxB,MAAkB,EAClB,aAA4B,EAC5B,OAAmB;QADnB,8BAAA,EAAA,oBAA4B;QAC5B,wBAAA,EAAA,WAAmB;QAHnB,cAAS,GAAT,SAAS,CAAe;QACxB,WAAM,GAAN,MAAM,CAAY;QAClB,kBAAa,GAAb,aAAa,CAAe;QAC5B,YAAO,GAAP,OAAO,CAAY;QAf9B,YAAO,GAAkB,IAAI,CAAA;QAC7B,cAAS,GAAkB,IAAI,CAAA;IAepC,CAAC;IAEJ;;;OAGG;IACI,mCAAK,GAAZ;QAAA,iBAiBC;QAhBC,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI;YAAE,OAAM,CAAC,kBAAkB;QAEpD,+BAA+B;QAC/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;YAChC,IAAI,KAAI,CAAC,SAAS,EAAE,EAAE,CAAC;gBACrB,KAAI,CAAC,cAAc,EAAE,CAAA;YACvB,CAAC;QACH,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QAEtB,4BAA4B;QAC5B,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;gBACjC,GAAG,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAA;gBACjD,KAAI,CAAC,cAAc,EAAE,CAAA;YACvB,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACI,kCAAI,GAAX;QACE,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAA;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;YAC5B,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACvB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,4CAAc,GAAtB;QACE,IAAI,CAAC,IAAI,EAAE,CAAA;QACX,IAAI,CAAC,MAAM,EAAE,CAAA;IACf,CAAC;IAED;;OAEG;IACI,uCAAS,GAAhB;QACE,OAAO,IAAI,CAAC,OAAO,KAAK,IAAI,CAAA;IAC9B,CAAC;IACH,0BAAC;AAAD,CAAC,AAtED,IAsEC"}
@@ -0,0 +1,4 @@
1
+ export type AcEdUiTheme = 'light' | 'dark';
2
+ export declare function applyUiTheme(theme: AcEdUiTheme, target?: HTMLElement): void;
3
+ export declare function applyUiThemeFromBackground(backgroundColor: number, target?: HTMLElement): void;
4
+ //# sourceMappingURL=AcEdUiTheme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcEdUiTheme.d.ts","sourceRoot":"","sources":["../../../src/editor/global/AcEdUiTheme.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,MAAM,CAAA;AAuC1C,wBAAgB,YAAY,CAC1B,KAAK,EAAE,WAAW,EAClB,MAAM,GAAE,WAAsC,QAO/C;AAED,wBAAgB,0BAA0B,CACxC,eAAe,EAAE,MAAM,EACvB,MAAM,GAAE,WAAsC,QAI/C"}
@@ -0,0 +1,44 @@
1
+ var THEME_TOKENS = {
2
+ light: {
3
+ '--ml-ui-text': 'var(--el-text-color-primary, #303133)',
4
+ '--ml-ui-text-muted': 'var(--el-text-color-regular, #606266)',
5
+ '--ml-ui-bg': 'var(--el-bg-color-overlay, #ffffff)',
6
+ '--ml-ui-border': 'var(--el-border-color, #dcdfe6)',
7
+ '--ml-ui-shadow': 'var(--el-box-shadow, 0 2px 6px rgba(0, 0, 0, 0.12))',
8
+ '--ml-ui-overlay': 'var(--el-overlay-color-lighter, rgba(0, 0, 0, 0.18))',
9
+ '--ml-ui-accent': 'var(--el-color-primary, #409eff)',
10
+ '--ml-ui-accent-alt': 'var(--el-color-info, #909399)',
11
+ '--ml-ui-danger': 'var(--el-color-danger, #f56c6c)',
12
+ '--ml-ui-canvas-line': 'var(--el-color-primary, #409eff)',
13
+ '--ml-ui-canvas-fill': 'rgba(64, 158, 255, 0.2)',
14
+ '--ml-ui-canvas-fill-mix': 'color-mix(in srgb, var(--el-color-primary, #409eff) 20%, transparent)'
15
+ },
16
+ dark: {
17
+ '--ml-ui-text': 'var(--el-text-color-primary, #e5eaf3)',
18
+ '--ml-ui-text-muted': 'var(--el-text-color-regular, #cfd3dc)',
19
+ '--ml-ui-bg': 'var(--el-bg-color-overlay, #1d1e1f)',
20
+ '--ml-ui-border': 'var(--el-border-color, #4c4d4f)',
21
+ '--ml-ui-shadow': 'var(--el-box-shadow, 0 6px 18px rgba(0, 0, 0, 0.35))',
22
+ '--ml-ui-overlay': 'var(--el-overlay-color-lighter, rgba(0, 0, 0, 0.5))',
23
+ '--ml-ui-accent': 'var(--el-color-primary, #409eff)',
24
+ '--ml-ui-accent-alt': 'var(--el-color-info, #909399)',
25
+ '--ml-ui-danger': 'var(--el-color-danger, #f56c6c)',
26
+ '--ml-ui-canvas-line': 'var(--el-color-primary, #409eff)',
27
+ '--ml-ui-canvas-fill': 'rgba(64, 158, 255, 0.2)',
28
+ '--ml-ui-canvas-fill-mix': 'color-mix(in srgb, var(--el-color-primary, #409eff) 20%, transparent)'
29
+ }
30
+ };
31
+ export function applyUiTheme(theme, target) {
32
+ if (target === void 0) { target = document.documentElement; }
33
+ var tokens = THEME_TOKENS[theme];
34
+ Object.keys(tokens).forEach(function (key) {
35
+ target.style.setProperty(key, tokens[key]);
36
+ });
37
+ target.setAttribute('data-ml-ui-theme', theme);
38
+ }
39
+ export function applyUiThemeFromBackground(backgroundColor, target) {
40
+ if (target === void 0) { target = document.documentElement; }
41
+ var theme = backgroundColor === 0xffffff ? 'light' : 'dark';
42
+ applyUiTheme(theme, target);
43
+ }
44
+ //# sourceMappingURL=AcEdUiTheme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcEdUiTheme.js","sourceRoot":"","sources":["../../../src/editor/global/AcEdUiTheme.ts"],"names":[],"mappings":"AAEA,IAAM,YAAY,GAAgD;IAChE,KAAK,EAAE;QACL,cAAc,EAAE,uCAAuC;QACvD,oBAAoB,EAAE,uCAAuC;QAC7D,YAAY,EAAE,qCAAqC;QACnD,gBAAgB,EAAE,iCAAiC;QACnD,gBAAgB,EAAE,qDAAqD;QACvE,iBAAiB,EAAE,sDAAsD;QAEzE,gBAAgB,EAAE,kCAAkC;QACpD,oBAAoB,EAAE,+BAA+B;QACrD,gBAAgB,EAAE,iCAAiC;QAEnD,qBAAqB,EAAE,kCAAkC;QACzD,qBAAqB,EAAE,yBAAyB;QAChD,yBAAyB,EACvB,uEAAuE;KAC1E;IACD,IAAI,EAAE;QACJ,cAAc,EAAE,uCAAuC;QACvD,oBAAoB,EAAE,uCAAuC;QAC7D,YAAY,EAAE,qCAAqC;QACnD,gBAAgB,EAAE,iCAAiC;QACnD,gBAAgB,EAAE,sDAAsD;QACxE,iBAAiB,EAAE,qDAAqD;QAExE,gBAAgB,EAAE,kCAAkC;QACpD,oBAAoB,EAAE,+BAA+B;QACrD,gBAAgB,EAAE,iCAAiC;QAEnD,qBAAqB,EAAE,kCAAkC;QACzD,qBAAqB,EAAE,yBAAyB;QAChD,yBAAyB,EACvB,uEAAuE;KAC1E;CACF,CAAA;AAED,MAAM,UAAU,YAAY,CAC1B,KAAkB,EAClB,MAA8C;IAA9C,uBAAA,EAAA,SAAsB,QAAQ,CAAC,eAAe;IAE9C,IAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAClC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,UAAA,GAAG;QAC7B,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IAC5C,CAAC,CAAC,CAAA;IACF,MAAM,CAAC,YAAY,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,eAAuB,EACvB,MAA8C;IAA9C,uBAAA,EAAA,SAAsB,QAAQ,CAAC,eAAe;IAE9C,IAAM,KAAK,GAAgB,eAAe,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAA;IAC1E,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;AAC7B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from './AcEdGlobalFunc';
2
2
  export * from './AcEdConditionWaiter';
3
3
  export * from './eventBus';
4
+ export * from './AcEdUiTheme';
4
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/editor/global/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/editor/global/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export * from './AcEdGlobalFunc';
2
2
  export * from './AcEdConditionWaiter';
3
3
  export * from './eventBus';
4
+ export * from './AcEdUiTheme';
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/editor/global/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,YAAY,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/editor/global/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA"}
@@ -67,6 +67,10 @@ export declare class AcEdCursorManager {
67
67
  private _currentCursor;
68
68
  /** Cache of cursor definitions mapped by cursor type */
69
69
  private _cursorMap;
70
+ /** The current background color */
71
+ private _backgroundColor;
72
+ /** Total length of the cursor crosshair */
73
+ private readonly _totalLength;
70
74
  /**
71
75
  * Creates a new cursor manager instance.
72
76
  * Initializes the cursor and creates default cursor definitions.
@@ -83,6 +87,12 @@ export declare class AcEdCursorManager {
83
87
  * @param cursorType - The type of cursor to set
84
88
  */
85
89
  setCursor(cursorType: AcEdCorsorType): void;
90
+ /**
91
+ * Sets the cursor color for the crosshair cursor
92
+ *
93
+ * @param color - The color for the cursor
94
+ */
95
+ setCursorColor(color: string): void;
86
96
  /**
87
97
  * Encodes an SVG string into a CSS cursor URL.
88
98
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AcEdCursorManager.d.ts","sourceRoot":"","sources":["../../../src/editor/input/AcEdCursorManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC;;;;;;;;;;;;;;;;;;GAkBG;AACH,oBAAY,cAAc;IACxB,+CAA+C;IAC/C,eAAe,KAAK;IACpB,mDAAmD;IACnD,SAAS,IAAI;IACb,0CAA0C;IAC1C,UAAU,IAAA;IACV,6CAA6C;IAC7C,UAAU,IAAA;IACV,yBAAyB;IACzB,UAAU,IAAA;IACV,4CAA4C;IAC5C,SAAS,IAAA;IACT,+BAA+B;IAC/B,gBAAgB,IAAA;IAChB,8CAA8C;IAC9C,iBAAiB,IAAA;IACjB,yCAAyC;IACzC,SAAS,IAAA;IACT,8BAA8B;IAC9B,YAAY,IAAA;IACZ,iDAAiD;IACjD,aAAa,IAAA;IACb,+CAA+C;IAC/C,mBAAmB,KAAA;IACnB,gDAAgD;IAChD,cAAc,KAAA;IACd,8BAA8B;IAC9B,eAAe,KAAA;IACf,mCAAmC;IACnC,IAAI,KAAA;CACL;AAED;;;;;;;;;GASG;AACH,qBAAa,iBAAiB;IAC5B,kDAAkD;IAClD,OAAO,CAAC,KAAK,CAAc;IAE3B,oDAAoD;IACpD,OAAO,CAAC,cAAc,CAAiB;IAEvC,wDAAwD;IACxD,OAAO,CAAC,UAAU,CAA6B;IAE/C;;;;OAIG;gBACS,IAAI,EAAE,YAAY;IAuB9B;;OAEG;IACH,IAAI,aAAa,mBAEhB;IAED;;;;OAIG;IACH,SAAS,CAAC,UAAU,EAAE,cAAc;IAepC;;;;;;;;;;;;;;;;;OAiBG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAIrE;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;CAsB5B"}
1
+ {"version":3,"file":"AcEdCursorManager.d.ts","sourceRoot":"","sources":["../../../src/editor/input/AcEdCursorManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC;;;;;;;;;;;;;;;;;;GAkBG;AACH,oBAAY,cAAc;IACxB,+CAA+C;IAC/C,eAAe,KAAK;IACpB,mDAAmD;IACnD,SAAS,IAAI;IACb,0CAA0C;IAC1C,UAAU,IAAA;IACV,6CAA6C;IAC7C,UAAU,IAAA;IACV,yBAAyB;IACzB,UAAU,IAAA;IACV,4CAA4C;IAC5C,SAAS,IAAA;IACT,+BAA+B;IAC/B,gBAAgB,IAAA;IAChB,8CAA8C;IAC9C,iBAAiB,IAAA;IACjB,yCAAyC;IACzC,SAAS,IAAA;IACT,8BAA8B;IAC9B,YAAY,IAAA;IACZ,iDAAiD;IACjD,aAAa,IAAA;IACb,+CAA+C;IAC/C,mBAAmB,KAAA;IACnB,gDAAgD;IAChD,cAAc,KAAA;IACd,8BAA8B;IAC9B,eAAe,KAAA;IACf,mCAAmC;IACnC,IAAI,KAAA;CACL;AAED;;;;;;;;;GASG;AACH,qBAAa,iBAAiB;IAC5B,kDAAkD;IAClD,OAAO,CAAC,KAAK,CAAc;IAE3B,oDAAoD;IACpD,OAAO,CAAC,cAAc,CAAiB;IAEvC,wDAAwD;IACxD,OAAO,CAAC,UAAU,CAA6B;IAC/C,mCAAmC;IACnC,OAAO,CAAC,gBAAgB,CAAY;IACpC,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAa;IAE1C;;;;OAIG;gBACS,IAAI,EAAE,YAAY;IA0B9B;;OAEG;IACH,IAAI,aAAa,mBAEhB;IAED;;;;OAIG;IACH,SAAS,CAAC,UAAU,EAAE,cAAc;IAepC;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM;IAa5B;;;;;;;;;;;;;;;;;OAiBG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAIrE;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;CAsB5B"}
@@ -1,4 +1,4 @@
1
- import { AcDbSysVarManager } from '@mlightcad/data-model';
1
+ import { AcDbSystemVariables, AcDbSysVarManager } from '@mlightcad/data-model';
2
2
  /**
3
3
  * Enumeration of cursor types available in the CAD editor.
4
4
  *
@@ -69,18 +69,25 @@ var AcEdCursorManager = /** @class */ (function () {
69
69
  */
70
70
  function AcEdCursorManager(view) {
71
71
  var _this = this;
72
+ /** The current background color */
73
+ this._backgroundColor = 0;
74
+ /** Total length of the cursor crosshair */
75
+ this._totalLength = 20;
72
76
  this._view = view;
73
77
  this._cursorMap = new Map();
74
- var totalLength = 20;
75
- var rectSize = 10;
76
- this._cursorMap.set(AcEdCorsorType.Crosshair, this.createRectCrossIcon(rectSize, totalLength - rectSize));
78
+ this.setCursorColor(this._backgroundColor === 0 ? 'white' : 'black');
77
79
  AcDbSysVarManager.instance().events.sysVarChanged.addEventListener(function (args) {
78
- if (args.name === 'pickbox') {
80
+ if (args.name === AcDbSystemVariables.PICKBOX.toLowerCase()) {
79
81
  var size = args.newVal;
80
82
  size = size >= 0 ? size : 0;
81
- _this._cursorMap.set(AcEdCorsorType.Crosshair, _this.createRectCrossIcon(size, totalLength - size));
83
+ _this._cursorMap.set(AcEdCorsorType.Crosshair, _this.createRectCrossIcon(size, _this._totalLength - size, _this._backgroundColor === 0 ? 'white' : 'black'));
82
84
  _this.setCursor(_this._currentCursor);
83
85
  }
86
+ else if (args.name === AcDbSystemVariables.WHITEBKCOLOR.toLowerCase()) {
87
+ var useWhiteBackgroundColor = args.newVal;
88
+ _this._backgroundColor = useWhiteBackgroundColor ? 0xffffff : 0;
89
+ _this.setCursorColor(_this._backgroundColor === 0 ? 'white' : 'black');
90
+ }
84
91
  });
85
92
  this.setCursor(AcEdCorsorType.Crosshair);
86
93
  }
@@ -115,6 +122,19 @@ var AcEdCursorManager = /** @class */ (function () {
115
122
  }
116
123
  this._currentCursor = cursorType;
117
124
  };
125
+ /**
126
+ * Sets the cursor color for the crosshair cursor
127
+ *
128
+ * @param color - The color for the cursor
129
+ */
130
+ AcEdCursorManager.prototype.setCursorColor = function (color) {
131
+ var rectSize = 10;
132
+ var cursor = this.createRectCrossIcon(rectSize, this._totalLength - rectSize, color);
133
+ this._cursorMap.set(AcEdCorsorType.Crosshair, cursor);
134
+ if (this._currentCursor === AcEdCorsorType.Crosshair) {
135
+ this._view.canvas.style.cursor = cursor;
136
+ }
137
+ };
118
138
  /**
119
139
  * Encodes an SVG string into a CSS cursor URL.
120
140
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AcEdCursorManager.js","sourceRoot":"","sources":["../../../src/editor/input/AcEdCursorManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcEdCursorManager.js","sourceRoot":"","sources":["../../../src/editor/input/AcEdCursorManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Snapshot of modifier key states captured by the editor input system.
3
+ *
4
+ * This mirrors the DOM Keyboard/MouseEvent modifier fields, but is exposed as
5
+ * a stable, command-friendly data object so commands can read modifier state
6
+ * without attaching to raw key/mouse events directly.
7
+ *
8
+ * Notes:
9
+ * - This is a *moment-in-time* state (not a toggle).
10
+ * - Toggle-style behaviors (e.g. Ctrl to flip arc direction) should live in
11
+ * {@link AcEdInputToggles}.
12
+ */
13
+ export interface AcEdInputModifiers {
14
+ /**
15
+ * Whether the Control key is currently pressed.
16
+ *
17
+ * On Windows/Linux this reflects the physical Ctrl key.
18
+ * On macOS, this reflects the Control key (not Command).
19
+ */
20
+ ctrlKey: boolean;
21
+ /**
22
+ * Whether the Shift key is currently pressed.
23
+ */
24
+ shiftKey: boolean;
25
+ /**
26
+ * Whether the Alt key is currently pressed.
27
+ *
28
+ * On macOS this is the Option key.
29
+ */
30
+ altKey: boolean;
31
+ /**
32
+ * Whether the Meta key is currently pressed.
33
+ *
34
+ * On macOS this is the Command key.
35
+ * On Windows this is the Windows key.
36
+ */
37
+ metaKey: boolean;
38
+ }
39
+ //# sourceMappingURL=AcEdInputModifiers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcEdInputModifiers.d.ts","sourceRoot":"","sources":["../../../src/editor/input/AcEdInputModifiers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,OAAO,EAAE,OAAO,CAAA;IAChB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAA;IACjB;;;;OAIG;IACH,MAAM,EAAE,OAAO,CAAA;IACf;;;;;OAKG;IACH,OAAO,EAAE,OAAO,CAAA;CACjB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AcEdInputModifiers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcEdInputModifiers.js","sourceRoot":"","sources":["../../../src/editor/input/AcEdInputModifiers.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Toggle-style input flags maintained by the editor input system.
3
+ *
4
+ * These represent *stateful switches* that flip on key press and persist
5
+ * after key release, matching AutoCAD-style behavior where a key acts as a
6
+ * toggle rather than a momentary modifier.
7
+ *
8
+ * Notes:
9
+ * - Toggle states are command-friendly and should be read (not mutated)
10
+ * by commands.
11
+ * - Moment-in-time modifier states live in {@link AcEdInputModifiers}.
12
+ */
13
+ export interface AcEdInputToggles {
14
+ /**
15
+ * Arc direction flip toggle for PLINE-style arc segments.
16
+ *
17
+ * Behavior:
18
+ * - Each Ctrl key press flips this flag.
19
+ * - Releasing Ctrl does NOT revert it.
20
+ * - The active arc direction should be computed based on this value.
21
+ */
22
+ ctrlArcFlip: boolean;
23
+ }
24
+ //# sourceMappingURL=AcEdInputToggles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcEdInputToggles.d.ts","sourceRoot":"","sources":["../../../src/editor/input/AcEdInputToggles.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;OAOG;IACH,WAAW,EAAE,OAAO,CAAA;CACrB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=AcEdInputToggles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcEdInputToggles.js","sourceRoot":"","sources":["../../../src/editor/input/AcEdInputToggles.ts"],"names":[],"mappings":""}
@@ -0,0 +1,110 @@
1
+ /**
2
+ * Indicates how the state machine should proceed after handling a prompt result.
3
+ *
4
+ * - `continue` keeps the loop running and may transition to another state.
5
+ * - `finish` stops the loop immediately.
6
+ */
7
+ export type AcEdPromptStateStep = 'continue' | 'finish';
8
+ /**
9
+ * Represents a single prompt step in a state machine workflow.
10
+ *
11
+ * Each state is responsible for:
12
+ * - Building a prompt (options/config) to show to the user.
13
+ * - Handling the prompt result and deciding whether to continue or finish.
14
+ *
15
+ * @typeParam TPromptOptions - The prompt options type passed to the editor.
16
+ * @typeParam TResult - The result type returned by the editor.
17
+ */
18
+ export interface AcEdPromptState<TPromptOptions, TResult> {
19
+ /**
20
+ * Build the prompt options for this state.
21
+ */
22
+ buildPrompt(): TPromptOptions;
23
+ /**
24
+ * Handle the prompt result and return the next step directive.
25
+ *
26
+ * @param result - The result returned from the editor for this prompt.
27
+ */
28
+ handleResult(result: TResult): Promise<AcEdPromptStateStep> | AcEdPromptStateStep;
29
+ }
30
+ /**
31
+ * A lightweight state machine for chaining editor prompts.
32
+ *
33
+ * It repeatedly:
34
+ * 1. Builds a prompt from the current state,
35
+ * 2. Awaits a result from an injected `getResult` function,
36
+ * 3. Lets the state decide whether to continue or finish.
37
+ *
38
+ * The state itself can also mutate the machine by calling `setState(...)`
39
+ * from within `handleResult`.
40
+ *
41
+ * @example
42
+ * ```ts
43
+ * type Prompt = { message: string }
44
+ * type Result = { status: 'ok' | 'cancel'; value?: number }
45
+ *
46
+ * class FirstState implements AcEdPromptState<Prompt, Result> {
47
+ * constructor(private sm: AcEdPromptStateMachine<Prompt, Result>) {}
48
+ *
49
+ * buildPrompt() {
50
+ * return { message: 'Enter first value:' }
51
+ * }
52
+ *
53
+ * handleResult(result: Result) {
54
+ * if (result.status !== 'ok') return 'finish'
55
+ * this.sm.setState(new SecondState(this.sm, result.value ?? 0))
56
+ * return 'continue'
57
+ * }
58
+ * }
59
+ *
60
+ * class SecondState implements AcEdPromptState<Prompt, Result> {
61
+ * constructor(
62
+ * private sm: AcEdPromptStateMachine<Prompt, Result>,
63
+ * private firstValue: number
64
+ * ) {}
65
+ *
66
+ * buildPrompt() {
67
+ * return { message: 'Enter second value:' }
68
+ * }
69
+ *
70
+ * handleResult(result: Result) {
71
+ * if (result.status !== 'ok') return 'finish'
72
+ * const sum = this.firstValue + (result.value ?? 0)
73
+ * console.log('sum', sum)
74
+ * return 'finish'
75
+ * }
76
+ * }
77
+ *
78
+ * const sm = new AcEdPromptStateMachine<Prompt, Result>()
79
+ * sm.setState(new FirstState(sm))
80
+ * await sm.run(async prompt => {
81
+ * // Editor interaction happens here:
82
+ * return { status: 'ok', value: 1 }
83
+ * })
84
+ * ```
85
+ */
86
+ export declare class AcEdPromptStateMachine<TPromptOptions, TResult> {
87
+ /**
88
+ * The current active state. When undefined, the machine is idle.
89
+ */
90
+ state?: AcEdPromptState<TPromptOptions, TResult>;
91
+ /**
92
+ * Create a new state machine with an optional initial state.
93
+ *
94
+ * @param initialState - The first state to run, if any.
95
+ */
96
+ constructor(initialState?: AcEdPromptState<TPromptOptions, TResult>);
97
+ /**
98
+ * Replace the current state.
99
+ *
100
+ * @param state - The new state to activate.
101
+ */
102
+ setState(state: AcEdPromptState<TPromptOptions, TResult>): void;
103
+ /**
104
+ * Run the state machine until a state returns `finish` or an error occurs.
105
+ *
106
+ * @param getResult - Function that executes a prompt and returns its result.
107
+ */
108
+ run(getResult: (prompt: TPromptOptions) => Promise<TResult>): Promise<void>;
109
+ }
110
+ //# sourceMappingURL=AcEdPromptStateMachine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcEdPromptStateMachine.d.ts","sourceRoot":"","sources":["../../../src/editor/input/AcEdPromptStateMachine.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,QAAQ,CAAA;AAEvD;;;;;;;;;GASG;AACH,MAAM,WAAW,eAAe,CAAC,cAAc,EAAE,OAAO;IACtD;;OAEG;IACH,WAAW,IAAI,cAAc,CAAA;IAE7B;;;;OAIG;IACH,YAAY,CACV,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,mBAAmB,CAAC,GAAG,mBAAmB,CAAA;CACtD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,qBAAa,sBAAsB,CAAC,cAAc,EAAE,OAAO;IACzD;;OAEG;IACH,KAAK,CAAC,EAAE,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IAEhD;;;;OAIG;gBACS,YAAY,CAAC,EAAE,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC;IAInE;;;;OAIG;IACH,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,cAAc,EAAE,OAAO,CAAC;IAIxD;;;;OAIG;IACG,GAAG,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC;CAYlE"}