@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,625 @@
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
+ var __read = (this && this.__read) || function (o, n) {
13
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
14
+ if (!m) return o;
15
+ var i = m.call(o), r, ar = [], e;
16
+ try {
17
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
18
+ }
19
+ catch (error) { e = { error: error }; }
20
+ finally {
21
+ try {
22
+ if (r && !r.done && (m = i["return"])) m.call(i);
23
+ }
24
+ finally { if (e) throw e.error; }
25
+ }
26
+ return ar;
27
+ };
28
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
29
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
30
+ if (ar || !(i in from)) {
31
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
32
+ ar[i] = from[i];
33
+ }
34
+ }
35
+ return to.concat(ar || Array.prototype.slice.call(from));
36
+ };
37
+ import { createIconElement } from '../icons';
38
+ import { acuiEnsureToolbarStyles } from './AcUiToolbarStyles';
39
+ import { acuiComputeWrapPackSlot } from './acuiWrapPackLayout';
40
+ import { acuiIsToolbarItemDisabled, acuiItemRequiresDocument, acuiResolveEffectiveToolbarItem } from './resolveToolbarItemState';
41
+ import { acuiIsDynamicToolbarChildren, acuiIsToolbarSeparatorItem } from './toolbarItemUtils';
42
+ /**
43
+ * Icon strip shown beside a parent toolbar button (HTML-export tool-strip model).
44
+ *
45
+ * Sticky strips stay open until the parent is clicked again. Dismissible strips
46
+ * close on outside click, matching a lightweight flyout toolbar.
47
+ */
48
+ var AcUiSubToolbar = /** @class */ (function () {
49
+ /**
50
+ * @param options - Host, placement, items, and selection callback.
51
+ */
52
+ function AcUiSubToolbar(options) {
53
+ var _this = this;
54
+ this.options = options;
55
+ /** Whether {@link close} has already run. */
56
+ this.closed = false;
57
+ /** Closes a dismissible strip when the user clicks outside. */
58
+ this.handleDocumentClick = function (event) {
59
+ var _a, _b;
60
+ if (_this.options.sticky)
61
+ return;
62
+ if (!(event.target instanceof Node))
63
+ return;
64
+ if (_this.root.contains(event.target))
65
+ return;
66
+ if (_this.options.anchor.contains(event.target))
67
+ return;
68
+ if ((_b = (_a = _this.options).shouldKeepOpenForTarget) === null || _b === void 0 ? void 0 : _b.call(_a, event.target))
69
+ return;
70
+ _this.close();
71
+ };
72
+ acuiEnsureToolbarStyles();
73
+ this.items = options.items;
74
+ this.commandsDisabled = options.commandsDisabled;
75
+ this.root = document.createElement('div');
76
+ this.syncRootClasses();
77
+ this.root.setAttribute('role', 'toolbar');
78
+ var label = options.anchor.getAttribute('aria-label');
79
+ if (label) {
80
+ this.root.setAttribute('aria-label', label);
81
+ }
82
+ this.renderButtons();
83
+ this.applyChromeLayout();
84
+ options.host.appendChild(this.root);
85
+ this.syncPosition();
86
+ if (!options.sticky) {
87
+ document.addEventListener('mousedown', this.handleDocumentClick, true);
88
+ }
89
+ }
90
+ Object.defineProperty(AcUiSubToolbar.prototype, "sticky", {
91
+ /** Whether this strip ignores canvas / outside clicks. */
92
+ get: function () {
93
+ return this.options.sticky;
94
+ },
95
+ enumerable: false,
96
+ configurable: true
97
+ });
98
+ Object.defineProperty(AcUiSubToolbar.prototype, "anchor", {
99
+ /** Parent button that opened this strip. */
100
+ get: function () {
101
+ return this.options.anchor;
102
+ },
103
+ enumerable: false,
104
+ configurable: true
105
+ });
106
+ Object.defineProperty(AcUiSubToolbar.prototype, "rootElement", {
107
+ /** Strip root element (used when stacking nested strips). */
108
+ get: function () {
109
+ return this.root;
110
+ },
111
+ enumerable: false,
112
+ configurable: true
113
+ });
114
+ /**
115
+ * Hides or shows the strip without destroying it (used when
116
+ * {@link AcUiSubToolbarOptions.replaceOnNested} replaces this strip with a
117
+ * nested one).
118
+ *
119
+ * @param hidden - When true, the strip is not visible and does not receive
120
+ * pointer events.
121
+ */
122
+ AcUiSubToolbar.prototype.setHidden = function (hidden) {
123
+ this.root.hidden = hidden;
124
+ this.root.style.visibility = hidden ? 'hidden' : '';
125
+ this.root.style.pointerEvents = hidden ? 'none' : '';
126
+ };
127
+ /**
128
+ * Replaces child items and re-renders without closing the strip.
129
+ *
130
+ * @param items - Updated child items (e.g. after a toggle).
131
+ * @param commandsDisabled - Optional override for command disabled state.
132
+ */
133
+ AcUiSubToolbar.prototype.refresh = function (items, commandsDisabled) {
134
+ this.items = items;
135
+ if (commandsDisabled !== undefined) {
136
+ this.commandsDisabled = commandsDisabled;
137
+ }
138
+ this.renderButtons();
139
+ this.applyChromeLayout();
140
+ this.syncPosition();
141
+ };
142
+ /** Whether `target` lies inside this strip root. */
143
+ AcUiSubToolbar.prototype.containsTarget = function (target) {
144
+ return this.root.contains(target);
145
+ };
146
+ /** Updates button labels and tooltips after locale change. */
147
+ AcUiSubToolbar.prototype.refreshLocale = function () {
148
+ var e_1, _a;
149
+ var _loop_1 = function (button) {
150
+ var itemId = button.dataset.toolbarItemId;
151
+ if (!itemId)
152
+ return "continue";
153
+ var item = this_1.items.find(function (candidate) { return candidate.id === itemId; });
154
+ if (!item || acuiIsToolbarSeparatorItem(item))
155
+ return "continue";
156
+ var effective = acuiResolveEffectiveToolbarItem(item);
157
+ var label = effective.label
158
+ ? this_1.options.i18n.t(effective.label)
159
+ : effective.id;
160
+ button.title = label;
161
+ button.setAttribute('aria-label', label);
162
+ var labelEl = button.querySelector('.ml-ex-ui-toolbar-btn-label, .ml-ex-ui-toolbar-btn-text');
163
+ if (labelEl) {
164
+ labelEl.textContent = label;
165
+ }
166
+ };
167
+ var this_1 = this;
168
+ try {
169
+ for (var _b = __values(Array.from(this.root.querySelectorAll('.ml-ex-ui-toolbar-btn'))), _c = _b.next(); !_c.done; _c = _b.next()) {
170
+ var button = _c.value;
171
+ _loop_1(button);
172
+ }
173
+ }
174
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
175
+ finally {
176
+ try {
177
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
178
+ }
179
+ finally { if (e_1) throw e_1.error; }
180
+ }
181
+ };
182
+ /** Repositions the strip beside the parent toolbar after layout changes. */
183
+ AcUiSubToolbar.prototype.syncPosition = function () {
184
+ var _a;
185
+ if (!this.root.isConnected)
186
+ return;
187
+ // Recompute stretch width and wrap-pack slots before measuring — host
188
+ // resize only calls syncPosition, not a full remount.
189
+ if (!this.root.hidden) {
190
+ this.applyChromeLayout();
191
+ }
192
+ var _b = this.options, host = _b.host, toolbarRoot = _b.toolbarRoot, anchor = _b.anchor, placement = _b.placement, chrome = _b.chrome;
193
+ var position = (_a = this.options.position) !== null && _a !== void 0 ? _a : 'front';
194
+ var gap = chrome.edgeOffset;
195
+ var hostRect = host.getBoundingClientRect();
196
+ var toolbarRect = toolbarRoot.getBoundingClientRect();
197
+ var anchorRect = anchor.getBoundingClientRect();
198
+ var subWidth = this.root.offsetWidth;
199
+ var subHeight = this.root.offsetHeight;
200
+ var hostWidth = host.clientWidth;
201
+ var hostHeight = host.clientHeight;
202
+ var crossInset = this.options.getCrossAxisInset();
203
+ var horizontalStrip = placement === 'left' || placement === 'right';
204
+ var stretch = chrome.size === 'stretch';
205
+ var left;
206
+ var top;
207
+ if (placement === 'right') {
208
+ left = toolbarRect.left - hostRect.left - subWidth - gap;
209
+ top = stretch
210
+ ? crossInset.near
211
+ : this.resolveMainAxisOffset({
212
+ position: position,
213
+ axis: 'vertical',
214
+ toolbarRect: toolbarRect,
215
+ hostRect: hostRect,
216
+ anchorRect: anchorRect,
217
+ subSize: subHeight
218
+ });
219
+ }
220
+ else if (placement === 'left') {
221
+ left = toolbarRect.right - hostRect.left + gap;
222
+ top = stretch
223
+ ? crossInset.near
224
+ : this.resolveMainAxisOffset({
225
+ position: position,
226
+ axis: 'vertical',
227
+ toolbarRect: toolbarRect,
228
+ hostRect: hostRect,
229
+ anchorRect: anchorRect,
230
+ subSize: subHeight
231
+ });
232
+ }
233
+ else if (placement === 'top') {
234
+ left = stretch
235
+ ? crossInset.near
236
+ : this.resolveMainAxisOffset({
237
+ position: position,
238
+ axis: 'horizontal',
239
+ toolbarRect: toolbarRect,
240
+ hostRect: hostRect,
241
+ anchorRect: anchorRect,
242
+ subSize: subWidth
243
+ });
244
+ top = toolbarRect.bottom - hostRect.top + gap;
245
+ }
246
+ else {
247
+ left = stretch
248
+ ? crossInset.near
249
+ : this.resolveMainAxisOffset({
250
+ position: position,
251
+ axis: 'horizontal',
252
+ toolbarRect: toolbarRect,
253
+ hostRect: hostRect,
254
+ anchorRect: anchorRect,
255
+ subSize: subWidth
256
+ });
257
+ top = toolbarRect.top - hostRect.top - subHeight - gap;
258
+ }
259
+ if (horizontalStrip) {
260
+ var minTop = crossInset.near;
261
+ var maxTop = Math.max(minTop, hostHeight - subHeight - crossInset.far);
262
+ top = Math.min(Math.max(minTop, top), maxTop);
263
+ if (stretch) {
264
+ left = crossInset.near;
265
+ }
266
+ }
267
+ else {
268
+ var minLeft = crossInset.near;
269
+ var maxLeft = Math.max(minLeft, hostWidth - subWidth - crossInset.far);
270
+ left = stretch
271
+ ? crossInset.near
272
+ : Math.min(Math.max(minLeft, left), maxLeft);
273
+ if (placement === 'bottom') {
274
+ // Prefer sitting above the parent bar. Never clamp downward into the
275
+ // bar's vertical band (that used to cover the phone bottom toolbar when
276
+ // the overlay host was only as tall as the bar itself).
277
+ var aboveBar = toolbarRect.top - hostRect.top - subHeight - gap;
278
+ var minTop = crossInset.near;
279
+ top = Math.min(aboveBar, Math.max(minTop, top));
280
+ }
281
+ else {
282
+ var minTop = crossInset.near;
283
+ var maxTop = Math.max(minTop, hostHeight - subHeight - crossInset.far);
284
+ top = Math.min(Math.max(minTop, top), maxTop);
285
+ }
286
+ }
287
+ this.root.style.left = "".concat(left, "px");
288
+ this.root.style.top = "".concat(top, "px");
289
+ };
290
+ /**
291
+ * Resolves left (horizontal strip) or top (vertical strip) from
292
+ * {@link AcUiSubToolbarPosition}.
293
+ */
294
+ AcUiSubToolbar.prototype.resolveMainAxisOffset = function (args) {
295
+ var position = args.position, axis = args.axis, toolbarRect = args.toolbarRect, hostRect = args.hostRect, anchorRect = args.anchorRect, subSize = args.subSize;
296
+ if (position === 'auto') {
297
+ return axis === 'horizontal'
298
+ ? anchorRect.left - hostRect.left
299
+ : anchorRect.top - hostRect.top;
300
+ }
301
+ if (position === 'center') {
302
+ return axis === 'horizontal'
303
+ ? toolbarRect.left - hostRect.left + (toolbarRect.width - subSize) / 2
304
+ : toolbarRect.top - hostRect.top + (toolbarRect.height - subSize) / 2;
305
+ }
306
+ var toolbarButtons = this.queryVisibleButtons(this.options.toolbarRoot);
307
+ var subButtons = this.queryVisibleButtons(this.root);
308
+ var toolbarEdge = position === 'front'
309
+ ? toolbarButtons[0]
310
+ : toolbarButtons[toolbarButtons.length - 1];
311
+ var subEdge = position === 'front' ? subButtons[0] : subButtons[subButtons.length - 1];
312
+ if (!toolbarEdge || !subEdge) {
313
+ if (position === 'front') {
314
+ return axis === 'horizontal'
315
+ ? toolbarRect.left - hostRect.left
316
+ : toolbarRect.top - hostRect.top;
317
+ }
318
+ return axis === 'horizontal'
319
+ ? toolbarRect.right - hostRect.left - subSize
320
+ : toolbarRect.bottom - hostRect.top - subSize;
321
+ }
322
+ var toolbarEdgeRect = toolbarEdge.getBoundingClientRect();
323
+ var rootRect = this.root.getBoundingClientRect();
324
+ var subEdgeRect = subEdge.getBoundingClientRect();
325
+ if (axis === 'horizontal') {
326
+ if (position === 'front') {
327
+ var subOffset_1 = subEdgeRect.left - rootRect.left;
328
+ return toolbarEdgeRect.left - hostRect.left - subOffset_1;
329
+ }
330
+ var subOffset_2 = subEdgeRect.left - rootRect.left;
331
+ return (toolbarEdgeRect.right - hostRect.left - subOffset_2 - subEdgeRect.width);
332
+ }
333
+ if (position === 'front') {
334
+ var subOffset_3 = subEdgeRect.top - rootRect.top;
335
+ return toolbarEdgeRect.top - hostRect.top - subOffset_3;
336
+ }
337
+ var subOffset = subEdgeRect.top - rootRect.top;
338
+ return (toolbarEdgeRect.bottom - hostRect.top - subOffset - subEdgeRect.height);
339
+ };
340
+ /** Visible toolbar buttons used for front/end edge alignment. */
341
+ AcUiSubToolbar.prototype.queryVisibleButtons = function (root) {
342
+ return Array.from(root.querySelectorAll('.ml-ex-ui-toolbar-btn:not([hidden])'));
343
+ };
344
+ /** Detaches the strip and removes the outside-click listener. */
345
+ AcUiSubToolbar.prototype.close = function () {
346
+ var _a, _b;
347
+ if (this.closed)
348
+ return;
349
+ this.closed = true;
350
+ document.removeEventListener('mousedown', this.handleDocumentClick, true);
351
+ this.root.remove();
352
+ (_b = (_a = this.options).onClose) === null || _b === void 0 ? void 0 : _b.call(_a);
353
+ };
354
+ AcUiSubToolbar.prototype.syncRootClasses = function () {
355
+ var _a = this.options, chrome = _a.chrome, placement = _a.placement;
356
+ var vertical = placement === 'left' || placement === 'right';
357
+ var classes = [
358
+ 'ml-ex-ui-subtoolbar',
359
+ "is-".concat(placement),
360
+ vertical ? 'is-vertical' : 'is-horizontal'
361
+ ];
362
+ if (chrome.showLabels)
363
+ classes.push('has-labels');
364
+ if (chrome.size === 'stretch')
365
+ classes.push('is-stretch');
366
+ if (chrome.overflow === 'wrap')
367
+ classes.push('is-overflow-wrap');
368
+ if (!chrome.showBorder)
369
+ classes.push('no-border');
370
+ if (chrome.showButtonBorder)
371
+ classes.push('show-button-border');
372
+ if (chrome.showChildrenIndicator)
373
+ classes.push('show-children-indicator');
374
+ this.root.className = classes.join(' ');
375
+ };
376
+ AcUiSubToolbar.prototype.applyChromeLayout = function () {
377
+ this.applyStretchSize();
378
+ this.applyOverflowLayout();
379
+ this.applyWrapPackLayout();
380
+ this.applyLabeledButtonMaxWidth();
381
+ };
382
+ /**
383
+ * Caps labeled button width slightly below height so icon+label buttons stay
384
+ * portrait-shaped and long captions ellipsize. Skipped when wrap-pack already
385
+ * assigned slot widths (full rows fill the strip evenly).
386
+ */
387
+ AcUiSubToolbar.prototype.applyLabeledButtonMaxWidth = function () {
388
+ var e_2, _a, e_3, _b;
389
+ var chrome = this.options.chrome;
390
+ if (!chrome.showLabels || this.root.classList.contains('is-wrap-pack')) {
391
+ if (!chrome.showLabels) {
392
+ try {
393
+ for (var _c = __values(this.queryVisibleButtons(this.root)), _d = _c.next(); !_d.done; _d = _c.next()) {
394
+ var button = _d.value;
395
+ button.style.removeProperty('max-width');
396
+ }
397
+ }
398
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
399
+ finally {
400
+ try {
401
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
402
+ }
403
+ finally { if (e_2) throw e_2.error; }
404
+ }
405
+ }
406
+ return;
407
+ }
408
+ try {
409
+ for (var _e = __values(this.queryVisibleButtons(this.root)), _f = _e.next(); !_f.done; _f = _e.next()) {
410
+ var button = _f.value;
411
+ var height = button.offsetHeight;
412
+ if (height <= 0)
413
+ continue;
414
+ button.style.maxWidth = "".concat(Math.max(24, height - 4), "px");
415
+ }
416
+ }
417
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
418
+ finally {
419
+ try {
420
+ if (_f && !_f.done && (_b = _e.return)) _b.call(_e);
421
+ }
422
+ finally { if (e_3) throw e_3.error; }
423
+ }
424
+ };
425
+ /**
426
+ * Stretch + wrap horizontal strips:
427
+ * - Full rows fill the strip evenly.
428
+ * - A short last row (when there are prior full rows) keeps that slot width
429
+ * and stays left-aligned.
430
+ * - A single incomplete row stretches buttons across the full strip.
431
+ */
432
+ AcUiSubToolbar.prototype.applyWrapPackLayout = function () {
433
+ var e_4, _a;
434
+ var _b = this.options, chrome = _b.chrome, placement = _b.placement, host = _b.host;
435
+ var horizontalStrip = placement === 'top' || placement === 'bottom';
436
+ var buttons = this.queryVisibleButtons(this.root);
437
+ var clearInlineSizing = function () {
438
+ var e_5, _a;
439
+ try {
440
+ for (var buttons_2 = __values(buttons), buttons_2_1 = buttons_2.next(); !buttons_2_1.done; buttons_2_1 = buttons_2.next()) {
441
+ var button = buttons_2_1.value;
442
+ button.style.removeProperty('flex');
443
+ button.style.removeProperty('width');
444
+ button.style.removeProperty('max-width');
445
+ delete button.dataset.wrapPackRow;
446
+ }
447
+ }
448
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
449
+ finally {
450
+ try {
451
+ if (buttons_2_1 && !buttons_2_1.done && (_a = buttons_2.return)) _a.call(buttons_2);
452
+ }
453
+ finally { if (e_5) throw e_5.error; }
454
+ }
455
+ };
456
+ if (!horizontalStrip ||
457
+ chrome.size !== 'stretch' ||
458
+ chrome.overflow !== 'wrap') {
459
+ this.root.classList.remove('is-wrap-pack');
460
+ clearInlineSizing();
461
+ return;
462
+ }
463
+ if (buttons.length === 0)
464
+ return;
465
+ // Prefer the laid-out content width (excludes border). Fall back to the
466
+ // host stretch target when the box has not been measured yet.
467
+ var crossInset = this.options.getCrossAxisInset();
468
+ var stretchWidth = Math.max(0, host.clientWidth - crossInset.near - crossInset.far);
469
+ if (stretchWidth > 0 && this.root.style.width !== "".concat(stretchWidth, "px")) {
470
+ this.root.style.width = "".concat(stretchWidth, "px");
471
+ }
472
+ var containerWidth = this.root.clientWidth > 0 ? this.root.clientWidth : stretchWidth;
473
+ if (containerWidth <= 0) {
474
+ this.root.classList.remove('is-wrap-pack');
475
+ clearInlineSizing();
476
+ return;
477
+ }
478
+ try {
479
+ for (var buttons_1 = __values(buttons), buttons_1_1 = buttons_1.next(); !buttons_1_1.done; buttons_1_1 = buttons_1.next()) {
480
+ var button = buttons_1_1.value;
481
+ button.style.flex = '0 0 auto';
482
+ button.style.width = 'auto';
483
+ button.style.removeProperty('max-width');
484
+ }
485
+ }
486
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
487
+ finally {
488
+ try {
489
+ if (buttons_1_1 && !buttons_1_1.done && (_a = buttons_1.return)) _a.call(buttons_1);
490
+ }
491
+ finally { if (e_4) throw e_4.error; }
492
+ }
493
+ var height = Math.max.apply(Math, __spreadArray(__spreadArray([], __read(buttons.map(function (button) { return button.offsetHeight; })), false), [1], false));
494
+ var _c = acuiComputeWrapPackSlot(containerWidth, height, buttons.length), perRow = _c.perRow, slotWidth = _c.slotWidth;
495
+ this.root.classList.add('is-wrap-pack');
496
+ var singleRow = buttons.length <= perRow;
497
+ var fullRowCount = singleRow
498
+ ? buttons.length
499
+ : Math.floor(buttons.length / perRow) * perRow;
500
+ buttons.forEach(function (button, index) {
501
+ button.style.flex = "0 0 ".concat(slotWidth, "px");
502
+ button.style.width = "".concat(slotWidth, "px");
503
+ button.style.maxWidth = "".concat(slotWidth, "px");
504
+ button.dataset.wrapPackRow =
505
+ singleRow || index < fullRowCount ? 'full' : 'last';
506
+ });
507
+ };
508
+ AcUiSubToolbar.prototype.applyStretchSize = function () {
509
+ var _a = this.options, host = _a.host, placement = _a.placement, chrome = _a.chrome;
510
+ if (chrome.size !== 'stretch') {
511
+ this.root.style.removeProperty('width');
512
+ this.root.style.removeProperty('height');
513
+ return;
514
+ }
515
+ var crossInset = this.options.getCrossAxisInset();
516
+ var horizontalStrip = placement === 'left' || placement === 'right';
517
+ if (horizontalStrip) {
518
+ var stretchHeight = Math.max(0, host.clientHeight - crossInset.near - crossInset.far);
519
+ this.root.style.height = "".concat(stretchHeight, "px");
520
+ this.root.style.removeProperty('width');
521
+ }
522
+ else {
523
+ var stretchWidth = Math.max(0, host.clientWidth - crossInset.near - crossInset.far);
524
+ this.root.style.width = "".concat(stretchWidth, "px");
525
+ this.root.style.removeProperty('height');
526
+ }
527
+ };
528
+ AcUiSubToolbar.prototype.applyOverflowLayout = function () {
529
+ var _a = this.options, host = _a.host, placement = _a.placement, chrome = _a.chrome;
530
+ if (chrome.overflow !== 'wrap') {
531
+ if (chrome.size !== 'stretch') {
532
+ this.root.style.removeProperty('--ml-ex-ui-toolbar-max-width');
533
+ this.root.style.removeProperty('--ml-ex-ui-toolbar-max-height');
534
+ }
535
+ return;
536
+ }
537
+ var crossInset = this.options.getCrossAxisInset();
538
+ var horizontalStrip = placement === 'left' || placement === 'right';
539
+ if (horizontalStrip) {
540
+ var maxHeight = Math.max(0, host.clientHeight - crossInset.near - crossInset.far);
541
+ this.root.style.setProperty('--ml-ex-ui-toolbar-max-height', "".concat(maxHeight, "px"));
542
+ this.root.style.removeProperty('--ml-ex-ui-toolbar-max-width');
543
+ }
544
+ else {
545
+ var maxWidth = Math.max(0, host.clientWidth - crossInset.near - crossInset.far);
546
+ this.root.style.setProperty('--ml-ex-ui-toolbar-max-width', "".concat(maxWidth, "px"));
547
+ this.root.style.removeProperty('--ml-ex-ui-toolbar-max-height');
548
+ }
549
+ };
550
+ AcUiSubToolbar.prototype.renderButtons = function () {
551
+ var _this = this;
552
+ this.root.replaceChildren();
553
+ var chrome = this.options.chrome;
554
+ this.items.forEach(function (item) {
555
+ var _a;
556
+ if (acuiIsToolbarSeparatorItem(item)) {
557
+ if (!chrome.showSeparators)
558
+ return;
559
+ var separator = document.createElement('div');
560
+ separator.className = 'ml-ex-ui-toolbar-separator';
561
+ separator.setAttribute('role', 'separator');
562
+ if (item.id) {
563
+ separator.dataset.toolbarItemId = item.id;
564
+ }
565
+ _this.root.appendChild(separator);
566
+ return;
567
+ }
568
+ var effective = acuiResolveEffectiveToolbarItem(item);
569
+ var button = document.createElement('button');
570
+ button.type = 'button';
571
+ button.className = 'ml-ex-ui-toolbar-btn';
572
+ button.title = effective.label
573
+ ? _this.options.i18n.t(effective.label)
574
+ : effective.id;
575
+ button.setAttribute('aria-label', button.title);
576
+ button.dataset.toolbarItemId = effective.id;
577
+ if (effective.toggle) {
578
+ var pressed = effective.toggle.getValue();
579
+ button.setAttribute('aria-pressed', String(pressed));
580
+ button.classList.toggle('is-toggled', pressed);
581
+ }
582
+ if (((_a = effective.children) === null || _a === void 0 ? void 0 : _a.length) || acuiIsDynamicToolbarChildren(item)) {
583
+ button.classList.add('has-children');
584
+ button.setAttribute('aria-haspopup', 'true');
585
+ button.setAttribute('aria-expanded', 'false');
586
+ }
587
+ if (effective.icon) {
588
+ button.appendChild(createIconElement(effective.icon));
589
+ }
590
+ else if (effective.label && !chrome.showLabels) {
591
+ var text = document.createElement('span');
592
+ text.className = 'ml-ex-ui-toolbar-btn-text';
593
+ text.textContent = _this.options.i18n.t(effective.label);
594
+ text.style.fontSize = '11px';
595
+ text.style.padding = '0 4px';
596
+ button.appendChild(text);
597
+ }
598
+ if (chrome.showLabels && effective.label) {
599
+ var label = document.createElement('span');
600
+ label.className = 'ml-ex-ui-toolbar-btn-label';
601
+ label.textContent = _this.options.i18n.t(effective.label);
602
+ button.appendChild(label);
603
+ }
604
+ button.disabled =
605
+ (acuiItemRequiresDocument(effective) && _this.commandsDisabled) ||
606
+ acuiIsToolbarItemDisabled(effective);
607
+ button.addEventListener('click', function (event) {
608
+ var _a;
609
+ event.stopPropagation();
610
+ if (button.disabled)
611
+ return;
612
+ _this.options.onSelect(effective, button);
613
+ var hasNestedChildren = Boolean((_a = effective.children) === null || _a === void 0 ? void 0 : _a.length) ||
614
+ acuiIsDynamicToolbarChildren(item);
615
+ if (!_this.options.sticky && !hasNestedChildren) {
616
+ _this.close();
617
+ }
618
+ });
619
+ _this.root.appendChild(button);
620
+ });
621
+ };
622
+ return AcUiSubToolbar;
623
+ }());
624
+ export { AcUiSubToolbar };
625
+ //# sourceMappingURL=AcUiSubToolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcUiSubToolbar.js","sourceRoot":"","sources":["../../../src/ui/toolbar/AcUiSubToolbar.ts"],"names":[],"mappings":"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"}