misc.scss 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575
  1. .msp-description {
  2. padding: $control-spacing;
  3. font-size: 85%;
  4. background: $default-background;
  5. text-align: center;
  6. //font-style: italic;
  7. -webkit-user-select: none; /* Chrome/Safari */
  8. -moz-user-select: none; /* Firefox */
  9. -ms-user-select: none; /* IE10+ */
  10. /* Rules below not implemented in browsers yet */
  11. -o-user-select: none;
  12. user-select: none;
  13. font-weight: light;
  14. cursor: default;
  15. }
  16. .msp-description:not(:first-child) {
  17. border-top: 1px solid $control-background;
  18. }
  19. .msp-color-picker input {
  20. color: black !important;
  21. }
  22. .msp-no-webgl {
  23. position: absolute;
  24. width: 100%;
  25. height: 100%;
  26. left: 0;
  27. top: 0;
  28. display: table;
  29. text-align: center;
  30. background: $default-background;
  31. > div {
  32. b {
  33. font-size: 120%;
  34. }
  35. display: table-cell;
  36. vertical-align: middle;
  37. text-align: center;
  38. width: 100%;
  39. height: 100%;
  40. }
  41. }
  42. .msp-loader-msp-btn-file {
  43. position: relative;
  44. overflow: hidden;
  45. }
  46. .msp-loader-msp-btn-file input[type=file] {
  47. position: absolute;
  48. top: 0;
  49. right: 0;
  50. min-width: 100%;
  51. min-height: 100%;
  52. font-size: 100px;
  53. text-align: right;
  54. filter: alpha(opacity=0);
  55. opacity: 0;
  56. outline: none;
  57. background: white;
  58. cursor: inherit;
  59. display: block;
  60. }
  61. .msp-controls-section {
  62. margin-bottom: $control-spacing;
  63. }
  64. .msp-combined-color-button {
  65. border: 4px solid $msp-form-control-background !important;
  66. margin: 0;
  67. text-align: center;
  68. padding-right: $control-spacing;
  69. padding-left: $control-spacing;
  70. &:hover {
  71. border-color: color-increase-contrast($msp-form-control-background, 5%) !important;
  72. border: none;
  73. outline-offset: -1px !important;
  74. outline: 1px solid color-increase-contrast($msp-form-control-background, 20%) !important;
  75. }
  76. }
  77. .msp-combined-color-swatch {
  78. width: 100%;
  79. display: grid;
  80. grid-gap: 1px;
  81. grid-template-columns: repeat(6, auto);
  82. .msp-btn {
  83. &:hover {
  84. outline-offset: -1px !important;
  85. outline: 1px solid color-increase-contrast($msp-form-control-background, 20%) !important;
  86. }
  87. }
  88. }
  89. .msp-action-select {
  90. position: relative;
  91. select {
  92. padding-left: $control-spacing + $row-height;
  93. }
  94. option:first-child {
  95. color: color-lower-contrast($font-color, 15%);
  96. }
  97. > .msp-icon {
  98. display: block;
  99. top: 0;
  100. left: $control-spacing;
  101. position: absolute;
  102. line-height: $row-height;
  103. }
  104. }
  105. .msp-simple-help-section {
  106. height: 28px;
  107. line-height: 28px;
  108. margin-top: 5px;
  109. margin-bottom: 5px;
  110. padding: 0 10px;
  111. font-weight: 500;
  112. background: $default-background;
  113. color: $font-color;
  114. }
  115. .msp-left-panel-controls-buttons {
  116. position: absolute;
  117. width: $row-height;
  118. top: 0;
  119. bottom: 0;
  120. padding-top: $control-spacing;
  121. background: $default-background;
  122. // .msp-btn-link-toggle-on {
  123. // border-left: 1px solid $font-color;
  124. // }
  125. }
  126. .msp-left-panel-controls-buttons-bottom {
  127. position: absolute;
  128. bottom: 0;
  129. }
  130. .msp-left-panel-controls-button-data-dirty {
  131. position: absolute;
  132. width: 6px;
  133. height: 6px;
  134. background: $color-accent-orange;
  135. border-radius: 3px;
  136. right: 6px;
  137. bottom: 6px;
  138. }
  139. .msp-left-panel-controls {
  140. .msp-scrollable-container {
  141. left: $row-height + 1px;
  142. }
  143. }
  144. .msp-mapped-parameter-group {
  145. position: relative;
  146. > .msp-control-row:first-child {
  147. > div:nth-child(2) {
  148. right: 33px;
  149. }
  150. }
  151. > button:first-child {
  152. right: 33px;
  153. }
  154. > .msp-btn-icon {
  155. position: absolute;
  156. right: 0;
  157. width: 32px;
  158. top: 0;
  159. padding: 0;
  160. }
  161. }
  162. .msp-shape-filled {
  163. fill: $font-color;
  164. stroke: $font-color;
  165. }
  166. .msp-shape-empty {
  167. fill: none;
  168. stroke: $font-color;
  169. }
  170. .msp-no-overflow {
  171. overflow: hidden;
  172. text-overflow: ellipsis;
  173. white-space: nowrap;
  174. }
  175. .msp-25-lower-contrast-text {
  176. color: color-lower-contrast($font-color, 25%);
  177. }
  178. .msp-expandable-group-color-stripe {
  179. position: absolute;
  180. left: 0;
  181. top: $row-height - 2px;
  182. width: $control-label-width + $control-spacing;
  183. height: 2px;
  184. }
  185. .msp-section-header {
  186. height: $row-height;
  187. line-height: $row-height;
  188. margin-top: $control-spacing;
  189. margin-bottom: $control-spacing;
  190. text-align: right;
  191. padding: 0 $control-spacing;
  192. font-weight: bold;
  193. background: $default-background;
  194. overflow: hidden;
  195. border-bottom: 1px solid $color-accent-orange; // TODO separate color
  196. cursor: default;
  197. > .msp-icon {
  198. display: block;
  199. float: left;
  200. }
  201. > small {
  202. font-weight: normal;
  203. }
  204. }
  205. .msp-current-header {
  206. height: $row-height;
  207. line-height: $row-height;
  208. margin-bottom: $control-spacing;
  209. text-align: center;
  210. font-weight: bold;
  211. background: $default-background;
  212. }
  213. .msp-flex-row {
  214. margin-top: 1px;
  215. background: $default-background;
  216. display:flex;
  217. flex-direction:row;
  218. width: inherit;
  219. height: $row-height;
  220. > .msp-flex-item {
  221. margin: 0;
  222. flex: 1 1 auto;
  223. margin-right: 1px;
  224. overflow: hidden;
  225. }
  226. > .msp-flex-item:last-child {
  227. margin-right: 0;
  228. }
  229. > select, > button {
  230. margin: 0;
  231. flex: 1 1 auto;
  232. margin-right: 1px;
  233. height: $row-height;
  234. // text-align-last: center;
  235. // padding: 0 $control-spacing;
  236. overflow: hidden;
  237. }
  238. .msp-btn-icon, .msp-btn-icon-small {
  239. flex: 0 0 32px;
  240. max-width: 32px;
  241. }
  242. > select {
  243. background: none;
  244. > option[value = _] {
  245. display: none;
  246. }
  247. }
  248. > select:last-child, > button:last-child {
  249. margin-right: 0;
  250. }
  251. > button.msp-control-button-label {
  252. background: $default-background;
  253. }
  254. }
  255. .msp-state-list {
  256. list-style: none;
  257. // margin-top: $control-spacing;
  258. > li {
  259. position: relative;
  260. overflow: hidden;
  261. > button:first-child {
  262. text-align: left;
  263. border-left: $control-spacing solid color-increase-contrast($default-background, 12%) !important;
  264. }
  265. > div {
  266. position: absolute;
  267. right: 0;
  268. top: 0;
  269. }
  270. }
  271. }
  272. .msp-tree-row {
  273. position: relative;
  274. margin-top: 0;
  275. margin-bottom: 1px;
  276. background: transparent;
  277. &-current {
  278. .msp-btn-tree-label {
  279. > span {
  280. font-weight: bold;
  281. }
  282. border-radius: 0 !important;
  283. }
  284. }
  285. .msp-btn-tree-label {
  286. text-align: left;
  287. border-radius: 0 0 0 8px;
  288. border-left-width: 4px;
  289. border-left-style: solid;
  290. }
  291. .msp-btn-tree-label > small {
  292. color: color-lower-contrast($font-color, 20%);
  293. }
  294. }
  295. .msp-tree-updates-wrapper {
  296. .msp-control-group-header:last-child {
  297. margin-bottom: 1px;
  298. }
  299. }
  300. .msp-viewport-top-left-controls {
  301. position: absolute;
  302. left: $control-spacing;
  303. top: $control-spacing;
  304. .msp-traj-controls {
  305. line-height: $row-height;
  306. float: left;
  307. margin-right: $control-spacing;
  308. background-color: $msp-form-control-background;
  309. > span {
  310. color: $font-color;
  311. margin-left: $control-spacing;
  312. margin-right: $control-spacing;
  313. font-size: 85%;
  314. display: inline-block;
  315. }
  316. }
  317. .msp-state-snapshot-viewport-controls {
  318. line-height: $row-height;
  319. float: left;
  320. margin-right: $control-spacing;
  321. > button {
  322. background-color: $msp-form-control-background;
  323. }
  324. > select {
  325. display: inline-block;
  326. width: 200px;
  327. margin-right: $control-spacing;
  328. }
  329. }
  330. .msp-animation-viewport-controls {
  331. line-height: $row-height;
  332. float: left;
  333. margin-right: $control-spacing;
  334. position: relative;
  335. > div:first-child {
  336. position: relative;
  337. display: inline-block;
  338. > button {
  339. position: relative;
  340. }
  341. }
  342. .msp-animation-viewport-controls-select {
  343. width: 290px;
  344. position: absolute;
  345. left: 0;
  346. margin-top: $control-spacing;
  347. background: $control-background;
  348. .msp-control-row:first-child {
  349. margin-top: 0;
  350. }
  351. }
  352. }
  353. }
  354. .msp-selection-viewport-controls {
  355. position: relative;
  356. // display: inline-block;
  357. margin: $control-spacing auto 0 auto;
  358. width: 332px;
  359. line-height: $row-height;
  360. &-actions {
  361. position: absolute;
  362. width: 100%;
  363. top: $row-height;
  364. background: $control-background;
  365. }
  366. > .msp-flex-row .msp-btn {
  367. padding: 0 5px;
  368. }
  369. select.msp-form-control {
  370. padding: 0 5px;
  371. text-align: center;
  372. background: none;
  373. flex: 0 0 80px;
  374. text-overflow: ellipsis;
  375. }
  376. }
  377. .msp-param-object-list-item {
  378. margin-top: 1px;
  379. position: relative;
  380. > button {
  381. text-align: left;
  382. > span {
  383. font-weight: bold;
  384. }
  385. }
  386. > div {
  387. position: absolute;
  388. right: 0;
  389. top: 0
  390. }
  391. }
  392. .msp-state-actions {
  393. .msp-transform-wrapper:last-child {
  394. margin-bottom: 10px;
  395. }
  396. }
  397. .msp-button-row {
  398. display:flex;
  399. flex-direction:row;
  400. height: $row-height;
  401. width: inherit;
  402. > button {
  403. margin: 0;
  404. flex: 1 1 auto;
  405. margin-right: 1px;
  406. height: $row-height;
  407. text-align-last: center;
  408. background: none;
  409. padding: 0 $control-spacing;
  410. overflow: hidden;
  411. }
  412. }
  413. .msp-action-menu-options {
  414. &-no-header, .msp-control-group-children {
  415. max-height: 300px;
  416. overflow: hidden;
  417. overflow-y: auto;
  418. }
  419. .msp-control-row, button, .msp-icon, .msp-flex-row {
  420. height: 24px;
  421. line-height: 24px;
  422. }
  423. button {
  424. text-align: left;
  425. }
  426. .msp-action-menu-button {
  427. margin-top: 1px;
  428. display: flex;
  429. .msp-icon {
  430. margin-right: 6px;
  431. }
  432. }
  433. }
  434. .msp-representation-entry {
  435. position: relative;
  436. > .msp-control-group-header {
  437. > .msp-btn {
  438. font-weight: bold;
  439. }
  440. > .msp-icon, > .msp-btn-link {
  441. line-height: 24px;
  442. height: 24px;
  443. }
  444. }
  445. }
  446. .msp-parameter-matrix {
  447. input {
  448. flex: 1 1 auto;
  449. min-width: 0;
  450. }
  451. }
  452. @mixin type-class-border($name, $color) {
  453. .msp-type-class-#{$name} {
  454. border-left-color: $color;
  455. }
  456. }
  457. // TypeClass = 'Root' | 'Group' | 'Data' | 'Object' | 'Representation3D' | 'Behavior'
  458. @include type-class-border('Root', $type-class-Root);
  459. @include type-class-border('Group', $type-class-Group);
  460. @include type-class-border('Data', $type-class-Data);
  461. @include type-class-border('Object', $type-class-Object);
  462. @include type-class-border('Representation3D', $type-class-Representation3D);
  463. @include type-class-border('Behavior', $type-class-Behavior);
  464. @mixin accent($name, $color) {
  465. .msp-accent-color-#{$name} {
  466. color: $color;
  467. }
  468. .msp-accent-bg-#{$name} {
  469. background: $color;
  470. }
  471. .msp-transform-header-brand-#{$name} {
  472. border-bottom: 1px solid $color;
  473. &:active, &:focus {
  474. border-bottom: 1px solid $color;
  475. }
  476. }
  477. }
  478. @include accent('cyan', $color-accent-cyan);
  479. @include accent('red', $color-accent-red);
  480. @include accent('gray', $color-accent-gray);
  481. @include accent('green', $color-accent-green);
  482. @include accent('purple', $color-accent-purple);
  483. @include accent('blue', $color-accent-blue);
  484. @include accent('orange', $color-accent-orange);