@roomle/embedding-lib 4.38.0 → 4.41.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/__sidebar__.json +14 -0
  2. package/docs/api/classes/exposed_analytics_callbacks.ExposedAnalyticsCallbacks.md +1 -1
  3. package/docs/api/classes/exposed_api.ExposedApi.md +11 -11
  4. package/docs/api/classes/exposed_callbacks.ExposedCallbacks.md +8 -8
  5. package/docs/api/classes/roomle_configurator_api.default.md +9 -9
  6. package/docs/api/enums/types.UI_BUTTON.md +33 -22
  7. package/docs/api/interfaces/exposed_callbacks.Labels.md +2 -2
  8. package/docs/api/interfaces/exposed_callbacks.Price.md +2 -2
  9. package/docs/api/interfaces/roomle_configurator_api.RoomleEmbeddingApiKeys.md +4 -4
  10. package/docs/api/interfaces/types.ConfiguratorSettings.md +5 -5
  11. package/docs/api/interfaces/types.EmbeddingSkin.md +5 -5
  12. package/docs/api/interfaces/types.UiInitData.md +31 -16
  13. package/docs/api/modules/roomle_configurator_api.md +3 -3
  14. package/docs/examples/11_light_settings.html +89 -62
  15. package/docs/examples/roomle-configurator-api.es.min.js +254 -58
  16. package/docs/hsp.md +61 -0
  17. package/docs/integration.md +1101 -0
  18. package/docs/md/web/ui/EMBEDDING-CHANGELOG.md +10 -37
  19. package/docs/migration-guides/v2-to-v3.md +2 -2
  20. package/docs/moc/index.md +86 -0
  21. package/docs/simple.md +1 -1
  22. package/package.json +2 -2
  23. package/types/index.d.ts +18 -6
  24. package/types/src/common/store/collection-view-state.d.ts +8 -3
  25. package/types/src/common/store/common-ui-state.d.ts +1 -1
  26. package/types/src/configurator/embedding/exposed-api.d.ts +0 -1
  27. package/types/src/configurator/embedding/types.d.ts +8 -1
  28. package/types/src/configurator/store/ui-state.d.ts +1 -0
  29. package/types/tests/helpers/dom.d.ts +1 -1
  30. package/types/tests/helpers/mocks/sdk-connector.d.ts +1 -0
  31. package/types/tests/integration/planner/components/utils/sidebar-nav/SidebarNav.spec.d.ts +1 -0
  32. package/types/tests/unit/configurator/components/utils/WordWrap.spec.d.ts +1 -0
  33. package/docs/index.md +0 -847
@@ -1,45 +1,18 @@
1
- ## [4.38.0](https://gitlab.com/roomle/web/roomle-ui/compare/embedding-v4.37.0...embedding-v4.38.0) (2022-07-05)
1
+ ## [4.41.0](https://gitlab.com/roomle/web/roomle-ui/compare/embedding-v4.40.0...embedding-v4.41.0) (2022-08-16)
2
2
 
3
3
 
4
4
  ### Features
5
5
 
6
- * add bottom bar to configurator in moc ([3196aa6](https://gitlab.com/roomle/web/roomle-ui/commit/3196aa6ef73a687637b5f56c2e384db434155b75))
7
- * add call back to exposed api for on plan update ([ca48218](https://gitlab.com/roomle/web/roomle-ui/commit/ca482184ae8caabd6a931c77c2232a0586d7a814))
8
- * add moc docs ([8f8d83f](https://gitlab.com/roomle/web/roomle-ui/commit/8f8d83fb76cc5eaf8afb73cf019e1d699926076e))
9
- * remove welcome page as default sidebar ([048c73e](https://gitlab.com/roomle/web/roomle-ui/commit/048c73e1c9ff68fc63c52bc727c1bf08da2a34c2))
10
- * **SDK:** upgrade SDK to version 2.35.0-alpha.2 ([d307caf](https://gitlab.com/roomle/web/roomle-ui/commit/d307caf01e51c2e236df62d7b9be3feeebef1f87))
11
- * **SDK:** upgrade SDK to version 2.35.0-alpha.3 ([48045c6](https://gitlab.com/roomle/web/roomle-ui/commit/48045c6234b84cb9e1740b97907c3cc09d5c6530))
12
- * **SDK:** upgrade SDK to version 2.35.0-alpha.4 ([6adf875](https://gitlab.com/roomle/web/roomle-ui/commit/6adf8756031b2dbec9e02f88c0a0703ba5f73279))
13
- * **SDK:** upgrade SDK to version 2.35.0-alpha.6 ([b2a6fb9](https://gitlab.com/roomle/web/roomle-ui/commit/b2a6fb9ddbb63866bc086f7661fe3d4af717409e))
14
- * **SDK:** upgrade SDK to version 2.35.0-alpha.9 ([d635fd8](https://gitlab.com/roomle/web/roomle-ui/commit/d635fd86161c24bbe5bb8d24787ad10f43493e3c))
15
- * **SDK:** upgrade to version 2.34.0 ([040fff7](https://gitlab.com/roomle/web/roomle-ui/commit/040fff75928768578a6ce5e7d5fcdef71d103a42))
16
- * **SDK:** upgrade to version 2.35.0-alpha.1 ([c13174a](https://gitlab.com/roomle/web/roomle-ui/commit/c13174afd3c6df810aa2fda8f9c79df5fa14d40b))
17
- * **SDK:** upgrade to version 2.35.0-alpha.2 ([bb7cd51](https://gitlab.com/roomle/web/roomle-ui/commit/bb7cd5198956026c646d2fbafbd96f9c33e3b6e1))
18
- * **SDK:** upgrade to version 2.35.0-alpha.2 ([ee0cfe3](https://gitlab.com/roomle/web/roomle-ui/commit/ee0cfe3630858e8a2eeeff0a9d29afd2646d1e41))
19
- * **SDK:** upgrade to version 2.35.0-alpha.3 ([ca28a34](https://gitlab.com/roomle/web/roomle-ui/commit/ca28a34fcc1614ef007d2d53328f0210c94345e6))
20
- * **SDK:** upgrade to version 2.35.0-alpha.3 ([1a293b0](https://gitlab.com/roomle/web/roomle-ui/commit/1a293b03b9e6c0d624ab2fc35bdba49bc682263f))
21
- * **SDK:** upgrade to version 2.35.0-alpha.5 ([c90d419](https://gitlab.com/roomle/web/roomle-ui/commit/c90d41949df8af6e959ff52ffed8d0a3dda161a6))
6
+ * add new sidebar nav for rooms drawer ([a379743](https://gitlab.com/roomle/web/roomle-ui/commit/a379743b01e1235228c77cbd75f3096020ac1bed))
7
+ * enable vertical AR on Android devices ([e2f3af5](https://gitlab.com/roomle/web/roomle-ui/commit/e2f3af5fbe68247b86ecf5719cb4a963abdd18e2))
8
+ * integrate sonarqube in the Rubens configurator project ([24a8f33](https://gitlab.com/roomle/web/roomle-ui/commit/24a8f33c48e0f7c44b3fe61df758b7079c5087c9))
9
+ * restructure bottom buttons and add 2d and 3d view to top bar ([7898c0b](https://gitlab.com/roomle/web/roomle-ui/commit/7898c0bb409eb1fe34f2feb5cd77e1da28030e99))
10
+ * style room drawer "room shape" register ([b1dba20](https://gitlab.com/roomle/web/roomle-ui/commit/b1dba20b3507ed0434fc260dc5c8eb7c3097f0e8))
11
+ * **SDK:** upgrade to version 2.37.0-alpha.1 ([d73ad76](https://gitlab.com/roomle/web/roomle-ui/commit/d73ad769380c3ca94f8e56e6d05a292b7b782d2b))
22
12
 
23
13
 
24
14
  ### Bug Fixes
25
15
 
26
- * boolean parameters should not show 0/1 ([e7a4700](https://gitlab.com/roomle/web/roomle-ui/commit/e7a4700e0f9a4939b26937772495625616db6a1d))
27
- * change search icon ([cf23443](https://gitlab.com/roomle/web/roomle-ui/commit/cf234432df9da1f1756c298e840ee160c7af9415))
28
- * delete welcome page component ([06fbcd1](https://gitlab.com/roomle/web/roomle-ui/commit/06fbcd116c2648e85f7c3d1dd1c5e1f10cde90b4))
29
- * eslint errors ([5c8ab2a](https://gitlab.com/roomle/web/roomle-ui/commit/5c8ab2affb37a1ab060a3a39a8319f4e4e0d55e7))
30
- * failing pipeline test ([eba9910](https://gitlab.com/roomle/web/roomle-ui/commit/eba9910a2bb9fdcab569d9b2e8cd4c992fcbb55b))
31
- * incorrect isConfiguratorOnly function and failing tests ([33e44a0](https://gitlab.com/roomle/web/roomle-ui/commit/33e44a0c0300e12c96d1d2acef3e532d74f8ceb6))
32
- * incorrect loco translation ([ad0c303](https://gitlab.com/roomle/web/roomle-ui/commit/ad0c303331364014c87ad4426564214727a35e7f))
33
- * Label "object Object" is shown on print for partlist ([c8ee282](https://gitlab.com/roomle/web/roomle-ui/commit/c8ee282ac4aab76ebfe1adda5858e89d6abdba96))
34
- * only call drag end once on mobile ([1764ef6](https://gitlab.com/roomle/web/roomle-ui/commit/1764ef65f716b50d224c105566332e151712bbf8))
35
- * package-lock ([252a7b7](https://gitlab.com/roomle/web/roomle-ui/commit/252a7b7c245d594f1455dc2561e0da338f82f58f))
36
- * package-lock ([a5c99bd](https://gitlab.com/roomle/web/roomle-ui/commit/a5c99bd241833f5fc045128e028eb570c6ba5d44))
37
- * package-lock ([771c03b](https://gitlab.com/roomle/web/roomle-ui/commit/771c03bf69694be0fa982ff5a037c9f9b61c4706))
38
- * package-lock ([70a4c05](https://gitlab.com/roomle/web/roomle-ui/commit/70a4c05aa5850ad0a73f1eff9ebd7e72d2223595))
39
- * remove NSDB symbol ([bc8136b](https://gitlab.com/roomle/web/roomle-ui/commit/bc8136b0601fdd2a38b014b5337ac8ad7295d9a9))
40
- * remove ts error ([bfd5b02](https://gitlab.com/roomle/web/roomle-ui/commit/bfd5b02d7cadd81079ca3b21c62b7bce712dcd49))
41
- * should not close sidebar if change selection ([027fd9f](https://gitlab.com/roomle/web/roomle-ui/commit/027fd9fa9a6b1e10b8196153649d82e536ea9daf))
42
- * sidebar should also close if i deselect a item ([d07a00e](https://gitlab.com/roomle/web/roomle-ui/commit/d07a00e971ccf95a3fbf6bcd8053fff8a571a366))
43
- * sidebar should be opened again after dragged in a object ([ba06ddc](https://gitlab.com/roomle/web/roomle-ui/commit/ba06ddc10bdfef45bd525168fa1a5459ade3795f))
44
- * touch drag should be only triggered if there is not too much x movement ([5a1261e](https://gitlab.com/roomle/web/roomle-ui/commit/5a1261e2680e4c36137005baee8fa699f9d0584e))
45
- * type check on interface RoomlePlanner ([a749571](https://gitlab.com/roomle/web/roomle-ui/commit/a749571339b04599659f9950526d1db323f39a2c))
16
+ * add new word wrap algo for splitting words correctly each line ([a5300e1](https://gitlab.com/roomle/web/roomle-ui/commit/a5300e1dee586a92842a06eb26532004ed137aa3))
17
+ * Prices in configurator not updating when page is translated ([46e2415](https://gitlab.com/roomle/web/roomle-ui/commit/46e24150f775ba7613462d435eea963bd492f5e1))
18
+ * shift has to be used also if word is added to line ([c6a2c8b](https://gitlab.com/roomle/web/roomle-ui/commit/c6a2c8bb42bc52a5a7cc81b43478dd3b765f8795))
@@ -17,7 +17,7 @@ This has some implications:
17
17
 
18
18
  * to create this overlay, the Roomle Configurator has to be in control of all the DOM elements which are needed to expand over the whole page. Therefore things like the footer are now within the iframe and not custom made by the website or webshop. This makes embedding the Roomle Configurator easier because you do not have to wire up all the events and callbacks to create user interface elements like the footer. On the other hand, this also means that old parts of the embedding need to be removed from your website or webshop and re-thought.
19
19
  * also it is important to note that there shouldn't be elements with a higher z-index as the Roomle Configurator because the correct z-indices are needed for the full-page mode.
20
- * there is a back button which closes the full-page mode. If you need to listen to the event when the user clicks the back button this is possible and described in the section [react on button clicks](../index.md#react-on-button-clicks) in the docu.
20
+ * there is a back button which closes the full-page mode. If you need to listen to the event when the user clicks the back button this is possible and described in the section [react on button clicks](../integration.md#react-on-button-clicks) in the docu.
21
21
 
22
22
  With the new version, it is essential that you use the correct `configurator id`. You should get the configurator id from your Roomle contact person. This is important because of two reasons:
23
23
 
@@ -132,4 +132,4 @@ To make the embedding easier we slimmed down the API surface of the configurator
132
132
 
133
133
  We especially simplified the skinning options because we think that the current user interface is very "neutral" and should fit with slight adjustments to most of the websites and webshops out there. If there is a strong demand for huge user interface adjustments and changes we can offer the Roomle Web SDK or forking of the UI repo. If this is really needed please speak with your Roomle contact person.
134
134
 
135
- Because the user interface changed completely it's also a good time to rethink how the Roomle Configurator is embedded into your website or webshop. Therefore we recommend to read through the new docu and explore the new possibilities which the new configurator gives you. You can find the [new docu here](../index.md)
135
+ Because the user interface changed completely it's also a good time to rethink how the Roomle Configurator is embedded into your website or webshop. Therefore we recommend to read through the new docu and explore the new possibilities which the new configurator gives you. You can find the [new docu here](../integration.md)
@@ -0,0 +1,86 @@
1
+ ---
2
+ hide_title: true
3
+ title: "Multi-object Configurator"
4
+ ---
5
+
6
+ # Multi-object Configurator
7
+
8
+ The Multi-object Configurator allows you to configure not only one object but several objects in relation to each other.
9
+
10
+ ## Enable multi-object configuration
11
+
12
+ To enable MoC:
13
+
14
+ - To enable multi-object configuration, you need to add and set the `moc` flag in the `Rubens settings` to true
15
+ ([see Rubens Admin documentation](https://docs.roomle.com/web/datamanagement/administration.html#rubens-settings)).
16
+ When this flag is set, all configurators in the tenant are automatically multi-object configurators.
17
+
18
+ ## Setup the catalog structure
19
+
20
+ To offer a set of products in the MoC they must be stored in a catalog and tagged accordingly.
21
+ To display the products and divide them into categories, the tags must be structured correctly.
22
+
23
+ Each tag can be used as root tag for the MoC.
24
+ A sub-tag must be created for each category and each product that corresponds to this category must be tagged with it.
25
+ The tag structure could then look like this:
26
+
27
+ 1 moc_catalog (root-tag)
28
+ 2 |
29
+ 3 ├── Fences (sub-tag 1)
30
+ 4 |
31
+ 5 ├── Couch Tables (sub-tag 2)
32
+ 6 |
33
+ 7 ├── Outdoor Tables (sub-tag 3)
34
+ 8 |
35
+ 9 └── Sofas (sub-tag 4)
36
+
37
+ Also see Tags documentation: <https://docs.roomle.com/web/datamanagement/catalogs.html#tags>
38
+
39
+ By tagging the products in the catalog, you can add them to the scene by clicking the "Add Product" button.
40
+
41
+ ## Integration
42
+
43
+ To embed or integrate the MoC, the following parameters must be included in the URL
44
+
45
+ - configuratorId: The configurator ID of the tenant where you enabled the MoC
46
+ - catalogRootTag: The tag of the catalog where you stored the products you want to show in the MoC, Alternatively you
47
+ could also set the root-tag ID as catalogRootTag in your Rubens settings.
48
+ - moc: Enable the MoC feature in the Rubens settings or via integration.
49
+
50
+ Also see integration documentation: <https://docs.roomle.com/web/embedding/#embedding-integration>
51
+
52
+ ### Embedding:
53
+
54
+ If you are using the embedding lib you have to call `createPlanner` instead of `create` or `createConfigurator` to load
55
+ a MoC scene.
56
+
57
+ ## Recipes
58
+
59
+ ### Adding items to the scene
60
+
61
+ It’s possible to add additional products/items/configurations to the scene using the `insertObject` API:
62
+
63
+ ```typescript
64
+ await interface.ui.insertObject('usm:frame');
65
+ ```
66
+
67
+ By default the object is placed somewhere where it does not overlap with other items in the scene. You can also supply a
68
+ position and a rotation for the object in the scene:
69
+
70
+ ```typescript
71
+ await interface.ui.insertObject('usm:frame', {x: -3, y: 0, z: 3}, Math.PI);
72
+ ```
73
+
74
+ Position (2nd parameter) is in meters and the rotation (3rd parameter) is in radians.
75
+
76
+ ### Gets called when something is changed in the plan
77
+
78
+ It is possible to implement a behavior which gets called when there is something changed in the plan. It gets all
79
+ objects of the plan as parameter.
80
+
81
+ ```typescript
82
+ interface
83
+
84
+ .
85
+ ui.callbacks.onPlanUpdate = (objects) => doSomething;
86
+ ```
package/docs/simple.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Embedding
2
2
 
3
- To embed Roomle Rubens as an iframe in your website or webshop it is enough to create a link and use this link as a `src` in an iframe. It is important to note that we recommend this typ of integration for static items or very simple use cases. This is due to the fact that this simplistic iframe integration does not communicate anything to your website or webshop. This could become problematic when you want to hand over customized products to the shopping cart. If you need deeper integration you can use our [embedding integration](./index) or even [the Web Sdk](../guides/getting-started/preface) (in case you want to heavily modify our user interface).
3
+ To embed Roomle Rubens as an iframe in your website or webshop it is enough to create a link and use this link as a `src` in an iframe. It is important to note that we recommend this typ of integration for static items or very simple use cases. This is due to the fact that this simplistic iframe integration does not communicate anything to your website or webshop. This could become problematic when you want to hand over customized products to the shopping cart. If you need deeper integration you can use our [embedding integration](./integration) or even [the Web Sdk](../guides/sdk/preface) (in case you want to heavily modify our user interface).
4
4
 
5
5
  ## Questions
6
6
 
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@roomle/embedding-lib",
3
- "version": "4.38.0",
3
+ "version": "4.41.0",
4
4
  "main": "roomle-configurator-api.es.min.js",
5
5
  "types": "types/index.d.ts",
6
6
  "author": "Roomle Development",
7
7
  "dependencies": {
8
- "@roomle/web-sdk": "2.35.0-alpha.9"
8
+ "@roomle/web-sdk": "2.37.0-alpha.1"
9
9
  },
10
10
  "devDependencies": {
11
11
  "@semantic-release/changelog": "^5.0.1",
package/types/index.d.ts CHANGED
@@ -72,7 +72,8 @@ declare module "configurator/embedding/types" {
72
72
  PARTLIST_PLANNER = "partlist_planner",
73
73
  PRODUCTLIST = "productlist",
74
74
  TWO_D_VIEW = "2dview",
75
- ADD_ROOM = "add_room"
75
+ ADD_ROOM = "add_room",
76
+ STARTPLANNER = "startPlanner"
76
77
  }
77
78
  interface FeatureFlags {
78
79
  realPartList?: boolean;
@@ -102,6 +103,7 @@ declare module "configurator/embedding/types" {
102
103
  [UI_BUTTON.TWO_D_VIEW]?: boolean;
103
104
  [UI_BUTTON.PARTLIST_PLANNER]?: boolean;
104
105
  [UI_BUTTON.ADD_ROOM]?: boolean;
106
+ [UI_BUTTON.STARTPLANNER]?: boolean;
105
107
  };
106
108
  skin?: EmbeddingSkin;
107
109
  zIndex?: number;
@@ -179,6 +181,11 @@ declare module "configurator/embedding/types" {
179
181
  * default: true
180
182
  */
181
183
  applyCurrentGlobalParameters?: boolean;
184
+ /**
185
+ * set this flag to true if you want that a user can select more than one material category at once
186
+ * default: false
187
+ */
188
+ materialMultiSelect?: boolean;
182
189
  }
183
190
  export interface EmbeddingSkin {
184
191
  'primary-color'?: string;
@@ -441,7 +448,7 @@ declare module "common/store/common-ui-state" {
441
448
  import { RapiId } from '@roomle/web-sdk/lib/definitions/typings/rapi-types';
442
449
  export interface CommonUiState {
443
450
  isInIframe: boolean;
444
- isViewOnly: boolean;
451
+ isViewOnly: Nullable<boolean>;
445
452
  lastRequestedId: Nullable<RapiId>;
446
453
  }
447
454
  export const initialState: CommonUiState;
@@ -534,11 +541,13 @@ declare module "common/store/collection-view-state" {
534
541
  import { Nullable } from "common/utils/types";
535
542
  import { CollectionViewElement } from "common/components/collection-view/-utils/types";
536
543
  import { StoreState } from "common/store/index";
544
+ export type ViewTypeState = 'listView' | 'gridViewSmall' | 'gridViewBig';
537
545
  export interface GridViewUiState {
538
546
  filter: string[];
539
- showAllAsList: boolean;
540
547
  search: Nullable<string>;
541
548
  userInitiatedSearch: boolean;
549
+ viewType: ViewTypeState;
550
+ hasGroupLabel: boolean;
542
551
  }
543
552
  export interface CollectionViewUiState {
544
553
  selected: Nullable<CollectionViewElement>;
@@ -546,6 +555,7 @@ declare module "common/store/collection-view-state" {
546
555
  gridView: GridViewUiState;
547
556
  }
548
557
  export const getInitialCollectionViewState: () => CollectionViewUiState;
558
+ export const getInitialViewType: () => ViewTypeState;
549
559
  export enum COLLECTION_VIEW_STATE_MUTATIONS {
550
560
  ELEMENT_EXPANDED = "CV_ELEMENT_EXPANDED",
551
561
  SET_SELECTED_ELEMENT = "CV_SET_SELECTED_ELEMENT",
@@ -553,9 +563,11 @@ declare module "common/store/collection-view-state" {
553
563
  }
554
564
  export enum GRID_VIEW_STATE_MUTATIONS {
555
565
  SET_SEARCH = "GV_SET_SEARCH",
556
- TOGGLE_LIST_DISPLAY_TYPE = "GV_TOGGLE_LIST_DISPLAY_TYPE",
557
566
  TOGGLE_FILTER = "GV_TOGGLE_FILTER",
558
- SET_USER_INITIATED_SEARCH = "GV_SET_USER_INITIATED_SEARCH"
567
+ SET_USER_INITIATED_SEARCH = "GV_SET_USER_INITIATED_SEARCH",
568
+ SET_VIEW_TYPE = "SET_VIEW_TYPE",
569
+ SET_HAS_GROUP_LABEL = "SET_HAS_GROUP_LABEL",
570
+ RESET_FILTER = "RESET_FILTER"
559
571
  }
560
572
  interface MuationPayload<T, V> {
561
573
  state: T;
@@ -637,6 +649,7 @@ declare module "configurator/store/ui-state" {
637
649
  redoEnabled: boolean;
638
650
  undoEnabledPlanner: boolean;
639
651
  redoEnabledPlanner: boolean;
652
+ materialMultiSelect: boolean;
640
653
  }
641
654
  export enum UI_STATE_MUTATIONS {
642
655
  SET_SELECTED_GROUP = "setSelectedGroup",
@@ -1326,7 +1339,6 @@ declare module "configurator/embedding/exposed-api" {
1326
1339
  private _websiteReady;
1327
1340
  private _handleMessage;
1328
1341
  private _forwardSdkCallbacks;
1329
- private _instanceOfRoomlePlanner;
1330
1342
  }
1331
1343
  }
1332
1344
  declare module "common/utils/merge" {
@@ -2,11 +2,13 @@ import { Module } from 'vuex';
2
2
  import { Nullable } from '@/common/utils/types';
3
3
  import { CollectionViewElement } from '@/common/components/collection-view/-utils/types';
4
4
  import { StoreState } from '@/common/store';
5
+ export declare type ViewTypeState = 'listView' | 'gridViewSmall' | 'gridViewBig';
5
6
  export interface GridViewUiState {
6
7
  filter: string[];
7
- showAllAsList: boolean;
8
8
  search: Nullable<string>;
9
9
  userInitiatedSearch: boolean;
10
+ viewType: ViewTypeState;
11
+ hasGroupLabel: boolean;
10
12
  }
11
13
  export interface CollectionViewUiState {
12
14
  selected: Nullable<CollectionViewElement>;
@@ -14,6 +16,7 @@ export interface CollectionViewUiState {
14
16
  gridView: GridViewUiState;
15
17
  }
16
18
  export declare const getInitialCollectionViewState: () => CollectionViewUiState;
19
+ export declare const getInitialViewType: () => ViewTypeState;
17
20
  export declare enum COLLECTION_VIEW_STATE_MUTATIONS {
18
21
  ELEMENT_EXPANDED = "CV_ELEMENT_EXPANDED",
19
22
  SET_SELECTED_ELEMENT = "CV_SET_SELECTED_ELEMENT",
@@ -21,9 +24,11 @@ export declare enum COLLECTION_VIEW_STATE_MUTATIONS {
21
24
  }
22
25
  export declare enum GRID_VIEW_STATE_MUTATIONS {
23
26
  SET_SEARCH = "GV_SET_SEARCH",
24
- TOGGLE_LIST_DISPLAY_TYPE = "GV_TOGGLE_LIST_DISPLAY_TYPE",
25
27
  TOGGLE_FILTER = "GV_TOGGLE_FILTER",
26
- SET_USER_INITIATED_SEARCH = "GV_SET_USER_INITIATED_SEARCH"
28
+ SET_USER_INITIATED_SEARCH = "GV_SET_USER_INITIATED_SEARCH",
29
+ SET_VIEW_TYPE = "SET_VIEW_TYPE",
30
+ SET_HAS_GROUP_LABEL = "SET_HAS_GROUP_LABEL",
31
+ RESET_FILTER = "RESET_FILTER"
27
32
  }
28
33
  interface MuationPayload<T, V> {
29
34
  state: T;
@@ -4,7 +4,7 @@ import { Nullable } from '@/common/utils/types';
4
4
  import { RapiId } from '@roomle/web-sdk/lib/definitions/typings/rapi-types';
5
5
  export interface CommonUiState {
6
6
  isInIframe: boolean;
7
- isViewOnly: boolean;
7
+ isViewOnly: Nullable<boolean>;
8
8
  lastRequestedId: Nullable<RapiId>;
9
9
  }
10
10
  export declare const initialState: CommonUiState;
@@ -87,5 +87,4 @@ export declare class ExposedApi {
87
87
  private _websiteReady;
88
88
  private _handleMessage;
89
89
  private _forwardSdkCallbacks;
90
- private _instanceOfRoomlePlanner;
91
90
  }
@@ -22,7 +22,8 @@ export declare enum UI_BUTTON {
22
22
  PARTLIST_PLANNER = "partlist_planner",
23
23
  PRODUCTLIST = "productlist",
24
24
  TWO_D_VIEW = "2dview",
25
- ADD_ROOM = "add_room"
25
+ ADD_ROOM = "add_room",
26
+ STARTPLANNER = "startPlanner"
26
27
  }
27
28
  interface FeatureFlags {
28
29
  realPartList?: boolean;
@@ -52,6 +53,7 @@ export interface UiInitData extends InitDataDefinition, GlobalInitDataDefinition
52
53
  [UI_BUTTON.TWO_D_VIEW]?: boolean;
53
54
  [UI_BUTTON.PARTLIST_PLANNER]?: boolean;
54
55
  [UI_BUTTON.ADD_ROOM]?: boolean;
56
+ [UI_BUTTON.STARTPLANNER]?: boolean;
55
57
  };
56
58
  skin?: EmbeddingSkin;
57
59
  zIndex?: number;
@@ -129,6 +131,11 @@ export interface UiInitData extends InitDataDefinition, GlobalInitDataDefinition
129
131
  * default: true
130
132
  */
131
133
  applyCurrentGlobalParameters?: boolean;
134
+ /**
135
+ * set this flag to true if you want that a user can select more than one material category at once
136
+ * default: false
137
+ */
138
+ materialMultiSelect?: boolean;
132
139
  }
133
140
  export interface EmbeddingSkin {
134
141
  'primary-color'?: string;
@@ -51,6 +51,7 @@ export interface UiState extends SharedUiState {
51
51
  redoEnabled: boolean;
52
52
  undoEnabledPlanner: boolean;
53
53
  redoEnabledPlanner: boolean;
54
+ materialMultiSelect: boolean;
54
55
  }
55
56
  export declare enum UI_STATE_MUTATIONS {
56
57
  SET_SELECTED_GROUP = "setSelectedGroup",
@@ -1 +1 @@
1
- export declare const SAFARI_HACK = "1 1 1";
1
+ export declare const SAFARI_HACK: RegExp;
@@ -8,6 +8,7 @@ export interface MockSdkConnectorOverrides {
8
8
  loadInProgress?: boolean;
9
9
  someLoadDone?: boolean;
10
10
  rapiAccess?: object;
11
+ hasPlanner?: boolean;
11
12
  }
12
13
  export declare const FAKE_STORE: {
13
14
  commit: () => undefined;