bm-core-ui 2.7.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 (99) hide show
  1. package/CHANGELOG.md +1624 -0
  2. package/LICENSE +21 -0
  3. package/README.md +145 -0
  4. package/build/@types/index.d.ts +14078 -0
  5. package/build/BMCodeEditor/BMCodeEditor.js +707 -0
  6. package/build/BMCollectionView/BMCollectionView.js +5861 -0
  7. package/build/BMCollectionView/BMCollectionViewCell.js +688 -0
  8. package/build/BMCollectionView/BMCollectionViewFlowLayout.js +4467 -0
  9. package/build/BMCollectionView/BMCollectionViewLayout.js +830 -0
  10. package/build/BMCollectionView/BMCollectionViewLayoutAttributes.js +673 -0
  11. package/build/BMCollectionView/BMCollectionViewMasonryLayout.js +491 -0
  12. package/build/BMCollectionView/BMCollectionViewStackLayout.js +634 -0
  13. package/build/BMCollectionView/BMCollectionViewTileLayout.js +1121 -0
  14. package/build/BMCoreUI.css +2833 -0
  15. package/build/BMView/BMAttributedLabelView.js +310 -0
  16. package/build/BMView/BMLayoutConstraint_v2.5.js +1813 -0
  17. package/build/BMView/BMLayoutGuide.js +192 -0
  18. package/build/BMView/BMLayoutSizeClass.js +466 -0
  19. package/build/BMView/BMMenu.js +574 -0
  20. package/build/BMView/BMScrollView.js +247 -0
  21. package/build/BMView/BMTextField.js +512 -0
  22. package/build/BMView/BMTextFieldDelegate.js +71 -0
  23. package/build/BMView/BMView_v2.5.js +3572 -0
  24. package/build/BMView/BMViewport.js +221 -0
  25. package/build/BMViewLayoutEditor/BMLayoutEditor.js +6117 -0
  26. package/build/BMViewLayoutEditor/BMLayoutEditorConstraintSettings.js +417 -0
  27. package/build/BMViewLayoutEditor/BMLayoutEditorDelegate.js +59 -0
  28. package/build/BMViewLayoutEditor/BMLayoutEditorSettingCells.js +1653 -0
  29. package/build/BMViewLayoutEditor/BMLayoutEditorSettings.js +1480 -0
  30. package/build/BMViewLayoutEditor/BMLayoutEditorSettingsComplexCells.js +431 -0
  31. package/build/BMViewLayoutEditor/BMLayoutEditorSettingsDelegate.js +46 -0
  32. package/build/BMViewLayoutEditor/BMLayoutEditorVariablesController.js +460 -0
  33. package/build/BMViewLayoutEditor/BMLayoutEditorViewGroupSettings.js +293 -0
  34. package/build/BMViewLayoutEditor/BMLayoutEditorViewSettings.js +382 -0
  35. package/build/BMViewLayoutEditor/BMLayoutVariableProvider.js +202 -0
  36. package/build/BMWindow/BMConfirmationPopup.js +477 -0
  37. package/build/BMWindow/BMKeyboardShortcut.js +151 -0
  38. package/build/BMWindow/BMPopover/BMPopover.js +492 -0
  39. package/build/BMWindow/BMToolWindow.js +71 -0
  40. package/build/BMWindow/BMWindow.js +2000 -0
  41. package/build/Core/BMAnimationContext.js +1181 -0
  42. package/build/Core/BMColor.js +991 -0
  43. package/build/Core/BMCoreUI.js +470 -0
  44. package/build/Core/BMFunctionCollection.js +110 -0
  45. package/build/Core/BMIndexPath.js +165 -0
  46. package/build/Core/BMInset.js +138 -0
  47. package/build/Core/BMKeyPath.js +100 -0
  48. package/build/Core/BMPoint.js +291 -0
  49. package/build/Core/BMRect.js +556 -0
  50. package/build/Core/BMSize.js +137 -0
  51. package/build/iScroll/LICENSE +22 -0
  52. package/build/iScroll/iscroll-probe.js +2154 -0
  53. package/build/images/AlignBottom.png +0 -0
  54. package/build/images/AlignCenterX.png +0 -0
  55. package/build/images/AlignCenterY.png +0 -0
  56. package/build/images/AlignLeading.png +0 -0
  57. package/build/images/AlignTop.png +0 -0
  58. package/build/images/AlignTrailing.png +0 -0
  59. package/build/images/AllConstraints.png +0 -0
  60. package/build/images/BottomConstraint.png +0 -0
  61. package/build/images/CenterXConstraint.png +0 -0
  62. package/build/images/CenterYConstraint.png +0 -0
  63. package/build/images/CoreUI2.png +0 -0
  64. package/build/images/CoreUI2@2x.png +0 -0
  65. package/build/images/Desktop.png +0 -0
  66. package/build/images/DesktopMini.png +0 -0
  67. package/build/images/EqualHeight.png +0 -0
  68. package/build/images/EqualHorizontalSpacing.png +0 -0
  69. package/build/images/EqualHorizontalSpacingInSuperview.png +0 -0
  70. package/build/images/EqualVerticalSpacing.png +0 -0
  71. package/build/images/EqualVerticalSpacingInSuperview.png +0 -0
  72. package/build/images/EqualWidth.png +0 -0
  73. package/build/images/HeightConstraint.png +0 -0
  74. package/build/images/InactiveConstraints.png +0 -0
  75. package/build/images/Layout.png +0 -0
  76. package/build/images/LayoutVariables.png +0 -0
  77. package/build/images/LeftConstraint.png +0 -0
  78. package/build/images/OwnConstraints.png +0 -0
  79. package/build/images/Phone.png +0 -0
  80. package/build/images/PhoneLandscape.png +0 -0
  81. package/build/images/PhoneLandscapeMini.png +0 -0
  82. package/build/images/PhoneMini.png +0 -0
  83. package/build/images/PhonePortrait.png +0 -0
  84. package/build/images/PhonePortraitMini.png +0 -0
  85. package/build/images/Properties.png +0 -0
  86. package/build/images/RightConstraint.png +0 -0
  87. package/build/images/SubviewConstraints.png +0 -0
  88. package/build/images/Tablet.png +0 -0
  89. package/build/images/TabletLandscape.png +0 -0
  90. package/build/images/TabletLandscapeMini.png +0 -0
  91. package/build/images/TabletMini.png +0 -0
  92. package/build/images/TabletPortrait.png +0 -0
  93. package/build/images/TabletPortraitMini.png +0 -0
  94. package/build/images/TopConstraint.png +0 -0
  95. package/build/images/WidthConstraint.png +0 -0
  96. package/build/index.js +40 -0
  97. package/lib/@types/BMCoreUI.min.d.ts +14078 -0
  98. package/lib/BMCoreUI.min.js +1 -0
  99. package/package.json +58 -0
@@ -0,0 +1,2833 @@
1
+ /* MARK: Collection view */
2
+
3
+ .BMCollectionViewCellDragging {
4
+ opacity: .5 !important;
5
+ }
6
+
7
+ .BMDragShadow .BMRipple {
8
+ visibility: hidden !important;
9
+ }
10
+
11
+ .BMDragShadow {
12
+ backface-visibility: hidden;
13
+ -webkit-backface-visibility: hidden;
14
+ }
15
+
16
+ .BMDragIndicator {
17
+ background-color: rgba(0, 200, 60, 1);
18
+ color: white;
19
+ font-family: -apple-system, BlinkMacSystemFont, Roboto, 'Segoe UI', sans-serif !important;
20
+ font-size: 18px !important;
21
+ font-weight: bold !important;
22
+
23
+ text-align: center !important;
24
+
25
+ padding-left: 16px;
26
+ padding-right: 16px;
27
+ height: 24px;
28
+ line-height: 24px;
29
+ vertical-align: middle;
30
+ border-radius: 12px;
31
+
32
+ position: fixed;
33
+
34
+ box-shadow: 0px 4px 12px rgba(0, 0, 0, .33);
35
+ }
36
+
37
+ .BMDragIndicatorRed {
38
+ background-color: rgba(220, 30, 0, 1);
39
+ }
40
+
41
+ .BMDragIndicatorRed::after {
42
+ content: '\00a0\00a0×';
43
+ font-weight: bolder;
44
+ }
45
+
46
+ .BMDragIndicatorBlue {
47
+ background-color: rgba(0, 128, 255, 1);
48
+ }
49
+
50
+ .BMDragIndicatorBlue::after {
51
+ content: '\00a0\00a0⇩';
52
+ font-weight: bolder;
53
+ }
54
+
55
+ /* MARK: Layout Guide */
56
+
57
+ .BMLayoutGuideMask {
58
+ position: fixed;
59
+ width: 100vw;
60
+ height: 100vh;
61
+ top: 0px;
62
+ left: 0px;
63
+
64
+ z-index: 999999;
65
+ }
66
+
67
+ /* MARK: Scrollbars */
68
+
69
+ .BMScrollView .iScrollVerticalScrollbar {
70
+ width: 12px !important;
71
+ right: 3px !important;
72
+
73
+ transition: opacity .3s ease !important;
74
+ opacity: 0 !important;
75
+ }
76
+ .BMScrollView .iScrollHorizontalScrollbar {
77
+ height: 12px !important;
78
+ bottom: 3px !important;
79
+
80
+ transition: opacity .3s ease !important;
81
+ opacity: 0 !important;
82
+ }
83
+
84
+ .BMScrollView:hover .iScrollVerticalScrollbar, .BMScrollView:active .iScrollVerticalScrollbar,
85
+ .BMScrollView:hover .iScrollHorizontalScrollbar, .BMScrollView:active .iScrollHorizontalScrollbar {
86
+ opacity: 1 !important;
87
+ }
88
+
89
+ .BMScrollView .iScrollIndicator {
90
+ border-radius: 6px !important;
91
+ border: 1px solid rgba(0, 0, 0, 0.1) !important;
92
+ }
93
+
94
+ /* MARK: BMWindow */
95
+
96
+ .BMWindowShowcaseWindow, .BMWindowShowcaseWindow *:not(.BMWindowShowcaseWindowSelector) {
97
+ pointer-events: none !important;
98
+ }
99
+
100
+ .BMWindowShowcaseWindowSelector {
101
+ pointer-events: all !important;
102
+ }
103
+
104
+ .BMWindowShowcaseWindowSelector {
105
+ position: absolute;
106
+ left: 0px;
107
+ top: 0px;
108
+ width: 100%;
109
+ height: 100%;
110
+
111
+ transition: box-shadow .2s ease;
112
+ }
113
+
114
+ .BMWindowShowcaseWindowSelector:hover {
115
+ box-shadow: 0px 0px 0px 8px rgba(0, 128, 255, 1) inset;
116
+ }
117
+
118
+ .BMWindowBlocker {
119
+ position: fixed;
120
+
121
+ width: 100vw;
122
+ height: 100vh;
123
+
124
+ left: 0px;
125
+ top: 0px;
126
+
127
+ background: rgba(0, 0, 0, .4);
128
+
129
+ z-index: 2008;
130
+ }
131
+
132
+ .BMWindowBlockerNonModal {
133
+ background: none;
134
+ pointer-events: none;
135
+ }
136
+
137
+ .BMWindow {
138
+ position: fixed;
139
+
140
+ border-radius: 8px;
141
+ overflow: hidden;
142
+
143
+ box-shadow: rgba(0, 0, 0, .15) 0px 0px 1px 1px, rgba(0, 0, 0, .33) 0px 12px 64px;
144
+ outline: none;
145
+
146
+ z-index: 2008;
147
+ }
148
+
149
+ .BMNonModalWindow {
150
+ z-index: 2006;
151
+ box-shadow: rgba(0, 0, 0, .15) 0px 0px 1px 1px, rgba(0, 0, 0, .33) 0px 6px 32px;
152
+ }
153
+
154
+ .BMNonModalWindow::before {
155
+ content: '';
156
+
157
+ position: absolute;
158
+ left: 0;
159
+ top: 0;
160
+ right: 0;
161
+ bottom: 0;
162
+
163
+ z-index: -1;
164
+ }
165
+
166
+ .BMWindowInactive {
167
+ background: rgba(250, 250, 250, 1);
168
+ }
169
+
170
+ .BMWindowInactive::before {
171
+ backdrop-filter: none;
172
+ -webkit-backdrop-filter: none;
173
+ }
174
+
175
+ .BMWindowHidden {
176
+ z-index: -1 !important;
177
+ }
178
+
179
+ .BMToolWindow.BMWindowHidden {
180
+ display: none !important;
181
+ }
182
+
183
+ .BMWindowInactive .BMWindowTitle {
184
+ opacity: .5;
185
+ }
186
+
187
+ .BMWindow.BMKeyWindow, .BMToolWindow {
188
+ z-index: 2007;
189
+ box-shadow: rgba(0, 0, 0, .15) 0px 0px 1px 1px, rgba(0, 0, 0, .33) 0px 12px 64px;
190
+ background: rgba(245, 245, 245, .8);
191
+ }
192
+
193
+ .BMWindow.BMKeyWindow::before, .BMToolWindow::before {
194
+ backdrop-filter: blur(15px);
195
+ -webkit-backdrop-filter: blur(15px);
196
+ }
197
+
198
+ .BMWindow.BMModalWindow {
199
+ z-index: 2008;
200
+ }
201
+
202
+ .BMToolWindow {
203
+ z-index: 2008;
204
+ }
205
+
206
+ .BMWindowDragHandle {
207
+ color: rgba(0, 0, 0, .5);
208
+
209
+ width: 28px;
210
+ height: 28px;
211
+
212
+ position: absolute;
213
+ right: 0px;
214
+ bottom: 0px;
215
+
216
+ font-size: 16px !important;
217
+ line-height: 32px !important;
218
+ vertical-align: middle;
219
+ text-align: center;
220
+
221
+ transform: rotate(-45deg);
222
+ cursor: default;
223
+ }
224
+
225
+ .BMWindow > * {
226
+ -webkit-tap-highlight-color: transparent;
227
+ }
228
+
229
+ .BMWindowMinimized {
230
+ position: absolute;
231
+ left: 0px;
232
+ bottom: 2px;
233
+
234
+ width: 256px;
235
+ height: 32px;
236
+
237
+ background-color: white;
238
+ color: rgba(0, 0, 0, .8);
239
+ font-weight: 500;
240
+ line-height: 32px;
241
+ vertical-align: middle;
242
+
243
+ box-sizing: border-box !important; /* Important needed for Thingworx new composer */
244
+
245
+ padding-left: 8px;
246
+
247
+ transition: left .3s ease;
248
+
249
+ z-index: 2008;
250
+
251
+ border-radius: 4px;
252
+ box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, .1), 0px 3px 8px rgba(0, 0, 0, .1);
253
+ cursor: default;
254
+ }
255
+
256
+ @media (prefers-color-scheme: dark) {
257
+ .BMWindow {
258
+ box-shadow: rgba(0, 0, 0, .66) 0px 0px 0px 1px, rgba(0, 0, 0, .66) 0px 12px 64px;
259
+ background-color: rgba(255, 255, 255, .6);
260
+ }
261
+
262
+ .BMWindowInactive {
263
+ background: rgba(70, 70, 70, 1);
264
+ }
265
+
266
+ .BMNonModalWindow {
267
+ box-shadow: rgba(0, 0, 0, .66) 0px 0px 0px 1px, rgba(0, 0, 0, .66) 0px 6px 32px;
268
+ }
269
+
270
+ .BMWindow.BMKeyWindow, .BMToolWindow {
271
+ box-shadow: rgba(0, 0, 0, .66) 0px 0px 0px 1px, rgba(0, 0, 0, .66) 0px 12px 64px;
272
+ }
273
+
274
+ .BMWindow::after {
275
+ content: '';
276
+ position: absolute;
277
+ pointer-events: none;
278
+
279
+ border-radius: 8px;
280
+
281
+ left: 0px;
282
+ top: 0px;
283
+ right: 0px;
284
+ bottom: 0px;
285
+
286
+ box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, .25) inset;
287
+ }
288
+
289
+ .BMWindowDragHandle {
290
+ color: rgba(255, 255, 255, .33);
291
+ }
292
+ }
293
+
294
+ .BMFullScreenWindow {
295
+ left: 0px !important;
296
+ top: 0px !important;
297
+
298
+ width: 100vw !important;
299
+ height: 100vh !important;
300
+ }
301
+
302
+ .BMWindowContent {
303
+ position: absolute;
304
+
305
+ width: 100%;
306
+ height: 100%;
307
+ top: 0px;
308
+ left: 0px;
309
+ }
310
+
311
+ /* In theory, this would break browsers that support dark mode but not backdrop filter;
312
+ In practice, only Safari supports both. */
313
+ @media (prefers-color-scheme: dark) {
314
+ .BMWindowContent {
315
+ background-color: rgba(0, 0, 0, .75) !important;
316
+ }
317
+ }
318
+
319
+ .BMWindowBackground {
320
+ background-color: white !important; /* tw-important */
321
+ }
322
+
323
+ @media (prefers-color-scheme: dark) {
324
+ .BMWindowBackground {
325
+ background-color: #1e1e1e !important; /* tw-important */
326
+ }
327
+ }
328
+
329
+ .BMWindowFullContent {
330
+ height: 100% !important;
331
+ top: 0px;
332
+ }
333
+
334
+ .BMWindowToolbar {
335
+ position: absolute;
336
+ left: 0px;
337
+ right: 0px;
338
+ top: 0px;
339
+ height: 64px;
340
+
341
+ width: 100%;
342
+
343
+ color: rgba(0, 0, 0, .66);
344
+ text-shadow: 0px 1px 1px rgba(255, 255, 255, .5);
345
+
346
+ box-sizing: border-box !important; /* Important needed for Thingworx new composer */
347
+ }
348
+
349
+ .BMToolWindow > .BMWindowToolbar {
350
+ height: 32px;
351
+ }
352
+
353
+ @media (prefers-color-scheme: dark) {
354
+ .BMWindowToolbar, .BMWindowToolbarButton {
355
+ color: rgba(255, 255, 255, .8);
356
+ text-shadow: 0px 1px 1px rgba(0, 0, 0, .33);
357
+ }
358
+ }
359
+
360
+ /* MARK: BMCollectionView */
361
+
362
+ .BMCollectionViewCellHidden {
363
+ visibility: hidden !important;
364
+ }
365
+
366
+ /* MARK: BMWindow */
367
+
368
+ .BMWindowLabel, .BMLabel {
369
+ font-family: -apple-system, BlinkMacSystemFont, Roboto, 'Segoe UI', sans-serif !important;
370
+ font-size: 16px !important;
371
+ font-weight: normal !important;
372
+
373
+ text-align: left !important;
374
+
375
+ color: rgba(0, 0, 0, .8);
376
+
377
+ line-height: 1.5;
378
+ }
379
+
380
+ .BMWindowLabel {
381
+ margin-left: 8px !important;
382
+ margin-right: 8px !important;
383
+
384
+ display: flex;
385
+ flex-direction: column;
386
+ justify-content: center;
387
+ }
388
+
389
+ /* BMWindowSublabel should be used together with BMWindowLabel */
390
+ .BMWindowSublabel {
391
+ font-size: 14px;
392
+ color: rgba(0, 0, 0, .33);
393
+ }
394
+
395
+ @media (prefers-color-scheme: dark) {
396
+ .BMWindowLabel, .BMLabel {
397
+ color: rgba(255, 255, 255, .9);
398
+ }
399
+
400
+ .BMWindowSublabel, .BMLabel {
401
+ color: rgba(255, 255, 255, .5);
402
+ }
403
+ }
404
+
405
+ .BMWindowEllipsis, .BMEllipsis {
406
+ flex-shrink: 1;
407
+ overflow: hidden;
408
+ text-overflow: ellipsis;
409
+ white-space: nowrap;
410
+ }
411
+
412
+ .BMWindowTitle, .BMTitle {
413
+ font-family: -apple-system, BlinkMacSystemFont, Roboto, 'Segoe UI', sans-serif !important;
414
+ font-size: 24px !important;
415
+ font-weight: bold !important;
416
+
417
+ text-align: left !important;
418
+
419
+ color: rgba(0, 0, 0, .8);
420
+ }
421
+
422
+ .BMWindowTitle {
423
+ min-height: 64px !important;
424
+
425
+ margin-left: 24px !important;
426
+ margin-right: 8px !important;
427
+
428
+ display: flex;
429
+ flex-direction: column;
430
+ justify-content: center;
431
+ }
432
+
433
+ @media (prefers-color-scheme: dark) {
434
+ .BMWindowTitle, .BMTitle {
435
+ color: rgba(255, 255, 255, .9);
436
+ }
437
+ }
438
+
439
+ .BMWindowInput, .BMInput {
440
+ background: none !important;
441
+ -webkit-appearance: none !important;
442
+ border: none !important;
443
+ box-sizing: border-box !important;
444
+
445
+ border-radius: 4px !important;
446
+
447
+ transition: box-shadow .2s ease, background-color .2s ease !important;
448
+ box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0), 0px 0px 20px 20px rgba(0, 160, 255, 0) !important;
449
+
450
+ padding-left: 8px !important;
451
+ padding-right: 8px !important;
452
+ }
453
+
454
+ .BMWindowInput {
455
+ margin: 8px !important;
456
+
457
+ height: calc(100% - 16px) !important;
458
+ min-width: 44px !important;
459
+ }
460
+
461
+ .BMWindowInput:not(.BMLayoutEditorDetailsCellInput) {
462
+ width: auto !important;
463
+ }
464
+
465
+ .BMLayoutEditorDetailsCellInput.BMWindowInput {
466
+ margin: 0px !important;
467
+ }
468
+
469
+ .BMWindowInput:hover:not(:focus), .BMInput:hover:not(:focus) {
470
+ background: rgba(255, 255, 255, .5) !important;
471
+ box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, .2), 0px 0px 20px 20px rgba(0, 160, 255, 0) !important;
472
+ }
473
+
474
+ .BMWindowInput:focus, .BMInput:focus {
475
+ background: white !important;
476
+ box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, .2), 0px 0px 10px rgba(0, 160, 255, 1) !important;
477
+ }
478
+
479
+ .BMWindowInput:disabled, .BMInput:focus {
480
+ color: rgba(0, 0, 0, .5) !important;
481
+ }
482
+
483
+ .BMWindowInputInvalid, .BMInputInvalid {
484
+ box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, 0), 0px 0px 20px 20px rgba(255, 80, 0, 0) !important;
485
+ }
486
+
487
+ .BMWindowInputInvalid:hover:not(:focus), .BMInputInvalid:hover:not(:focus) {
488
+ box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, .2), 0px 0px 20px 20px rgba(255, 80, 0, 0) !important;
489
+ }
490
+
491
+ .BMWindowInputInvalid:focus, .BMInputInvalid:focus {
492
+ box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, .2), 0px 0px 10px rgba(255, 80, 0, 1) !important;
493
+ }
494
+
495
+ @media (prefers-color-scheme: dark) {
496
+ .BMWindowInput, .BMWInput {
497
+ color: rgba(255, 255, 255, .9) !important;
498
+ box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0) inset, 0px 0px 1px 1px rgba(0, 0, 0, 0), 0px 0px 20px 20px rgba(0, 160, 255, 0) !important;
499
+ }
500
+
501
+ .BMWindowInput:hover:not(:focus), .BMInput:hover:not(:focus) {
502
+ background: rgba(255, 255, 255, .05) !important;
503
+ box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, .1) inset, 0px 0px 1px 1px rgba(0, 0, 0, .33), 0px 0px 20px 20px rgba(0, 160, 255, 0) !important;
504
+ }
505
+
506
+ .BMWindowInput:focus, .BMInput:focus {
507
+ background: rgba(0, 160, 255, .1) !important;
508
+ color: rgba(255, 255, 255, .9) !important;
509
+ box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, .05) inset, 0px 0px 1px 1px rgba(0, 0, 0, .5), 0px 0px 15px rgba(0, 160, 255, .75) !important;
510
+ }
511
+
512
+ .BMWindowInput:disabled, .BMInput:disabled {
513
+ color: rgba(255, 255, 255, .5) !important;
514
+ }
515
+
516
+ .BMWindowInputInvalid:hover:not(:focus), .BMInputInvalid:hover:not(:focus) {
517
+ box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, .05) inset, 0px 0px 1px 1px rgba(0, 0, 0, .33), 0px 0px 20px 20px rgba(255, 80, 0, 0) !important;
518
+ }
519
+
520
+ .BMWindowInputInvalid:focus, .BMInputInvalid:focus {
521
+ box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, .05) inset, 0px 0px 1px 1px rgba(0, 0, 0, .5), 0px 0px 15px rgba(255, 80, 0, 1) !important;
522
+ }
523
+ }
524
+
525
+
526
+ .BMWindowToolbarDark .BMWindowInput {
527
+ color: rgba(255, 255, 255, .9) !important;
528
+ box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, 0) inset, 0px 0px 1px 1px rgba(0, 0, 0, 0), 0px 0px 20px 20px rgba(0, 160, 255, 0) !important;
529
+ }
530
+
531
+ .BMWindowToolbarDark .BMWindowInput:hover:not(:focus) {
532
+ background: rgba(255, 255, 255, .05) !important;
533
+ box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, .1) inset, 0px 0px 1px 1px rgba(0, 0, 0, .33), 0px 0px 20px 20px rgba(0, 160, 255, 0) !important;
534
+ }
535
+
536
+ .BMWindowToolbarDark .BMWindowInput:focus {
537
+ background: rgba(0, 0, 0, .05) !important;
538
+ color: rgba(255, 255, 255, .9) !important;
539
+ box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, .1) inset, 0px 0px 1px 1px rgba(0, 0, 0, .5), 0px 0px 15px rgba(0, 160, 255, .75) !important;
540
+ }
541
+
542
+ .BMWindowToolbarDark .BMWindowInput:disabled {
543
+ color: rgba(255, 255, 255, .5) !important;
544
+ }
545
+
546
+ .BMWindowToolbarDark .BMWindowInputInvalid:hover:not(:focus) {
547
+ box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, .05) inset, 0px 0px 1px 1px rgba(0, 0, 0, .33), 0px 0px 20px 20px rgba(255, 80, 0, 0) !important;
548
+ }
549
+
550
+ .BMWindowToolbarDark .BMWindowInputInvalid:focus {
551
+ box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, .05) inset, 0px 0px 1px 1px rgba(0, 0, 0, .5), 0px 0px 15px rgba(255, 80, 0, 1) !important;
552
+ }
553
+
554
+ .BMWindowToolbarInput {
555
+ font-family: -apple-system, BlinkMacSystemFont, Roboto, 'Segoe UI', sans-serif !important;
556
+ font-size: 16px;
557
+ color: rgba(0, 0, 0, .8);
558
+ font-weight: 500;
559
+ height: 32px !important;
560
+
561
+ display: flex;
562
+ align-items: center;
563
+ line-height: 1em !important;
564
+ }
565
+
566
+ .BMWindowToolbarMini > .BMWindowToolbarInput {
567
+ height: 24px !important;
568
+ font-size: 14px !important;
569
+ }
570
+
571
+ @media (prefers-color-scheme: dark) {
572
+ .BMWindowToolbarInput {
573
+ color: rgba(255, 255, 255, .9);
574
+ }
575
+ }
576
+
577
+ .BMWindowToolbarDark .BMWindowToolbarInput {
578
+ color: rgba(255, 255, 255, .9);
579
+ }
580
+
581
+ .BMWindowToolbarLabel {
582
+ border: none !important;
583
+ box-sizing: border-box !important;
584
+
585
+ border-radius: 4px !important;
586
+ margin: 8px !important;
587
+
588
+ font-family: -apple-system, BlinkMacSystemFont, Roboto, 'Segoe UI', sans-serif !important;
589
+ font-size: 16px;
590
+ color: rgba(0, 0, 0, .33);
591
+ font-weight: 500;
592
+
593
+ display: flex;
594
+ align-content: center;
595
+ align-items: center;
596
+ }
597
+
598
+ .BMWindowToolbarMini > .BMWindowToolbarLabel {
599
+ font-size: 14px !important;
600
+ }
601
+
602
+ @media (prefers-color-scheme: dark) {
603
+ .BMWindowToolbarLabel {
604
+ color: rgba(255, 255, 255, .5);
605
+ }
606
+ }
607
+
608
+ .BMWindowToolbarDark .BMWindowToolbarLabel {
609
+ color: rgba(255, 255, 255, .5);
610
+ }
611
+
612
+ .BMWindowButton, .BMButton {
613
+ -webkit-appearance: none;
614
+ outline: none;
615
+ box-sizing: border-box !important;
616
+
617
+ display: flex;
618
+ align-content: center;
619
+ justify-content: center;
620
+
621
+ border-radius: 4px;
622
+ box-shadow: 0px 2px 4px rgba(0, 0, 0, .1), 0px 0px 1px 1px rgba(0, 0, 0, .1);
623
+
624
+ background: rgba(0, 128, 255, 1);
625
+
626
+ color: white;
627
+ font-family: -apple-system, BinkMacSystemFont, 'Roboto', 'Helvetica', 'Segoe UI', sans-serif;
628
+ font-size: 14px;
629
+ font-weight: bold;
630
+
631
+ padding: 8px 16px;
632
+
633
+ align-self: center;
634
+ transition: background-color .2s ease;
635
+
636
+ cursor: default;
637
+ }
638
+
639
+ .BMWindowButton {
640
+ min-height: 32px;
641
+
642
+ margin: 8px;
643
+ border: none;
644
+ }
645
+
646
+ .BMWindowButton:active, .BMButton:actie {
647
+ background: rgb(0, 108, 235);
648
+ }
649
+
650
+ /* NOTE: BMWindowButtonWeak is meant to be used together with BMWindowButton */
651
+ .BMWindowButtonWeak, .BMButtonWeak {
652
+ background: rgba(0, 0, 0, .1);
653
+ color: rgba(0, 0, 0, .8);
654
+
655
+ box-sizing: border-box !important; /* Important needed for Thingworx new composer */
656
+ box-shadow: none;
657
+ }
658
+
659
+ .BMWindowButtonWeak:active, .BMButtonWeak:active {
660
+ background: rgba(0, 0, 0, .2);
661
+ }
662
+
663
+ @media (prefers-color-scheme: dark) {
664
+ .BMWindowButtonWeak, .BMButtonWeak {
665
+ background: rgba(255, 255, 255, .1);
666
+ color: rgba(255, 255, 255, .8);
667
+ }
668
+
669
+ .BMWindowButtonWeak:active, .BMButtonWeak:active {
670
+ background: rgba(255, 255, 255, .2);
671
+ }
672
+ }
673
+
674
+ .BMWindowToolbarButton {
675
+ position: static !important;
676
+ }
677
+
678
+ .BMWindowToolbarButton > i {
679
+ display: block !important;
680
+ }
681
+
682
+ /* #region Layout Editor toolbar button */
683
+
684
+ .BMLayoutEditorToolbarButton {
685
+
686
+ position: relative;
687
+
688
+ font-weight: bold;
689
+
690
+ width: 44px;
691
+ height: 44px;
692
+ top: 10px;
693
+
694
+ border-radius: 50%;
695
+
696
+ margin-left: 8px;
697
+ margin-right: 8px;
698
+
699
+ line-height: 44px;
700
+ vertical-align: middle;
701
+ text-align: center;
702
+
703
+ cursor: default;
704
+
705
+ }
706
+
707
+ .BMWindowToolbarMini > .BMLayoutEditorToolbarButton {
708
+ width: 24px;
709
+ height: 24px;
710
+
711
+ top: 0px;
712
+ line-height: 24px;
713
+
714
+ font-size: 12px;
715
+ }
716
+
717
+ .BMWindowToolbarMini > .BMLayoutEditorToolbarButton > i {
718
+ line-height: 24px !important;
719
+ }
720
+
721
+ .BMLayoutEditorToolbarButton:active {
722
+ background-color: rgba(0, 0, 0, .1);
723
+ }
724
+
725
+ .BMLayoutEditorToolbarButtonSelected {
726
+
727
+ }
728
+
729
+ .BMLayoutEditorToolbarButtonSelected:active {
730
+ background-color: rgba(0, 0, 0, .1);
731
+ }
732
+
733
+ .BMLayoutEditorToolbarButton > i {
734
+ font-size: 16px;
735
+ line-height: 44px;
736
+ vertical-align: middle;
737
+ }
738
+
739
+ .BMLayoutEditorCloseButton {
740
+ position: absolute !important;
741
+
742
+ left: 8px !important;
743
+ opacity: 0;
744
+
745
+ pointer-events: none;
746
+
747
+ transition: opacity .3s ease;
748
+ }
749
+
750
+ .BMLayoutEditorCloseButton.BMLayoutEditorFullScreen {
751
+ opacity: 1;
752
+
753
+ pointer-events: inherit;
754
+ }
755
+
756
+ .BMLayoutEditorDetailsCloseButton {
757
+ top: 12px;
758
+ left: 6px !important;
759
+ }
760
+
761
+ /* #endregion */
762
+
763
+ .BMWindowFlexibleSpace {
764
+ flex-grow: 1;
765
+ }
766
+
767
+ /* MARK: Switch */
768
+ .BMWindowSwitch {
769
+ width: 128px;
770
+ padding-top: 8px;
771
+ padding-bottom: 8px;
772
+
773
+ display: flex;
774
+ flex-direction: row;
775
+ align-items: center;
776
+
777
+ color: rgba(0, 0, 0, .25);
778
+
779
+ padding-left: 8px;
780
+ padding-right: 8px;
781
+
782
+ box-sizing: border-box !important; /* Important needed for Thingworx new composer */
783
+ font-size: 10px !important;
784
+
785
+ margin-left: 32px;
786
+ margin-right: 32px;
787
+
788
+ cursor: pointer;
789
+ }
790
+
791
+ .BMLayoutEditorViewDetails .BMWindowSwitch {
792
+ margin: 0;
793
+ }
794
+
795
+
796
+ .BMWindowSwitch > input {
797
+ display: none;
798
+ }
799
+
800
+ .BMWindowSwitchGutter {
801
+ border-radius: 5px;
802
+
803
+ border: 1px solid rgba(0, 0, 0, .1);
804
+ background-color: rgba(0, 0, 0, .1);
805
+
806
+ margin-left: 8px;
807
+ margin-right: 8px;
808
+
809
+ flex-grow: 1;
810
+ height: 20px;
811
+
812
+ box-sizing: border-box !important; /* Important needed for Thingworx new composer */
813
+ overflow: hidden;
814
+ }
815
+
816
+ .BMWindowSwitchKnob {
817
+ width: 50%;
818
+ height: 100%;
819
+ background-color: #FFF;
820
+
821
+ box-shadow: 0px 2px 8px rgba(0, 0, 0, .3), 0px -4px 8px rgba(0, 0, 0, .05) inset;
822
+ border-radius: 5px;
823
+
824
+ transform: translateX(100%);
825
+
826
+ transition: transform .2s ease, width .2s ease, opacity .2s ease;
827
+ }
828
+
829
+ input:not(:checked) + .BMWindowSwitchGutter > .BMWindowSwitchKnob, .BMWindowSwitchKnobOFF {
830
+ transform: none;
831
+ }
832
+
833
+ .BMWindowSwitch > input:indeterminate + .BMWindowSwitchGutter > .BMWindowSwitchKnob {
834
+ transform: none;
835
+ width: 100%;
836
+ opacity: .5;
837
+ }
838
+
839
+ @media (prefers-color-scheme: dark) {
840
+ .BMWindowSwitch {
841
+ color: rgba(255, 255, 255, .33);
842
+ }
843
+
844
+ .BMWindowSwitchGutter {
845
+ border-color: rgba(255, 255, 255, .2);
846
+ background-color: rgba(0, 0, 0, .25);
847
+ }
848
+
849
+ .BMWindowSwitchKnob {
850
+ background-color: rgb(60, 60, 60);
851
+ box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, .5) inset, 0px 2px 8px rgba(0, 0, 0, .3), 0px -4px 8px rgba(0, 0, 0, .25) inset;
852
+ }
853
+ }
854
+
855
+ .BMWindowOpaqueSidebar {
856
+ background-color: #F0F0F0;
857
+ }
858
+
859
+ @media (prefers-color-scheme: dark) {
860
+ .BMWindowOpaqueSidebar {
861
+ background-color: rgb(44, 44, 44);
862
+ }
863
+ }
864
+
865
+ /* MARK: Tooltips */
866
+
867
+ /* NOTE: An element with the BMHasTooltip class should be either positioned relatively, absolutely or fixed. */
868
+ .BMHasTooltip::after {
869
+ content: attr(data-bm-tooltip);
870
+ padding: 8px;
871
+
872
+ display: block;
873
+ position: absolute;
874
+
875
+ left: 0px;
876
+ top: 50%;
877
+
878
+ color: white;
879
+ font-family: -apple-system, BlinkMacSystemFont, Roboto, 'Segoe UI', sans-serif !important;
880
+ font-size: 12px;
881
+
882
+ background-color: rgba(0, 0, 0, .8);
883
+ border: 1px solid rgba(0, 0, 0, .9);
884
+ border-radius: 4px;
885
+
886
+ box-shadow: 0px 2px 6px rgba(0, 0, 0, .1);
887
+
888
+ opacity: 0;
889
+ transform-origin: 0% 50%;
890
+ transform: scaleX(.8) scaleY(.8) translateX(-100%) translateY(-50%);
891
+
892
+ transition: opacity .2s ease, transform .2s ease;
893
+
894
+ pointer-events: none;
895
+
896
+ -webkit-backdrop-filter: blur(15px);
897
+ backdrop-filter: blur(15px);
898
+
899
+ min-width: 240px;
900
+ }
901
+
902
+ .BMHasTooltip:hover::after {
903
+ opacity: 1;
904
+ transform: scaleX(1) scaleY(1) translateX(-100%) translateY(-50%);
905
+ }
906
+
907
+
908
+ /* MARK: BMLayoutEditor */
909
+
910
+ .BMScriptFont {
911
+ font-family: cursive !important;
912
+ font-size: 12px !important;
913
+ font-weight: 600 !important;
914
+ letter-spacing: 2px !important;
915
+
916
+ position: relative;
917
+ top: 2px;
918
+ }
919
+
920
+ .BMLayoutEditor {
921
+ box-shadow: none !important;
922
+ border-radius: 0px !important;
923
+ background-color: #C0C0C0;
924
+ }
925
+
926
+ .BMLayoutEditorBlocker {
927
+ backdrop-filter: none !important;
928
+ -webkit-backdrop-filter: none !important;
929
+ }
930
+
931
+ .BMWindowInput.BMLayoutEditorSizeClassSelector {
932
+ width: 240px !important;
933
+ cursor: default;
934
+ }
935
+
936
+ .BMLayoutEditorSizeClassImage {
937
+ margin-right: 8px;
938
+ display: inline-block;
939
+
940
+ pointer-events: none;
941
+
942
+ width: 16px;
943
+ height: 16px;
944
+
945
+ background-size: 16px 16px;
946
+ position: relative;
947
+ }
948
+
949
+ .BMWindowInput > .BMLayoutEditorSizeClassImage {
950
+ position: static;
951
+ }
952
+
953
+ @media (prefers-color-scheme: dark) {
954
+ .BMLayoutEditorSizeClassImage {
955
+ filter: invert(100%);
956
+ transform: translateZ(0);
957
+ -webkit-transform: translateZ(0);
958
+ }
959
+ }
960
+
961
+ .BMWindowToolbarDark .BMLayoutEditorSizeClassImage {
962
+ filter: invert(100%);
963
+ transform: translateZ(0);
964
+ -webkit-transform: translateZ(0);
965
+ }
966
+
967
+ .BMLayoutEditorSizeClassPopupOption {
968
+ height: 32px !important;
969
+ }
970
+
971
+ .BMLayoutEditorSizeClassPopupOption:hover > .BMLayoutEditorSizeClassImage {
972
+ filter: invert(100%);
973
+ transform: translateZ(0);
974
+ -webkit-transform: translateZ(0);
975
+ }
976
+
977
+ .BMLayoutEditorSizeClassPopupOption:active > .BMLayoutEditorSizeClassImage {
978
+ filter: none;
979
+ transform: none;
980
+ -webkit-transform: none;
981
+ }
982
+
983
+ @media (prefers-color-scheme: dark) {
984
+ .BMLayoutEditorSizeClassPopupOption:active > .BMLayoutEditorSizeClassImage {
985
+ filter: invert(100%);
986
+ transform: translateZ(0);
987
+ -webkit-transform: translateZ(0);
988
+ }
989
+
990
+ }
991
+
992
+ .BMWindowToolbarDark .BMLayoutEditorSizeClassPopupOption:active > .BMLayoutEditorSizeClassImage {
993
+ filter: invert(100%);
994
+ transform: translateZ(0);
995
+ -webkit-transform: translateZ(0);
996
+ }
997
+
998
+
999
+ .BMLayoutEditorDragSource::after, .BMLayoutEditorDragTarget::after {
1000
+ content: '';
1001
+
1002
+ position: absolute;
1003
+ left: 0px;
1004
+ top: 0px;
1005
+ width: 100%;
1006
+ height: 100%;
1007
+
1008
+ background: linear-gradient(to bottom, rgba(0, 128, 255, .25) 0%, rgba(0, 128, 255, .33) 100%);
1009
+
1010
+ border-radius: 0px;
1011
+ border: 2px solid rgb(0, 108, 235);
1012
+ box-sizing: border-box !important; /* Important needed for Thingworx new composer */
1013
+ }
1014
+
1015
+ .BMLayoutEditorTree {
1016
+ width: 256px;
1017
+ height: 100%;
1018
+ overflow: auto;
1019
+ position: absolute;
1020
+ top: 0px;
1021
+ left: 0px;
1022
+
1023
+ box-sizing: border-box !important; /* Important needed for Thingworx new composer */
1024
+
1025
+ padding-top: 64px;
1026
+ padding-left: 8px;
1027
+ padding-right: 8px;
1028
+
1029
+ /* border-right: 1px solid rgba(0, 0, 0, .15); */
1030
+
1031
+ /*transition: width .3s ease, padding .3s ease;*/
1032
+ }
1033
+
1034
+ @media (prefers-color-scheme: dark) {
1035
+ /* .BMLayoutEditorTree {
1036
+ border-right-color: black;
1037
+ } */
1038
+ }
1039
+
1040
+ .BMLayoutEditorWorkspaceArea {
1041
+ position: absolute;
1042
+ left: 256px;
1043
+ right: 344px;
1044
+ height: 100%;
1045
+ top: 0px;
1046
+
1047
+ background: white;
1048
+
1049
+ /*transition: left .3s ease, right .3s ease;*/
1050
+ }
1051
+
1052
+ @media (prefers-color-scheme: dark) {
1053
+ .BMLayoutEditorWorkspaceArea {
1054
+ background: #1e1e1e;
1055
+ }
1056
+ }
1057
+
1058
+ .BMLayoutEditorWorkspaceToolbar {
1059
+ position: absolute;
1060
+ height: 63px;
1061
+ left: 0px;
1062
+ right: 0px;
1063
+ top: 0px;
1064
+
1065
+ border-bottom: 1px solid #C0C0C0;
1066
+ display: flex;
1067
+ align-items: center;
1068
+ }
1069
+
1070
+ @media (prefers-color-scheme: dark) {
1071
+ .BMLayoutEditorWorkspaceToolbar {
1072
+ border-bottom-color: black;
1073
+ }
1074
+ }
1075
+
1076
+ .BMLayoutEditorWorkspaceWrapper {
1077
+ position: absolute;
1078
+ left: 0px;
1079
+ right: 0px;
1080
+ bottom: 0px;
1081
+ top: 64px;
1082
+
1083
+ display: flex;
1084
+
1085
+ background: #E0E0E0;
1086
+ overflow: hidden;
1087
+ }
1088
+
1089
+ @media (prefers-color-scheme: dark) {
1090
+ .BMLayoutEditorWorkspaceWrapper {
1091
+ background-color: rgb(40, 40, 40);
1092
+ }
1093
+ }
1094
+
1095
+ .BMLayoutEditorWorkspace {
1096
+ position: absolute;
1097
+ left: 0px;
1098
+ right: 0px;
1099
+ bottom: 0px;
1100
+ top: 0px;
1101
+
1102
+ background: white;
1103
+ box-shadow: 0px 4px 8px rgba(0, 0, 0, .2);
1104
+
1105
+ overflow: hidden;
1106
+
1107
+ flex-shrink: 0;
1108
+ }
1109
+
1110
+ .BMLayoutEditorWorkspaceToolbarSizeClass {
1111
+ background-color: rgba(0, 128, 255, 1);
1112
+ }
1113
+
1114
+ @media (prefers-color-scheme: dark) {
1115
+ .BMLayoutEditorWorkspaceToolbarSizeClass {
1116
+ background-color: rgba(0, 128, 255, .75);
1117
+ }
1118
+ }
1119
+
1120
+
1121
+ /* MARK: Layout editor popup */
1122
+
1123
+ .BMLayoutEditorConstraintPopupContainer, .BMMenuContainer {
1124
+ position: absolute;
1125
+
1126
+ left: 0px;
1127
+ top: 0px;
1128
+ width: 100%;
1129
+ height: 100%;
1130
+
1131
+ /* Sadly needed for Thingworx environment */
1132
+ z-index: 9999999;
1133
+ }
1134
+
1135
+ .BMMenuContainerFullScreen {
1136
+ background-color: rgba(0, 0, 0, .33);
1137
+ }
1138
+
1139
+ @media (max-width: 640px) {
1140
+ .BMMenuContainerFullScreen {
1141
+ background-color: rgba(0, 0, 0, .15);
1142
+ backdrop-filter: blur(15px);
1143
+ -webkit-backdrop-filter: blur(15px);
1144
+ }
1145
+ }
1146
+
1147
+ .BMLayoutEditorConstraintPopup, .BMMenu {
1148
+ position: absolute;
1149
+
1150
+ display: flex;
1151
+ flex-direction: column;
1152
+
1153
+ padding-top: 4px;
1154
+ padding-bottom: 4px;
1155
+
1156
+ background-color: rgba(255, 255, 255, .8);
1157
+ box-shadow: 0px 4px 8px rgba(0, 0, 0, .1), 0px 0px 1px 1px rgba(0, 0, 0, .1);
1158
+
1159
+ border-radius: 8px;
1160
+ }
1161
+
1162
+ .BMLayoutEditorConstraintPopup::before, .BMMenu::before {
1163
+ content: '';
1164
+
1165
+ position: absolute;
1166
+ left: 0;
1167
+ top: 0;
1168
+ right: 0;
1169
+ bottom: 0;
1170
+
1171
+ border-radius: 8px;
1172
+
1173
+ backdrop-filter: blur(25px);
1174
+ -webkit-backdrop-filter: blur(25px);
1175
+
1176
+ z-index: -1;
1177
+ }
1178
+
1179
+ .BMMenuSourceNodeShadow {
1180
+ /* NOTE: all these properties are set to important because the node shaow is a clone that can potentially
1181
+ inherit a large number of styles */
1182
+ position: absolute !important;
1183
+ right: auto !important;
1184
+ bottom: auto !important;
1185
+ box-sizing: border-box !important;
1186
+
1187
+ pointer-events: none !important;
1188
+
1189
+ border-radius: 8px !important;
1190
+ box-shadow: 0px 4px 8px rgba(0, 0, 0, .1), 0px 0px 1px 1px rgba(0, 0, 0, .1);
1191
+ z-index: 999999 !important;
1192
+ overflow: hidden !important;
1193
+ }
1194
+
1195
+ .BMMenuSourceNode {
1196
+ display: none !important;
1197
+ }
1198
+
1199
+ @media (prefers-color-scheme: dark) {
1200
+ .BMMenuSourceNodeShadow {
1201
+ box-shadow: 0px 4px 8px rgba(0, 0, 0, .66), 0px 0px 0px 1px rgba(0, 0, 0, .66);
1202
+ }
1203
+ }
1204
+
1205
+ @media (prefers-color-scheme: dark) {
1206
+ .BMLayoutEditorConstraintPopup, .BMMenu {
1207
+ background-color: rgba(50, 50, 50, .75);
1208
+ box-shadow: 0px 4px 8px rgba(0, 0, 0, .66), 0px 0px 0px 1px rgba(0, 0, 0, .66);
1209
+ }
1210
+
1211
+ .BMLayoutEditorConstraintPopup::before, .BMMenu::before {
1212
+ box-shadow: 0px 0px 0px 1px rgba(255, 255, 255, .25) inset;
1213
+ }
1214
+
1215
+ .BMMenuTouch {
1216
+ box-shadow: 0px 4px 8px rgba(0, 0, 0, .33);
1217
+ }
1218
+
1219
+ .BMMenuTouch::before {
1220
+ box-shadow: none;
1221
+ }
1222
+ }
1223
+
1224
+ .BMLayoutEditorConstraintPopupOption, .BMMenuItem {
1225
+ height: 24px;
1226
+ line-height: 24px;
1227
+ vertical-align: middle;
1228
+
1229
+ padding-left: 16px;
1230
+ padding-right: 64px;
1231
+
1232
+ font-family: -apple-system, BlinkMacSystemFont, Roboto, 'Segoe UI', sans-serif !important;
1233
+ font-size: 14px !important;
1234
+ font-weight: 500;
1235
+ color: rgba(0, 0, 0, .8);
1236
+
1237
+ cursor: default;
1238
+
1239
+ display: flex;
1240
+ align-items: center;
1241
+ }
1242
+
1243
+ .BMMenuTouch > .BMMenuItem {
1244
+ height: 44px;
1245
+ line-height: 44px;
1246
+ border-bottom: 1px solid rgba(0, 0, 0, .1);
1247
+ }
1248
+
1249
+ .BMMenuTouch > .BMMenuItem:last-child {
1250
+ border-bottom-width: 0px;
1251
+ }
1252
+
1253
+ .BMMenuIcon {
1254
+ display: inline-block;
1255
+
1256
+ max-width: 24px;
1257
+ max-height: 24px;
1258
+
1259
+ margin-right: 16px;
1260
+ }
1261
+
1262
+ .BMLayoutEditorConstraintPopupOption:hover, .BMMenuItem:hover, .BMMenuTouch > .BMMenuItem:active {
1263
+ background: rgb(0, 128, 255);
1264
+ color: white;
1265
+ }
1266
+
1267
+ .BMLayoutEditorConstraintPopupOption:active, .BMMenuItem:active, .BMMenuTouch > .BMMenuItem:hover {
1268
+ background: transparent;
1269
+ color: rgba(0, 0, 0, .8);
1270
+ }
1271
+
1272
+ .BMLayoutEditorConstraintPopupOptionHighlighted, .BMMenuItemHighlighted {
1273
+ background: rgba(0, 128, 255, .5);
1274
+ }
1275
+
1276
+ @media (prefers-color-scheme: dark) {
1277
+ .BMLayoutEditorConstraintPopupOption, .BMMenuItem {
1278
+ color: rgba(255, 255, 255, .9);
1279
+ }
1280
+
1281
+ .BMLayoutEditorConstraintPopupOption:active, .BMMenuItem:active, .BMMenuTouch > .BMMenuItem:hover {
1282
+ background: transparent;
1283
+ color: white;
1284
+ }
1285
+
1286
+ .BMMenuTouch > .BMMenuItem {
1287
+ border-bottom-color: rgba(255, 255, 255, .1);
1288
+ }
1289
+ }
1290
+
1291
+ .BMLayoutEditorWorkspaceToolbarSizeClass .BMLayoutEditorConstraintPopupOption {
1292
+ color: rgba(255, 255, 255, .9);
1293
+ }
1294
+
1295
+ .BMLayoutEditorWorkspaceToolbarSizeClass .BMLayoutEditorConstraintPopupOption:active {
1296
+ background: transparent;
1297
+ color: white;
1298
+ }
1299
+
1300
+ .BMLayoutEditorEmptyVariableMessage {
1301
+ display: flex;
1302
+ flex-direction: column;
1303
+
1304
+ justify-content: center;
1305
+ align-items: center;
1306
+
1307
+ box-sizing: border-box !important; /* Important needed for Thingworx new composer */
1308
+ padding: 16px;
1309
+ }
1310
+
1311
+ .BMLayoutEditorMessageTitle {
1312
+ font-size: 18px !important;
1313
+ font-weight: 800 !important;
1314
+ margin-bottom: 16px;
1315
+
1316
+ opacity: .75;
1317
+ }
1318
+
1319
+ .BMLayoutEditorMessageDescription {
1320
+ font-size: 12px !important;
1321
+ opacity: .5;
1322
+ text-align: center !important;
1323
+ }
1324
+
1325
+ /* MARK: Layout editor details */
1326
+
1327
+ .BMLayoutEditorDetailsTitle {
1328
+ margin: 0 !important; /* TWX-Important */
1329
+ padding-top: 0 !important; /* TWX-Important */
1330
+ padding-bottom: 0 !important; /* TWX-Important */
1331
+
1332
+ min-height: 32px !important; /* TWX-Important */
1333
+
1334
+ overflow: hidden;
1335
+ white-space: nowrap;
1336
+ text-overflow: ellipsis;
1337
+
1338
+ cursor: default;
1339
+ pointer-events: none;
1340
+ }
1341
+
1342
+ .BMLayoutEditorDetailsBackButton {
1343
+ pointer-events: all;
1344
+ padding-left: 8px !important; /* TWX-Important */
1345
+ padding-right: 8px !important; /* TWX-Important */
1346
+
1347
+ border-radius: 4px;
1348
+ }
1349
+
1350
+
1351
+
1352
+ .BMLayoutEditorDetailsWindow::before {
1353
+ backdrop-filter: blur(15px);
1354
+ -webkit-backdrop-filter: blur(15px);
1355
+ }
1356
+
1357
+ .BMLayoutEditorDetails {
1358
+ width: 344px;
1359
+ height: 100%;
1360
+ overflow: auto;
1361
+ position: absolute;
1362
+ top: 0px;
1363
+ right: 0px;
1364
+
1365
+ box-sizing: border-box !important; /* Important needed for Thingworx new composer */
1366
+
1367
+ background-color: rgba(255, 255, 255, .1);
1368
+
1369
+ display: flex;
1370
+ flex-direction: column;
1371
+
1372
+ /*transition: width .3s ease;*/
1373
+ }
1374
+
1375
+ .BMLayoutEditorDetailsView {
1376
+ background-color: rgba(200, 200, 200, .1);
1377
+ overflow: hidden;
1378
+ }
1379
+
1380
+ .BMLayoutEditorDetailsPanel {
1381
+ background-color: #F0F0F0;
1382
+ }
1383
+
1384
+ @media (prefers-color-scheme: dark) {
1385
+ .BMLayoutEditorDetails {
1386
+ background-color: rgba(255, 255, 255, .1);
1387
+ }
1388
+
1389
+ .BMLayoutEditorDetailsView {
1390
+ background-color: rgba(0, 0, 0, .1);
1391
+ }
1392
+
1393
+ .BMLayoutEditorDetailsPanel {
1394
+ background-color: rgba(0, 0, 0, .2);
1395
+ }
1396
+ }
1397
+
1398
+ .BMLayoutEditorDetailsContent {
1399
+ left: 0px;
1400
+ top: 56px;
1401
+ right: 0px;
1402
+
1403
+ display: flex;
1404
+ flex-direction: column;
1405
+ }
1406
+
1407
+ .BMLayoutEditorDetailsDivider, .BMMenuDivider {
1408
+ width: 100%;
1409
+ height: 1px;
1410
+
1411
+ margin-top: 8px;
1412
+ margin-bottom: 8px;
1413
+
1414
+ background: rgba(0, 0, 0, .05);
1415
+
1416
+ flex-shrink: 0;
1417
+ }
1418
+
1419
+ .BMLayoutEditorDetailsDividerCell {
1420
+ background: rgba(0, 0, 0, .05);
1421
+ }
1422
+
1423
+ @media (prefers-color-scheme: dark) {
1424
+ .BMLayoutEditorDetailsDivider, .BMLayoutEditorDetailsDividerCell, .BMMenuDivider {
1425
+ background: rgba(255, 255, 255, .05);
1426
+ }
1427
+ }
1428
+
1429
+ .BMLayoutEditorDetailsItem {
1430
+ height: 32px;
1431
+ width: 100%;
1432
+
1433
+ display: flex;
1434
+ flex-direction: row;
1435
+
1436
+ font-family: -apple-system, BlinkMacSystemFont, Roboto, 'Segoe UI', sans-serif !important;
1437
+ font-size: 12px !important;
1438
+
1439
+ flex-shrink: 0;
1440
+ }
1441
+
1442
+ BMLayoutEditorDetailsItemBadge {
1443
+ height: 16px;
1444
+
1445
+ border: 1px solid rgba(0, 0, 0, .1);
1446
+ border-radius: 3px;
1447
+ box-sizing: border-box !important; /* Important needed for Thingworx new composer */
1448
+
1449
+ font-size: 11px !important;
1450
+ color: rgba(0, 0, 0, .33) !important;
1451
+ line-height: 14px !important;
1452
+ vertical-align: middle !important;
1453
+
1454
+ padding-left: 4px !important;
1455
+ padding-right: 4px !important;
1456
+
1457
+ position: relative;
1458
+ margin-right: 8px;
1459
+ top: -1px;
1460
+ display: inline-block;
1461
+ }
1462
+
1463
+ .BMLayoutEditorDetailsItemBadgeIcon {
1464
+ width: 16px;
1465
+ height: 16px;
1466
+
1467
+ background-size: 16px 16px;
1468
+
1469
+ position: relative;
1470
+ margin-right: 8px;
1471
+ top: 4px;
1472
+ display: inline-block;
1473
+ }
1474
+
1475
+ @media (prefers-color-scheme: dark) {
1476
+
1477
+ .BMLayoutEditorDetailsItemBadgeIcon {
1478
+ filter: invert(100%);
1479
+ transform: translateZ(0);
1480
+ -webkit-transform: translateZ(0);
1481
+ }
1482
+
1483
+ .BMLayoutEditorDetailsItemBadge {
1484
+ border-color: rgba(255, 255, 255, .1);
1485
+ color: rgba(255, 255, 255, .33) !important;
1486
+ }
1487
+ }
1488
+
1489
+ .BMLayoutEditorDetailsItemTitle {
1490
+ height: 32px;
1491
+ width: 128px;
1492
+
1493
+ text-align: right;
1494
+
1495
+ line-height: 32px;
1496
+ vertical-align: middle;
1497
+
1498
+ box-sizing: border-box !important; /* Important needed for Thingworx new composer */
1499
+ padding-right: 8px;
1500
+
1501
+ cursor: default;
1502
+ }
1503
+
1504
+ .BMLayoutEditorDetailsTitleCell, .BMLayoutEditorDetailsItemTitle {
1505
+ color: rgba(0, 0, 0, .33);
1506
+ font-size: 11px !important;
1507
+ font-weight: 500 !important;
1508
+ cursor: default;
1509
+
1510
+ overflow: hidden;
1511
+ white-space: nowrap;
1512
+ text-overflow: ellipsis;
1513
+
1514
+ user-select: none;
1515
+ -ms-user-select: none;
1516
+ -moz-user-select: none;
1517
+ -webkit-user-select: none;
1518
+ }
1519
+
1520
+ @media (prefers-color-scheme: dark) {
1521
+ .BMLayoutEditorDetailsTitleCell, .BMLayoutEditorDetailsItemTitle {
1522
+ color: rgba(255, 255, 255, .33);
1523
+ }
1524
+ }
1525
+
1526
+ .BMLayoutEditorViewDetails .BMLayoutEditorDetailsItemTitle {
1527
+ width: 192px;
1528
+ flex-shrink: 0;
1529
+ }
1530
+
1531
+ .BMLayoutEditorSubviewDetailsCollapsed {
1532
+ overflow: hidden;
1533
+ }
1534
+
1535
+ .BMLayoutEditorSubviewDetails > .BMLayoutEditorDetailsConstraintItem, .BMLayoutEditorSubviewDetails > .BMLayoutEditorDetailsItem {
1536
+ margin-left: 16px;
1537
+ }
1538
+
1539
+ .BMLayoutEditorSubviewDetails > .BMLayoutEditorDetailsItem > .BMLayoutEditorDetailsItemTitle {
1540
+ width: 300px !important;
1541
+ }
1542
+
1543
+ .BMLayoutEditorDetailsItemVariationsButton {
1544
+ color: rgba(0, 0, 0, .5);
1545
+ text-align: center;
1546
+ vertical-align: middle;
1547
+
1548
+ border-radius: 12px;
1549
+ cursor: default;
1550
+
1551
+ opacity: 0;
1552
+ transition: opacity .2s ease-in-out;
1553
+ }
1554
+
1555
+ .BMLayoutEditorDetailsItemVariationsButton:active {
1556
+ background-color: rgba(0, 0, 0, .1);
1557
+ }
1558
+
1559
+ .BMLayoutEditorDetailsCell:hover .BMLayoutEditorDetailsItemVariationsButton {
1560
+ opacity: 1;
1561
+ }
1562
+
1563
+ @media (prefers-color-scheme: dark) {
1564
+ .BMLayoutEditorDetailsItemVariationsButton {
1565
+ color: rgba(255, 255, 255, .5);
1566
+ }
1567
+
1568
+ .BMLayoutEditorDetailsItemVariationsButton:active {
1569
+ background-color: rgba(255, 255, 255, .1);
1570
+ }
1571
+ }
1572
+
1573
+ .BMLayoutEditorDetailsItemVariationsButton > i {
1574
+ font-size: 16px !important;
1575
+ line-height: 24px !important;
1576
+ }
1577
+
1578
+ .BMLayoutEditorDetailsItemNumericValue, .BMLayoutEditorDetailsItemTextValue {
1579
+ height: 32px !important;
1580
+ }
1581
+
1582
+ .BMLayoutEditorDetailsItemNumericValue[type='number'] {
1583
+ -moz-appearance:textfield;
1584
+ }
1585
+
1586
+ .BMLayoutEditorDetailsItemNumericValue::-webkit-outer-spin-button,
1587
+ .BMLayoutEditorDetailsItemNumericValue::-webkit-inner-spin-button {
1588
+ -webkit-appearance: none;
1589
+ }
1590
+
1591
+ .BMLayoutEditorDetailsItemReadonlyValue, .BMLayoutEditorDetailsItemNumericValue, .BMLayoutEditorDetailsItemTextValue {
1592
+ flex-grow: 1 !important;
1593
+
1594
+ text-align: left;
1595
+ color: rgba(0, 0, 0, .8);
1596
+
1597
+ font-size: 12px !important;
1598
+ line-height: 32px !important;
1599
+ vertical-align: middle;
1600
+
1601
+ box-sizing: border-box !important;
1602
+ padding-left: 8px !important;
1603
+ padding-top: 0px !important;
1604
+ padding-bottom: 0px !important;
1605
+ }
1606
+
1607
+ @media (prefers-color-scheme: dark) {
1608
+ .BMLayoutEditorDetailsItemReadonlyValue, .BMLayoutEditorDetailsItemNumericValue, .BMLayoutEditorDetailsItemTextValue {
1609
+ color: rgba(255, 255, 255, .9);
1610
+ }
1611
+ }
1612
+
1613
+ .BMLayoutEditorDetailsItemReadonlyValueCell {
1614
+ line-height: 24px !important;
1615
+ min-height: 24px !important;
1616
+ }
1617
+
1618
+ .BMLayoutEditorDetailsItemReadonlyValue {
1619
+ padding-left: 16px !important;
1620
+ }
1621
+
1622
+ .BMLayoutEditorDetailsItemReadonlyValueClickable {
1623
+ margin-right: 8px;
1624
+ border-radius: 4px;
1625
+
1626
+ transition: background-color .2s ease;
1627
+
1628
+ min-height: 24px !important;
1629
+ line-height: 24px !important;
1630
+
1631
+ margin-top: 4px !important;
1632
+ margin-bottom: 4px !important;
1633
+
1634
+ cursor: default;
1635
+ }
1636
+
1637
+ .BMLayoutEditorDetailsItemReadonlyValueClickable:hover {
1638
+ background-color: rgba(0, 0, 0, .1);
1639
+ }
1640
+
1641
+ .BMLayoutEditorDetailsItemReadonlyValueClickable:active {
1642
+ background-color: rgba(0, 0, 0, .2);
1643
+ }
1644
+
1645
+ @media (prefers-color-scheme: dark) {
1646
+ .BMLayoutEditorDetailsItemReadonlyValueClickable:hover {
1647
+ background-color: rgba(255, 255, 255, .1);
1648
+ }
1649
+
1650
+ .BMLayoutEditorDetailsItemReadonlyValueClickable:active {
1651
+ background-color: rgba(255, 255, 255, .2);
1652
+ }
1653
+ }
1654
+
1655
+ .BMLayoutEditorDetailsItemViewLink {
1656
+ color: rgba(0, 0, 0, .33) !important;
1657
+ font-size: 16px !important;
1658
+ }
1659
+
1660
+ @media (prefers-color-scheme: dark) {
1661
+ .BMLayoutEditorDetailsItemViewLink {
1662
+ color: rgba(255, 255, 255, .33) !important;
1663
+ }
1664
+ }
1665
+
1666
+ .BMLayoutEditorDetailsConstraintItem {
1667
+ margin-left: 8px;
1668
+ margin-right: 8px;
1669
+ margin-bottom: 8px;
1670
+
1671
+ padding: 4px;
1672
+
1673
+ border-radius: 4px;
1674
+ border: 1px solid rgba(0, 0, 0, .25);
1675
+
1676
+ font-family: -apple-system, BlinkMacSystemFont, Roboto, 'Segoe UI', sans-serif !important;
1677
+ font-size: 12px !important;
1678
+ color: rgba(0, 0, 0, .8);
1679
+
1680
+ cursor: default;
1681
+
1682
+ transition: background-color .2s ease;
1683
+ }
1684
+
1685
+ .BMLayoutEditorDetailsConstraintItem.BMLayoutEditorDetailsConstraintItemCell {
1686
+ margin: 0;
1687
+ box-sizing: border-box;
1688
+ font-size: 11px !important;
1689
+ font-weight: 500 !important;
1690
+ }
1691
+
1692
+ .BMLayoutEditorDetailsConstraintItem:hover {
1693
+ background-color: rgba(0, 0, 0, .1);
1694
+ }
1695
+
1696
+ .BMLayoutEditorDetailsConstraintItem:active {
1697
+ background-color: rgba(0, 0, 0, .2);
1698
+ }
1699
+
1700
+ .BMLayoutEditorDetailsConstraintItemReadonly {
1701
+ border-color: rgba(0, 0, 0, .1);
1702
+ }
1703
+
1704
+ .BMLayoutEditorDetailsConstraintItemInactive {
1705
+ text-decoration-line: line-through;
1706
+ text-decoration-color: rgba(0, 0, 0, .5);
1707
+ }
1708
+
1709
+ @media (prefers-color-scheme: dark) {
1710
+ .BMLayoutEditorDetailsConstraintItem {
1711
+ border: 1px solid rgba(255, 255, 255, .25);
1712
+ color: rgba(255, 255, 255, .9);
1713
+ }
1714
+
1715
+ .BMLayoutEditorDetailsConstraintItem:hover {
1716
+ background-color: rgba(255, 255, 255, .1);
1717
+ }
1718
+
1719
+ .BMLayoutEditorDetailsConstraintItem:active {
1720
+ background-color: rgba(255, 255, 255, .2);
1721
+ }
1722
+
1723
+ .BMLayoutEditorDetailsConstraintItemReadonly {
1724
+ border-color: rgba(255, 255, 255, .1);
1725
+ }
1726
+
1727
+ .BMLayoutEditorDetailsConstraintItemInactive {
1728
+ text-decoration-line: line-through;
1729
+ text-decoration-color: rgba(255, 255, 255, .5);
1730
+ }
1731
+ }
1732
+
1733
+ .BMLayoutEditorDetailsBoxIndicator {
1734
+ box-sizing: border-box;
1735
+ border: 1px solid rgba(0, 0, 0, .33);
1736
+ }
1737
+
1738
+ .BMLayoutEditorDetailsWidthIndicator {
1739
+ position: absolute;
1740
+
1741
+ width: 100%;
1742
+ height: 1px;
1743
+
1744
+ top: -8px;
1745
+ left: 0px;
1746
+
1747
+ background-color: rgba(0, 0, 0, .33);
1748
+ }
1749
+
1750
+ .BMLayoutEditorDetailsWidthIndicator::after, .BMLayoutEditorDetailsInsetBottomRightIndicator::before {
1751
+ /* right arrow */
1752
+ content: '';
1753
+ position: absolute;
1754
+
1755
+ width: 0;
1756
+ height: 0;
1757
+ left: 0;
1758
+ top: -3.5px;
1759
+
1760
+ border-style: solid;
1761
+ border-width: 4px 4px 4px 0;
1762
+ border-color: transparent rgba(0, 0, 0, .33) transparent transparent;
1763
+ }
1764
+
1765
+ .BMLayoutEditorDetailsWidthIndicator::before, .BMLayoutEditorDetailsInsetTopLeftIndicator::after {
1766
+ /* left arrow */
1767
+ content: '';
1768
+ position: absolute;
1769
+
1770
+ width: 0;
1771
+ height: 0;
1772
+ left: calc(100% - 4px);
1773
+ top: -3.5px;
1774
+
1775
+ border-style: solid;
1776
+ border-width: 4px 0px 4px 4px;
1777
+ border-color: transparent transparent transparent rgba(0, 0, 0, .33);
1778
+ }
1779
+
1780
+ .BMLayoutEditorDetailsHeightIndicator {
1781
+ position: absolute;
1782
+
1783
+ width: 1px;
1784
+ height: 100%;
1785
+
1786
+ top: 0px;
1787
+ left: -8px;
1788
+
1789
+ background-color: rgba(0, 0, 0, .33);
1790
+ }
1791
+
1792
+ .BMLayoutEditorDetailsHeightIndicator::after, .BMLayoutEditorDetailsInsetBottomRightIndicator::after {
1793
+ /* top arrow */
1794
+ content: '';
1795
+ position: absolute;
1796
+
1797
+ width: 0;
1798
+ height: 0;
1799
+ top: 0;
1800
+ left: -3.5px;
1801
+
1802
+ border-style: solid;
1803
+ border-width: 0 4px 4px 4px;
1804
+ border-color: transparent transparent rgba(0, 0, 0, .33) transparent;
1805
+ }
1806
+
1807
+ .BMLayoutEditorDetailsHeightIndicator::before, .BMLayoutEditorDetailsInsetTopLeftIndicator::before {
1808
+ /* bottom arrow */
1809
+ content: '';
1810
+ position: absolute;
1811
+
1812
+ width: 0;
1813
+ height: 0;
1814
+ top: calc(100% - 4px);
1815
+ left: -3.5px;
1816
+
1817
+ border-style: solid;
1818
+ border-width: 4px 4px 0 4px;
1819
+ border-color: rgba(0, 0, 0, .33) transparent transparent transparent;
1820
+ }
1821
+
1822
+ .BMLayoutEditorDetailsInsetTopLeftIndicator, .BMLayoutEditorDetailsInsetBottomRightIndicator {
1823
+ position: absolute;
1824
+
1825
+ left: 8px;
1826
+ top: 8px;
1827
+ right: 8px;
1828
+ bottom: 8px;
1829
+
1830
+ box-sizing: border-box;
1831
+ }
1832
+
1833
+ .BMLayoutEditorDetailsInsetTopLeftIndicator {
1834
+ border-left: 1px dashed rgba(0, 0, 0, .33);
1835
+ border-top: 1px dashed rgba(0, 0, 0, .33);
1836
+ }
1837
+
1838
+ .BMLayoutEditorDetailsInsetTopLeftIndicator::after {
1839
+ left: -7px;
1840
+ top: calc(50% - 3.5px);
1841
+ }
1842
+
1843
+ .BMLayoutEditorDetailsInsetTopLeftIndicator::before {
1844
+ top: -7px;
1845
+ left: calc(50% - 3.5px);
1846
+ }
1847
+
1848
+ .BMLayoutEditorDetailsInsetBottomRightIndicator {
1849
+ border-right: 1px dashed rgba(0, 0, 0, .33);
1850
+ border-bottom: 1px dashed rgba(0, 0, 0, .33);
1851
+ }
1852
+
1853
+ .BMLayoutEditorDetailsInsetBottomRightIndicator::after {
1854
+ left: unset;
1855
+ top: unset;
1856
+
1857
+ bottom: -7px;
1858
+ right: calc(50% - 3.5px);
1859
+ }
1860
+
1861
+ .BMLayoutEditorDetailsInsetBottomRightIndicator::before {
1862
+ left: unset;
1863
+ top: unset;
1864
+
1865
+ right: -7px;
1866
+ bottom: calc(50% - 3.5px);
1867
+ }
1868
+
1869
+ @media (prefers-color-scheme: dark) {
1870
+ .BMLayoutEditorDetailsBoxIndicator {
1871
+ border: 1px solid rgba(255, 255, 255, .33);
1872
+ }
1873
+
1874
+ .BMLayoutEditorDetailsWidthIndicator, .BMLayoutEditorDetailsHeightIndicator {
1875
+ background-color: rgba(255, 255, 255, .33);
1876
+ }
1877
+
1878
+ .BMLayoutEditorDetailsWidthIndicator::after, .BMLayoutEditorDetailsInsetBottomRightIndicator::before {
1879
+ border-color: transparent rgba(255, 255, 255, .33) transparent transparent;
1880
+ }
1881
+
1882
+ .BMLayoutEditorDetailsWidthIndicator::before, .BMLayoutEditorDetailsInsetTopLeftIndicator::after {
1883
+ border-color: transparent transparent transparent rgba(255, 255, 255, .33);
1884
+ }
1885
+
1886
+ .BMLayoutEditorDetailsHeightIndicator::after, .BMLayoutEditorDetailsInsetBottomRightIndicator::after {
1887
+ border-color: transparent transparent rgba(255, 255, 255, .33) transparent;
1888
+ }
1889
+
1890
+ .BMLayoutEditorDetailsHeightIndicator::before, .BMLayoutEditorDetailsInsetTopLeftIndicator::before {
1891
+ border-color: rgba(255, 255, 255, .33) transparent transparent transparent;
1892
+ }
1893
+
1894
+ .BMLayoutEditorDetailsInsetTopLeftIndicator {
1895
+ border-left: 1px dashed rgba(255, 255, 255, .33);
1896
+ border-top: 1px dashed rgba(255, 255, 255, .33);
1897
+ }
1898
+
1899
+
1900
+ .BMLayoutEditorDetailsInsetBottomRightIndicator {
1901
+ border-right: 1px dashed rgba(255, 255, 255, .33);
1902
+ border-bottom: 1px dashed rgba(255, 255, 255, .33);
1903
+ }
1904
+ }
1905
+
1906
+ .BMLayoutEditorDetailsConstraintItemReadonly:hover, .BMLayoutEditorDetailsConstraintItemReadonly:active {
1907
+ background: transparent;
1908
+ }
1909
+
1910
+ .BMLayoutEditorDetailsConstraintItemStrong {
1911
+ border-style: dashed;
1912
+ }
1913
+
1914
+ .BMLayoutEditorDetailsConstraintItemWeak {
1915
+ border-style: dotted;
1916
+ }
1917
+
1918
+ .BMLayoutEditorDetailsItemNumericValue, .BMLayoutEditorDetailsItemTextValue {
1919
+ height: 24px !important;
1920
+ line-height: 24px !important;
1921
+
1922
+ margin-top: 4px !important;
1923
+ margin-bottom: 4px !important;
1924
+
1925
+ max-width: none !important;
1926
+ }
1927
+
1928
+ /* MARK: Layout editor tree */
1929
+
1930
+ .BMLayoutTreeView {
1931
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;
1932
+ font-size: 11px;
1933
+ }
1934
+
1935
+ .BMLayoutTreeViewEntity {
1936
+ padding-left: 8px;
1937
+ padding-right: 8px;
1938
+
1939
+ padding-top: 4px;
1940
+ padding-bottom: 4px;
1941
+
1942
+ white-space: nowrap;
1943
+ overflow: hidden;
1944
+ text-overflow: ellipsis;
1945
+ cursor: default;
1946
+
1947
+ transition: background-color .2s ease, color .2s ease;
1948
+
1949
+ position: relative;
1950
+ }
1951
+
1952
+ @media (prefers-color-scheme: dark) {
1953
+ .BMLayoutTreeViewEntity {
1954
+ color: rgba(255, 255, 255, .8);
1955
+ }
1956
+ }
1957
+
1958
+ .BMLayoutTreeViewTitle {
1959
+ font-weight: 600;
1960
+ }
1961
+
1962
+ .BMLayoutTreeViewConstraintsTitle {
1963
+ color: rgba(0, 0, 0, .75);
1964
+ }
1965
+
1966
+ @media (prefers-color-scheme: dark) {
1967
+ .BMLayoutTreeViewConstraintsTitle {
1968
+ color: rgba(255, 255, 255, .8);
1969
+ }
1970
+ }
1971
+
1972
+ .BMLayoutTreeViewEntitySelected {
1973
+ border-radius: 4px;
1974
+ background-color: rgba(0, 128, 255, 1);
1975
+ box-shadow: 0px 0px 1px 1px rgba(0, 0, 0, .1) inset;
1976
+ color: white;
1977
+
1978
+ border-radius: 4px;
1979
+ }
1980
+
1981
+ .BMLayoutTreeViewContainer {
1982
+ padding-left: 8px;
1983
+ max-height: 0px;
1984
+ opacity: 0;
1985
+ overflow-y: hidden;
1986
+
1987
+ transition: all .3s ease;
1988
+
1989
+ position: relative;
1990
+ }
1991
+
1992
+ .BMLayoutTreeViewConstraintsContainer {
1993
+ padding-left: 24px;
1994
+ }
1995
+
1996
+ .BMLayoutTreeViewConstraintsContainer::before {
1997
+ content: '';
1998
+ position: absolute;
1999
+
2000
+ width: 1px;
2001
+ height: 100%;
2002
+ top: 0px;
2003
+ left: 15px;
2004
+
2005
+ background-color: rgba(0, 0, 0, .1);
2006
+ }
2007
+
2008
+ @media (prefers-color-scheme: dark) {
2009
+ .BMLayoutTreeViewConstraintsContainer::before {
2010
+ background-color: rgba(255, 255, 255, .15);
2011
+ }
2012
+ }
2013
+
2014
+ .BMLayoutTreeViewContainerExpanded {
2015
+ max-height: 8000px;
2016
+ opacity: 1;
2017
+ }
2018
+
2019
+ .BMDisclosureTriangle {
2020
+ width: 0;
2021
+ height: 0;
2022
+ border-style: solid;
2023
+ border-width: 4px 0 4px 6px;
2024
+ border-color: transparent transparent transparent rgba(0, 0, 0, .33);
2025
+ transition: transform .2s ease;
2026
+ display: inline-block;
2027
+ margin-left: 4px;
2028
+ margin-right: 4px;
2029
+ }
2030
+
2031
+ .BMLayoutEditorViewDetails > .BMLayoutEditorDetailsItem > .BMDisclosureTriangle,
2032
+ .BMLayoutEditorViewTabDetails > .BMLayoutEditorDetailsItem > .BMDisclosureTriangle {
2033
+ border-width: 6px 0 6px 9px;
2034
+
2035
+ position: relative;
2036
+ top: 6px;
2037
+ left: 12px;
2038
+ }
2039
+
2040
+ @media (prefers-color-scheme: dark) {
2041
+ .BMDisclosureTriangle {
2042
+ border-color: transparent transparent transparent rgba(255, 255, 255, 0.33);
2043
+ }
2044
+ }
2045
+
2046
+ .BMDisclosureTriangleExpanded {
2047
+ transform: rotate(90deg);
2048
+ }
2049
+
2050
+ .BMLayoutEditorManagedView {
2051
+ pointer-events: none !important;
2052
+ }
2053
+
2054
+ .BMLayoutEditorInvisibleView {
2055
+ opacity: .5 !important;
2056
+ }
2057
+
2058
+ .BMLayoutEditorInvisibleView::after {
2059
+ content: '';
2060
+ position: absolute;
2061
+ top: 0px;
2062
+ left: 0px;
2063
+ width: 100%;
2064
+ height: 100%;
2065
+ background:
2066
+ /* On "top" */
2067
+ repeating-linear-gradient(
2068
+ 45deg,
2069
+ transparent,
2070
+ transparent 8px,
2071
+ rgba(0, 128, 255, .5) 8px,
2072
+ rgba(0, 128, 255, .5) 10px
2073
+ );
2074
+ }
2075
+
2076
+ /* MARK: View selectors */
2077
+
2078
+ .BMLayoutEditorViewSelector {
2079
+ position: absolute;
2080
+ width: 100%;
2081
+ height: 100%;
2082
+ left: 0px;
2083
+ top: 0px;
2084
+
2085
+ box-sizing: border-box !important; /* Important needed for Thingworx new composer */
2086
+
2087
+ pointer-events: all !important;
2088
+
2089
+ border: 2px solid transparent;
2090
+
2091
+ /* Sadly needed for Thingworx environment */
2092
+ z-index: 10;
2093
+ cursor: default;
2094
+ }
2095
+
2096
+ .BMWindowDragHandle.BMLayoutEditorViewDragHandle {
2097
+ color: transparent;
2098
+ pointer-events: none;
2099
+ right: 0;
2100
+ bottom: 0;
2101
+ }
2102
+
2103
+ .BMLayoutEditorXRay .BMLayoutEditorViewSelector {
2104
+ border: 1px solid rgba(128, 128, 128, 1);
2105
+ visibility: visible;
2106
+ }
2107
+
2108
+ .BMLayoutEditorXRay .BMLayoutEditorManagedView > *:not(.BMLayoutEditorViewSelector, .BMLayoutEditorLeadLine, .BMLayoutEditorConstraint) {
2109
+ visibility: hidden;
2110
+ }
2111
+
2112
+ .BMLayoutEditorXRay .BMLayoutEditorManagedView {
2113
+ visibility: visible;
2114
+ background-color: transparent !important;
2115
+ }
2116
+
2117
+ .BMLayoutEditorViewSelector.BMLayoutEditorViewSelectorSelected {
2118
+ border: 1px solid rgba(0, 128, 255, 1);
2119
+ }
2120
+
2121
+ .BMLayoutEditorViewSelectorSelected > .BMWindowDragHandle.BMLayoutEditorViewDragHandle {
2122
+ color: rgba(0, 128, 255, 1);
2123
+ pointer-events: all;
2124
+ }
2125
+
2126
+ .BMLayoutEditorWorkspaceInvalidLayout .BMLayoutEditorViewSelector.BMLayoutEditorViewSelectorSelected {
2127
+ border-color: red;
2128
+ }
2129
+
2130
+ .BMLayoutEditorViewSelector.BMLayoutEditorViewSelectorConstrained {
2131
+ border: 1px solid rgb(255, 251, 0);
2132
+ }
2133
+
2134
+ .BMLayoutEditorXRay .BMLayoutEditorViewSelector.BMLayoutEditorViewSelectorConstrained {
2135
+ border: 1px solid rgb(255, 196, 0);
2136
+ }
2137
+
2138
+ .BMLayoutEditorNoShadow .BMLayoutEditorViewSelector {
2139
+ display: none !important;
2140
+ }
2141
+
2142
+ .BMLayoutEditorNoShadow .BMLayoutEditorConstraint {
2143
+ display: none !important;
2144
+ }
2145
+
2146
+ /* MARK: Constraints */
2147
+
2148
+ .BMLayoutEditorHorizontalConstraintLine {
2149
+ position: absolute;
2150
+ left: 0px;
2151
+ height: 1px;
2152
+ width: 100%;
2153
+ top: 1px;
2154
+
2155
+ border-bottom: 1px solid rgba(0, 128, 255, 1);
2156
+
2157
+ cursor: pointer;
2158
+ }
2159
+
2160
+ .BMLayoutEditorWorkspaceInvalidLayout .BMLayoutEditorHorizontalConstraintLine {
2161
+ border-bottom-color: red;
2162
+ }
2163
+
2164
+ .BMLayoutEditorConstraintLineOptional.BMLayoutEditorHorizontalConstraintLine {
2165
+ border-bottom-style: dotted;
2166
+ }
2167
+
2168
+ .BMLayoutEditorVerticalConstraintLine {
2169
+ position: absolute;
2170
+ left: 1px;
2171
+ height: 100%;
2172
+ width: 1px;
2173
+ top: 0px;
2174
+
2175
+ border-right: 1px solid rgba(0, 128, 255, 1);
2176
+ }
2177
+
2178
+ .BMLayoutEditorWorkspaceInvalidLayout .BMLayoutEditorVerticalConstraintLine {
2179
+ border-right-color: red;
2180
+ }
2181
+
2182
+ .BMLayoutEditorConstraintLineOptional.BMLayoutEditorVerticalConstraintLine {
2183
+ border-right-style: dotted;
2184
+ }
2185
+
2186
+ .BMLayoutEditorVerticalLeadLine {
2187
+ border-left: 1px dashed rgba(0, 128, 255, 1);
2188
+ position: absolute;
2189
+ }
2190
+
2191
+ .BMLayoutEditorWorkspaceInvalidLayout .BMLayoutEditorVerticalLeadLine {
2192
+ border-left-color: red;
2193
+ }
2194
+
2195
+ .BMLayoutEditorHorizontalLeadLine {
2196
+ border-top: 1px dashed rgba(0, 128, 255, 1);
2197
+ position: absolute;
2198
+ }
2199
+
2200
+ .BMLayoutEditorWorkspaceInvalidLayout .BMLayoutEditorHorizontalLeadLine {
2201
+ border-top-color: red;
2202
+ }
2203
+
2204
+ .BMLayoutEditorSubviewConstraint {
2205
+ visibility: hidden;
2206
+ }
2207
+
2208
+ .BMLayoutEditorConstraint {
2209
+ position: absolute;
2210
+ pointer-events: all !important;
2211
+
2212
+ cursor: pointer;
2213
+
2214
+ /* Needed for Thingworx environment */
2215
+ z-index: 999998;
2216
+ }
2217
+
2218
+ .BMLayoutEditorHorizontalConstraint::after {
2219
+ content: '';
2220
+ position: absolute;
2221
+ left: 0px;
2222
+ height: 100%;
2223
+ width: 1px;
2224
+ top: 0px;
2225
+
2226
+ background-color: rgba(0, 128, 255, 1);
2227
+ }
2228
+
2229
+ .BMLayoutEditorHorizontalConstraint::before {
2230
+ content: '';
2231
+ position: absolute;
2232
+ left: calc(100% - 1px);
2233
+ height: 100%;
2234
+ width: 1px;
2235
+ top: 0px;
2236
+
2237
+ background-color: rgba(0, 128, 255, 1);
2238
+ }
2239
+
2240
+ .BMLayoutEditorHorizontalConstraint.BMLayoutEditorConstraintLess::before, .BMLayoutEditorHorizontalConstraint.BMLayoutEditorConstraintGreater::after {
2241
+ width: 0;
2242
+ height: 0;
2243
+ border-style: solid;
2244
+ border-width: 3px 4px 3px 0;
2245
+ border-color: transparent rgba(0, 128, 255, 1) transparent transparent;
2246
+ background-color: transparent;
2247
+ }
2248
+
2249
+ .BMLayoutEditorHorizontalConstraint.BMLayoutEditorConstraintGreater::before, .BMLayoutEditorHorizontalConstraint.BMLayoutEditorConstraintLess::after {
2250
+ width: 0;
2251
+ height: 0;
2252
+ border-style: solid;
2253
+ border-width: 3px 0 3px 4px;
2254
+ border-color: transparent transparent transparent rgba(0, 128, 255, 1);
2255
+ background-color: transparent;
2256
+ }
2257
+
2258
+ .BMLayoutEditorHorizontalConstraint.BMLayoutEditorConstraintGreater::before, .BMLayoutEditorHorizontalConstraint.BMLayoutEditorConstraintLess::before {
2259
+ left: calc(100% - 4px);
2260
+ }
2261
+
2262
+ .BMLayoutEditorVerticalConstraint::after {
2263
+ content: '';
2264
+ position: absolute;
2265
+ left: 0px;
2266
+ height: 1px;
2267
+ width: 100%;
2268
+ top: 0px;
2269
+
2270
+ background-color: rgba(0, 128, 255, 1);
2271
+ }
2272
+
2273
+ .BMLayoutEditorVerticalConstraint::before {
2274
+ content: '';
2275
+ position: absolute;
2276
+ top: calc(100% - 1px);
2277
+ height: 1px;
2278
+ width: 100%;
2279
+ left: 0px;
2280
+
2281
+ background-color: rgba(0, 128, 255, 1);
2282
+ }
2283
+
2284
+ .BMLayoutEditorVerticalConstraint.BMLayoutEditorConstraintLess::before, .BMLayoutEditorVerticalConstraint.BMLayoutEditorConstraintGreater::after {
2285
+ width: 0;
2286
+ height: 0;
2287
+ border-style: solid;
2288
+ border-width: 0 3px 4px 3px;
2289
+ border-color: transparent transparent rgba(0, 128, 255, 1) transparent;
2290
+ background-color: transparent;
2291
+ left: -0.5px;
2292
+ }
2293
+
2294
+ .BMLayoutEditorVerticalConstraint.BMLayoutEditorConstraintGreater::before, .BMLayoutEditorVerticalConstraint.BMLayoutEditorConstraintLess::after {
2295
+ width: 0;
2296
+ height: 0;
2297
+ border-style: solid;
2298
+ border-width: 4px 3px 0 3px;
2299
+ border-color: rgba(0, 128, 255, 1) transparent transparent transparent;
2300
+ background-color: transparent;
2301
+ left: -0.5px;
2302
+ }
2303
+
2304
+ .BMLayoutEditorVerticalConstraint.BMLayoutEditorConstraintGreater::before, .BMLayoutEditorVerticalConstraint.BMLayoutEditorConstraintLess::before {
2305
+ top: calc(100% - 4px);
2306
+ }
2307
+
2308
+ .BMLayoutEditorWorkspaceInvalidLayout .BMLayoutEditorConstraint::after, .BMLayoutEditorWorkspaceInvalidLayout .BMLayoutEditorConstraint::before {
2309
+ background-color: red;
2310
+ }
2311
+
2312
+ .BMLayoutEditorImageButton {
2313
+ width: 32px;
2314
+ height: 32px;
2315
+ margin: 8px;
2316
+
2317
+ transition: opacity .2s ease;
2318
+ opacity: 1;
2319
+
2320
+ background-size: 32px 32px;
2321
+ }
2322
+
2323
+ .BMLayoutEditorTouchHandler {
2324
+ position: absolute;
2325
+ left: 16px;
2326
+ bottom: 16px;
2327
+ outline: 4px solid transparent !important;
2328
+ line-height: 32px;
2329
+ padding-left: 16px;
2330
+ padding-right: 16px;
2331
+ line-height: 32px;
2332
+
2333
+ z-index: 999999999999;
2334
+ }
2335
+
2336
+ .BMLayoutEditorTouchHandlerActive {
2337
+ outline: 4px solid rgba(160, 230, 255, 1) !important;
2338
+ }
2339
+
2340
+ .BMLayoutEditorImageButton:active {
2341
+ opacity: .75;
2342
+ }
2343
+
2344
+ @media (prefers-color-scheme: dark) {
2345
+ .BMLayoutEditorImageButton {
2346
+ filter: invert(100%);
2347
+ transform: translateZ(0);
2348
+ -webkit-transform: translateZ(0);
2349
+ }
2350
+ }
2351
+
2352
+ /* MARK: Popover windows */
2353
+
2354
+ .BMPopover {
2355
+ position: absolute;
2356
+ }
2357
+
2358
+ .BMPopoverOverlay {
2359
+ position: absolute;
2360
+
2361
+ width: 100%;
2362
+ height: 100%;
2363
+
2364
+ left: 0px;
2365
+ top: 0px;
2366
+
2367
+ z-index: 9999999; /* :( */
2368
+
2369
+ backdrop-filter: none !important;
2370
+ -webkit-backdrop-filter: none !important;
2371
+ }
2372
+
2373
+ .BMPopoverContainer {
2374
+ position: absolute;
2375
+
2376
+ z-index: 9999999; /* :( */
2377
+
2378
+ display: flex;
2379
+ flex-direction: column;
2380
+ flex-grow: 1;
2381
+ width: 100%;
2382
+
2383
+ padding-top: 8px;
2384
+
2385
+ overflow: auto;
2386
+ box-sizing: border-box !important; /* Important needed for Thingworx new composer */
2387
+ }
2388
+
2389
+ .BMPopoverContainerView {
2390
+ padding-top: 0px;
2391
+ }
2392
+
2393
+ .BMPopoverContainerConstant {
2394
+ flex-direction: row;
2395
+ flex-wrap: wrap;
2396
+ align-items: center;
2397
+
2398
+ padding-bottom: 16px;
2399
+ padding-top: 4px;
2400
+ padding-left: 16px;
2401
+ padding-right: 16px;
2402
+ }
2403
+
2404
+ .BMPopoverContainerConstantBelow {
2405
+ flex-direction: row;
2406
+ flex-wrap: wrap;
2407
+ align-items: center;
2408
+
2409
+ padding-bottom: 4px;
2410
+ padding-top: 16px;
2411
+ }
2412
+
2413
+ .BMPopoverContainerLayer {
2414
+ position: absolute;
2415
+
2416
+ z-index: 9999999; /* :( */
2417
+ pointer-events: none;
2418
+ }
2419
+ /*
2420
+ The drop shadow layer contains the drop shadow effect only.
2421
+ */
2422
+ .BMPopoverDropShadowContainer {
2423
+
2424
+ /*
2425
+ Filter drop-shadow is extremely expensive, but in practice,
2426
+ no page should have more than one popover open at any time, which should mitigate this
2427
+ */
2428
+ filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, .25)) drop-shadow(0px 12px 64px rgba(0, 0, 0, .33));
2429
+ mix-blend-mode: multiply;
2430
+ }
2431
+
2432
+ @media (prefers-color-scheme: dark) {
2433
+ .BMPopoverDropShadowContainer {
2434
+ filter: drop-shadow(0px 0px 1px rgba(0, 0, 0, 1)) drop-shadow(0px 12px 64px rgba(0, 0, 0, .66));
2435
+ }
2436
+ }
2437
+
2438
+ .BMPopoverDropShadowContent::after {
2439
+ /* This essentially turns the background transparent, but it will still be used by filter drop-shadows */
2440
+ content: '';
2441
+ background: white;
2442
+ background-blend-mode: multiply;
2443
+ position: absolute;
2444
+ top: 0px;
2445
+ left: 0px;
2446
+
2447
+ width: 100%;
2448
+ height: 100%;
2449
+ }
2450
+
2451
+ /*
2452
+ The background layer contains the background.
2453
+ */
2454
+ .BMPopoverBackground {
2455
+ position: absolute;
2456
+
2457
+ z-index: 9999999; /* TWX-Z-Index */
2458
+
2459
+ background: rgba(245, 245, 245, .8);
2460
+ -webkit-backdrop-filter: blur(25px);
2461
+ backdrop-filter: blur(25px);
2462
+ pointer-events: none;
2463
+ }
2464
+
2465
+ .BMPopoverBackgroundDarkModeContainer {
2466
+ display: none;
2467
+ }
2468
+
2469
+ @media (prefers-color-scheme: dark) {
2470
+ .BMPopoverBackground {
2471
+ background: transparent;
2472
+ }
2473
+
2474
+ .BMPopoverBackgroundDarkModeContainer {
2475
+ display: block;
2476
+
2477
+ position: absolute;
2478
+ width: 100%;
2479
+ height: 100%;
2480
+
2481
+ left: 0px;
2482
+ top: 0px;
2483
+
2484
+ opacity: .8;
2485
+ }
2486
+
2487
+ .BMPopoverBackgroundDarkModeOutline {
2488
+ background-color: rgb(100, 100, 100);
2489
+
2490
+ position: absolute;
2491
+ width: 100%;
2492
+ height: 100%;
2493
+
2494
+ left: 0px;
2495
+ top: 0px;
2496
+ }
2497
+
2498
+ .BMPopoverBackgroundDarkModeFill {
2499
+ background-color: rgb(40, 40, 40);
2500
+
2501
+ position: absolute;
2502
+ width: 100%;
2503
+ height: 100%;
2504
+
2505
+ left: 0px;
2506
+ top: 0px;
2507
+ }
2508
+ }
2509
+
2510
+ /* MARK: Layout variables */
2511
+
2512
+ .BMLayoutEditorVariable {
2513
+ display: flex;
2514
+ align-items: center;
2515
+ }
2516
+
2517
+ .BMLayoutEditorVariable > .BMWindowInput {
2518
+ margin-top: 4px;
2519
+ margin-bottom: 4px;
2520
+ height: auto !important;
2521
+ }
2522
+
2523
+ .BMLayoutEditorVariableMain {
2524
+ padding-top: 16px;
2525
+ box-sizing: border-box !important; /* Important needed for Thingworx new composer */
2526
+ }
2527
+
2528
+ .BMLayoutEditorVariableMain::after {
2529
+ content: '';
2530
+ position: absolute;
2531
+ top: 8px;
2532
+ left: 0px;
2533
+ height: 1px;
2534
+ width: 100%;
2535
+ border-top: 1px solid rgba(0, 0, 0, .1);
2536
+ }
2537
+
2538
+ .BMLayoutEditorLastVariable {
2539
+ padding-bottom: 16px;
2540
+ box-sizing: border-box !important; /* Important needed for Thingworx new composer */
2541
+ }
2542
+
2543
+ .BMLayoutEditorLastVariable::after {
2544
+ content: '';
2545
+ position: absolute;
2546
+ bottom: 8px;
2547
+ left: 0px;
2548
+ height: 1px;
2549
+ width: 100%;
2550
+ border-top: 1px solid rgba(0, 0, 0, .1);
2551
+ }
2552
+
2553
+ @media (prefers-color-scheme: dark) {
2554
+ .BMLayoutEditorVariableMain::after {
2555
+ border-top-color: rgba(255, 255, 255, .1);
2556
+ }
2557
+
2558
+ .BMLayoutEditorLastVariable::after {
2559
+ border-top-color: rgba(255, 255, 255, .1);
2560
+ }
2561
+ }
2562
+
2563
+ .BMLayoutEditorVariable > .BMLayoutEditorDetailsItemBadgeIcon {
2564
+ position: static;
2565
+ flex-grow: 1;
2566
+ background-repeat: no-repeat;
2567
+ background-position-x: 100%;
2568
+ }
2569
+
2570
+ .BMLayoutEditorVariableName {
2571
+ font-weight: 600;
2572
+ }
2573
+
2574
+ .BMWindowInput.BMLayoutEditorVariableValue {
2575
+ width: 48px !important;
2576
+ flex-shrink: 0;
2577
+ -moz-appearance: textfield;
2578
+ }
2579
+
2580
+ .BMLayoutEditorVariableValue::-webkit-outer-spin-button, .BMLayoutEditorVariableValue::-webkit-inner-spin-button {
2581
+ -webkit-appearance: none;
2582
+ margin: 0;
2583
+ }
2584
+
2585
+ .BMLayoutEditorAddVariationButton {
2586
+ margin-left: 0;
2587
+ flex-shrink: 0;
2588
+ margin-right: 0;
2589
+ opacity: 0;
2590
+ transition: opacity .2s ease;
2591
+ }
2592
+
2593
+ .BMLayoutEditorRemoveVariationButton {
2594
+ margin-right: 0;
2595
+ flex-shrink: 0;
2596
+ margin-left: 0;
2597
+ opacity: 0;
2598
+ transition: opacity .2s ease;
2599
+ }
2600
+
2601
+ .BMLayoutEditorVariable:hover > .BMWindowToolbarButton {
2602
+ opacity: .5;
2603
+ }
2604
+
2605
+ /* MARK: Layout Variables suggestions */
2606
+
2607
+ .BMLayoutEditorConstantSuggestions, .BMTextFieldSuggestions {
2608
+ pointer-events: all;
2609
+ max-height: 420px;
2610
+ overflow: hidden;
2611
+ }
2612
+
2613
+ .BMLayoutEditorConstantSuggestionsOverlay {
2614
+ pointer-events: none !important;
2615
+ }
2616
+
2617
+ /* MARK: Editor Tabs */
2618
+
2619
+ .BMLayoutEditorViewTabDetails {
2620
+ display: flex;
2621
+ flex-direction: column;
2622
+ flex-grow: 1;
2623
+ width: 100%;
2624
+
2625
+ padding-top: 8px;
2626
+
2627
+ overflow: auto;
2628
+ }
2629
+
2630
+ .BMLayoutEditorDetailsTabView {
2631
+ display: flex;
2632
+ flex-direction: row;
2633
+ align-content: center;
2634
+ align-items: center;
2635
+ justify-content: center;
2636
+
2637
+ padding-bottom: 1px;
2638
+ border-bottom: 1px solid rgba(0, 0, 0, .1);
2639
+ }
2640
+
2641
+ .BMLayoutEditorDetailsSegmentControl {
2642
+ border: none;
2643
+ }
2644
+
2645
+ .BMLayoutEditorDetailsTab {
2646
+ width: 32px;
2647
+ height: 32px;
2648
+
2649
+ padding: 8px;
2650
+ box-sizing: border-box;
2651
+
2652
+ transition: background-color .2s ease;
2653
+
2654
+ border-radius: 4px;
2655
+
2656
+ margin-left: 4px;
2657
+ margin-right: 4px;
2658
+ }
2659
+
2660
+ .BMLayoutEditorDetailsTab:active {
2661
+ background-color: rgba(0, 0, 0, .1);
2662
+ }
2663
+
2664
+ .BMLayoutEditorDetailsTabSelected {
2665
+ background-color: rgb(235, 235, 235);
2666
+ box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, .1) inset;
2667
+ }
2668
+
2669
+ .BMLayoutEditorDetailsTabLayoutVariables {
2670
+ background-image: url(images/LayoutVariables.png);
2671
+ }
2672
+
2673
+ .BMLayoutEditorDetailsTabLayout {
2674
+ background-image: url(images/Layout.png);
2675
+ }
2676
+
2677
+ .BMLayoutEditorDetailsTabProperties {
2678
+ background-image: url(images/Properties.png);
2679
+ }
2680
+
2681
+ .BMLayoutEditorDetailsTabSelected {
2682
+ background-color: rgba(0, 0, 0, .2);
2683
+ }
2684
+
2685
+ @media (prefers-color-scheme: dark) {
2686
+ .BMLayoutEditorDetailsTab {
2687
+ filter: invert(100%);
2688
+ transform: translateZ(0);
2689
+ -webkit-transform: translateZ(0);
2690
+ }
2691
+
2692
+ .BMLayoutEditorDetailsTabView {
2693
+ border-bottom: 1px solid rgba(255, 255, 255, .05);
2694
+ }
2695
+
2696
+ .BMLayoutEditorDetailsSegmentControl {
2697
+ border: none;
2698
+ }
2699
+ }
2700
+
2701
+ /* MARK: Editor layout variables */
2702
+
2703
+ .BMLayoutEditorVariablesContainer {
2704
+ flex-grow: 1;
2705
+ width: 100%;
2706
+
2707
+ position: relative;
2708
+ }
2709
+
2710
+ .BMLayoutEditorDetailsConstraintIcon {
2711
+ width: 16px;
2712
+ height: 16px;
2713
+
2714
+ margin-right: 4px;
2715
+
2716
+ display: inline-block;
2717
+ }
2718
+
2719
+ @media (prefers-color-scheme: dark) {
2720
+ .BMLayoutEditorDetailsConstraintIcon {
2721
+ filter: invert(100%);
2722
+ transform: translateZ(0);
2723
+ -webkit-transform: translateZ(0);
2724
+ }
2725
+ }
2726
+
2727
+
2728
+
2729
+ /* MARK: Images */
2730
+
2731
+ .BMLayoutEditorImageButtonAlignBottom {
2732
+ background-image: url(images/AlignBottom.png);
2733
+ }
2734
+
2735
+ .BMLayoutEditorImageButtonAlignCenterX {
2736
+ background-image: url(images/AlignCenterX.png);
2737
+ }
2738
+
2739
+ .BMLayoutEditorImageButtonAlignCenterY {
2740
+ background-image: url(images/AlignCenterY.png);
2741
+ }
2742
+
2743
+ .BMLayoutEditorImageButtonAlignLeading {
2744
+ background-image: url(images/AlignLeading.png);
2745
+ }
2746
+
2747
+ .BMLayoutEditorImageButtonAlignAlignTop {
2748
+ background-image: url(images/AlignTop.png);
2749
+ }
2750
+
2751
+ .BMLayoutEditorImageButtonAlignTrailing {
2752
+ background-image: url(images/AlignTrailing.png);
2753
+ }
2754
+
2755
+ .BMLayoutEditorImageButtonEqualHeight {
2756
+ background-image: url(images/EqualHeight.png);
2757
+ }
2758
+
2759
+ .BMLayoutEditorImageButtonEqualHorizontalSpacing {
2760
+ background-image: url(images/EqualHorizontalSpacing.png);
2761
+ }
2762
+
2763
+ .BMLayoutEditorImageButtonEqualHorizontalSpacingInSuperview {
2764
+ background-image: url(images/EqualHorizontalSpacingInSuperview.png);
2765
+ }
2766
+
2767
+ .BMLayoutEditorImageButtonEqualVerticalSpacing {
2768
+ background-image: url(images/EqualVerticalSpacing.png);
2769
+ }
2770
+
2771
+ .BMLayoutEditorImageButtonEqualVerticalSpacingInSuperview {
2772
+ background-image: url(images/EqualVerticalSpacingInSuperview.png);
2773
+ }
2774
+
2775
+ .BMLayoutEditorImageButtonEqualWidth {
2776
+ background-image: url(images/EqualWidth.png);
2777
+ }
2778
+
2779
+ .BMLayoutEditorImagePhone {
2780
+ background-image: url(images/Phone.png);
2781
+ }
2782
+
2783
+ .BMLayoutEditorImagePhoneLandscape {
2784
+ background-image: url(images/PhoneLandscape.png);
2785
+ }
2786
+
2787
+ .BMLayoutEditorImagePhonePortrait {
2788
+ background-image: url(images/PhonePortrait.png);
2789
+ }
2790
+
2791
+ .BMLayoutEditorImageTablet {
2792
+ background-image: url(images/Tablet.png);
2793
+ }
2794
+
2795
+ .BMLayoutEditorImageTabletLandscape {
2796
+ background-image: url(images/TabletLandscape.png);
2797
+ }
2798
+
2799
+ .BMLayoutEditorImageTabletPortrait {
2800
+ background-image: url(images/TabletPortrait.png);
2801
+ }
2802
+
2803
+ .BMLayoutEditorImageDesktop {
2804
+ background-image: url(images/Desktop.png);
2805
+ }
2806
+
2807
+ .BMLayoutEditorImagePhoneMini {
2808
+ background-image: url(images/PhoneMini.png);
2809
+ }
2810
+
2811
+ .BMLayoutEditorImagePhoneLandscapeMini {
2812
+ background-image: url(images/PhoneLandscapeMini.png);
2813
+ }
2814
+
2815
+ .BMLayoutEditorImagePhonePortraitMini {
2816
+ background-image: url(images/PhonePortraitMini.png);
2817
+ }
2818
+
2819
+ .BMLayoutEditorImageTabletMini {
2820
+ background-image: url(images/TabletMini.png);
2821
+ }
2822
+
2823
+ .BMLayoutEditorImageTabletLandscapeMini {
2824
+ background-image: url(images/TabletLandscapeMini.png);
2825
+ }
2826
+
2827
+ .BMLayoutEditorImageTabletPortraitMini {
2828
+ background-image: url(images/TabletPortraitMini.png);
2829
+ }
2830
+
2831
+ .BMLayoutEditorImageDesktopMini {
2832
+ background-image: url(images/DesktopMini.png);
2833
+ }