@roomle/embedding-lib 4.35.0 → 4.38.0

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 (33) hide show
  1. package/docs/api/classes/exposed_analytics_callbacks.ExposedAnalyticsCallbacks.md +1 -1
  2. package/docs/api/classes/exposed_api.ExposedApi.md +11 -11
  3. package/docs/api/classes/exposed_callbacks.ExposedCallbacks.md +31 -7
  4. package/docs/api/classes/roomle_configurator_api.default.md +9 -9
  5. package/docs/api/enums/types.UI_BUTTON.md +22 -22
  6. package/docs/api/interfaces/exposed_callbacks.Labels.md +2 -2
  7. package/docs/api/interfaces/exposed_callbacks.Price.md +2 -2
  8. package/docs/api/interfaces/roomle_configurator_api.RoomleEmbeddingApiKeys.md +4 -4
  9. package/docs/api/interfaces/types.ConfiguratorSettings.md +5 -5
  10. package/docs/api/interfaces/types.EmbeddingSkin.md +5 -5
  11. package/docs/api/interfaces/types.UiInitData.md +16 -16
  12. package/docs/api/modules/roomle_configurator_api.md +3 -3
  13. package/docs/examples/11_light_settings.html +1 -0
  14. package/docs/index.md +2 -1
  15. package/docs/md/web/ui/EMBEDDING-CHANGELOG.md +37 -32
  16. package/package.json +2 -2
  17. package/types/index.d.ts +36 -23
  18. package/types/src/common/business-logic/connector.d.ts +8 -0
  19. package/types/src/common/store/index.d.ts +0 -1
  20. package/types/src/common/utils/touch-drag.d.ts +10 -6
  21. package/types/src/configurator/business-logic/roomle-sdk-wrapper.d.ts +2 -0
  22. package/types/src/configurator/business-logic/sdk-connector-configurator.d.ts +3 -5
  23. package/types/src/configurator/business-logic/sdk-connector.d.ts +4 -7
  24. package/types/src/configurator/embedding/exposed-api.d.ts +2 -1
  25. package/types/src/configurator/embedding/exposed-callbacks.d.ts +7 -1
  26. package/types/src/planner/business-logic/sdk-connector-planner.d.ts +3 -3
  27. package/types/src/planner/store/planner-ui-state.d.ts +3 -2
  28. package/types/src/planner/utils/planner-sidebar.d.ts +0 -1
  29. package/types/src/viewer/business-logic/sdk-connector-viewer.d.ts +2 -2
  30. package/types/tests/helpers/data/part-list.d.ts +16 -0
  31. package/types/tests/integration/{configurator → common}/components/BottomBar.spec.d.ts +0 -0
  32. package/types/tests/integration/planner/components/{BottomBar.spec.d.ts → PlannerSidebar.spec.d.ts} +0 -0
  33. package/types/tests/integration/planner/components/SelectionPreview.spec.d.ts +1 -0
@@ -18,6 +18,7 @@ import { RapiConfigurationEnhanced, RapiPlan } from '@roomle/web-sdk/lib/definit
18
18
  import RoomleConfigurator from '@roomle/web-sdk/lib/definitions/configurator-core/src/roomle-configurator';
19
19
  import { UiCallbacks } from '@/configurator/business-logic/ui-callback';
20
20
  import { Base64Image } from '@roomle/web-sdk/lib/definitions/common-core/src/common-interfaces';
21
+ import RoomlePlannerUiCallback from '@roomle/web-sdk/lib/definitions/planner-core/src/roomle-planner-ui-callback';
21
22
  export declare enum SDK_MODULES {
22
23
  VIEWER = 0,
23
24
  CONFIGURATOR = 1,
@@ -34,11 +35,8 @@ export interface PartlistResponse {
34
35
  partList: KernelPartList;
35
36
  }
36
37
  export declare const getSelectableEntry: (selected: Selectable, data: Selectable[]) => Nullable<Selectable>;
37
- export declare const REGISTERED_CALLBACKS: Map<keyof ConfiguratorUiCallbacks, boolean>;
38
- export interface Connector {
39
- readonly api: any;
40
- init(sdkWrapper: RoomleSdkWrapper, element: HTMLElement, initData: UiInitData): Promise<void>;
41
- }
38
+ export declare const REGISTERED_CALLBACKS: Map<keyof CallbackApi, boolean>;
39
+ export declare type CallbackApi = ConfiguratorUiCallbacks & RoomlePlannerUiCallback;
42
40
  export declare class SdkConnector {
43
41
  protected loadInProgress: boolean;
44
42
  protected someLoadDone: boolean;
@@ -98,8 +96,7 @@ export declare class SdkConnector {
98
96
  }): Promise<null>;
99
97
  loadConfiguration(configurationId: string, initData?: UiInitData | undefined): Promise<Nullable<LoadResponse>>;
100
98
  loadComponent(componentId: string, initData?: UiInitData | undefined): Promise<Nullable<LoadResponse>>;
101
- loadSelectedPlanObject(): Promise<Nullable<LoadResponse>>;
102
- loadPlanObjectId(configurationId: string, planObjectId: number): Promise<Nullable<LoadResponse>>;
99
+ loadSelectedPlanObject(): Promise<void>;
103
100
  loadConfigurationString(configurationString: string, initData?: UiInitData | undefined): Promise<Nullable<LoadResponse>>;
104
101
  loadConfigurableItem(configurableItemId: string, initData?: UiInitData | undefined): Promise<Nullable<LoadResponse>>;
105
102
  isIdAGlb(id: string): Promise<boolean>;
@@ -7,9 +7,9 @@ import { StoreState } from '@/common/store';
7
7
  import { Nullable } from '@/common/utils/types';
8
8
  import { Analytics } from '@/common/plugins/analytics';
9
9
  import RoomleGLBViewer from '@roomle/web-sdk/lib/definitions/glb-viewer-core/src/roomle-glb-viewer';
10
- import RoomlePlanner from '@roomle/web-sdk/lib/definitions/planner-core/src/roomle-planner';
11
10
  import { GlobalCallback } from '@roomle/web-sdk/lib/definitions/common-core/src/services/global-callback';
12
11
  import { Position3 } from '@roomle/web-sdk/lib/definitions/common-core/src/common-interfaces';
12
+ import RoomlePlanner from '@roomle/web-sdk/lib/definitions/planner-core/src/roomle-planner';
13
13
  export declare class ExposedApi {
14
14
  private _sdk;
15
15
  private _exposedCallbacks;
@@ -87,4 +87,5 @@ export declare class ExposedApi {
87
87
  private _websiteReady;
88
88
  private _handleMessage;
89
89
  private _forwardSdkCallbacks;
90
+ private _instanceOfRoomlePlanner;
90
91
  }
@@ -1,5 +1,5 @@
1
1
  import { Base64Image } from '@roomle/web-sdk/lib/definitions/common-core/src/common-interfaces';
2
- import { KernelPartList } from '@roomle/web-sdk/lib/definitions/typings/kernel';
2
+ import { KernelPartList, UiPlanObject } from '@roomle/web-sdk/lib/definitions/typings/kernel';
3
3
  import { RapiConfigurationEnhanced } from '@roomle/web-sdk/lib/definitions/typings/rapi-types';
4
4
  import { UI_BUTTON } from '@/configurator/embedding/types';
5
5
  import { Nullable } from '@/common/utils/types';
@@ -37,4 +37,10 @@ export declare class ExposedCallbacks {
37
37
  */
38
38
  onButtonClicked: (name: UI_BUTTON) => Promise<boolean> | boolean | void;
39
39
  onRequestPlan: (planId: string, image: Base64Image, items: any[]) => void;
40
+ /**
41
+ * Gets called if a plan object gets added, changed or removed
42
+ * Only the move of plan object does NOT trigger this function
43
+ * @param objects
44
+ */
45
+ onPlanUpdate: (objects: UiPlanObject[]) => void;
40
46
  }
@@ -1,4 +1,3 @@
1
- import { Connector } from '@/configurator/business-logic/sdk-connector';
2
1
  import { Nullable } from '@/common/utils/types';
3
2
  import { Store } from 'vuex';
4
3
  import { StoreState } from '@/common/store';
@@ -8,7 +7,8 @@ import { UiInitData } from '@/configurator/embedding/types';
8
7
  import RoomlePlanner from '@roomle/web-sdk/lib/definitions/planner-core/src/roomle-planner';
9
8
  import { RapiId, RapiPlan } from '@roomle/web-sdk/lib/definitions/typings/rapi-types';
10
9
  import { Base64Image } from '@roomle/web-sdk/lib/definitions/common-core/src/common-interfaces';
11
- export declare class SdkConnectorPlanner implements Connector {
10
+ import { Connector } from '@/common/business-logic/connector';
11
+ export declare class SdkConnectorPlanner extends Connector {
12
12
  private _planner;
13
13
  private _initWaiters;
14
14
  private _store;
@@ -19,7 +19,7 @@ export declare class SdkConnectorPlanner implements Connector {
19
19
  constructor(store: Store<StoreState>, analytics?: Nullable<Analytics>);
20
20
  get api(): Promise<RoomlePlanner>;
21
21
  init(sdkWrapper: RoomleSdkWrapper, element: HTMLElement, initData: UiInitData): Promise<void>;
22
- initPlanner(planner: RoomlePlanner): void;
22
+ initPlanner(planner: RoomlePlanner): Promise<void>;
23
23
  loadPlan(id: RapiId): Promise<void>;
24
24
  loadPlanBasedOnObjectId(id: RapiId): Promise<void>;
25
25
  onSelectionCancel(): void;
@@ -18,7 +18,6 @@ export interface PlannerUiState extends SharedUiState {
18
18
  lastWalls: KernelWall[];
19
19
  }
20
20
  export declare enum PLANNER_UI_STATE_MUTATIONS {
21
- SET_SELECTION_PAYLOAD = "PLANNER_UI_STATE_setSelectionPayload",
22
21
  SET_SELECTION = "PLANNER_UI_STATE_setSelection",
23
22
  SET_IS_LANDSCAPE = "PLANNER_UI_STATE_setIsLandscape",
24
23
  SET_INTERACTIONS_EXPANDED = "PLANNER_UI_STATE_setInteractionsExpanded",
@@ -40,7 +39,9 @@ export declare enum PLANNER_UI_STATE_MUTATIONS {
40
39
  export declare enum PLANNER_UI_STATE_ACTIONS {
41
40
  SELECT_VIEW_MODE = "PLANNER_UI_STATE_SELECT_VIEW_MODE",
42
41
  SET_INTERACTIONS_EXPANDED = "PLANNER_UI_STATE_SET_INTERACTIONS_EXPANDED",
43
- DESELECT_SIDEBAR_ACTION_BUTTONS = "DESELECT_SIDEBAR_ACTION_BUTTONS"
42
+ DESELECT_SIDEBAR_ACTION_BUTTONS = "DESELECT_SIDEBAR_ACTION_BUTTONS",
43
+ CLEAR_AND_CLOSE_SIDEBAR = "CLEAR_AND_CLOSE_SIDEBAR",
44
+ SET_SELECTION_PAYLOAD = "PLANNER_UI_STATE_setSelectionPayload"
44
45
  }
45
46
  export declare enum PLANNER_UI_STATE_GETTERS {
46
47
  CATALOG_ROOT_TAG = "PLANNER_UI_STATE_CATALOG_ROOT_TAG",
@@ -4,7 +4,6 @@ import { StoreState } from '@/common/store';
4
4
  import { SdkConnector } from '@/configurator/business-logic/sdk-connector';
5
5
  import { RapiConfiguration, RapiItem } from '@roomle/web-sdk/lib/definitions/typings/rapi-types';
6
6
  export interface PlannerSidebarState {
7
- welcome: boolean;
8
7
  catalog: boolean;
9
8
  productList: boolean;
10
9
  partList: boolean;
@@ -1,4 +1,3 @@
1
- import { Connector } from '@/configurator/business-logic/sdk-connector';
2
1
  import { Nullable } from '@/common/utils/types';
3
2
  import { Store } from 'vuex';
4
3
  import { StoreState } from '@/common/store';
@@ -6,7 +5,8 @@ import { Analytics } from '@/common/plugins/analytics';
6
5
  import { RoomleSdkWrapper } from '@/configurator/business-logic/roomle-sdk-wrapper';
7
6
  import { UiInitData } from '@/configurator/embedding/types';
8
7
  import RoomleGLBViewer from '@roomle/web-sdk/lib/definitions/glb-viewer-core/src/roomle-glb-viewer';
9
- export declare class SdkConnectorViewer implements Connector {
8
+ import { Connector } from '@/common/business-logic/connector';
9
+ export declare class SdkConnectorViewer extends Connector {
10
10
  private _viewer;
11
11
  private _initWaiters;
12
12
  private _store;
@@ -108,3 +108,19 @@ export declare const USM_PART_LIST: ({
108
108
  currencySymbol: null;
109
109
  parameters: never[];
110
110
  })[];
111
+ export declare const PART_LABEL_TESTING: {
112
+ id: string;
113
+ parameters: {
114
+ key: string;
115
+ label: string;
116
+ type: string;
117
+ enabled: boolean;
118
+ visible: boolean;
119
+ visibleInPartList: boolean;
120
+ value: string;
121
+ valueLabel: string;
122
+ valueObjects: {
123
+ value: boolean;
124
+ }[];
125
+ }[];
126
+ };