@mlightcad/cad-simple-viewer 1.7.0 → 1.7.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 (358) hide show
  1. package/README.md +6 -1
  2. package/dist/cad-simple-viewer.js +17658 -13023
  3. package/dist/cad-simple-viewer.umd.cjs +985 -114
  4. package/dist/mtext-renderer-worker.js +7390 -7160
  5. package/lib/app/AcApContext.d.ts.map +1 -1
  6. package/lib/app/AcApContext.js +4 -3
  7. package/lib/app/AcApContext.js.map +1 -1
  8. package/lib/app/AcApDocManager.d.ts +41 -18
  9. package/lib/app/AcApDocManager.d.ts.map +1 -1
  10. package/lib/app/AcApDocManager.js +89 -49
  11. package/lib/app/AcApDocManager.js.map +1 -1
  12. package/lib/app/AcApDocument.d.ts +3 -0
  13. package/lib/app/AcApDocument.d.ts.map +1 -1
  14. package/lib/app/AcApDocument.js +31 -24
  15. package/lib/app/AcApDocument.js.map +1 -1
  16. package/lib/app/AcApOpenDatabaseOptions.d.ts +33 -7
  17. package/lib/app/AcApOpenDatabaseOptions.d.ts.map +1 -1
  18. package/lib/app/AcApOpenDatabaseOptions.js +1 -1
  19. package/lib/app/AcApOpenDatabaseOptions.js.map +1 -1
  20. package/lib/app/AcApOpenFileProgressController.d.ts +13 -4
  21. package/lib/app/AcApOpenFileProgressController.d.ts.map +1 -1
  22. package/lib/app/AcApOpenFileProgressController.js +25 -6
  23. package/lib/app/AcApOpenFileProgressController.js.map +1 -1
  24. package/lib/app/AcApWorkerAssets.d.ts +3 -3
  25. package/lib/app/AcApWorkerAssets.d.ts.map +1 -1
  26. package/lib/app/AcApWorkerAssets.js +3 -3
  27. package/lib/app/AcApWorkerAssets.js.map +1 -1
  28. package/lib/app/index.d.ts +1 -0
  29. package/lib/app/index.d.ts.map +1 -1
  30. package/lib/app/index.js +1 -0
  31. package/lib/app/index.js.map +1 -1
  32. package/lib/app/notification/AcApNotificationEventBridge.d.ts +130 -0
  33. package/lib/app/notification/AcApNotificationEventBridge.d.ts.map +1 -0
  34. package/lib/app/notification/AcApNotificationEventBridge.js +309 -0
  35. package/lib/app/notification/AcApNotificationEventBridge.js.map +1 -0
  36. package/lib/app/notification/AcApNotificationService.d.ts +185 -0
  37. package/lib/app/notification/AcApNotificationService.d.ts.map +1 -0
  38. package/lib/app/notification/AcApNotificationService.js +271 -0
  39. package/lib/app/notification/AcApNotificationService.js.map +1 -0
  40. package/lib/app/notification/AcApNotificationStore.d.ts +147 -0
  41. package/lib/app/notification/AcApNotificationStore.d.ts.map +1 -0
  42. package/lib/app/notification/AcApNotificationStore.js +345 -0
  43. package/lib/app/notification/AcApNotificationStore.js.map +1 -0
  44. package/lib/app/notification/AcApNotificationTypes.d.ts +195 -0
  45. package/lib/app/notification/AcApNotificationTypes.d.ts.map +1 -0
  46. package/lib/app/notification/AcApNotificationTypes.js +78 -0
  47. package/lib/app/notification/AcApNotificationTypes.js.map +1 -0
  48. package/lib/app/notification/index.d.ts +13 -0
  49. package/lib/app/notification/index.d.ts.map +1 -0
  50. package/lib/app/notification/index.js +13 -0
  51. package/lib/app/notification/index.js.map +1 -0
  52. package/lib/command/AcApInstallDrawStyleSessionAccessory.js +11 -7
  53. package/lib/command/AcApInstallDrawStyleSessionAccessory.js.map +1 -1
  54. package/lib/command/AcApSwitchBgCmd.d.ts.map +1 -1
  55. package/lib/command/AcApSwitchBgCmd.js +7 -2
  56. package/lib/command/AcApSwitchBgCmd.js.map +1 -1
  57. package/lib/command/AcApToolbarDocBind.d.ts +19 -0
  58. package/lib/command/AcApToolbarDocBind.d.ts.map +1 -0
  59. package/lib/command/AcApToolbarDocBind.js +62 -0
  60. package/lib/command/AcApToolbarDocBind.js.map +1 -0
  61. package/lib/command/convert/AcApConvertToBmpCmd.d.ts +14 -0
  62. package/lib/command/convert/AcApConvertToBmpCmd.d.ts.map +1 -0
  63. package/lib/command/convert/AcApConvertToBmpCmd.js +34 -0
  64. package/lib/command/convert/AcApConvertToBmpCmd.js.map +1 -0
  65. package/lib/command/convert/AcApConvertToJpgCmd.d.ts +14 -0
  66. package/lib/command/convert/AcApConvertToJpgCmd.d.ts.map +1 -0
  67. package/lib/command/convert/AcApConvertToJpgCmd.js +34 -0
  68. package/lib/command/convert/AcApConvertToJpgCmd.js.map +1 -0
  69. package/lib/command/convert/AcApConvertToPngCmd.d.ts +4 -36
  70. package/lib/command/convert/AcApConvertToPngCmd.d.ts.map +1 -1
  71. package/lib/command/convert/AcApConvertToPngCmd.js +4 -138
  72. package/lib/command/convert/AcApConvertToPngCmd.js.map +1 -1
  73. package/lib/command/convert/AcApConvertToRasterImageCmd.d.ts +40 -0
  74. package/lib/command/convert/AcApConvertToRasterImageCmd.d.ts.map +1 -0
  75. package/lib/command/convert/AcApConvertToRasterImageCmd.js +161 -0
  76. package/lib/command/convert/AcApConvertToRasterImageCmd.js.map +1 -0
  77. package/lib/command/convert/{AcApPngConvertor.d.ts → AcApRasterImageConvertor.d.ts} +36 -12
  78. package/lib/command/convert/AcApRasterImageConvertor.d.ts.map +1 -0
  79. package/lib/command/convert/{AcApPngConvertor.js → AcApRasterImageConvertor.js} +163 -32
  80. package/lib/command/convert/AcApRasterImageConvertor.js.map +1 -0
  81. package/lib/command/convert/index.d.ts +4 -1
  82. package/lib/command/convert/index.d.ts.map +1 -1
  83. package/lib/command/convert/index.js +4 -1
  84. package/lib/command/convert/index.js.map +1 -1
  85. package/lib/command/index.d.ts +2 -0
  86. package/lib/command/index.d.ts.map +1 -1
  87. package/lib/command/index.js +2 -0
  88. package/lib/command/index.js.map +1 -1
  89. package/lib/command/markup/AcApMarkupCalloutCmd.d.ts.map +1 -1
  90. package/lib/command/markup/AcApMarkupCalloutCmd.js +51 -1
  91. package/lib/command/markup/AcApMarkupCalloutCmd.js.map +1 -1
  92. package/lib/command/markup/AcApMarkupCmdUtil.d.ts +5 -0
  93. package/lib/command/markup/AcApMarkupCmdUtil.d.ts.map +1 -1
  94. package/lib/command/markup/AcApMarkupCmdUtil.js +27 -9
  95. package/lib/command/markup/AcApMarkupCmdUtil.js.map +1 -1
  96. package/lib/command/markup/AcApMarkupShapeCallout.d.ts.map +1 -1
  97. package/lib/command/markup/AcApMarkupShapeCallout.js +49 -1
  98. package/lib/command/markup/AcApMarkupShapeCallout.js.map +1 -1
  99. package/lib/editor/global/AcEdUiLayout.d.ts +6 -0
  100. package/lib/editor/global/AcEdUiLayout.d.ts.map +1 -1
  101. package/lib/editor/global/AcEdUiLayout.js +6 -0
  102. package/lib/editor/global/AcEdUiLayout.js.map +1 -1
  103. package/lib/editor/input/ui/AcEdCanvasTouchCalloutGuard.d.ts +31 -0
  104. package/lib/editor/input/ui/AcEdCanvasTouchCalloutGuard.d.ts.map +1 -0
  105. package/lib/editor/input/ui/AcEdCanvasTouchCalloutGuard.js +67 -0
  106. package/lib/editor/input/ui/AcEdCanvasTouchCalloutGuard.js.map +1 -0
  107. package/lib/editor/input/ui/AcEdFloatingInput.d.ts +2 -0
  108. package/lib/editor/input/ui/AcEdFloatingInput.d.ts.map +1 -1
  109. package/lib/editor/input/ui/AcEdFloatingInput.js +13 -2
  110. package/lib/editor/input/ui/AcEdFloatingInput.js.map +1 -1
  111. package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts +6 -0
  112. package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts.map +1 -1
  113. package/lib/editor/input/ui/AcEdInputManager.d.ts.map +1 -1
  114. package/lib/editor/input/ui/AcEdInputManager.js +47 -7
  115. package/lib/editor/input/ui/AcEdInputManager.js.map +1 -1
  116. package/lib/editor/input/ui/AcEdMTextEditor.d.ts.map +1 -1
  117. package/lib/editor/input/ui/AcEdMTextEditor.js +2 -1
  118. package/lib/editor/input/ui/AcEdMTextEditor.js.map +1 -1
  119. package/lib/editor/input/ui/AcEdMobileBoxGesture.d.ts.map +1 -1
  120. package/lib/editor/input/ui/AcEdMobileBoxGesture.js +2 -0
  121. package/lib/editor/input/ui/AcEdMobileBoxGesture.js.map +1 -1
  122. package/lib/editor/input/ui/AcEdMobileCommandChrome.d.ts +18 -4
  123. package/lib/editor/input/ui/AcEdMobileCommandChrome.d.ts.map +1 -1
  124. package/lib/editor/input/ui/AcEdMobileCommandChrome.js +14 -0
  125. package/lib/editor/input/ui/AcEdMobileCommandChrome.js.map +1 -1
  126. package/lib/editor/input/ui/AcEdSessionAccessoryController.d.ts +10 -2
  127. package/lib/editor/input/ui/AcEdSessionAccessoryController.d.ts.map +1 -1
  128. package/lib/editor/input/ui/AcEdSessionAccessoryController.js +15 -4
  129. package/lib/editor/input/ui/AcEdSessionAccessoryController.js.map +1 -1
  130. package/lib/editor/input/ui/AcEdTouchPointTiming.d.ts +1 -1
  131. package/lib/editor/input/ui/AcEdTouchPointTiming.d.ts.map +1 -1
  132. package/lib/editor/input/ui/AcEdTouchPointTiming.js +1 -1
  133. package/lib/editor/input/ui/AcEdTouchPointTiming.js.map +1 -1
  134. package/lib/editor/input/ui/index.d.ts +1 -0
  135. package/lib/editor/input/ui/index.d.ts.map +1 -1
  136. package/lib/editor/input/ui/index.js +1 -0
  137. package/lib/editor/input/ui/index.js.map +1 -1
  138. package/lib/editor/view/AcEdBaseView.d.ts +12 -0
  139. package/lib/editor/view/AcEdBaseView.d.ts.map +1 -1
  140. package/lib/editor/view/AcEdBaseView.js +19 -9
  141. package/lib/editor/view/AcEdBaseView.js.map +1 -1
  142. package/lib/editor/view/AcEdSelectionBoxIntersect.d.ts +36 -0
  143. package/lib/editor/view/AcEdSelectionBoxIntersect.d.ts.map +1 -0
  144. package/lib/editor/view/AcEdSelectionBoxIntersect.js +113 -0
  145. package/lib/editor/view/AcEdSelectionBoxIntersect.js.map +1 -0
  146. package/lib/editor/view/index.d.ts +1 -0
  147. package/lib/editor/view/index.d.ts.map +1 -1
  148. package/lib/editor/view/index.js +1 -0
  149. package/lib/editor/view/index.js.map +1 -1
  150. package/lib/i18n/AcApI18n.d.ts +2 -1
  151. package/lib/i18n/AcApI18n.d.ts.map +1 -1
  152. package/lib/i18n/AcApI18n.js +4 -1
  153. package/lib/i18n/AcApI18n.js.map +1 -1
  154. package/lib/i18n/ar/command.d.ts +9 -0
  155. package/lib/i18n/ar/command.d.ts.map +1 -1
  156. package/lib/i18n/ar/command.js +1 -1
  157. package/lib/i18n/ar/command.js.map +1 -1
  158. package/lib/i18n/ar/jig.d.ts +47 -0
  159. package/lib/i18n/ar/jig.d.ts.map +1 -1
  160. package/lib/i18n/ar/jig.js +17 -1
  161. package/lib/i18n/ar/jig.js.map +1 -1
  162. package/lib/i18n/ar/main.d.ts +32 -0
  163. package/lib/i18n/ar/main.d.ts.map +1 -1
  164. package/lib/i18n/ar/main.js +38 -6
  165. package/lib/i18n/ar/main.js.map +1 -1
  166. package/lib/i18n/cs/command.d.ts +9 -0
  167. package/lib/i18n/cs/command.d.ts.map +1 -1
  168. package/lib/i18n/cs/command.js +9 -0
  169. package/lib/i18n/cs/command.js.map +1 -1
  170. package/lib/i18n/cs/jig.d.ts +47 -0
  171. package/lib/i18n/cs/jig.d.ts.map +1 -1
  172. package/lib/i18n/cs/jig.js +47 -0
  173. package/lib/i18n/cs/jig.js.map +1 -1
  174. package/lib/i18n/cs/main.d.ts +32 -0
  175. package/lib/i18n/cs/main.d.ts.map +1 -1
  176. package/lib/i18n/cs/main.js +38 -6
  177. package/lib/i18n/cs/main.js.map +1 -1
  178. package/lib/i18n/en/command.d.ts +9 -0
  179. package/lib/i18n/en/command.d.ts.map +1 -1
  180. package/lib/i18n/en/command.js +9 -0
  181. package/lib/i18n/en/command.js.map +1 -1
  182. package/lib/i18n/en/jig.d.ts +47 -0
  183. package/lib/i18n/en/jig.d.ts.map +1 -1
  184. package/lib/i18n/en/jig.js +47 -0
  185. package/lib/i18n/en/jig.js.map +1 -1
  186. package/lib/i18n/en/main.d.ts +32 -0
  187. package/lib/i18n/en/main.d.ts.map +1 -1
  188. package/lib/i18n/en/main.js +38 -6
  189. package/lib/i18n/en/main.js.map +1 -1
  190. package/lib/i18n/index.d.ts +2 -2
  191. package/lib/i18n/index.d.ts.map +1 -1
  192. package/lib/i18n/index.js.map +1 -1
  193. package/lib/i18n/tr/command.d.ts +9 -0
  194. package/lib/i18n/tr/command.d.ts.map +1 -1
  195. package/lib/i18n/tr/command.js +9 -0
  196. package/lib/i18n/tr/command.js.map +1 -1
  197. package/lib/i18n/tr/jig.d.ts +47 -0
  198. package/lib/i18n/tr/jig.d.ts.map +1 -1
  199. package/lib/i18n/tr/jig.js +47 -0
  200. package/lib/i18n/tr/jig.js.map +1 -1
  201. package/lib/i18n/tr/main.d.ts +32 -0
  202. package/lib/i18n/tr/main.d.ts.map +1 -1
  203. package/lib/i18n/tr/main.js +38 -6
  204. package/lib/i18n/tr/main.js.map +1 -1
  205. package/lib/i18n/zh/command.d.ts +9 -0
  206. package/lib/i18n/zh/command.d.ts.map +1 -1
  207. package/lib/i18n/zh/command.js +9 -0
  208. package/lib/i18n/zh/command.js.map +1 -1
  209. package/lib/i18n/zh/jig.d.ts +47 -0
  210. package/lib/i18n/zh/jig.d.ts.map +1 -1
  211. package/lib/i18n/zh/jig.js +47 -0
  212. package/lib/i18n/zh/jig.js.map +1 -1
  213. package/lib/i18n/zh/main.d.ts +32 -0
  214. package/lib/i18n/zh/main.d.ts.map +1 -1
  215. package/lib/i18n/zh/main.js +38 -6
  216. package/lib/i18n/zh/main.js.map +1 -1
  217. package/lib/index.d.ts +1 -1
  218. package/lib/index.d.ts.map +1 -1
  219. package/lib/index.js +1 -1
  220. package/lib/index.js.map +1 -1
  221. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.d.ts +6 -0
  222. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.d.ts.map +1 -1
  223. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.js +10 -0
  224. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.js.map +1 -1
  225. package/lib/spatialIndex/AcTrLinearSpatialIndex.d.ts +4 -0
  226. package/lib/spatialIndex/AcTrLinearSpatialIndex.d.ts.map +1 -1
  227. package/lib/spatialIndex/AcTrLinearSpatialIndex.js +9 -0
  228. package/lib/spatialIndex/AcTrLinearSpatialIndex.js.map +1 -1
  229. package/lib/spatialIndex/AcTrRBushSpatialIndex.d.ts +4 -0
  230. package/lib/spatialIndex/AcTrRBushSpatialIndex.d.ts.map +1 -1
  231. package/lib/spatialIndex/AcTrRBushSpatialIndex.js +9 -0
  232. package/lib/spatialIndex/AcTrRBushSpatialIndex.js.map +1 -1
  233. package/lib/ui/AcUiDefaultNotificationUi.d.ts +167 -0
  234. package/lib/ui/AcUiDefaultNotificationUi.d.ts.map +1 -0
  235. package/lib/ui/AcUiDefaultNotificationUi.js +604 -0
  236. package/lib/ui/AcUiDefaultNotificationUi.js.map +1 -0
  237. package/lib/ui/AcUiDrawStyle.d.ts +2 -1
  238. package/lib/ui/AcUiDrawStyle.d.ts.map +1 -1
  239. package/lib/ui/AcUiDrawStyle.js +2 -1
  240. package/lib/ui/AcUiDrawStyle.js.map +1 -1
  241. package/lib/ui/AcUiDrawStyleSessionAccessory.d.ts.map +1 -1
  242. package/lib/ui/AcUiDrawStyleSessionAccessory.js +5 -1
  243. package/lib/ui/AcUiDrawStyleSessionAccessory.js.map +1 -1
  244. package/lib/ui/AcUiMobileSessionPanel.d.ts +73 -8
  245. package/lib/ui/AcUiMobileSessionPanel.d.ts.map +1 -1
  246. package/lib/ui/AcUiMobileSessionPanel.js +314 -49
  247. package/lib/ui/AcUiMobileSessionPanel.js.map +1 -1
  248. package/lib/ui/AcUiShortCutToolbar.d.ts +24 -0
  249. package/lib/ui/AcUiShortCutToolbar.d.ts.map +1 -1
  250. package/lib/ui/AcUiShortCutToolbar.js +73 -5
  251. package/lib/ui/AcUiShortCutToolbar.js.map +1 -1
  252. package/lib/ui/icons.d.ts +7 -1
  253. package/lib/ui/icons.d.ts.map +1 -1
  254. package/lib/ui/icons.js +10 -2
  255. package/lib/ui/icons.js.map +1 -1
  256. package/lib/ui/index.d.ts +2 -0
  257. package/lib/ui/index.d.ts.map +1 -1
  258. package/lib/ui/index.js +2 -0
  259. package/lib/ui/index.js.map +1 -1
  260. package/lib/ui/toolbar/AcUiDropdownMenu.d.ts +48 -0
  261. package/lib/ui/toolbar/AcUiDropdownMenu.d.ts.map +1 -0
  262. package/lib/ui/toolbar/AcUiDropdownMenu.js +116 -0
  263. package/lib/ui/toolbar/AcUiDropdownMenu.js.map +1 -0
  264. package/lib/ui/toolbar/AcUiSubToolbar.d.ts +125 -0
  265. package/lib/ui/toolbar/AcUiSubToolbar.d.ts.map +1 -0
  266. package/lib/ui/toolbar/AcUiSubToolbar.js +625 -0
  267. package/lib/ui/toolbar/AcUiSubToolbar.js.map +1 -0
  268. package/lib/ui/toolbar/AcUiToolbar.d.ts +446 -0
  269. package/lib/ui/toolbar/AcUiToolbar.d.ts.map +1 -0
  270. package/lib/ui/toolbar/AcUiToolbar.js +1550 -0
  271. package/lib/ui/toolbar/AcUiToolbar.js.map +1 -0
  272. package/lib/ui/toolbar/AcUiToolbarStyles.d.ts +20 -0
  273. package/lib/ui/toolbar/AcUiToolbarStyles.d.ts.map +1 -0
  274. package/lib/ui/toolbar/AcUiToolbarStyles.js +34 -0
  275. package/lib/ui/toolbar/AcUiToolbarStyles.js.map +1 -0
  276. package/lib/ui/toolbar/acuiWrapPackLayout.d.ts +19 -0
  277. package/lib/ui/toolbar/acuiWrapPackLayout.d.ts.map +1 -0
  278. package/lib/ui/toolbar/acuiWrapPackLayout.js +36 -0
  279. package/lib/ui/toolbar/acuiWrapPackLayout.js.map +1 -0
  280. package/lib/ui/toolbar/index.d.ts +19 -0
  281. package/lib/ui/toolbar/index.d.ts.map +1 -0
  282. package/lib/ui/toolbar/index.js +15 -0
  283. package/lib/ui/toolbar/index.js.map +1 -0
  284. package/lib/ui/toolbar/resolveToolbarChrome.d.ts +14 -0
  285. package/lib/ui/toolbar/resolveToolbarChrome.d.ts.map +1 -0
  286. package/lib/ui/toolbar/resolveToolbarChrome.js +35 -0
  287. package/lib/ui/toolbar/resolveToolbarChrome.js.map +1 -0
  288. package/lib/ui/toolbar/resolveToolbarItemState.d.ts +63 -0
  289. package/lib/ui/toolbar/resolveToolbarItemState.d.ts.map +1 -0
  290. package/lib/ui/toolbar/resolveToolbarItemState.js +171 -0
  291. package/lib/ui/toolbar/resolveToolbarItemState.js.map +1 -0
  292. package/lib/ui/toolbar/toolbarItemUtils.d.ts +62 -0
  293. package/lib/ui/toolbar/toolbarItemUtils.d.ts.map +1 -0
  294. package/lib/ui/toolbar/toolbarItemUtils.js +184 -0
  295. package/lib/ui/toolbar/toolbarItemUtils.js.map +1 -0
  296. package/lib/ui/toolbar/types.d.ts +268 -0
  297. package/lib/ui/toolbar/types.d.ts.map +1 -0
  298. package/lib/ui/toolbar/types.js +8 -0
  299. package/lib/ui/toolbar/types.js.map +1 -0
  300. package/lib/ui-html-entry.d.ts +8 -1
  301. package/lib/ui-html-entry.d.ts.map +1 -1
  302. package/lib/ui-html-entry.js +6 -1
  303. package/lib/ui-html-entry.js.map +1 -1
  304. package/lib/util/AcApAnalyzeUnsupportedDrawing.d.ts +53 -0
  305. package/lib/util/AcApAnalyzeUnsupportedDrawing.d.ts.map +1 -0
  306. package/lib/util/AcApAnalyzeUnsupportedDrawing.js +164 -0
  307. package/lib/util/AcApAnalyzeUnsupportedDrawing.js.map +1 -0
  308. package/lib/util/AcApFormatFontMissedMessage.d.ts +32 -0
  309. package/lib/util/AcApFormatFontMissedMessage.d.ts.map +1 -0
  310. package/lib/util/AcApFormatFontMissedMessage.js +46 -0
  311. package/lib/util/AcApFormatFontMissedMessage.js.map +1 -0
  312. package/lib/util/AcApFormatUnsupportedEntitiesMessage.d.ts +44 -0
  313. package/lib/util/AcApFormatUnsupportedEntitiesMessage.d.ts.map +1 -0
  314. package/lib/util/AcApFormatUnsupportedEntitiesMessage.js +105 -0
  315. package/lib/util/AcApFormatUnsupportedEntitiesMessage.js.map +1 -0
  316. package/lib/util/AcApMessageLink.d.ts +41 -0
  317. package/lib/util/AcApMessageLink.d.ts.map +1 -0
  318. package/lib/util/AcApMessageLink.js +127 -0
  319. package/lib/util/AcApMessageLink.js.map +1 -0
  320. package/lib/util/AcApOpenFileErrorMessage.d.ts +18 -1
  321. package/lib/util/AcApOpenFileErrorMessage.d.ts.map +1 -1
  322. package/lib/util/AcApOpenFileErrorMessage.js +34 -2
  323. package/lib/util/AcApOpenFileErrorMessage.js.map +1 -1
  324. package/lib/util/index.d.ts +4 -0
  325. package/lib/util/index.d.ts.map +1 -1
  326. package/lib/util/index.js +4 -0
  327. package/lib/util/index.js.map +1 -1
  328. package/lib/view/AcTrDirectBatch.d.ts.map +1 -1
  329. package/lib/view/AcTrDirectBatch.js +12 -1
  330. package/lib/view/AcTrDirectBatch.js.map +1 -1
  331. package/lib/view/AcTrLayer.d.ts +13 -1
  332. package/lib/view/AcTrLayer.d.ts.map +1 -1
  333. package/lib/view/AcTrLayer.js +28 -11
  334. package/lib/view/AcTrLayer.js.map +1 -1
  335. package/lib/view/AcTrLayout.d.ts +17 -2
  336. package/lib/view/AcTrLayout.d.ts.map +1 -1
  337. package/lib/view/AcTrLayout.js +44 -3
  338. package/lib/view/AcTrLayout.js.map +1 -1
  339. package/lib/view/AcTrProgressiveOpenFitController.d.ts +8 -0
  340. package/lib/view/AcTrProgressiveOpenFitController.d.ts.map +1 -1
  341. package/lib/view/AcTrProgressiveOpenFitController.js +13 -0
  342. package/lib/view/AcTrProgressiveOpenFitController.js.map +1 -1
  343. package/lib/view/AcTrScene.d.ts +4 -0
  344. package/lib/view/AcTrScene.d.ts.map +1 -1
  345. package/lib/view/AcTrScene.js +6 -0
  346. package/lib/view/AcTrScene.js.map +1 -1
  347. package/lib/view/AcTrView2d.d.ts +173 -17
  348. package/lib/view/AcTrView2d.d.ts.map +1 -1
  349. package/lib/view/AcTrView2d.js +742 -144
  350. package/lib/view/AcTrView2d.js.map +1 -1
  351. package/lib/view/fontLoadRegen.d.ts +25 -0
  352. package/lib/view/fontLoadRegen.d.ts.map +1 -0
  353. package/lib/view/fontLoadRegen.js +33 -0
  354. package/lib/view/fontLoadRegen.js.map +1 -0
  355. package/package.json +10 -8
  356. package/src/ui/icons.ts +14 -2
  357. package/lib/command/convert/AcApPngConvertor.d.ts.map +0 -1
  358. package/lib/command/convert/AcApPngConvertor.js.map +0 -1
@@ -0,0 +1,604 @@
1
+ var __values = (this && this.__values) || function(o) {
2
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
3
+ if (m) return m.call(o);
4
+ if (o && typeof o.length === "number") return {
5
+ next: function () {
6
+ if (o && i >= o.length) o = void 0;
7
+ return { value: o && o[i++], done: !o };
8
+ }
9
+ };
10
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
11
+ };
12
+ /**
13
+ * Built-in notification bell / panel for hosts that do not supply their own center.
14
+ *
15
+ * Lives under `src/ui` (`AcUi*`) because it is presentational DOM chrome.
16
+ * The application service / store / event bridge remain under `src/app/notification` (`AcAp*`).
17
+ *
18
+ * @module AcUiDefaultNotificationUi
19
+ * @packageDocumentation
20
+ */
21
+ import { acapGroupNotifications } from '../app/notification/AcApNotificationTypes';
22
+ import { acedGetUiLayout, acedSubscribeUiLayout, ML_UI_SESSION_PANEL_INSET, ML_UI_SESSION_PANEL_WIDTH, ML_UI_Z_NOTIFICATION } from '../editor/global/AcEdUiLayout';
23
+ import { acedApplyUiTheme, acedSubscribeUiTheme, resolveUiTheme } from '../editor/global/AcEdUiTheme';
24
+ import { acapI18nTranslate } from '../util/AcApFormatUnsupportedEntitiesMessage';
25
+ import { acapAppendLinkedText } from '../util/AcApMessageLink';
26
+ /** DOM id for the injected stylesheet. */
27
+ var STYLE_ID = 'ml-ui-notification-center-styles';
28
+ /** Root CSS class prefix for the built-in notification chrome. */
29
+ var ROOT_CLASS = 'ml-ui-notification-center';
30
+ /** Gap between the shortcut toolbar bottom edge and the notification bell. */
31
+ var SHORTCUT_CLEARANCE_PX = 8;
32
+ /**
33
+ * Fallback when the shortcut toolbar is missing / hidden.
34
+ * Matches shortcut default top (12) + typical shell height + gap.
35
+ */
36
+ var FALLBACK_TOP_BELOW_SHORTCUT_PX = 12 + 40 + SHORTCUT_CLEARANCE_PX;
37
+ /**
38
+ * Built-in notification UI for hosts that do not supply their own center.
39
+ *
40
+ * Interaction (aligned with iOS Notification Center ideas, adapted to CAD chrome):
41
+ * - Hidden entirely when there are no notifications (no idle bell clutter).
42
+ * - With messages: show only a badge-bearing bell; the list opens on tap.
43
+ * - Anchored to the **canvas host** (view container), not the browser window.
44
+ * - Desktop / pad: bell at the host's bottom-right by default; pad panel is a
45
+ * top sheet sized like the session input panel.
46
+ * - Phone: bell sits **below** the shortcut toolbar (measured live); panel is
47
+ * a full-width top sheet + dimmed backdrop.
48
+ *
49
+ * Theme tokens follow {@link resolveUiTheme} / `--ml-ui-*`.
50
+ */
51
+ var AcUiDefaultNotificationUi = /** @class */ (function () {
52
+ /**
53
+ * Builds and mounts the default notification chrome.
54
+ *
55
+ * @param center - Center to observe and mutate (clear / remove).
56
+ * @param host - Element that owns the absolute overlay (typically the canvas container).
57
+ * @param options - Optional bell placement override.
58
+ */
59
+ function AcUiDefaultNotificationUi(center, host, options) {
60
+ if (options === void 0) { options = {}; }
61
+ var _this = this;
62
+ var _a, _b, _c;
63
+ /** Keys of collapsible groups the user has expanded. */
64
+ this._expandedGroups = new Set();
65
+ /** Whether the list panel is currently open. */
66
+ this._panelOpen = false;
67
+ /** Latest UI layout kind from {@link acedGetUiLayout}. */
68
+ this._layoutKind = 'desktop';
69
+ /** Unsubscribe callbacks for center / theme / layout subscriptions. */
70
+ this._unsubs = [];
71
+ /** Pending `requestAnimationFrame` id for {@link scheduleReposition}. */
72
+ this._repositionRaf = 0;
73
+ this._center = center;
74
+ this._host = host;
75
+ this._placement = options.placement;
76
+ ensureStyles();
77
+ if (getComputedStyle(host).position === 'static') {
78
+ host.style.position = 'relative';
79
+ }
80
+ this._root = document.createElement('div');
81
+ this._root.className = ROOT_CLASS;
82
+ this._root.hidden = true;
83
+ this._backdrop = document.createElement('button');
84
+ this._backdrop.type = 'button';
85
+ this._backdrop.className = "".concat(ROOT_CLASS, "__backdrop");
86
+ this._backdrop.hidden = true;
87
+ this._backdrop.setAttribute('aria-label', 'Close notifications');
88
+ this._backdrop.addEventListener('click', function () { return _this.setPanelOpen(false); });
89
+ this._bell = document.createElement('button');
90
+ this._bell.type = 'button';
91
+ this._bell.className = "".concat(ROOT_CLASS, "__bell");
92
+ this._bell.innerHTML =
93
+ '<svg viewBox="0 0 24 24" width="18" height="18" aria-hidden="true"><path fill="currentColor" d="M12 22a2.5 2.5 0 0 0 2.45-2h-4.9A2.5 2.5 0 0 0 12 22Zm8-6V11a8 8 0 1 0-16 0v5L2 18v1h20v-1l-2-2Z"/></svg>';
94
+ this._bell.addEventListener('click', function (e) {
95
+ e.stopPropagation();
96
+ _this.setPanelOpen(!_this._panelOpen);
97
+ });
98
+ this._badge = document.createElement('span');
99
+ this._badge.className = "".concat(ROOT_CLASS, "__badge");
100
+ this._bell.appendChild(this._badge);
101
+ this._panel = document.createElement('div');
102
+ this._panel.className = "".concat(ROOT_CLASS, "__panel");
103
+ this._panel.hidden = true;
104
+ this._panel.setAttribute('role', 'dialog');
105
+ this._panel.setAttribute('aria-modal', 'true');
106
+ var header = document.createElement('div');
107
+ header.className = "".concat(ROOT_CLASS, "__header");
108
+ this._titleEl = document.createElement('span');
109
+ var clearBtn = document.createElement('button');
110
+ clearBtn.type = 'button';
111
+ clearBtn.className = "".concat(ROOT_CLASS, "__icon-btn");
112
+ clearBtn.textContent = '×';
113
+ clearBtn.addEventListener('click', function () { return _this._center.clear(); });
114
+ header.append(this._titleEl, clearBtn);
115
+ this._list = document.createElement('div');
116
+ this._list.className = "".concat(ROOT_CLASS, "__list");
117
+ this._panel.append(header, this._list);
118
+ this._root.append(this._backdrop, this._bell, this._panel);
119
+ this._host.appendChild(this._root);
120
+ this.applyTheme();
121
+ this.applyLayout(acedGetUiLayout());
122
+ this.refreshChromeLabels();
123
+ this._unsubs.push((_c = (_b = (_a = this._center).subscribe) === null || _b === void 0 ? void 0 : _b.call(_a, function () { return _this.render(); })) !== null && _c !== void 0 ? _c : (function () { return undefined; }));
124
+ this._unsubs.push(acedSubscribeUiTheme(function () { return _this.applyTheme(); }));
125
+ this._unsubs.push(acedSubscribeUiLayout(function (kind) {
126
+ _this.applyLayout(kind);
127
+ }));
128
+ this._onDocPointer = function (event) {
129
+ if (!_this._panelOpen)
130
+ return;
131
+ var target = event.target;
132
+ if (!target)
133
+ return;
134
+ if (_this._root.contains(target))
135
+ return;
136
+ _this.setPanelOpen(false);
137
+ };
138
+ document.addEventListener('pointerdown', this._onDocPointer, true);
139
+ this._onWindowResize = function () { return _this.scheduleReposition(); };
140
+ window.addEventListener('resize', this._onWindowResize);
141
+ if (typeof ResizeObserver !== 'undefined') {
142
+ this._shortcutObserver = new ResizeObserver(function () {
143
+ return _this.scheduleReposition();
144
+ });
145
+ this._shortcutObserver.observe(this._host);
146
+ var shell = findShortcutToolbarShell(this._host);
147
+ if (shell)
148
+ this._shortcutObserver.observe(shell);
149
+ }
150
+ this.render();
151
+ }
152
+ Object.defineProperty(AcUiDefaultNotificationUi.prototype, "placement", {
153
+ /**
154
+ * Explicit placement override, or `undefined` when using layout defaults.
155
+ */
156
+ get: function () {
157
+ return this._placement;
158
+ },
159
+ enumerable: false,
160
+ configurable: true
161
+ });
162
+ /**
163
+ * Sets or clears the bell corner placement.
164
+ *
165
+ * Pass `undefined` to restore layout-based defaults (phone `top-right`,
166
+ * pad / desktop `bottom-right`).
167
+ *
168
+ * @param placement - Corner placement, or `undefined` for auto.
169
+ */
170
+ AcUiDefaultNotificationUi.prototype.setPlacement = function (placement) {
171
+ if (this._placement === placement)
172
+ return;
173
+ this._placement = placement;
174
+ this.applyLayout(this._layoutKind);
175
+ };
176
+ /**
177
+ * Applies the current UI theme tokens to the overlay root.
178
+ */
179
+ AcUiDefaultNotificationUi.prototype.applyTheme = function () {
180
+ acedApplyUiTheme(resolveUiTheme(this._host), this._root);
181
+ };
182
+ /**
183
+ * Updates layout modifier classes and repositions top-anchored chrome.
184
+ *
185
+ * @param kind - Responsive layout kind (`phone` / `pad` / `desktop`).
186
+ */
187
+ AcUiDefaultNotificationUi.prototype.applyLayout = function (kind) {
188
+ this._layoutKind = kind;
189
+ var placement = this.resolvePlacement();
190
+ var topAnchor = isTopPlacement(placement);
191
+ var rightSide = isRightPlacement(placement);
192
+ this._root.classList.toggle("".concat(ROOT_CLASS, "--phone"), kind === 'phone');
193
+ this._root.classList.toggle("".concat(ROOT_CLASS, "--pad"), kind === 'pad');
194
+ this._root.classList.toggle("".concat(ROOT_CLASS, "--desktop"), kind === 'desktop');
195
+ this._root.classList.toggle("".concat(ROOT_CLASS, "--sheet"), usesSheetPanel(kind));
196
+ this._root.classList.toggle("".concat(ROOT_CLASS, "--top-anchor"), topAnchor);
197
+ this._root.classList.toggle("".concat(ROOT_CLASS, "--bottom-anchor"), !topAnchor);
198
+ this._root.classList.toggle("".concat(ROOT_CLASS, "--right"), rightSide);
199
+ this._root.classList.toggle("".concat(ROOT_CLASS, "--left"), !rightSide);
200
+ this.syncPanelVisibility();
201
+ this.scheduleReposition();
202
+ };
203
+ /**
204
+ * Effective bell placement (explicit override or layout default).
205
+ */
206
+ AcUiDefaultNotificationUi.prototype.resolvePlacement = function () {
207
+ if (this._placement)
208
+ return this._placement;
209
+ return this._layoutKind === 'phone' ? 'top-right' : 'bottom-right';
210
+ };
211
+ /**
212
+ * Places the bell below the live shortcut toolbar when using a top
213
+ * placement. Bottom placements use CSS on the full-host root.
214
+ *
215
+ * The root always covers the canvas host (`inset: 0`) so panel `width: 100%`
216
+ * resolves against the drawing area, not the 36px bell box.
217
+ */
218
+ AcUiDefaultNotificationUi.prototype.repositionChrome = function () {
219
+ // Root always fills the host; never pin the root box to the bell.
220
+ this._root.style.top = '';
221
+ this._root.style.right = '';
222
+ this._root.style.bottom = '';
223
+ this._root.style.left = '';
224
+ // Sheet panels (phone / pad) are positioned by CSS, not under the bell.
225
+ if (usesSheetPanel(this._layoutKind)) {
226
+ this._panel.style.top = '';
227
+ this._panel.style.right = '';
228
+ this._panel.style.left = '';
229
+ this._panel.style.bottom = '';
230
+ }
231
+ if (!isTopPlacement(this.resolvePlacement())) {
232
+ this._bell.style.top = '';
233
+ this._bell.style.right = '';
234
+ this._bell.style.bottom = '';
235
+ this._bell.style.left = '';
236
+ if (!usesSheetPanel(this._layoutKind)) {
237
+ this._panel.style.top = '';
238
+ this._panel.style.right = '';
239
+ this._panel.style.left = '';
240
+ }
241
+ return;
242
+ }
243
+ var gap = SHORTCUT_CLEARANCE_PX;
244
+ var top = FALLBACK_TOP_BELOW_SHORTCUT_PX;
245
+ var shell = findShortcutToolbarShell(this._host);
246
+ if (shell) {
247
+ if (this._shortcutObserver) {
248
+ try {
249
+ this._shortcutObserver.observe(shell);
250
+ }
251
+ catch (_a) {
252
+ // Already observed.
253
+ }
254
+ }
255
+ var hostRect = this._host.getBoundingClientRect();
256
+ var shellRect = shell.getBoundingClientRect();
257
+ top = Math.round(shellRect.bottom - hostRect.top + gap);
258
+ }
259
+ top = Math.max(gap, top);
260
+ var edge = '12px';
261
+ var rightSide = isRightPlacement(this.resolvePlacement());
262
+ this._bell.style.top = "".concat(top, "px");
263
+ this._bell.style.bottom = 'auto';
264
+ if (rightSide) {
265
+ this._bell.style.right = edge;
266
+ this._bell.style.left = 'auto';
267
+ }
268
+ else {
269
+ this._bell.style.left = edge;
270
+ this._bell.style.right = 'auto';
271
+ }
272
+ // Desktop popover under the bell when top-placed via API.
273
+ if (!usesSheetPanel(this._layoutKind)) {
274
+ this._panel.style.top = "".concat(top + 44, "px");
275
+ this._panel.style.bottom = 'auto';
276
+ if (rightSide) {
277
+ this._panel.style.right = edge;
278
+ this._panel.style.left = 'auto';
279
+ }
280
+ else {
281
+ this._panel.style.left = edge;
282
+ this._panel.style.right = 'auto';
283
+ }
284
+ }
285
+ };
286
+ /**
287
+ * Coalesces reposition work onto the next animation frame.
288
+ */
289
+ AcUiDefaultNotificationUi.prototype.scheduleReposition = function () {
290
+ var _this = this;
291
+ if (this._repositionRaf) {
292
+ cancelAnimationFrame(this._repositionRaf);
293
+ }
294
+ this._repositionRaf = requestAnimationFrame(function () {
295
+ _this._repositionRaf = 0;
296
+ _this.repositionChrome();
297
+ });
298
+ };
299
+ /**
300
+ * Refreshes localized title / aria labels on the bell and panel.
301
+ */
302
+ AcUiDefaultNotificationUi.prototype.refreshChromeLabels = function () {
303
+ var title = acapI18nTranslate('main.notification.center.title');
304
+ this._bell.title = title;
305
+ this._bell.setAttribute('aria-label', title);
306
+ this._titleEl.textContent = title;
307
+ this._panel.setAttribute('aria-label', title);
308
+ };
309
+ /**
310
+ * Opens or closes the notification panel.
311
+ *
312
+ * Forced closed when the active session has no messages.
313
+ *
314
+ * @param open - Desired open state.
315
+ */
316
+ AcUiDefaultNotificationUi.prototype.setPanelOpen = function (open) {
317
+ if (this._center.notifications.length === 0) {
318
+ open = false;
319
+ }
320
+ this._panelOpen = open;
321
+ this.syncPanelVisibility();
322
+ if (open)
323
+ this.renderList();
324
+ };
325
+ /**
326
+ * Syncs root / panel / backdrop visibility from message count and panel state.
327
+ */
328
+ AcUiDefaultNotificationUi.prototype.syncPanelVisibility = function () {
329
+ var hasMessages = this._center.notifications.length > 0;
330
+ this._root.hidden = !hasMessages;
331
+ this._panel.hidden = !hasMessages || !this._panelOpen;
332
+ var showBackdrop = hasMessages && this._panelOpen && usesSheetPanel(this._layoutKind);
333
+ this._backdrop.hidden = !showBackdrop;
334
+ this._bell.setAttribute('aria-expanded', String(this._panelOpen));
335
+ if (hasMessages) {
336
+ this.scheduleReposition();
337
+ }
338
+ };
339
+ /**
340
+ * Reacts to center changes: updates the badge and optionally refreshes the open list.
341
+ */
342
+ AcUiDefaultNotificationUi.prototype.render = function () {
343
+ var count = this._center.notifications.length;
344
+ if (count === 0) {
345
+ this._panelOpen = false;
346
+ this._expandedGroups.clear();
347
+ this.syncPanelVisibility();
348
+ return;
349
+ }
350
+ this._badge.textContent = count > 99 ? '99+' : String(count);
351
+ this.syncPanelVisibility();
352
+ if (this._panelOpen) {
353
+ this.renderList();
354
+ }
355
+ };
356
+ /**
357
+ * Rebuilds the panel list from the active session's notifications.
358
+ */
359
+ AcUiDefaultNotificationUi.prototype.renderList = function () {
360
+ var e_1, _a;
361
+ this.refreshChromeLabels();
362
+ this._list.replaceChildren();
363
+ var notifications = this._center.notifications;
364
+ if (notifications.length === 0) {
365
+ var empty = document.createElement('div');
366
+ empty.className = "".concat(ROOT_CLASS, "__empty");
367
+ empty.textContent = acapI18nTranslate('main.notification.center.noNotifications');
368
+ this._list.appendChild(empty);
369
+ return;
370
+ }
371
+ try {
372
+ for (var _b = __values(acapGroupNotifications(notifications)), _c = _b.next(); !_c.done; _c = _b.next()) {
373
+ var group = _c.value;
374
+ if (group.collapsible) {
375
+ this._list.appendChild(this.renderGroup(group));
376
+ }
377
+ else {
378
+ this._list.appendChild(this.renderItem(group.items[0]));
379
+ }
380
+ }
381
+ }
382
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
383
+ finally {
384
+ try {
385
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
386
+ }
387
+ finally { if (e_1) throw e_1.error; }
388
+ }
389
+ };
390
+ /**
391
+ * Renders a collapsible group header (and expanded body when open).
392
+ *
393
+ * @param group - Groupable notification cluster.
394
+ * @returns DOM subtree for the group.
395
+ */
396
+ AcUiDefaultNotificationUi.prototype.renderGroup = function (group) {
397
+ var e_2, _a;
398
+ var _this = this;
399
+ var wrap = document.createElement('div');
400
+ wrap.className = "".concat(ROOT_CLASS, "__group");
401
+ var header = document.createElement('button');
402
+ header.type = 'button';
403
+ header.className = "".concat(ROOT_CLASS, "__group-header");
404
+ var expanded = this._expandedGroups.has(group.key);
405
+ header.innerHTML = "<span class=\"".concat(ROOT_CLASS, "__group-title\">").concat(escapeHtml(groupTitle(group)), "</span><span class=\"").concat(ROOT_CLASS, "__group-summary\">").concat(escapeHtml(groupSummary(group)), "</span>");
406
+ header.addEventListener('click', function () {
407
+ if (_this._expandedGroups.has(group.key)) {
408
+ _this._expandedGroups.delete(group.key);
409
+ }
410
+ else {
411
+ _this._expandedGroups.add(group.key);
412
+ }
413
+ _this.renderList();
414
+ });
415
+ wrap.appendChild(header);
416
+ if (expanded) {
417
+ var body = document.createElement('div');
418
+ body.className = "".concat(ROOT_CLASS, "__group-body");
419
+ try {
420
+ for (var _b = __values(group.items), _c = _b.next(); !_c.done; _c = _b.next()) {
421
+ var item = _c.value;
422
+ body.appendChild(this.renderItem(item));
423
+ }
424
+ }
425
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
426
+ finally {
427
+ try {
428
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
429
+ }
430
+ finally { if (e_2) throw e_2.error; }
431
+ }
432
+ wrap.appendChild(body);
433
+ }
434
+ return wrap;
435
+ };
436
+ /**
437
+ * Renders a single notification row with optional message and dismiss control.
438
+ *
439
+ * @param notification - Entry to display.
440
+ * @returns DOM subtree for the item.
441
+ */
442
+ AcUiDefaultNotificationUi.prototype.renderItem = function (notification) {
443
+ var _this = this;
444
+ var item = document.createElement('div');
445
+ item.className = "".concat(ROOT_CLASS, "__item ").concat(ROOT_CLASS, "__item--").concat(notification.type);
446
+ var title = document.createElement('div');
447
+ title.className = "".concat(ROOT_CLASS, "__item-title");
448
+ title.textContent = notification.title;
449
+ var close = document.createElement('button');
450
+ close.type = 'button';
451
+ close.className = "".concat(ROOT_CLASS, "__icon-btn");
452
+ close.textContent = '×';
453
+ close.addEventListener('click', function () { return _this._center.remove(notification.id); });
454
+ var head = document.createElement('div');
455
+ head.className = "".concat(ROOT_CLASS, "__item-head");
456
+ head.append(title, close);
457
+ item.appendChild(head);
458
+ if (notification.message) {
459
+ var message = document.createElement('div');
460
+ message.className = "".concat(ROOT_CLASS, "__item-message");
461
+ acapAppendLinkedText(message, notification.message);
462
+ item.appendChild(message);
463
+ }
464
+ return item;
465
+ };
466
+ /**
467
+ * Unsubscribes listeners, disconnects observers, and removes the overlay from the DOM.
468
+ */
469
+ AcUiDefaultNotificationUi.prototype.dispose = function () {
470
+ var e_3, _a;
471
+ var _b;
472
+ try {
473
+ for (var _c = __values(this._unsubs), _d = _c.next(); !_d.done; _d = _c.next()) {
474
+ var unsub = _d.value;
475
+ unsub();
476
+ }
477
+ }
478
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
479
+ finally {
480
+ try {
481
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
482
+ }
483
+ finally { if (e_3) throw e_3.error; }
484
+ }
485
+ this._unsubs.length = 0;
486
+ document.removeEventListener('pointerdown', this._onDocPointer, true);
487
+ window.removeEventListener('resize', this._onWindowResize);
488
+ (_b = this._shortcutObserver) === null || _b === void 0 ? void 0 : _b.disconnect();
489
+ this._shortcutObserver = undefined;
490
+ if (this._repositionRaf) {
491
+ cancelAnimationFrame(this._repositionRaf);
492
+ this._repositionRaf = 0;
493
+ }
494
+ this._root.remove();
495
+ };
496
+ return AcUiDefaultNotificationUi;
497
+ }());
498
+ export { AcUiDefaultNotificationUi };
499
+ /**
500
+ * Whether the layout uses a top sheet panel (phone full-bleed / pad session width).
501
+ *
502
+ * @param kind - Current UI layout kind.
503
+ */
504
+ function usesSheetPanel(kind) {
505
+ return kind === 'phone' || kind === 'pad';
506
+ }
507
+ /**
508
+ * @param placement - Bell placement.
509
+ * @returns `true` when the bell is top-anchored.
510
+ */
511
+ function isTopPlacement(placement) {
512
+ return placement === 'top-right' || placement === 'top-left';
513
+ }
514
+ /**
515
+ * @param placement - Bell placement.
516
+ * @returns `true` when the bell is on the right edge.
517
+ */
518
+ function isRightPlacement(placement) {
519
+ return placement === 'top-right' || placement === 'bottom-right';
520
+ }
521
+ /**
522
+ * Finds the visible shortcut toolbar shell near the canvas host.
523
+ *
524
+ * @param host - Canvas host used for a scoped query first.
525
+ * @returns Visible toolbar shell element, or `null` when absent / hidden.
526
+ */
527
+ function findShortcutToolbarShell(host) {
528
+ var visible = function (el) {
529
+ return !!el &&
530
+ el instanceof HTMLElement &&
531
+ !el.hasAttribute('hidden') &&
532
+ el.getClientRects().length > 0;
533
+ };
534
+ var scoped = host.querySelector('.ml-ui-shortcut-toolbar-shell');
535
+ if (visible(scoped))
536
+ return scoped;
537
+ var global = document.querySelector('.ml-ui-shortcut-toolbar-shell');
538
+ if (visible(global))
539
+ return global;
540
+ return null;
541
+ }
542
+ /**
543
+ * Localized title for a notification group header.
544
+ *
545
+ * @param group - Group produced by {@link acapGroupNotifications}.
546
+ * @returns Localized source title, or the first item title as fallback.
547
+ */
548
+ function groupTitle(group) {
549
+ var _a, _b;
550
+ var source = group.source;
551
+ if (source === 'font-missed') {
552
+ return acapI18nTranslate('main.notification.group.fontMissed');
553
+ }
554
+ if (source === 'unsupported-entities') {
555
+ return acapI18nTranslate('main.notification.group.unsupportedEntities');
556
+ }
557
+ return (_b = (_a = group.items[0]) === null || _a === void 0 ? void 0 : _a.title) !== null && _b !== void 0 ? _b : '';
558
+ }
559
+ /**
560
+ * Localized summary line under a collapsible group header.
561
+ *
562
+ * @param group - Group produced by {@link acapGroupNotifications}.
563
+ * @returns Localized summary including the item count.
564
+ */
565
+ function groupSummary(group) {
566
+ var count = group.items.length;
567
+ if (group.source === 'font-missed') {
568
+ return acapI18nTranslate('main.notification.group.fontMissedSummary', {
569
+ count: count
570
+ });
571
+ }
572
+ if (group.source === 'unsupported-entities') {
573
+ return acapI18nTranslate('main.notification.group.unsupportedEntitiesSummary', { count: count });
574
+ }
575
+ return acapI18nTranslate('main.notification.group.genericSummary', { count: count });
576
+ }
577
+ /**
578
+ * Escapes text for safe interpolation into HTML attribute / content strings.
579
+ *
580
+ * @param text - Raw text.
581
+ * @returns HTML-escaped string.
582
+ */
583
+ function escapeHtml(text) {
584
+ return text
585
+ .replace(/&/g, '&amp;')
586
+ .replace(/</g, '&lt;')
587
+ .replace(/>/g, '&gt;')
588
+ .replace(/"/g, '&quot;');
589
+ }
590
+ /**
591
+ * Injects (or replaces) the built-in notification center stylesheet.
592
+ */
593
+ function ensureStyles() {
594
+ if (typeof document === 'undefined')
595
+ return;
596
+ var existing = document.getElementById(STYLE_ID);
597
+ if (existing)
598
+ existing.remove();
599
+ var style = document.createElement('style');
600
+ style.id = STYLE_ID;
601
+ style.textContent = "\n.".concat(ROOT_CLASS, " {\n /* Fill the canvas host so panel % widths resolve against the drawing area. */\n position: absolute;\n inset: 0;\n z-index: ").concat(ML_UI_Z_NOTIFICATION, ";\n font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif;\n font-size: 13px;\n color: var(--ml-ui-text);\n pointer-events: none;\n}\n.").concat(ROOT_CLASS, "[hidden],\n.").concat(ROOT_CLASS, "__backdrop[hidden],\n.").concat(ROOT_CLASS, "__panel[hidden] {\n display: none !important;\n}\n.").concat(ROOT_CLASS, " > * {\n pointer-events: auto;\n}\n.").concat(ROOT_CLASS, "__backdrop {\n /* Cover the canvas host only \u2014 not the full browser viewport. */\n position: absolute;\n inset: 0;\n z-index: 0;\n margin: 0;\n padding: 0;\n border: none;\n cursor: pointer;\n background: var(--ml-ui-overlay);\n}\n.").concat(ROOT_CLASS, "__bell {\n position: absolute;\n z-index: 2;\n width: 36px;\n height: 36px;\n border-radius: 50%;\n border: 1px solid var(--ml-ui-border);\n background: var(--ml-ui-bg);\n color: var(--ml-ui-text);\n cursor: pointer;\n box-shadow: var(--ml-ui-shadow);\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n.").concat(ROOT_CLASS, "--bottom-anchor.").concat(ROOT_CLASS, "--right .").concat(ROOT_CLASS, "__bell {\n right: 12px;\n bottom: max(12px, env(safe-area-inset-bottom, 0px));\n}\n.").concat(ROOT_CLASS, "--bottom-anchor.").concat(ROOT_CLASS, "--left .").concat(ROOT_CLASS, "__bell {\n left: 12px;\n bottom: max(12px, env(safe-area-inset-bottom, 0px));\n}\n.").concat(ROOT_CLASS, "__bell:hover {\n color: var(--ml-ui-accent);\n}\n.").concat(ROOT_CLASS, "__badge {\n position: absolute;\n top: -4px;\n right: -4px;\n min-width: 16px;\n height: 16px;\n padding: 0 4px;\n border-radius: 8px;\n background: var(--ml-ui-danger);\n color: #fff;\n font-size: 10px;\n line-height: 16px;\n text-align: center;\n}\n.").concat(ROOT_CLASS, "__panel {\n position: absolute;\n z-index: 2;\n display: flex;\n flex-direction: column;\n background: var(--ml-ui-bg);\n border: 1px solid var(--ml-ui-border);\n box-shadow: var(--ml-ui-shadow);\n overflow: hidden;\n}\n.").concat(ROOT_CLASS, "--bottom-anchor.").concat(ROOT_CLASS, "--right:not(.").concat(ROOT_CLASS, "--sheet) .").concat(ROOT_CLASS, "__panel {\n right: 12px;\n bottom: calc(max(12px, env(safe-area-inset-bottom, 0px)) + 44px);\n width: min(360px, calc(100% - 24px));\n max-height: min(420px, 60%);\n border-radius: 8px;\n}\n.").concat(ROOT_CLASS, "--bottom-anchor.").concat(ROOT_CLASS, "--left:not(.").concat(ROOT_CLASS, "--sheet) .").concat(ROOT_CLASS, "__panel {\n left: 12px;\n bottom: calc(max(12px, env(safe-area-inset-bottom, 0px)) + 44px);\n width: min(360px, calc(100% - 24px));\n max-height: min(420px, 60%);\n border-radius: 8px;\n}\n.").concat(ROOT_CLASS, "--top-anchor:not(.").concat(ROOT_CLASS, "--sheet) .").concat(ROOT_CLASS, "__panel {\n /* top/left/right set inline under the bell */\n width: min(360px, calc(100% - 24px));\n max-height: min(420px, 55%);\n border-radius: 8px;\n}\n.").concat(ROOT_CLASS, "--phone.").concat(ROOT_CLASS, "--sheet .").concat(ROOT_CLASS, "__panel {\n /* Sheet spans the canvas host, not the browser viewport. */\n top: 0;\n left: 0;\n right: 0;\n width: 100%;\n max-height: min(55%, 420px);\n border-radius: 0 0 12px 12px;\n border-left: none;\n border-right: none;\n border-top: none;\n padding-top: env(safe-area-inset-top, 0px);\n}\n.").concat(ROOT_CLASS, "--pad.").concat(ROOT_CLASS, "--sheet .").concat(ROOT_CLASS, "__panel {\n /* Same top-sheet interaction as phone; width matches pad session panel.\n * Cap against the canvas host (100%), not the browser viewport (100vw),\n * so a narrow host inside a wide window does not overflow the drawing area. */\n top: 0;\n left: 50%;\n right: auto;\n transform: translateX(-50%);\n width: ").concat(ML_UI_SESSION_PANEL_WIDTH, "px;\n max-width: calc(100% - ").concat(ML_UI_SESSION_PANEL_INSET, "px);\n max-height: min(55%, 420px);\n border-radius: 0 0 12px 12px;\n border-top: none;\n padding-top: env(safe-area-inset-top, 0px);\n}\n.").concat(ROOT_CLASS, "__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 10px 12px;\n border-bottom: 1px solid var(--ml-ui-border);\n font-weight: 600;\n color: var(--ml-ui-text);\n}\n.").concat(ROOT_CLASS, "__list {\n overflow: auto;\n max-height: inherit;\n flex: 1;\n}\n.").concat(ROOT_CLASS, "__empty {\n padding: 28px 16px;\n text-align: center;\n color: var(--ml-ui-text-muted);\n}\n.").concat(ROOT_CLASS, "__item {\n padding: 10px 12px;\n border-bottom: 1px solid var(--ml-ui-border);\n}\n.").concat(ROOT_CLASS, "__item-head {\n display: flex;\n align-items: flex-start;\n justify-content: space-between;\n gap: 8px;\n}\n.").concat(ROOT_CLASS, "__item-title {\n font-weight: 600;\n line-height: 1.35;\n color: var(--ml-ui-text);\n}\n.").concat(ROOT_CLASS, "__item-message {\n margin-top: 4px;\n color: var(--ml-ui-text-muted);\n line-height: 1.4;\n word-break: break-word;\n}\n.").concat(ROOT_CLASS, "__item-message a {\n color: var(--ml-ui-accent);\n text-decoration: underline;\n}\n.").concat(ROOT_CLASS, "__item--warning .").concat(ROOT_CLASS, "__item-title {\n color: var(--el-color-warning, #e6a23c);\n}\n.").concat(ROOT_CLASS, "__item--error .").concat(ROOT_CLASS, "__item-title {\n color: var(--ml-ui-danger);\n}\n.").concat(ROOT_CLASS, "__item--success .").concat(ROOT_CLASS, "__item-title {\n color: var(--el-color-success, #67c23a);\n}\n.").concat(ROOT_CLASS, "__item--info .").concat(ROOT_CLASS, "__item-title {\n color: var(--ml-ui-accent);\n}\n.").concat(ROOT_CLASS, "__icon-btn {\n border: none;\n background: transparent;\n cursor: pointer;\n font-size: 16px;\n line-height: 1;\n color: var(--ml-ui-text-muted);\n padding: 0 2px;\n}\n.").concat(ROOT_CLASS, "__group-header {\n width: 100%;\n text-align: left;\n border: none;\n background: color-mix(in srgb, var(--ml-ui-text) 4%, var(--ml-ui-bg));\n cursor: pointer;\n padding: 10px 12px;\n border-bottom: 1px solid var(--ml-ui-border);\n color: var(--ml-ui-text);\n}\n.").concat(ROOT_CLASS, "__group-title {\n display: block;\n font-weight: 600;\n}\n.").concat(ROOT_CLASS, "__group-summary {\n display: block;\n margin-top: 2px;\n color: var(--ml-ui-text-muted);\n font-size: 12px;\n}\n.").concat(ROOT_CLASS, "__group-body .").concat(ROOT_CLASS, "__item {\n padding-left: 20px;\n}\n");
602
+ document.head.appendChild(style);
603
+ }
604
+ //# sourceMappingURL=AcUiDefaultNotificationUi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcUiDefaultNotificationUi.js","sourceRoot":"","sources":["../../src/ui/AcUiDefaultNotificationUi.ts"],"names":[],"mappings":"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"}
@@ -46,7 +46,8 @@ export declare function acuiShouldShowDrawStyleToolbar(kind: AcUiDrawStyleKind |
46
46
  * sync and apply target the measure or markup store while the command runs.
47
47
  * Desktop mounts are suppressed when the ribbon already exposes the same UI, or
48
48
  * when the shortcut toolbar is visible (it owns the desktop draw-style slot).
49
- * Mobile mounts still target the session-panel accessory host.
49
+ * Phone/pad mounts target the session-panel accessory host (resolved even before
50
+ * the panel opens so `trigger` can attach controls on the first row).
50
51
  *
51
52
  * @param command - Command that should expose color / font-size session UI.
52
53
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AcUiDrawStyle.d.ts","sourceRoot":"","sources":["../../src/ui/AcUiDrawStyle.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,oBAAoB,EAE1B,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,yBAAyB,CAAA;AAMhC;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAA;AAEjD,kDAAkD;AAClD,MAAM,WAAW,6BAA6B;IAC5C,gDAAgD;IAChD,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,8CAA8C;IAC9C,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,mDAAmD;IACnD,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,6BAA6B,GACnC,iBAAiB,GAAG,SAAS,CAM/B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,iBAAiB,GAAG,SAAS,EACnC,UAAU,GAAE,OAAkD,GAC7D,OAAO,CAET;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE;IACzD,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sDAAsD;IACtD,gBAAgB,EAAE,oBAAoB,GAAG,IAAI,CAAA;CAC9C,GAAG,IAAI,CA+CP"}
1
+ {"version":3,"file":"AcUiDrawStyle.d.ts","sourceRoot":"","sources":["../../src/ui/AcUiDrawStyle.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,oBAAoB,EAE1B,MAAM,wCAAwC,CAAA;AAC/C,OAAO,EACL,KAAK,iBAAiB,EAEvB,MAAM,yBAAyB,CAAA;AAMhC;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAA;AAEjD,kDAAkD;AAClD,MAAM,WAAW,6BAA6B;IAC5C,gDAAgD;IAChD,WAAW,CAAC,EAAE,iBAAiB,CAAA;IAC/B,8CAA8C;IAC9C,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,mDAAmD;IACnD,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,6BAA6B,GACnC,iBAAiB,GAAG,SAAS,CAM/B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,iBAAiB,GAAG,SAAS,EACnC,UAAU,GAAE,OAAkD,GAC7D,OAAO,CAET;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE;IACzD,6DAA6D;IAC7D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,sDAAsD;IACtD,gBAAgB,EAAE,oBAAoB,GAAG,IAAI,CAAA;CAC9C,GAAG,IAAI,CA+CP"}