@collabdt/core 0.0.41 → 0.0.43

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 (265) hide show
  1. package/README.md +1 -1
  2. package/dist/core/components/Toolbar.d.ts.map +1 -1
  3. package/dist/core/components/Toolbar.js.map +1 -1
  4. package/dist/core/components/ToolbarBody.js.map +1 -1
  5. package/dist/core/components/TopNavigationBar.js.map +1 -1
  6. package/dist/core/components/authentication/ForgotPassword.js.map +1 -1
  7. package/dist/core/components/authentication/Signin.js.map +1 -1
  8. package/dist/core/components/authentication/Signup.js.map +1 -1
  9. package/dist/core/components/settings/src/OrganizationSkeleton.js.map +1 -1
  10. package/dist/core/components/settings/src/SettingsSkeleton.js.map +1 -1
  11. package/dist/core/components/ui/Comments/CollapsibleCommentItem.d.ts.map +1 -1
  12. package/dist/core/components/ui/Comments/CollapsibleCommentItem.js.map +1 -1
  13. package/dist/core/components/ui/Comments/CommentsSection.d.ts.map +1 -1
  14. package/dist/core/components/ui/Comments/CommentsSection.js.map +1 -1
  15. package/dist/core/components/ui/DataTable.d.ts.map +1 -1
  16. package/dist/core/components/ui/DataTable.js +7 -0
  17. package/dist/core/components/ui/DataTable.js.map +1 -1
  18. package/dist/core/components/ui/FilesManager/src/FileItemComponent.d.ts.map +1 -1
  19. package/dist/core/components/ui/FilesManager/src/FileItemComponent.js.map +1 -1
  20. package/dist/core/components/ui/FilesManager/src/FileMarker.d.ts +5 -2
  21. package/dist/core/components/ui/FilesManager/src/FileMarker.d.ts.map +1 -1
  22. package/dist/core/components/ui/FilesManager/src/FileMarker.js +84 -21
  23. package/dist/core/components/ui/FilesManager/src/FileMarker.js.map +1 -1
  24. package/dist/core/components/ui/FilesManager/src/convertIfcToFragmentsFile.d.ts.map +1 -1
  25. package/dist/core/components/ui/FilesManager/src/convertIfcToFragmentsFile.js.map +1 -1
  26. package/dist/core/components/ui/FilesManager/src/useFileUploadHandler.d.ts.map +1 -1
  27. package/dist/core/components/ui/FilesManager/src/useFileUploadHandler.js.map +1 -1
  28. package/dist/core/components/ui/Icons/IfcIcon.d.ts.map +1 -1
  29. package/dist/core/components/ui/Icons/IfcIcon.js.map +1 -1
  30. package/dist/core/components/ui/InfoSidebar/index.d.ts.map +1 -1
  31. package/dist/core/components/ui/InfoSidebar/index.js.map +1 -1
  32. package/dist/core/components/ui/Navbar.d.ts.map +1 -1
  33. package/dist/core/components/ui/Navbar.js.map +1 -1
  34. package/dist/core/components/ui/Sensors/CollapsibleSensorItem.d.ts.map +1 -1
  35. package/dist/core/components/ui/Sensors/CollapsibleSensorItem.js.map +1 -1
  36. package/dist/core/components/ui/Sensors/SensorTagsSection.d.ts.map +1 -1
  37. package/dist/core/components/ui/Sensors/SensorTagsSection.js.map +1 -1
  38. package/dist/core/components/ui/Sensors/SensorsSection.d.ts.map +1 -1
  39. package/dist/core/components/ui/Sensors/SensorsSection.js.map +1 -1
  40. package/dist/core/components/ui/ShareFeature/ShareToolSubmenu.d.ts.map +1 -1
  41. package/dist/core/components/ui/ShareFeature/ShareToolSubmenu.js.map +1 -1
  42. package/dist/core/components/viewers/Data/buildingDetails/GeocoderInput.js +2 -2
  43. package/dist/core/components/viewers/Data/buildingDetails/GeocoderInput.js.map +1 -1
  44. package/dist/core/components/viewers/Data/siteDetails/AssociatedBuildings.js +2 -2
  45. package/dist/core/components/viewers/Data/siteDetails/AssociatedBuildings.js.map +1 -1
  46. package/dist/core/components/viewers/Viewer.d.ts.map +1 -1
  47. package/dist/core/components/viewers/Viewer.js +5 -1
  48. package/dist/core/components/viewers/Viewer.js.map +1 -1
  49. package/dist/core/components/viewers/bim/BimToolbar.d.ts.map +1 -1
  50. package/dist/core/components/viewers/bim/BimToolbar.js.map +1 -1
  51. package/dist/core/components/viewers/bim/BimViewer.d.ts.map +1 -1
  52. package/dist/core/components/viewers/bim/BimViewer.js +14 -5
  53. package/dist/core/components/viewers/bim/BimViewer.js.map +1 -1
  54. package/dist/core/components/viewers/bim/src/BimLoadingState/index.d.ts.map +1 -1
  55. package/dist/core/components/viewers/bim/src/BimLoadingState/index.js +6 -0
  56. package/dist/core/components/viewers/bim/src/BimLoadingState/index.js.map +1 -1
  57. package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/src/FilesSection.d.ts.map +1 -1
  58. package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/src/FilesSection.js +168 -39
  59. package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/src/FilesSection.js.map +1 -1
  60. package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/src/ModelsSection.d.ts.map +1 -1
  61. package/dist/core/components/viewers/bim/src/BimSidebar/src/FileTab/src/ModelsSection.js.map +1 -1
  62. package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/src/FloorplanSection.d.ts.map +1 -1
  63. package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/src/FloorplanSection.js +1 -1
  64. package/dist/core/components/viewers/bim/src/BimSidebar/src/LayersTab/src/FloorplanSection.js.map +1 -1
  65. package/dist/core/components/viewers/bim/src/DXFLoader/index.d.ts +14 -37
  66. package/dist/core/components/viewers/bim/src/DXFLoader/index.d.ts.map +1 -1
  67. package/dist/core/components/viewers/bim/src/DXFLoader/index.js +31 -318
  68. package/dist/core/components/viewers/bim/src/DXFLoader/index.js.map +1 -1
  69. package/dist/core/components/viewers/bim/src/FloorplanTool/index.d.ts +66 -7
  70. package/dist/core/components/viewers/bim/src/FloorplanTool/index.d.ts.map +1 -1
  71. package/dist/core/components/viewers/bim/src/FloorplanTool/index.js +253 -21
  72. package/dist/core/components/viewers/bim/src/FloorplanTool/index.js.map +1 -1
  73. package/dist/core/components/viewers/bim/src/ModelManager/index.d.ts.map +1 -1
  74. package/dist/core/components/viewers/bim/src/ModelManager/index.js +9 -0
  75. package/dist/core/components/viewers/bim/src/ModelManager/index.js.map +1 -1
  76. package/dist/core/components/viewers/bim/src/SimpleBimViewer.d.ts.map +1 -1
  77. package/dist/core/components/viewers/bim/src/SimpleBimViewer.js.map +1 -1
  78. package/dist/core/components/viewers/bim/src/lib/TrueNorthPopover.d.ts +3 -2
  79. package/dist/core/components/viewers/bim/src/lib/TrueNorthPopover.d.ts.map +1 -1
  80. package/dist/core/components/viewers/bim/src/lib/TrueNorthPopover.js.map +1 -1
  81. package/dist/core/components/viewers/bim/src/lib/useFriendlyIfcClassName.d.ts.map +1 -1
  82. package/dist/core/components/viewers/bim/src/lib/useFriendlyIfcClassName.js +3 -4
  83. package/dist/core/components/viewers/bim/src/lib/useFriendlyIfcClassName.js.map +1 -1
  84. package/dist/core/components/viewers/bim/src/tools/AddToBim/index.d.ts.map +1 -1
  85. package/dist/core/components/viewers/bim/src/tools/AddToBim/index.js +40 -18
  86. package/dist/core/components/viewers/bim/src/tools/AddToBim/index.js.map +1 -1
  87. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddDxf.d.ts +2 -5
  88. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddDxf.d.ts.map +1 -1
  89. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddDxf.js +45 -59
  90. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/AddDxf.js.map +1 -1
  91. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/BimSensor.js +1 -0
  92. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/BimSensor.js.map +1 -1
  93. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/FileHandler.d.ts +10 -1
  94. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/FileHandler.d.ts.map +1 -1
  95. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/FileHandler.js +25 -73
  96. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/FileHandler.js.map +1 -1
  97. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/FileMarkerUtils.d.ts +7 -3
  98. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/FileMarkerUtils.d.ts.map +1 -1
  99. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/FileMarkerUtils.js +42 -78
  100. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/FileMarkerUtils.js.map +1 -1
  101. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/Position3DCard.d.ts.map +1 -1
  102. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/Position3DCard.js +52 -75
  103. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/Position3DCard.js.map +1 -1
  104. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/useFilePlacement.d.ts +15 -3
  105. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/useFilePlacement.d.ts.map +1 -1
  106. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/useFilePlacement.js +165 -105
  107. package/dist/core/components/viewers/bim/src/tools/AddToBim/src/useFilePlacement.js.map +1 -1
  108. package/dist/core/components/viewers/index.d.ts.map +1 -1
  109. package/dist/core/components/viewers/index.js.map +1 -1
  110. package/dist/core/components/viewers/map/MapViewer.d.ts.map +1 -1
  111. package/dist/core/components/viewers/map/MapViewer.js +1 -0
  112. package/dist/core/components/viewers/map/MapViewer.js.map +1 -1
  113. package/dist/core/components/viewers/map/datasets/DatasetManager/index.d.ts.map +1 -1
  114. package/dist/core/components/viewers/map/datasets/DatasetManager/index.js +4 -3
  115. package/dist/core/components/viewers/map/datasets/DatasetManager/index.js.map +1 -1
  116. package/dist/core/components/viewers/map/datasets/RowActions.d.ts.map +1 -1
  117. package/dist/core/components/viewers/map/datasets/RowActions.js +148 -0
  118. package/dist/core/components/viewers/map/datasets/RowActions.js.map +1 -1
  119. package/dist/core/components/viewers/map/datasets/index.d.ts.map +1 -1
  120. package/dist/core/components/viewers/map/datasets/index.js +32 -15
  121. package/dist/core/components/viewers/map/datasets/index.js.map +1 -1
  122. package/dist/core/components/viewers/map/datasets/src/builtinLiveDatasets.d.ts +4 -0
  123. package/dist/core/components/viewers/map/datasets/src/builtinLiveDatasets.d.ts.map +1 -0
  124. package/dist/core/components/viewers/map/datasets/src/builtinLiveDatasets.js +43 -0
  125. package/dist/core/components/viewers/map/datasets/src/builtinLiveDatasets.js.map +1 -0
  126. package/dist/core/components/viewers/map/datasets/src/localDatasets.d.ts.map +1 -1
  127. package/dist/core/components/viewers/map/datasets/src/localDatasets.js +39 -3
  128. package/dist/core/components/viewers/map/datasets/src/localDatasets.js.map +1 -1
  129. package/dist/core/components/viewers/map/datasets/src/minioDatasets.d.ts +1 -1
  130. package/dist/core/components/viewers/map/datasets/src/minioDatasets.d.ts.map +1 -1
  131. package/dist/core/components/viewers/map/datasets/src/minioDatasets.js +2 -1
  132. package/dist/core/components/viewers/map/datasets/src/minioDatasets.js.map +1 -1
  133. package/dist/core/components/viewers/map/datasets/src/publishedTiles.d.ts +47 -0
  134. package/dist/core/components/viewers/map/datasets/src/publishedTiles.d.ts.map +1 -0
  135. package/dist/core/components/viewers/map/datasets/src/publishedTiles.js +114 -0
  136. package/dist/core/components/viewers/map/datasets/src/publishedTiles.js.map +1 -0
  137. package/dist/core/components/viewers/map/datasets/src/wmsTime.d.ts +49 -0
  138. package/dist/core/components/viewers/map/datasets/src/wmsTime.d.ts.map +1 -0
  139. package/dist/core/components/viewers/map/datasets/src/wmsTime.js +100 -0
  140. package/dist/core/components/viewers/map/datasets/src/wmsTime.js.map +1 -0
  141. package/dist/core/components/viewers/map/src/Geocoder.d.ts.map +1 -1
  142. package/dist/core/components/viewers/map/src/Geocoder.js +9 -9
  143. package/dist/core/components/viewers/map/src/Geocoder.js.map +1 -1
  144. package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/NonDatabaseBuildingPopover.d.ts.map +1 -1
  145. package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/NonDatabaseBuildingPopover.js +25 -43
  146. package/dist/core/components/viewers/map/src/MapFeaturePopoverMenu/src/NonDatabaseBuildingPopover.js.map +1 -1
  147. package/dist/core/components/viewers/map/src/MapLayers/index.d.ts.map +1 -1
  148. package/dist/core/components/viewers/map/src/MapLayers/index.js.map +1 -1
  149. package/dist/core/components/viewers/map/src/MapLayers/src/BimLayer/index.d.ts.map +1 -1
  150. package/dist/core/components/viewers/map/src/MapLayers/src/BimLayer/index.js +19 -2
  151. package/dist/core/components/viewers/map/src/MapLayers/src/BimLayer/index.js.map +1 -1
  152. package/dist/core/components/viewers/map/src/MapLayers/src/CountryLayer/countryLayerUtils.d.ts +9 -0
  153. package/dist/core/components/viewers/map/src/MapLayers/src/CountryLayer/countryLayerUtils.d.ts.map +1 -0
  154. package/dist/core/components/viewers/map/src/MapLayers/src/CountryLayer/countryLayerUtils.js +28 -0
  155. package/dist/core/components/viewers/map/src/MapLayers/src/CountryLayer/countryLayerUtils.js.map +1 -0
  156. package/dist/core/components/viewers/map/src/MapLayers/src/CountryLayer/index.d.ts.map +1 -1
  157. package/dist/core/components/viewers/map/src/MapLayers/src/CountryLayer/index.js +1 -16
  158. package/dist/core/components/viewers/map/src/MapLayers/src/CountryLayer/index.js.map +1 -1
  159. package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/FileModelLayer/FileModelLayer.d.ts.map +1 -1
  160. package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/FileModelLayer/FileModelLayer.js.map +1 -1
  161. package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/utils/CustomModelLayer.d.ts.map +1 -1
  162. package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/utils/CustomModelLayer.js +31 -2
  163. package/dist/core/components/viewers/map/src/MapLayers/src/FileLayer/utils/CustomModelLayer.js.map +1 -1
  164. package/dist/core/components/viewers/map/src/MapLayers/src/OpenDataLayer/src/WmsTimeControl.d.ts +21 -0
  165. package/dist/core/components/viewers/map/src/MapLayers/src/OpenDataLayer/src/WmsTimeControl.d.ts.map +1 -0
  166. package/dist/core/components/viewers/map/src/MapLayers/src/OpenDataLayer/src/WmsTimeControl.js +111 -0
  167. package/dist/core/components/viewers/map/src/MapLayers/src/OpenDataLayer/src/WmsTimeControl.js.map +1 -0
  168. package/dist/core/components/viewers/map/src/MapLayers/src/OpenDataLayer/src/index.d.ts.map +1 -1
  169. package/dist/core/components/viewers/map/src/MapLayers/src/OpenDataLayer/src/index.js +77 -2
  170. package/dist/core/components/viewers/map/src/MapLayers/src/OpenDataLayer/src/index.js.map +1 -1
  171. package/dist/core/components/viewers/map/src/MapSidebar/src/FileTab/src/FilesSection.d.ts.map +1 -1
  172. package/dist/core/components/viewers/map/src/MapSidebar/src/FileTab/src/FilesSection.js.map +1 -1
  173. package/dist/core/components/viewers/map/src/MapSidebar/src/FileTab/src/ModelsSection.d.ts.map +1 -1
  174. package/dist/core/components/viewers/map/src/MapSidebar/src/FileTab/src/ModelsSection.js.map +1 -1
  175. package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/TerrainLevel.d.ts.map +1 -1
  176. package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/TerrainLevel.js +10 -3
  177. package/dist/core/components/viewers/map/src/MapSidebar/src/SettingsTab/src/TerrainLevel.js.map +1 -1
  178. package/dist/core/components/viewers/map/utils/geocoder.d.ts +6 -2
  179. package/dist/core/components/viewers/map/utils/geocoder.d.ts.map +1 -1
  180. package/dist/core/components/viewers/map/utils/geocoder.js +10 -62
  181. package/dist/core/components/viewers/map/utils/geocoder.js.map +1 -1
  182. package/dist/core/components/viewers/map/utils/geocoding/adapters.d.ts +5 -0
  183. package/dist/core/components/viewers/map/utils/geocoding/adapters.d.ts.map +1 -0
  184. package/dist/core/components/viewers/map/utils/geocoding/adapters.js +192 -0
  185. package/dist/core/components/viewers/map/utils/geocoding/adapters.js.map +1 -0
  186. package/dist/core/components/viewers/map/utils/geocoding/config.d.ts +6 -0
  187. package/dist/core/components/viewers/map/utils/geocoding/config.d.ts.map +1 -0
  188. package/dist/core/components/viewers/map/utils/geocoding/config.js +14 -0
  189. package/dist/core/components/viewers/map/utils/geocoding/config.js.map +1 -0
  190. package/dist/core/components/viewers/map/utils/geocoding/index.d.ts +8 -0
  191. package/dist/core/components/viewers/map/utils/geocoding/index.d.ts.map +1 -0
  192. package/dist/core/components/viewers/map/utils/geocoding/index.js +44 -0
  193. package/dist/core/components/viewers/map/utils/geocoding/index.js.map +1 -0
  194. package/dist/core/components/viewers/map/utils/geocoding/osm.d.ts +6 -0
  195. package/dist/core/components/viewers/map/utils/geocoding/osm.d.ts.map +1 -0
  196. package/dist/core/components/viewers/map/utils/geocoding/osm.js +39 -0
  197. package/dist/core/components/viewers/map/utils/geocoding/osm.js.map +1 -0
  198. package/dist/core/components/viewers/map/utils/geocoding/pelias.d.ts +8 -0
  199. package/dist/core/components/viewers/map/utils/geocoding/pelias.d.ts.map +1 -0
  200. package/dist/core/components/viewers/map/utils/geocoding/pelias.js +35 -0
  201. package/dist/core/components/viewers/map/utils/geocoding/pelias.js.map +1 -0
  202. package/dist/core/components/viewers/pointcloud/PointCloudToolbar.d.ts.map +1 -1
  203. package/dist/core/components/viewers/pointcloud/PointCloudToolbar.js.map +1 -1
  204. package/dist/core/components/viewers/pointcloud/PointCloudViewer.js +1 -3
  205. package/dist/core/components/viewers/pointcloud/PointCloudViewer.js.map +1 -1
  206. package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/index.d.ts.map +1 -1
  207. package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/index.js +2 -3
  208. package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/index.js.map +1 -1
  209. package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/src/FilesSection.d.ts.map +1 -1
  210. package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/src/FilesSection.js +8 -2
  211. package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/src/FilesSection.js.map +1 -1
  212. package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/src/PointCloudSection.d.ts.map +1 -1
  213. package/dist/core/components/viewers/pointcloud/src/PointCloudSidebar/src/FileTab/src/PointCloudSection.js.map +1 -1
  214. package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/NodeSizeSelectionTool.js +9 -9
  215. package/dist/core/components/viewers/pointcloud/src/tools/PerformanceSettingsTools/NodeSizeSelectionTool.js.map +1 -1
  216. package/dist/core/hooks/provider.js.map +1 -1
  217. package/dist/core/plugins/host/provider.d.ts.map +1 -1
  218. package/dist/core/plugins/host/provider.js.map +1 -1
  219. package/dist/core/store/AppConfig/context.d.ts.map +1 -1
  220. package/dist/core/store/AppConfig/context.js.map +1 -1
  221. package/dist/core/store/BIM/context.d.ts.map +1 -1
  222. package/dist/core/store/BIM/context.js.map +1 -1
  223. package/dist/core/store/BIM/reducer.d.ts +0 -1
  224. package/dist/core/store/BIM/reducer.d.ts.map +1 -1
  225. package/dist/core/store/BIM/reducer.js +0 -4
  226. package/dist/core/store/BIM/reducer.js.map +1 -1
  227. package/dist/core/store/Buildings/context.d.ts.map +1 -1
  228. package/dist/core/store/Buildings/context.js.map +1 -1
  229. package/dist/core/store/Content/context.d.ts.map +1 -1
  230. package/dist/core/store/Content/context.js.map +1 -1
  231. package/dist/core/store/Datasets/context.d.ts.map +1 -1
  232. package/dist/core/store/Datasets/context.js +2 -1
  233. package/dist/core/store/Datasets/context.js.map +1 -1
  234. package/dist/core/store/Datasets/reducer.d.ts +2 -0
  235. package/dist/core/store/Datasets/reducer.d.ts.map +1 -1
  236. package/dist/core/store/Datasets/reducer.js +9 -4
  237. package/dist/core/store/Datasets/reducer.js.map +1 -1
  238. package/dist/core/store/Files/context.d.ts.map +1 -1
  239. package/dist/core/store/Files/context.js.map +1 -1
  240. package/dist/core/store/Map/context.d.ts.map +1 -1
  241. package/dist/core/store/Map/context.js.map +1 -1
  242. package/dist/core/store/Menus/context.d.ts.map +1 -1
  243. package/dist/core/store/Menus/context.js.map +1 -1
  244. package/dist/core/store/Permissions/context.d.ts.map +1 -1
  245. package/dist/core/store/Permissions/context.js.map +1 -1
  246. package/dist/core/store/PointCloud/context.d.ts.map +1 -1
  247. package/dist/core/store/PointCloud/context.js.map +1 -1
  248. package/dist/core/store/Tools/context.d.ts.map +1 -1
  249. package/dist/core/store/Tools/context.js.map +1 -1
  250. package/dist/core/types/datasetTypes.d.ts +8 -1
  251. package/dist/core/types/datasetTypes.d.ts.map +1 -1
  252. package/dist/core/types/dbTypes.d.ts +13 -13
  253. package/dist/core/types/dbTypes.d.ts.map +1 -1
  254. package/dist/core/types/dbTypes.js +13 -13
  255. package/dist/core/types/dbTypes.js.map +1 -1
  256. package/dist/core/types/index.d.ts +1 -1
  257. package/dist/core/types/index.d.ts.map +1 -1
  258. package/dist/core/types/index.js.map +1 -1
  259. package/dist/core/utils/imageUtils.js +1 -1
  260. package/dist/core/utils/imageUtils.js.map +1 -1
  261. package/package.json +2 -1
  262. package/dist/core/components/viewers/pointcloud/src/PointCloudManagement/PointCloudViewer-old.d.ts +0 -3
  263. package/dist/core/components/viewers/pointcloud/src/PointCloudManagement/PointCloudViewer-old.d.ts.map +0 -1
  264. package/dist/core/components/viewers/pointcloud/src/PointCloudManagement/PointCloudViewer-old.js +0 -173
  265. package/dist/core/components/viewers/pointcloud/src/PointCloudManagement/PointCloudViewer-old.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../../src/core/components/viewers/bim/src/tools/AddToBim/src/FileMarkerUtils.ts"],"sourcesContent":["import * as THREE from 'three'\r\nimport * as React from 'react'\r\nimport {\r\n CSS2DRenderer,\r\n CSS2DObject,\r\n} from 'three/addons/renderers/CSS2DRenderer.js'\r\nimport { createRoot } from 'react-dom/client'\r\nimport FileMarker from '../../../../../../ui/FilesManager/src/FileMarker'\r\nimport type { DbFile } from '../../../../../../../types/dbTypes'\r\n\r\nexport interface AddedFile {\r\n id: string\r\n file: File\r\n position: THREE.Vector3\r\n imageUrl?: string\r\n}\r\n\r\nexport const initializeCSS2DRenderer = (world: any) => {\r\n if (!world) return null\r\n\r\n // Check if CSS2D renderer already exists\r\n let css2dRenderer = (world as any).css2dRenderer\r\n\r\n if (css2dRenderer) {\r\n console.log('CSS2D Renderer already exists', css2dRenderer)\r\n }\r\n else {\r\n // Create and set up the CSS2D renderer\r\n css2dRenderer = new CSS2DRenderer()\r\n css2dRenderer.setSize(\r\n world.renderer!.three.domElement!.clientWidth,\r\n world.renderer!.three.domElement!.clientHeight,\r\n )\r\n css2dRenderer.domElement.style.position = 'absolute'\r\n css2dRenderer.domElement.style.top = '0'\r\n css2dRenderer.domElement.style.left = '0'\r\n css2dRenderer.domElement.style.pointerEvents = 'none'\r\n css2dRenderer.domElement.style.zIndex = '1000'\r\n css2dRenderer.domElement.classList.add('css2d-renderer')\r\n\r\n // Add to DOM\r\n const container = world.renderer!.three.domElement!.parentElement!\r\n container.append(css2dRenderer.domElement);\r\n\r\n // Store reference\r\n (world as any).css2dRenderer = css2dRenderer\r\n\r\n // Hook into the render loop\r\n const originalRender = world.renderer!.three.render\r\n world.renderer!.three.render = function (\r\n scene: THREE.Scene,\r\n camera: THREE.Camera,\r\n ) {\r\n originalRender.call(this, scene, camera)\r\n css2dRenderer.render(scene, camera)\r\n }\r\n }\r\n\r\n return css2dRenderer\r\n}\r\n\r\nexport const createFileMarker = (\r\n addedFile: AddedFile,\r\n object3D: THREE.Object3D,\r\n onClick: () => void,\r\n world: any,\r\n onContextMenu?: (event: MouseEvent) => void,\r\n): CSS2DObject | null => {\r\n if (!world) return null\r\n\r\n console.log('Creating FileMarker for:', addedFile.file.name, 'at position:', addedFile.position)\r\n const markerFile = {\r\n id: Number.parseInt(addedFile.id, 10) || 0,\r\n name: addedFile.file.name,\r\n type: addedFile.file.type || 'application/octet-stream',\r\n url: addedFile.imageUrl ?? URL.createObjectURL(addedFile.file),\r\n assetId: addedFile.id,\r\n uploadedAt: new Date().toISOString(),\r\n fileOrganizationId: 0,\r\n } as DbFile\r\n\r\n const labelDiv = document.createElement('div')\r\n labelDiv.style.display = 'block'\r\n labelDiv.style.visibility = 'visible'\r\n labelDiv.style.pointerEvents = 'auto'\r\n labelDiv.style.zIndex = '1001'\r\n\r\n if (onContextMenu) {\r\n labelDiv.addEventListener('contextmenu', (e) => {\r\n e.preventDefault()\r\n e.stopPropagation()\r\n onContextMenu(e)\r\n })\r\n }\r\n\r\n const root = createRoot(labelDiv)\r\n\r\n root.render(\r\n React.createElement(FileMarker, {\r\n file: markerFile,\r\n onClick,\r\n }),\r\n )\r\n\r\n const css2dObject = new CSS2DObject(labelDiv)\r\n css2dObject.position.copy(addedFile.position)\r\n css2dObject.position.y += 0.2\r\n\r\n // Ensure the object is visible\r\n css2dObject.visible = true\r\n css2dObject.layers.set(0) // Ensure it's on the default layer\r\n\r\n world.scene.three.add(css2dObject);\r\n\r\n (css2dObject as any).fileId = addedFile.id;\r\n (css2dObject as any).object3D = object3D // Store reference to 3D object\r\n\r\n // Force render multiple times to ensure it appears\r\n const forceRender = () => {\r\n if ((world as any).css2dRenderer) {\r\n (world as any).css2dRenderer.render(world.scene.three, world.camera.three)\r\n }\r\n }\r\n\r\n // Force immediate render\r\n forceRender()\r\n\r\n // Force render after DOM updates\r\n setTimeout(forceRender, 0)\r\n setTimeout(forceRender, 100)\r\n setTimeout(forceRender, 500)\r\n\r\n console.log('FileMarker created and added to scene', {\r\n position: css2dObject.position,\r\n fileId: addedFile.id,\r\n objectPosition: object3D.position,\r\n visible: css2dObject.visible,\r\n element: labelDiv,\r\n renderer: (world as any).css2dRenderer,\r\n })\r\n\r\n return css2dObject\r\n}\r\n\r\nexport const updateMarkerPosition = (marker: CSS2DObject | null, object3D: THREE.Object3D) => {\r\n if (!marker || !object3D) return\r\n\r\n // Update marker position to follow the 3D object\r\n const worldPosition = new THREE.Vector3()\r\n object3D.getWorldPosition(worldPosition)\r\n marker.position.copy(worldPosition)\r\n marker.position.y += 0.2 // Offset above the object\r\n}\r\n\r\nexport const createGenericFileMarker = (\r\n addedFile: AddedFile,\r\n world: any,\r\n toolsDispatch: any,\r\n onContextMenu?: (event: MouseEvent) => void,\r\n) => {\r\n if (!world) return\r\n\r\n const sphereGeometry = new THREE.SphereGeometry(0.025, 10, 10)\r\n const sphereMaterial = new THREE.MeshBasicMaterial({ color: 0xFFFFFF })\r\n const sphere = new THREE.Mesh(sphereGeometry, sphereMaterial)\r\n sphere.position.copy(addedFile.position)\r\n world.scene.three.add(sphere)\r\n\r\n createFileMarker(addedFile, sphere, () => {\r\n // Click on marker no-op (actions handled via sidebar/context menu)\r\n }, world, onContextMenu);\r\n\r\n (sphere as any).fileId = addedFile.id\r\n}\r\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../../../../../../src/core/components/viewers/bim/src/tools/AddToBim/src/FileMarkerUtils.ts"],"sourcesContent":["import * as THREE from 'three'\r\nimport * as React from 'react'\r\nimport {\r\n CSS2DRenderer,\r\n CSS2DObject,\r\n} from 'three/addons/renderers/CSS2DRenderer.js'\r\nimport { createRoot } from 'react-dom/client'\r\nimport FileMarker, { type FileMarkerAction } from '../../../../../../ui/FilesManager/src/FileMarker'\r\nimport type { DbFile } from '../../../../../../../types/dbTypes'\r\n\r\nexport interface AddedFile {\r\n id: string\r\n file: File\r\n position: THREE.Vector3\r\n imageUrl?: string\r\n}\r\n\r\nexport const initializeCSS2DRenderer = (world: any) => {\r\n if (!world) return null\r\n if ((world as any).css2dRenderer) return (world as any).css2dRenderer\r\n\r\n const css2dRenderer = new CSS2DRenderer()\r\n css2dRenderer.setSize(\r\n world.renderer!.three.domElement!.clientWidth,\r\n world.renderer!.three.domElement!.clientHeight,\r\n )\r\n css2dRenderer.domElement.style.position = 'absolute'\r\n css2dRenderer.domElement.style.top = '0'\r\n css2dRenderer.domElement.style.left = '0'\r\n css2dRenderer.domElement.style.pointerEvents = 'none'\r\n css2dRenderer.domElement.style.zIndex = '1000'\r\n css2dRenderer.domElement.classList.add('css2d-renderer')\r\n\r\n const container = world.renderer!.three.domElement!.parentElement!\r\n container.append(css2dRenderer.domElement)\r\n ;(world as any).css2dRenderer = css2dRenderer\r\n\r\n // Render the CSS2D layer on top of every world render.\r\n const originalRender = world.renderer!.three.render\r\n world.renderer!.three.render = function (scene: THREE.Scene, camera: THREE.Camera) {\r\n originalRender.call(this, scene, camera)\r\n css2dRenderer.render(scene, camera)\r\n }\r\n\r\n return css2dRenderer\r\n}\r\n\r\nexport const createFileMarker = (\r\n addedFile: AddedFile,\r\n object3D: THREE.Object3D,\r\n world: any,\r\n onAction?: (action: FileMarkerAction) => void,\r\n): CSS2DObject | null => {\r\n if (!world) return null\r\n\r\n const markerFile = {\r\n id: Number.parseInt(addedFile.id, 10) || 0,\r\n name: addedFile.file.name,\r\n type: addedFile.file.type || 'application/octet-stream',\r\n url: addedFile.imageUrl ?? '',\r\n assetId: addedFile.id,\r\n uploadedAt: new Date().toISOString(),\r\n fileOrganizationId: 0,\r\n } as DbFile\r\n\r\n const labelDiv = document.createElement('div')\r\n labelDiv.style.pointerEvents = 'auto'\r\n labelDiv.style.zIndex = '1001'\r\n labelDiv.addEventListener('contextmenu', e => e.preventDefault())\r\n\r\n createRoot(labelDiv).render(\r\n React.createElement(FileMarker, { file: markerFile, onAction }),\r\n )\r\n\r\n const css2dObject = new CSS2DObject(labelDiv)\r\n css2dObject.position.copy(addedFile.position)\r\n css2dObject.position.y += 0.2\r\n ;(css2dObject as any).fileId = addedFile.id\r\n ;(css2dObject as any).object3D = object3D\r\n world.scene.three.add(css2dObject)\r\n\r\n return css2dObject\r\n}\r\n\r\nexport const createGenericFileMarker = (\r\n addedFile: AddedFile,\r\n world: any,\r\n onAction?: (action: FileMarkerAction) => void,\r\n): { marker: CSS2DObject | null, object3D: THREE.Object3D } => {\r\n const sphere = new THREE.Mesh(\r\n new THREE.SphereGeometry(0.025, 10, 10),\r\n new THREE.MeshBasicMaterial({ color: 0xFFFFFF }),\r\n )\r\n sphere.position.copy(addedFile.position)\r\n ;(sphere as any).fileId = addedFile.id\r\n if (world) world.scene.three.add(sphere)\r\n\r\n const marker = createFileMarker(addedFile, sphere, world, onAction)\r\n return { marker, object3D: sphere }\r\n}\r\n\r\nexport const removeMarker = (marker: CSS2DObject | null, world?: any) => {\r\n if (!marker) return\r\n if (world) world.scene.three.remove(marker)\r\n const el = marker.element as HTMLElement | undefined\r\n el?.parentElement?.removeChild(el)\r\n}\r\n"],"mappings":"AAAA,YAAY,WAAW;AACvB,YAAY,WAAW;AACvB;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,kBAAkB;AAC3B,OAAO,gBAA2C;AAU3C,MAAM,0BAA0B,CAAC,UAAe;AACrD,MAAI,CAAC,MAAO,QAAO;AACnB,MAAK,MAAc,cAAe,QAAQ,MAAc;AAExD,QAAM,gBAAgB,IAAI,cAAc;AACxC,gBAAc;AAAA,IACZ,MAAM,SAAU,MAAM,WAAY;AAAA,IAClC,MAAM,SAAU,MAAM,WAAY;AAAA,EACpC;AACA,gBAAc,WAAW,MAAM,WAAW;AAC1C,gBAAc,WAAW,MAAM,MAAM;AACrC,gBAAc,WAAW,MAAM,OAAO;AACtC,gBAAc,WAAW,MAAM,gBAAgB;AAC/C,gBAAc,WAAW,MAAM,SAAS;AACxC,gBAAc,WAAW,UAAU,IAAI,gBAAgB;AAEvD,QAAM,YAAY,MAAM,SAAU,MAAM,WAAY;AACpD,YAAU,OAAO,cAAc,UAAU;AACxC,EAAC,MAAc,gBAAgB;AAGhC,QAAM,iBAAiB,MAAM,SAAU,MAAM;AAC7C,QAAM,SAAU,MAAM,SAAS,SAAU,OAAoB,QAAsB;AACjF,mBAAe,KAAK,MAAM,OAAO,MAAM;AACvC,kBAAc,OAAO,OAAO,MAAM;AAAA,EACpC;AAEA,SAAO;AACT;AAEO,MAAM,mBAAmB,CAC9B,WACA,UACA,OACA,aACuB;AApDzB;AAqDE,MAAI,CAAC,MAAO,QAAO;AAEnB,QAAM,aAAa;AAAA,IACjB,IAAI,OAAO,SAAS,UAAU,IAAI,EAAE,KAAK;AAAA,IACzC,MAAM,UAAU,KAAK;AAAA,IACrB,MAAM,UAAU,KAAK,QAAQ;AAAA,IAC7B,MAAK,eAAU,aAAV,YAAsB;AAAA,IAC3B,SAAS,UAAU;AAAA,IACnB,aAAY,oBAAI,KAAK,GAAE,YAAY;AAAA,IACnC,oBAAoB;AAAA,EACtB;AAEA,QAAM,WAAW,SAAS,cAAc,KAAK;AAC7C,WAAS,MAAM,gBAAgB;AAC/B,WAAS,MAAM,SAAS;AACxB,WAAS,iBAAiB,eAAe,OAAK,EAAE,eAAe,CAAC;AAEhE,aAAW,QAAQ,EAAE;AAAA,IACnB,MAAM,cAAc,YAAY,EAAE,MAAM,YAAY,SAAS,CAAC;AAAA,EAChE;AAEA,QAAM,cAAc,IAAI,YAAY,QAAQ;AAC5C,cAAY,SAAS,KAAK,UAAU,QAAQ;AAC5C,cAAY,SAAS,KAAK;AACzB,EAAC,YAAoB,SAAS,UAAU;AACxC,EAAC,YAAoB,WAAW;AACjC,QAAM,MAAM,MAAM,IAAI,WAAW;AAEjC,SAAO;AACT;AAEO,MAAM,0BAA0B,CACrC,WACA,OACA,aAC6D;AAC7D,QAAM,SAAS,IAAI,MAAM;AAAA,IACvB,IAAI,MAAM,eAAe,OAAO,IAAI,EAAE;AAAA,IACtC,IAAI,MAAM,kBAAkB,EAAE,OAAO,SAAS,CAAC;AAAA,EACjD;AACA,SAAO,SAAS,KAAK,UAAU,QAAQ;AACtC,EAAC,OAAe,SAAS,UAAU;AACpC,MAAI,MAAO,OAAM,MAAM,MAAM,IAAI,MAAM;AAEvC,QAAM,SAAS,iBAAiB,WAAW,QAAQ,OAAO,QAAQ;AAClE,SAAO,EAAE,QAAQ,UAAU,OAAO;AACpC;AAEO,MAAM,eAAe,CAAC,QAA4B,UAAgB;AArGzE;AAsGE,MAAI,CAAC,OAAQ;AACb,MAAI,MAAO,OAAM,MAAM,MAAM,OAAO,MAAM;AAC1C,QAAM,KAAK,OAAO;AAClB,iCAAI,kBAAJ,mBAAmB,YAAY;AACjC;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Position3DCard.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/core/components/viewers/bim/src/tools/AddToBim/src/Position3DCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,GAAG,OAAO,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,QAAQ,GACT,EAAE,mBAAmB,qBAwGrB"}
1
+ {"version":3,"file":"Position3DCard.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/core/components/viewers/bim/src/tools/AddToBim/src/Position3DCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,KAAK,GAAG,OAAO,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC5C,SAAS,EAAE,MAAM,IAAI,CAAA;IACrB,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB;AAQD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,SAAS,EACT,QAAQ,GACT,EAAE,mBAAmB,qBA6ErB"}
@@ -1,10 +1,16 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import { Card, CardContent, CardHeader, CardTitle } from "../../../../../../ui/Card";
2
+ import * as LR from "lucide-react";
3
+ import { Card, CardContent, CardHeader } from "../../../../../../ui/Card";
3
4
  import { Button } from "../../../../../../ui/Button";
4
5
  import { Input } from "../../../../../../ui/Input";
5
6
  import { Label } from "../../../../../../ui/Label";
6
7
  import { Separator } from "../../../../../../ui/Separator";
7
- import * as LR from "lucide-react";
8
+ import { SliderWithInput } from "../../../../../../ui/Slider";
9
+ const SCALE_PRESETS = [
10
+ { label: "mm", value: 1e-3, title: "Millimetres \u2192 metres" },
11
+ { label: "cm", value: 0.01, title: "Centimetres \u2192 metres" },
12
+ { label: "in", value: 0.0254, title: "Inches \u2192 metres" }
13
+ ];
8
14
  function Position3DCard({
9
15
  fileType,
10
16
  fileName,
@@ -15,99 +21,70 @@ function Position3DCard({
15
21
  onConfirm,
16
22
  onCancel
17
23
  }) {
18
- const defaultScale = fileType === "dxf" ? 1e-3 : 1;
19
- return /* @__PURE__ */ jsx("div", { className: "absolute bottom-10 right-0 z-50 max-w-[238px] pointer-events-auto ", children: /* @__PURE__ */ jsxs(Card, { className: "shadow-sm border bg-background/95 backdrop-blur-sm rounded-sm", children: [
20
- /* @__PURE__ */ jsxs(CardHeader, { className: "pb-2 pt-3 px-4", children: [
24
+ const isDxf = fileType === "dxf";
25
+ const defaultScale = isDxf ? 1e-3 : 1;
26
+ return /* @__PURE__ */ jsx("div", { className: "absolute bottom-10 right-4 z-50 w-64 pointer-events-auto", children: /* @__PURE__ */ jsxs(Card, { className: "shadow-lg border bg-background/95 backdrop-blur-sm", children: [
27
+ /* @__PURE__ */ jsxs(CardHeader, { className: "p-3 pb-2 space-y-1.5", children: [
21
28
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2", children: [
22
- /* @__PURE__ */ jsxs(CardTitle, { className: "text-sm flex items-center gap-1.5 min-w-0", children: [
23
- /* @__PURE__ */ jsx(LR.Move, { size: 14, className: "text-muted-foreground shrink-0" }),
24
- /* @__PURE__ */ jsxs("span", { className: "truncate", children: [
29
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 min-w-0", children: [
30
+ isDxf ? /* @__PURE__ */ jsx(LR.DraftingCompass, { size: 15, className: "text-muted-foreground shrink-0" }) : /* @__PURE__ */ jsx(LR.Box, { size: 15, className: "text-muted-foreground shrink-0" }),
31
+ /* @__PURE__ */ jsxs("span", { className: "text-sm font-medium truncate", children: [
25
32
  fileType.toUpperCase(),
26
- " Placement"
33
+ " placement"
27
34
  ] })
28
35
  ] }),
29
- /* @__PURE__ */ jsx(
30
- Button,
31
- {
32
- variant: "ghost",
33
- size: "icon",
34
- className: "h-6 w-6 shrink-0",
35
- onClick: onCancel,
36
- children: /* @__PURE__ */ jsx(LR.X, { size: 13 })
37
- }
38
- )
36
+ /* @__PURE__ */ jsx(Button, { variant: "ghost", size: "icon", className: "h-6 w-6 shrink-0", onClick: onCancel, children: /* @__PURE__ */ jsx(LR.X, { size: 13 }) })
39
37
  ] }),
40
38
  /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground truncate", title: fileName, children: fileName }),
41
- /* @__PURE__ */ jsx("p", { className: "text-xs text-muted-foreground/70", children: "Double-click to place \u2022 S / G / R to adjust" })
39
+ /* @__PURE__ */ jsx("p", { className: "text-[11px] text-muted-foreground/70 leading-tight", children: "Double-click in the scene to place. Drag the gizmo or press G / R / S to move, rotate or scale." })
42
40
  ] }),
43
41
  /* @__PURE__ */ jsx(Separator, {}),
44
- /* @__PURE__ */ jsxs(CardContent, { className: "px-4 pt-3 pb-3 space-y-2.5", children: [
45
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2", children: [
46
- /* @__PURE__ */ jsx(Label, { className: "text-xs w-12 shrink-0 text-muted-foreground", children: "Scale" }),
47
- /* @__PURE__ */ jsx(
48
- Input,
49
- {
50
- type: "number",
51
- value: scale,
52
- onChange: (e) => onScaleChange(Number.parseFloat(e.target.value) || defaultScale),
53
- step: fileType === "dxf" ? "0.001" : "0.1",
54
- min: fileType === "dxf" ? "0.001" : "0.1",
55
- max: "10",
56
- className: "h-7 text-xs w-28"
57
- }
58
- ),
59
- fileType === "dxf" && /* @__PURE__ */ jsxs("div", { className: "flex gap-1", children: [
60
- /* @__PURE__ */ jsx(
61
- Button,
62
- {
63
- variant: "outline",
64
- size: "sm",
65
- onClick: () => onScaleChange(1e-3),
66
- className: "text-xs px-2 h-7",
67
- title: "Millimetres to metres",
68
- children: "mm"
69
- }
70
- ),
71
- /* @__PURE__ */ jsx(
42
+ /* @__PURE__ */ jsxs(CardContent, { className: "p-3 space-y-3", children: [
43
+ /* @__PURE__ */ jsxs("div", { className: "space-y-1.5", children: [
44
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2", children: [
45
+ /* @__PURE__ */ jsx(Label, { className: "text-xs text-muted-foreground", children: "Scale" }),
46
+ isDxf && /* @__PURE__ */ jsx("div", { className: "flex gap-1", children: SCALE_PRESETS.map((preset) => /* @__PURE__ */ jsx(
72
47
  Button,
73
48
  {
74
- variant: "outline",
49
+ variant: Math.abs(scale - preset.value) < 1e-6 ? "default" : "outline",
75
50
  size: "sm",
76
- onClick: () => onScaleChange(0.0254),
77
- className: "text-xs px-2 h-7",
78
- title: "Inches to metres",
79
- children: "in"
80
- }
81
- )
82
- ] })
83
- ] }),
84
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2", children: [
85
- /* @__PURE__ */ jsx(Label, { className: "text-xs w-12 shrink-0 text-muted-foreground", children: "Rotate" }),
51
+ onClick: () => onScaleChange(preset.value),
52
+ className: "text-xs px-2 h-6",
53
+ title: preset.title,
54
+ children: preset.label
55
+ },
56
+ preset.label
57
+ )) })
58
+ ] }),
86
59
  /* @__PURE__ */ jsx(
87
60
  Input,
88
61
  {
89
62
  type: "number",
90
- value: rotation,
91
- onChange: (e) => onRotationChange(Number.parseFloat(e.target.value) || 0),
92
- step: "0.1",
93
- min: "-360",
94
- max: "360",
95
- className: "h-7 text-xs w-28"
63
+ value: scale,
64
+ onChange: (e) => onScaleChange(Number.parseFloat(e.target.value) || defaultScale),
65
+ step: isDxf ? 1e-3 : 0.1,
66
+ min: isDxf ? 1e-3 : 0.1,
67
+ max: 10,
68
+ className: "h-7 text-xs"
96
69
  }
97
70
  )
98
71
  ] }),
99
- /* @__PURE__ */ jsxs(
100
- Button,
72
+ /* @__PURE__ */ jsx(
73
+ SliderWithInput,
101
74
  {
102
- onClick: onConfirm,
103
- size: "sm",
104
- className: "w-full h-7 text-xs mt-1",
105
- children: [
106
- /* @__PURE__ */ jsx(LR.Check, { size: 12, className: "mr-1" }),
107
- "Confirm Placement"
108
- ]
75
+ label: "Rotation",
76
+ unit: "\xB0",
77
+ value: [rotation],
78
+ onValueChange: (value) => onRotationChange(value[0]),
79
+ min: 0,
80
+ max: 360,
81
+ step: 1
109
82
  }
110
- )
83
+ ),
84
+ /* @__PURE__ */ jsxs(Button, { onClick: onConfirm, size: "sm", className: "w-full h-8 text-xs", children: [
85
+ /* @__PURE__ */ jsx(LR.Check, { size: 13, className: "mr-1" }),
86
+ "Confirm placement"
87
+ ] })
111
88
  ] })
112
89
  ] }) });
113
90
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../../../../src/core/components/viewers/bim/src/tools/AddToBim/src/Position3DCard.tsx"],"sourcesContent":["import React from 'react'\r\nimport { Card, CardContent, CardHeader, CardTitle } from '../../../../../../ui/Card'\r\nimport { Button } from '../../../../../../ui/Button'\r\nimport { Input } from '../../../../../../ui/Input'\r\nimport { Label } from '../../../../../../ui/Label'\r\nimport { Separator } from '../../../../../../ui/Separator'\r\nimport * as LR from 'lucide-react'\r\n\r\ninterface Position3DCardProps {\r\n fileType: 'dxf' | 'model'\r\n fileName: string\r\n scale: number\r\n rotation: number\r\n onScaleChange: (scale: number) => void\r\n onRotationChange: (rotation: number) => void\r\n onConfirm: () => void\r\n onCancel: () => void\r\n}\r\n\r\nexport default function Position3DCard({\r\n fileType,\r\n fileName,\r\n scale,\r\n rotation,\r\n onScaleChange,\r\n onRotationChange,\r\n onConfirm,\r\n onCancel,\r\n}: Position3DCardProps) {\r\n const defaultScale = fileType === 'dxf' ? 0.001 : 1\r\n\r\n return (\r\n <div className=\"absolute bottom-10 right-0 z-50 max-w-[238px] pointer-events-auto \">\r\n <Card className=\"shadow-sm border bg-background/95 backdrop-blur-sm rounded-sm\">\r\n <CardHeader className=\"pb-2 pt-3 px-4\">\r\n <div className=\"flex items-center justify-between gap-2\">\r\n <CardTitle className=\"text-sm flex items-center gap-1.5 min-w-0\">\r\n <LR.Move size={14} className=\"text-muted-foreground shrink-0\" />\r\n <span className=\"truncate\">{fileType.toUpperCase()} Placement</span>\r\n </CardTitle>\r\n <Button\r\n variant=\"ghost\"\r\n size=\"icon\"\r\n className=\"h-6 w-6 shrink-0\"\r\n onClick={onCancel}\r\n >\r\n <LR.X size={13} />\r\n </Button>\r\n </div>\r\n <p className=\"text-xs text-muted-foreground truncate\" title={fileName}>\r\n {fileName}\r\n </p>\r\n <p className=\"text-xs text-muted-foreground/70\">\r\n Double-click to place &bull; S / G / R to adjust\r\n </p>\r\n </CardHeader>\r\n\r\n <Separator />\r\n\r\n <CardContent className=\"px-4 pt-3 pb-3 space-y-2.5\">\r\n {/* Scale row */}\r\n <div className=\"flex items-center justify-between gap-2\">\r\n <Label className=\"text-xs w-12 shrink-0 text-muted-foreground\">Scale</Label>\r\n <Input\r\n type=\"number\"\r\n value={scale}\r\n onChange={e => onScaleChange(Number.parseFloat(e.target.value) || defaultScale)}\r\n step={fileType === 'dxf' ? '0.001' : '0.1'}\r\n min={fileType === 'dxf' ? '0.001' : '0.1'}\r\n max=\"10\"\r\n className=\"h-7 text-xs w-28\"\r\n />\r\n {fileType === 'dxf' && (\r\n <div className=\"flex gap-1\">\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => onScaleChange(0.001)}\r\n className=\"text-xs px-2 h-7\"\r\n title=\"Millimetres to metres\"\r\n >\r\n mm\r\n </Button>\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => onScaleChange(0.0254)}\r\n className=\"text-xs px-2 h-7\"\r\n title=\"Inches to metres\"\r\n >\r\n in\r\n </Button>\r\n </div>\r\n )}\r\n </div>\r\n\r\n {/* Rotation row */}\r\n <div className=\"flex items-center justify-between gap-2\">\r\n <Label className=\"text-xs w-12 shrink-0 text-muted-foreground\">Rotate</Label>\r\n <Input\r\n type=\"number\"\r\n value={rotation}\r\n onChange={e => onRotationChange(Number.parseFloat(e.target.value) || 0)}\r\n step=\"0.1\"\r\n min=\"-360\"\r\n max=\"360\"\r\n className=\"h-7 text-xs w-28\"\r\n />\r\n {/* <div className=\"flex gap-1\">\r\n <Button\r\n variant=\"outline\"\r\n size=\"sm\"\r\n onClick={() => onRotationChange(90)}\r\n className=\"text-xs px-2 h-7\"\r\n >\r\n +{90}°\r\n </Button>\r\n </div> */}\r\n </div>\r\n\r\n <Button\r\n onClick={onConfirm}\r\n size=\"sm\"\r\n className=\"w-full h-7 text-xs mt-1\"\r\n >\r\n <LR.Check size={12} className=\"mr-1\" />\r\n Confirm Placement\r\n </Button>\r\n </CardContent>\r\n </Card>\r\n </div>\r\n )\r\n}\r\n"],"mappings":"AAqCc,cACA,YADA;AApCd,SAAS,MAAM,aAAa,YAAY,iBAAiB;AACzD,SAAS,cAAc;AACvB,SAAS,aAAa;AACtB,SAAS,aAAa;AACtB,SAAS,iBAAiB;AAC1B,YAAY,QAAQ;AAaL,SAAR,eAAgC;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AACtB,QAAM,eAAe,aAAa,QAAQ,OAAQ;AAElD,SACE,oBAAC,SAAI,WAAU,sEACb,+BAAC,QAAK,WAAU,iEACd;AAAA,yBAAC,cAAW,WAAU,kBACpB;AAAA,2BAAC,SAAI,WAAU,2CACb;AAAA,6BAAC,aAAU,WAAU,6CACnB;AAAA,8BAAC,GAAG,MAAH,EAAQ,MAAM,IAAI,WAAU,kCAAiC;AAAA,UAC9D,qBAAC,UAAK,WAAU,YAAY;AAAA,qBAAS,YAAY;AAAA,YAAE;AAAA,aAAU;AAAA,WAC/D;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,WAAU;AAAA,YACV,SAAS;AAAA,YAET,8BAAC,GAAG,GAAH,EAAK,MAAM,IAAI;AAAA;AAAA,QAClB;AAAA,SACF;AAAA,MACA,oBAAC,OAAE,WAAU,0CAAyC,OAAO,UAC1D,oBACH;AAAA,MACA,oBAAC,OAAE,WAAU,oCAAmC,8DAEhD;AAAA,OACF;AAAA,IAEA,oBAAC,aAAU;AAAA,IAEX,qBAAC,eAAY,WAAU,8BAErB;AAAA,2BAAC,SAAI,WAAU,2CACb;AAAA,4BAAC,SAAM,WAAU,+CAA8C,mBAAK;AAAA,QACpE;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,OAAO;AAAA,YACP,UAAU,OAAK,cAAc,OAAO,WAAW,EAAE,OAAO,KAAK,KAAK,YAAY;AAAA,YAC9E,MAAM,aAAa,QAAQ,UAAU;AAAA,YACrC,KAAK,aAAa,QAAQ,UAAU;AAAA,YACpC,KAAI;AAAA,YACJ,WAAU;AAAA;AAAA,QACZ;AAAA,QACC,aAAa,SACZ,qBAAC,SAAI,WAAU,cACb;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,SAAQ;AAAA,cACR,MAAK;AAAA,cACL,SAAS,MAAM,cAAc,IAAK;AAAA,cAClC,WAAU;AAAA,cACV,OAAM;AAAA,cACP;AAAA;AAAA,UAED;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,SAAQ;AAAA,cACR,MAAK;AAAA,cACL,SAAS,MAAM,cAAc,MAAM;AAAA,cACnC,WAAU;AAAA,cACV,OAAM;AAAA,cACP;AAAA;AAAA,UAED;AAAA,WACF;AAAA,SAEJ;AAAA,MAGA,qBAAC,SAAI,WAAU,2CACb;AAAA,4BAAC,SAAM,WAAU,+CAA8C,oBAAM;AAAA,QACrE;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,OAAO;AAAA,YACP,UAAU,OAAK,iBAAiB,OAAO,WAAW,EAAE,OAAO,KAAK,KAAK,CAAC;AAAA,YACtE,MAAK;AAAA,YACL,KAAI;AAAA,YACJ,KAAI;AAAA,YACJ,WAAU;AAAA;AAAA,QACZ;AAAA,SAWF;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC,SAAS;AAAA,UACT,MAAK;AAAA,UACL,WAAU;AAAA,UAEV;AAAA,gCAAC,GAAG,OAAH,EAAS,MAAM,IAAI,WAAU,QAAO;AAAA,YAAE;AAAA;AAAA;AAAA,MAEzC;AAAA,OACF;AAAA,KACF,GACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../../../../../../src/core/components/viewers/bim/src/tools/AddToBim/src/Position3DCard.tsx"],"sourcesContent":["import React from 'react'\r\nimport * as LR from 'lucide-react'\r\nimport { Card, CardContent, CardHeader } from '../../../../../../ui/Card'\r\nimport { Button } from '../../../../../../ui/Button'\r\nimport { Input } from '../../../../../../ui/Input'\r\nimport { Label } from '../../../../../../ui/Label'\r\nimport { Separator } from '../../../../../../ui/Separator'\r\nimport { SliderWithInput } from '../../../../../../ui/Slider'\r\n\r\ninterface Position3DCardProps {\r\n fileType: 'dxf' | 'model'\r\n fileName: string\r\n scale: number\r\n rotation: number\r\n onScaleChange: (scale: number) => void\r\n onRotationChange: (rotation: number) => void\r\n onConfirm: () => void\r\n onCancel: () => void\r\n}\r\n\r\nconst SCALE_PRESETS: { label: string, value: number, title: string }[] = [\r\n { label: 'mm', value: 0.001, title: 'Millimetres → metres' },\r\n { label: 'cm', value: 0.01, title: 'Centimetres → metres' },\r\n { label: 'in', value: 0.0254, title: 'Inches → metres' },\r\n]\r\n\r\nexport default function Position3DCard({\r\n fileType,\r\n fileName,\r\n scale,\r\n rotation,\r\n onScaleChange,\r\n onRotationChange,\r\n onConfirm,\r\n onCancel,\r\n}: Position3DCardProps) {\r\n const isDxf = fileType === 'dxf'\r\n const defaultScale = isDxf ? 0.001 : 1\r\n\r\n return (\r\n <div className=\"absolute bottom-10 right-4 z-50 w-64 pointer-events-auto\">\r\n <Card className=\"shadow-lg border bg-background/95 backdrop-blur-sm\">\r\n <CardHeader className=\"p-3 pb-2 space-y-1.5\">\r\n <div className=\"flex items-center justify-between gap-2\">\r\n <div className=\"flex items-center gap-1.5 min-w-0\">\r\n {isDxf\r\n ? <LR.DraftingCompass size={15} className=\"text-muted-foreground shrink-0\" />\r\n : <LR.Box size={15} className=\"text-muted-foreground shrink-0\" />}\r\n <span className=\"text-sm font-medium truncate\">{fileType.toUpperCase()} placement</span>\r\n </div>\r\n <Button variant=\"ghost\" size=\"icon\" className=\"h-6 w-6 shrink-0\" onClick={onCancel}>\r\n <LR.X size={13} />\r\n </Button>\r\n </div>\r\n <p className=\"text-xs text-muted-foreground truncate\" title={fileName}>{fileName}</p>\r\n <p className=\"text-[11px] text-muted-foreground/70 leading-tight\">\r\n Double-click in the scene to place. Drag the gizmo or press G / R / S to move, rotate or scale.\r\n </p>\r\n </CardHeader>\r\n\r\n <Separator />\r\n\r\n <CardContent className=\"p-3 space-y-3\">\r\n <div className=\"space-y-1.5\">\r\n <div className=\"flex items-center justify-between gap-2\">\r\n <Label className=\"text-xs text-muted-foreground\">Scale</Label>\r\n {isDxf && (\r\n <div className=\"flex gap-1\">\r\n {SCALE_PRESETS.map(preset => (\r\n <Button\r\n key={preset.label}\r\n variant={Math.abs(scale - preset.value) < 1e-6 ? 'default' : 'outline'}\r\n size=\"sm\"\r\n onClick={() => onScaleChange(preset.value)}\r\n className=\"text-xs px-2 h-6\"\r\n title={preset.title}\r\n >\r\n {preset.label}\r\n </Button>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n <Input\r\n type=\"number\"\r\n value={scale}\r\n onChange={e => onScaleChange(Number.parseFloat(e.target.value) || defaultScale)}\r\n step={isDxf ? 0.001 : 0.1}\r\n min={isDxf ? 0.001 : 0.1}\r\n max={10}\r\n className=\"h-7 text-xs\"\r\n />\r\n </div>\r\n\r\n <SliderWithInput\r\n label=\"Rotation\"\r\n unit=\"°\"\r\n value={[rotation]}\r\n onValueChange={value => onRotationChange(value[0])}\r\n min={0}\r\n max={360}\r\n step={1}\r\n />\r\n\r\n <Button onClick={onConfirm} size=\"sm\" className=\"w-full h-8 text-xs\">\r\n <LR.Check size={13} className=\"mr-1\" />\r\n Confirm placement\r\n </Button>\r\n </CardContent>\r\n </Card>\r\n </div>\r\n )\r\n}\r\n"],"mappings":"AA8CkB,cAEJ,YAFI;AA7ClB,YAAY,QAAQ;AACpB,SAAS,MAAM,aAAa,kBAAkB;AAC9C,SAAS,cAAc;AACvB,SAAS,aAAa;AACtB,SAAS,aAAa;AACtB,SAAS,iBAAiB;AAC1B,SAAS,uBAAuB;AAahC,MAAM,gBAAmE;AAAA,EACvE,EAAE,OAAO,MAAM,OAAO,MAAO,OAAO,4BAAuB;AAAA,EAC3D,EAAE,OAAO,MAAM,OAAO,MAAM,OAAO,4BAAuB;AAAA,EAC1D,EAAE,OAAO,MAAM,OAAO,QAAQ,OAAO,uBAAkB;AACzD;AAEe,SAAR,eAAgC;AAAA,EACrC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AACtB,QAAM,QAAQ,aAAa;AAC3B,QAAM,eAAe,QAAQ,OAAQ;AAErC,SACE,oBAAC,SAAI,WAAU,4DACb,+BAAC,QAAK,WAAU,sDACd;AAAA,yBAAC,cAAW,WAAU,wBACpB;AAAA,2BAAC,SAAI,WAAU,2CACb;AAAA,6BAAC,SAAI,WAAU,qCACZ;AAAA,kBACG,oBAAC,GAAG,iBAAH,EAAmB,MAAM,IAAI,WAAU,kCAAiC,IACzE,oBAAC,GAAG,KAAH,EAAO,MAAM,IAAI,WAAU,kCAAiC;AAAA,UACjE,qBAAC,UAAK,WAAU,gCAAgC;AAAA,qBAAS,YAAY;AAAA,YAAE;AAAA,aAAU;AAAA,WACnF;AAAA,QACA,oBAAC,UAAO,SAAQ,SAAQ,MAAK,QAAO,WAAU,oBAAmB,SAAS,UACxE,8BAAC,GAAG,GAAH,EAAK,MAAM,IAAI,GAClB;AAAA,SACF;AAAA,MACA,oBAAC,OAAE,WAAU,0CAAyC,OAAO,UAAW,oBAAS;AAAA,MACjF,oBAAC,OAAE,WAAU,sDAAqD,6GAElE;AAAA,OACF;AAAA,IAEA,oBAAC,aAAU;AAAA,IAEX,qBAAC,eAAY,WAAU,iBACrB;AAAA,2BAAC,SAAI,WAAU,eACb;AAAA,6BAAC,SAAI,WAAU,2CACb;AAAA,8BAAC,SAAM,WAAU,iCAAgC,mBAAK;AAAA,UACrD,SACC,oBAAC,SAAI,WAAU,cACZ,wBAAc,IAAI,YACjB;AAAA,YAAC;AAAA;AAAA,cAEC,SAAS,KAAK,IAAI,QAAQ,OAAO,KAAK,IAAI,OAAO,YAAY;AAAA,cAC7D,MAAK;AAAA,cACL,SAAS,MAAM,cAAc,OAAO,KAAK;AAAA,cACzC,WAAU;AAAA,cACV,OAAO,OAAO;AAAA,cAEb,iBAAO;AAAA;AAAA,YAPH,OAAO;AAAA,UAQd,CACD,GACH;AAAA,WAEJ;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,OAAO;AAAA,YACP,UAAU,OAAK,cAAc,OAAO,WAAW,EAAE,OAAO,KAAK,KAAK,YAAY;AAAA,YAC9E,MAAM,QAAQ,OAAQ;AAAA,YACtB,KAAK,QAAQ,OAAQ;AAAA,YACrB,KAAK;AAAA,YACL,WAAU;AAAA;AAAA,QACZ;AAAA,SACF;AAAA,MAEA;AAAA,QAAC;AAAA;AAAA,UACC,OAAM;AAAA,UACN,MAAK;AAAA,UACL,OAAO,CAAC,QAAQ;AAAA,UAChB,eAAe,WAAS,iBAAiB,MAAM,CAAC,CAAC;AAAA,UACjD,KAAK;AAAA,UACL,KAAK;AAAA,UACL,MAAM;AAAA;AAAA,MACR;AAAA,MAEA,qBAAC,UAAO,SAAS,WAAW,MAAK,MAAK,WAAU,sBAC9C;AAAA,4BAAC,GAAG,OAAH,EAAS,MAAM,IAAI,WAAU,QAAO;AAAA,QAAE;AAAA,SAEzC;AAAA,OACF;AAAA,KACF,GACF;AAEJ;","names":[]}
@@ -1,14 +1,23 @@
1
1
  import * as React from "react";
2
2
  import * as THREE from "three";
3
3
  import * as OBC from "@thatopen/components";
4
- import type { AddedFile } from "./FileMarkerUtils";
4
+ import { type PlacedKind } from "./FileHandler";
5
+ import type { FileMarkerAction } from "../../../../../../ui/FilesManager/src/FileMarker";
6
+ import type { CSS2DObject } from "three/addons/renderers/CSS2DRenderer.js";
5
7
  import type { BimToolbarToolsType } from "../../bimToolbar";
8
+ export type GizmoMode = "translate" | "rotate" | "scale";
9
+ export interface PlacedFile {
10
+ id: string;
11
+ name: string;
12
+ kind: PlacedKind;
13
+ marker: CSS2DObject | null;
14
+ object3D: THREE.Object3D;
15
+ }
6
16
  export declare function useFilePlacement(bimComponents: OBC.Components | null, world: OBC.World | null, fragments: OBC.FragmentsManager | null, toolsDispatch: React.Dispatch<any>, buildingId: number, uploadFileToDB?: (args: {
7
17
  fileData: any;
8
18
  buildingId: number;
9
- }) => Promise<any>): {
19
+ }) => Promise<any>, onMarkerAction?: (id: string, action: FileMarkerAction) => void): {
10
20
  selectedFile: File;
11
- addedFiles: AddedFile[];
12
21
  mousePosition: {
13
22
  x: number;
14
23
  y: number;
@@ -30,5 +39,8 @@ export declare function useFilePlacement(bimComponents: OBC.Components | null, w
30
39
  mouse: THREE.Vector2;
31
40
  dom: HTMLCanvasElement;
32
41
  }) => Promise<any>;
42
+ getPlacedFile: (id: string) => PlacedFile | undefined;
43
+ editPlacedFile: (id: string, mode?: GizmoMode) => void;
44
+ removePlacedFile: (id: string) => void;
33
45
  };
34
46
  //# sourceMappingURL=useFilePlacement.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useFilePlacement.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/core/components/viewers/bim/src/tools/AddToBim/src/useFilePlacement.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,GAAG,MAAM,sBAAsB,CAAA;AAO3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAG3D,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,GAAG,CAAC,UAAU,GAAG,IAAI,EACpC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,IAAI,EACvB,SAAS,EAAE,GAAG,CAAC,gBAAgB,GAAG,IAAI,EACtC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAClC,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE;IAAE,QAAQ,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,GAAG,CAAC;;;;;;;;;;;;;;8BAuG3B,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,cAAc,mBAAmB;2BAMvE,IAAI,cAAc,mBAAmB;;;wBA1ExC,MAAM;oBAOJ;QAC7C,MAAM,EAAE,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,kBAAkB,CAAA;QAC1D,KAAK,EAAE,KAAK,CAAC,OAAO,CAAA;QACpB,GAAG,EAAE,iBAAiB,CAAA;KACvB;EAgPF"}
1
+ {"version":3,"file":"useFilePlacement.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/core/components/viewers/bim/src/tools/AddToBim/src/useFilePlacement.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,GAAG,MAAM,sBAAsB,CAAA;AAM3C,OAAO,EAAkB,KAAK,UAAU,EAAE,MAAM,eAAe,CAAA;AAE/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kDAAkD,CAAA;AACxF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAA;AAC1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAG3D,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAA;AAExD,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;IAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAA;CACzB;AAsBD,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,GAAG,CAAC,UAAU,GAAG,IAAI,EACpC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,IAAI,EACvB,SAAS,EAAE,GAAG,CAAC,gBAAgB,GAAG,IAAI,EACtC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAClC,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE;IAAE,QAAQ,EAAE,GAAG,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,KAAK,OAAO,CAAC,GAAG,CAAC,EAC9E,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,KAAK,IAAI;;;;;;;;;;;;;8BA4FZ,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,cAAc,mBAAmB;2BAKvE,IAAI,cAAc,mBAAmB;;;wBAjExC,MAAM;oBAMJ;QAC7C,MAAM,EAAE,KAAK,CAAC,iBAAiB,GAAG,KAAK,CAAC,kBAAkB,CAAA;QAC1D,KAAK,EAAE,KAAK,CAAC,OAAO,CAAA;QACpB,GAAG,EAAE,iBAAiB,CAAA;KACvB;wBAwP4C,MAAM,KAAG,UAAU,GAAG,SAAS;yBAI9B,MAAM,SAAQ,SAAS;2BAYrB,MAAM;EA+BvD"}