@mlightcad/cad-simple-viewer 1.5.0 → 1.5.2

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 (242) hide show
  1. package/README.md +2 -1
  2. package/dist/index.js +25678 -48997
  3. package/dist/index.umd.cjs +571 -603
  4. package/dist/libredwg-parser-worker.js +3955 -7422
  5. package/dist/mtext-renderer-worker.js +2727 -2539
  6. package/lib/app/AcApAnnotation.js +4 -4
  7. package/lib/app/AcApAnnotation.js.map +1 -1
  8. package/lib/app/AcApDocManager.d.ts +56 -2
  9. package/lib/app/AcApDocManager.d.ts.map +1 -1
  10. package/lib/app/AcApDocManager.js +182 -31
  11. package/lib/app/AcApDocManager.js.map +1 -1
  12. package/lib/app/index.d.ts +1 -0
  13. package/lib/app/index.d.ts.map +1 -1
  14. package/lib/app/index.js +1 -0
  15. package/lib/app/index.js.map +1 -1
  16. package/lib/app/openFileProgress.d.ts +10 -0
  17. package/lib/app/openFileProgress.d.ts.map +1 -0
  18. package/lib/app/openFileProgress.js +20 -0
  19. package/lib/app/openFileProgress.js.map +1 -0
  20. package/lib/command/AcApSwitchBgCmd.d.ts +3 -0
  21. package/lib/command/AcApSwitchBgCmd.d.ts.map +1 -1
  22. package/lib/command/AcApSwitchBgCmd.js +14 -7
  23. package/lib/command/AcApSwitchBgCmd.js.map +1 -1
  24. package/lib/command/AcApZoomCmd.d.ts.map +1 -1
  25. package/lib/command/AcApZoomCmd.js +3 -3
  26. package/lib/command/AcApZoomCmd.js.map +1 -1
  27. package/lib/command/convert/index.d.ts +0 -1
  28. package/lib/command/convert/index.d.ts.map +1 -1
  29. package/lib/command/convert/index.js +0 -1
  30. package/lib/command/convert/index.js.map +1 -1
  31. package/lib/command/draw/AcApArcCmd.d.ts.map +1 -1
  32. package/lib/command/draw/AcApArcCmd.js +47 -20
  33. package/lib/command/draw/AcApArcCmd.js.map +1 -1
  34. package/lib/command/draw/AcApCircleCmd.d.ts.map +1 -1
  35. package/lib/command/draw/AcApCircleCmd.js +5 -6
  36. package/lib/command/draw/AcApCircleCmd.js.map +1 -1
  37. package/lib/command/draw/AcApEllipseCmd.d.ts.map +1 -1
  38. package/lib/command/draw/AcApEllipseCmd.js +4 -6
  39. package/lib/command/draw/AcApEllipseCmd.js.map +1 -1
  40. package/lib/command/draw/AcApMLineCmd.d.ts.map +1 -1
  41. package/lib/command/draw/AcApMLineCmd.js +4 -7
  42. package/lib/command/draw/AcApMLineCmd.js.map +1 -1
  43. package/lib/command/draw/AcApMTextCmd.d.ts.map +1 -1
  44. package/lib/command/draw/AcApMTextCmd.js +3 -1
  45. package/lib/command/draw/AcApMTextCmd.js.map +1 -1
  46. package/lib/command/draw/AcApPolygonCmd.d.ts.map +1 -1
  47. package/lib/command/draw/AcApPolygonCmd.js +4 -5
  48. package/lib/command/draw/AcApPolygonCmd.js.map +1 -1
  49. package/lib/command/draw/AcApPolylineCmd.d.ts +49 -0
  50. package/lib/command/draw/AcApPolylineCmd.d.ts.map +1 -1
  51. package/lib/command/draw/AcApPolylineCmd.js +200 -18
  52. package/lib/command/draw/AcApPolylineCmd.js.map +1 -1
  53. package/lib/command/draw/AcApRayCmd.d.ts.map +1 -1
  54. package/lib/command/draw/AcApRayCmd.js +2 -3
  55. package/lib/command/draw/AcApRayCmd.js.map +1 -1
  56. package/lib/command/draw/AcApRectCmd.d.ts.map +1 -1
  57. package/lib/command/draw/AcApRectCmd.js +10 -10
  58. package/lib/command/draw/AcApRectCmd.js.map +1 -1
  59. package/lib/command/draw/AcApSplineCmd.d.ts.map +1 -1
  60. package/lib/command/draw/AcApSplineCmd.js +3 -6
  61. package/lib/command/draw/AcApSplineCmd.js.map +1 -1
  62. package/lib/command/draw/AcApXLineCmd.d.ts.map +1 -1
  63. package/lib/command/draw/AcApXLineCmd.js +2 -3
  64. package/lib/command/draw/AcApXLineCmd.js.map +1 -1
  65. package/lib/command/measure/AcApClearMeasurementsCmd.d.ts +11 -0
  66. package/lib/command/measure/AcApClearMeasurementsCmd.d.ts.map +1 -1
  67. package/lib/command/measure/AcApClearMeasurementsCmd.js +15 -4
  68. package/lib/command/measure/AcApClearMeasurementsCmd.js.map +1 -1
  69. package/lib/command/measure/AcApMeasureAngleCmd.d.ts.map +1 -1
  70. package/lib/command/measure/AcApMeasureAngleCmd.js +15 -6
  71. package/lib/command/measure/AcApMeasureAngleCmd.js.map +1 -1
  72. package/lib/command/measure/AcApMeasureArcCmd.d.ts.map +1 -1
  73. package/lib/command/measure/AcApMeasureArcCmd.js +11 -4
  74. package/lib/command/measure/AcApMeasureArcCmd.js.map +1 -1
  75. package/lib/command/measure/AcApMeasureAreaCmd.d.ts.map +1 -1
  76. package/lib/command/measure/AcApMeasureAreaCmd.js +11 -4
  77. package/lib/command/measure/AcApMeasureAreaCmd.js.map +1 -1
  78. package/lib/command/measure/AcApMeasureDistanceCmd.d.ts +3 -2
  79. package/lib/command/measure/AcApMeasureDistanceCmd.d.ts.map +1 -1
  80. package/lib/command/measure/AcApMeasureDistanceCmd.js +14 -6
  81. package/lib/command/measure/AcApMeasureDistanceCmd.js.map +1 -1
  82. package/lib/command/modify/AcApOffsetCmd.d.ts +30 -0
  83. package/lib/command/modify/AcApOffsetCmd.d.ts.map +1 -0
  84. package/lib/command/modify/AcApOffsetCmd.js +425 -0
  85. package/lib/command/modify/AcApOffsetCmd.js.map +1 -0
  86. package/lib/command/modify/AcApRotateCmd.d.ts.map +1 -1
  87. package/lib/command/modify/AcApRotateCmd.js +3 -4
  88. package/lib/command/modify/AcApRotateCmd.js.map +1 -1
  89. package/lib/command/modify/index.d.ts +1 -0
  90. package/lib/command/modify/index.d.ts.map +1 -1
  91. package/lib/command/modify/index.js +1 -0
  92. package/lib/command/modify/index.js.map +1 -1
  93. package/lib/command/review/AcApRevCircleCmd.d.ts.map +1 -1
  94. package/lib/command/review/AcApRevCircleCmd.js +4 -1
  95. package/lib/command/review/AcApRevCircleCmd.js.map +1 -1
  96. package/lib/editor/global/AcEdUiColor.d.ts +183 -0
  97. package/lib/editor/global/AcEdUiColor.d.ts.map +1 -0
  98. package/lib/editor/global/AcEdUiColor.js +224 -0
  99. package/lib/editor/global/AcEdUiColor.js.map +1 -0
  100. package/lib/editor/global/AcEdUiTheme.d.ts +0 -1
  101. package/lib/editor/global/AcEdUiTheme.d.ts.map +1 -1
  102. package/lib/editor/global/AcEdUiTheme.js +0 -5
  103. package/lib/editor/global/AcEdUiTheme.js.map +1 -1
  104. package/lib/editor/global/eventBus.d.ts +3 -0
  105. package/lib/editor/global/eventBus.d.ts.map +1 -1
  106. package/lib/editor/global/eventBus.js.map +1 -1
  107. package/lib/editor/global/index.d.ts +1 -0
  108. package/lib/editor/global/index.d.ts.map +1 -1
  109. package/lib/editor/global/index.js +1 -0
  110. package/lib/editor/global/index.js.map +1 -1
  111. package/lib/editor/input/AcEdCursorManager.d.ts +4 -0
  112. package/lib/editor/input/AcEdCursorManager.d.ts.map +1 -1
  113. package/lib/editor/input/AcEdCursorManager.js +11 -8
  114. package/lib/editor/input/AcEdCursorManager.js.map +1 -1
  115. package/lib/editor/input/AcEdOrthoMode.d.ts +11 -0
  116. package/lib/editor/input/AcEdOrthoMode.d.ts.map +1 -0
  117. package/lib/editor/input/AcEdOrthoMode.js +22 -0
  118. package/lib/editor/input/AcEdOrthoMode.js.map +1 -0
  119. package/lib/editor/input/AcEdPolarTracking.d.ts +107 -0
  120. package/lib/editor/input/AcEdPolarTracking.d.ts.map +1 -0
  121. package/lib/editor/input/AcEdPolarTracking.js +398 -0
  122. package/lib/editor/input/AcEdPolarTracking.js.map +1 -0
  123. package/lib/editor/input/AcEdSelectionFilter.js +7 -6
  124. package/lib/editor/input/AcEdSelectionFilter.js.map +1 -1
  125. package/lib/editor/input/AcEditor.d.ts +4 -0
  126. package/lib/editor/input/AcEditor.d.ts.map +1 -1
  127. package/lib/editor/input/AcEditor.js +6 -0
  128. package/lib/editor/input/AcEditor.js.map +1 -1
  129. package/lib/editor/input/index.d.ts +2 -0
  130. package/lib/editor/input/index.d.ts.map +1 -1
  131. package/lib/editor/input/index.js +2 -0
  132. package/lib/editor/input/index.js.map +1 -1
  133. package/lib/editor/input/marker/AcEdMarker.d.ts.map +1 -1
  134. package/lib/editor/input/marker/AcEdMarker.js +3 -2
  135. package/lib/editor/input/marker/AcEdMarker.js.map +1 -1
  136. package/lib/editor/input/marker/AcEdOSnapMarkerManager.d.ts +4 -0
  137. package/lib/editor/input/marker/AcEdOSnapMarkerManager.d.ts.map +1 -1
  138. package/lib/editor/input/marker/AcEdOSnapMarkerManager.js +11 -0
  139. package/lib/editor/input/marker/AcEdOSnapMarkerManager.js.map +1 -1
  140. package/lib/editor/input/prompt/AcEdPromptDistanceOptions.d.ts.map +1 -1
  141. package/lib/editor/input/prompt/AcEdPromptDistanceOptions.js +1 -1
  142. package/lib/editor/input/prompt/AcEdPromptDistanceOptions.js.map +1 -1
  143. package/lib/editor/input/ui/AcEdCommandLine.d.ts.map +1 -1
  144. package/lib/editor/input/ui/AcEdCommandLine.js +1 -1
  145. package/lib/editor/input/ui/AcEdCommandLine.js.map +1 -1
  146. package/lib/editor/input/ui/AcEdFloatingInput.d.ts +13 -0
  147. package/lib/editor/input/ui/AcEdFloatingInput.d.ts.map +1 -1
  148. package/lib/editor/input/ui/AcEdFloatingInput.js +48 -3
  149. package/lib/editor/input/ui/AcEdFloatingInput.js.map +1 -1
  150. package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts +5 -0
  151. package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts.map +1 -1
  152. package/lib/editor/input/ui/AcEdFloatingMessage.js +1 -1
  153. package/lib/editor/input/ui/AcEdFloatingMessage.js.map +1 -1
  154. package/lib/editor/input/ui/AcEdInputManager.d.ts +25 -6
  155. package/lib/editor/input/ui/AcEdInputManager.d.ts.map +1 -1
  156. package/lib/editor/input/ui/AcEdInputManager.js +164 -63
  157. package/lib/editor/input/ui/AcEdInputManager.js.map +1 -1
  158. package/lib/editor/input/ui/AcEdMTextEditor.d.ts +67 -2
  159. package/lib/editor/input/ui/AcEdMTextEditor.d.ts.map +1 -1
  160. package/lib/editor/input/ui/AcEdMTextEditor.js +213 -21
  161. package/lib/editor/input/ui/AcEdMTextEditor.js.map +1 -1
  162. package/lib/editor/input/ui/AcEdRubberBand.d.ts +8 -0
  163. package/lib/editor/input/ui/AcEdRubberBand.d.ts.map +1 -1
  164. package/lib/editor/input/ui/AcEdRubberBand.js +62 -37
  165. package/lib/editor/input/ui/AcEdRubberBand.js.map +1 -1
  166. package/lib/i18n/en/command.d.ts +71 -11
  167. package/lib/i18n/en/command.d.ts.map +1 -1
  168. package/lib/i18n/en/command.js +74 -14
  169. package/lib/i18n/en/command.js.map +1 -1
  170. package/lib/i18n/en/jig.d.ts +8 -0
  171. package/lib/i18n/en/jig.d.ts.map +1 -1
  172. package/lib/i18n/en/jig.js +8 -0
  173. package/lib/i18n/en/jig.js.map +1 -1
  174. package/lib/i18n/zh/command.d.ts +71 -11
  175. package/lib/i18n/zh/command.d.ts.map +1 -1
  176. package/lib/i18n/zh/command.js +74 -14
  177. package/lib/i18n/zh/command.js.map +1 -1
  178. package/lib/i18n/zh/jig.d.ts +8 -0
  179. package/lib/i18n/zh/jig.d.ts.map +1 -1
  180. package/lib/i18n/zh/jig.js +8 -0
  181. package/lib/i18n/zh/jig.js.map +1 -1
  182. package/lib/index.d.ts +2 -1
  183. package/lib/index.d.ts.map +1 -1
  184. package/lib/index.js +2 -1
  185. package/lib/index.js.map +1 -1
  186. package/lib/plugin/AcApLazyPluginRegistration.d.ts +28 -0
  187. package/lib/plugin/AcApLazyPluginRegistration.d.ts.map +1 -0
  188. package/lib/plugin/AcApLazyPluginRegistration.js +2 -0
  189. package/lib/plugin/AcApLazyPluginRegistration.js.map +1 -0
  190. package/lib/plugin/AcApPluginManager.d.ts +38 -0
  191. package/lib/plugin/AcApPluginManager.d.ts.map +1 -1
  192. package/lib/plugin/AcApPluginManager.js +147 -22
  193. package/lib/plugin/AcApPluginManager.js.map +1 -1
  194. package/lib/plugin/index.d.ts +1 -0
  195. package/lib/plugin/index.d.ts.map +1 -1
  196. package/lib/plugin/index.js +1 -0
  197. package/lib/plugin/index.js.map +1 -1
  198. package/lib/util/AcApExportFileNameUtil.d.ts +22 -0
  199. package/lib/util/AcApExportFileNameUtil.d.ts.map +1 -0
  200. package/lib/util/AcApExportFileNameUtil.js +49 -0
  201. package/lib/util/AcApExportFileNameUtil.js.map +1 -0
  202. package/lib/util/AcApFontUtil.d.ts +79 -0
  203. package/lib/util/AcApFontUtil.d.ts.map +1 -0
  204. package/lib/util/AcApFontUtil.js +173 -0
  205. package/lib/util/AcApFontUtil.js.map +1 -0
  206. package/lib/util/index.d.ts +3 -0
  207. package/lib/util/index.d.ts.map +1 -1
  208. package/lib/util/index.js +3 -0
  209. package/lib/util/index.js.map +1 -1
  210. package/lib/util/yieldToMain.d.ts +5 -0
  211. package/lib/util/yieldToMain.d.ts.map +1 -0
  212. package/lib/util/yieldToMain.js +11 -0
  213. package/lib/util/yieldToMain.js.map +1 -0
  214. package/lib/view/AcTrLayoutView.d.ts +13 -1
  215. package/lib/view/AcTrLayoutView.d.ts.map +1 -1
  216. package/lib/view/AcTrLayoutView.js +20 -1
  217. package/lib/view/AcTrLayoutView.js.map +1 -1
  218. package/lib/view/AcTrLayoutViewManager.d.ts +3 -1
  219. package/lib/view/AcTrLayoutViewManager.d.ts.map +1 -1
  220. package/lib/view/AcTrLayoutViewManager.js +4 -2
  221. package/lib/view/AcTrLayoutViewManager.js.map +1 -1
  222. package/lib/view/AcTrScene.d.ts +38 -6
  223. package/lib/view/AcTrScene.d.ts.map +1 -1
  224. package/lib/view/AcTrScene.js +57 -30
  225. package/lib/view/AcTrScene.js.map +1 -1
  226. package/lib/view/AcTrView2d.d.ts +184 -1
  227. package/lib/view/AcTrView2d.d.ts.map +1 -1
  228. package/lib/view/AcTrView2d.js +657 -104
  229. package/lib/view/AcTrView2d.js.map +1 -1
  230. package/lib/view/index.d.ts +1 -0
  231. package/lib/view/index.d.ts.map +1 -1
  232. package/lib/view/index.js +1 -0
  233. package/lib/view/index.js.map +1 -1
  234. package/package.json +12 -9
  235. package/lib/command/convert/AcApConvertToSvgCmd.d.ts +0 -32
  236. package/lib/command/convert/AcApConvertToSvgCmd.d.ts.map +0 -1
  237. package/lib/command/convert/AcApConvertToSvgCmd.js +0 -98
  238. package/lib/command/convert/AcApConvertToSvgCmd.js.map +0 -1
  239. package/lib/command/convert/AcApSvgConvertor.d.ts +0 -53
  240. package/lib/command/convert/AcApSvgConvertor.d.ts.map +0 -1
  241. package/lib/command/convert/AcApSvgConvertor.js +0 -103
  242. package/lib/command/convert/AcApSvgConvertor.js.map +0 -1
@@ -1,16 +1,39 @@
1
- import { AcGePoint3dLike } from '@mlightcad/data-model';
2
- import { type MTextToolbarColorPickerFactory } from '@mlightcad/mtext-input-box';
1
+ import { AcGePoint3dLike, AcGiMTextAttachmentPoint } from '@mlightcad/data-model';
2
+ import { MTextInputBox, type MTextToolbarColorPickerFactory } from '@mlightcad/mtext-input-box';
3
3
  import { AcTrView2d } from '../../../view';
4
+ export type AcEdMTextEditorCurrentFormatChangeListener = () => void;
5
+ export interface AcEdMTextEditorCurrentFormatObservable {
6
+ addCurrentFormatChangeListener: (listener: AcEdMTextEditorCurrentFormatChangeListener) => void;
7
+ removeCurrentFormatChangeListener: (listener: AcEdMTextEditorCurrentFormatChangeListener) => void;
8
+ }
9
+ export type AcEdMTextEditorActiveInputBox = MTextInputBox & Partial<AcEdMTextEditorCurrentFormatObservable> & {
10
+ /**
11
+ * Returns keyboard focus to the hidden IME input used by the editor.
12
+ *
13
+ * Contextual ribbon controls use this after formatting commands so the
14
+ * inline editor keeps behaving like its built-in toolbar.
15
+ */
16
+ focusEditor?: () => void;
17
+ /** Returns whether the current selection is a non-script stacked fraction. */
18
+ isStackSelectionActive?: () => boolean;
19
+ };
20
+ export type AcEdMTextEditorActiveInputBoxChangeListener = (inputBox: AcEdMTextEditorActiveInputBox | null) => void;
4
21
  /**
5
22
  * Result payload returned by the MTEXT editor when editing is finished.
6
23
  */
7
24
  export interface AcEdMTextEditorResult {
8
25
  /** Final MTEXT contents (including inline formatting codes). */
9
26
  contents: string;
27
+ /** Final MTEXT insertion location in world coordinates. */
28
+ location: AcGePoint3dLike;
10
29
  /** Final text box width in world units. */
11
30
  width: number;
12
31
  /** Final text box height in world units. */
13
32
  height: number;
33
+ /** Line spacing factor used by the MTEXT input box renderer. */
34
+ lineSpacingFactor: number;
35
+ /** MTEXT attachment (DXF group 71) matching the editor justify control. */
36
+ attachmentPoint: AcGiMTextAttachmentPoint;
14
37
  }
15
38
  /**
16
39
  * Options used to open an interactive MTEXT editor.
@@ -20,6 +43,11 @@ export interface AcEdMTextEditorOptions {
20
43
  view: AcTrView2d;
21
44
  /** Insertion location (top-left anchor) in world coordinates. */
22
45
  location: AcGePoint3dLike;
46
+ /**
47
+ * Initial MTEXT attachment (DXF 71). When omitted, the editor uses top-left
48
+ * until the user changes justify in the ribbon.
49
+ */
50
+ initialAttachmentPoint?: AcGiMTextAttachmentPoint;
23
51
  /** Initial MTEXT box width in world units. */
24
52
  width: number;
25
53
  /** Default text height in world units. */
@@ -39,6 +67,11 @@ export interface AcEdMTextEditorOptions {
39
67
  * color input in the MTEXT toolbar.
40
68
  */
41
69
  toolbarColorPicker?: MTextToolbarColorPickerFactory;
70
+ /**
71
+ * Controls the built-in MTEXT input box toolbar for this editor instance.
72
+ * Defaults to {@link AcEdMTextEditor.defaultToolbarEnabled}.
73
+ */
74
+ toolbarEnabled?: boolean;
42
75
  }
43
76
  /**
44
77
  * Lightweight wrapper around `MTextInputBox` for CAD editor integration.
@@ -47,12 +80,21 @@ export interface AcEdMTextEditorOptions {
47
80
  * render loop and handles lifecycle cleanup when the editor is closed.
48
81
  */
49
82
  export declare class AcEdMTextEditor {
83
+ static readonly defaultLineSpacingFactor = 0.3;
84
+ private static activeInputBox;
85
+ private static readonly activeInputBoxChangeListeners;
50
86
  /**
51
87
  * Default toolbar color picker factory used when opening the editor if
52
88
  * per-call options do not provide {@link AcEdMTextEditorOptions.toolbarColorPicker}.
53
89
  * Set via {@link AcEdMTextEditor.setDefaultColorPicker}.
54
90
  */
55
91
  static defaultColorPicker: MTextToolbarColorPickerFactory | null;
92
+ /**
93
+ * Default visibility for the built-in MTEXT input box toolbar. Applications
94
+ * with their own contextual ribbon can disable this while keeping the input
95
+ * box editor active.
96
+ */
97
+ static defaultToolbarEnabled: boolean;
56
98
  /**
57
99
  * Registers a default toolbar color picker factory. The factory is used for
58
100
  * every subsequent {@link open} call unless overridden by
@@ -61,6 +103,29 @@ export declare class AcEdMTextEditor {
61
103
  * @param factory - Factory to use, or `null` to clear and use the built-in picker.
62
104
  */
63
105
  static setDefaultColorPicker(factory: MTextToolbarColorPickerFactory | null): void;
106
+ /**
107
+ * Registers the default built-in toolbar visibility for subsequent
108
+ * {@link open} calls.
109
+ *
110
+ * @param enabled - `true` to show the MTEXT input box toolbar by default.
111
+ */
112
+ static setDefaultToolbarEnabled(enabled: boolean): void;
113
+ /**
114
+ * Returns the MTEXT input box currently being edited, if any.
115
+ */
116
+ static getActiveInputBox(): AcEdMTextEditorActiveInputBox | null;
117
+ /**
118
+ * Subscribes to active MTEXT input box changes.
119
+ */
120
+ static addActiveInputBoxChangeListener(listener: AcEdMTextEditorActiveInputBoxChangeListener): void;
121
+ /**
122
+ * Removes an active MTEXT input box listener.
123
+ */
124
+ static removeActiveInputBoxChangeListener(listener: AcEdMTextEditorActiveInputBoxChangeListener): void;
125
+ private static setActiveInputBox;
126
+ private static createHiddenToolbarContainer;
127
+ private static attachFormatBridge;
128
+ private static detachFormatBridge;
64
129
  /**
65
130
  * Opens the MTEXT editor and resolves when user closes the editor UI.
66
131
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AcEdMTextEditor.d.ts","sourceRoot":"","sources":["../../../../src/editor/input/ui/AcEdMTextEditor.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAEL,KAAK,8BAA8B,EAEpC,MAAM,4BAA4B,CAAA;AAKnC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAA;IAChB,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAA;IACb,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,yEAAyE;IACzE,IAAI,EAAE,UAAU,CAAA;IAChB,iEAAiE;IACjE,QAAQ,EAAE,eAAe,CAAA;IACzB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAA;IACb,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAA;IAClB,sEAAsE;IACtE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC9B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,8BAA8B,CAAA;CACpD;AAED;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,EAAE,8BAA8B,GAAG,IAAI,CAAO;IAEvE;;;;;;OAMG;IACH,MAAM,CAAC,qBAAqB,CAC1B,OAAO,EAAE,8BAA8B,GAAG,IAAI,GAC7C,IAAI;IAIP;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;CAqI7E"}
1
+ {"version":3,"file":"AcEdMTextEditor.d.ts","sourceRoot":"","sources":["../../../../src/editor/input/ui/AcEdMTextEditor.ts"],"names":[],"mappings":"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"}
@@ -11,9 +11,22 @@ var __assign = (this && this.__assign) || function () {
11
11
  };
12
12
  import { AcDbSystemVariables, AcDbSysVarManager } from '@mlightcad/data-model';
13
13
  import { MTextInputBox } from '@mlightcad/mtext-input-box';
14
- import { MTextColor } from '@mlightcad/mtext-renderer';
14
+ import { MTextAttachmentPoint, MTextColor } from '@mlightcad/mtext-renderer';
15
15
  import * as THREE from 'three';
16
16
  import { AcApDocManager } from '../../../app';
17
+ import { isLightBackground } from '../../global/AcEdUiColor';
18
+ function acGiAttachmentToMText(ap) {
19
+ if (ap === undefined)
20
+ return undefined;
21
+ var v = ap;
22
+ if (v >= 1 && v <= 12)
23
+ return v;
24
+ return MTextAttachmentPoint.TopLeft;
25
+ }
26
+ function mTextAttachmentToAcGi(ap) {
27
+ return ap;
28
+ }
29
+ var mtextFormatBridgeKey = '__mlightcadMTextFormatBridge';
17
30
  /**
18
31
  * Lightweight wrapper around `MTextInputBox` for CAD editor integration.
19
32
  *
@@ -33,6 +46,159 @@ var AcEdMTextEditor = /** @class */ (function () {
33
46
  AcEdMTextEditor.setDefaultColorPicker = function (factory) {
34
47
  AcEdMTextEditor.defaultColorPicker = factory;
35
48
  };
49
+ /**
50
+ * Registers the default built-in toolbar visibility for subsequent
51
+ * {@link open} calls.
52
+ *
53
+ * @param enabled - `true` to show the MTEXT input box toolbar by default.
54
+ */
55
+ AcEdMTextEditor.setDefaultToolbarEnabled = function (enabled) {
56
+ AcEdMTextEditor.defaultToolbarEnabled = enabled;
57
+ };
58
+ /**
59
+ * Returns the MTEXT input box currently being edited, if any.
60
+ */
61
+ AcEdMTextEditor.getActiveInputBox = function () {
62
+ return AcEdMTextEditor.activeInputBox;
63
+ };
64
+ /**
65
+ * Subscribes to active MTEXT input box changes.
66
+ */
67
+ AcEdMTextEditor.addActiveInputBoxChangeListener = function (listener) {
68
+ AcEdMTextEditor.activeInputBoxChangeListeners.add(listener);
69
+ };
70
+ /**
71
+ * Removes an active MTEXT input box listener.
72
+ */
73
+ AcEdMTextEditor.removeActiveInputBoxChangeListener = function (listener) {
74
+ AcEdMTextEditor.activeInputBoxChangeListeners.delete(listener);
75
+ };
76
+ AcEdMTextEditor.setActiveInputBox = function (inputBox) {
77
+ if (AcEdMTextEditor.activeInputBox === inputBox)
78
+ return;
79
+ AcEdMTextEditor.activeInputBox = inputBox;
80
+ AcEdMTextEditor.activeInputBoxChangeListeners.forEach(function (listener) {
81
+ listener(inputBox);
82
+ });
83
+ };
84
+ AcEdMTextEditor.createHiddenToolbarContainer = function (parent) {
85
+ var container = parent.ownerDocument.createElement('div');
86
+ container.setAttribute('aria-hidden', 'true');
87
+ Object.assign(container.style, {
88
+ display: 'none',
89
+ pointerEvents: 'none'
90
+ });
91
+ parent.appendChild(container);
92
+ return container;
93
+ };
94
+ AcEdMTextEditor.attachFormatBridge = function (inputBox) {
95
+ var runtime = inputBox;
96
+ if (runtime[mtextFormatBridgeKey])
97
+ return;
98
+ var listeners = new Set();
99
+ var restoreMethods = [];
100
+ var notifyFormatChanged = function () {
101
+ listeners.forEach(function (listener) {
102
+ listener();
103
+ });
104
+ };
105
+ var wrapMethod = function (methodName) {
106
+ var original = runtime[methodName];
107
+ if (typeof original !== 'function')
108
+ return;
109
+ runtime[methodName] = function () {
110
+ var args = [];
111
+ for (var _i = 0; _i < arguments.length; _i++) {
112
+ args[_i] = arguments[_i];
113
+ }
114
+ var result = original.apply(runtime, args);
115
+ notifyFormatChanged();
116
+ return result;
117
+ };
118
+ restoreMethods.push(function () {
119
+ runtime[methodName] = original;
120
+ });
121
+ };
122
+ [
123
+ 'setCurrentFormat',
124
+ 'refreshCurrentFormatFromDocument',
125
+ 'toggleCase',
126
+ 'toggleStackSelection',
127
+ 'toggleScriptSelection',
128
+ 'setParagraphAlignment',
129
+ 'setAttachmentPoint',
130
+ 'setLineSpacingFactor',
131
+ 'clearLineSpacing'
132
+ ].forEach(wrapMethod);
133
+ runtime.addCurrentFormatChangeListener = function (listener) {
134
+ listeners.add(listener);
135
+ };
136
+ runtime.removeCurrentFormatChangeListener = function (listener) {
137
+ listeners.delete(listener);
138
+ };
139
+ runtime.focusEditor = function () {
140
+ var runtimeMethods = runtime;
141
+ var focus = runtimeMethods.focusImeInput;
142
+ if (typeof focus === 'function') {
143
+ focus.call(runtime);
144
+ return;
145
+ }
146
+ var refocusSoon = runtimeMethods.refocusImeInputSoon;
147
+ if (typeof refocusSoon === 'function') {
148
+ refocusSoon.call(runtime);
149
+ }
150
+ };
151
+ runtime.isStackSelectionActive = function () {
152
+ var _a, _b, _c, _d, _e;
153
+ var runtimeMethods = runtime;
154
+ var getSelectionRange = runtimeMethods.getSelectionRange;
155
+ var toDocumentIndexFromLogicalIndex = runtimeMethods.toDocumentIndexFromLogicalIndex;
156
+ var isScriptOnlyStack = runtimeMethods.isScriptOnlyStack;
157
+ var document = runtimeMethods.document;
158
+ if (typeof getSelectionRange !== 'function' ||
159
+ typeof toDocumentIndexFromLogicalIndex !== 'function') {
160
+ return false;
161
+ }
162
+ var selection = getSelectionRange.call(runtime);
163
+ if (!selection || selection.isCollapsed)
164
+ return false;
165
+ var start = toDocumentIndexFromLogicalIndex.call(runtime, selection.start, true);
166
+ var end = toDocumentIndexFromLogicalIndex.call(runtime, selection.end, false);
167
+ var selectedNodes = (_c = (_b = (_a = document === null || document === void 0 ? void 0 : document.ast) === null || _a === void 0 ? void 0 : _a.nodes) === null || _b === void 0 ? void 0 : _b.slice(start, end)) !== null && _c !== void 0 ? _c : [];
168
+ var stackNode = selectedNodes[0];
169
+ if (selectedNodes.length !== 1 || (stackNode === null || stackNode === void 0 ? void 0 : stackNode.type) !== 'stack') {
170
+ return false;
171
+ }
172
+ if (typeof isScriptOnlyStack === 'function') {
173
+ return !isScriptOnlyStack.call(runtime, stackNode);
174
+ }
175
+ if (stackNode.divider !== '^')
176
+ return true;
177
+ var hasNumerator = ((_d = stackNode.numerator) !== null && _d !== void 0 ? _d : '').trim().length > 0;
178
+ var hasDenominator = ((_e = stackNode.denominator) !== null && _e !== void 0 ? _e : '').trim().length > 0;
179
+ return hasNumerator === hasDenominator;
180
+ };
181
+ runtime[mtextFormatBridgeKey] = {
182
+ addCurrentFormatChangeListener: runtime.addCurrentFormatChangeListener,
183
+ removeCurrentFormatChangeListener: runtime.removeCurrentFormatChangeListener,
184
+ dispose: function () {
185
+ restoreMethods.forEach(function (restore) {
186
+ restore();
187
+ });
188
+ listeners.clear();
189
+ delete runtime.addCurrentFormatChangeListener;
190
+ delete runtime.removeCurrentFormatChangeListener;
191
+ delete runtime.focusEditor;
192
+ delete runtime.isStackSelectionActive;
193
+ delete runtime[mtextFormatBridgeKey];
194
+ }
195
+ };
196
+ };
197
+ AcEdMTextEditor.detachFormatBridge = function (inputBox) {
198
+ var _a;
199
+ var runtime = inputBox;
200
+ (_a = runtime[mtextFormatBridgeKey]) === null || _a === void 0 ? void 0 : _a.dispose();
201
+ };
36
202
  /**
37
203
  * Opens the MTEXT editor and resolves when user closes the editor UI.
38
204
  *
@@ -48,10 +214,10 @@ var AcEdMTextEditor = /** @class */ (function () {
48
214
  */
49
215
  AcEdMTextEditor.prototype.open = function (options) {
50
216
  var _a, _b;
51
- var view = options.view, location = options.location, width = options.width, textHeight = options.textHeight, _c = options.initialText, initialText = _c === void 0 ? '' : _c, _d = options.toolbarFontFamilies, toolbarFontFamilies = _d === void 0 ? [] : _d, toolbarColorPicker = options.toolbarColorPicker;
217
+ var view = options.view, location = options.location, width = options.width, textHeight = options.textHeight, _c = options.initialText, initialText = _c === void 0 ? '' : _c, _d = options.toolbarFontFamilies, toolbarFontFamilies = _d === void 0 ? [] : _d, toolbarColorPicker = options.toolbarColorPicker, _e = options.toolbarEnabled, toolbarEnabled = _e === void 0 ? AcEdMTextEditor.defaultToolbarEnabled : _e, initialAttachmentPoint = options.initialAttachmentPoint;
52
218
  var origin = new THREE.Vector3(location.x, location.y, (_a = location.z) !== null && _a !== void 0 ? _a : 0);
53
- var isLightBackground = view.backgroundColor === 0xffffff;
54
- var cursorColor = isLightBackground ? '#000000' : '#ffffff';
219
+ var isLightBg = isLightBackground(view.backgroundColor);
220
+ var cursorColor = isLightBg ? '#000000' : '#ffffff';
55
221
  var docManager = AcApDocManager.instance;
56
222
  var database = docManager.curDocument.database;
57
223
  var layerColor = docManager.resolveColors().layerColor;
@@ -76,33 +242,36 @@ var AcEdMTextEditor = /** @class */ (function () {
76
242
  var layerTextStyle = resolveLayerTextStyle();
77
243
  var defaultTextStyle = layerTextStyle
78
244
  ? __assign(__assign({}, layerTextStyle), { fixedTextHeight: normalizedTextHeight, lastHeight: normalizedTextHeight }) : undefined;
79
- var mtextInputBox = new MTextInputBox({
80
- scene: view.internalScene,
81
- camera: view.internalCamera,
82
- width: width,
83
- position: origin.clone(),
84
- initialText: initialText,
85
- textStyle: defaultTextStyle,
86
- cursorStyle: {
245
+ // MTextInputBox still uses its shared toolbar object for internal format
246
+ // sync while editing. Keep that object alive when the app hides the built-in
247
+ // toolbar, but mount it into a hidden host so only the contextual ribbon is
248
+ // visible.
249
+ var hiddenToolbarContainer = toolbarEnabled
250
+ ? null
251
+ : AcEdMTextEditor.createHiddenToolbarContainer(view.container);
252
+ var mtextAttachment = acGiAttachmentToMText(initialAttachmentPoint);
253
+ var mtextInputBox = new MTextInputBox(__assign(__assign({ scene: view.internalScene, camera: view.internalCamera, width: width, position: origin.clone(), initialText: initialText }, (mtextAttachment !== undefined
254
+ ? { initialAttachmentPoint: mtextAttachment }
255
+ : {})), { textStyle: defaultTextStyle, cursorStyle: {
87
256
  color: cursorColor,
88
257
  glowColor: cursorColor
89
- },
90
- imeTarget: view.canvas,
91
- colorSettings: {
258
+ }, boundingBoxStyle: {
259
+ padding: 0
260
+ }, imeTarget: view.canvas, colorSettings: {
92
261
  layer: database.clayer,
93
262
  color: new MTextColor(),
94
263
  byLayerColor: layerColor,
95
264
  byBlockColor: layerColor
96
- },
97
- toolbar: {
265
+ }, toolbar: {
98
266
  enabled: true,
99
267
  theme: getToolbarTheme(),
100
268
  fontFamilies: fontFamilies,
101
- container: view.container,
269
+ container: hiddenToolbarContainer !== null && hiddenToolbarContainer !== void 0 ? hiddenToolbarContainer : view.container,
102
270
  offsetY: 10,
103
271
  colorPicker: (_b = toolbarColorPicker !== null && toolbarColorPicker !== void 0 ? toolbarColorPicker : AcEdMTextEditor.defaultColorPicker) !== null && _b !== void 0 ? _b : undefined
104
- }
105
- });
272
+ } }));
273
+ AcEdMTextEditor.attachFormatBridge(mtextInputBox);
274
+ AcEdMTextEditor.setActiveInputBox(mtextInputBox);
106
275
  return new Promise(function (resolve) {
107
276
  var done = false;
108
277
  var onRenderFrame = function () {
@@ -120,7 +289,12 @@ var AcEdMTextEditor = /** @class */ (function () {
120
289
  view.isDirty = true;
121
290
  };
122
291
  var cleanup = function () {
292
+ if (AcEdMTextEditor.activeInputBox === mtextInputBox) {
293
+ AcEdMTextEditor.setActiveInputBox(null);
294
+ }
295
+ AcEdMTextEditor.detachFormatBridge(mtextInputBox);
123
296
  mtextInputBox.dispose();
297
+ hiddenToolbarContainer === null || hiddenToolbarContainer === void 0 ? void 0 : hiddenToolbarContainer.remove();
124
298
  view.events.renderFrame.removeEventListener(onRenderFrame);
125
299
  mtextInputBox.off('close', onClose);
126
300
  AcDbSysVarManager.instance().events.sysVarChanged.removeEventListener(onSysVarChanged);
@@ -134,10 +308,19 @@ var AcEdMTextEditor = /** @class */ (function () {
134
308
  resolve(result);
135
309
  };
136
310
  var onClose = function () {
311
+ var _a, _b;
312
+ var insertionPoint = mtextInputBox.getMTextInsertionPoint();
137
313
  finish({
138
314
  contents: mtextInputBox.getText(),
315
+ location: {
316
+ x: insertionPoint.x,
317
+ y: insertionPoint.y,
318
+ z: insertionPoint.z
319
+ },
139
320
  width: width,
140
- height: textHeight
321
+ height: normalizedTextHeight,
322
+ lineSpacingFactor: (_b = (_a = mtextInputBox.getLineSpacingFactor) === null || _a === void 0 ? void 0 : _a.call(mtextInputBox)) !== null && _b !== void 0 ? _b : AcEdMTextEditor.defaultLineSpacingFactor,
323
+ attachmentPoint: mTextAttachmentToAcGi(mtextInputBox.getMTextAttachmentPoint())
141
324
  });
142
325
  };
143
326
  mtextInputBox.on('close', onClose);
@@ -145,12 +328,21 @@ var AcEdMTextEditor = /** @class */ (function () {
145
328
  AcDbSysVarManager.instance().events.sysVarChanged.addEventListener(onSysVarChanged);
146
329
  });
147
330
  };
331
+ AcEdMTextEditor.defaultLineSpacingFactor = 0.3;
332
+ AcEdMTextEditor.activeInputBox = null;
333
+ AcEdMTextEditor.activeInputBoxChangeListeners = new Set();
148
334
  /**
149
335
  * Default toolbar color picker factory used when opening the editor if
150
336
  * per-call options do not provide {@link AcEdMTextEditorOptions.toolbarColorPicker}.
151
337
  * Set via {@link AcEdMTextEditor.setDefaultColorPicker}.
152
338
  */
153
339
  AcEdMTextEditor.defaultColorPicker = null;
340
+ /**
341
+ * Default visibility for the built-in MTEXT input box toolbar. Applications
342
+ * with their own contextual ribbon can disable this while keeping the input
343
+ * box editor active.
344
+ */
345
+ AcEdMTextEditor.defaultToolbarEnabled = true;
154
346
  return AcEdMTextEditor;
155
347
  }());
156
348
  export { AcEdMTextEditor };
@@ -1 +1 @@
1
- {"version":3,"file":"AcEdMTextEditor.js","sourceRoot":"","sources":["../../../../src/editor/input/ui/AcEdMTextEditor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcEdMTextEditor.js","sourceRoot":"","sources":["../../../../src/editor/input/ui/AcEdMTextEditor.ts"],"names":[],"mappings":"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"}
@@ -64,6 +64,14 @@ export declare class AcEdRubberBand {
64
64
  * @param view - View used to convert world coordinates to screen coordinates.
65
65
  */
66
66
  constructor(view: AcEdBaseView);
67
+ /**
68
+ * Converts a world point to container-local screen coordinates.
69
+ */
70
+ private toContainerPoint;
71
+ /**
72
+ * Ensures the overlay host can anchor absolutely positioned children.
73
+ */
74
+ private ensureHostPositioned;
67
75
  /**
68
76
  * Starts the rubber-band preview.
69
77
  * @param basePoint The starting point in world coordinates.
@@ -1 +1 @@
1
- {"version":3,"file":"AcEdRubberBand.d.ts","sourceRoot":"","sources":["../../../../src/editor/input/ui/AcEdRubberBand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAe,MAAM,uBAAuB,CAAA;AAEpE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAE1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,SAAS,CAAC,CAAa;IAE/B,OAAO,CAAC,SAAS,CAA8B;IAG/C,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,aAAa,CAA8B;IAGnD,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,YAAY,CAA8B;IAGlD,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,SAAS,CAA8B;IAE/C,OAAO,CAAC,OAAO,CAA4B;IAE3C;;;;OAIG;IACH,IAAI,OAAO,0BAEV;IAED;;;;OAIG;gBACS,IAAI,EAAE,YAAY;IAI9B;;;OAGG;IACH,KAAK,CAAC,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,qBAAqB;IA0FjE;;;OAGG;IACH,MAAM,CAAC,WAAW,EAAE,eAAe;IA6LnC,mEAAmE;IACnE,OAAO;CAgBR"}
1
+ {"version":3,"file":"AcEdRubberBand.d.ts","sourceRoot":"","sources":["../../../../src/editor/input/ui/AcEdRubberBand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAe,MAAM,uBAAuB,CAAA;AAGpE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAEzC;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B;;OAEG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAE1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,IAAI,CAAc;IAC1B,OAAO,CAAC,SAAS,CAAC,CAAa;IAE/B,OAAO,CAAC,SAAS,CAA8B;IAG/C,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,gBAAgB,CAA8B;IACtD,OAAO,CAAC,aAAa,CAA8B;IAGnD,OAAO,CAAC,OAAO,CAA8B;IAC7C,OAAO,CAAC,YAAY,CAA8B;IAGlD,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,SAAS,CAA8B;IAE/C,OAAO,CAAC,OAAO,CAA4B;IAE3C;;;;OAIG;IACH,IAAI,OAAO,0BAEV;IAED;;;;OAIG;gBACS,IAAI,EAAE,YAAY;IAI9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;OAGG;IACH,KAAK,CAAC,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,qBAAqB;IA8FjE;;;OAGG;IACH,MAAM,CAAC,WAAW,EAAE,eAAe;IAgMnC,mEAAmE;IACnE,OAAO;CAgBR"}