@roomle/embedding-lib 4.34.0 → 4.37.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 (36) 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 +7 -7
  4. package/docs/api/classes/roomle_configurator_api.default.md +9 -9
  5. package/docs/api/enums/types.UI_BUTTON.md +32 -21
  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 +17 -16
  12. package/docs/api/modules/roomle_configurator_api.md +3 -3
  13. package/docs/md/web/ui/EMBEDDING-CHANGELOG.md +2 -35
  14. package/package.json +2 -2
  15. package/types/index.d.ts +94 -66
  16. package/types/src/common/business-logic/event-bus.d.ts +5 -0
  17. package/types/src/{configurator → common}/components/collection-view/-utils/types.d.ts +0 -0
  18. package/types/src/common/store/collection-view-state.d.ts +3 -2
  19. package/types/src/common/store/index.d.ts +5 -1
  20. package/types/src/common/utils/parameters.d.ts +2 -2
  21. package/types/src/common/utils/touch-drag.d.ts +8 -9
  22. package/types/src/common/utils/types.d.ts +2 -0
  23. package/types/src/configurator/embedding/types.d.ts +3 -1
  24. package/types/src/planner/business-logic/rooms.d.ts +1 -1
  25. package/types/src/planner/store/planner-core-data.d.ts +1 -1
  26. package/types/src/planner/store/planner-ui-state.d.ts +13 -5
  27. package/types/src/planner/utils/{product-list.d.ts → planner-sidebar.d.ts} +11 -0
  28. package/types/tests/helpers/data/items.d.ts +90 -0
  29. package/types/tests/helpers/data/plan.d.ts +224 -0
  30. package/types/tests/helpers/mocks/store.d.ts +2 -1
  31. package/types/tests/integration/common/components/{ProductButtons.spec.d.ts → BottomButtons.spec.d.ts} +0 -0
  32. package/types/tests/integration/{configurator/components/overlays → common/components/part-list}/part-list/PartListPrint.spec.d.ts +0 -0
  33. package/types/tests/integration/{configurator/components/overlays → common/components/part-list}/part-list/PartListRow.spec.d.ts +0 -0
  34. package/types/tests/integration/configurator/components/overlays/PartList.spec.d.ts +1 -0
  35. package/types/tests/integration/planner/components/SelectionPreview.spec.d.ts +1 -0
  36. package/types/tests/unit/common/business-logic/event-bus.spec.d.ts +1 -0
@@ -4,15 +4,18 @@ import { Nullable } from '@/common/utils/types';
4
4
  import { SelectionPayload } from '@roomle/web-sdk/lib/definitions/planner-core/src/roomle-planner-ui-callback';
5
5
  import { BUTTON_ACTIONS } from '@/configurator/store/ui-state';
6
6
  import { RapiTagForUi } from '@roomle/web-sdk/lib/definitions/typings/rapi-types';
7
+ import { PlannerSidebarState } from '@/planner/utils/planner-sidebar';
8
+ import { KernelWall } from '@roomle/web-sdk/lib/definitions/typings/planner';
7
9
  declare type SelectionType = 'static' | 'configuration';
8
10
  export interface PlannerUiState extends SharedUiState {
9
11
  selection: Nullable<SelectionType>;
10
12
  selectionPayload: Nullable<SelectionPayload>;
11
- showCatalog: boolean;
12
13
  isDrag: boolean;
13
14
  catalogTags: Nullable<RapiTagForUi[]>;
14
15
  actionMenuExpanded: boolean;
15
16
  selectedActions: BUTTON_ACTIONS[];
17
+ stackViewStack: PlannerSidebarState[];
18
+ lastWalls: KernelWall[];
16
19
  }
17
20
  export declare enum PLANNER_UI_STATE_MUTATIONS {
18
21
  SET_SELECTION_PAYLOAD = "PLANNER_UI_STATE_setSelectionPayload",
@@ -22,24 +25,29 @@ export declare enum PLANNER_UI_STATE_MUTATIONS {
22
25
  SET_IS_FULLSCREEN = "PLANNER_UI_STATE_setIsFullscreen",
23
26
  SET_IS_DESKTOP = "PLANNER_UI_STATE_setIsDesktop",
24
27
  SET_LAST_REGULAR_VIEW_MODE = "PLANNER_UI_STATE_SET_LAST_REGULAR_VIEW_MODE",
25
- SET_SHOW_CATALOG = "PLANNER_UI_STATE_SET_SHOW_CATALOG",
26
28
  SET_CATALOG_ROOT_TAG = "PLANNER_UI_STATE_SET_CATALOG_ROOT_TAG",
27
29
  SET_IS_DRAG = "SET_IS_DRAG",
28
30
  SET_ACTION_SELECTED = "SET_ACTION_SELECTED",
29
31
  SET_ACTION_DESELECTED = "SET_ACTION_DESELECTED",
30
32
  SET_ACTION_MENU_EXPANDED = "SET_ACTION_MENU_EXPANDED",
31
33
  SET_TOPBAR_ACTION_SELECTED = "SET_TOPBAR_ACTION_SELECTED",
32
- SET_TOPBAR_ACTION_DESELECTED = "SET_TOPBAR_ACTION_DESELECTED"
34
+ SET_TOPBAR_ACTION_DESELECTED = "SET_TOPBAR_ACTION_DESELECTED",
35
+ PUSH_SIDEBAR_VIEW = "PUSH_SIDEBAR_VIEW",
36
+ POP_SIDEBAR_VIEW = "POP_SIDEBAR_VIEW",
37
+ CLEAR_SIDEBAR = "CLEAR_SIDEBAR",
38
+ SET_LAST_WALLS = "SET_LAST_WALLS"
33
39
  }
34
40
  export declare enum PLANNER_UI_STATE_ACTIONS {
35
41
  SELECT_VIEW_MODE = "PLANNER_UI_STATE_SELECT_VIEW_MODE",
36
- SET_INTERACTIONS_EXPANDED = "PLANNER_UI_STATE_SET_INTERACTIONS_EXPANDED"
42
+ SET_INTERACTIONS_EXPANDED = "PLANNER_UI_STATE_SET_INTERACTIONS_EXPANDED",
43
+ DESELECT_SIDEBAR_ACTION_BUTTONS = "DESELECT_SIDEBAR_ACTION_BUTTONS"
37
44
  }
38
45
  export declare enum PLANNER_UI_STATE_GETTERS {
39
46
  CATALOG_ROOT_TAG = "PLANNER_UI_STATE_CATALOG_ROOT_TAG",
40
47
  SELECTED_ITEM_PAYLOAD = "PLANNER_UI_STATE_SELECTED_ITEM_PAYLOAD",
41
48
  PART_LIST_PLANNER_SHOWN = "PART_LIST_PLANNER_SHOWN",
42
- PRODUCT_LIST_SHOWN = "PRODUCT_LIST_SHOWN"
49
+ PRODUCT_LIST_SHOWN = "PRODUCT_LIST_SHOWN",
50
+ LAST_OF_STACK_VIEW_STACK = "LAST_OF_STACK_VIEW_STACK"
43
51
  }
44
52
  export declare const plannerUiState: Module<PlannerUiState, StoreState>;
45
53
  export {};
@@ -3,8 +3,19 @@ import { Store } from 'vuex';
3
3
  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
+ export interface PlannerSidebarState {
7
+ welcome: boolean;
8
+ catalog: boolean;
9
+ productList: boolean;
10
+ partList: boolean;
11
+ sampleRooms: boolean;
12
+ selectionDetail: boolean;
13
+ mobileExpanded: boolean;
14
+ [key: string]: boolean;
15
+ }
6
16
  export interface ProductListItem extends UiPlanObject {
7
17
  quantity: number;
8
18
  }
19
+ export declare const initialPlannerSidebarState: PlannerSidebarState;
9
20
  export declare const matchProductListAndQuantity: (productList: UiPlanObject[]) => ProductListItem[];
10
21
  export declare const fillPartList: (data: RapiItem | RapiConfiguration, partList: KernelPartList, hash: string, sdkConnector: SdkConnector, store: Store<StoreState>) => Promise<void>;
@@ -87,6 +87,96 @@ export declare const MOCK_RAPI_ITEM: {
87
87
  version: number;
88
88
  };
89
89
  };
90
+ export declare const MOCK_RAPI_ITEM_CONFIGURATION: {
91
+ item: {
92
+ height: number;
93
+ width: number;
94
+ depth: number;
95
+ displayedHeight: number;
96
+ displayedWidth: number;
97
+ displayedDepth: number;
98
+ perspectiveImage: string;
99
+ perspectiveImageHD: string;
100
+ topImage: string;
101
+ threeDimensionalAssetWeb: string;
102
+ threeDimensionalAssetIOS: string;
103
+ threeDimensionalAsset: string;
104
+ configuration: string;
105
+ assets: {
106
+ 'unity-13-web': {
107
+ format: string;
108
+ url: string;
109
+ };
110
+ usdz: {
111
+ format: string;
112
+ url: string;
113
+ };
114
+ 'glb2_draft-ios': {
115
+ format: string;
116
+ url: string;
117
+ };
118
+ 'unity-13-mac': {
119
+ format: string;
120
+ url: string;
121
+ };
122
+ 'glb2_draft-and': {
123
+ format: string;
124
+ url: string;
125
+ };
126
+ src: {
127
+ format: string;
128
+ url: string;
129
+ };
130
+ 'unity-13-ios': {
131
+ format: string;
132
+ url: string;
133
+ };
134
+ blend: {
135
+ format: string;
136
+ url: string;
137
+ };
138
+ 'glb2_draft-web': {
139
+ format: string;
140
+ url: string;
141
+ };
142
+ 'unity-13-and': {
143
+ format: string;
144
+ url: string;
145
+ };
146
+ glb: {
147
+ format: string;
148
+ url: string;
149
+ };
150
+ };
151
+ externalIdentifier: string;
152
+ manufacturerSKU: string;
153
+ hidden: boolean;
154
+ visibilityStatus: number;
155
+ created: string;
156
+ updated: string;
157
+ flipable: boolean;
158
+ scaleable: boolean;
159
+ colorable: boolean;
160
+ layer: number;
161
+ sort: number;
162
+ basecolor: string;
163
+ orderable: boolean;
164
+ requestable: boolean;
165
+ retailPriceAllowed: boolean;
166
+ label: string;
167
+ language: string;
168
+ catalog: string;
169
+ id: string;
170
+ links: {
171
+ tags: string;
172
+ similarItems: string;
173
+ perfectFit: string;
174
+ additionalContents: string;
175
+ };
176
+ attributes: never[];
177
+ version: number;
178
+ };
179
+ };
90
180
  export declare const MOCK_RAPI_CONFIGURATION: {
91
181
  configuration: {
92
182
  assets: {
@@ -0,0 +1,224 @@
1
+ export declare const PLAN_OVERVIEW: {
2
+ area: number;
3
+ bounds: {
4
+ origin: {
5
+ x: number;
6
+ y: number;
7
+ z: number;
8
+ };
9
+ size: {
10
+ x: number;
11
+ y: number;
12
+ z: number;
13
+ };
14
+ };
15
+ outsideWalls: never[];
16
+ rooms: never[];
17
+ objects: {
18
+ dimensions: {
19
+ x: number;
20
+ y: number;
21
+ z: number;
22
+ };
23
+ center: {
24
+ x: number;
25
+ y: number;
26
+ z: number;
27
+ };
28
+ customColor: number;
29
+ rotation: number;
30
+ customLabel: null;
31
+ catalogItemId: string;
32
+ configuration: string;
33
+ configurationHash: string;
34
+ parts: {
35
+ fullList: ({
36
+ articleNr: string;
37
+ componentId: string;
38
+ componentRuntimeIds: number[];
39
+ subpartId: number;
40
+ hasGeometry: boolean;
41
+ label: string;
42
+ labelIsCalculated: boolean;
43
+ count: number;
44
+ packageSize: number;
45
+ valid: boolean;
46
+ price: number;
47
+ retailerPrice: number;
48
+ currencySymbol: string;
49
+ parameters: ({
50
+ key: string;
51
+ label: string;
52
+ type: string;
53
+ unitType: string;
54
+ value: string;
55
+ valueLabel: string;
56
+ valueThumbnail: null;
57
+ sort: number;
58
+ } | {
59
+ key: string;
60
+ label: string;
61
+ type: string;
62
+ unitType: null;
63
+ value: string;
64
+ valueLabel: null;
65
+ valueThumbnail: null;
66
+ sort: number;
67
+ } | {
68
+ key: string;
69
+ label: null;
70
+ type: string;
71
+ unitType: null;
72
+ value: string;
73
+ valueLabel: null;
74
+ valueThumbnail: null;
75
+ sort: number;
76
+ })[];
77
+ } | {
78
+ articleNr: string;
79
+ componentId: string;
80
+ componentRuntimeIds: number[];
81
+ subpartId: number;
82
+ hasGeometry: boolean;
83
+ label: string;
84
+ labelIsCalculated: boolean;
85
+ count: number;
86
+ packageSize: number;
87
+ valid: boolean;
88
+ price: number;
89
+ retailerPrice: number;
90
+ currencySymbol: null;
91
+ parameters: never[];
92
+ })[];
93
+ perMainComponent: {
94
+ fullList: ({
95
+ articleNr: string;
96
+ componentId: string;
97
+ componentRuntimeIds: number[];
98
+ subpartId: number;
99
+ hasGeometry: boolean;
100
+ label: string;
101
+ labelIsCalculated: boolean;
102
+ count: number;
103
+ packageSize: number;
104
+ valid: boolean;
105
+ price: number;
106
+ retailerPrice: number;
107
+ currencySymbol: string;
108
+ parameters: ({
109
+ key: string;
110
+ label: string;
111
+ type: string;
112
+ unitType: string;
113
+ value: string;
114
+ valueLabel: string;
115
+ valueThumbnail: null;
116
+ sort: number;
117
+ } | {
118
+ key: string;
119
+ label: string;
120
+ type: string;
121
+ unitType: null;
122
+ value: string;
123
+ valueLabel: null;
124
+ valueThumbnail: null;
125
+ sort: number;
126
+ } | {
127
+ key: string;
128
+ label: null;
129
+ type: string;
130
+ unitType: null;
131
+ value: string;
132
+ valueLabel: null;
133
+ valueThumbnail: null;
134
+ sort: number;
135
+ })[];
136
+ } | {
137
+ articleNr: string;
138
+ componentId: string;
139
+ componentRuntimeIds: number[];
140
+ subpartId: number;
141
+ hasGeometry: boolean;
142
+ label: string;
143
+ labelIsCalculated: boolean;
144
+ count: number;
145
+ packageSize: number;
146
+ valid: boolean;
147
+ price: number;
148
+ retailerPrice: number;
149
+ currencySymbol: null;
150
+ parameters: never[];
151
+ })[];
152
+ perMainComponent: never[];
153
+ originPart: {
154
+ articleNr: null;
155
+ componentId: string;
156
+ componentRuntimeIds: number[];
157
+ subpartId: number;
158
+ hasGeometry: boolean;
159
+ label: string;
160
+ labelIsCalculated: boolean;
161
+ count: number;
162
+ packageSize: number;
163
+ valid: boolean;
164
+ price: number;
165
+ retailerPrice: number;
166
+ currencySymbol: null;
167
+ parameters: ({
168
+ key: string;
169
+ label: string;
170
+ type: string;
171
+ unitType: null;
172
+ value: string;
173
+ valueLabel: string;
174
+ valueThumbnail: string;
175
+ sort: number;
176
+ } | {
177
+ key: string;
178
+ label: string;
179
+ type: string;
180
+ unitType: string;
181
+ value: string;
182
+ valueLabel: string;
183
+ valueThumbnail: null;
184
+ sort: number;
185
+ } | {
186
+ key: string;
187
+ label: string;
188
+ type: string;
189
+ unitType: null;
190
+ value: string;
191
+ valueLabel: string;
192
+ valueThumbnail: null;
193
+ sort: number;
194
+ } | {
195
+ key: string;
196
+ label: string;
197
+ type: string;
198
+ unitType: null;
199
+ value: string;
200
+ valueLabel: null;
201
+ valueThumbnail: null;
202
+ sort: number;
203
+ })[];
204
+ };
205
+ }[];
206
+ originPart: {
207
+ articleNr: null;
208
+ componentId: null;
209
+ componentRuntimeIds: never[];
210
+ subpartId: number;
211
+ hasGeometry: boolean;
212
+ label: null;
213
+ labelIsCalculated: boolean;
214
+ count: number;
215
+ packageSize: number;
216
+ valid: boolean;
217
+ price: number;
218
+ retailerPrice: number;
219
+ currencySymbol: null;
220
+ parameters: never[];
221
+ };
222
+ };
223
+ }[];
224
+ };
@@ -1,6 +1,7 @@
1
- export declare const getStoreMock: ({ uiState, plannerUiState, coreData, coreState, commonUiState, }: {
1
+ export declare const getStoreMock: ({ uiState, plannerUiState, plannerCoreData, coreData, coreState, commonUiState, }: {
2
2
  uiState?: object | undefined;
3
3
  plannerUiState?: object | undefined;
4
+ plannerCoreData?: object | undefined;
4
5
  coreData?: object | undefined;
5
6
  coreState?: object | undefined;
6
7
  commonUiState?: object | undefined;