architwin 1.12.5 → 1.13.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 (39) hide show
  1. package/CORE_FEATURES.md +35 -0
  2. package/lib/architwin.d.ts +96 -5
  3. package/lib/architwin.js +1 -1
  4. package/lib/atwinui/components/toolbar/collapse.d.ts +18 -0
  5. package/lib/atwinui/components/toolbar/collapse.js +62 -0
  6. package/lib/atwinui/components/toolbar/i18n.js +52 -2
  7. package/lib/atwinui/components/toolbar/index.js +11 -1
  8. package/lib/atwinui/components/toolbar/menuBar.d.ts +1 -0
  9. package/lib/atwinui/components/toolbar/menuBar.js +11 -0
  10. package/lib/atwinui/components/toolbar/pipeFormPane.d.ts +31 -0
  11. package/lib/atwinui/components/toolbar/pipeFormPane.js +545 -0
  12. package/lib/atwinui/components/toolbar/pipeListPane.d.ts +19 -0
  13. package/lib/atwinui/components/toolbar/pipeListPane.js +388 -0
  14. package/lib/atwinui/components/toolbar/spaceUserListPane.d.ts +3 -0
  15. package/lib/atwinui/components/toolbar/spaceUserListPane.js +95 -0
  16. package/lib/atwinui/components/toolbar/tagIotForm.d.ts +20 -0
  17. package/lib/atwinui/components/toolbar/tagIotForm.js +391 -0
  18. package/lib/atwinui/components/toolbar/tagIotFormPane.d.ts +62 -0
  19. package/lib/atwinui/components/toolbar/tagIotFormPane.js +606 -0
  20. package/lib/atwinui/components/toolbar/usersPane.d.ts +14 -0
  21. package/lib/atwinui/components/toolbar/usersPane.js +273 -0
  22. package/lib/atwinui/components/toolbar/viewingRemoteSpace.d.ts +7 -0
  23. package/lib/atwinui/components/toolbar/viewingRemoteSpace.js +77 -0
  24. package/lib/atwinui/events.d.ts +4 -1
  25. package/lib/atwinui/events.js +76 -13
  26. package/lib/atwinui/helpers.d.ts +15 -0
  27. package/lib/atwinui/helpers.js +49 -0
  28. package/lib/atwinui/index.js +2 -0
  29. package/lib/loaders/curosrMarkerLoader.d.ts +25 -0
  30. package/lib/loaders/curosrMarkerLoader.js +86 -0
  31. package/lib/loaders/index.d.ts +2 -1
  32. package/lib/loaders/index.js +2 -1
  33. package/lib/loaders/pathLoader.d.ts +99 -0
  34. package/lib/loaders/pathLoader.js +451 -0
  35. package/lib/types.d.ts +79 -1
  36. package/lib/types.js +34 -0
  37. package/package.json +1 -1
  38. package/static/atwinui.css +263 -0
  39. package/static/utility.css +81 -1
package/lib/types.d.ts CHANGED
@@ -446,6 +446,8 @@ export interface ComponentOptions {
446
446
  polygonData?: PolygonData | undefined;
447
447
  wallHeight?: number | undefined;
448
448
  floorLevel?: number | undefined;
449
+ lineComponentType?: string | undefined;
450
+ id?: number | undefined;
449
451
  }
450
452
  export interface VectorCoords {
451
453
  object_position: Vector3;
@@ -731,7 +733,23 @@ export declare enum SPACE_EVENTS {
731
733
  CUSTOM_SWEEP_OFFSETY_UPDATED = "CUSTOM_SWEEP_OFFSETY_UPDATED",
732
734
  CUSTOM_MAP_SETTINGS_UPDATED = "CUSTOM_MAP_SETTINGS_UPDATED",
733
735
  SPACE_METADATA_RETRIEVED = "SPACE_METADATA_RETRIEVED",
734
- TAG_MESSAGE_UNSEND = "TAG_MESSAGE_UNSEND"
736
+ RENDER_PIPE_CATEGORY = "RENDER_PIPE_CATEGORY",
737
+ PIPE_CATEGORY_REMOVED = "PIPE_CATEGORY_REMOVED",
738
+ PIPE_CATEGORY_SAVED = "PIPE_CATEGORY_SAVED",
739
+ PIPE_CATEGORY_SELECTED = "PIPE_CATEGORY_SELECTED",
740
+ PIPE_CATEGORY_ON_CHANGE = "PIPE_CATEGORY_ON_CHANGE",
741
+ PIPE_SAVED = "PIPE_SAVED",
742
+ PIPE_REMOVED = "PIPE_REMOVED",
743
+ PIPE_ON_CHANGE = "PIPE_ON_CHANGE",
744
+ PIPE_CLICKED = "PIPE_CLICKED",
745
+ PIPE_ADD = "PIPE_ADD",
746
+ PIPE_SELECTED = "PIPE_SELECTED",
747
+ DRAW_PIPE = "DRAW_PIPE",
748
+ DRAW_PIPE_UNDO = "DRAW_PIPE_UNDO",
749
+ DRAW_PIPE_REDO = "DRAW_PIPE_REDO",
750
+ PIPE_VERTEX_REMOVED = "PIPE_VERTEX_REMOVED",
751
+ TAG_MESSAGE_UNSEND = "TAG_MESSAGE_UNSEND",
752
+ PATH_UPDATED = "PATH_UPDATED"
735
753
  }
736
754
  export declare const enum TAG_COLOR {
737
755
  MAROON = "MAROON",
@@ -885,6 +903,7 @@ export interface IToolbarConfig {
885
903
  includeMeasurements?: boolean;
886
904
  includeViews?: boolean;
887
905
  };
906
+ pipe?: boolean;
888
907
  models?: boolean;
889
908
  minimap?: boolean;
890
909
  theme?: boolean;
@@ -1280,6 +1299,18 @@ export interface SpaceMetadata {
1280
1299
  };
1281
1300
  };
1282
1301
  }
1302
+ export interface PathConfig {
1303
+ lineType: string;
1304
+ verticeType: string;
1305
+ lineTypeComponentConfig?: ComponentOptions;
1306
+ verticeTypeComponentConfig?: ComponentOptions;
1307
+ }
1308
+ export interface ModelPayload {
1309
+ mediaUrl: string;
1310
+ objectType: string;
1311
+ config?: ObjectConfig;
1312
+ object_data?: I3DObject;
1313
+ }
1283
1314
  export declare enum COORDINATE_SYSTEM {
1284
1315
  MATTERPORT = "YUP",
1285
1316
  BIM = "ZUP"
@@ -1304,3 +1335,50 @@ export declare enum MAP_OPTIONS {
1304
1335
  DEFAULT_MAP = "Default Minimap",
1305
1336
  CUSTOM_MAP = "Custom Minimap"
1306
1337
  }
1338
+ export interface VetexData {
1339
+ uuid: string;
1340
+ name: string;
1341
+ path: Array<Vector3>;
1342
+ }
1343
+ export interface IPipeCategory {
1344
+ uuid: string;
1345
+ space_uuid: string;
1346
+ name: string;
1347
+ parent_uuid: string;
1348
+ json_data: string;
1349
+ color?: string;
1350
+ pipes: Array<IPipe>;
1351
+ owner_uuid?: string;
1352
+ created_on: Date;
1353
+ }
1354
+ export interface IPipe {
1355
+ uuid: string;
1356
+ space_uuid: string;
1357
+ name: string;
1358
+ category_uuid: string;
1359
+ json_data: string;
1360
+ created_on: Date;
1361
+ }
1362
+ export declare enum COLLAPSE {
1363
+ TOGGLE_ID = "at-collapse-toggle-btn",
1364
+ CONTENT_ID = "at-collapse-content",
1365
+ ACTIVE = "active",
1366
+ EXPAND = "expand",
1367
+ TOGGLE = "toggle",
1368
+ INACTIVE = "inactive",
1369
+ LIST = "at-collapse-list",
1370
+ HEADER = "at-collapse-header",
1371
+ FORM = "at-collapse-form",
1372
+ ITEM = "item"
1373
+ }
1374
+ export declare enum DRAWING_MODE {
1375
+ ACTIVE = "active",
1376
+ INACTIVE = "inactive"
1377
+ }
1378
+ export interface PipePayload {
1379
+ uuid?: string | undefined;
1380
+ space_uuid?: string | undefined;
1381
+ name?: string | undefined;
1382
+ parent_uuid?: string | undefined;
1383
+ json_data: PolygonData;
1384
+ }
package/lib/types.js CHANGED
@@ -107,7 +107,23 @@ export var SPACE_EVENTS;
107
107
  SPACE_EVENTS["CUSTOM_SWEEP_OFFSETY_UPDATED"] = "CUSTOM_SWEEP_OFFSETY_UPDATED";
108
108
  SPACE_EVENTS["CUSTOM_MAP_SETTINGS_UPDATED"] = "CUSTOM_MAP_SETTINGS_UPDATED";
109
109
  SPACE_EVENTS["SPACE_METADATA_RETRIEVED"] = "SPACE_METADATA_RETRIEVED";
110
+ SPACE_EVENTS["RENDER_PIPE_CATEGORY"] = "RENDER_PIPE_CATEGORY";
111
+ SPACE_EVENTS["PIPE_CATEGORY_REMOVED"] = "PIPE_CATEGORY_REMOVED";
112
+ SPACE_EVENTS["PIPE_CATEGORY_SAVED"] = "PIPE_CATEGORY_SAVED";
113
+ SPACE_EVENTS["PIPE_CATEGORY_SELECTED"] = "PIPE_CATEGORY_SELECTED";
114
+ SPACE_EVENTS["PIPE_CATEGORY_ON_CHANGE"] = "PIPE_CATEGORY_ON_CHANGE";
115
+ SPACE_EVENTS["PIPE_SAVED"] = "PIPE_SAVED";
116
+ SPACE_EVENTS["PIPE_REMOVED"] = "PIPE_REMOVED";
117
+ SPACE_EVENTS["PIPE_ON_CHANGE"] = "PIPE_ON_CHANGE";
118
+ SPACE_EVENTS["PIPE_CLICKED"] = "PIPE_CLICKED";
119
+ SPACE_EVENTS["PIPE_ADD"] = "PIPE_ADD";
120
+ SPACE_EVENTS["PIPE_SELECTED"] = "PIPE_SELECTED";
121
+ SPACE_EVENTS["DRAW_PIPE"] = "DRAW_PIPE";
122
+ SPACE_EVENTS["DRAW_PIPE_UNDO"] = "DRAW_PIPE_UNDO";
123
+ SPACE_EVENTS["DRAW_PIPE_REDO"] = "DRAW_PIPE_REDO";
124
+ SPACE_EVENTS["PIPE_VERTEX_REMOVED"] = "PIPE_VERTEX_REMOVED";
110
125
  SPACE_EVENTS["TAG_MESSAGE_UNSEND"] = "TAG_MESSAGE_UNSEND";
126
+ SPACE_EVENTS["PATH_UPDATED"] = "PATH_UPDATED";
111
127
  })(SPACE_EVENTS || (SPACE_EVENTS = {}));
112
128
  export var MEETING_SIDEBAR;
113
129
  (function (MEETING_SIDEBAR) {
@@ -151,3 +167,21 @@ export var MAP_OPTIONS;
151
167
  MAP_OPTIONS["DEFAULT_MAP"] = "Default Minimap";
152
168
  MAP_OPTIONS["CUSTOM_MAP"] = "Custom Minimap";
153
169
  })(MAP_OPTIONS || (MAP_OPTIONS = {}));
170
+ export var COLLAPSE;
171
+ (function (COLLAPSE) {
172
+ COLLAPSE["TOGGLE_ID"] = "at-collapse-toggle-btn";
173
+ COLLAPSE["CONTENT_ID"] = "at-collapse-content";
174
+ COLLAPSE["ACTIVE"] = "active";
175
+ COLLAPSE["EXPAND"] = "expand";
176
+ COLLAPSE["TOGGLE"] = "toggle";
177
+ COLLAPSE["INACTIVE"] = "inactive";
178
+ COLLAPSE["LIST"] = "at-collapse-list";
179
+ COLLAPSE["HEADER"] = "at-collapse-header";
180
+ COLLAPSE["FORM"] = "at-collapse-form";
181
+ COLLAPSE["ITEM"] = "item";
182
+ })(COLLAPSE || (COLLAPSE = {}));
183
+ export var DRAWING_MODE;
184
+ (function (DRAWING_MODE) {
185
+ DRAWING_MODE["ACTIVE"] = "active";
186
+ DRAWING_MODE["INACTIVE"] = "inactive";
187
+ })(DRAWING_MODE || (DRAWING_MODE = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "architwin",
3
- "version": "1.12.5",
3
+ "version": "1.13.0",
4
4
  "description": "ArchiTwin Library for Matterport",
5
5
  "main": "./lib/architwin.js",
6
6
  "types": "./lib/architwin.d.ts",
@@ -75,8 +75,271 @@
75
75
  --button-bg-color: var(--bg-secondary);
76
76
  --button-border-color: var(--border-color);
77
77
  --button-font-weight: normal;
78
+
79
+ --bg-dark-gray: rgb(48, 48, 48);
80
+ /* pipe color category */
81
+ --bg-dark-red: rgb(130, 0, 0);
82
+ --bg-red: rgb(255, 0, 0);
83
+ --bg-amber: rgb(250, 170, 0);
84
+ --bg-chartreuse: rgb(251, 255, 0);
85
+ --bg-light-chartreuse: rgb(237, 255, 0, 1);
86
+ --bg-light-green:rgb(137, 255, 0);
87
+ --bg-dark-green: rgb(0, 138, 0);
88
+ --bg-sky-blue: rgb(169, 229, 255, 1);
89
+ --bg-purple: rgb(109, 0, 255);
90
+ --bg-dark-purple: rgb(56, 0, 152);
91
+
92
+ }
93
+
94
+ /*pipe color category*/
95
+ .at_pipe_category-bg-dark-red {
96
+ background-color: var(--bg-dark-red);
97
+ }
98
+
99
+ .at_pipe_category-bg-red {
100
+ background-color: var(--bg-red);
101
+ }
102
+
103
+ .at_pipe_category-bg-amber {
104
+ background-color: var(--bg-amber);
105
+ }
106
+
107
+ .at_pipe_category-bg-light-chartreuse {
108
+ background-color: var(--bg-light-chartreuse);
109
+ }
110
+
111
+ .at_pipe_category-bg-chartreuse {
112
+ background-color: var(--bg-chartreuse);
113
+ }
114
+
115
+ .at_pipe_category-bg-light-green {
116
+ background-color: var(--bg-light-green);
117
+ }
118
+
119
+ .at_pipe_category-bg-dark-green {
120
+ background-color: var(--bg-dark-green);
121
+ }
122
+
123
+ .at_pipe_category-bg-sky-blue {
124
+ background-color: var(--bg-sky-blue);
125
+ }
126
+
127
+ .at_pipe_category-bg-purple {
128
+ background-color: var(--bg-purple);
129
+ }
130
+
131
+ .at_pipe_category-bg-dark-purple {
132
+ background-color: var(--bg-dark-purple);
133
+ }
134
+
135
+ /* end pipe color category */
136
+
137
+ .at_pipe-save-btn{
138
+ /* background: var(--bg-highlight-light); */
139
+ color: var(--text-color-light);
140
+ line-height: 20px;
141
+ }
142
+
143
+ /* pipe circle */
144
+ .at_circle {
145
+ width: 35px;
146
+ height: 35px;
147
+ border-radius: 50%;
148
+ display: inline-grid;
149
+ place-items: center;
150
+ position: relative;
151
+ color: white; /* for checkmark */
152
+ font-size: 18px;
153
+ cursor: pointer;
154
+ }
155
+
156
+ .at_circle.selected::after {
157
+ content: "✓";
158
+ position: absolute;
159
+ color: black;
160
+ font-size: 20px;
161
+ font-weight: 900;
162
+ }
163
+ /* end circle */
164
+
165
+ /* pipe classes */
166
+
167
+
168
+ .at_dropdown-option{
169
+ transition: background-color 0.2s ease;
170
+ }
171
+
172
+ .at_dropdown-option.selected{
173
+ background-color: var(--bg-secondary-light);
174
+ color: var(--text-color-dark);
175
+ border-radius: 2px;
176
+ }
177
+
178
+ .at_dropdown-option:hover{
179
+ background-color: var(--bg-secondary-light);
180
+ color: var(--text-color-dark);
181
+ border-radius: 2px;
182
+ }
183
+
184
+ .at_locate_area_container {
185
+ cursor: pointer;
186
+ width: 100%;
187
+ transition: background-color 0.2s ease;
188
+ }
189
+
190
+ .at_locate_area_container.selected {
191
+ background-color: var(--bg-secondary-light);
192
+ color: var(--text-color-dark);
193
+ border-radius: 2px;
194
+ }
195
+
196
+ .at_locate_area_container:hover {
197
+ background-color: var(--bg-secondary-light);
198
+ color: var(--text-color-dark);
199
+ border-radius: 2px;
200
+ }
201
+
202
+ .at_pipe-dots-bg{
203
+ color: black;
204
+ line-height: 20px;
205
+ }
206
+
207
+ .at_draw_pipe_btn{
208
+ white-space: nowrap;
209
+ width: 100%;
210
+ font-weight: 900;
211
+ }
212
+
213
+ .at_pipe-vertex-bg{
214
+ /* background-color: var(--bg-lime-yellow); */
215
+ color: black;
216
+ line-height: 20px;
217
+
218
+ }
219
+
220
+
221
+ .at_pipe_content{
222
+ background-color: var(--bg-dark-gray);
223
+ padding: 5px;
224
+ font-size: 12px;
225
+ text-align: center;
226
+ }
227
+ .at_pipe_container{
228
+ background-color: var(--bg-accent-forest);
229
+ padding: 10px;
230
+ border-radius: 10px;
231
+ /* height: 40vh; */
232
+ }
233
+ .at_pipe_category-container{
234
+ font-size: 35px;
235
+ }
236
+
237
+ .at_pipe_label {
238
+ position: absolute;
239
+ top: 20px;
240
+ /* left: 12px; */
241
+ text-align: left;
242
+ display: inline-block;
243
+ /* padding: 0 4px; */
244
+ height: 14px;
245
+ line-height: 14px;
246
+ font-size: 14px;
247
+ font-weight: 400;
248
+ color: var(--text-color-light);
249
+ cursor: text;
250
+ transition: all .15s ease-in-out;
251
+ }
252
+
253
+ .at_pipe_input {
254
+ position: relative;
255
+ display: block;
256
+ width: 100%;
257
+ border: 0;
258
+ border-bottom: 1px solid var(--bg-highlight-light);
259
+ color: var(--text-color-light);
260
+ background-color: transparent;
261
+ margin: 0px auto;
262
+ /* padding: 6px 4px 4px 14px; */
263
+ height: 40px;
264
+ outline: none !important;
265
+ /* font-size: 14px; */
266
+ transition: all .1s ease-in-out;
267
+ }
268
+ .at_pipe_input:hover, .at_pipe_input:focus { border-bottom: 2px solid var(--bg-highlight-light); }
269
+
270
+ .at_pipe_input:valid + label, .at_pipe_input:focus + label {
271
+ top: -4px;
272
+ color: var(--text-color-light);
273
+ font-weight: bold;
274
+ }
275
+ /* end pipe classes */
276
+
277
+ /* collapse classes */
278
+
279
+ .at_collapse_container{
280
+ width: 100%;
281
+ /* height: calc(100vh - 298px); */
282
+ overflow: auto;
283
+ }
284
+
285
+ .at_collapsible_section{
286
+ margin-bottom: 0 20px;
287
+ }
288
+
289
+ .at_collapse-content{
290
+ /* height: 400px; */
78
291
  }
79
292
 
293
+ .at_collapsible_container {
294
+ width: 100%;
295
+ max-width: 600px;
296
+ margin: 0 auto;
297
+ font-family: Arial, sans-serif;
298
+ }
299
+
300
+ .at_collapsible_header {
301
+
302
+ cursor: pointer;
303
+ border-bottom: none;
304
+ }
305
+
306
+ .at_collapsible_content {
307
+ height: 0;
308
+ overflow: hidden;
309
+ border: none;
310
+ }
311
+
312
+ .at_collapsible_content.expand {
313
+ height: 100%;
314
+ }
315
+
316
+ .at-collapse-toggle-btn{
317
+ display: inline-block;
318
+ transform: rotate(-90deg);
319
+ }
320
+
321
+ .at-collapse-toggle-btn.active{
322
+ transform: rotate(0deg);
323
+ }
324
+
325
+ .at_collapsible_content div {
326
+ margin: 0;
327
+ }
328
+
329
+ .at_collapsible_content span{
330
+ cursor: pointer;
331
+ }
332
+
333
+ /* end collapse classed */
334
+
335
+
336
+
337
+ .at_align_item_end{
338
+ align-items: end
339
+ }
340
+
341
+
342
+
80
343
  .at_topLeft {
81
344
  top: var(--position-top);
82
345
  left: var(--position-left);
@@ -1,5 +1,70 @@
1
1
  /* Width Utility Classes */
2
2
 
3
+ /* .at_h-full-screen{
4
+ height: calc(100vh - 64px);
5
+ } */
6
+
7
+ .at_has_border{
8
+ border: 3px solid ;
9
+ }
10
+ .at_h-responsive-64{
11
+ height: calc(100vh - 64px);
12
+ }
13
+
14
+ .at_h-responsive-10{
15
+ height: calc(100vh - 10px);
16
+ }
17
+
18
+ .at_h-responsive-224{
19
+ height: calc(100vh - 224px);
20
+ }
21
+
22
+ .at_h-responsive-250{
23
+ height: calc(100vh - 250px);
24
+ }
25
+
26
+ .at_h-responsive-268{
27
+ height: calc(100vh - 268px);
28
+ }
29
+ .at_h-responsive-290{
30
+ height: calc(100vh - 290px)
31
+ }
32
+
33
+ .at_h-responsive-304{
34
+ height: calc(100vh - 304px)
35
+ }
36
+
37
+ .at_h-responsive-650{
38
+ height: calc(100vh - 650px);
39
+ }
40
+
41
+ .at_p-2{
42
+ padding: 0.5rem;
43
+ }
44
+
45
+ .at_px-1{
46
+ padding:0 0.2rem;
47
+ }
48
+
49
+ .at_px-2{
50
+ padding:0 0.5rem;
51
+ }
52
+
53
+ .at_py-2{
54
+ padding:0.5rem 0;
55
+ }
56
+
57
+ .at_py-3{
58
+ padding:0.75rem 0;
59
+ }
60
+
61
+ .at_pt-2{
62
+ padding-top:0.5rem ;
63
+ }
64
+
65
+ .at_mb-2{
66
+ margin-bottom: 5px;
67
+ }
3
68
  .at_w-auto {
4
69
  width: auto;
5
70
  }
@@ -242,6 +307,9 @@ width: 100vw;
242
307
  .at_text_xl {
243
308
  font-size: 1.25rem;
244
309
  }
310
+ .at_text-xxl{
311
+ font-size: 32px;
312
+ }
245
313
 
246
314
  .at_text_white {
247
315
  color: white;
@@ -295,11 +363,19 @@ width: 100vw;
295
363
  .at_mb_1 {
296
364
  margin-bottom: 0.25rem !important;
297
365
  }
298
-
366
+
299
367
  .at_mb_2 {
300
368
  margin-bottom: 0.5rem !important;
301
369
  }
302
370
 
371
+ .at_mb_3 {
372
+ margin-bottom: 0.75rem !important;
373
+ }
374
+
375
+ .at_mb_4 {
376
+ margin-bottom: 1rem !important;
377
+ }
378
+
303
379
  .at_gap_1 {
304
380
  gap: 0.25rem;
305
381
  }
@@ -324,6 +400,10 @@ width: 100vw;
324
400
  display: inline-block
325
401
  }
326
402
 
403
+ .no_scroll{
404
+ overflow: hidden !important;
405
+ }
406
+
327
407
  /* Spinner container style */
328
408
  .at_spinner {
329
409
  border: 8px solid grey;