actionTabs.scss 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882
  1. $line-padding-left: 2px;
  2. #inspector-host {
  3. position: absolute;
  4. right: 0px;
  5. top:0px;
  6. bottom: 0px;
  7. }
  8. #__resizable_base__ {
  9. display: none;
  10. }
  11. #actionTabs {
  12. background: #333333;
  13. height: 100%;
  14. margin: 0;
  15. padding: 0;
  16. display: grid;
  17. grid-template-rows: auto 1fr;
  18. font: 14px "Arial";
  19. overflow: hidden;
  20. .hoverIcon:hover {
  21. opacity: 0.8;
  22. }
  23. #header {
  24. height: 30px;
  25. font-size: 16px;
  26. color: white;
  27. background: #222222;
  28. grid-row: 1;
  29. text-align: center;
  30. display: grid;
  31. grid-template-columns: 30px 1fr 50px;
  32. -webkit-user-select: none;
  33. -moz-user-select: none;
  34. -ms-user-select: none;
  35. user-select: none;
  36. #logo {
  37. grid-column: 1;
  38. width: 24px;
  39. height: 24px;
  40. display: flex;
  41. align-self: center;
  42. justify-self: center;
  43. }
  44. #back {
  45. grid-column: 1;
  46. display: grid;
  47. align-self: center;
  48. justify-self: center;
  49. cursor: pointer;
  50. }
  51. #title {
  52. grid-column: 2;
  53. display: grid;
  54. align-items: center;
  55. text-align: center;
  56. }
  57. #commands {
  58. grid-column: 3;
  59. display: grid;
  60. align-items: center;
  61. grid-template-columns: 1fr 1fr;
  62. .expand {
  63. grid-column: 1;
  64. display: grid;
  65. align-items: center;
  66. justify-items: center;
  67. cursor: pointer;
  68. }
  69. .close {
  70. grid-column: 2;
  71. display: grid;
  72. align-items: center;
  73. justify-items: center;
  74. cursor: pointer;
  75. }
  76. }
  77. }
  78. .tabs {
  79. display: grid;
  80. grid-row: 2;
  81. grid-template-rows: 40px 1fr;
  82. font: 14px "Arial";
  83. overflow: hidden;
  84. .labels {
  85. grid-row: 1;
  86. display: flex;
  87. align-items: center;
  88. justify-items: center;
  89. border-bottom: 1px solid #ffffff;
  90. margin: 0;
  91. padding: 0;
  92. .label {
  93. font-size: 24px;
  94. color: white;
  95. width: 40px;
  96. display: flex;
  97. align-content: center;
  98. justify-content: center;
  99. border: 1px solid transparent;
  100. border-bottom: none;
  101. background: #333333;
  102. padding: 5px;
  103. height: 28px;
  104. cursor: pointer;
  105. &.active {
  106. border-color: #ffffff;
  107. border-bottom: 2px solid transparent;
  108. margin-bottom: -2px;
  109. }
  110. }
  111. }
  112. .panes {
  113. grid-row: 2;
  114. display: grid;
  115. grid-template-rows: 1fr;
  116. overflow: hidden;
  117. .infoMessage {
  118. opacity: 0.5;
  119. color: white;
  120. margin: 15px 5px 0px 5px;
  121. }
  122. .pane {
  123. color: white;
  124. overflow-x: hidden;
  125. overflow-y: auto;
  126. -webkit-user-select: none;
  127. -moz-user-select: none;
  128. -ms-user-select: none;
  129. user-select: none;
  130. .underline {
  131. border-bottom: 0.5px solid rgba(255, 255, 255, 0.5);
  132. }
  133. .textureLinkLine {
  134. display: grid;
  135. grid-template-columns: auto 1fr;
  136. .debug {
  137. grid-column: 1;
  138. margin-left: 5px;
  139. display: grid;
  140. align-items: center;
  141. justify-items: center;
  142. cursor: pointer;
  143. opacity: 0.5;
  144. &.selected {
  145. opacity: 1.0;
  146. }
  147. }
  148. .textLine {
  149. grid-column: 2;
  150. }
  151. }
  152. .messageLine {
  153. text-align: center;
  154. font-size: 12px;
  155. font-style: italic;
  156. opacity: 0.6;
  157. }
  158. .iconMessageLine {
  159. padding-left: $line-padding-left;
  160. height: 30px;
  161. display: grid;
  162. grid-template-columns: 30px 1fr;
  163. .icon {
  164. grid-column: 1;
  165. display: grid;
  166. align-items: center;
  167. justify-items: center;
  168. }
  169. .value {
  170. grid-column: 2;
  171. display: flex;
  172. align-items: center;
  173. }
  174. }
  175. .textLine {
  176. padding-left: $line-padding-left;
  177. height: 30px;
  178. display: grid;
  179. grid-template-columns: 1fr auto;
  180. .label {
  181. grid-column: 1;
  182. display: flex;
  183. align-items: center;
  184. }
  185. .link-value {
  186. grid-column: 2;
  187. white-space: nowrap;
  188. text-overflow: ellipsis;
  189. overflow: hidden;
  190. text-align: end;
  191. opacity: 0.8;
  192. margin:5px;
  193. margin-top: 6px;
  194. max-width: 140px;
  195. text-decoration: underline;
  196. cursor: pointer;
  197. }
  198. .value {
  199. grid-column: 2;
  200. white-space: nowrap;
  201. text-overflow: ellipsis;
  202. overflow: hidden;
  203. text-align: end;
  204. opacity: 0.8;
  205. margin:5px;
  206. margin-top: 6px;
  207. max-width: 200px;
  208. -webkit-user-select: text;
  209. -moz-user-select: text;
  210. -ms-user-select: text;
  211. user-select: text;
  212. &.check {
  213. color: green;
  214. }
  215. &.uncheck {
  216. color: red;
  217. }
  218. }
  219. }
  220. .textInputLine {
  221. padding-left: $line-padding-left;
  222. height: 30px;
  223. display: grid;
  224. grid-template-columns: 1fr 120px;
  225. .label {
  226. grid-column: 1;
  227. display: flex;
  228. align-items: center;
  229. }
  230. .value {
  231. display: flex;
  232. align-items: center;
  233. grid-column: 2;
  234. input {
  235. width: 110px;
  236. }
  237. }
  238. }
  239. .buttonLine {
  240. height: 30px;
  241. display: grid;
  242. align-items: center;
  243. justify-items: stretch;
  244. input[type="file"] {
  245. display: none;
  246. }
  247. .file-upload {
  248. background: transparent;
  249. border: 1px solid rgb(51, 122, 183);
  250. margin: 0px 10px;
  251. color:white;
  252. padding: 4px 5px;
  253. opacity: 0.9;
  254. cursor: pointer;
  255. text-align: center;
  256. }
  257. .file-upload:hover {
  258. opacity: 1.0;
  259. }
  260. .file-upload:active {
  261. transform: scale(0.98);
  262. transform-origin: 0.5 0.5;
  263. }
  264. button {
  265. background: #222222;
  266. border: 1px solid rgb(51, 122, 183);
  267. margin: 5px 10px 5px 10px;
  268. color:white;
  269. padding: 4px 5px;
  270. opacity: 0.9;
  271. }
  272. button:hover {
  273. opacity: 1.0;
  274. }
  275. button:active {
  276. background: #282828;
  277. }
  278. button:focus {
  279. border: 1px solid rgb(51, 122, 183);
  280. outline: 0px;
  281. }
  282. }
  283. .radioLine {
  284. padding-left: $line-padding-left;
  285. height: 30px;
  286. display: grid;
  287. grid-template-columns: 1fr 24px;
  288. .label {
  289. grid-column: 1;
  290. display: flex;
  291. align-items: center;
  292. }
  293. .radioContainer {
  294. display: flex;
  295. align-items: center;
  296. .radio {
  297. grid-column: 2;
  298. display: none;
  299. &:checked + label:before {
  300. border-color: rgb(51, 122, 183);
  301. }
  302. &:checked + label:after {
  303. transform: scale(1);
  304. }
  305. }
  306. .labelForRadio {
  307. display: inline-block;
  308. height: 14px;
  309. position: relative;
  310. padding: 0 24px;
  311. margin-bottom: 0;
  312. cursor: pointer;
  313. vertical-align: bottom;
  314. &:before, &:after {
  315. position: absolute;
  316. content: '';
  317. border-radius: 50%;
  318. transition: all .3s ease;
  319. transition-property: transform, border-color;
  320. }
  321. &:before {
  322. left: 0px;
  323. top: 0;
  324. width: 16px;
  325. height: 16px;
  326. border: 2px solid white;
  327. }
  328. &:after {
  329. top: 6px;
  330. left: 6px;
  331. width: 8px;
  332. height: 8px;
  333. transform: scale(0);
  334. background:rgb(51, 122, 183);
  335. }
  336. }
  337. }
  338. }
  339. .vector3Line {
  340. padding-left:$line-padding-left;
  341. display: grid;
  342. .firstLine {
  343. display: grid;
  344. grid-template-columns: 1fr auto 20px;
  345. height: 30px;
  346. .label {
  347. grid-column: 1;
  348. display: flex;
  349. align-items: center;
  350. }
  351. .vector {
  352. grid-column: 2;
  353. display: flex;
  354. align-items: center;
  355. text-align: right;
  356. opacity: 0.8;
  357. }
  358. .expand {
  359. grid-column: 3;
  360. display: grid;
  361. align-items: center;
  362. justify-items: center;
  363. cursor: pointer;
  364. }
  365. }
  366. .secondLine {
  367. display: grid;
  368. padding-right: 5px;
  369. border-left: 1px solid rgb(51, 122, 183);
  370. .numeric {
  371. display: grid;
  372. grid-template-columns: 1fr auto;
  373. }
  374. .numeric-label {
  375. text-align: right;
  376. grid-column: 1;
  377. display: flex;
  378. align-items: center;
  379. justify-self: right;
  380. margin-right: 10px;
  381. }
  382. .numeric-value {
  383. width: 120px;
  384. grid-column: 2;
  385. display: flex;
  386. align-items: center;
  387. border: 1px solid rgb(51, 122, 183);
  388. }
  389. }
  390. }
  391. .checkBoxLine {
  392. padding-left: $line-padding-left;
  393. height: 30px;
  394. display: grid;
  395. grid-template-columns: 1fr auto;
  396. .label {
  397. grid-column: 1;
  398. display: flex;
  399. align-items: center;
  400. }
  401. .checkBox {
  402. grid-column: 2;
  403. display: flex;
  404. align-items: center;
  405. .lbl {
  406. position: relative;
  407. display: block;
  408. height: 14px;
  409. width: 34px;
  410. margin-right: 5px;
  411. background: #898989;
  412. border-radius: 100px;
  413. cursor: pointer;
  414. transition: all 0.3s ease;
  415. }
  416. .lbl:after {
  417. position: absolute;
  418. left: 3px;
  419. top: 2px;
  420. display: block;
  421. width: 10px;
  422. height: 10px;
  423. border-radius: 100px;
  424. background: #fff;
  425. box-shadow: 0px 3px 3px rgba(0,0,0,0.05);
  426. content: '';
  427. transition: all 0.15s ease;
  428. }
  429. .lbl:active:after {
  430. transform: scale(1.15, 0.85);
  431. }
  432. .cbx:checked ~ label {
  433. background: rgb(51, 122, 183);
  434. }
  435. .cbx:checked ~ label:after {
  436. left: 20px;
  437. background: rgb(22, 73, 117);
  438. }
  439. .hidden {
  440. display: none;
  441. }
  442. }
  443. }
  444. .textureLine {
  445. display: grid;
  446. grid-template-rows: 30px auto;
  447. .control {
  448. margin-top: 2px;
  449. grid-row: 1;
  450. display: grid;
  451. grid-template-columns: 1fr 40px 40px 40px 40px 40px 1fr;
  452. .red {
  453. grid-column: 2;
  454. }
  455. .green {
  456. grid-column: 3;
  457. }
  458. .blue {
  459. grid-column: 4;
  460. }
  461. .alpha {
  462. grid-column: 5;
  463. }
  464. .all {
  465. grid-column: 6;
  466. }
  467. }
  468. .control3D {
  469. margin-top: 2px;
  470. grid-row: 1;
  471. display: grid;
  472. grid-template-columns: 1fr 40px 40px 40px 40px 40px 40px 1fr;
  473. .px {
  474. grid-column: 2;
  475. }
  476. .nx {
  477. grid-column: 3;
  478. }
  479. .py {
  480. grid-column: 4;
  481. }
  482. .ny {
  483. grid-column: 5;
  484. }
  485. .pz {
  486. grid-column: 6;
  487. }
  488. .nz {
  489. grid-column: 7;
  490. }
  491. }
  492. .command {
  493. border: 1px solid transparent;
  494. background:transparent;
  495. color: white;
  496. }
  497. .selected {
  498. border: 1px solid rgb(51, 122, 183);
  499. }
  500. .preview {
  501. grid-row: 2;
  502. display: grid;
  503. align-self: center;
  504. justify-self: center;
  505. height: 256px;
  506. width: 256px;
  507. margin-top: 5px;
  508. margin-bottom: 5px;
  509. border: 2px solid rgba(255, 255, 255, 0.4);
  510. }
  511. }
  512. .gltf-extension-property {
  513. margin-left: 30px;
  514. border-left: 1px solid rgb(51, 122, 183);
  515. }
  516. .floatLine {
  517. padding-left: $line-padding-left;
  518. height: 30px;
  519. display: grid;
  520. grid-template-columns: 1fr 120px;
  521. .label {
  522. grid-column: 1;
  523. display: flex;
  524. align-items: center;
  525. }
  526. .value {
  527. grid-column: 2;
  528. display: flex;
  529. align-items: center;
  530. input {
  531. width: 110px;
  532. }
  533. }
  534. }
  535. .sliderLine {
  536. padding-left: 5px;
  537. height: 30px;
  538. display: grid;
  539. grid-template-columns: 1fr auto;
  540. .label {
  541. grid-column: 1;
  542. display: flex;
  543. align-items: center;
  544. }
  545. .slider {
  546. grid-column: 2;
  547. margin-right: 5px;
  548. display: flex;
  549. align-items: center;
  550. .range {
  551. -webkit-appearance: none;
  552. width: 120px;
  553. height: 6px;
  554. background: #d3d3d3;
  555. border-radius: 5px;
  556. outline: none;
  557. opacity: 0.7;
  558. -webkit-transition: .2s;
  559. transition: opacity .2s;
  560. }
  561. .range:hover {
  562. opacity: 1;
  563. }
  564. .range::-webkit-slider-thumb {
  565. -webkit-appearance: none;
  566. appearance: none;
  567. width: 14px;
  568. height: 14px;
  569. border-radius: 50%;
  570. background: rgb(51, 122, 183);
  571. cursor: pointer;
  572. }
  573. .range::-moz-range-thumb {
  574. width: 14px;
  575. height: 14px;
  576. border-radius: 50%;
  577. background: rgb(51, 122, 183);
  578. cursor: pointer;
  579. }
  580. }
  581. }
  582. .color3Line {
  583. padding-left: $line-padding-left;
  584. display: grid;
  585. .firstLine {
  586. height: 30px;
  587. display: grid;
  588. grid-template-columns: 1fr auto 20px 20px;
  589. .label {
  590. grid-column: 1;
  591. display: flex;
  592. align-items: center;
  593. }
  594. .color3 {
  595. grid-column: 2;
  596. display: flex;
  597. align-items: center;
  598. input[type="color"] {
  599. -webkit-appearance: none;
  600. border: 1px solid rgba(255, 255, 255, 0.5);
  601. padding: 0;
  602. width: 30px;
  603. height: 20px;
  604. }
  605. input[type="color"]::-webkit-color-swatch-wrapper {
  606. padding: 0;
  607. }
  608. input[type="color"]::-webkit-color-swatch {
  609. border: none;
  610. }
  611. input {
  612. margin-right: 5px;
  613. }
  614. }
  615. .copy {
  616. grid-column: 3;
  617. display: grid;
  618. align-items: center;
  619. justify-items: center;
  620. cursor: pointer;
  621. }
  622. .expand {
  623. grid-column: 4;
  624. display: grid;
  625. align-items: center;
  626. justify-items: center;
  627. cursor: pointer;
  628. }
  629. }
  630. .secondLine {
  631. display: grid;
  632. padding-right: 5px;
  633. border-left: 1px solid rgb(51, 122, 183);
  634. .numeric {
  635. display: grid;
  636. grid-template-columns: 1fr auto;
  637. }
  638. .numeric-label {
  639. text-align: right;
  640. grid-column: 1;
  641. display: flex;
  642. align-items: center;
  643. justify-self: right;
  644. margin-right: 10px;
  645. }
  646. .numeric-value {
  647. width: 120px;
  648. grid-column: 2;
  649. display: flex;
  650. align-items: center;
  651. border: 1px solid rgb(51, 122, 183);
  652. }
  653. }
  654. }
  655. .listLine {
  656. padding-left: $line-padding-left;
  657. height: 30px;
  658. display: grid;
  659. grid-template-columns: 1fr auto;
  660. .label {
  661. grid-column: 1;
  662. display: flex;
  663. align-items: center;
  664. }
  665. .options {
  666. grid-column: 2;
  667. display: flex;
  668. align-items: center;
  669. margin-right: 5px;
  670. select {
  671. width: 115px;
  672. }
  673. }
  674. }
  675. .paneContainer {
  676. margin-top: 3px;
  677. display:grid;
  678. grid-template-rows: 100%;
  679. grid-template-columns: 100%;
  680. .paneList {
  681. border-left: 3px solid transparent;
  682. }
  683. &:hover {
  684. .paneList {
  685. border-left: 3px solid rgba(51, 122, 183, 0.8);
  686. }
  687. .paneContainer-content {
  688. .header {
  689. .title {
  690. border-left: 3px solid rgb(51, 122, 183);
  691. }
  692. }
  693. }
  694. }
  695. .paneContainer-highlight-border {
  696. grid-row: 1;
  697. grid-column: 1;
  698. opacity: 1;
  699. border: 3px solid red;
  700. transition: opacity 250ms;
  701. pointer-events: none;
  702. &.transparent {
  703. opacity: 0;
  704. }
  705. }
  706. .paneContainer-content {
  707. grid-row: 1;
  708. grid-column: 1;
  709. .header {
  710. display: grid;
  711. grid-template-columns: 1fr auto;
  712. background: #555555;
  713. height: 30px;
  714. padding-right: 5px;
  715. cursor: pointer;
  716. .title {
  717. border-left: 3px solid transparent;
  718. padding-left: 5px;
  719. grid-column: 1;
  720. display: flex;
  721. align-items: center;
  722. }
  723. .collapse {
  724. grid-column: 2;
  725. display: flex;
  726. align-items: center;
  727. justify-items: center;
  728. transform-origin: center;
  729. &.closed {
  730. transform: rotate(180deg);
  731. }
  732. }
  733. }
  734. .paneList > div:not(:last-child) {
  735. border-bottom: 0.5px solid rgba(255, 255, 255, 0.1);
  736. }
  737. }
  738. }
  739. }
  740. }
  741. }
  742. }