@roomle/embedding-lib 5.31.0-alpha.1 → 5.31.0-alpha.3

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 (28) hide show
  1. package/docs/md/web/embedding/CHANGELOG.md +3 -40
  2. package/package.json +1 -1
  3. package/packages/design-system/build-webcomponents.d.ts +5 -0
  4. package/packages/design-system/src/utils/shadow-dom.d.ts +6 -0
  5. package/packages/design-system/src/utils/toggle.d.ts +19 -0
  6. package/packages/embedding-lib/src/examples/utils/homag-intelligence/drag-in.d.ts +1 -0
  7. package/packages/web-sdk/packages/common-core/src/configurator-kernel-access.d.ts +3 -5
  8. package/packages/web-sdk/packages/common-core/src/utils/threejs-utils.d.ts +3 -0
  9. package/packages/web-sdk/packages/common-core/src/view-model/configurator-view-model.d.ts +4 -3
  10. package/packages/web-sdk/packages/configurator-core/src/utils/animation/drag-insert-animation.d.ts +2 -2
  11. package/packages/web-sdk/packages/configurator-core/src/utils/dimensioning-helper.d.ts +17 -8
  12. package/packages/web-sdk/packages/homag-intelligence/src/debug-logging.d.ts +4 -5
  13. package/packages/web-sdk/packages/homag-intelligence/src/glue-logic.d.ts +8 -10
  14. package/packages/web-sdk/packages/planner-core/src/roomle-planner.d.ts +1 -1
  15. package/packages/web-sdk/packages/planner-core/src/webgl/planner-scene-manager.d.ts +1 -1
  16. package/packages/web-sdk/packages/typings/configurator-kernel-container.d.ts +3 -6
  17. package/packages/web-sdk/packages/typings/kernel.d.ts +18 -14
  18. package/packages/web-sdk/packages/typings/planner-kernel-container.d.ts +3 -6
  19. package/src/common/components/flying-menu/FlyingMenuToggles.vue.d.ts +16 -0
  20. package/src/common/components/side-bar/utils/configurator-sidebar-components.d.ts +86 -44
  21. package/src/configurator/components/addons/PossibleChildren.vue.d.ts +2 -2
  22. package/src/configurator/components/grid-view/GridView.vue.d.ts +2 -2
  23. package/src/configurator/components/parameters/types/MaterialParameter.vue.d.ts +2 -2
  24. package/src/configurator/components/parameters/types/ProductVariant.vue.d.ts +2 -2
  25. package/src/configurator/components/parameters/types/ThumbnailsParameter.vue.d.ts +2 -4
  26. package/src/configurator/embedding/exposed-api.d.ts +10 -1
  27. package/src/planner/components/overlays/rooms/ElementLengthScaling.vue.d.ts +79 -35
  28. package/src/planner/components/overlays/rooms/ParameterSwitch.vue.d.ts +2 -0
@@ -1,48 +1,11 @@
1
- ## [5.31.0-alpha.1](https://github.com/roomle-dev/roomle-ui/compare/embedding-lib-v5.30.1...embedding-lib-v5.31.0-alpha.1) (2025-10-23)
1
+ ## [5.31.0-alpha.3](https://github.com/roomle-dev/roomle-ui/compare/embedding-lib-v5.31.0-alpha.2...embedding-lib-v5.31.0-alpha.3) (2025-10-29)
2
2
 
3
3
 
4
4
  ### Features
5
5
 
6
- * core api - isChildObjectRootComponent ([027e033](https://github.com/roomle-dev/roomle-ui/commit/027e0335af12b5c59a0c42a9403ed94ed3589291))
7
- * core api - plan object children ([33259e1](https://github.com/roomle-dev/roomle-ui/commit/33259e158b40cb0136d5a60a9a41f992666420e5))
8
- * core api - setObjectCustomColor ([70ce529](https://github.com/roomle-dev/roomle-ui/commit/70ce52925dc36824beb895b16cf686c5e93496c5))
9
- * custom color picker on static items ([1942a7d](https://github.com/roomle-dev/roomle-ui/commit/1942a7d15af8f8d6af3bf9b786c05da4737faefa))
10
- * do not allow dragging of modules in configurator ([adcd12a](https://github.com/roomle-dev/roomle-ui/commit/adcd12a44bd2d50018e05bedc1bf4b848e15b380))
11
- * hi example - article image ([996dca9](https://github.com/roomle-dev/roomle-ui/commit/996dca93850096c5560a24a8ec94dc5326a267d3))
12
- * homag intelligence example - debug ui ([47d635d](https://github.com/roomle-dev/roomle-ui/commit/47d635d55347bcb2da57f3672597db7cc086cd7d))
13
- * Implement html measurements for "normal" measurements ([60bccbb](https://github.com/roomle-dev/roomle-ui/commit/60bccbbe940cd1c03f434e22895d8ce7edaf84d1))
14
- * initial light working ([a8ed3eb](https://github.com/roomle-dev/roomle-ui/commit/a8ed3ebdf9ad5b9c2f5ea8f216cbb7a78b1f694c))
15
- * lock camera state when switching object in configurator ([ce4bd0c](https://github.com/roomle-dev/roomle-ui/commit/ce4bd0ce3f2acc19f06ff933a9d511508dfa6a34))
16
- * module selection logic in isolation mode ([b6736e1](https://github.com/roomle-dev/roomle-ui/commit/b6736e1e7bd846c5aa82a8435608e3756390f2ab))
17
- * save configuration on planObjectConfigurationChanged ([0a4a57e](https://github.com/roomle-dev/roomle-ui/commit/0a4a57e87db6759039f64373873a4fb4990f8b5c))
18
- * select the component of the child object on start configuring ([c7b7ed6](https://github.com/roomle-dev/roomle-ui/commit/c7b7ed656a538617efd0dee6de0c617518774aba))
19
- * setting maximum lights based on max anisotrophy ([f0aa240](https://github.com/roomle-dev/roomle-ui/commit/f0aa240c0bebe9ef11138a78bde9f993e262d2f5))
20
- * **core:** upgrade to version 2.63.0-alpha.1 ([f2301cc](https://github.com/roomle-dev/roomle-ui/commit/f2301cc82ea02d5d83da0df183a1b6a04c641123))
21
- * **core:** upgrade to version 2.63.0-alpha.2 ([eae6240](https://github.com/roomle-dev/roomle-ui/commit/eae62407b3116734a17271d3a687cf556326ede6))
22
- * **core:** upgrade to version 2.63.0-alpha.3 ([45ff1eb](https://github.com/roomle-dev/roomle-ui/commit/45ff1eb7067807299d93df40bd10d8fead846b3b))
23
- * **core:** upgrade to version 2.63.0-alpha.4 ([fc48712](https://github.com/roomle-dev/roomle-ui/commit/fc48712bd5de99b90197ba7cd91ee07b71f46079))
24
- * web api - disableChildObjectsOfAllPlanObjects ([b4a006b](https://github.com/roomle-dev/roomle-ui/commit/b4a006bbed50927869342a0c0d7348573d9dd1e9))
6
+ * **core:** upgrade to version 2.63.0-alpha.7 ([1f05895](https://github.com/roomle-dev/roomle-ui/commit/1f058956c05a5e7d03586ab1ce08b7f3999e53ae))
25
7
 
26
8
 
27
9
  ### Bug Fixes
28
10
 
29
- * add a copy of the generated root modules to the split-off group for attribute transfer ([88e21b2](https://github.com/roomle-dev/roomle-ui/commit/88e21b2090109c8af157030dcc822ea2153863db))
30
- * check if added or removed plan elements are children of plan object ([75cec14](https://github.com/roomle-dev/roomle-ui/commit/75cec14ee29bb8d3fa7f5038514a5593284d40e1))
31
- * create a single undo/redo step for "swap" object ([52bb02d](https://github.com/roomle-dev/roomle-ui/commit/52bb02d98ae1da1440345fad6bdfd14a72933522))
32
- * exception - calculateTotalSum ([7a84c34](https://github.com/roomle-dev/roomle-ui/commit/7a84c349915ea7bcc71470024f901eb0c3deaec4))
33
- * exception when executing object animation in standalone configurator ([f72c382](https://github.com/roomle-dev/roomle-ui/commit/f72c38233e830890e243da7b4be74c9573d2ba70))
34
- * failing playwright test case ([700a286](https://github.com/roomle-dev/roomle-ui/commit/700a2867b3a8646ce96a12717cd09c1a0fcbee63))
35
- * failing sdk test ([d148883](https://github.com/roomle-dev/roomle-ui/commit/d148883d15dae4b80d4c3767ef0c4578366f32ab))
36
- * glue-layer attribute value assignment ([33803f9](https://github.com/roomle-dev/roomle-ui/commit/33803f96d8580b742990f480f9be3c2475bf0407))
37
- * glue-layer group modification callbacks ([5fd2854](https://github.com/roomle-dev/roomle-ui/commit/5fd28549d2a35d0cd67ad354d3429da388a44754))
38
- * HF hi compatibility - load master data ([d5e8f1d](https://github.com/roomle-dev/roomle-ui/commit/d5e8f1d1ac93f949e66460312006f3820c689be0))
39
- * hi object undo/redo action steps ([1c0457a](https://github.com/roomle-dev/roomle-ui/commit/1c0457ab2e6dedaf6c507e6ee668c3c5c17e3c40))
40
- * highlighting of plan objects after merging ([0c05222](https://github.com/roomle-dev/roomle-ui/commit/0c05222e5fa2ea83194ea0d0e3acefced6105921))
41
- * linting issues ([8d6d4fc](https://github.com/roomle-dev/roomle-ui/commit/8d6d4fc8566e1db24131e5e2703fc2fbb39cb1b6))
42
- * make sure onPosGroupsCompletelyLoaded is sent when loading plan prior to library ([4bd834d](https://github.com/roomle-dev/roomle-ui/commit/4bd834d58b50c68f84a4febd0b94b55b57e8a846))
43
- * only check for children on configurable plan objects ([2667c18](https://github.com/roomle-dev/roomle-ui/commit/2667c184f96de47a1d8b6633ea60fb4cb804ef0a))
44
- * set "id" property in the external material's parameter value payload ([2adf311](https://github.com/roomle-dev/roomle-ui/commit/2adf31115aa2ab2c0cce42206f9e2d51b00f359c))
45
- * transfer attributes when root module of group is swapped ([3ae226a](https://github.com/roomle-dev/roomle-ui/commit/3ae226a65a6fdfb0e4ec803d4864efb3fb26ca88))
46
- * ts lint ([33b20c5](https://github.com/roomle-dev/roomle-ui/commit/33b20c5a18e4d27cbc0e50c60f41312aec942635))
47
- * update groups already loaded when PosSaveData is assigned ([6bf3943](https://github.com/roomle-dev/roomle-ui/commit/6bf39439b99b64b7af01c1322055035d9a3444ca))
48
- * wrong links in README in web-SDK package ([677a3c8](https://github.com/roomle-dev/roomle-ui/commit/677a3c807e2ba1f72175241c2704c798dba0ca6e))
11
+ * Sanitizes a URL by removing trailing special characters that would break URL parameter appending ([5653a62](https://github.com/roomle-dev/roomle-ui/commit/5653a629acef6cc888633712b657b3e0825dead9))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@roomle/embedding-lib",
3
- "version": "5.31.0-alpha.1",
3
+ "version": "5.31.0-alpha.3",
4
4
  "description": "This is a small library which can be used to communicate with the Roomle Configurator",
5
5
  "type": "module",
6
6
  "main": "./roomle-embedding-lib.umd.js",
@@ -0,0 +1,5 @@
1
+
2
+ declare const RadioToggle: import('vue').VueElementConstructor<unknown>;
3
+ declare const RadioOption: import('vue').VueElementConstructor<unknown>;
4
+ declare const BooleanToggle: import('vue').VueElementConstructor<unknown>;
5
+ export { RadioToggle, RadioOption, BooleanToggle };
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Checks if an element is inside a Shadow DOM (web component context)
3
+ * @param element - The HTML element to check
4
+ * @returns true if the element is inside a Shadow DOM, false otherwise
5
+ */
6
+ export declare const inShadowDOM: (element: HTMLElement) => boolean;
@@ -0,0 +1,19 @@
1
+ /** Symbol key for providing/injecting radio toggle context */
2
+ export declare const RADIO_TOGGLE_CONTEXT_KEY: unique symbol;
3
+ /** Event name for radio group change events */
4
+ export declare const RADIO_GROUP_CHANGE_EVENT = "rml-ds-radio-group-change";
5
+ /** Detail data structure for radio group change events */
6
+ export interface RadioGroupChangeDetail<T = any> {
7
+ value: T;
8
+ radioName: string;
9
+ sourceInput: HTMLInputElement;
10
+ labelElement: Element | null;
11
+ optionElement: HTMLInputElement;
12
+ }
13
+ /** Custom event type for radio group changes */
14
+ export type RadioGroupChangeEvent<T = any> = CustomEvent<RadioGroupChangeDetail<T>>;
15
+ /**
16
+ * Injects CSS variables for the design system toggle components
17
+ * This function ensures CSS tokens are only injected once into the document head
18
+ */
19
+ export declare const injectCSSVariables: () => void;
@@ -1,3 +1,4 @@
1
1
  import { RoomDesignerApiType } from './overlay';
2
2
 
3
+ export declare const addClickEventListeners: (roomDesignerApi: RoomDesignerApiType, signal: AbortSignal, element?: HTMLElement | null) => void;
3
4
  export declare const addDragEventListeners: (roomDesignerApi: RoomDesignerApiType, catalogElements: NodeListOf<Element> | Element[], signal: AbortSignal, element?: HTMLElement | null) => void;
@@ -1,5 +1,5 @@
1
1
  import { default as ConfiguratorContext } from './webgl/configurator-context';
2
- import { DebugClient, KernelDockPairToLine, KernelDockPairToPoint, KernelObjectInformation, EmscriptenString, KernelAnimation, KernelComponent, KernelParameter, KernelParameterGroup, KernelVector3, PlanObject, VariantsList } from '../../typings/kernel';
2
+ import { DebugClient, KernelDockPairPreview, KernelObjectInformation, EmscriptenString, KernelAnimation, KernelComponent, KernelParameter, KernelParameterGroup, KernelVector3, PlanObject, VariantsList } from '../../typings/kernel';
3
3
  import { default as CommonKernelAccess, KERNEL_TYPE } from './services/common-kernel-access';
4
4
  import { ArticleNumber, ConfigurationHash, ConfigurationString, RapiId, RapiPrice } from '../../typings/rapi-types';
5
5
  import { CommonConfiguratorKernelCallbackI } from './common-configurator-kernel-callback';
@@ -14,8 +14,7 @@ export interface ConfiguratorKernelCallbackI extends CommonConfiguratorKernelCal
14
14
  planObjectConfigurationUpdated(planObjectId: number, configuration: ConfigurationString, hash: string, pendingDocking: boolean): void;
15
15
  configurationLoaded(conversationId: number, objectId: number, componentId: number, hash: string, errors: any): void;
16
16
  Editor3dAddDockPreview(componentId: number, previewId: number): void;
17
- Editor3dSetPreviewPointAssociations(dockPairs: KernelDockPairToPoint[], previewId: number): void;
18
- Editor3dSetPreviewLineAssociations(dockLines: KernelDockPairToLine[], previewId: number): void;
17
+ Editor3dSetPreviewAssociations(dockPairs: KernelDockPairPreview[], previewId: number): void;
19
18
  Editor3dPreviewConstructionDone(componentId: number, objectId: number): void;
20
19
  Editor3dPlanObjectConstructionDone(planObjectId: number): void;
21
20
  Editor3dComponentDocked(componentId: number, isRootComponent: boolean, parentObjectRuntimeId: number, componentPosition: KernelVector3, componentRotation: KernelVector3): void;
@@ -106,8 +105,7 @@ export default class ConfiguratorKernelAccess extends CommonKernelAccess {
106
105
  Editor3dSetMaterial(): void;
107
106
  Editor3dLoadMaterial(): void;
108
107
  Editor3dAddDockPreview(componentId: number, previewId: number): void;
109
- Editor3dSetPreviewPointAssociations(dockPairs: KernelDockPairToPoint[], previewId: number): void;
110
- Editor3dSetPreviewLineAssociations(dockLines: KernelDockPairToLine[], previewId: number): void;
108
+ Editor3dSetPreviewAssociations(dockPairs: KernelDockPairPreview[], previewId: number): void;
111
109
  Editor3dPreviewConstructionDone(componentId: number, objectId: number): void;
112
110
  Editor3dTranslateBy(): void;
113
111
  Editor3dRotateBy(): void;
@@ -88,6 +88,9 @@ export declare const createEmptySceneFromCurrent: (currentScene: Scene) => Scene
88
88
  export declare const isBox3InFrustum: (camera: Camera, box3: Box3) => boolean;
89
89
  export type RoomleEventedMesh = Mesh<BufferGeometry<NormalBufferAttributes>, Material | Material[], Object3DRoomleEventMap>;
90
90
  export type RoomleEventedObject3D = Object3D<Object3DRoomleEventMap>;
91
+ export interface RoomleEventedObject3DSubComponent extends RoomleEventedObject3D {
92
+ parentComponent?: RoomleEventedObject3D;
93
+ }
91
94
  export type RoomleEventedIntersection = Intersection<RoomleEventedObject3D>;
92
95
  interface InputEventAttatchment {
93
96
  intersection: RoomleEventedIntersection;
@@ -1,6 +1,6 @@
1
1
  import { RoomleComponent, PreviewComponent, PreviewLineComponent, RoomleComponentFactory } from '../../../common-core/src/webgl/roomle-component-factory';
2
2
  import { ConfiguratorKernelCallbackI } from '../configurator-kernel-access';
3
- import { KernelComponent, KernelDockPairToLine, KernelDockPairToPoint, KernelEnum, KernelLightSourceAttributes, KernelMeshAttributes, KernelMeshBuffer, KernelParameter, KernelVector3, PlanObject } from '../../../typings/kernel';
3
+ import { KernelComponent, KernelDockPairPreview, KernelEnum, KernelLightSourceAttributes, KernelMeshAttributes, KernelMeshBuffer, KernelParameter, KernelVector3, PlanObject } from '../../../typings/kernel';
4
4
  import { ConfigurationString } from '../../../typings/rapi-types';
5
5
  import { Context } from '../di/context';
6
6
  import { default as ConfiguratorContext } from '../webgl/configurator-context';
@@ -87,8 +87,9 @@ export default class ConfiguratorViewModel implements ConfiguratorKernelCallback
87
87
  Editor3dGeometryNotReady(id: number): void;
88
88
  Editor3dPlanObjectConstructionDone(planObjectId: number): void;
89
89
  Editor3dPreviewConstructionDone(componentId: number, _objectId: number): void;
90
- Editor3dSetPreviewLineAssociations(dockLines: KernelDockPairToLine[], previewId: number): void;
91
- Editor3dSetPreviewPointAssociations(dockPairs: KernelDockPairToPoint[], previewId: number): void;
90
+ private _setPreviewLineAssociations;
91
+ Editor3dSetPreviewAssociations(dockPairs: KernelDockPairPreview[], previewId: number): void;
92
+ private _setPreviewPointAssociations;
92
93
  private _addDockPreviewAnimation;
93
94
  componentDeleted(componentId: number): void;
94
95
  componentMetaUpdated(kernelComponent: KernelComponent): void;
@@ -1,5 +1,5 @@
1
1
  import { PreviewComponent, RoomleComponent } from '../../../../common-core/src/webgl/roomle-component-factory';
2
- import { KernelDockPairToPoint } from '../../../../typings/kernel';
2
+ import { KernelDockPairPreview } from '../../../../typings/kernel';
3
3
 
4
4
  export declare class DragInsertAnimation {
5
5
  private _id;
@@ -8,7 +8,7 @@ export declare class DragInsertAnimation {
8
8
  private _displacementTransformation;
9
9
  private _invalidateRenderCallback;
10
10
  private _currentAnimation;
11
- constructor(id: string, previewComponent: PreviewComponent, displacedComponents: RoomleComponent, dockPair: KernelDockPairToPoint, invalidateRenderCallback: () => void);
11
+ constructor(id: string, previewComponent: PreviewComponent, displacedComponents: RoomleComponent, dockPair: KernelDockPairPreview, invalidateRenderCallback: () => void);
12
12
  private _addObjectAnimationTransformations;
13
13
  private _addObjectAnimationValue;
14
14
  startInsert(): void;
@@ -11,6 +11,7 @@ export interface DimensionLabelUIData {
11
11
  text: string;
12
12
  worldPosition: Vector3;
13
13
  visible: boolean;
14
+ opacity?: number;
14
15
  }
15
16
  export default class DimensioningHelper {
16
17
  _creator_: string;
@@ -24,29 +25,37 @@ export default class DimensioningHelper {
24
25
  private _initialized;
25
26
  private _origin;
26
27
  private _dimensions;
27
- private _lineMaterial;
28
- private _widthLine;
29
- private _heightLine;
30
- private _depthLine;
28
+ private _mainLineMaterial;
29
+ private _widthLineGroup;
30
+ private _heightLineGroup;
31
+ private _depthLineGroup;
31
32
  private _enabled;
32
33
  private _dimensionsVisible;
33
34
  private _dimensionLineGroup;
34
35
  private _onLabelsUpdate;
35
36
  constructor(creator: string);
37
+ private _createLineGroup;
38
+ private _createLineFromConfig;
39
+ private _updateLineGroup;
36
40
  private _loaded;
37
41
  onLabelsUpdate(callback: (labels: DimensionLabelUIData[]) => void): void;
38
42
  private _performUpdate;
43
+ private _updateMaterialOpacity;
44
+ private _getCameraDistanceInfo;
39
45
  private _updateWidth;
40
46
  private _updateHeight;
41
47
  private _updateDepth;
48
+ private _getWidthLineConfig;
49
+ private _getDepthLineConfig;
50
+ private _getHeightLineConfig;
51
+ /**
52
+ * Helper to get camera position in the dimension line group's local space
53
+ */
54
+ private _getLocalCameraPosition;
42
55
  updateSize(boxForMeasurement: KernelCube): void;
43
56
  update(force?: boolean): void;
44
57
  addToObject(object: Object3D): void;
45
58
  removeFromObject(object: Object3D): void;
46
- private _isCameraInsideOrTooClose;
47
- private _getWidthEdge;
48
- private _getDepthEdge;
49
- private _getHeightEdge;
50
59
  onDimensionsVisibilityChanged(handler: (visible: boolean) => void): void;
51
60
  enableTopDimensions(): void;
52
61
  disableTopDimensions(): void;
@@ -1,5 +1,5 @@
1
1
  import { HiCallbacks } from '../../../../embedding-lib/src/embedding-lib';
2
- import { GlueLogic, LibraryData, RoomDesignerRequests } from './glue-logic';
2
+ import { GlueLogic, LibraryData, PlanSnapshot, RoomDesignerRequests } from './glue-logic';
3
3
  import { ExternalObjectGroup } from 'roomle-core-hsc/src/embind/plannerCoreInterface';
4
4
  import { ExternalModuleInformation } from '../../typings/kernel';
5
5
  import { CheckResult, PosGroup, PosSaveData } from './model/oc-scripts-domain.model';
@@ -21,15 +21,14 @@ export declare class GlueLayerRequestDebugLogging implements GlueLogic {
21
21
  mergeGroups(targetGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], idOfTargetRootModule: string): void;
22
22
  deleteRootModule(remainingGroup: ExternalObjectGroup, rootModuleIdToDelete: string, splitOffGroups: ExternalObjectGroup[]): void;
23
23
  splitRootModuleFromGroup(splitGroup: ExternalObjectGroup, newGroupedRootModules: ExternalObjectGroup[]): void;
24
- duplicateGroup(sourceGroupId: string, duplicatedGroup: ExternalObjectGroup): void;
24
+ duplicateGroup(duplicatedGroup: ExternalObjectGroup): void;
25
25
  modifyAttribute(groupId: string, moduleIdObjects: ExternalModuleInformation[], attributeName: string, value: string): void;
26
- updateAttribute(rootModuleId: string, moduleId: string, attributeId: string, attributeValue: string | boolean): void;
26
+ updateAttribute(rootModuleId: string, moduleId: string | null, attributeId: string, attributeValue: string | boolean): void;
27
27
  getVerifiedAttributeOptions(moduleId: string, attributeIds?: string | string[]): Promise<Record<string, CheckResult> | undefined>;
28
28
  updateAdditionalInfo(rootModuleId: string, additionalInfo: string): void;
29
29
  swapRootModule(groupId: string, rootModuleId: string, articleId: string): void;
30
30
  arrangeRootModulesOfGroup(changedGroup: ExternalObjectGroup): void;
31
31
  changedGroupPlanningSituation(changedGroup: ExternalObjectGroup): void;
32
- deleteGroup(groupId: string): Promise<void>;
33
32
  changedGroup(posDataJson: PosGroup): void;
34
33
  loadedGroup(posDataJson: PosGroup): void;
35
34
  groupsCompletelyLoaded(): void;
@@ -37,7 +36,7 @@ export declare class GlueLayerRequestDebugLogging implements GlueLogic {
37
36
  openCloseGroup(groupId: string): void;
38
37
  newPosDataFromId(id: string): PosGroup | undefined;
39
38
  getGroupDataForOrder(roomlePlannerId?: string): Promise<any>;
40
- savePlanSnapshot(): Promise<any>;
39
+ savePlanSnapshot(): Promise<PlanSnapshot | null>;
41
40
  }
42
41
  export declare class GlueLayerResponseDebugLogging implements RoomDesignerRequests {
43
42
  private _roomDesignerRequests;
@@ -42,15 +42,14 @@ export interface GlueLogic {
42
42
  mergeGroups(targetGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], idOfTargetRootModule: string): void;
43
43
  deleteRootModule(remainingGroup: ExternalObjectGroup, rootModuleIdToDelete: string, splitOffGroups: ExternalObjectGroup[]): void;
44
44
  splitRootModuleFromGroup(splitGroup: ExternalObjectGroup, newGroupedRootModules: ExternalObjectGroup[]): void;
45
- duplicateGroup(sourceGroupId: string, duplicatedGroup: ExternalObjectGroup): void;
45
+ duplicateGroup(duplicatedGroup: ExternalObjectGroup): void;
46
+ swapRootModule(groupId: string, rootModuleId: string, articleId: string): void;
46
47
  modifyAttribute(groupId: string, moduleIdObjects: ExternalModuleInformation[], attributeName: string, value: string): void;
47
- updateAttribute(rootModuleId: string, moduleId: string, attributeId: string, attributeValue: string | boolean): void;
48
+ updateAttribute(rootModuleId: string, moduleId: string | null, attributeId: string, attributeValue: string | boolean): void;
48
49
  getVerifiedAttributeOptions(moduleId: string, attributeIds?: string | string[]): Promise<Record<string, CheckResult> | undefined>;
49
50
  updateAdditionalInfo(rootModuleId: string, additionalInfo: string): void;
50
- swapRootModule(groupId: string, rootModuleId: string, articleId: string): void;
51
51
  arrangeRootModulesOfGroup(changedGroup: ExternalObjectGroup): void;
52
52
  changedGroupPlanningSituation(changedGroup: ExternalObjectGroup): void;
53
- deleteGroup(groupId: string): Promise<void>;
54
53
  changedGroup(posDataJson: PosGroup): void;
55
54
  loadedGroup(posDataJson: PosGroup): void;
56
55
  groupsCompletelyLoaded(): void;
@@ -58,7 +57,7 @@ export interface GlueLogic {
58
57
  openCloseGroup(groupId: string): void;
59
58
  newPosDataFromId(id: string): PosGroup | undefined;
60
59
  getGroupDataForOrder(roomlePlannerId?: string): Promise<any>;
61
- savePlanSnapshot(): Promise<PlanSnapshot>;
60
+ savePlanSnapshot(): Promise<PlanSnapshot | null>;
62
61
  }
63
62
  export interface PlanSnapshot {
64
63
  id: string;
@@ -92,15 +91,14 @@ export declare class GlueLogicImplementation implements GlueLogic {
92
91
  loadPosData(articleCatalogJson: any, libraryId: string): void;
93
92
  setPosDataForLoading(posData: PosSaveData | null): void;
94
93
  newPosDataFromId(id: string): any;
95
- deleteGroup(groupId: string): Promise<void>;
96
94
  selectGroup(groupId: string): Promise<void>;
97
95
  selectRoot(_groupId: any, rootId: string): Promise<void>;
98
96
  deleteRoot(_groupId: any, rootId: string): Promise<void>;
99
97
  selectSubModule(_groupId: any, rootId: string, moduleId: string): Promise<void>;
100
98
  openCloseGroup(groupId: string): Promise<void>;
101
99
  deleteRootModule(remainingGroup: ExternalObjectGroup, rootModuleIdToDelete: string, splitOffGroups: ExternalObjectGroup[]): void;
102
- duplicateGroup(_sourceGroupId: string, duplicatedGroup: ExternalObjectGroup): Promise<void>;
103
- mergeGroups(targetGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], idOfTargetRootModule: string): Promise<void>;
100
+ duplicateGroup(duplicatedGroup: ExternalObjectGroup): void;
101
+ mergeGroups(targetGroup: ExternalObjectGroup, idsOfGroupsMerged: string | string[], idOfTargetRootModule: string): void;
104
102
  private _applyImplicitRelevantAttributes;
105
103
  splitRootModuleFromGroup(splitGroup: ExternalObjectGroup, newGroupedRootModules: ExternalObjectGroup[]): void;
106
104
  arrangeRootModulesOfGroup(changedGroup: ExternalObjectGroup): void;
@@ -128,14 +126,14 @@ export declare class GlueLogicImplementation implements GlueLogic {
128
126
  private _calculateAndUpdateGroupMap;
129
127
  private _addNewGroup;
130
128
  private _addGroupToMap;
131
- updateAttribute(rootModuleId: string, moduleId: string, attributeId: string, attributeValue: string | boolean): void;
129
+ updateAttribute(rootModuleId: string, moduleId: string | null, attributeId: string, attributeValue: string | boolean): void;
132
130
  modifyAttribute(groupId: string, moduleIdObjects: ExternalModuleInformation[], attributeName: string, value: string): void;
133
131
  getVerifiedAttributeOptions(moduleId: string, attributeIds?: string | string[]): Promise<Record<string, CheckResult> | undefined>;
134
132
  updateAdditionalInfo(rootModuleId: string, additionalInfo: string): void;
135
133
  swapRootModule(groupId: string, rootModuleId: string, articleId: string): void;
136
134
  _modifyAttributeOfModules(emulatorGroupItem: GroupItem, moduleIds: string[] | string, attributeId: string, value: string | boolean): PosGroup;
137
135
  private _setAttribute;
138
- savePlanSnapshot(): Promise<PlanSnapshot>;
136
+ savePlanSnapshot(): Promise<PlanSnapshot | null>;
139
137
  private _findRootModuleInAllGroups;
140
138
  private _findModuleInAllGroups;
141
139
  private _findModule;
@@ -387,7 +387,7 @@ export default class RoomlePlanner<P extends readonly PluginName[] = readonly []
387
387
  * @param idOfNew the RAPI id of the new plan object
388
388
  * @returns runtime ID of the new object
389
389
  */
390
- swapObject(old: number | PlanElementViewModel, idOfNew: RapiId): Promise<number>;
390
+ swapObject(old: number | PlanElementViewModel | null, idOfNew: RapiId): Promise<number>;
391
391
  exportImageFromCamera(filename?: string, shouldWaitForAssets?: boolean): Promise<void>;
392
392
  exportCanvasScreenshot(quality?: number): Promise<string>;
393
393
  /**
@@ -223,7 +223,7 @@ export default class PlannerSceneManager extends ConfiguratorSceneManager implem
223
223
  private _externalPlanObjectSelectionChanged;
224
224
  highlightExternalObject(planObjectComponent: KernelPlanObjectComponent): void;
225
225
  private _selectExternalObjectComponent;
226
- private _getSelectedPlanObjectComponent;
226
+ getSelectedPlanObjectComponent(): KernelPlanObjectComponent;
227
227
  selectObjectComponent(planObjectComponent: KernelPlanObjectComponent, switchToConfigurator: boolean, selectComponent: boolean): Promise<void>;
228
228
  _swapObjectInConfigurator(planObjectComponent: KernelPlanObjectComponent): Promise<void>;
229
229
  getObjectComponent(id: number, typeOfId: Enumify<typeof CORE_TYPE_OF_CORE_ID>): KernelPlanObjectComponent | null;
@@ -1,11 +1,9 @@
1
- import { ConfiguratorKernelClass, KernelAddOnSpot, KernelComponent, KernelConfiguration, KernelDockPairToLine, KernelDockPairToPoint, KernelParameter, KernelParameterGroup, KernelParameterValue, KernelParamKeyValuePair, KernelPart, KernelPartListParameter, KernelPossibleChild, KernelRange, KernelVariable, KernelVariant } from './kernel';
1
+ import { ConfiguratorKernelClass, KernelAddOnSpot, KernelComponent, KernelConfiguration, KernelDockPairPreview, KernelParameter, KernelParameterGroup, KernelParameterValue, KernelParamKeyValuePair, KernelPart, KernelPartListParameter, KernelPossibleChild, KernelRange, KernelVariable, KernelVariant } from './kernel';
2
2
  import { PlanObjectList } from './planner-kernel-container';
3
3
 
4
4
  import * as ems from './ems';
5
5
  declare const EmsArray: typeof ems.EmsArray;
6
- declare class DockPairToPointArray extends EmsArray<KernelDockPairToPoint> {
7
- }
8
- declare class DockPairToLineArray extends EmsArray<KernelDockPairToLine> {
6
+ declare class DockPairPreviewArray extends EmsArray<KernelDockPairPreview> {
9
7
  }
10
8
  declare class ComponentArray extends EmsArray<KernelComponent> {
11
9
  }
@@ -72,8 +70,7 @@ declare class UnitMeasureFormatter {
72
70
  isParseableNumber(aString: string): boolean;
73
71
  }
74
72
  export interface ConfiguratorKernelContainer {
75
- DockPairToPointArray: DockPairToPointArray;
76
- DockPairToLineArray: DockPairToLineArray;
73
+ DockPairPreviewArray: DockPairPreviewArray;
77
74
  ComponentArray: ComponentArray;
78
75
  Type: Type;
79
76
  UnitType: UnitType;
@@ -389,16 +389,33 @@ export interface KernelContainer {
389
389
  registerConfiguratorCallback: (callbacksObject: any) => void;
390
390
  unregisterConfiguratorCallback: (callbacksObject: any) => void;
391
391
  }
392
- export interface KernelDockPairToPoint {
392
+ export declare const CORE_DOCK_PAIR_TYPE: {
393
+ readonly POINT: 0;
394
+ readonly LINE: 1;
395
+ };
396
+ export interface DockPairType {
397
+ value: Enumify<typeof CORE_DOCK_PAIR_TYPE>;
398
+ }
399
+ export interface KernelDockPairPreview {
393
400
  parentId: number;
394
401
  parentDockId: number;
395
402
  childId: number;
396
403
  childDockId: number;
404
+ type: DockPairType;
397
405
  position: KernelVector3f;
398
406
  rotation: KernelVector3f;
399
407
  insertInBetween: boolean;
400
408
  displacedChildId: number;
401
409
  displacedChildTransform: KernelMatrix4;
410
+ displacedComponents: number[];
411
+ displacementRotation: KernelVector3f;
412
+ displacementVector: KernelVector3f;
413
+ positionFrom?: KernelVector3f;
414
+ positionTo?: KernelVector3f;
415
+ lineFrom?: KernelVector3f;
416
+ lineTo?: KernelVector3f;
417
+ lineSegments: DockingLineSegment[];
418
+ areaWidth?: number;
402
419
  }
403
420
  export interface KernelVector2f {
404
421
  x: number;
@@ -417,19 +434,6 @@ export interface KernelDockingLineSegment {
417
434
  from: number;
418
435
  to: number;
419
436
  }
420
- export interface KernelDockPairToLine {
421
- parentId: number;
422
- parentDockId: number;
423
- childId: number;
424
- childDockId: number;
425
- position: KernelVector3f;
426
- rotation: KernelVector3f;
427
- positionFrom: KernelVector3f;
428
- positionTo: KernelVector3f;
429
- lineFrom: KernelVector3f;
430
- lineTo: KernelVector3f;
431
- lineSegments: KernelDockingLineSegment[];
432
- }
433
437
  export interface KernelVariable {
434
438
  key: string;
435
439
  type: string;
@@ -1,4 +1,4 @@
1
- import { ConfiguratorKernelClass, KernelAddOnSpot, KernelComponent, KernelConfiguration, KernelDockPairToLine, KernelDockPairToPoint, KernelEnum, KernelParameter, KernelParameterGroup, KernelParameterValue, KernelParamKeyValuePair, KernelPart, KernelPartListParameter, KernelPlanObject, KernelPossibleChild, KernelRange, KernelVariable, KernelVariant, KernelVector2f, KernelVector3f } from './kernel';
1
+ import { ConfiguratorKernelClass, KernelAddOnSpot, KernelComponent, KernelConfiguration, KernelDockPairPreview, KernelEnum, KernelParameter, KernelParameterGroup, KernelParameterValue, KernelParamKeyValuePair, KernelPart, KernelPartListParameter, KernelPlanObject, KernelPossibleChild, KernelRange, KernelVariable, KernelVariant, KernelVector2f, KernelVector3f } from './kernel';
2
2
  import { PlanInteractionHandler, WallSide } from './planner';
3
3
  import { Enumify } from '../common-core/src/types';
4
4
 
@@ -238,9 +238,7 @@ declare class Vector2fArray extends EmsArray<KernelVector2f> {
238
238
  }
239
239
  declare class LongArray extends EmsArray<number> {
240
240
  }
241
- declare class DockPairToPointArray extends EmsArray<KernelDockPairToPoint> {
242
- }
243
- declare class DockPairToLineArray extends EmsArray<KernelDockPairToLine> {
241
+ declare class DockPairPreviewArray extends EmsArray<KernelDockPairPreview> {
244
242
  }
245
243
  declare class ComponentArray extends EmsArray<KernelComponent> {
246
244
  }
@@ -351,8 +349,7 @@ export interface PlannerKernelContainer {
351
349
  StringArray: StringArray;
352
350
  Vector2fArray: Vector2fArray;
353
351
  LongArray: LongArray;
354
- DockPairToPointArray: DockPairToPointArray;
355
- DockPairToLineArray: DockPairToLineArray;
352
+ DockPairPreviewArray: DockPairPreviewArray;
356
353
  ComponentArray: ComponentArray;
357
354
  Type: Type;
358
355
  UnitType: UnitType;
@@ -0,0 +1,16 @@
1
+ declare const _default: import('vue').DefineComponent<{
2
+ firstIconName?: string;
3
+ secondIconName?: string;
4
+ firstLabel?: string;
5
+ secondLabel?: string;
6
+ isActive: boolean;
7
+ toggle: () => void;
8
+ }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
9
+ firstIconName?: string;
10
+ secondIconName?: string;
11
+ firstLabel?: string;
12
+ secondLabel?: string;
13
+ isActive: boolean;
14
+ toggle: () => void;
15
+ }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
16
+ export default _default;
@@ -2,12 +2,12 @@ declare const dynamicComponents: {
2
2
  readonly MaterialParameter: import('vue').DefineComponent<{
3
3
  parameter?: UiKernelParameter;
4
4
  isExpanded: boolean;
5
- onExpand: (_payload: MouseEvent) => void;
5
+ onExpand?: (_payload: MouseEvent) => void;
6
6
  onCollapse?: (_payload: MouseEvent) => void;
7
7
  }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
8
8
  parameter?: UiKernelParameter;
9
9
  isExpanded: boolean;
10
- onExpand: (_payload: MouseEvent) => void;
10
+ onExpand?: (_payload: MouseEvent) => void;
11
11
  onCollapse?: (_payload: MouseEvent) => void;
12
12
  }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
13
13
  readonly OptionsParameter: import('vue').DefineComponent<{
@@ -30,7 +30,6 @@ declare const dynamicComponents: {
30
30
  isExpanded: BooleanConstructor;
31
31
  onExpand: {
32
32
  type: import('vue').PropType<(_payload: MouseEvent) => void>;
33
- required: true;
34
33
  };
35
34
  onCollapse: {
36
35
  type: import('vue').PropType<(_payload: MouseEvent) => void>;
@@ -48,7 +47,6 @@ declare const dynamicComponents: {
48
47
  isExpanded: BooleanConstructor;
49
48
  onExpand: {
50
49
  type: import('vue').PropType<(_payload: MouseEvent) => void>;
51
- required: true;
52
50
  };
53
51
  onCollapse: {
54
52
  type: import('vue').PropType<(_payload: MouseEvent) => void>;
@@ -58,7 +56,7 @@ declare const dynamicComponents: {
58
56
  }, {}, {
59
57
  GridView: import('vue').DefineComponent<{
60
58
  isExpanded?: boolean;
61
- onExpand: (event: MouseEvent) => void;
59
+ onExpand?: (event: MouseEvent) => void;
62
60
  onSelect: ((...args: any[]) => any)[] | ((possibleChild: import('../../../../configurator/components/grid-view/-utils/GridViewHelper').GridViewElement<any>, event?: Event) => Promise<void>);
63
61
  onDragStart?: (gridViewElement: import('../../../../configurator/components/grid-view/-utils/GridViewHelper').GridViewElement<any>, event: TouchEvent | DragEvent) => Promise<void>;
64
62
  onDragEnd?: (gridViewElement: import('../../../../configurator/components/grid-view/-utils/GridViewHelper').GridViewElement<any>, event: TouchEvent | DragEvent) => void;
@@ -73,7 +71,7 @@ declare const dynamicComponents: {
73
71
  currentTouch: import('../../../../../packages/common/src/utils/touch-drag').TouchDrag<import('../../../../configurator/components/grid-view/-utils/GridViewHelper').GridViewElement<any>>;
74
72
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
75
73
  isExpanded?: boolean;
76
- onExpand: (event: MouseEvent) => void;
74
+ onExpand?: (event: MouseEvent) => void;
77
75
  onSelect: ((...args: any[]) => any)[] | ((possibleChild: import('../../../../configurator/components/grid-view/-utils/GridViewHelper').GridViewElement<any>, event?: Event) => Promise<void>);
78
76
  onDragStart?: (gridViewElement: import('../../../../configurator/components/grid-view/-utils/GridViewHelper').GridViewElement<any>, event: TouchEvent | DragEvent) => Promise<void>;
79
77
  onDragEnd?: (gridViewElement: import('../../../../configurator/components/grid-view/-utils/GridViewHelper').GridViewElement<any>, event: TouchEvent | DragEvent) => void;
@@ -111,12 +109,12 @@ declare const dynamicComponents: {
111
109
  readonly PossibleChildren: import('vue').DefineComponent<{
112
110
  addonTag: UiPossibleChildTag;
113
111
  isExpanded: boolean;
114
- onExpand: () => void;
112
+ onExpand?: () => void;
115
113
  onCollapse: (_payload: MouseEvent) => void;
116
114
  }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
117
115
  addonTag: UiPossibleChildTag;
118
116
  isExpanded: boolean;
119
- onExpand: () => void;
117
+ onExpand?: () => void;
120
118
  onCollapse: (_payload: MouseEvent) => void;
121
119
  }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
122
120
  readonly ProductVariant: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
@@ -159,7 +157,7 @@ declare const dynamicComponents: {
159
157
  }, {}, {
160
158
  GridView: import('vue').DefineComponent<{
161
159
  isExpanded?: boolean;
162
- onExpand: (event: MouseEvent) => void;
160
+ onExpand?: (event: MouseEvent) => void;
163
161
  onSelect: ((...args: any[]) => any)[] | ((possibleChild: import('../../../../configurator/components/grid-view/-utils/GridViewHelper').GridViewElement<any>, event?: Event) => Promise<void>);
164
162
  onDragStart?: (gridViewElement: import('../../../../configurator/components/grid-view/-utils/GridViewHelper').GridViewElement<any>, event: TouchEvent | DragEvent) => Promise<void>;
165
163
  onDragEnd?: (gridViewElement: import('../../../../configurator/components/grid-view/-utils/GridViewHelper').GridViewElement<any>, event: TouchEvent | DragEvent) => void;
@@ -174,7 +172,7 @@ declare const dynamicComponents: {
174
172
  currentTouch: import('../../../../../packages/common/src/utils/touch-drag').TouchDrag<import('../../../../configurator/components/grid-view/-utils/GridViewHelper').GridViewElement<any>>;
175
173
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
176
174
  isExpanded?: boolean;
177
- onExpand: (event: MouseEvent) => void;
175
+ onExpand?: (event: MouseEvent) => void;
178
176
  onSelect: ((...args: any[]) => any)[] | ((possibleChild: import('../../../../configurator/components/grid-view/-utils/GridViewHelper').GridViewElement<any>, event?: Event) => Promise<void>);
179
177
  onDragStart?: (gridViewElement: import('../../../../configurator/components/grid-view/-utils/GridViewHelper').GridViewElement<any>, event: TouchEvent | DragEvent) => Promise<void>;
180
178
  onDragEnd?: (gridViewElement: import('../../../../configurator/components/grid-view/-utils/GridViewHelper').GridViewElement<any>, event: TouchEvent | DragEvent) => void;
@@ -2551,7 +2549,7 @@ declare const dynamicComponents: {
2551
2549
  }, {
2552
2550
  scalingDirection: number;
2553
2551
  }, {}, {
2554
- changeScalingDirection(activeSwitch: number): Promise<void>;
2552
+ changeScalingDirection(): Promise<void>;
2555
2553
  setElementLength(value: string): void;
2556
2554
  }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
2557
2555
  onSetElementLength: {
@@ -2571,40 +2569,84 @@ declare const dynamicComponents: {
2571
2569
  required: true;
2572
2570
  };
2573
2571
  }>> & Readonly<{}>, {}, {}, {
2574
- SwitchButton: {
2575
- new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
2576
- switch?: (clickedOption: 1 | 2) => void;
2577
- initialActive?: number;
2578
- hasIcons?: boolean;
2579
- }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
2580
- P: {};
2581
- B: {};
2582
- D: {};
2583
- C: {};
2584
- M: {};
2585
- Defaults: {};
2586
- }, Readonly<{
2587
- switch?: (clickedOption: 1 | 2) => void;
2588
- initialActive?: number;
2589
- hasIcons?: boolean;
2590
- }> & Readonly<{}>, {}, {}, {}, {}, {}>;
2591
- __isFragment?: never;
2592
- __isTeleport?: never;
2593
- __isSuspense?: never;
2594
- } & import('vue').ComponentOptionsBase<Readonly<{
2595
- switch?: (clickedOption: 1 | 2) => void;
2596
- initialActive?: number;
2597
- hasIcons?: boolean;
2598
- }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
2599
- $slots: {
2600
- firstOption?(_: {
2601
- active: boolean;
2602
- }): any;
2603
- secondOption?(_: {
2604
- active: boolean;
2605
- }): any;
2572
+ RadioToggle: <T>(__VLS_props: {
2573
+ size?: string;
2574
+ circle?: boolean;
2575
+ value: T;
2576
+ onChange?: (value: T) => void;
2577
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, __VLS_ctx?: {
2578
+ slots: {
2579
+ default?(_: {}): any;
2606
2580
  };
2607
- });
2581
+ attrs: any;
2582
+ emit: {};
2583
+ }, __VLS_expose?: (exposed: import('vue').ShallowUnwrapRef<{}>) => void, __VLS_setup?: Promise<{
2584
+ props: {
2585
+ size?: string;
2586
+ circle?: boolean;
2587
+ value: T;
2588
+ onChange?: (value: T) => void;
2589
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
2590
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
2591
+ attrs: any;
2592
+ slots: {
2593
+ default?(_: {}): any;
2594
+ };
2595
+ emit: {};
2596
+ }>) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
2597
+ [key: string]: any;
2598
+ }> & {
2599
+ __ctx?: {
2600
+ props: {
2601
+ size?: string;
2602
+ circle?: boolean;
2603
+ value: T;
2604
+ onChange?: (value: T) => void;
2605
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
2606
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
2607
+ attrs: any;
2608
+ slots: {
2609
+ default?(_: {}): any;
2610
+ };
2611
+ emit: {};
2612
+ };
2613
+ };
2614
+ RadioOption: <T_1>(__VLS_props: {
2615
+ value: T_1;
2616
+ circle?: boolean;
2617
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, __VLS_ctx?: {
2618
+ slots: {
2619
+ default?(_: {}): any;
2620
+ };
2621
+ attrs: any;
2622
+ emit: {};
2623
+ }, __VLS_expose?: (exposed: import('vue').ShallowUnwrapRef<{}>) => void, __VLS_setup?: Promise<{
2624
+ props: {
2625
+ value: T_1;
2626
+ circle?: boolean;
2627
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
2628
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
2629
+ attrs: any;
2630
+ slots: {
2631
+ default?(_: {}): any;
2632
+ };
2633
+ emit: {};
2634
+ }>) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
2635
+ [key: string]: any;
2636
+ }> & {
2637
+ __ctx?: {
2638
+ props: {
2639
+ value: T_1;
2640
+ circle?: boolean;
2641
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
2642
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
2643
+ attrs: any;
2644
+ slots: {
2645
+ default?(_: {}): any;
2646
+ };
2647
+ emit: {};
2648
+ };
2649
+ };
2608
2650
  SvgIcon: import('vue').DefineComponent<{
2609
2651
  icon: string;
2610
2652
  }, {
@@ -1,12 +1,12 @@
1
1
  declare const _default: import('vue').DefineComponent<{
2
2
  addonTag: UiPossibleChildTag;
3
3
  isExpanded: boolean;
4
- onExpand: () => void;
4
+ onExpand?: () => void;
5
5
  onCollapse: (_payload: MouseEvent) => void;
6
6
  }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
7
7
  addonTag: UiPossibleChildTag;
8
8
  isExpanded: boolean;
9
- onExpand: () => void;
9
+ onExpand?: () => void;
10
10
  onCollapse: (_payload: MouseEvent) => void;
11
11
  }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
12
12
  export default _default;
@@ -3,7 +3,7 @@ import { TouchDrag } from '../../../../packages/common/src/utils/touch-drag';
3
3
 
4
4
  declare const _default: import('vue').DefineComponent<{
5
5
  isExpanded?: boolean;
6
- onExpand: (event: MouseEvent) => void;
6
+ onExpand?: (event: MouseEvent) => void;
7
7
  onSelect: ((...args: any[]) => any)[] | ((possibleChild: GridViewElement<any>, event?: Event) => Promise<void>);
8
8
  onDragStart?: (gridViewElement: GridViewElement<any>, event: TouchEvent | DragEvent) => Promise<void>;
9
9
  onDragEnd?: (gridViewElement: GridViewElement<any>, event: TouchEvent | DragEvent) => void;
@@ -18,7 +18,7 @@ declare const _default: import('vue').DefineComponent<{
18
18
  currentTouch: TouchDrag<GridViewElement<any>>;
19
19
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
20
20
  isExpanded?: boolean;
21
- onExpand: (event: MouseEvent) => void;
21
+ onExpand?: (event: MouseEvent) => void;
22
22
  onSelect: ((...args: any[]) => any)[] | ((possibleChild: GridViewElement<any>, event?: Event) => Promise<void>);
23
23
  onDragStart?: (gridViewElement: GridViewElement<any>, event: TouchEvent | DragEvent) => Promise<void>;
24
24
  onDragEnd?: (gridViewElement: GridViewElement<any>, event: TouchEvent | DragEvent) => void;
@@ -1,12 +1,12 @@
1
1
  declare const _default: import('vue').DefineComponent<{
2
2
  parameter?: UiKernelParameter;
3
3
  isExpanded: boolean;
4
- onExpand: (_payload: MouseEvent) => void;
4
+ onExpand?: (_payload: MouseEvent) => void;
5
5
  onCollapse?: (_payload: MouseEvent) => void;
6
6
  }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
7
7
  parameter?: UiKernelParameter;
8
8
  isExpanded: boolean;
9
- onExpand: (_payload: MouseEvent) => void;
9
+ onExpand?: (_payload: MouseEvent) => void;
10
10
  onCollapse?: (_payload: MouseEvent) => void;
11
11
  }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
12
12
  export default _default;
@@ -41,7 +41,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
41
41
  }, {}, {
42
42
  GridView: import('vue').DefineComponent<{
43
43
  isExpanded?: boolean;
44
- onExpand: (event: MouseEvent) => void;
44
+ onExpand?: (event: MouseEvent) => void;
45
45
  onSelect: ((...args: any[]) => any)[] | ((possibleChild: GridViewElement<any>, event?: Event) => Promise<void>);
46
46
  onDragStart?: (gridViewElement: GridViewElement<any>, event: TouchEvent | DragEvent) => Promise<void>;
47
47
  onDragEnd?: (gridViewElement: GridViewElement<any>, event: TouchEvent | DragEvent) => void;
@@ -56,7 +56,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
56
56
  currentTouch: import('../../../../../packages/common/src/utils/touch-drag').TouchDrag<GridViewElement<any>>;
57
57
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
58
58
  isExpanded?: boolean;
59
- onExpand: (event: MouseEvent) => void;
59
+ onExpand?: (event: MouseEvent) => void;
60
60
  onSelect: ((...args: any[]) => any)[] | ((possibleChild: GridViewElement<any>, event?: Event) => Promise<void>);
61
61
  onDragStart?: (gridViewElement: GridViewElement<any>, event: TouchEvent | DragEvent) => Promise<void>;
62
62
  onDragEnd?: (gridViewElement: GridViewElement<any>, event: TouchEvent | DragEvent) => void;
@@ -6,7 +6,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
6
6
  isExpanded: BooleanConstructor;
7
7
  onExpand: {
8
8
  type: PropType<(_payload: MouseEvent) => void>;
9
- required: true;
10
9
  };
11
10
  onCollapse: {
12
11
  type: PropType<(_payload: MouseEvent) => void>;
@@ -24,7 +23,6 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
24
23
  isExpanded: BooleanConstructor;
25
24
  onExpand: {
26
25
  type: PropType<(_payload: MouseEvent) => void>;
27
- required: true;
28
26
  };
29
27
  onCollapse: {
30
28
  type: PropType<(_payload: MouseEvent) => void>;
@@ -34,7 +32,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
34
32
  }, {}, {
35
33
  GridView: import('vue').DefineComponent<{
36
34
  isExpanded?: boolean;
37
- onExpand: (event: MouseEvent) => void;
35
+ onExpand?: (event: MouseEvent) => void;
38
36
  onSelect: ((...args: any[]) => any)[] | ((possibleChild: GridViewElement<any>, event?: Event) => Promise<void>);
39
37
  onDragStart?: (gridViewElement: GridViewElement<any>, event: TouchEvent | DragEvent) => Promise<void>;
40
38
  onDragEnd?: (gridViewElement: GridViewElement<any>, event: TouchEvent | DragEvent) => void;
@@ -49,7 +47,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
49
47
  currentTouch: import('../../../../../packages/common/src/utils/touch-drag').TouchDrag<GridViewElement<any>>;
50
48
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
51
49
  isExpanded?: boolean;
52
- onExpand: (event: MouseEvent) => void;
50
+ onExpand?: (event: MouseEvent) => void;
53
51
  onSelect: ((...args: any[]) => any)[] | ((possibleChild: GridViewElement<any>, event?: Event) => Promise<void>);
54
52
  onDragStart?: (gridViewElement: GridViewElement<any>, event: TouchEvent | DragEvent) => Promise<void>;
55
53
  onDragEnd?: (gridViewElement: GridViewElement<any>, event: TouchEvent | DragEvent) => void;
@@ -4,7 +4,7 @@ import { MessageHandler } from '../../../packages/common/src/utils/message-handl
4
4
  import { Store } from 'vuex';
5
5
  import { StoreState } from '../../common/store';
6
6
  import { Nullable } from '../../common/utils/types';
7
- import { RoomleConfiguratorType, RoomlePlannerWithExtObjs } from '@roomle/web-sdk/typings/external-objects';
7
+ import { ExtObjId, RoomleConfiguratorType, RoomlePlannerWithExtObjs } from '@roomle/web-sdk/typings/external-objects';
8
8
  import { Analytics } from '../../common/plugins/analytics';
9
9
  import { default as RoomleGLBViewer } from '@roomle/web-sdk/glb-viewer-core/src/roomle-glb-viewer';
10
10
  import { GlobalCallback } from '@roomle/web-sdk/common-core/src/services/global-callback';
@@ -18,6 +18,7 @@ import { DragInOptions } from '../../../packages/embedding-lib/src/plugins/types
18
18
  import { CustomViewSettingsForIframe, PossibleCustomViews } from './types';
19
19
  import { default as RapiAccess } from '@roomle/web-sdk/common-core/src/rapi-access';
20
20
  import { ID_TYPE } from '@roomle/web-sdk/planner-core/src/roomle-planner';
21
+ import { RapiId } from '@roomle/web-sdk/typings/rapi-types';
21
22
 
22
23
  export declare class ExposedApi {
23
24
  private _sdk;
@@ -189,4 +190,12 @@ export declare class ExposedApi {
189
190
  private _websiteReady;
190
191
  private _handleMessage;
191
192
  private _forwardSdkCallbacks;
193
+ /**
194
+ *
195
+ * Inserts an object into the plan or swapped an object with an existing object in the plan.
196
+ * If an object in the scene is selected and the swap action is enabled, the selected object is replaced with the new object.
197
+ * If no object is selected or the swap action is disabled, the new object is simply inserted into the scene.
198
+ * @param objectId of the object being inserted or swapped
199
+ */
200
+ insertOrSwapObject(objectId: RapiId | ExtObjId): Promise<void>;
192
201
  }
@@ -23,7 +23,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
23
23
  }, {
24
24
  scalingDirection: number;
25
25
  }, {}, {
26
- changeScalingDirection(activeSwitch: number): Promise<void>;
26
+ changeScalingDirection(): Promise<void>;
27
27
  setElementLength(value: string): void;
28
28
  }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
29
29
  onSetElementLength: {
@@ -43,40 +43,84 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
43
43
  required: true;
44
44
  };
45
45
  }>> & Readonly<{}>, {}, {}, {
46
- SwitchButton: {
47
- new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
48
- switch?: (clickedOption: 1 | 2) => void;
49
- initialActive?: number;
50
- hasIcons?: boolean;
51
- }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
52
- P: {};
53
- B: {};
54
- D: {};
55
- C: {};
56
- M: {};
57
- Defaults: {};
58
- }, Readonly<{
59
- switch?: (clickedOption: 1 | 2) => void;
60
- initialActive?: number;
61
- hasIcons?: boolean;
62
- }> & Readonly<{}>, {}, {}, {}, {}, {}>;
63
- __isFragment?: never;
64
- __isTeleport?: never;
65
- __isSuspense?: never;
66
- } & import('vue').ComponentOptionsBase<Readonly<{
67
- switch?: (clickedOption: 1 | 2) => void;
68
- initialActive?: number;
69
- hasIcons?: boolean;
70
- }> & Readonly<{}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, {}, {}, string, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, import('vue').ComponentProvideOptions> & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps & (new () => {
71
- $slots: {
72
- firstOption?(_: {
73
- active: boolean;
74
- }): any;
75
- secondOption?(_: {
76
- active: boolean;
77
- }): any;
78
- };
79
- });
46
+ RadioToggle: <T>(__VLS_props: {
47
+ size?: string;
48
+ circle?: boolean;
49
+ value: T;
50
+ onChange?: (value: T) => void;
51
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, __VLS_ctx?: {
52
+ slots: {
53
+ default?(_: {}): any;
54
+ };
55
+ attrs: any;
56
+ emit: {};
57
+ }, __VLS_expose?: (exposed: import('vue').ShallowUnwrapRef<{}>) => void, __VLS_setup?: Promise<{
58
+ props: {
59
+ size?: string;
60
+ circle?: boolean;
61
+ value: T;
62
+ onChange?: (value: T) => void;
63
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
64
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
65
+ attrs: any;
66
+ slots: {
67
+ default?(_: {}): any;
68
+ };
69
+ emit: {};
70
+ }>) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
71
+ [key: string]: any;
72
+ }> & {
73
+ __ctx?: {
74
+ props: {
75
+ size?: string;
76
+ circle?: boolean;
77
+ value: T;
78
+ onChange?: (value: T) => void;
79
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
80
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
81
+ attrs: any;
82
+ slots: {
83
+ default?(_: {}): any;
84
+ };
85
+ emit: {};
86
+ };
87
+ };
88
+ RadioOption: <T_1>(__VLS_props: {
89
+ value: T_1;
90
+ circle?: boolean;
91
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, __VLS_ctx?: {
92
+ slots: {
93
+ default?(_: {}): any;
94
+ };
95
+ attrs: any;
96
+ emit: {};
97
+ }, __VLS_expose?: (exposed: import('vue').ShallowUnwrapRef<{}>) => void, __VLS_setup?: Promise<{
98
+ props: {
99
+ value: T_1;
100
+ circle?: boolean;
101
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
102
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
103
+ attrs: any;
104
+ slots: {
105
+ default?(_: {}): any;
106
+ };
107
+ emit: {};
108
+ }>) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
109
+ [key: string]: any;
110
+ }> & {
111
+ __ctx?: {
112
+ props: {
113
+ value: T_1;
114
+ circle?: boolean;
115
+ } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps;
116
+ expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
117
+ attrs: any;
118
+ slots: {
119
+ default?(_: {}): any;
120
+ };
121
+ emit: {};
122
+ };
123
+ };
80
124
  SvgIcon: import('vue').DefineComponent<{
81
125
  icon: string;
82
126
  }, {
@@ -6,6 +6,7 @@ declare const _default: import('vue').DefineComponent<{
6
6
  changeUnit?: (activeSwitch: number) => void;
7
7
  activeSwitch?: number;
8
8
  label?: string;
9
+ circle?: boolean;
9
10
  }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{
10
11
  firstIcon?: string;
11
12
  secondIcon?: string;
@@ -14,5 +15,6 @@ declare const _default: import('vue').DefineComponent<{
14
15
  changeUnit?: (activeSwitch: number) => void;
15
16
  activeSwitch?: number;
16
17
  label?: string;
18
+ circle?: boolean;
17
19
  }> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
18
20
  export default _default;