@mlightcad/cad-simple-viewer 1.7.0 → 1.7.1

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 (322) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +185 -180
  3. package/dist/cad-simple-viewer.js +17061 -12706
  4. package/dist/cad-simple-viewer.umd.cjs +981 -114
  5. package/dist/mtext-renderer-worker.js +1908 -1765
  6. package/icons.ts +7 -7
  7. package/lib/app/AcApContext.d.ts.map +1 -1
  8. package/lib/app/AcApContext.js +4 -3
  9. package/lib/app/AcApContext.js.map +1 -1
  10. package/lib/app/AcApDocManager.d.ts +38 -18
  11. package/lib/app/AcApDocManager.d.ts.map +1 -1
  12. package/lib/app/AcApDocManager.js +59 -45
  13. package/lib/app/AcApDocManager.js.map +1 -1
  14. package/lib/app/AcApOpenDatabaseOptions.d.ts +17 -1
  15. package/lib/app/AcApOpenDatabaseOptions.d.ts.map +1 -1
  16. package/lib/app/AcApOpenDatabaseOptions.js +1 -1
  17. package/lib/app/AcApOpenDatabaseOptions.js.map +1 -1
  18. package/lib/app/AcApOpenFileProgressController.d.ts +4 -2
  19. package/lib/app/AcApOpenFileProgressController.d.ts.map +1 -1
  20. package/lib/app/AcApOpenFileProgressController.js +4 -2
  21. package/lib/app/AcApOpenFileProgressController.js.map +1 -1
  22. package/lib/app/index.d.ts +1 -0
  23. package/lib/app/index.d.ts.map +1 -1
  24. package/lib/app/index.js +1 -0
  25. package/lib/app/index.js.map +1 -1
  26. package/lib/app/notification/AcApNotificationEventBridge.d.ts +130 -0
  27. package/lib/app/notification/AcApNotificationEventBridge.d.ts.map +1 -0
  28. package/lib/app/notification/AcApNotificationEventBridge.js +309 -0
  29. package/lib/app/notification/AcApNotificationEventBridge.js.map +1 -0
  30. package/lib/app/notification/AcApNotificationService.d.ts +185 -0
  31. package/lib/app/notification/AcApNotificationService.d.ts.map +1 -0
  32. package/lib/app/notification/AcApNotificationService.js +271 -0
  33. package/lib/app/notification/AcApNotificationService.js.map +1 -0
  34. package/lib/app/notification/AcApNotificationStore.d.ts +147 -0
  35. package/lib/app/notification/AcApNotificationStore.d.ts.map +1 -0
  36. package/lib/app/notification/AcApNotificationStore.js +345 -0
  37. package/lib/app/notification/AcApNotificationStore.js.map +1 -0
  38. package/lib/app/notification/AcApNotificationTypes.d.ts +195 -0
  39. package/lib/app/notification/AcApNotificationTypes.d.ts.map +1 -0
  40. package/lib/app/notification/AcApNotificationTypes.js +78 -0
  41. package/lib/app/notification/AcApNotificationTypes.js.map +1 -0
  42. package/lib/app/notification/index.d.ts +13 -0
  43. package/lib/app/notification/index.d.ts.map +1 -0
  44. package/lib/app/notification/index.js +13 -0
  45. package/lib/app/notification/index.js.map +1 -0
  46. package/lib/command/AcApInstallDrawStyleSessionAccessory.js +11 -7
  47. package/lib/command/AcApInstallDrawStyleSessionAccessory.js.map +1 -1
  48. package/lib/command/AcApSwitchBgCmd.d.ts.map +1 -1
  49. package/lib/command/AcApSwitchBgCmd.js +7 -2
  50. package/lib/command/AcApSwitchBgCmd.js.map +1 -1
  51. package/lib/command/AcApToolbarDocBind.d.ts +19 -0
  52. package/lib/command/AcApToolbarDocBind.d.ts.map +1 -0
  53. package/lib/command/AcApToolbarDocBind.js +62 -0
  54. package/lib/command/AcApToolbarDocBind.js.map +1 -0
  55. package/lib/command/convert/AcApConvertToBmpCmd.d.ts +14 -0
  56. package/lib/command/convert/AcApConvertToBmpCmd.d.ts.map +1 -0
  57. package/lib/command/convert/AcApConvertToBmpCmd.js +34 -0
  58. package/lib/command/convert/AcApConvertToBmpCmd.js.map +1 -0
  59. package/lib/command/convert/AcApConvertToJpgCmd.d.ts +14 -0
  60. package/lib/command/convert/AcApConvertToJpgCmd.d.ts.map +1 -0
  61. package/lib/command/convert/AcApConvertToJpgCmd.js +34 -0
  62. package/lib/command/convert/AcApConvertToJpgCmd.js.map +1 -0
  63. package/lib/command/convert/AcApConvertToPngCmd.d.ts +4 -36
  64. package/lib/command/convert/AcApConvertToPngCmd.d.ts.map +1 -1
  65. package/lib/command/convert/AcApConvertToPngCmd.js +4 -138
  66. package/lib/command/convert/AcApConvertToPngCmd.js.map +1 -1
  67. package/lib/command/convert/AcApConvertToRasterImageCmd.d.ts +40 -0
  68. package/lib/command/convert/AcApConvertToRasterImageCmd.d.ts.map +1 -0
  69. package/lib/command/convert/AcApConvertToRasterImageCmd.js +161 -0
  70. package/lib/command/convert/AcApConvertToRasterImageCmd.js.map +1 -0
  71. package/lib/command/convert/{AcApPngConvertor.d.ts → AcApRasterImageConvertor.d.ts} +36 -12
  72. package/lib/command/convert/AcApRasterImageConvertor.d.ts.map +1 -0
  73. package/lib/command/convert/{AcApPngConvertor.js → AcApRasterImageConvertor.js} +163 -32
  74. package/lib/command/convert/AcApRasterImageConvertor.js.map +1 -0
  75. package/lib/command/convert/index.d.ts +4 -1
  76. package/lib/command/convert/index.d.ts.map +1 -1
  77. package/lib/command/convert/index.js +4 -1
  78. package/lib/command/convert/index.js.map +1 -1
  79. package/lib/command/index.d.ts +2 -0
  80. package/lib/command/index.d.ts.map +1 -1
  81. package/lib/command/index.js +2 -0
  82. package/lib/command/index.js.map +1 -1
  83. package/lib/command/markup/AcApMarkupCalloutCmd.d.ts.map +1 -1
  84. package/lib/command/markup/AcApMarkupCalloutCmd.js +51 -1
  85. package/lib/command/markup/AcApMarkupCalloutCmd.js.map +1 -1
  86. package/lib/command/markup/AcApMarkupCmdUtil.d.ts +5 -0
  87. package/lib/command/markup/AcApMarkupCmdUtil.d.ts.map +1 -1
  88. package/lib/command/markup/AcApMarkupCmdUtil.js +27 -9
  89. package/lib/command/markup/AcApMarkupCmdUtil.js.map +1 -1
  90. package/lib/command/markup/AcApMarkupShapeCallout.d.ts.map +1 -1
  91. package/lib/command/markup/AcApMarkupShapeCallout.js +49 -1
  92. package/lib/command/markup/AcApMarkupShapeCallout.js.map +1 -1
  93. package/lib/editor/global/AcEdUiLayout.d.ts +6 -0
  94. package/lib/editor/global/AcEdUiLayout.d.ts.map +1 -1
  95. package/lib/editor/global/AcEdUiLayout.js +6 -0
  96. package/lib/editor/global/AcEdUiLayout.js.map +1 -1
  97. package/lib/editor/input/ui/AcEdCanvasTouchCalloutGuard.d.ts +31 -0
  98. package/lib/editor/input/ui/AcEdCanvasTouchCalloutGuard.d.ts.map +1 -0
  99. package/lib/editor/input/ui/AcEdCanvasTouchCalloutGuard.js +67 -0
  100. package/lib/editor/input/ui/AcEdCanvasTouchCalloutGuard.js.map +1 -0
  101. package/lib/editor/input/ui/AcEdFloatingInput.d.ts +2 -0
  102. package/lib/editor/input/ui/AcEdFloatingInput.d.ts.map +1 -1
  103. package/lib/editor/input/ui/AcEdFloatingInput.js +13 -2
  104. package/lib/editor/input/ui/AcEdFloatingInput.js.map +1 -1
  105. package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts +6 -0
  106. package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts.map +1 -1
  107. package/lib/editor/input/ui/AcEdInputManager.d.ts.map +1 -1
  108. package/lib/editor/input/ui/AcEdInputManager.js +47 -7
  109. package/lib/editor/input/ui/AcEdInputManager.js.map +1 -1
  110. package/lib/editor/input/ui/AcEdMobileBoxGesture.d.ts.map +1 -1
  111. package/lib/editor/input/ui/AcEdMobileBoxGesture.js +2 -0
  112. package/lib/editor/input/ui/AcEdMobileBoxGesture.js.map +1 -1
  113. package/lib/editor/input/ui/AcEdMobileCommandChrome.d.ts +18 -4
  114. package/lib/editor/input/ui/AcEdMobileCommandChrome.d.ts.map +1 -1
  115. package/lib/editor/input/ui/AcEdMobileCommandChrome.js +14 -0
  116. package/lib/editor/input/ui/AcEdMobileCommandChrome.js.map +1 -1
  117. package/lib/editor/input/ui/AcEdSessionAccessoryController.d.ts +10 -2
  118. package/lib/editor/input/ui/AcEdSessionAccessoryController.d.ts.map +1 -1
  119. package/lib/editor/input/ui/AcEdSessionAccessoryController.js +15 -4
  120. package/lib/editor/input/ui/AcEdSessionAccessoryController.js.map +1 -1
  121. package/lib/editor/input/ui/AcEdTouchPointTiming.d.ts +1 -1
  122. package/lib/editor/input/ui/AcEdTouchPointTiming.d.ts.map +1 -1
  123. package/lib/editor/input/ui/AcEdTouchPointTiming.js +1 -1
  124. package/lib/editor/input/ui/AcEdTouchPointTiming.js.map +1 -1
  125. package/lib/editor/input/ui/index.d.ts +1 -0
  126. package/lib/editor/input/ui/index.d.ts.map +1 -1
  127. package/lib/editor/input/ui/index.js +1 -0
  128. package/lib/editor/input/ui/index.js.map +1 -1
  129. package/lib/editor/view/AcEdBaseView.d.ts +12 -0
  130. package/lib/editor/view/AcEdBaseView.d.ts.map +1 -1
  131. package/lib/editor/view/AcEdBaseView.js +19 -9
  132. package/lib/editor/view/AcEdBaseView.js.map +1 -1
  133. package/lib/editor/view/AcEdSelectionBoxIntersect.d.ts +36 -0
  134. package/lib/editor/view/AcEdSelectionBoxIntersect.d.ts.map +1 -0
  135. package/lib/editor/view/AcEdSelectionBoxIntersect.js +113 -0
  136. package/lib/editor/view/AcEdSelectionBoxIntersect.js.map +1 -0
  137. package/lib/editor/view/index.d.ts +1 -0
  138. package/lib/editor/view/index.d.ts.map +1 -1
  139. package/lib/editor/view/index.js +1 -0
  140. package/lib/editor/view/index.js.map +1 -1
  141. package/lib/i18n/AcApI18n.d.ts +2 -1
  142. package/lib/i18n/AcApI18n.d.ts.map +1 -1
  143. package/lib/i18n/AcApI18n.js +4 -1
  144. package/lib/i18n/AcApI18n.js.map +1 -1
  145. package/lib/i18n/ar/command.d.ts +9 -0
  146. package/lib/i18n/ar/command.d.ts.map +1 -1
  147. package/lib/i18n/ar/command.js +1 -1
  148. package/lib/i18n/ar/command.js.map +1 -1
  149. package/lib/i18n/ar/jig.d.ts +47 -0
  150. package/lib/i18n/ar/jig.d.ts.map +1 -1
  151. package/lib/i18n/ar/jig.js +17 -1
  152. package/lib/i18n/ar/jig.js.map +1 -1
  153. package/lib/i18n/ar/main.d.ts +30 -0
  154. package/lib/i18n/ar/main.d.ts.map +1 -1
  155. package/lib/i18n/ar/main.js +34 -4
  156. package/lib/i18n/ar/main.js.map +1 -1
  157. package/lib/i18n/cs/command.d.ts +9 -0
  158. package/lib/i18n/cs/command.d.ts.map +1 -1
  159. package/lib/i18n/cs/command.js +9 -0
  160. package/lib/i18n/cs/command.js.map +1 -1
  161. package/lib/i18n/cs/jig.d.ts +47 -0
  162. package/lib/i18n/cs/jig.d.ts.map +1 -1
  163. package/lib/i18n/cs/jig.js +47 -0
  164. package/lib/i18n/cs/jig.js.map +1 -1
  165. package/lib/i18n/cs/main.d.ts +30 -0
  166. package/lib/i18n/cs/main.d.ts.map +1 -1
  167. package/lib/i18n/cs/main.js +34 -4
  168. package/lib/i18n/cs/main.js.map +1 -1
  169. package/lib/i18n/en/command.d.ts +9 -0
  170. package/lib/i18n/en/command.d.ts.map +1 -1
  171. package/lib/i18n/en/command.js +9 -0
  172. package/lib/i18n/en/command.js.map +1 -1
  173. package/lib/i18n/en/jig.d.ts +47 -0
  174. package/lib/i18n/en/jig.d.ts.map +1 -1
  175. package/lib/i18n/en/jig.js +47 -0
  176. package/lib/i18n/en/jig.js.map +1 -1
  177. package/lib/i18n/en/main.d.ts +30 -0
  178. package/lib/i18n/en/main.d.ts.map +1 -1
  179. package/lib/i18n/en/main.js +34 -4
  180. package/lib/i18n/en/main.js.map +1 -1
  181. package/lib/i18n/index.d.ts +2 -2
  182. package/lib/i18n/index.d.ts.map +1 -1
  183. package/lib/i18n/index.js.map +1 -1
  184. package/lib/i18n/tr/command.d.ts +9 -0
  185. package/lib/i18n/tr/command.d.ts.map +1 -1
  186. package/lib/i18n/tr/command.js +9 -0
  187. package/lib/i18n/tr/command.js.map +1 -1
  188. package/lib/i18n/tr/jig.d.ts +47 -0
  189. package/lib/i18n/tr/jig.d.ts.map +1 -1
  190. package/lib/i18n/tr/jig.js +47 -0
  191. package/lib/i18n/tr/jig.js.map +1 -1
  192. package/lib/i18n/tr/main.d.ts +30 -0
  193. package/lib/i18n/tr/main.d.ts.map +1 -1
  194. package/lib/i18n/tr/main.js +34 -4
  195. package/lib/i18n/tr/main.js.map +1 -1
  196. package/lib/i18n/zh/command.d.ts +9 -0
  197. package/lib/i18n/zh/command.d.ts.map +1 -1
  198. package/lib/i18n/zh/command.js +9 -0
  199. package/lib/i18n/zh/command.js.map +1 -1
  200. package/lib/i18n/zh/jig.d.ts +47 -0
  201. package/lib/i18n/zh/jig.d.ts.map +1 -1
  202. package/lib/i18n/zh/jig.js +47 -0
  203. package/lib/i18n/zh/jig.js.map +1 -1
  204. package/lib/i18n/zh/main.d.ts +30 -0
  205. package/lib/i18n/zh/main.d.ts.map +1 -1
  206. package/lib/i18n/zh/main.js +34 -4
  207. package/lib/i18n/zh/main.js.map +1 -1
  208. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.d.ts +6 -0
  209. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.d.ts.map +1 -1
  210. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.js +10 -0
  211. package/lib/spatialIndex/AcTrHierarchicalSpatialIndex.js.map +1 -1
  212. package/lib/spatialIndex/AcTrLinearSpatialIndex.d.ts +4 -0
  213. package/lib/spatialIndex/AcTrLinearSpatialIndex.d.ts.map +1 -1
  214. package/lib/spatialIndex/AcTrLinearSpatialIndex.js +9 -0
  215. package/lib/spatialIndex/AcTrLinearSpatialIndex.js.map +1 -1
  216. package/lib/spatialIndex/AcTrRBushSpatialIndex.d.ts +4 -0
  217. package/lib/spatialIndex/AcTrRBushSpatialIndex.d.ts.map +1 -1
  218. package/lib/spatialIndex/AcTrRBushSpatialIndex.js +9 -0
  219. package/lib/spatialIndex/AcTrRBushSpatialIndex.js.map +1 -1
  220. package/lib/ui/AcUiDefaultNotificationUi.d.ts +167 -0
  221. package/lib/ui/AcUiDefaultNotificationUi.d.ts.map +1 -0
  222. package/lib/ui/AcUiDefaultNotificationUi.js +603 -0
  223. package/lib/ui/AcUiDefaultNotificationUi.js.map +1 -0
  224. package/lib/ui/AcUiDrawStyle.d.ts +2 -1
  225. package/lib/ui/AcUiDrawStyle.d.ts.map +1 -1
  226. package/lib/ui/AcUiDrawStyle.js +2 -1
  227. package/lib/ui/AcUiDrawStyle.js.map +1 -1
  228. package/lib/ui/AcUiDrawStyleSessionAccessory.d.ts.map +1 -1
  229. package/lib/ui/AcUiDrawStyleSessionAccessory.js +5 -1
  230. package/lib/ui/AcUiDrawStyleSessionAccessory.js.map +1 -1
  231. package/lib/ui/AcUiMobileSessionPanel.d.ts +73 -8
  232. package/lib/ui/AcUiMobileSessionPanel.d.ts.map +1 -1
  233. package/lib/ui/AcUiMobileSessionPanel.js +314 -49
  234. package/lib/ui/AcUiMobileSessionPanel.js.map +1 -1
  235. package/lib/ui/AcUiShortCutToolbar.d.ts +24 -0
  236. package/lib/ui/AcUiShortCutToolbar.d.ts.map +1 -1
  237. package/lib/ui/AcUiShortCutToolbar.js +73 -5
  238. package/lib/ui/AcUiShortCutToolbar.js.map +1 -1
  239. package/lib/ui/index.d.ts +2 -0
  240. package/lib/ui/index.d.ts.map +1 -1
  241. package/lib/ui/index.js +2 -0
  242. package/lib/ui/index.js.map +1 -1
  243. package/lib/ui/toolbar/AcUiDropdownMenu.d.ts +48 -0
  244. package/lib/ui/toolbar/AcUiDropdownMenu.d.ts.map +1 -0
  245. package/lib/ui/toolbar/AcUiDropdownMenu.js +116 -0
  246. package/lib/ui/toolbar/AcUiDropdownMenu.js.map +1 -0
  247. package/lib/ui/toolbar/AcUiSubToolbar.d.ts +125 -0
  248. package/lib/ui/toolbar/AcUiSubToolbar.d.ts.map +1 -0
  249. package/lib/ui/toolbar/AcUiSubToolbar.js +625 -0
  250. package/lib/ui/toolbar/AcUiSubToolbar.js.map +1 -0
  251. package/lib/ui/toolbar/AcUiToolbar.d.ts +446 -0
  252. package/lib/ui/toolbar/AcUiToolbar.d.ts.map +1 -0
  253. package/lib/ui/toolbar/AcUiToolbar.js +1550 -0
  254. package/lib/ui/toolbar/AcUiToolbar.js.map +1 -0
  255. package/lib/ui/toolbar/AcUiToolbarStyles.d.ts +20 -0
  256. package/lib/ui/toolbar/AcUiToolbarStyles.d.ts.map +1 -0
  257. package/lib/ui/toolbar/AcUiToolbarStyles.js +34 -0
  258. package/lib/ui/toolbar/AcUiToolbarStyles.js.map +1 -0
  259. package/lib/ui/toolbar/acuiWrapPackLayout.d.ts +19 -0
  260. package/lib/ui/toolbar/acuiWrapPackLayout.d.ts.map +1 -0
  261. package/lib/ui/toolbar/acuiWrapPackLayout.js +36 -0
  262. package/lib/ui/toolbar/acuiWrapPackLayout.js.map +1 -0
  263. package/lib/ui/toolbar/index.d.ts +19 -0
  264. package/lib/ui/toolbar/index.d.ts.map +1 -0
  265. package/lib/ui/toolbar/index.js +15 -0
  266. package/lib/ui/toolbar/index.js.map +1 -0
  267. package/lib/ui/toolbar/resolveToolbarChrome.d.ts +14 -0
  268. package/lib/ui/toolbar/resolveToolbarChrome.d.ts.map +1 -0
  269. package/lib/ui/toolbar/resolveToolbarChrome.js +35 -0
  270. package/lib/ui/toolbar/resolveToolbarChrome.js.map +1 -0
  271. package/lib/ui/toolbar/resolveToolbarItemState.d.ts +63 -0
  272. package/lib/ui/toolbar/resolveToolbarItemState.d.ts.map +1 -0
  273. package/lib/ui/toolbar/resolveToolbarItemState.js +171 -0
  274. package/lib/ui/toolbar/resolveToolbarItemState.js.map +1 -0
  275. package/lib/ui/toolbar/toolbarItemUtils.d.ts +62 -0
  276. package/lib/ui/toolbar/toolbarItemUtils.d.ts.map +1 -0
  277. package/lib/ui/toolbar/toolbarItemUtils.js +184 -0
  278. package/lib/ui/toolbar/toolbarItemUtils.js.map +1 -0
  279. package/lib/ui/toolbar/types.d.ts +268 -0
  280. package/lib/ui/toolbar/types.d.ts.map +1 -0
  281. package/lib/ui/toolbar/types.js +8 -0
  282. package/lib/ui/toolbar/types.js.map +1 -0
  283. package/lib/ui-html-entry.d.ts +8 -1
  284. package/lib/ui-html-entry.d.ts.map +1 -1
  285. package/lib/ui-html-entry.js +6 -1
  286. package/lib/ui-html-entry.js.map +1 -1
  287. package/lib/util/AcApAnalyzeUnsupportedDrawing.d.ts +53 -0
  288. package/lib/util/AcApAnalyzeUnsupportedDrawing.d.ts.map +1 -0
  289. package/lib/util/AcApAnalyzeUnsupportedDrawing.js +164 -0
  290. package/lib/util/AcApAnalyzeUnsupportedDrawing.js.map +1 -0
  291. package/lib/util/AcApFormatFontMissedMessage.d.ts +32 -0
  292. package/lib/util/AcApFormatFontMissedMessage.d.ts.map +1 -0
  293. package/lib/util/AcApFormatFontMissedMessage.js +46 -0
  294. package/lib/util/AcApFormatFontMissedMessage.js.map +1 -0
  295. package/lib/util/AcApFormatUnsupportedEntitiesMessage.d.ts +44 -0
  296. package/lib/util/AcApFormatUnsupportedEntitiesMessage.d.ts.map +1 -0
  297. package/lib/util/AcApFormatUnsupportedEntitiesMessage.js +105 -0
  298. package/lib/util/AcApFormatUnsupportedEntitiesMessage.js.map +1 -0
  299. package/lib/util/index.d.ts +3 -0
  300. package/lib/util/index.d.ts.map +1 -1
  301. package/lib/util/index.js +3 -0
  302. package/lib/util/index.js.map +1 -1
  303. package/lib/view/AcTrLayer.d.ts +13 -1
  304. package/lib/view/AcTrLayer.d.ts.map +1 -1
  305. package/lib/view/AcTrLayer.js +28 -11
  306. package/lib/view/AcTrLayer.js.map +1 -1
  307. package/lib/view/AcTrLayout.d.ts +17 -2
  308. package/lib/view/AcTrLayout.d.ts.map +1 -1
  309. package/lib/view/AcTrLayout.js +44 -3
  310. package/lib/view/AcTrLayout.js.map +1 -1
  311. package/lib/view/AcTrScene.d.ts +4 -0
  312. package/lib/view/AcTrScene.d.ts.map +1 -1
  313. package/lib/view/AcTrScene.js +6 -0
  314. package/lib/view/AcTrScene.js.map +1 -1
  315. package/lib/view/AcTrView2d.d.ts +93 -14
  316. package/lib/view/AcTrView2d.d.ts.map +1 -1
  317. package/lib/view/AcTrView2d.js +382 -102
  318. package/lib/view/AcTrView2d.js.map +1 -1
  319. package/package.json +8 -8
  320. package/src/ui/icons.ts +387 -387
  321. package/lib/command/convert/AcApPngConvertor.d.ts.map +0 -1
  322. package/lib/command/convert/AcApPngConvertor.js.map +0 -1
@@ -0,0 +1,309 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { eventBus } from '../../editor/global/eventBus';
13
+ import { acapAnalyzeUnsupportedDrawing } from '../../util/AcApAnalyzeUnsupportedDrawing';
14
+ import { AcApFontUtil } from '../../util/AcApFontUtil';
15
+ import { acapFormatFontsMissedReplacement } from '../../util/AcApFormatFontMissedMessage';
16
+ import { acapFormatUnsupportedEntitiesMessage, acapI18nTranslate } from '../../util/AcApFormatUnsupportedEntitiesMessage';
17
+ import { acapFormatOpenFileErrorMessage, acapFormatOpenFileErrorTitle } from '../../util/AcApOpenFileErrorMessage';
18
+ /**
19
+ * Subscribes to engine events and forwards user-visible alerts into the active
20
+ * {@link AcApNotificationCenter}.
21
+ *
22
+ * Shared by the built-in DOM center and host overrides (e.g. cad-viewer).
23
+ * Notifications are tagged with the current {@link AcApDocSession.id}.
24
+ */
25
+ var AcApNotificationEventBridge = /** @class */ (function () {
26
+ /**
27
+ * @param docManager - Manager whose events and active session are observed.
28
+ * @param getCenter - Accessor for the currently installed notification center.
29
+ */
30
+ function AcApNotificationEventBridge(docManager, getCenter) {
31
+ var _this = this;
32
+ /** Parser unknown-entity counts keyed by {@link AcApDocSession.id}. */
33
+ this._pendingUnknownBySession = new Map();
34
+ /**
35
+ * Sessions that already received an unsupported-entity pass for the current
36
+ * open. Prevents tab switches from clearing and re-scanning (and from
37
+ * dropping warnings that depended solely on the one-shot PARSE stats).
38
+ */
39
+ this._unsupportedNotifiedSessions = new Set();
40
+ /** Whether {@link install} has attached listeners. */
41
+ this._installed = false;
42
+ /**
43
+ * Handles generic `message` bus events and mirrors them into the center.
44
+ *
45
+ * @param params - Message text and severity.
46
+ */
47
+ this._onMessage = function (params) {
48
+ var center = _this._getCenter();
49
+ var title = params.type === 'error'
50
+ ? acapI18nTranslate('main.notification.title.systemError')
51
+ : params.type === 'warning'
52
+ ? acapI18nTranslate('main.notification.title.systemWarning')
53
+ : params.type === 'success'
54
+ ? acapI18nTranslate('main.notification.title.systemMessage')
55
+ : acapI18nTranslate('main.notification.title.systemInfo');
56
+ var options = _this.sessionOptions();
57
+ switch (params.type) {
58
+ case 'error':
59
+ center.error(title, params.message, options);
60
+ break;
61
+ case 'warning':
62
+ center.warning(title, params.message, options);
63
+ break;
64
+ case 'success':
65
+ center.success(title, params.message, options);
66
+ break;
67
+ default:
68
+ center.info(title, params.message, options);
69
+ break;
70
+ }
71
+ };
72
+ /**
73
+ * Handles fonts that failed to load from the remote repository.
74
+ *
75
+ * @param params - Failed font descriptors.
76
+ */
77
+ this._onFontsNotLoaded = function (params) {
78
+ var fontNames = params.fonts.map(function (font) { return font.fontName; });
79
+ _this._getCenter().error(acapI18nTranslate('main.notification.title.fontNotLoaded'), acapI18nTranslate('main.message.fontsNotLoaded', {
80
+ fonts: acapFormatFontsMissedReplacement(fontNames)
81
+ }), __assign({ source: 'font-missed', fontNames: fontNames, persistent: true }, _this.sessionOptions()));
82
+ };
83
+ /**
84
+ * Handles fonts that could not be found in the remote repository.
85
+ *
86
+ * @param params - Missing font names.
87
+ */
88
+ this._onFontsNotFound = function (params) {
89
+ _this._getCenter().warning(acapI18nTranslate('main.notification.title.fontNotFound'), acapI18nTranslate('main.message.fontsNotFound', {
90
+ fonts: acapFormatFontsMissedReplacement(params.fonts)
91
+ }), __assign({ source: 'font-missed', fontNames: params.fonts }, _this.sessionOptions()));
92
+ };
93
+ /**
94
+ * Handles a single font required by the drawing that is unavailable at render time.
95
+ *
96
+ * Replaces any prior `font-missed` entry for the same font name.
97
+ *
98
+ * @param params - Font name and how many text objects require it.
99
+ */
100
+ this._onFontNotFound = function (params) {
101
+ var fontName = params.fontName.trim();
102
+ if (!fontName)
103
+ return;
104
+ var center = _this._getCenter();
105
+ center.removeWhere(function (notification) {
106
+ var _a;
107
+ return notification.source === 'font-missed' &&
108
+ ((_a = notification.fontNames) === null || _a === void 0 ? void 0 : _a.includes(fontName)) === true;
109
+ });
110
+ center.warning(acapI18nTranslate('main.notification.title.fontNotFound'), acapI18nTranslate('main.message.fontMissedInDrawing', {
111
+ font: fontName,
112
+ count: params.count,
113
+ replacementFont: AcApFontUtil.getReplacementFontName(fontName)
114
+ }), __assign({ source: 'font-missed', fontNames: [fontName] }, _this.sessionOptions()));
115
+ };
116
+ /**
117
+ * Prunes resolved `font-missed` notifications when missed-data changes.
118
+ */
119
+ this._onMissedDataChanged = function () {
120
+ var missedFonts = Object.keys(_this._docManager.curView.missedData.fonts);
121
+ _this._getCenter().removeResolvedFontMissedNotifications(missedFonts);
122
+ };
123
+ /**
124
+ * Handles failure to fetch the available-fonts catalog.
125
+ *
126
+ * @param params - Catalog URL that failed.
127
+ */
128
+ this._onFailedToGetFonts = function (params) {
129
+ _this._getCenter().error(acapI18nTranslate('main.notification.title.systemError'), acapI18nTranslate('main.message.failedToGetAvaiableFonts', {
130
+ url: params.url
131
+ }), _this.sessionOptions());
132
+ };
133
+ /**
134
+ * Handles open-file failures and writes a persistent error notification.
135
+ *
136
+ * @param params - File name and structured error metadata.
137
+ */
138
+ this._onFailedToOpenFile = function (params) {
139
+ _this._getCenter().error(acapFormatOpenFileErrorTitle(params.errorCode), acapFormatOpenFileErrorMessage(params), _this.sessionOptions());
140
+ };
141
+ /**
142
+ * Captures `unknownEntityCount` from PARSE END for the active session.
143
+ *
144
+ * @param data - Open-file progress payload.
145
+ */
146
+ this._onOpenFileProgress = function (data) {
147
+ var _a;
148
+ if (data.stage === 'CONVERSION' &&
149
+ data.subStage === 'PARSE' &&
150
+ data.subStageStatus === 'END' &&
151
+ data.data) {
152
+ var stats = data.data;
153
+ var sessionId = _this._docManager.activeSessionId;
154
+ if (sessionId) {
155
+ _this._pendingUnknownBySession.set(sessionId, (_a = stats.unknownEntityCount) !== null && _a !== void 0 ? _a : 0);
156
+ }
157
+ }
158
+ };
159
+ /**
160
+ * Resets unsupported-entity bookkeeping before a new open starts.
161
+ */
162
+ this._onDocumentToBeOpened = function () {
163
+ _this.syncActiveSession();
164
+ var sessionId = _this._docManager.activeSessionId;
165
+ if (sessionId) {
166
+ _this.forgetSession(sessionId);
167
+ _this._pendingUnknownBySession.set(sessionId, 0);
168
+ }
169
+ _this._getCenter().removeBySource('unsupported-entities');
170
+ };
171
+ /**
172
+ * Syncs the active session when a document is created.
173
+ */
174
+ this._onDocumentCreated = function () {
175
+ _this.syncActiveSession();
176
+ };
177
+ /**
178
+ * Syncs the session and runs unsupported-entity analysis on first activation.
179
+ *
180
+ * Subsequent activations for the same open skip re-analysis.
181
+ */
182
+ this._onDocumentActivated = function () {
183
+ _this.syncActiveSession();
184
+ var sessionId = _this._docManager.activeSessionId;
185
+ // Tab switch / re-activate: keep the existing unsupported warning and skip
186
+ // another full-database proxy scan.
187
+ if (sessionId && _this._unsupportedNotifiedSessions.has(sessionId)) {
188
+ return;
189
+ }
190
+ _this.notifyUnsupportedEntities();
191
+ };
192
+ /**
193
+ * Clears the closed session's notifications and local analysis state.
194
+ *
195
+ * @param args - Document about to be destroyed.
196
+ */
197
+ this._onDocumentToBeDestroyed = function (args) {
198
+ var session = _this._docManager.sessionFor(args.doc);
199
+ if (session) {
200
+ _this.forgetSession(session.id);
201
+ _this._getCenter().clearSession(session.id);
202
+ }
203
+ };
204
+ this._docManager = docManager;
205
+ this._getCenter = getCenter;
206
+ }
207
+ /**
208
+ * Builds options that stamp the active session id onto a new notification.
209
+ *
210
+ * @returns `{ sessionId }` when a session is active, otherwise `{}`.
211
+ */
212
+ AcApNotificationEventBridge.prototype.sessionOptions = function () {
213
+ var sessionId = this._docManager.activeSessionId;
214
+ return sessionId ? { sessionId: sessionId } : {};
215
+ };
216
+ /**
217
+ * Pushes the manager's active session id into the center.
218
+ */
219
+ AcApNotificationEventBridge.prototype.syncActiveSession = function () {
220
+ this._getCenter().setActiveSession(this._docManager.activeSessionId);
221
+ };
222
+ /**
223
+ * Drops per-session PARSE / analysis bookkeeping for a closed or reopened session.
224
+ *
225
+ * @param sessionId - Session to forget.
226
+ */
227
+ AcApNotificationEventBridge.prototype.forgetSession = function (sessionId) {
228
+ this._pendingUnknownBySession.delete(sessionId);
229
+ this._unsupportedNotifiedSessions.delete(sessionId);
230
+ };
231
+ /**
232
+ * Attaches event-bus and document-manager listeners. Idempotent.
233
+ */
234
+ AcApNotificationEventBridge.prototype.install = function () {
235
+ if (this._installed)
236
+ return;
237
+ this._installed = true;
238
+ this.syncActiveSession();
239
+ eventBus.on('message', this._onMessage);
240
+ eventBus.on('fonts-not-loaded', this._onFontsNotLoaded);
241
+ eventBus.on('fonts-not-found', this._onFontsNotFound);
242
+ eventBus.on('font-not-found', this._onFontNotFound);
243
+ eventBus.on('missed-data-changed', this._onMissedDataChanged);
244
+ eventBus.on('failed-to-get-avaiable-fonts', this._onFailedToGetFonts);
245
+ eventBus.on('failed-to-open-file', this._onFailedToOpenFile);
246
+ eventBus.on('open-file-progress', this._onOpenFileProgress);
247
+ this._docManager.events.documentToBeOpened.addEventListener(this._onDocumentToBeOpened);
248
+ this._docManager.events.documentCreated.addEventListener(this._onDocumentCreated);
249
+ this._docManager.events.documentActivated.addEventListener(this._onDocumentActivated);
250
+ this._docManager.events.documentToBeDestroyed.addEventListener(this._onDocumentToBeDestroyed);
251
+ };
252
+ /**
253
+ * Detaches all listeners and clears per-session analysis bookkeeping. Idempotent.
254
+ */
255
+ AcApNotificationEventBridge.prototype.uninstall = function () {
256
+ if (!this._installed)
257
+ return;
258
+ this._installed = false;
259
+ eventBus.off('message', this._onMessage);
260
+ eventBus.off('fonts-not-loaded', this._onFontsNotLoaded);
261
+ eventBus.off('fonts-not-found', this._onFontsNotFound);
262
+ eventBus.off('font-not-found', this._onFontNotFound);
263
+ eventBus.off('missed-data-changed', this._onMissedDataChanged);
264
+ eventBus.off('failed-to-get-avaiable-fonts', this._onFailedToGetFonts);
265
+ eventBus.off('failed-to-open-file', this._onFailedToOpenFile);
266
+ eventBus.off('open-file-progress', this._onOpenFileProgress);
267
+ this._docManager.events.documentToBeOpened.removeEventListener(this._onDocumentToBeOpened);
268
+ this._docManager.events.documentCreated.removeEventListener(this._onDocumentCreated);
269
+ this._docManager.events.documentActivated.removeEventListener(this._onDocumentActivated);
270
+ this._docManager.events.documentToBeDestroyed.removeEventListener(this._onDocumentToBeDestroyed);
271
+ this._pendingUnknownBySession.clear();
272
+ this._unsupportedNotifiedSessions.clear();
273
+ };
274
+ /**
275
+ * Analyzes the current document for unsupported entities and writes a warning
276
+ * when {@link AcApUnsupportedDrawingAnalysis.shouldWarn} is true.
277
+ *
278
+ * Marks the active session as notified so later tab switches do not rescan.
279
+ */
280
+ AcApNotificationEventBridge.prototype.notifyUnsupportedEntities = function () {
281
+ var _a;
282
+ var doc = this._docManager.curDocument;
283
+ if (!doc)
284
+ return;
285
+ var sessionId = this._docManager.activeSessionId;
286
+ var unknownCount = sessionId
287
+ ? ((_a = this._pendingUnknownBySession.get(sessionId)) !== null && _a !== void 0 ? _a : 0)
288
+ : 0;
289
+ var classOnly = acapAnalyzeUnsupportedDrawing(doc.database, unknownCount, {
290
+ scanProxies: false
291
+ });
292
+ var analysis = classOnly.isTianzhengDrawing || classOnly.unknownEntityCount > 0
293
+ ? classOnly
294
+ : acapAnalyzeUnsupportedDrawing(doc.database, unknownCount, {
295
+ scanProxies: true
296
+ });
297
+ if (sessionId) {
298
+ this._unsupportedNotifiedSessions.add(sessionId);
299
+ }
300
+ var center = this._getCenter();
301
+ center.removeBySource('unsupported-entities');
302
+ if (!analysis.shouldWarn)
303
+ return;
304
+ center.warning(acapI18nTranslate('main.notification.title.parsingWarning'), acapFormatUnsupportedEntitiesMessage(analysis), __assign({ source: 'unsupported-entities', persistent: true }, this.sessionOptions()));
305
+ };
306
+ return AcApNotificationEventBridge;
307
+ }());
308
+ export { AcApNotificationEventBridge };
309
+ //# sourceMappingURL=AcApNotificationEventBridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApNotificationEventBridge.js","sourceRoot":"","sources":["../../../src/app/notification/AcApNotificationEventBridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,185 @@
1
+ import { type AcUiNotificationBellPlacement } from '../../ui/AcUiDefaultNotificationUi';
2
+ import type { AcApDocManager } from '../AcApDocManager';
3
+ import type { AcApNotificationCenter } from './AcApNotificationTypes';
4
+ export type { AcUiNotificationBellPlacement };
5
+ /**
6
+ * Options for {@link AcApNotificationService.install} /
7
+ * {@link acapInstallNotificationService}.
8
+ */
9
+ export interface AcApNotificationServiceOptions {
10
+ /**
11
+ * Host element for the built-in notification bell/panel.
12
+ * Defaults to the active view canvas container (`curView.container`) so the
13
+ * chrome is positioned relative to the drawing area, not the browser window.
14
+ */
15
+ host?: HTMLElement;
16
+ /**
17
+ * When `false`, skips installing the built-in DOM UI (bridge still runs so a
18
+ * later custom center receives events). Default `true`.
19
+ */
20
+ showDefaultUi?: boolean;
21
+ /**
22
+ * When `false`, skips the event bridge entirely. Default `true`.
23
+ */
24
+ enableBridge?: boolean;
25
+ /**
26
+ * Corner for the built-in notification bell.
27
+ *
28
+ * When omitted: phone uses `top-right` (below the shortcut toolbar); pad and
29
+ * desktop use `bottom-right`. Pass a value to override, or call
30
+ * {@link acapSetNotificationUiPlacement} later.
31
+ */
32
+ placement?: AcUiNotificationBellPlacement;
33
+ }
34
+ /**
35
+ * Owns the active {@link AcApNotificationCenter}, optional default DOM UI, and
36
+ * the shared event bridge.
37
+ *
38
+ * Hosts override the center with {@link acapSetNotificationCenter}; passing
39
+ * `null` restores the built-in store + UI.
40
+ */
41
+ declare class AcApNotificationService {
42
+ /** Currently active center (built-in store or host adapter). */
43
+ private _center;
44
+ /** Built-in store instance used when no custom center is installed. */
45
+ private _defaultStore;
46
+ /** Optional default DOM bell / panel ({@link AcUiDefaultNotificationUi}). */
47
+ private _defaultUi?;
48
+ /** Shared event bridge that writes into {@link _center}. */
49
+ private _bridge?;
50
+ /** Explicit host for the default UI, when provided at install time. */
51
+ private _host?;
52
+ /** Whether the built-in DOM UI should be mounted when not overridden. */
53
+ private _showDefaultUi;
54
+ /** Explicit bell placement; `undefined` uses layout defaults. */
55
+ private _placement?;
56
+ /** `true` when {@link _center} is a host-supplied override. */
57
+ private _isCustom;
58
+ /** Document manager last passed to {@link install}. */
59
+ private _docManager?;
60
+ /**
61
+ * Installs bridge + default UI for a document manager instance.
62
+ * Safe to call once per {@link AcApDocManager.createInstance}.
63
+ *
64
+ * @param docManager - Manager whose sessions and events are observed.
65
+ * @param options - Bridge / UI install flags.
66
+ */
67
+ install(docManager: AcApDocManager, options?: AcApNotificationServiceOptions): void;
68
+ /**
69
+ * Explicit bell placement, or `undefined` when using layout defaults.
70
+ */
71
+ get placement(): AcUiNotificationBellPlacement | undefined;
72
+ /**
73
+ * Sets or clears the built-in notification bell corner.
74
+ *
75
+ * Applies immediately when the default DOM UI is mounted. Pass `undefined`
76
+ * to restore layout-based defaults.
77
+ *
78
+ * @param placement - Corner placement, or `undefined` for auto.
79
+ */
80
+ setPlacement(placement: AcUiNotificationBellPlacement | undefined): void;
81
+ /**
82
+ * Active notification center (built-in or host override).
83
+ */
84
+ get center(): AcApNotificationCenter;
85
+ /**
86
+ * Whether a host-supplied center is currently installed.
87
+ */
88
+ get isCustom(): boolean;
89
+ /**
90
+ * Replaces the active notification center.
91
+ *
92
+ * @param center - Custom center, or `null` to restore the built-in default.
93
+ */
94
+ setCenter(center: AcApNotificationCenter | null): void;
95
+ /**
96
+ * Restores the built-in store and remounts the default UI when enabled.
97
+ */
98
+ private restoreDefault;
99
+ /**
100
+ * Resolves the DOM host for the default bell / panel.
101
+ *
102
+ * @returns Explicit host, view container, or `document.body`.
103
+ */
104
+ private resolveHost;
105
+ /**
106
+ * Mounts (or remounts) {@link AcUiDefaultNotificationUi} on {@link resolveHost}.
107
+ */
108
+ private mountDefaultUi;
109
+ /**
110
+ * Tears down the default DOM UI if present.
111
+ */
112
+ private disposeDefaultUi;
113
+ /**
114
+ * Tears down bridge and UI (e.g. DocManager destroy).
115
+ *
116
+ * Resets to a fresh built-in store so a later {@link install} / host
117
+ * {@link setCenter} does not reuse a disposed custom center instance.
118
+ */
119
+ dispose(): void;
120
+ }
121
+ /** Process-wide notification service singleton. */
122
+ declare const notificationService: AcApNotificationService;
123
+ /**
124
+ * Returns the active notification center (built-in or host override).
125
+ *
126
+ * @returns The center currently owned by the service.
127
+ */
128
+ export declare function acapNotificationCenter(): AcApNotificationCenter;
129
+ /**
130
+ * Installs / replaces the host notification center.
131
+ *
132
+ * Pass `null` to restore the built-in DOM notification center.
133
+ *
134
+ * @param center - Custom center adapter, or `null` to restore the default.
135
+ *
136
+ * @example
137
+ * ```ts
138
+ * // cad-viewer
139
+ * acapSetNotificationCenter(vueNotificationAdapter)
140
+ *
141
+ * // later / on unmount
142
+ * acapSetNotificationCenter(null)
143
+ * ```
144
+ */
145
+ export declare function acapSetNotificationCenter(center: AcApNotificationCenter | null): void;
146
+ /**
147
+ * Returns the explicit built-in notification bell placement, if any.
148
+ *
149
+ * @returns Placement override, or `undefined` when using layout defaults.
150
+ */
151
+ export declare function acapGetNotificationUiPlacement(): AcUiNotificationBellPlacement | undefined;
152
+ /**
153
+ * Sets the built-in notification bell corner (default DOM UI only).
154
+ *
155
+ * Pass `undefined` / omit override via `null` to restore layout defaults:
156
+ * phone `top-right`, pad / desktop `bottom-right`.
157
+ *
158
+ * Has no effect when a custom center replaced the default UI
159
+ * (`showDefaultUi: false` or {@link acapSetNotificationCenter}).
160
+ *
161
+ * @param placement - Corner placement, or `null` / `undefined` for auto.
162
+ *
163
+ * @example
164
+ * ```ts
165
+ * acapSetNotificationUiPlacement('bottom-left')
166
+ * acapSetNotificationUiPlacement(null) // restore auto
167
+ * ```
168
+ */
169
+ export declare function acapSetNotificationUiPlacement(placement: AcUiNotificationBellPlacement | null | undefined): void;
170
+ /**
171
+ * @internal Used by {@link AcApDocManager}.
172
+ *
173
+ * @param docManager - Manager to bind the bridge to.
174
+ * @param options - Bridge / UI install flags.
175
+ */
176
+ export declare function acapInstallNotificationService(docManager: AcApDocManager, options?: AcApNotificationServiceOptions): void;
177
+ /**
178
+ * @internal Used by {@link AcApDocManager.destroy}.
179
+ */
180
+ export declare function acapDisposeNotificationService(): void;
181
+ /**
182
+ * Process-wide service instance (bridge + center + optional default UI).
183
+ */
184
+ export { notificationService as acapNotificationService };
185
+ //# sourceMappingURL=AcApNotificationService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcApNotificationService.d.ts","sourceRoot":"","sources":["../../../src/app/notification/AcApNotificationService.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,6BAA6B,EACnC,MAAM,oCAAoC,CAAA;AAC3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAA;AAErE,YAAY,EAAE,6BAA6B,EAAE,CAAA;AAE7C;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC7C;;;;OAIG;IACH,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,6BAA6B,CAAA;CAC1C;AAED;;;;;;GAMG;AACH,cAAM,uBAAuB;IAC3B,gEAAgE;IAChE,OAAO,CAAC,OAAO,CAAsD;IACrE,uEAAuE;IACvE,OAAO,CAAC,aAAa,CAAwC;IAC7D,6EAA6E;IAC7E,OAAO,CAAC,UAAU,CAAC,CAA2B;IAC9C,4DAA4D;IAC5D,OAAO,CAAC,OAAO,CAAC,CAA6B;IAC7C,uEAAuE;IACvE,OAAO,CAAC,KAAK,CAAC,CAAa;IAC3B,yEAAyE;IACzE,OAAO,CAAC,cAAc,CAAO;IAC7B,iEAAiE;IACjE,OAAO,CAAC,UAAU,CAAC,CAA+B;IAClD,+DAA+D;IAC/D,OAAO,CAAC,SAAS,CAAQ;IACzB,uDAAuD;IACvD,OAAO,CAAC,WAAW,CAAC,CAAgB;IAEpC;;;;;;OAMG;IACH,OAAO,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,GAAE,8BAAmC;IAqBhF;;OAEG;IACH,IAAI,SAAS,IAAI,6BAA6B,GAAG,SAAS,CAEzD;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,SAAS,EAAE,6BAA6B,GAAG,SAAS;IAKjE;;OAEG;IACH,IAAI,MAAM,IAAI,sBAAsB,CAEnC;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED;;;;OAIG;IACH,SAAS,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAqB/C;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAOnB;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;;;;OAKG;IACH,OAAO;CAaR;AAED,mDAAmD;AACnD,QAAA,MAAM,mBAAmB,yBAAgC,CAAA;AAEzD;;;;GAIG;AACH,wBAAgB,sBAAsB,IAAI,sBAAsB,CAE/D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,sBAAsB,GAAG,IAAI,QAGtC;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,IAC1C,6BAA6B,GAC7B,SAAS,CAEZ;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,8BAA8B,CAC5C,SAAS,EAAE,6BAA6B,GAAG,IAAI,GAAG,SAAS,QAG5D;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,UAAU,EAAE,cAAc,EAC1B,OAAO,CAAC,EAAE,8BAA8B,QAGzC;AAED;;GAEG;AACH,wBAAgB,8BAA8B,SAE7C;AAED;;GAEG;AACH,OAAO,EAAE,mBAAmB,IAAI,uBAAuB,EAAE,CAAA"}