@mlightcad/cad-simple-viewer 1.6.2 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (728) hide show
  1. package/dist/cad-simple-viewer.js +28736 -18706
  2. package/dist/cad-simple-viewer.umd.cjs +1639 -308
  3. package/dist/mtext-renderer-worker.js +14590 -14441
  4. package/icons.ts +7 -0
  5. package/lib/app/AcApBrand.d.ts +2 -2
  6. package/lib/app/AcApBrand.d.ts.map +1 -1
  7. package/lib/app/AcApBrand.js +2 -2
  8. package/lib/app/AcApBrand.js.map +1 -1
  9. package/lib/app/AcApBusyIndicator.d.ts +6 -0
  10. package/lib/app/AcApBusyIndicator.d.ts.map +1 -1
  11. package/lib/app/AcApBusyIndicator.js +8 -0
  12. package/lib/app/AcApBusyIndicator.js.map +1 -1
  13. package/lib/app/AcApContext.d.ts +24 -0
  14. package/lib/app/AcApContext.d.ts.map +1 -1
  15. package/lib/app/AcApContext.js +103 -18
  16. package/lib/app/AcApContext.js.map +1 -1
  17. package/lib/app/AcApDocManager.d.ts +293 -31
  18. package/lib/app/AcApDocManager.d.ts.map +1 -1
  19. package/lib/app/AcApDocManager.js +972 -184
  20. package/lib/app/AcApDocManager.js.map +1 -1
  21. package/lib/app/AcApDocSession.d.ts +41 -0
  22. package/lib/app/AcApDocSession.d.ts.map +1 -0
  23. package/lib/app/AcApDocSession.js +29 -0
  24. package/lib/app/AcApDocSession.js.map +1 -0
  25. package/lib/app/AcApDocsUrl.d.ts +57 -0
  26. package/lib/app/AcApDocsUrl.d.ts.map +1 -0
  27. package/lib/app/AcApDocsUrl.js +76 -0
  28. package/lib/app/AcApDocsUrl.js.map +1 -0
  29. package/lib/app/AcApDocument.d.ts +6 -1
  30. package/lib/app/AcApDocument.d.ts.map +1 -1
  31. package/lib/app/AcApDocument.js +21 -0
  32. package/lib/app/AcApDocument.js.map +1 -1
  33. package/lib/app/AcApFontLoader.d.ts +6 -0
  34. package/lib/app/AcApFontLoader.d.ts.map +1 -1
  35. package/lib/app/AcApFontLoader.js +11 -0
  36. package/lib/app/AcApFontLoader.js.map +1 -1
  37. package/lib/app/{AcDbOpenDatabaseOptions.d.ts → AcApOpenDatabaseOptions.d.ts} +35 -8
  38. package/lib/app/AcApOpenDatabaseOptions.d.ts.map +1 -0
  39. package/lib/app/{AcDbOpenDatabaseOptions.js → AcApOpenDatabaseOptions.js} +1 -1
  40. package/lib/app/AcApOpenDatabaseOptions.js.map +1 -0
  41. package/lib/app/AcApOpenFileDialog.d.ts +1 -1
  42. package/lib/app/AcApOpenFileProgressController.d.ts +14 -0
  43. package/lib/app/AcApOpenFileProgressController.d.ts.map +1 -1
  44. package/lib/app/AcApOpenFileProgressController.js +18 -0
  45. package/lib/app/AcApOpenFileProgressController.js.map +1 -1
  46. package/lib/app/AcApProgress.d.ts +6 -0
  47. package/lib/app/AcApProgress.d.ts.map +1 -1
  48. package/lib/app/AcApProgress.js +17 -0
  49. package/lib/app/AcApProgress.js.map +1 -1
  50. package/lib/app/AcApSettingManager.d.ts +156 -43
  51. package/lib/app/AcApSettingManager.d.ts.map +1 -1
  52. package/lib/app/AcApSettingManager.js +216 -66
  53. package/lib/app/AcApSettingManager.js.map +1 -1
  54. package/lib/app/index.d.ts +4 -2
  55. package/lib/app/index.d.ts.map +1 -1
  56. package/lib/app/index.js +3 -1
  57. package/lib/app/index.js.map +1 -1
  58. package/lib/command/AcApCloseCmd.d.ts +15 -0
  59. package/lib/command/AcApCloseCmd.d.ts.map +1 -0
  60. package/lib/command/AcApCloseCmd.js +83 -0
  61. package/lib/command/AcApCloseCmd.js.map +1 -0
  62. package/lib/command/AcApDrawOverlayInput.d.ts +6 -0
  63. package/lib/command/AcApDrawOverlayInput.d.ts.map +1 -0
  64. package/lib/command/AcApDrawOverlayInput.js +64 -0
  65. package/lib/command/AcApDrawOverlayInput.js.map +1 -0
  66. package/lib/command/AcApDrawStyleDrawCmd.d.ts +9 -0
  67. package/lib/command/AcApDrawStyleDrawCmd.d.ts.map +1 -0
  68. package/lib/command/AcApDrawStyleDrawCmd.js +32 -0
  69. package/lib/command/AcApDrawStyleDrawCmd.js.map +1 -0
  70. package/lib/command/AcApDrawStyleSession.d.ts +20 -0
  71. package/lib/command/AcApDrawStyleSession.d.ts.map +1 -0
  72. package/lib/command/AcApDrawStyleSession.js +2 -0
  73. package/lib/command/AcApDrawStyleSession.js.map +1 -0
  74. package/lib/command/AcApInstallDrawStyleSessionAccessory.d.ts +28 -0
  75. package/lib/command/AcApInstallDrawStyleSessionAccessory.d.ts.map +1 -0
  76. package/lib/command/AcApInstallDrawStyleSessionAccessory.js +174 -0
  77. package/lib/command/AcApInstallDrawStyleSessionAccessory.js.map +1 -0
  78. package/lib/command/AcApReadingModeCmd.d.ts +17 -0
  79. package/lib/command/AcApReadingModeCmd.d.ts.map +1 -0
  80. package/lib/command/AcApReadingModeCmd.js +82 -0
  81. package/lib/command/AcApReadingModeCmd.js.map +1 -0
  82. package/lib/command/AcApShortCutSelectionAccessory.d.ts +14 -0
  83. package/lib/command/AcApShortCutSelectionAccessory.d.ts.map +1 -0
  84. package/lib/command/AcApShortCutSelectionAccessory.js +266 -0
  85. package/lib/command/AcApShortCutSelectionAccessory.js.map +1 -0
  86. package/lib/command/AcApShortCutToolbarDocBind.d.ts +20 -0
  87. package/lib/command/AcApShortCutToolbarDocBind.d.ts.map +1 -0
  88. package/lib/command/AcApShortCutToolbarDocBind.js +155 -0
  89. package/lib/command/AcApShortCutToolbarDocBind.js.map +1 -0
  90. package/lib/command/AcApZoomCmd.d.ts +39 -1
  91. package/lib/command/AcApZoomCmd.d.ts.map +1 -1
  92. package/lib/command/AcApZoomCmd.js +70 -6
  93. package/lib/command/AcApZoomCmd.js.map +1 -1
  94. package/lib/command/draw/AcApHatchCmd.js +1 -1
  95. package/lib/command/draw/AcApHatchCmd.js.map +1 -1
  96. package/lib/command/draw/AcApMTextCmd.d.ts.map +1 -1
  97. package/lib/command/draw/AcApMTextCmd.js +11 -7
  98. package/lib/command/draw/AcApMTextCmd.js.map +1 -1
  99. package/lib/command/index.d.ts +4 -0
  100. package/lib/command/index.d.ts.map +1 -1
  101. package/lib/command/index.js +4 -0
  102. package/lib/command/index.js.map +1 -1
  103. package/lib/command/markup/AcApMarkupArrowCmd.d.ts +2 -3
  104. package/lib/command/markup/AcApMarkupArrowCmd.d.ts.map +1 -1
  105. package/lib/command/markup/AcApMarkupArrowCmd.js +8 -9
  106. package/lib/command/markup/AcApMarkupArrowCmd.js.map +1 -1
  107. package/lib/command/markup/AcApMarkupCalloutCmd.d.ts +2 -3
  108. package/lib/command/markup/AcApMarkupCalloutCmd.d.ts.map +1 -1
  109. package/lib/command/markup/AcApMarkupCalloutCmd.js +47 -22
  110. package/lib/command/markup/AcApMarkupCalloutCmd.js.map +1 -1
  111. package/lib/command/markup/AcApMarkupCircleCmd.d.ts +2 -3
  112. package/lib/command/markup/AcApMarkupCircleCmd.d.ts.map +1 -1
  113. package/lib/command/markup/AcApMarkupCircleCmd.js +8 -9
  114. package/lib/command/markup/AcApMarkupCircleCmd.js.map +1 -1
  115. package/lib/command/markup/AcApMarkupCloudCmd.d.ts +2 -3
  116. package/lib/command/markup/AcApMarkupCloudCmd.d.ts.map +1 -1
  117. package/lib/command/markup/AcApMarkupCloudCmd.js +8 -9
  118. package/lib/command/markup/AcApMarkupCloudCmd.js.map +1 -1
  119. package/lib/command/markup/AcApMarkupCmdUtil.d.ts +7 -1
  120. package/lib/command/markup/AcApMarkupCmdUtil.d.ts.map +1 -1
  121. package/lib/command/markup/AcApMarkupCmdUtil.js +10 -0
  122. package/lib/command/markup/AcApMarkupCmdUtil.js.map +1 -1
  123. package/lib/command/markup/AcApMarkupDrawCmd.d.ts +19 -0
  124. package/lib/command/markup/AcApMarkupDrawCmd.d.ts.map +1 -0
  125. package/lib/command/markup/AcApMarkupDrawCmd.js +47 -0
  126. package/lib/command/markup/AcApMarkupDrawCmd.js.map +1 -0
  127. package/lib/command/markup/AcApMarkupGeometry.d.ts +39 -3
  128. package/lib/command/markup/AcApMarkupGeometry.d.ts.map +1 -1
  129. package/lib/command/markup/AcApMarkupGeometry.js +127 -26
  130. package/lib/command/markup/AcApMarkupGeometry.js.map +1 -1
  131. package/lib/command/markup/AcApMarkupHighlightCmd.d.ts +2 -3
  132. package/lib/command/markup/AcApMarkupHighlightCmd.d.ts.map +1 -1
  133. package/lib/command/markup/AcApMarkupHighlightCmd.js +9 -10
  134. package/lib/command/markup/AcApMarkupHighlightCmd.js.map +1 -1
  135. package/lib/command/markup/AcApMarkupHistory.d.ts +1 -1
  136. package/lib/command/markup/AcApMarkupHistory.d.ts.map +1 -1
  137. package/lib/command/markup/AcApMarkupHistory.js +4 -11
  138. package/lib/command/markup/AcApMarkupHistory.js.map +1 -1
  139. package/lib/command/markup/AcApMarkupLineCmd.d.ts +2 -3
  140. package/lib/command/markup/AcApMarkupLineCmd.d.ts.map +1 -1
  141. package/lib/command/markup/AcApMarkupLineCmd.js +18 -11
  142. package/lib/command/markup/AcApMarkupLineCmd.js.map +1 -1
  143. package/lib/command/markup/AcApMarkupPresenter.d.ts +24 -4
  144. package/lib/command/markup/AcApMarkupPresenter.d.ts.map +1 -1
  145. package/lib/command/markup/AcApMarkupPresenter.js +100 -18
  146. package/lib/command/markup/AcApMarkupPresenter.js.map +1 -1
  147. package/lib/command/markup/AcApMarkupRectCmd.d.ts +2 -3
  148. package/lib/command/markup/AcApMarkupRectCmd.d.ts.map +1 -1
  149. package/lib/command/markup/AcApMarkupRectCmd.js +8 -9
  150. package/lib/command/markup/AcApMarkupRectCmd.js.map +1 -1
  151. package/lib/command/markup/AcApMarkupSession.d.ts +54 -0
  152. package/lib/command/markup/AcApMarkupSession.d.ts.map +1 -0
  153. package/lib/command/markup/AcApMarkupSession.js +85 -0
  154. package/lib/command/markup/AcApMarkupSession.js.map +1 -0
  155. package/lib/command/markup/AcApMarkupSessionBootstrap.d.ts +2 -0
  156. package/lib/command/markup/AcApMarkupSessionBootstrap.d.ts.map +1 -0
  157. package/lib/command/markup/AcApMarkupSessionBootstrap.js +12 -0
  158. package/lib/command/markup/AcApMarkupSessionBootstrap.js.map +1 -0
  159. package/lib/command/markup/AcApMarkupShapeBuilder.d.ts +7 -4
  160. package/lib/command/markup/AcApMarkupShapeBuilder.d.ts.map +1 -1
  161. package/lib/command/markup/AcApMarkupShapeBuilder.js +24 -11
  162. package/lib/command/markup/AcApMarkupShapeBuilder.js.map +1 -1
  163. package/lib/command/markup/AcApMarkupShapeCallout.d.ts +21 -1
  164. package/lib/command/markup/AcApMarkupShapeCallout.d.ts.map +1 -1
  165. package/lib/command/markup/AcApMarkupShapeCallout.js +41 -25
  166. package/lib/command/markup/AcApMarkupShapeCallout.js.map +1 -1
  167. package/lib/command/markup/AcApMarkupSidecar.d.ts.map +1 -1
  168. package/lib/command/markup/AcApMarkupSidecar.js +39 -5
  169. package/lib/command/markup/AcApMarkupSidecar.js.map +1 -1
  170. package/lib/command/markup/AcApMarkupStampCmd.d.ts +2 -3
  171. package/lib/command/markup/AcApMarkupStampCmd.d.ts.map +1 -1
  172. package/lib/command/markup/AcApMarkupStampCmd.js +6 -7
  173. package/lib/command/markup/AcApMarkupStampCmd.js.map +1 -1
  174. package/lib/command/markup/AcApMarkupStore.d.ts +1 -1
  175. package/lib/command/markup/AcApMarkupStore.d.ts.map +1 -1
  176. package/lib/command/markup/AcApMarkupStore.js +3 -6
  177. package/lib/command/markup/AcApMarkupStore.js.map +1 -1
  178. package/lib/command/markup/AcApMarkupTextCmd.d.ts +2 -3
  179. package/lib/command/markup/AcApMarkupTextCmd.d.ts.map +1 -1
  180. package/lib/command/markup/AcApMarkupTextCmd.js +13 -9
  181. package/lib/command/markup/AcApMarkupTextCmd.js.map +1 -1
  182. package/lib/command/markup/AcApMarkupTypes.d.ts +18 -2
  183. package/lib/command/markup/AcApMarkupTypes.d.ts.map +1 -1
  184. package/lib/command/markup/AcApMarkupUtil.d.ts +36 -7
  185. package/lib/command/markup/AcApMarkupUtil.d.ts.map +1 -1
  186. package/lib/command/markup/AcApMarkupUtil.js +149 -34
  187. package/lib/command/markup/AcApMarkupUtil.js.map +1 -1
  188. package/lib/command/markup/AcApRegisterMarkupCommands.d.ts +8 -0
  189. package/lib/command/markup/AcApRegisterMarkupCommands.d.ts.map +1 -0
  190. package/lib/command/markup/AcApRegisterMarkupCommands.js +35 -0
  191. package/lib/command/markup/AcApRegisterMarkupCommands.js.map +1 -0
  192. package/lib/command/markup/entity/AcApMarkupCalloutEntity.d.ts.map +1 -1
  193. package/lib/command/markup/entity/AcApMarkupCalloutEntity.js +16 -15
  194. package/lib/command/markup/entity/AcApMarkupCalloutEntity.js.map +1 -1
  195. package/lib/command/markup/entity/AcApMarkupEntity.d.ts +5 -1
  196. package/lib/command/markup/entity/AcApMarkupEntity.d.ts.map +1 -1
  197. package/lib/command/markup/entity/AcApMarkupEntity.js +19 -5
  198. package/lib/command/markup/entity/AcApMarkupEntity.js.map +1 -1
  199. package/lib/command/markup/entity/AcApMarkupEntityGrips.d.ts +8 -3
  200. package/lib/command/markup/entity/AcApMarkupEntityGrips.d.ts.map +1 -1
  201. package/lib/command/markup/entity/AcApMarkupEntityGrips.js +15 -7
  202. package/lib/command/markup/entity/AcApMarkupEntityGrips.js.map +1 -1
  203. package/lib/command/markup/entity/AcApMarkupHighlightEntity.d.ts.map +1 -1
  204. package/lib/command/markup/entity/AcApMarkupHighlightEntity.js +14 -12
  205. package/lib/command/markup/entity/AcApMarkupHighlightEntity.js.map +1 -1
  206. package/lib/command/markup/entity/AcApMarkupSegmentEntity.d.ts.map +1 -1
  207. package/lib/command/markup/entity/AcApMarkupSegmentEntity.js +8 -6
  208. package/lib/command/markup/entity/AcApMarkupSegmentEntity.js.map +1 -1
  209. package/lib/command/markup/entity/AcApMarkupShapeEntity.d.ts.map +1 -1
  210. package/lib/command/markup/entity/AcApMarkupShapeEntity.js +23 -21
  211. package/lib/command/markup/entity/AcApMarkupShapeEntity.js.map +1 -1
  212. package/lib/command/markup/entity/AcApMarkupStampEntity.d.ts.map +1 -1
  213. package/lib/command/markup/entity/AcApMarkupStampEntity.js +1 -0
  214. package/lib/command/markup/entity/AcApMarkupStampEntity.js.map +1 -1
  215. package/lib/command/markup/entity/AcApMarkupTextEntity.d.ts.map +1 -1
  216. package/lib/command/markup/entity/AcApMarkupTextEntity.js +1 -0
  217. package/lib/command/markup/entity/AcApMarkupTextEntity.js.map +1 -1
  218. package/lib/command/markup/index.d.ts +4 -0
  219. package/lib/command/markup/index.d.ts.map +1 -1
  220. package/lib/command/markup/index.js +5 -0
  221. package/lib/command/markup/index.js.map +1 -1
  222. package/lib/command/measure/AcApMeasureAngleArc.d.ts +27 -0
  223. package/lib/command/measure/AcApMeasureAngleArc.d.ts.map +1 -0
  224. package/lib/command/measure/AcApMeasureAngleArc.js +22 -0
  225. package/lib/command/measure/AcApMeasureAngleArc.js.map +1 -0
  226. package/lib/command/measure/AcApMeasureAngleCmd.d.ts +2 -3
  227. package/lib/command/measure/AcApMeasureAngleCmd.d.ts.map +1 -1
  228. package/lib/command/measure/AcApMeasureAngleCmd.js +46 -45
  229. package/lib/command/measure/AcApMeasureAngleCmd.js.map +1 -1
  230. package/lib/command/measure/AcApMeasureArcCmd.d.ts +2 -3
  231. package/lib/command/measure/AcApMeasureArcCmd.d.ts.map +1 -1
  232. package/lib/command/measure/AcApMeasureArcCmd.js +71 -67
  233. package/lib/command/measure/AcApMeasureArcCmd.js.map +1 -1
  234. package/lib/command/measure/AcApMeasureAreaCmd.d.ts +2 -3
  235. package/lib/command/measure/AcApMeasureAreaCmd.d.ts.map +1 -1
  236. package/lib/command/measure/AcApMeasureAreaCmd.js +102 -99
  237. package/lib/command/measure/AcApMeasureAreaCmd.js.map +1 -1
  238. package/lib/command/measure/AcApMeasureContinuousCmd.d.ts +44 -0
  239. package/lib/command/measure/AcApMeasureContinuousCmd.d.ts.map +1 -0
  240. package/lib/command/measure/AcApMeasureContinuousCmd.js +317 -0
  241. package/lib/command/measure/AcApMeasureContinuousCmd.js.map +1 -0
  242. package/lib/command/measure/AcApMeasureDistanceCmd.d.ts +3 -3
  243. package/lib/command/measure/AcApMeasureDistanceCmd.d.ts.map +1 -1
  244. package/lib/command/measure/AcApMeasureDistanceCmd.js +41 -37
  245. package/lib/command/measure/AcApMeasureDistanceCmd.js.map +1 -1
  246. package/lib/command/measure/AcApMeasureDrawCmd.d.ts +32 -0
  247. package/lib/command/measure/AcApMeasureDrawCmd.d.ts.map +1 -0
  248. package/lib/command/measure/AcApMeasureDrawCmd.js +56 -0
  249. package/lib/command/measure/AcApMeasureDrawCmd.js.map +1 -0
  250. package/lib/command/measure/AcApMeasurePointCmd.d.ts +2 -3
  251. package/lib/command/measure/AcApMeasurePointCmd.d.ts.map +1 -1
  252. package/lib/command/measure/AcApMeasurePointCmd.js +20 -23
  253. package/lib/command/measure/AcApMeasurePointCmd.js.map +1 -1
  254. package/lib/command/measure/AcApMeasurementGeometry.d.ts +19 -0
  255. package/lib/command/measure/AcApMeasurementGeometry.d.ts.map +1 -1
  256. package/lib/command/measure/AcApMeasurementGeometry.js +53 -3
  257. package/lib/command/measure/AcApMeasurementGeometry.js.map +1 -1
  258. package/lib/command/measure/AcApMeasurementHistory.d.ts.map +1 -1
  259. package/lib/command/measure/AcApMeasurementHistory.js +3 -1
  260. package/lib/command/measure/AcApMeasurementHistory.js.map +1 -1
  261. package/lib/command/measure/AcApMeasurementPlace.d.ts.map +1 -1
  262. package/lib/command/measure/AcApMeasurementPlace.js +22 -5
  263. package/lib/command/measure/AcApMeasurementPlace.js.map +1 -1
  264. package/lib/command/measure/AcApMeasurementRepublish.d.ts +35 -0
  265. package/lib/command/measure/AcApMeasurementRepublish.d.ts.map +1 -0
  266. package/lib/command/measure/AcApMeasurementRepublish.js +31 -0
  267. package/lib/command/measure/AcApMeasurementRepublish.js.map +1 -0
  268. package/lib/command/measure/AcApMeasurementSidecar.d.ts +2 -1
  269. package/lib/command/measure/AcApMeasurementSidecar.d.ts.map +1 -1
  270. package/lib/command/measure/AcApMeasurementSidecar.js +55 -10
  271. package/lib/command/measure/AcApMeasurementSidecar.js.map +1 -1
  272. package/lib/command/measure/AcApMeasurementStore.d.ts +45 -2
  273. package/lib/command/measure/AcApMeasurementStore.d.ts.map +1 -1
  274. package/lib/command/measure/AcApMeasurementStore.js +277 -33
  275. package/lib/command/measure/AcApMeasurementStore.js.map +1 -1
  276. package/lib/command/measure/AcApMeasurementTypes.d.ts +17 -1
  277. package/lib/command/measure/AcApMeasurementTypes.d.ts.map +1 -1
  278. package/lib/command/measure/AcApRegisterMeasureCommands.d.ts +8 -0
  279. package/lib/command/measure/AcApRegisterMeasureCommands.d.ts.map +1 -0
  280. package/lib/command/measure/AcApRegisterMeasureCommands.js +29 -0
  281. package/lib/command/measure/AcApRegisterMeasureCommands.js.map +1 -0
  282. package/lib/command/measure/entity/AcApMeasureAngleEntity.d.ts +3 -5
  283. package/lib/command/measure/entity/AcApMeasureAngleEntity.d.ts.map +1 -1
  284. package/lib/command/measure/entity/AcApMeasureAngleEntity.js +165 -56
  285. package/lib/command/measure/entity/AcApMeasureAngleEntity.js.map +1 -1
  286. package/lib/command/measure/entity/AcApMeasureArcEntity.d.ts +5 -8
  287. package/lib/command/measure/entity/AcApMeasureArcEntity.d.ts.map +1 -1
  288. package/lib/command/measure/entity/AcApMeasureArcEntity.js +251 -53
  289. package/lib/command/measure/entity/AcApMeasureArcEntity.js.map +1 -1
  290. package/lib/command/measure/entity/AcApMeasureAreaEntity.d.ts +4 -3
  291. package/lib/command/measure/entity/AcApMeasureAreaEntity.d.ts.map +1 -1
  292. package/lib/command/measure/entity/AcApMeasureAreaEntity.js +154 -28
  293. package/lib/command/measure/entity/AcApMeasureAreaEntity.js.map +1 -1
  294. package/lib/command/measure/entity/AcApMeasureDistanceEntity.d.ts +5 -3
  295. package/lib/command/measure/entity/AcApMeasureDistanceEntity.d.ts.map +1 -1
  296. package/lib/command/measure/entity/AcApMeasureDistanceEntity.js +180 -28
  297. package/lib/command/measure/entity/AcApMeasureDistanceEntity.js.map +1 -1
  298. package/lib/command/measure/entity/AcApMeasureDrawUtil.d.ts +20 -8
  299. package/lib/command/measure/entity/AcApMeasureDrawUtil.d.ts.map +1 -1
  300. package/lib/command/measure/entity/AcApMeasureDrawUtil.js +45 -19
  301. package/lib/command/measure/entity/AcApMeasureDrawUtil.js.map +1 -1
  302. package/lib/command/measure/entity/AcApMeasureEntity.d.ts +41 -6
  303. package/lib/command/measure/entity/AcApMeasureEntity.d.ts.map +1 -1
  304. package/lib/command/measure/entity/AcApMeasureEntity.js +48 -2
  305. package/lib/command/measure/entity/AcApMeasureEntity.js.map +1 -1
  306. package/lib/command/measure/entity/AcApMeasureEntityFactory.d.ts +2 -2
  307. package/lib/command/measure/entity/AcApMeasureEntityFactory.d.ts.map +1 -1
  308. package/lib/command/measure/entity/AcApMeasureEntityFactory.js +10 -3
  309. package/lib/command/measure/entity/AcApMeasureEntityFactory.js.map +1 -1
  310. package/lib/command/measure/entity/AcApMeasureEntityGrips.d.ts +33 -0
  311. package/lib/command/measure/entity/AcApMeasureEntityGrips.d.ts.map +1 -0
  312. package/lib/command/measure/entity/AcApMeasureEntityGrips.js +49 -0
  313. package/lib/command/measure/entity/AcApMeasureEntityGrips.js.map +1 -0
  314. package/lib/command/measure/entity/AcApMeasurePointEntity.d.ts +3 -2
  315. package/lib/command/measure/entity/AcApMeasurePointEntity.d.ts.map +1 -1
  316. package/lib/command/measure/entity/AcApMeasurePointEntity.js +130 -16
  317. package/lib/command/measure/entity/AcApMeasurePointEntity.js.map +1 -1
  318. package/lib/command/measure/entity/index.d.ts +1 -0
  319. package/lib/command/measure/entity/index.d.ts.map +1 -1
  320. package/lib/command/measure/entity/index.js +1 -0
  321. package/lib/command/measure/entity/index.js.map +1 -1
  322. package/lib/command/measure/index.d.ts +4 -0
  323. package/lib/command/measure/index.d.ts.map +1 -1
  324. package/lib/command/measure/index.js +4 -0
  325. package/lib/command/measure/index.js.map +1 -1
  326. package/lib/command/overlay/AcApHtmlLivePreview.d.ts +16 -4
  327. package/lib/command/overlay/AcApHtmlLivePreview.d.ts.map +1 -1
  328. package/lib/command/overlay/AcApHtmlLivePreview.js +42 -12
  329. package/lib/command/overlay/AcApHtmlLivePreview.js.map +1 -1
  330. package/lib/command/overlay/AcApOverlayDrawUtil.d.ts +113 -3
  331. package/lib/command/overlay/AcApOverlayDrawUtil.d.ts.map +1 -1
  332. package/lib/command/overlay/AcApOverlayDrawUtil.js +341 -7
  333. package/lib/command/overlay/AcApOverlayDrawUtil.js.map +1 -1
  334. package/lib/command/overlay/AcApOverlayGripHost.d.ts +19 -0
  335. package/lib/command/overlay/AcApOverlayGripHost.d.ts.map +1 -1
  336. package/lib/command/overlay/AcApOverlayGripHost.js +124 -6
  337. package/lib/command/overlay/AcApOverlayGripHost.js.map +1 -1
  338. package/lib/editor/command/AcEdCommand.d.ts +17 -0
  339. package/lib/editor/command/AcEdCommand.d.ts.map +1 -1
  340. package/lib/editor/command/AcEdCommand.js +81 -1
  341. package/lib/editor/command/AcEdCommand.js.map +1 -1
  342. package/lib/editor/command/AcEdCommandStack.d.ts +14 -3
  343. package/lib/editor/command/AcEdCommandStack.d.ts.map +1 -1
  344. package/lib/editor/command/AcEdCommandStack.js +39 -3
  345. package/lib/editor/command/AcEdCommandStack.js.map +1 -1
  346. package/lib/editor/command/AcEdSessionAccessory.d.ts +82 -0
  347. package/lib/editor/command/AcEdSessionAccessory.d.ts.map +1 -0
  348. package/lib/editor/command/AcEdSessionAccessory.js +15 -0
  349. package/lib/editor/command/AcEdSessionAccessory.js.map +1 -0
  350. package/lib/editor/command/AcEdSessionProviderRegistry.d.ts +42 -0
  351. package/lib/editor/command/AcEdSessionProviderRegistry.d.ts.map +1 -0
  352. package/lib/editor/command/AcEdSessionProviderRegistry.js +54 -0
  353. package/lib/editor/command/AcEdSessionProviderRegistry.js.map +1 -0
  354. package/lib/editor/command/index.d.ts +4 -0
  355. package/lib/editor/command/index.d.ts.map +1 -1
  356. package/lib/editor/command/index.js +3 -0
  357. package/lib/editor/command/index.js.map +1 -1
  358. package/lib/editor/global/AcEdUiColor.d.ts +10 -0
  359. package/lib/editor/global/AcEdUiColor.d.ts.map +1 -1
  360. package/lib/editor/global/AcEdUiColor.js +14 -0
  361. package/lib/editor/global/AcEdUiColor.js.map +1 -1
  362. package/lib/editor/global/AcEdUiLayout.d.ts +102 -0
  363. package/lib/editor/global/AcEdUiLayout.d.ts.map +1 -1
  364. package/lib/editor/global/AcEdUiLayout.js +137 -0
  365. package/lib/editor/global/AcEdUiLayout.js.map +1 -1
  366. package/lib/editor/global/AcEdUiTheme.d.ts +15 -3
  367. package/lib/editor/global/AcEdUiTheme.d.ts.map +1 -1
  368. package/lib/editor/global/AcEdUiTheme.js +113 -6
  369. package/lib/editor/global/AcEdUiTheme.js.map +1 -1
  370. package/lib/editor/grip/AcEdGripAppearance.d.ts +18 -0
  371. package/lib/editor/grip/AcEdGripAppearance.d.ts.map +1 -1
  372. package/lib/editor/grip/AcEdGripAppearance.js +23 -1
  373. package/lib/editor/grip/AcEdGripAppearance.js.map +1 -1
  374. package/lib/editor/grip/AcEdGripEditSession.js +2 -2
  375. package/lib/editor/grip/AcEdGripEditSession.js.map +1 -1
  376. package/lib/editor/grip/AcEdGripHandle.d.ts +1 -2
  377. package/lib/editor/grip/AcEdGripHandle.d.ts.map +1 -1
  378. package/lib/editor/grip/AcEdGripHandle.js +4 -13
  379. package/lib/editor/grip/AcEdGripHandle.js.map +1 -1
  380. package/lib/editor/grip/AcEdGripManager.d.ts +3 -1
  381. package/lib/editor/grip/AcEdGripManager.d.ts.map +1 -1
  382. package/lib/editor/grip/AcEdGripManager.js +30 -14
  383. package/lib/editor/grip/AcEdGripManager.js.map +1 -1
  384. package/lib/editor/grip/index.d.ts +1 -0
  385. package/lib/editor/grip/index.d.ts.map +1 -1
  386. package/lib/editor/grip/index.js +1 -0
  387. package/lib/editor/grip/index.js.map +1 -1
  388. package/lib/editor/input/AcEdDynamicInput.d.ts +15 -0
  389. package/lib/editor/input/AcEdDynamicInput.d.ts.map +1 -0
  390. package/lib/editor/input/AcEdDynamicInput.js +22 -0
  391. package/lib/editor/input/AcEdDynamicInput.js.map +1 -0
  392. package/lib/editor/input/AcEdOsnapCenterMarks.d.ts +19 -1
  393. package/lib/editor/input/AcEdOsnapCenterMarks.d.ts.map +1 -1
  394. package/lib/editor/input/AcEdOsnapCenterMarks.js +53 -9
  395. package/lib/editor/input/AcEdOsnapCenterMarks.js.map +1 -1
  396. package/lib/editor/input/AcEdOsnapResolver.d.ts.map +1 -1
  397. package/lib/editor/input/AcEdOsnapResolver.js +216 -35
  398. package/lib/editor/input/AcEdOsnapResolver.js.map +1 -1
  399. package/lib/editor/input/AcEditor.d.ts +14 -1
  400. package/lib/editor/input/AcEditor.d.ts.map +1 -1
  401. package/lib/editor/input/AcEditor.js +18 -2
  402. package/lib/editor/input/AcEditor.js.map +1 -1
  403. package/lib/editor/input/index.d.ts +1 -0
  404. package/lib/editor/input/index.d.ts.map +1 -1
  405. package/lib/editor/input/index.js +1 -0
  406. package/lib/editor/input/index.js.map +1 -1
  407. package/lib/editor/input/marker/AcEdOSnapMarkerManager.d.ts +12 -0
  408. package/lib/editor/input/marker/AcEdOSnapMarkerManager.d.ts.map +1 -1
  409. package/lib/editor/input/marker/AcEdOSnapMarkerManager.js +53 -18
  410. package/lib/editor/input/marker/AcEdOSnapMarkerManager.js.map +1 -1
  411. package/lib/editor/input/prompt/AcEdPromptPointOptions.d.ts +15 -0
  412. package/lib/editor/input/prompt/AcEdPromptPointOptions.d.ts.map +1 -1
  413. package/lib/editor/input/prompt/AcEdPromptPointOptions.js +24 -0
  414. package/lib/editor/input/prompt/AcEdPromptPointOptions.js.map +1 -1
  415. package/lib/editor/input/ui/AcEdDesktopSessionAccessoryChrome.d.ts +33 -0
  416. package/lib/editor/input/ui/AcEdDesktopSessionAccessoryChrome.d.ts.map +1 -0
  417. package/lib/editor/input/ui/AcEdDesktopSessionAccessoryChrome.js +85 -0
  418. package/lib/editor/input/ui/AcEdDesktopSessionAccessoryChrome.js.map +1 -0
  419. package/lib/editor/input/ui/AcEdEntityPickCancelChrome.d.ts +57 -0
  420. package/lib/editor/input/ui/AcEdEntityPickCancelChrome.d.ts.map +1 -0
  421. package/lib/editor/input/ui/AcEdEntityPickCancelChrome.js +104 -0
  422. package/lib/editor/input/ui/AcEdEntityPickCancelChrome.js.map +1 -0
  423. package/lib/editor/input/ui/AcEdFloatingInput.d.ts +144 -0
  424. package/lib/editor/input/ui/AcEdFloatingInput.d.ts.map +1 -1
  425. package/lib/editor/input/ui/AcEdFloatingInput.js +412 -13
  426. package/lib/editor/input/ui/AcEdFloatingInput.js.map +1 -1
  427. package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts +2 -1
  428. package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts.map +1 -1
  429. package/lib/editor/input/ui/AcEdFloatingMessage.d.ts.map +1 -1
  430. package/lib/editor/input/ui/AcEdFloatingMessage.js +2 -2
  431. package/lib/editor/input/ui/AcEdFloatingMessage.js.map +1 -1
  432. package/lib/editor/input/ui/AcEdInputManager.d.ts +100 -7
  433. package/lib/editor/input/ui/AcEdInputManager.d.ts.map +1 -1
  434. package/lib/editor/input/ui/AcEdInputManager.js +805 -164
  435. package/lib/editor/input/ui/AcEdInputManager.js.map +1 -1
  436. package/lib/editor/input/ui/AcEdInteractionStrategy.d.ts +94 -0
  437. package/lib/editor/input/ui/AcEdInteractionStrategy.d.ts.map +1 -0
  438. package/lib/editor/input/ui/AcEdInteractionStrategy.js +60 -0
  439. package/lib/editor/input/ui/AcEdInteractionStrategy.js.map +1 -0
  440. package/lib/editor/input/ui/AcEdMobileBoxGesture.d.ts +52 -0
  441. package/lib/editor/input/ui/AcEdMobileBoxGesture.d.ts.map +1 -0
  442. package/lib/editor/input/ui/AcEdMobileBoxGesture.js +201 -0
  443. package/lib/editor/input/ui/AcEdMobileBoxGesture.js.map +1 -0
  444. package/lib/editor/input/ui/AcEdMobileCommandChrome.d.ts +89 -0
  445. package/lib/editor/input/ui/AcEdMobileCommandChrome.d.ts.map +1 -0
  446. package/lib/editor/input/ui/AcEdMobileCommandChrome.js +143 -0
  447. package/lib/editor/input/ui/AcEdMobileCommandChrome.js.map +1 -0
  448. package/lib/editor/input/ui/AcEdMobileSessionMetrics.d.ts +29 -0
  449. package/lib/editor/input/ui/AcEdMobileSessionMetrics.d.ts.map +1 -0
  450. package/lib/editor/input/ui/AcEdMobileSessionMetrics.js +37 -0
  451. package/lib/editor/input/ui/AcEdMobileSessionMetrics.js.map +1 -0
  452. package/lib/editor/input/ui/AcEdMobileSnapLoupe.d.ts +45 -0
  453. package/lib/editor/input/ui/AcEdMobileSnapLoupe.d.ts.map +1 -0
  454. package/lib/editor/input/ui/AcEdMobileSnapLoupe.js +63 -0
  455. package/lib/editor/input/ui/AcEdMobileSnapLoupe.js.map +1 -0
  456. package/lib/editor/input/ui/AcEdSessionAccessoryController.d.ts +113 -0
  457. package/lib/editor/input/ui/AcEdSessionAccessoryController.d.ts.map +1 -0
  458. package/lib/editor/input/ui/AcEdSessionAccessoryController.js +295 -0
  459. package/lib/editor/input/ui/AcEdSessionAccessoryController.js.map +1 -0
  460. package/lib/editor/input/ui/AcEdSimulatedMouseCursor.d.ts +28 -0
  461. package/lib/editor/input/ui/AcEdSimulatedMouseCursor.d.ts.map +1 -0
  462. package/lib/editor/input/ui/AcEdSimulatedMouseCursor.js +86 -0
  463. package/lib/editor/input/ui/AcEdSimulatedMouseCursor.js.map +1 -0
  464. package/lib/editor/input/ui/AcEdSnapLoupe.d.ts +60 -0
  465. package/lib/editor/input/ui/AcEdSnapLoupe.d.ts.map +1 -0
  466. package/lib/editor/input/ui/AcEdSnapLoupe.js +109 -0
  467. package/lib/editor/input/ui/AcEdSnapLoupe.js.map +1 -0
  468. package/lib/editor/input/ui/AcEdSnapLoupeMath.d.ts +47 -0
  469. package/lib/editor/input/ui/AcEdSnapLoupeMath.d.ts.map +1 -0
  470. package/lib/editor/input/ui/AcEdSnapLoupeMath.js +50 -0
  471. package/lib/editor/input/ui/AcEdSnapLoupeMath.js.map +1 -0
  472. package/lib/editor/input/ui/AcEdTouchPickStrategy.d.ts +97 -0
  473. package/lib/editor/input/ui/AcEdTouchPickStrategy.d.ts.map +1 -0
  474. package/lib/editor/input/ui/AcEdTouchPickStrategy.js +74 -0
  475. package/lib/editor/input/ui/AcEdTouchPickStrategy.js.map +1 -0
  476. package/lib/editor/input/ui/AcEdTouchPointSession.d.ts +198 -0
  477. package/lib/editor/input/ui/AcEdTouchPointSession.d.ts.map +1 -0
  478. package/lib/editor/input/ui/AcEdTouchPointSession.js +329 -0
  479. package/lib/editor/input/ui/AcEdTouchPointSession.js.map +1 -0
  480. package/lib/editor/input/ui/AcEdTouchPointTiming.d.ts +18 -0
  481. package/lib/editor/input/ui/AcEdTouchPointTiming.d.ts.map +1 -0
  482. package/lib/editor/input/ui/AcEdTouchPointTiming.js +18 -0
  483. package/lib/editor/input/ui/AcEdTouchPointTiming.js.map +1 -0
  484. package/lib/editor/input/ui/index.d.ts +13 -0
  485. package/lib/editor/input/ui/index.d.ts.map +1 -1
  486. package/lib/editor/input/ui/index.js +13 -0
  487. package/lib/editor/input/ui/index.js.map +1 -1
  488. package/lib/editor/view/AcEdBaseView.d.ts +144 -39
  489. package/lib/editor/view/AcEdBaseView.d.ts.map +1 -1
  490. package/lib/editor/view/AcEdBaseView.js +210 -41
  491. package/lib/editor/view/AcEdBaseView.js.map +1 -1
  492. package/lib/editor/view/AcEdViewMode.d.ts +34 -0
  493. package/lib/editor/view/AcEdViewMode.d.ts.map +1 -0
  494. package/lib/editor/view/AcEdViewMode.js +35 -0
  495. package/lib/editor/view/AcEdViewMode.js.map +1 -0
  496. package/lib/editor/view/index.d.ts +1 -0
  497. package/lib/editor/view/index.d.ts.map +1 -1
  498. package/lib/editor/view/index.js +1 -0
  499. package/lib/editor/view/index.js.map +1 -1
  500. package/lib/i18n/AcApI18n.d.ts +1 -1
  501. package/lib/i18n/AcApI18n.d.ts.map +1 -1
  502. package/lib/i18n/AcApI18n.js +3 -2
  503. package/lib/i18n/AcApI18n.js.map +1 -1
  504. package/lib/i18n/ar/command.d.ts +465 -0
  505. package/lib/i18n/ar/command.d.ts.map +1 -0
  506. package/lib/i18n/ar/command.js +14 -0
  507. package/lib/i18n/ar/command.js.map +1 -0
  508. package/lib/i18n/ar/jig.d.ts +1251 -0
  509. package/lib/i18n/ar/jig.d.ts.map +1 -0
  510. package/lib/i18n/ar/jig.js +606 -0
  511. package/lib/i18n/ar/jig.js.map +1 -0
  512. package/lib/i18n/ar/main.d.ts +133 -0
  513. package/lib/i18n/ar/main.d.ts.map +1 -0
  514. package/lib/i18n/ar/main.js +132 -0
  515. package/lib/i18n/ar/main.js.map +1 -0
  516. package/lib/i18n/cs/command.d.ts +9 -0
  517. package/lib/i18n/cs/command.d.ts.map +1 -1
  518. package/lib/i18n/cs/command.js +9 -0
  519. package/lib/i18n/cs/command.js.map +1 -1
  520. package/lib/i18n/cs/jig.d.ts +20 -0
  521. package/lib/i18n/cs/jig.d.ts.map +1 -1
  522. package/lib/i18n/cs/jig.js +21 -1
  523. package/lib/i18n/cs/jig.js.map +1 -1
  524. package/lib/i18n/cs/main.d.ts +70 -1
  525. package/lib/i18n/cs/main.d.ts.map +1 -1
  526. package/lib/i18n/cs/main.js +71 -2
  527. package/lib/i18n/cs/main.js.map +1 -1
  528. package/lib/i18n/en/command.d.ts +12 -0
  529. package/lib/i18n/en/command.d.ts.map +1 -1
  530. package/lib/i18n/en/command.js +12 -0
  531. package/lib/i18n/en/command.js.map +1 -1
  532. package/lib/i18n/en/jig.d.ts +20 -0
  533. package/lib/i18n/en/jig.d.ts.map +1 -1
  534. package/lib/i18n/en/jig.js +21 -1
  535. package/lib/i18n/en/jig.js.map +1 -1
  536. package/lib/i18n/en/main.d.ts +70 -1
  537. package/lib/i18n/en/main.d.ts.map +1 -1
  538. package/lib/i18n/en/main.js +71 -2
  539. package/lib/i18n/en/main.js.map +1 -1
  540. package/lib/i18n/index.d.ts.map +1 -1
  541. package/lib/i18n/index.js +8 -0
  542. package/lib/i18n/index.js.map +1 -1
  543. package/lib/i18n/tr/command.d.ts +9 -0
  544. package/lib/i18n/tr/command.d.ts.map +1 -1
  545. package/lib/i18n/tr/command.js +9 -0
  546. package/lib/i18n/tr/command.js.map +1 -1
  547. package/lib/i18n/tr/jig.d.ts +20 -0
  548. package/lib/i18n/tr/jig.d.ts.map +1 -1
  549. package/lib/i18n/tr/jig.js +21 -1
  550. package/lib/i18n/tr/jig.js.map +1 -1
  551. package/lib/i18n/tr/main.d.ts +70 -1
  552. package/lib/i18n/tr/main.d.ts.map +1 -1
  553. package/lib/i18n/tr/main.js +71 -2
  554. package/lib/i18n/tr/main.js.map +1 -1
  555. package/lib/i18n/zh/command.d.ts +12 -0
  556. package/lib/i18n/zh/command.d.ts.map +1 -1
  557. package/lib/i18n/zh/command.js +12 -0
  558. package/lib/i18n/zh/command.js.map +1 -1
  559. package/lib/i18n/zh/jig.d.ts +20 -0
  560. package/lib/i18n/zh/jig.d.ts.map +1 -1
  561. package/lib/i18n/zh/jig.js +21 -1
  562. package/lib/i18n/zh/jig.js.map +1 -1
  563. package/lib/i18n/zh/main.d.ts +70 -1
  564. package/lib/i18n/zh/main.d.ts.map +1 -1
  565. package/lib/i18n/zh/main.js +72 -3
  566. package/lib/i18n/zh/main.js.map +1 -1
  567. package/lib/plugin/AcApPluginManager.d.ts +10 -0
  568. package/lib/plugin/AcApPluginManager.d.ts.map +1 -1
  569. package/lib/plugin/AcApPluginManager.js +18 -0
  570. package/lib/plugin/AcApPluginManager.js.map +1 -1
  571. package/lib/spatialIndex/AcTrRBushSpatialIndex.d.ts.map +1 -1
  572. package/lib/spatialIndex/AcTrRBushSpatialIndex.js +11 -4
  573. package/lib/spatialIndex/AcTrRBushSpatialIndex.js.map +1 -1
  574. package/lib/ui/AcUiAciColorDialog.d.ts +57 -0
  575. package/lib/ui/AcUiAciColorDialog.d.ts.map +1 -0
  576. package/lib/ui/AcUiAciColorDialog.js +91 -0
  577. package/lib/ui/AcUiAciColorDialog.js.map +1 -0
  578. package/lib/ui/AcUiAciPaletteUi.d.ts +118 -0
  579. package/lib/ui/AcUiAciPaletteUi.d.ts.map +1 -0
  580. package/lib/ui/AcUiAciPaletteUi.js +521 -0
  581. package/lib/ui/AcUiAciPaletteUi.js.map +1 -0
  582. package/lib/ui/AcUiDialog.d.ts +38 -2
  583. package/lib/ui/AcUiDialog.d.ts.map +1 -1
  584. package/lib/ui/AcUiDialog.js +45 -16
  585. package/lib/ui/AcUiDialog.js.map +1 -1
  586. package/lib/ui/AcUiDrawStyle.d.ts +59 -0
  587. package/lib/ui/AcUiDrawStyle.d.ts.map +1 -0
  588. package/lib/ui/AcUiDrawStyle.js +94 -0
  589. package/lib/ui/AcUiDrawStyle.js.map +1 -0
  590. package/lib/ui/AcUiDrawStyleSessionAccessory.d.ts +108 -0
  591. package/lib/ui/AcUiDrawStyleSessionAccessory.d.ts.map +1 -0
  592. package/lib/ui/AcUiDrawStyleSessionAccessory.js +455 -0
  593. package/lib/ui/AcUiDrawStyleSessionAccessory.js.map +1 -0
  594. package/lib/ui/AcUiFullscreenPanel.d.ts +89 -0
  595. package/lib/ui/AcUiFullscreenPanel.d.ts.map +1 -0
  596. package/lib/ui/AcUiFullscreenPanel.js +224 -0
  597. package/lib/ui/AcUiFullscreenPanel.js.map +1 -0
  598. package/lib/ui/AcUiHelpPanel.d.ts +49 -0
  599. package/lib/ui/AcUiHelpPanel.d.ts.map +1 -0
  600. package/lib/ui/AcUiHelpPanel.js +124 -0
  601. package/lib/ui/AcUiHelpPanel.js.map +1 -0
  602. package/lib/ui/AcUiMobileSessionPanel.d.ts +174 -0
  603. package/lib/ui/AcUiMobileSessionPanel.d.ts.map +1 -0
  604. package/lib/ui/AcUiMobileSessionPanel.js +557 -0
  605. package/lib/ui/AcUiMobileSessionPanel.js.map +1 -0
  606. package/lib/ui/AcUiShortCutToolbar.d.ts +136 -0
  607. package/lib/ui/AcUiShortCutToolbar.d.ts.map +1 -0
  608. package/lib/ui/AcUiShortCutToolbar.js +250 -0
  609. package/lib/ui/AcUiShortCutToolbar.js.map +1 -0
  610. package/lib/ui/AcUiSimpleToolbar.d.ts +110 -0
  611. package/lib/ui/AcUiSimpleToolbar.d.ts.map +1 -0
  612. package/lib/ui/AcUiSimpleToolbar.js +431 -0
  613. package/lib/ui/AcUiSimpleToolbar.js.map +1 -0
  614. package/lib/ui/AcUiTextHeightDialog.d.ts +85 -0
  615. package/lib/ui/AcUiTextHeightDialog.d.ts.map +1 -0
  616. package/lib/ui/AcUiTextHeightDialog.js +205 -0
  617. package/lib/ui/AcUiTextHeightDialog.js.map +1 -0
  618. package/lib/ui/AcUiTextHeightDialogHelpers.d.ts +54 -0
  619. package/lib/ui/AcUiTextHeightDialogHelpers.d.ts.map +1 -0
  620. package/lib/ui/AcUiTextHeightDialogHelpers.js +128 -0
  621. package/lib/ui/AcUiTextHeightDialogHelpers.js.map +1 -0
  622. package/lib/ui/AcUiTouchPointTutorialDialog.d.ts +18 -0
  623. package/lib/ui/AcUiTouchPointTutorialDialog.d.ts.map +1 -0
  624. package/lib/ui/AcUiTouchPointTutorialDialog.js +58 -0
  625. package/lib/ui/AcUiTouchPointTutorialDialog.js.map +1 -0
  626. package/lib/ui/icons.d.ts +175 -0
  627. package/lib/ui/icons.d.ts.map +1 -0
  628. package/lib/ui/icons.js +227 -0
  629. package/lib/ui/icons.js.map +1 -0
  630. package/lib/ui/index.d.ts +14 -2
  631. package/lib/ui/index.d.ts.map +1 -1
  632. package/lib/ui/index.js +14 -2
  633. package/lib/ui/index.js.map +1 -1
  634. package/lib/ui/touch-point-tutorial.d.ts +64 -0
  635. package/lib/ui/touch-point-tutorial.d.ts.map +1 -0
  636. package/lib/ui/touch-point-tutorial.js +271 -0
  637. package/lib/ui/touch-point-tutorial.js.map +1 -0
  638. package/lib/ui-html-entry.d.ts +31 -0
  639. package/lib/ui-html-entry.d.ts.map +1 -0
  640. package/lib/ui-html-entry.js +23 -0
  641. package/lib/ui-html-entry.js.map +1 -0
  642. package/lib/util/AcApAciPalette.d.ts +7 -0
  643. package/lib/util/AcApAciPalette.d.ts.map +1 -0
  644. package/lib/util/AcApAciPalette.js +51 -0
  645. package/lib/util/AcApAciPalette.js.map +1 -0
  646. package/lib/util/AcApCommandUtil.d.ts +15 -0
  647. package/lib/util/AcApCommandUtil.d.ts.map +1 -0
  648. package/lib/util/AcApCommandUtil.js +38 -0
  649. package/lib/util/AcApCommandUtil.js.map +1 -0
  650. package/lib/util/AcApCssColor.d.ts +10 -0
  651. package/lib/util/AcApCssColor.d.ts.map +1 -1
  652. package/lib/util/AcApCssColor.js +52 -0
  653. package/lib/util/AcApCssColor.js.map +1 -1
  654. package/lib/util/AcApMeasurementUnits.d.ts +13 -1
  655. package/lib/util/AcApMeasurementUnits.d.ts.map +1 -1
  656. package/lib/util/AcApMeasurementUnits.js +144 -10
  657. package/lib/util/AcApMeasurementUnits.js.map +1 -1
  658. package/lib/util/AcApMeasurementUtil.d.ts +30 -9
  659. package/lib/util/AcApMeasurementUtil.d.ts.map +1 -1
  660. package/lib/util/AcApMeasurementUtil.js +70 -40
  661. package/lib/util/AcApMeasurementUtil.js.map +1 -1
  662. package/lib/util/AcApOpenFileErrorMessage.d.ts +25 -0
  663. package/lib/util/AcApOpenFileErrorMessage.d.ts.map +1 -0
  664. package/lib/util/AcApOpenFileErrorMessage.js +121 -0
  665. package/lib/util/AcApOpenFileErrorMessage.js.map +1 -0
  666. package/lib/util/index.d.ts +3 -0
  667. package/lib/util/index.d.ts.map +1 -1
  668. package/lib/util/index.js +3 -0
  669. package/lib/util/index.js.map +1 -1
  670. package/lib/view/AcApCompareDisplay.d.ts +37 -0
  671. package/lib/view/AcApCompareDisplay.d.ts.map +1 -0
  672. package/lib/view/AcApCompareDisplay.js +8 -0
  673. package/lib/view/AcApCompareDisplay.js.map +1 -0
  674. package/lib/view/AcApReadingMode.d.ts +52 -0
  675. package/lib/view/AcApReadingMode.d.ts.map +1 -0
  676. package/lib/view/AcApReadingMode.js +81 -0
  677. package/lib/view/AcApReadingMode.js.map +1 -0
  678. package/lib/view/AcEdReviewOverlayPick.d.ts +9 -0
  679. package/lib/view/AcEdReviewOverlayPick.d.ts.map +1 -1
  680. package/lib/view/AcEdReviewOverlayPick.js +30 -1
  681. package/lib/view/AcEdReviewOverlayPick.js.map +1 -1
  682. package/lib/view/AcEdViewKeyHandler.d.ts.map +1 -1
  683. package/lib/view/AcEdViewKeyHandler.js +6 -1
  684. package/lib/view/AcEdViewKeyHandler.js.map +1 -1
  685. package/lib/view/AcTrInheritedLayerMaterialMapper.d.ts +6 -1
  686. package/lib/view/AcTrInheritedLayerMaterialMapper.d.ts.map +1 -1
  687. package/lib/view/AcTrInheritedLayerMaterialMapper.js +9 -1
  688. package/lib/view/AcTrInheritedLayerMaterialMapper.js.map +1 -1
  689. package/lib/view/AcTrLayer.d.ts +6 -0
  690. package/lib/view/AcTrLayer.d.ts.map +1 -1
  691. package/lib/view/AcTrLayer.js +8 -0
  692. package/lib/view/AcTrLayer.js.map +1 -1
  693. package/lib/view/AcTrLayout.d.ts +12 -0
  694. package/lib/view/AcTrLayout.d.ts.map +1 -1
  695. package/lib/view/AcTrLayout.js +35 -12
  696. package/lib/view/AcTrLayout.js.map +1 -1
  697. package/lib/view/AcTrLayoutView.d.ts +25 -1
  698. package/lib/view/AcTrLayoutView.d.ts.map +1 -1
  699. package/lib/view/AcTrLayoutView.js +62 -1
  700. package/lib/view/AcTrLayoutView.js.map +1 -1
  701. package/lib/view/AcTrScene.d.ts +7 -0
  702. package/lib/view/AcTrScene.d.ts.map +1 -1
  703. package/lib/view/AcTrScene.js +13 -0
  704. package/lib/view/AcTrScene.js.map +1 -1
  705. package/lib/view/AcTrView2d.d.ts +79 -2
  706. package/lib/view/AcTrView2d.d.ts.map +1 -1
  707. package/lib/view/AcTrView2d.js +407 -57
  708. package/lib/view/AcTrView2d.js.map +1 -1
  709. package/lib/view/AcTrViewSessionState.d.ts +32 -0
  710. package/lib/view/AcTrViewSessionState.d.ts.map +1 -0
  711. package/lib/view/AcTrViewSessionState.js +2 -0
  712. package/lib/view/AcTrViewSessionState.js.map +1 -0
  713. package/lib/view/index.d.ts +3 -0
  714. package/lib/view/index.d.ts.map +1 -1
  715. package/lib/view/index.js +3 -0
  716. package/lib/view/index.js.map +1 -1
  717. package/package.json +15 -8
  718. package/src/ui/icons.ts +387 -0
  719. package/lib/app/AcDbOpenDatabaseOptions.d.ts.map +0 -1
  720. package/lib/app/AcDbOpenDatabaseOptions.js.map +0 -1
  721. package/lib/ui/AcApDrawStyle.d.ts +0 -81
  722. package/lib/ui/AcApDrawStyle.d.ts.map +0 -1
  723. package/lib/ui/AcApDrawStyle.js +0 -170
  724. package/lib/ui/AcApDrawStyle.js.map +0 -1
  725. package/lib/ui/AcApDrawStyleToolbar.d.ts +0 -129
  726. package/lib/ui/AcApDrawStyleToolbar.d.ts.map +0 -1
  727. package/lib/ui/AcApDrawStyleToolbar.js +0 -607
  728. package/lib/ui/AcApDrawStyleToolbar.js.map +0 -1
@@ -88,13 +88,23 @@ var __values = (this && this.__values) || function(o) {
88
88
  import { acdbHostApplicationServices, AcDbSystemVariables, AcDbSysVarManager, AcGeBox2d } from '@mlightcad/data-model';
89
89
  import { AcApDocManager, AcApSettingManager } from '../../../app';
90
90
  import { AcApI18n } from '../../../i18n';
91
+ import { AcUiTouchPointTutorialDialog } from '../../../ui/AcUiTouchPointTutorialDialog';
92
+ import { acedIsMobileUiLayout, acedShouldHideDesktopCommandLine, acedSubscribeUiLayout } from '../../global/AcEdUiLayout';
91
93
  import { AcEdSelectionSet } from '../AcEdSelectionSet';
92
94
  import { AcEdAngleHandler, AcEdDistanceHandler, AcEdDoubleHandler, AcEdIntegerHandler, AcEdPointHandler, AcEdStringHandler } from '../handler';
93
95
  import { AcEdKeywordHandler } from '../handler/AcEdKeywordHandler';
96
+ import { AcEdMarkerManager } from '../marker';
94
97
  import { AcEdPromptBoxResult, AcEdPromptDoubleResult, AcEdPromptEntityResult, AcEdPromptIntegerResult, AcEdPromptKeywordOptions, AcEdPromptOptions, AcEdPromptPointOptions, AcEdPromptPointResult, AcEdPromptResult, AcEdPromptSelectionResult, AcEdPromptStatus } from '../prompt';
95
98
  import { AcEdCommandLine } from './AcEdCommandLine';
99
+ import { AcEdEntityPickCancelChrome } from './AcEdEntityPickCancelChrome';
96
100
  import { AcEdFloatingInput } from './AcEdFloatingInput';
97
101
  import { AcEdFloatingMessage } from './AcEdFloatingMessage';
102
+ import { acedInteractionStrategy } from './AcEdInteractionStrategy';
103
+ import { acedAttachMobileBoxGesture } from './AcEdMobileBoxGesture';
104
+ import { AcEdMobileCommandChrome } from './AcEdMobileCommandChrome';
105
+ import { acedComputeSessionMetrics } from './AcEdMobileSessionMetrics';
106
+ import { AcEdSessionAccessoryController } from './AcEdSessionAccessoryController';
107
+ import { acedIsTouchDerivedMouseEvent, acedIsTouchLongPressContextMenu, acedShouldIgnoreCompatMouse } from './AcEdTouchPointSession';
98
108
  /**
99
109
  * Internal control-flow error used to propagate keyword picks out of
100
110
  * floating-input loops.
@@ -139,10 +149,23 @@ var AcEdInputManager = /** @class */ (function () {
139
149
  * positioning and live preview updates.
140
150
  *
141
151
  * @param view - The view associated with the input manager
152
+ * @param editorEvents - Editor event bus; passed in because `view.editor` is
153
+ * not assigned until {@link AcEditor} finishes constructing.
142
154
  */
143
- function AcEdInputManager(view) {
155
+ function AcEdInputManager(view, editorEvents) {
156
+ var _this = this;
144
157
  /** Stores last confirmed point from getPoint() or getBox() */
145
158
  this.lastPoint = null;
159
+ /**
160
+ * Plus marks at confirmed pick points for the active command.
161
+ * Positions accumulate across sequential {@link getPoint} prompts (including
162
+ * scripted ones); DOM marks appear only when a later interactive prompt
163
+ * starts so single-point commands do not flash a mark. Cleared on command end.
164
+ */
165
+ this._confirmedPointMarks = null;
166
+ this._confirmedPointPositions = [];
167
+ /** Top-right X shown during mobile entity picks (below message bar). */
168
+ this._entityPickCancel = null;
146
169
  /** Buffered command-line style inputs (each item is one Enter-confirmed value). */
147
170
  this._scriptInputs = [];
148
171
  /** Current modifier key state during input sessions. */
@@ -172,7 +195,12 @@ var AcEdInputManager = /** @class */ (function () {
172
195
  * their sub-prompts sequentially), so a single slot is sufficient.
173
196
  */
174
197
  this._activeRejector = null;
198
+ /** Latest cancel callback for {@link _entityPickCancel}. */
199
+ this._entityPickCancelOnCancel = null;
175
200
  this.view = view;
201
+ this._boundRepositionConfirmedPointMarks = function () {
202
+ return _this.repositionConfirmedPointMarks();
203
+ };
176
204
  this.injectCSS();
177
205
  // Newly added UI overlays (command line, previews) are container-local.
178
206
  // Ensure absolute-positioned children are anchored to this view only.
@@ -182,11 +210,80 @@ var AcEdInputManager = /** @class */ (function () {
182
210
  }
183
211
  var commandLine = new AcEdCommandLine(this.view.container);
184
212
  this._commandLine = commandLine;
185
- commandLine.visible = AcApSettingManager.instance.isShowCommandLine;
213
+ this._mobileChrome = new AcEdMobileCommandChrome(this.view.container);
214
+ this._sessionAccessoryController = new AcEdSessionAccessoryController({
215
+ view: this.view,
216
+ getMobileChrome: function () { return _this._mobileChrome; },
217
+ isMobilePromptOpen: function () { return _this._mobileChrome.isOpen; },
218
+ getEditorEvents: function () { return editorEvents; }
219
+ });
220
+ this._sessionAccessoryController.bindEditorEvents();
221
+ this.syncDesktopCommandLineVisibility();
186
222
  AcApSettingManager.instance.events.modified.addEventListener(function () {
187
- commandLine.visible = AcApSettingManager.instance.isShowCommandLine;
223
+ _this.syncDesktopCommandLineVisibility();
224
+ });
225
+ acedSubscribeUiLayout(function () {
226
+ _this.syncDesktopCommandLineVisibility();
227
+ if (!acedInteractionStrategy().point.usesSessionChrome &&
228
+ _this._mobileChrome.isOpen) {
229
+ _this._mobileChrome.hide();
230
+ }
231
+ _this._sessionAccessoryController.remountActiveSessionAccessory();
232
+ });
233
+ this.view.events.viewChanged.addEventListener(this._boundRepositionConfirmedPointMarks);
234
+ this.view.events.viewResize.addEventListener(this._boundRepositionConfirmedPointMarks);
235
+ // Safety net: if a prompt failed to clean up, close the mobile session
236
+ // panel when the command finishes so the bottom chrome cannot linger.
237
+ // Also clear confirmed-point plus marks for the finished command.
238
+ editorEvents.commandEnded.addEventListener(function () {
239
+ _this.clearConfirmedPointMarks();
240
+ if (_this._mobileChrome.isOpen) {
241
+ _this.endMobilePrompt();
242
+ }
188
243
  });
189
244
  }
245
+ Object.defineProperty(AcEdInputManager.prototype, "isMobilePromptOpen", {
246
+ /**
247
+ * Whether the phone/pad bottom session panel is open for the current prompt.
248
+ */
249
+ get: function () {
250
+ return this._mobileChrome.isOpen;
251
+ },
252
+ enumerable: false,
253
+ configurable: true
254
+ });
255
+ Object.defineProperty(AcEdInputManager.prototype, "mobileChrome", {
256
+ /** Mobile session panel chrome. */
257
+ get: function () {
258
+ return this._mobileChrome;
259
+ },
260
+ enumerable: false,
261
+ configurable: true
262
+ });
263
+ Object.defineProperty(AcEdInputManager.prototype, "sessionAccessoryHost", {
264
+ /** Active mount target for session accessories. */
265
+ get: function () {
266
+ return this._sessionAccessoryController.sessionAccessoryHost;
267
+ },
268
+ enumerable: false,
269
+ configurable: true
270
+ });
271
+ Object.defineProperty(AcEdInputManager.prototype, "selectionSessionAccessory", {
272
+ /** Selection-driven accessory shown when no command accessory is mounted. */
273
+ get: function () {
274
+ return this._sessionAccessoryController.selectionSessionAccessory;
275
+ },
276
+ /**
277
+ * Updates the selection-driven accessory on the session accessory controller.
278
+ *
279
+ * @param value - Accessory to show on selection, or `null` to clear.
280
+ */
281
+ set: function (value) {
282
+ this._sessionAccessoryController.selectionSessionAccessory = value;
283
+ },
284
+ enumerable: false,
285
+ configurable: true
286
+ });
190
287
  Object.defineProperty(AcEdInputManager.prototype, "isActive", {
191
288
  /**
192
289
  * The flag to indicate whether it is currently in an “input acquisition” mode (e.g., point
@@ -250,6 +347,107 @@ var AcEdInputManager = /** @class */ (function () {
250
347
  this._activeRejector = null;
251
348
  rejector();
252
349
  };
350
+ /**
351
+ * Shows or hides the desktop command line according to settings and layout.
352
+ */
353
+ AcEdInputManager.prototype.syncDesktopCommandLineVisibility = function () {
354
+ var hide = acedShouldHideDesktopCommandLine(this.active);
355
+ this._commandLine.visible =
356
+ !hide && AcApSettingManager.instance.isShowCommandLine;
357
+ };
358
+ /**
359
+ * Visible keyword chips for the mobile session panel.
360
+ */
361
+ AcEdInputManager.prototype.mobileKeywordChips = function (options) {
362
+ var _a, _b;
363
+ return ((_b = (_a = options.keywords) === null || _a === void 0 ? void 0 : _a.toArray()) !== null && _b !== void 0 ? _b : [])
364
+ .filter(function (kw) { return kw.visible; })
365
+ .map(function (kw) { return ({
366
+ displayName: kw.displayName,
367
+ globalName: kw.globalName,
368
+ enabled: kw.enabled
369
+ }); });
370
+ };
371
+ /**
372
+ * Opens the mobile command chrome for the current prompt when on phone/pad.
373
+ */
374
+ AcEdInputManager.prototype.beginMobilePrompt = function (args) {
375
+ var _a;
376
+ this.syncDesktopCommandLineVisibility();
377
+ if (!acedInteractionStrategy().point.usesSessionChrome)
378
+ return;
379
+ this._mobileChrome.show({
380
+ prompt: args.prompt,
381
+ keywords: (_a = args.keywords) !== null && _a !== void 0 ? _a : [],
382
+ allowNone: args.allowNone,
383
+ showMetrics: args.showMetrics
384
+ }, {
385
+ onConfirm: args.onConfirm,
386
+ onCancel: args.onCancel,
387
+ onKeyword: args.onKeyword
388
+ });
389
+ this._sessionAccessoryController.remountActiveSessionAccessory();
390
+ if (args.touchPointTutorial) {
391
+ void AcUiTouchPointTutorialDialog.maybeShow(this.view.container);
392
+ }
393
+ };
394
+ /** Closes the mobile command chrome and restores desktop CLI visibility. */
395
+ AcEdInputManager.prototype.endMobilePrompt = function () {
396
+ this._mobileChrome.hide();
397
+ this.syncDesktopCommandLineVisibility();
398
+ this._sessionAccessoryController.remountActiveSessionAccessory();
399
+ };
400
+ /**
401
+ * Shows the top-right entity-pick cancel button on mobile layouts only.
402
+ *
403
+ * @param onCancel - Invoked when the user taps X.
404
+ */
405
+ AcEdInputManager.prototype.showEntityPickCancel = function (onCancel) {
406
+ var _this = this;
407
+ if (!acedIsMobileUiLayout()) {
408
+ this.hideEntityPickCancel();
409
+ return;
410
+ }
411
+ if (!this._entityPickCancel) {
412
+ this._entityPickCancel = new AcEdEntityPickCancelChrome({
413
+ container: this.view.container,
414
+ onCancel: function () { var _a; return (_a = _this._entityPickCancelOnCancel) === null || _a === void 0 ? void 0 : _a.call(_this); },
415
+ label: AcApI18n.t('main.entityPick.cancel'),
416
+ topOffsetPx: 48
417
+ });
418
+ }
419
+ else {
420
+ this._entityPickCancel.setLabel(AcApI18n.t('main.entityPick.cancel'));
421
+ }
422
+ this._entityPickCancelOnCancel = onCancel;
423
+ this._entityPickCancel.show();
424
+ };
425
+ /** Hides the mobile entity-pick cancel button. */
426
+ AcEdInputManager.prototype.hideEntityPickCancel = function () {
427
+ var _a;
428
+ this._entityPickCancelOnCancel = null;
429
+ (_a = this._entityPickCancel) === null || _a === void 0 ? void 0 : _a.hide();
430
+ };
431
+ /**
432
+ * Pushes live length/angle/Δ values into the mobile session panel.
433
+ */
434
+ AcEdInputManager.prototype.pushMobileMetrics = function (cursor, basePoint) {
435
+ if (!this._mobileChrome.isOpen)
436
+ return;
437
+ var metrics = acedComputeSessionMetrics(cursor, basePoint);
438
+ // A zero-length rubber-band (cursor still on lastPoint after lift / before
439
+ // the next press) must not wipe the previous readout.
440
+ if (metrics.hasBasePoint && metrics.length === 0)
441
+ return;
442
+ this._mobileChrome.setMetrics(metrics, {
443
+ length: this.formatNumber(metrics.length, 'distance'),
444
+ angle: this.formatNumber(metrics.angleDeg, 'angle'),
445
+ dx: this.formatNumber(metrics.dx, 'point'),
446
+ dy: this.formatNumber(metrics.dy, 'point'),
447
+ x: this.formatNumber(metrics.x, 'point'),
448
+ y: this.formatNumber(metrics.y, 'point')
449
+ });
450
+ };
253
451
  /**
254
452
  * Queue scripted inputs for subsequent getXXX calls.
255
453
  * One array item equals one Enter-confirmed value.
@@ -710,7 +908,8 @@ var AcEdInputManager = /** @class */ (function () {
710
908
  inputCount: 1,
711
909
  promptOptions: options,
712
910
  handler: handler,
713
- getDynamicValue: getDynamicValue
911
+ getDynamicValue: getDynamicValue,
912
+ showMetrics: false
714
913
  });
715
914
  };
716
915
  /**
@@ -779,6 +978,7 @@ var AcEdInputManager = /** @class */ (function () {
779
978
  floatingInput === null || floatingInput === void 0 ? void 0 : floatingInput.setBasePoint(firstPoint, {
780
979
  showBaseLineOnly: !options.useDashedLine
781
980
  });
981
+ _this._mobileChrome.update({ showMetrics: true });
782
982
  return false;
783
983
  }
784
984
  return true;
@@ -998,36 +1198,49 @@ var AcEdInputManager = /** @class */ (function () {
998
1198
  return [2 /*return*/, scriptedValue];
999
1199
  }
1000
1200
  return [2 /*return*/, new Promise(function (resolve, reject) {
1001
- // Register a rejector so `cancelActiveInput()` (called by the
1002
- // command dispatcher when a new command pre-empts the running one)
1003
- // can abort this keyword-only prompt the same way ESC would.
1004
- var rejector = function (err) {
1201
+ var settled = false;
1202
+ var finish = function (action) {
1203
+ if (settled)
1204
+ return;
1205
+ settled = true;
1206
+ _this.active = false;
1005
1207
  if (_this._activeRejector === rejector) {
1006
1208
  _this._activeRejector = null;
1007
1209
  }
1008
- // Tear down the floating command-line keyword session so its
1009
- // input box and event listeners do not linger after cancel.
1010
1210
  _this._commandLine.cancelActiveSession();
1011
- reject(err !== null && err !== void 0 ? err : new Error('cancelled'));
1211
+ _this.endMobilePrompt();
1212
+ action();
1213
+ };
1214
+ var rejector = function (err) {
1215
+ finish(function () { return reject(err !== null && err !== void 0 ? err : new Error('cancelled')); });
1012
1216
  };
1013
1217
  _this._activeRejector = rejector;
1014
- _this._commandLine.getKeywords(options, true).then(function (result) {
1015
- if (_this._activeRejector === rejector) {
1016
- _this._activeRejector = null;
1218
+ // Pad hides the desktop CLI only while a prompt session is active.
1219
+ _this.active = true;
1220
+ _this.beginMobilePrompt({
1221
+ prompt: options.getDisplayMessage(),
1222
+ keywords: _this.mobileKeywordChips(options),
1223
+ allowNone: options.allowNone,
1224
+ showMetrics: false,
1225
+ onConfirm: function () {
1226
+ if (options.allowNone) {
1227
+ rejector(new AcEdNoneInputError());
1228
+ }
1229
+ },
1230
+ onCancel: function () { return rejector(); },
1231
+ onKeyword: function (globalName) {
1232
+ finish(function () { return resolve(globalName); });
1017
1233
  }
1234
+ });
1235
+ _this._commandLine.getKeywords(options, true).then(function (result) {
1018
1236
  if (!result) {
1019
- reject(options.allowNone
1237
+ rejector(options.allowNone
1020
1238
  ? new AcEdNoneInputError()
1021
1239
  : new Error('cancelled'));
1022
1240
  return;
1023
1241
  }
1024
- resolve(result);
1025
- }, function (err) {
1026
- if (_this._activeRejector === rejector) {
1027
- _this._activeRejector = null;
1028
- }
1029
- reject(err);
1030
- });
1242
+ finish(function () { return resolve(result); });
1243
+ }, function (err) { return rejector(err instanceof Error ? err : undefined); });
1031
1244
  })];
1032
1245
  });
1033
1246
  }); }, function (value) { return new AcEdPromptResult(AcEdPromptStatus.OK, value); }, function (status) { return new AcEdPromptResult(status); }, { keyword: false })];
@@ -1083,14 +1296,16 @@ var AcEdInputManager = /** @class */ (function () {
1083
1296
  var startCanvas = null;
1084
1297
  var previewEl = null;
1085
1298
  var lastDragEvent = null;
1086
- var updateSelectionPreview = function (e) {
1299
+ var disposeGesture = null;
1300
+ var updateSelectionPreview = function (clientX, clientY, action) {
1301
+ if (action === void 0) { action = 'add'; }
1087
1302
  if (!startWcs || !previewEl || !startCanvas)
1088
1303
  return;
1089
- var curWcs = _this.view.screenToWorld(_this.view.viewportToCanvas({ x: e.clientX, y: e.clientY }));
1090
1304
  var curCanvas = _this.view.viewportToCanvas({
1091
- x: e.clientX,
1092
- y: e.clientY
1305
+ x: clientX,
1306
+ y: clientY
1093
1307
  });
1308
+ var curWcs = _this.view.screenToWorld(curCanvas);
1094
1309
  var p1 = _this.view.worldToScreen(startWcs);
1095
1310
  var p2 = _this.view.worldToScreen(curWcs);
1096
1311
  var left = Math.min(p1.x, p2.x);
@@ -1098,7 +1313,6 @@ var AcEdInputManager = /** @class */ (function () {
1098
1313
  var width = Math.abs(p1.x - p2.x);
1099
1314
  var height = Math.abs(p1.y - p2.y);
1100
1315
  var mode = _this.view.getSelectionMode(startCanvas, curCanvas);
1101
- var action = _this.view.getSelectionActionFromEvent(e, 'add');
1102
1316
  var style = _this.view.getSelectionPreviewStyle(mode, action);
1103
1317
  Object.assign(previewEl.style, {
1104
1318
  left: "".concat(left, "px"),
@@ -1112,7 +1326,7 @@ var AcEdInputManager = /** @class */ (function () {
1112
1326
  };
1113
1327
  var onViewChanged = function () {
1114
1328
  if (lastDragEvent) {
1115
- updateSelectionPreview(lastDragEvent);
1329
+ updateSelectionPreview(lastDragEvent.clientX, lastDragEvent.clientY, _this.view.getSelectionActionFromEvent(lastDragEvent, 'add'));
1116
1330
  }
1117
1331
  };
1118
1332
  var settled = false;
@@ -1133,6 +1347,10 @@ var AcEdInputManager = /** @class */ (function () {
1133
1347
  previewEl === null || previewEl === void 0 ? void 0 : previewEl.remove();
1134
1348
  keywordSession === null || keywordSession === void 0 ? void 0 : keywordSession.cancel();
1135
1349
  _this._commandLine.clear();
1350
+ _this.endMobilePrompt();
1351
+ disposeGesture === null || disposeGesture === void 0 ? void 0 : disposeGesture();
1352
+ disposeGesture = null;
1353
+ _this.view.setNavigationEnabled(true);
1136
1354
  document.removeEventListener('keydown', keyHandler);
1137
1355
  _this.view.canvas.removeEventListener('mousedown', mouseDown);
1138
1356
  _this.view.canvas.removeEventListener('mousemove', mouseMove);
@@ -1142,6 +1360,20 @@ var AcEdInputManager = /** @class */ (function () {
1142
1360
  _this.view.events.viewResize.removeEventListener(onViewChanged);
1143
1361
  };
1144
1362
  _this._activeRejector = rejector;
1363
+ _this.beginMobilePrompt({
1364
+ prompt: options.getDisplayMessage(),
1365
+ keywords: _this.mobileKeywordChips(options),
1366
+ allowNone: true,
1367
+ showMetrics: false,
1368
+ onConfirm: function () {
1369
+ cleanup();
1370
+ resolve(__spreadArray([], __read(selected), false));
1371
+ },
1372
+ onCancel: function () { return rejector(); },
1373
+ onKeyword: function (globalName) {
1374
+ rejector(new AcEdKeywordInputError(globalName));
1375
+ }
1376
+ });
1145
1377
  keywordSession === null || keywordSession === void 0 ? void 0 : keywordSession.promise.then(function (keyword) {
1146
1378
  if (settled)
1147
1379
  return;
@@ -1168,51 +1400,12 @@ var AcEdInputManager = /** @class */ (function () {
1168
1400
  e.preventDefault();
1169
1401
  }
1170
1402
  };
1171
- var mouseDown = function (e) {
1172
- if (e.button === 2) {
1173
- if (_this.shouldUseRightClickEnter()) {
1174
- e.preventDefault();
1175
- cleanup();
1176
- resolve(__spreadArray([], __read(selected), false));
1177
- }
1178
- return;
1179
- }
1180
- if (e.button !== 0)
1181
- return;
1182
- startCanvas = _this.view.viewportToCanvas({
1183
- x: e.clientX,
1184
- y: e.clientY
1185
- });
1186
- startWcs = _this.view.screenToWorld(startCanvas);
1187
- previewEl = document.createElement('div');
1188
- previewEl.className = 'ml-jig-preview-rect';
1189
- _this.view.container.appendChild(previewEl);
1190
- };
1191
- var mouseMove = function (e) {
1192
- if (e.buttons !== 1)
1193
- return;
1194
- if (!startWcs || !previewEl || !startCanvas)
1195
- return;
1196
- lastDragEvent = e;
1197
- updateSelectionPreview(e);
1403
+ var clientToCanvas = function (clientX, clientY) {
1404
+ return _this.view.viewportToCanvas({ x: clientX, y: clientY });
1198
1405
  };
1199
- var mouseUp = function (e) {
1406
+ var applySelectionAt = function (endCanvas, endWcs, action, isClick) {
1200
1407
  var e_2, _a;
1201
- if (e.button !== 0)
1202
- return;
1203
- if (!startWcs || !startCanvas)
1204
- return;
1205
- var endWcs = _this.view.screenToWorld(_this.view.viewportToCanvas({ x: e.clientX, y: e.clientY }));
1206
- var endCanvas = _this.view.viewportToCanvas({
1207
- x: e.clientX,
1208
- y: e.clientY
1209
- });
1210
- previewEl === null || previewEl === void 0 ? void 0 : previewEl.remove();
1211
- previewEl = null;
1212
- lastDragEvent = null;
1213
- // Click selection
1214
- var action = _this.view.getSelectionActionFromEvent(e, 'add');
1215
- if (_this.view.isSelectionClick(startCanvas, endCanvas)) {
1408
+ if (isClick) {
1216
1409
  var picked = _this.view.pick(endWcs);
1217
1410
  if (picked.length > 0) {
1218
1411
  _this.view.applySelection([picked[0].id], action);
@@ -1221,8 +1414,7 @@ var AcEdInputManager = /** @class */ (function () {
1221
1414
  _this.view.selectionSet.clear();
1222
1415
  }
1223
1416
  }
1224
- else {
1225
- // Box selection
1417
+ else if (startWcs && startCanvas) {
1226
1418
  var box = new AcGeBox2d()
1227
1419
  .expandByPoint(startWcs)
1228
1420
  .expandByPoint(endWcs);
@@ -1243,15 +1435,113 @@ var AcEdInputManager = /** @class */ (function () {
1243
1435
  }
1244
1436
  finally { if (e_2) throw e_2.error; }
1245
1437
  }
1246
- if (options.singleOnly && action !== 'remove') {
1247
- if (selected.size > 0) {
1438
+ if (options.singleOnly &&
1439
+ action !== 'remove' &&
1440
+ selected.size > 0) {
1441
+ cleanup();
1442
+ resolve(__spreadArray([], __read(selected), false));
1443
+ }
1444
+ };
1445
+ var beginPreview = function (clientX, clientY) {
1446
+ startCanvas = clientToCanvas(clientX, clientY);
1447
+ startWcs = _this.view.screenToWorld(startCanvas);
1448
+ previewEl === null || previewEl === void 0 ? void 0 : previewEl.remove();
1449
+ previewEl = document.createElement('div');
1450
+ previewEl.className = 'ml-jig-preview-rect';
1451
+ _this.view.container.appendChild(previewEl);
1452
+ };
1453
+ var clearBoxPreview = function () {
1454
+ previewEl === null || previewEl === void 0 ? void 0 : previewEl.remove();
1455
+ previewEl = null;
1456
+ lastDragEvent = null;
1457
+ startWcs = null;
1458
+ startCanvas = null;
1459
+ };
1460
+ var mouseDown = function (e) {
1461
+ if (e.button === 2) {
1462
+ if (_this.shouldUseRightClickEnter()) {
1463
+ e.preventDefault();
1248
1464
  cleanup();
1249
1465
  resolve(__spreadArray([], __read(selected), false));
1250
1466
  }
1467
+ return;
1468
+ }
1469
+ if (e.button !== 0)
1470
+ return;
1471
+ if (acedIsTouchDerivedMouseEvent(e) ||
1472
+ acedShouldIgnoreCompatMouse()) {
1473
+ return;
1251
1474
  }
1475
+ beginPreview(e.clientX, e.clientY);
1476
+ };
1477
+ var mouseMove = function (e) {
1478
+ if (e.buttons !== 1)
1479
+ return;
1480
+ if (!startWcs || !previewEl || !startCanvas)
1481
+ return;
1482
+ if (acedIsTouchDerivedMouseEvent(e) ||
1483
+ acedShouldIgnoreCompatMouse()) {
1484
+ return;
1485
+ }
1486
+ lastDragEvent = e;
1487
+ updateSelectionPreview(e.clientX, e.clientY, _this.view.getSelectionActionFromEvent(e, 'add'));
1488
+ };
1489
+ var mouseUp = function (e) {
1490
+ if (e.button !== 0)
1491
+ return;
1492
+ if (!startWcs || !startCanvas)
1493
+ return;
1494
+ if (acedIsTouchDerivedMouseEvent(e) ||
1495
+ acedShouldIgnoreCompatMouse()) {
1496
+ return;
1497
+ }
1498
+ var endCanvas = clientToCanvas(e.clientX, e.clientY);
1499
+ var endWcs = _this.view.screenToWorld(endCanvas);
1500
+ var isClick = _this.view.isSelectionClick(startCanvas, endCanvas);
1501
+ var action = _this.view.getSelectionActionFromEvent(e, 'add');
1502
+ previewEl === null || previewEl === void 0 ? void 0 : previewEl.remove();
1503
+ previewEl = null;
1504
+ lastDragEvent = null;
1505
+ applySelectionAt(endCanvas, endWcs, action, isClick);
1252
1506
  startWcs = null;
1253
1507
  startCanvas = null;
1254
1508
  };
1509
+ disposeGesture = acedAttachMobileBoxGesture({
1510
+ element: _this.view.canvas,
1511
+ setNavigationEnabled: function (enabled) {
1512
+ _this.view.setNavigationEnabled(enabled);
1513
+ },
1514
+ onActivate: function (clientX, clientY) {
1515
+ beginPreview(clientX, clientY);
1516
+ lastDragEvent = null;
1517
+ updateSelectionPreview(clientX, clientY, 'add');
1518
+ },
1519
+ onMove: function (clientX, clientY) {
1520
+ updateSelectionPreview(clientX, clientY, 'add');
1521
+ },
1522
+ onBoxEnd: function (clientX, clientY, moved) {
1523
+ if (!startWcs || !startCanvas) {
1524
+ clearBoxPreview();
1525
+ return;
1526
+ }
1527
+ var endCanvas = clientToCanvas(clientX, clientY);
1528
+ var endWcs = _this.view.screenToWorld(endCanvas);
1529
+ previewEl === null || previewEl === void 0 ? void 0 : previewEl.remove();
1530
+ previewEl = null;
1531
+ lastDragEvent = null;
1532
+ applySelectionAt(endCanvas, endWcs, 'add', !moved);
1533
+ startWcs = null;
1534
+ startCanvas = null;
1535
+ },
1536
+ onTap: function (clientX, clientY) {
1537
+ var endCanvas = clientToCanvas(clientX, clientY);
1538
+ var endWcs = _this.view.screenToWorld(endCanvas);
1539
+ applySelectionAt(endCanvas, endWcs, 'add', true);
1540
+ },
1541
+ onAbort: function () {
1542
+ clearBoxPreview();
1543
+ }
1544
+ });
1255
1545
  document.addEventListener('keydown', keyHandler);
1256
1546
  _this.view.canvas.addEventListener('mousedown', mouseDown);
1257
1547
  _this.view.canvas.addEventListener('mousemove', mouseMove);
@@ -1319,8 +1609,27 @@ var AcEdInputManager = /** @class */ (function () {
1319
1609
  floatingMessage === null || floatingMessage === void 0 ? void 0 : floatingMessage.dispose();
1320
1610
  keywordSession === null || keywordSession === void 0 ? void 0 : keywordSession.cancel();
1321
1611
  _this._commandLine.clear();
1612
+ _this.hideEntityPickCancel();
1613
+ _this.endMobilePrompt();
1322
1614
  };
1323
1615
  _this._activeRejector = rejector;
1616
+ _this.beginMobilePrompt({
1617
+ prompt: options.getDisplayMessage(),
1618
+ keywords: _this.mobileKeywordChips(options),
1619
+ allowNone: options.allowNone,
1620
+ showMetrics: false,
1621
+ onConfirm: function () {
1622
+ if (!options.allowNone)
1623
+ return;
1624
+ cleanup();
1625
+ resolve(null);
1626
+ },
1627
+ onCancel: function () { return rejector(); },
1628
+ onKeyword: function (globalName) {
1629
+ rejector(new AcEdKeywordInputError(globalName));
1630
+ }
1631
+ });
1632
+ _this.showEntityPickCancel(function () { return rejector(); });
1324
1633
  keywordSession === null || keywordSession === void 0 ? void 0 : keywordSession.promise.then(function (keyword) {
1325
1634
  if (settled)
1326
1635
  return;
@@ -1398,12 +1707,10 @@ var AcEdInputManager = /** @class */ (function () {
1398
1707
  };
1399
1708
  /**
1400
1709
  * Prompt the user to specify a rectangular box by selecting two corners.
1401
- * Each corner may be specified by clicking on the canvas or typing "x,y".
1402
- * A live HTML overlay rectangle previews the box as the user moves the mouse.
1403
1710
  *
1404
- * The box prompt is implemented as two chained point prompts. Keywords from
1405
- * the original box prompt are copied into each corner prompt so the caller
1406
- * sees a consistent interaction model across both stages.
1711
+ * Desktop: two chained point prompts with a live HTML overlay preview.
1712
+ * Phone/pad: the mobile {@link acedInteractionStrategy} uses long-press
1713
+ * (~1s) + drag on touch, and click-drag or two clicks on mouse.
1407
1714
  *
1408
1715
  * @param options - Box prompt options controlling corner messages, preview behavior, and keywords
1409
1716
  * @returns A prompt result containing the final 2D box, cancel status, or keyword
@@ -1412,65 +1719,311 @@ var AcEdInputManager = /** @class */ (function () {
1412
1719
  return __awaiter(this, void 0, void 0, function () {
1413
1720
  var _this = this;
1414
1721
  return __generator(this, function (_a) {
1415
- return [2 /*return*/, this.executePrompt(function () { return __awaiter(_this, void 0, void 0, function () {
1416
- var message1, options1, p1Result, p1, cwcsP1, previewEl, cleanup, drawPreview, message2, options2, p2, box;
1417
- var _this = this;
1418
- return __generator(this, function (_a) {
1419
- switch (_a.label) {
1420
- case 0:
1421
- message1 = options.firstCornerMessage ||
1422
- AcApI18n.t('main.inputManager.firstCorner');
1423
- options1 = new AcEdPromptPointOptions(message1);
1424
- this.copyKeywords(options, options1);
1425
- options1.useDashedLine = options.useDashedLine;
1426
- options1.useBasePoint = options.useBasePoint;
1427
- options1.disableOSnap = options.disableOSnap;
1428
- options1.allowNone = options.allowNone;
1429
- return [4 /*yield*/, this.getPoint(options1)];
1430
- case 1:
1431
- p1Result = _a.sent();
1432
- if (p1Result.status !== AcEdPromptStatus.OK) {
1433
- return [2 /*return*/, new AcEdPromptBoxResult(p1Result.status, undefined, p1Result.stringResult)];
1434
- }
1435
- p1 = p1Result.value;
1436
- cwcsP1 = this.view.worldToScreen(p1);
1437
- previewEl = document.createElement('div');
1438
- previewEl.className = 'ml-jig-preview-rect';
1439
- this.view.container.appendChild(previewEl);
1440
- cleanup = function () {
1441
- previewEl.remove();
1442
- };
1443
- drawPreview = function (pos) {
1444
- var cwcsP2 = _this.view.worldToScreen(pos);
1445
- var left = Math.min(cwcsP2.x, cwcsP1.x);
1446
- var top = Math.min(cwcsP2.y, cwcsP1.y);
1447
- var width = Math.abs(cwcsP2.x - cwcsP1.x);
1448
- var height = Math.abs(cwcsP2.y - cwcsP1.y);
1449
- Object.assign(previewEl.style, {
1450
- left: "".concat(left, "px"),
1451
- top: "".concat(top, "px"),
1452
- width: "".concat(width, "px"),
1453
- height: "".concat(height, "px")
1454
- });
1455
- };
1456
- message2 = options.secondCornerMessage ||
1457
- AcApI18n.t('main.inputManager.secondCorner');
1458
- options2 = new AcEdPromptPointOptions(message2);
1459
- this.copyKeywords(options, options2);
1460
- options2.useDashedLine = options.useDashedLine;
1461
- options2.useBasePoint = options.useBasePoint;
1462
- options2.disableOSnap = options.disableOSnap;
1463
- return [4 /*yield*/, this.getPointInternal(options2, cleanup, drawPreview)];
1464
- case 2:
1465
- p2 = _a.sent();
1466
- box = new AcGeBox2d().expandByPoint(p1).expandByPoint(p2);
1467
- return [2 /*return*/, new AcEdPromptBoxResult(AcEdPromptStatus.OK, box)];
1468
- }
1469
- });
1470
- }); }, function (value) { return value; }, function (status) { return new AcEdPromptBoxResult(status); })];
1722
+ return [2 /*return*/, this.executePrompt(function () {
1723
+ return acedInteractionStrategy().acquireBox({
1724
+ acquireTwoPointBox: function (opts) { return _this.getBoxViaTwoPoints(opts); },
1725
+ acquireHoldDragBox: function (opts) { return _this.getBoxViaHoldDrag(opts); }
1726
+ }, options);
1727
+ }, function (value) { return value; }, function (status) { return new AcEdPromptBoxResult(status); })];
1728
+ });
1729
+ });
1730
+ };
1731
+ /**
1732
+ * Desktop / two-click box acquisition used by {@link getBox}.
1733
+ */
1734
+ AcEdInputManager.prototype.getBoxViaTwoPoints = function (options) {
1735
+ return __awaiter(this, void 0, void 0, function () {
1736
+ var message1, options1, p1Result, p1, cwcsP1, previewEl, cleanup, drawPreview, message2, options2, p2, box;
1737
+ var _this = this;
1738
+ return __generator(this, function (_a) {
1739
+ switch (_a.label) {
1740
+ case 0:
1741
+ message1 = options.firstCornerMessage || AcApI18n.t('main.inputManager.firstCorner');
1742
+ options1 = new AcEdPromptPointOptions(message1);
1743
+ this.copyKeywords(options, options1);
1744
+ options1.useDashedLine = options.useDashedLine;
1745
+ options1.useBasePoint = options.useBasePoint;
1746
+ options1.disableOSnap = options.disableOSnap;
1747
+ options1.allowNone = options.allowNone;
1748
+ return [4 /*yield*/, this.getPoint(options1)];
1749
+ case 1:
1750
+ p1Result = _a.sent();
1751
+ if (p1Result.status !== AcEdPromptStatus.OK) {
1752
+ return [2 /*return*/, new AcEdPromptBoxResult(p1Result.status, undefined, p1Result.stringResult)];
1753
+ }
1754
+ p1 = p1Result.value;
1755
+ cwcsP1 = this.view.worldToScreen(p1);
1756
+ previewEl = document.createElement('div');
1757
+ previewEl.className = 'ml-jig-preview-rect';
1758
+ this.view.container.appendChild(previewEl);
1759
+ cleanup = function () {
1760
+ previewEl.remove();
1761
+ };
1762
+ drawPreview = function (pos) {
1763
+ var cwcsP2 = _this.view.worldToScreen(pos);
1764
+ var left = Math.min(cwcsP2.x, cwcsP1.x);
1765
+ var top = Math.min(cwcsP2.y, cwcsP1.y);
1766
+ var width = Math.abs(cwcsP2.x - cwcsP1.x);
1767
+ var height = Math.abs(cwcsP2.y - cwcsP1.y);
1768
+ Object.assign(previewEl.style, {
1769
+ left: "".concat(left, "px"),
1770
+ top: "".concat(top, "px"),
1771
+ width: "".concat(width, "px"),
1772
+ height: "".concat(height, "px")
1773
+ });
1774
+ };
1775
+ message2 = options.secondCornerMessage ||
1776
+ AcApI18n.t('main.inputManager.secondCorner');
1777
+ options2 = new AcEdPromptPointOptions(message2);
1778
+ this.copyKeywords(options, options2);
1779
+ options2.useDashedLine = options.useDashedLine;
1780
+ options2.useBasePoint = options.useBasePoint;
1781
+ options2.disableOSnap = options.disableOSnap;
1782
+ return [4 /*yield*/, this.getPointInternal(options2, cleanup, drawPreview)];
1783
+ case 2:
1784
+ p2 = _a.sent();
1785
+ box = new AcGeBox2d().expandByPoint(p1).expandByPoint(p2);
1786
+ return [2 /*return*/, new AcEdPromptBoxResult(AcEdPromptStatus.OK, box)];
1787
+ }
1471
1788
  });
1472
1789
  });
1473
1790
  };
1791
+ /**
1792
+ * Phone/pad box acquisition: long-press locks corner 1, drag, release for
1793
+ * corner 2. Mouse still works via click-drag or two clicks.
1794
+ * Preview uses window/crossing styles by drag direction.
1795
+ */
1796
+ AcEdInputManager.prototype.getBoxViaHoldDrag = function (options) {
1797
+ var _this = this;
1798
+ return new Promise(function (resolve, reject) {
1799
+ _this.active = true;
1800
+ var message = options.firstCornerMessage ||
1801
+ AcApI18n.t('main.inputManager.firstCorner');
1802
+ var keywordSession = _this.startKeywordSession(options, true);
1803
+ if (!keywordSession) {
1804
+ _this._commandLine.setPrompt(message);
1805
+ }
1806
+ var floatingMessage = new AcEdFloatingMessage(_this.view, {
1807
+ parent: _this.view.canvas,
1808
+ message: message
1809
+ });
1810
+ var startWcs = null;
1811
+ var startCanvas = null;
1812
+ var previewEl = null;
1813
+ var settled = false;
1814
+ var disposeGesture = null;
1815
+ var firstCornerLocked = false;
1816
+ var lastMouse = null;
1817
+ var clearPreview = function () {
1818
+ previewEl === null || previewEl === void 0 ? void 0 : previewEl.remove();
1819
+ previewEl = null;
1820
+ };
1821
+ var resetBox = function () {
1822
+ clearPreview();
1823
+ startWcs = null;
1824
+ startCanvas = null;
1825
+ firstCornerLocked = false;
1826
+ lastMouse = null;
1827
+ };
1828
+ var clientToCanvas = function (clientX, clientY) {
1829
+ return _this.view.viewportToCanvas({ x: clientX, y: clientY });
1830
+ };
1831
+ var updatePreview = function (clientX, clientY) {
1832
+ if (!startWcs || !previewEl || !startCanvas)
1833
+ return;
1834
+ var curCanvas = clientToCanvas(clientX, clientY);
1835
+ var curWcs = _this.view.screenToWorld(curCanvas);
1836
+ var p1 = _this.view.worldToScreen(startWcs);
1837
+ var p2 = _this.view.worldToScreen(curWcs);
1838
+ var mode = _this.view.getSelectionMode(startCanvas, curCanvas);
1839
+ var style = _this.view.getSelectionPreviewStyle(mode, 'add');
1840
+ Object.assign(previewEl.style, {
1841
+ left: "".concat(Math.min(p1.x, p2.x), "px"),
1842
+ top: "".concat(Math.min(p1.y, p2.y), "px"),
1843
+ width: "".concat(Math.abs(p1.x - p2.x), "px"),
1844
+ height: "".concat(Math.abs(p1.y - p2.y), "px"),
1845
+ borderStyle: style.borderStyle,
1846
+ background: style.background
1847
+ });
1848
+ previewEl.style.setProperty('--line-color', style.lineColor);
1849
+ };
1850
+ var beginPreview = function (clientX, clientY) {
1851
+ var canvas = clientToCanvas(clientX, clientY);
1852
+ startCanvas = canvas;
1853
+ startWcs = _this.view.screenToWorld(canvas);
1854
+ firstCornerLocked = false;
1855
+ lastMouse = { clientX: clientX, clientY: clientY };
1856
+ clearPreview();
1857
+ previewEl = document.createElement('div');
1858
+ previewEl.className = 'ml-jig-preview-rect';
1859
+ _this.view.container.appendChild(previewEl);
1860
+ updatePreview(clientX, clientY);
1861
+ };
1862
+ var commitBoxIfMoved = function (clientX, clientY) {
1863
+ if (!startWcs || !startCanvas)
1864
+ return false;
1865
+ var endCanvas = clientToCanvas(clientX, clientY);
1866
+ if (_this.view.isSelectionClick(startCanvas, endCanvas))
1867
+ return false;
1868
+ var endWcs = _this.view.screenToWorld(endCanvas);
1869
+ var box = new AcGeBox2d()
1870
+ .expandByPoint(startWcs)
1871
+ .expandByPoint(endWcs);
1872
+ cleanup();
1873
+ resolve(new AcEdPromptBoxResult(AcEdPromptStatus.OK, box));
1874
+ return true;
1875
+ };
1876
+ var rejector = function (err) {
1877
+ cleanup();
1878
+ reject(err !== null && err !== void 0 ? err : new Error('cancelled'));
1879
+ };
1880
+ var cleanup = function () {
1881
+ if (settled)
1882
+ return;
1883
+ settled = true;
1884
+ _this.active = false;
1885
+ if (_this._activeRejector === rejector) {
1886
+ _this._activeRejector = null;
1887
+ }
1888
+ disposeGesture === null || disposeGesture === void 0 ? void 0 : disposeGesture();
1889
+ disposeGesture = null;
1890
+ resetBox();
1891
+ floatingMessage.dispose();
1892
+ keywordSession === null || keywordSession === void 0 ? void 0 : keywordSession.cancel();
1893
+ _this._commandLine.clear();
1894
+ _this.endMobilePrompt();
1895
+ _this.view.setNavigationEnabled(true);
1896
+ document.removeEventListener('keydown', keyHandler);
1897
+ _this.view.canvas.removeEventListener('mousedown', mouseDown);
1898
+ _this.view.canvas.removeEventListener('mousemove', mouseMove);
1899
+ _this.view.canvas.removeEventListener('mouseup', mouseUp);
1900
+ _this.view.canvas.removeEventListener('contextmenu', contextMenuHandler);
1901
+ _this.view.events.viewChanged.removeEventListener(onViewChanged);
1902
+ _this.view.events.viewResize.removeEventListener(onViewChanged);
1903
+ };
1904
+ _this._activeRejector = rejector;
1905
+ _this.beginMobilePrompt({
1906
+ prompt: options.getDisplayMessage(),
1907
+ keywords: _this.mobileKeywordChips(options),
1908
+ allowNone: options.allowNone,
1909
+ showMetrics: false,
1910
+ onConfirm: function () {
1911
+ if (options.allowNone) {
1912
+ cleanup();
1913
+ resolve(new AcEdPromptBoxResult(AcEdPromptStatus.None));
1914
+ }
1915
+ },
1916
+ onCancel: function () { return rejector(); },
1917
+ onKeyword: function (globalName) {
1918
+ rejector(new AcEdKeywordInputError(globalName));
1919
+ }
1920
+ });
1921
+ keywordSession === null || keywordSession === void 0 ? void 0 : keywordSession.promise.then(function (keyword) {
1922
+ if (settled)
1923
+ return;
1924
+ if (!keyword) {
1925
+ rejector();
1926
+ return;
1927
+ }
1928
+ rejector(new AcEdKeywordInputError(keyword));
1929
+ });
1930
+ var keyHandler = function (e) {
1931
+ if (e.key === 'Escape') {
1932
+ rejector();
1933
+ return;
1934
+ }
1935
+ if (e.key === 'Enter' && options.allowNone) {
1936
+ cleanup();
1937
+ resolve(new AcEdPromptBoxResult(AcEdPromptStatus.None));
1938
+ }
1939
+ };
1940
+ document.addEventListener('keydown', keyHandler);
1941
+ var contextMenuHandler = function (e) {
1942
+ if (_this.shouldUseRightClickEnter()) {
1943
+ e.preventDefault();
1944
+ }
1945
+ };
1946
+ var isCompatMouse = function (e) {
1947
+ return acedIsTouchDerivedMouseEvent(e) || acedShouldIgnoreCompatMouse();
1948
+ };
1949
+ var mouseDown = function (e) {
1950
+ if (e.button === 2) {
1951
+ if (_this.shouldUseRightClickEnter() && options.allowNone) {
1952
+ e.preventDefault();
1953
+ cleanup();
1954
+ resolve(new AcEdPromptBoxResult(AcEdPromptStatus.None));
1955
+ }
1956
+ return;
1957
+ }
1958
+ if (e.button !== 0)
1959
+ return;
1960
+ if (isCompatMouse(e))
1961
+ return;
1962
+ if (firstCornerLocked)
1963
+ return;
1964
+ _this.view.setNavigationEnabled(false);
1965
+ beginPreview(e.clientX, e.clientY);
1966
+ };
1967
+ var mouseMove = function (e) {
1968
+ if (!startWcs || !previewEl || !startCanvas)
1969
+ return;
1970
+ if (isCompatMouse(e))
1971
+ return;
1972
+ if (e.buttons !== 1 && !firstCornerLocked)
1973
+ return;
1974
+ lastMouse = { clientX: e.clientX, clientY: e.clientY };
1975
+ updatePreview(e.clientX, e.clientY);
1976
+ };
1977
+ var mouseUp = function (e) {
1978
+ if (e.button !== 0)
1979
+ return;
1980
+ if (!startWcs || !startCanvas)
1981
+ return;
1982
+ if (isCompatMouse(e))
1983
+ return;
1984
+ if (commitBoxIfMoved(e.clientX, e.clientY))
1985
+ return;
1986
+ firstCornerLocked = true;
1987
+ };
1988
+ var onViewChanged = function () {
1989
+ if (lastMouse && startWcs && previewEl) {
1990
+ updatePreview(lastMouse.clientX, lastMouse.clientY);
1991
+ }
1992
+ };
1993
+ disposeGesture = acedAttachMobileBoxGesture({
1994
+ element: _this.view.canvas,
1995
+ setNavigationEnabled: function (enabled) {
1996
+ _this.view.setNavigationEnabled(enabled);
1997
+ },
1998
+ onActivate: function (clientX, clientY) {
1999
+ beginPreview(clientX, clientY);
2000
+ lastMouse = null;
2001
+ updatePreview(clientX, clientY);
2002
+ },
2003
+ onMove: function (clientX, clientY) {
2004
+ updatePreview(clientX, clientY);
2005
+ },
2006
+ onBoxEnd: function (clientX, clientY, moved) {
2007
+ if (!startWcs || !startCanvas)
2008
+ return;
2009
+ if (!moved) {
2010
+ resetBox();
2011
+ return;
2012
+ }
2013
+ commitBoxIfMoved(clientX, clientY);
2014
+ },
2015
+ onAbort: function () {
2016
+ resetBox();
2017
+ }
2018
+ });
2019
+ _this.view.canvas.addEventListener('mousedown', mouseDown);
2020
+ _this.view.canvas.addEventListener('mousemove', mouseMove);
2021
+ _this.view.canvas.addEventListener('mouseup', mouseUp);
2022
+ _this.view.canvas.addEventListener('contextmenu', contextMenuHandler);
2023
+ _this.view.events.viewChanged.addEventListener(onViewChanged);
2024
+ _this.view.events.viewResize.addEventListener(onViewChanged);
2025
+ });
2026
+ };
1474
2027
  /**
1475
2028
  * Shared point input logic used by getPoint() and getBox(). Accepts "x,y"
1476
2029
  * typed input OR mouse click.
@@ -1486,36 +2039,92 @@ var AcEdInputManager = /** @class */ (function () {
1486
2039
  */
1487
2040
  AcEdInputManager.prototype.getPointInternal = function (options, cleanup, drawPreview) {
1488
2041
  return __awaiter(this, void 0, void 0, function () {
1489
- var scriptedValue, getDynamicValue, handler;
2042
+ var scriptedValue, getDynamicValue, handler, value;
1490
2043
  var _this = this;
1491
2044
  return __generator(this, function (_a) {
1492
- scriptedValue = this.tryGetScriptedPoint(options);
1493
- if (scriptedValue != null) {
1494
- cleanup === null || cleanup === void 0 ? void 0 : cleanup();
1495
- return [2 /*return*/, Promise.resolve(scriptedValue)];
1496
- }
1497
- getDynamicValue = function (pos) {
1498
- return {
1499
- value: { x: pos.x, y: pos.y, z: 0 },
1500
- raw: {
1501
- x: _this.formatNumber(pos.x, 'point'),
1502
- y: _this.formatNumber(pos.y, 'point')
2045
+ switch (_a.label) {
2046
+ case 0:
2047
+ scriptedValue = this.tryGetScriptedPoint(options);
2048
+ if (scriptedValue != null) {
2049
+ cleanup === null || cleanup === void 0 ? void 0 : cleanup();
2050
+ // Record for later interactive prompts in the same command; no DOM yet.
2051
+ this.recordConfirmedPointMarkIfNeeded(options, scriptedValue);
2052
+ return [2 /*return*/, scriptedValue];
1503
2053
  }
1504
- };
1505
- };
1506
- handler = new AcEdPointHandler(options);
1507
- return [2 /*return*/, this.makeFloatingInputPromise({
1508
- inputCount: 2,
1509
- promptOptions: options,
1510
- disableOSnap: options.disableOSnap,
1511
- cleanup: cleanup,
1512
- handler: handler,
1513
- getDynamicValue: getDynamicValue,
1514
- drawPreview: drawPreview
1515
- })];
2054
+ // Show marks for points confirmed earlier in this command while picking
2055
+ // the next one (avoids a flash when the command ends after a single pick).
2056
+ this.showConfirmedPointMarksIfAny();
2057
+ getDynamicValue = function (pos) {
2058
+ return {
2059
+ value: { x: pos.x, y: pos.y, z: 0 },
2060
+ raw: {
2061
+ x: _this.formatNumber(pos.x, 'point'),
2062
+ y: _this.formatNumber(pos.y, 'point')
2063
+ }
2064
+ };
2065
+ };
2066
+ handler = new AcEdPointHandler(options);
2067
+ return [4 /*yield*/, this.makeFloatingInputPromise({
2068
+ inputCount: 2,
2069
+ promptOptions: options,
2070
+ disableOSnap: options.disableOSnap,
2071
+ cleanup: cleanup,
2072
+ handler: handler,
2073
+ getDynamicValue: getDynamicValue,
2074
+ drawPreview: drawPreview
2075
+ })];
2076
+ case 1:
2077
+ value = _a.sent();
2078
+ this.recordConfirmedPointMarkIfNeeded(options, value);
2079
+ return [2 /*return*/, value];
2080
+ }
1516
2081
  });
1517
2082
  });
1518
2083
  };
2084
+ /**
2085
+ * Whether a confirmed-point plus mark should be tracked for this prompt.
2086
+ *
2087
+ * Explicit {@link AcEdPromptPointOptions.showConfirmedPointMark} overrides
2088
+ * the phone/pad default.
2089
+ */
2090
+ AcEdInputManager.prototype.shouldShowConfirmedPointMark = function (options) {
2091
+ var override = options.showConfirmedPointMark;
2092
+ if (override !== undefined)
2093
+ return override;
2094
+ return acedInteractionStrategy().point.showsConfirmedPointMarks;
2095
+ };
2096
+ /**
2097
+ * Records a confirmed pick for later display when enabled for the prompt.
2098
+ * DOM marks are deferred until {@link showConfirmedPointMarksIfAny}.
2099
+ */
2100
+ AcEdInputManager.prototype.recordConfirmedPointMarkIfNeeded = function (options, point) {
2101
+ if (!this.shouldShowConfirmedPointMark(options))
2102
+ return;
2103
+ this._confirmedPointPositions.push({ x: point.x, y: point.y });
2104
+ };
2105
+ /**
2106
+ * Renders plus marks for points already confirmed in this command.
2107
+ * Called at the start of an interactive {@link getPointInternal}.
2108
+ */
2109
+ AcEdInputManager.prototype.showConfirmedPointMarksIfAny = function () {
2110
+ var _a;
2111
+ if (this._confirmedPointPositions.length === 0)
2112
+ return;
2113
+ (_a = this._confirmedPointMarks) !== null && _a !== void 0 ? _a : (this._confirmedPointMarks = new AcEdMarkerManager(this.view));
2114
+ this._confirmedPointMarks.setHintMarkers(this._confirmedPointPositions, 'plus');
2115
+ };
2116
+ /** Repositions confirmed-point marks after pan/zoom. */
2117
+ AcEdInputManager.prototype.repositionConfirmedPointMarks = function () {
2118
+ var _a;
2119
+ (_a = this._confirmedPointMarks) === null || _a === void 0 ? void 0 : _a.repositionHints();
2120
+ };
2121
+ /** Clears all confirmed-point plus marks for the finished command. */
2122
+ AcEdInputManager.prototype.clearConfirmedPointMarks = function () {
2123
+ var _a;
2124
+ (_a = this._confirmedPointMarks) === null || _a === void 0 ? void 0 : _a.clear();
2125
+ this._confirmedPointMarks = null;
2126
+ this._confirmedPointPositions = [];
2127
+ };
1519
2128
  /**
1520
2129
  * Attempts to consume one scripted input and parse it as a point.
1521
2130
  * Supported forms: "x,y", "x,y,z", or "x y".
@@ -1766,7 +2375,7 @@ var AcEdInputManager = /** @class */ (function () {
1766
2375
  var _this = this;
1767
2376
  return __generator(this, function (_a) {
1768
2377
  return [2 /*return*/, new Promise(function (resolve, reject) {
1769
- var _a, _b, _c;
2378
+ var _a, _b, _c, _d;
1770
2379
  _this.active = true;
1771
2380
  _this.entitySelectionActive = false;
1772
2381
  var settled = false;
@@ -1790,6 +2399,11 @@ var AcEdInputManager = /** @class */ (function () {
1790
2399
  ? options.promptOptions.allowNone
1791
2400
  : false;
1792
2401
  var defaultBehavior = _this.resolvePromptDefaultValue(options.promptOptions);
2402
+ var showMetrics = (_c = options.showMetrics) !== null && _c !== void 0 ? _c : (options.inputCount === 2 || basePoint != null);
2403
+ var getDynamicValue = function (pos) {
2404
+ _this.pushMobileMetrics(pos, basePoint !== null && basePoint !== void 0 ? basePoint : floatingInput.sessionBasePoint);
2405
+ return options.getDynamicValue(pos);
2406
+ };
1793
2407
  var floatingInput = new AcEdFloatingInput(_this.view, {
1794
2408
  parent: _this.view.canvas,
1795
2409
  inputCount: options.inputCount,
@@ -1804,7 +2418,7 @@ var AcEdInputManager = /** @class */ (function () {
1804
2418
  useDefaultValue: defaultBehavior.useDefaultValue,
1805
2419
  defaultValue: defaultBehavior.defaultValue,
1806
2420
  validate: validate,
1807
- getDynamicValue: options.getDynamicValue,
2421
+ getDynamicValue: getDynamicValue,
1808
2422
  drawPreview: function (pos) {
1809
2423
  var _a;
1810
2424
  if (promptDefaults.jig) {
@@ -1831,7 +2445,7 @@ var AcEdInputManager = /** @class */ (function () {
1831
2445
  onCancel: function () { return rejector(); },
1832
2446
  onNone: function () { return noneRejector(); }
1833
2447
  });
1834
- (_c = options.onFloatingInputCreated) === null || _c === void 0 ? void 0 : _c.call(options, floatingInput);
2448
+ (_d = options.onFloatingInputCreated) === null || _d === void 0 ? void 0 : _d.call(options, floatingInput);
1835
2449
  var cleanup = function () {
1836
2450
  var _a, _b;
1837
2451
  if (settled)
@@ -1851,6 +2465,7 @@ var AcEdInputManager = /** @class */ (function () {
1851
2465
  floatingInput.dispose();
1852
2466
  promptInputSession.cancel();
1853
2467
  _this._commandLine.clear();
2468
+ _this.endMobilePrompt();
1854
2469
  };
1855
2470
  var resolver = function (value) {
1856
2471
  cleanup();
@@ -1867,6 +2482,16 @@ var AcEdInputManager = /** @class */ (function () {
1867
2482
  var keywordRejector = function (keyword) {
1868
2483
  rejector(new AcEdKeywordInputError(keyword));
1869
2484
  };
2485
+ _this.beginMobilePrompt({
2486
+ prompt: options.promptOptions.getDisplayMessage(),
2487
+ keywords: _this.mobileKeywordChips(options.promptOptions),
2488
+ allowNone: allowNone,
2489
+ showMetrics: showMetrics,
2490
+ touchPointTutorial: true,
2491
+ onConfirm: function () { return noneRejector(); },
2492
+ onCancel: function () { return rejector(); },
2493
+ onKeyword: keywordRejector
2494
+ });
1870
2495
  var escHandler = function (e) {
1871
2496
  if (e.key === 'Escape') {
1872
2497
  rejector();
@@ -1880,6 +2505,14 @@ var AcEdInputManager = /** @class */ (function () {
1880
2505
  }
1881
2506
  };
1882
2507
  var contextMenuHandler = function (e) {
2508
+ // Phone long-press synthesizes contextmenu while the snap loupe is
2509
+ // opening. That is not right-click Enter — swallowing it would
2510
+ // cancel the measure / point prompt as soon as the loupe appears.
2511
+ if (acedIsTouchLongPressContextMenu(e) ||
2512
+ acedInteractionStrategy().point.swallowsPromptContextMenu) {
2513
+ e.preventDefault();
2514
+ return;
2515
+ }
1883
2516
  if (!_this.shouldUseRightClickEnter())
1884
2517
  return;
1885
2518
  e.preventDefault();
@@ -1890,7 +2523,15 @@ var AcEdInputManager = /** @class */ (function () {
1890
2523
  document.addEventListener('keyup', modifierHandler);
1891
2524
  _this.view.canvas.addEventListener('contextmenu', contextMenuHandler);
1892
2525
  // showAt() expects viewport coordinates; curMousePos is canvas-local.
1893
- floatingInput.showAt(_this.view.canvasToViewport(_this.view.curMousePos));
2526
+ // On touch, skip the dummy canvas-(0,0) seed until a real pointer sample.
2527
+ // Also skip leftover finger coords after a touch pick — those seed a
2528
+ // short jig segment on the next measure-distance prompt.
2529
+ if (_this.view.hasCursorPos && !acedShouldIgnoreCompatMouse()) {
2530
+ floatingInput.showAt(_this.view.canvasToViewport(_this.view.curMousePos));
2531
+ }
2532
+ else {
2533
+ floatingInput.showAt({ x: 0, y: 0 });
2534
+ }
1894
2535
  promptInputSession.promise.then(function (result) {
1895
2536
  if (settled)
1896
2537
  return;