node.css 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. :host {
  2. display: flex;
  3. flex-direction: column;
  4. overflow: hidden;
  5. }
  6. :host([type="node"][sub-type='scene']) > .container > .body > .node,
  7. :host([type="node"][sub-type='scene']) > .container > .body > .section-header,
  8. :host([type="node"][sub-type='scene']) > .container > .body > .section-body,
  9. :host([type="node"][sub-type='scene']) > .container > .body > .section-footer,
  10. :host([type="node"][sub-type='scene']) > .container > .body > .section-missing,
  11. :host([type="node"][sub-type='scene']) > .container > .body > .footer,
  12. :host([type="node"][sub-type='scene']) > .container > .body > .section-asset {
  13. display: none;
  14. }
  15. :host([type="node"][sub-type='scene']) > .container > .body > .scene {
  16. display: block;
  17. }
  18. :host([type="node"][sub-type='node']) > .container > .body > .node {
  19. display: block;
  20. }
  21. .container {
  22. flex: 1;
  23. display: flex;
  24. flex-direction: column;
  25. overflow: hidden;
  26. }
  27. .container[hidden] {
  28. display: none;
  29. }
  30. .container[hoving] {
  31. outline: 2px solid var(--color-focus-fill-weaker);
  32. outline-offset: -2px;
  33. }
  34. .container > .header {
  35. display: flex;
  36. flex-direction: column;
  37. border-bottom: solid 1px var(--color-normal-fill-emphasis);
  38. margin-bottom: -1px;
  39. }
  40. .container > .header > .prefab {
  41. display: flex;
  42. padding: 4px 4px 0 4px;
  43. }
  44. .container > .header > .prefab[hidden] {
  45. display: none;
  46. }
  47. .container > .header > .prefab > ui-label {
  48. flex: 1;
  49. color: var(--color-success-fill);
  50. }
  51. .container > .header > .prefab > ui-button {
  52. padding: 0 8px;
  53. margin-left: 4px;
  54. }
  55. .container > .header > .prefab .unlink-btns {
  56. margin-left: 4px;
  57. background-color: #3d3d3d;
  58. display: flex;
  59. }
  60. .container > .header > .prefab .unlink-btns > ui-button:last-child {
  61. width: 16px;
  62. padding: 0;
  63. }
  64. .container > .header > .prefab .unlink-btns > ui-button:last-child > ui-icon {
  65. margin-left: -1px;
  66. }
  67. .container > .header > .prefab[missing] > ui-label {
  68. color: var(--color-danger-fill);
  69. }
  70. .container > .header > .node {
  71. display: flex;
  72. flex: 1;
  73. margin: 4px 4px 4px 0;
  74. }
  75. .container > .header > .node > .active {
  76. width: 20px;
  77. }
  78. .container > .header > .node > .name {
  79. flex: 1;
  80. overflow: hidden;
  81. text-overflow: ellipsis;
  82. white-space: nowrap;
  83. }
  84. .container > .body {
  85. flex: 1;
  86. display: flex;
  87. flex-direction: column;
  88. overflow: auto;
  89. padding-bottom: 8px;
  90. }
  91. .container > .body .component .component-header {
  92. flex: 1;
  93. min-width: 0;
  94. display: flex;
  95. align-items: center;
  96. margin-right: 2px;
  97. }
  98. .container > .body .component .component-header .active {
  99. margin-right: 4px;
  100. }
  101. .container > .body .component .component-header ui-drag-item, .container > .body .component .component-header .name {
  102. flex: 1;
  103. overflow: hidden;
  104. text-overflow: ellipsis;
  105. white-space: nowrap;
  106. }
  107. .container > .body .component .component-header > .menu,
  108. .container > .body .component .component-header > .link {
  109. padding: 0 2px;
  110. }
  111. .container > .body .component .component-header > .menu {
  112. opacity: 0.8;
  113. }
  114. .container > .body .component .component-header > .menu:hover {
  115. opacity: 1;
  116. }
  117. .container > .body .component .component-header > .link {
  118. display: none;
  119. }
  120. .container > .body .component .component-header > .link[value] {
  121. display: inline-block;
  122. }
  123. .container > .body .component ui-prop {
  124. margin-top: 4px;
  125. }
  126. .container > .body .component ui-prop [slot='label'] {
  127. overflow: hidden;
  128. text-overflow: ellipsis;
  129. }
  130. .container > .body > .scene {
  131. display: none;
  132. border-top: solid 1px var(--color-normal-border);
  133. }
  134. .container > .body > .scene ui-prop[ui-section-config],
  135. .container > .body > .scene ui-section.config {
  136. margin-top: 0;
  137. }
  138. .container > .body > .scene ui-prop[ui-section-config]:last-child {
  139. border-bottom: solid 1px var(--color-normal-fill-emphasis);
  140. }
  141. .container > .body > .scene ui-prop[ui-section-config] ui-section.config [slot="header"] {
  142. flex: 1;
  143. justify-content: space-between;
  144. margin-right: 2px;
  145. }
  146. .container > .body > .scene .envmap .envmap-prop ui-prop {
  147. margin-top: 0;
  148. margin-left: 0;
  149. }
  150. .container > .body > .scene > .skybox {
  151. margin-top: 4px;
  152. }
  153. .container > .body > .scene > .skybox > [slot="header"] {
  154. justify-content: space-between;
  155. }
  156. .container > .body > .node .layer-content {
  157. display: flex;
  158. }
  159. .container > .body > .node .layer-content > .layer-select {
  160. flex: 1;
  161. margin: 0;
  162. }
  163. .container > .body > .node .layer-content > .layer-edit {
  164. margin-left: 4px;
  165. }
  166. .container > .body > .section-body ui-section.config:last-child {
  167. border-bottom: solid 1px var(--color-normal-fill-emphasis);
  168. }
  169. .container > .body > .section-missing:not(:empty) {
  170. margin-top: 10px;
  171. border-top: 1px solid var(--color-normal-border);
  172. }
  173. .container > .body > .section-missing > section {
  174. display: flex;
  175. padding: 0 10px;
  176. }
  177. .container > .body > .section-missing > section:hover {
  178. background-color: var(--color-hover-fill-normal);
  179. }
  180. .container > .body > .section-missing .name {
  181. flex: 1;
  182. color: var(--color-normal-contrast-emphasis);
  183. }
  184. .container > .body > .section-missing .name span {
  185. text-decoration: line-through;
  186. }
  187. .container > .body > .section-missing > section > ui-icon {
  188. margin: 0 0 0 10px;
  189. cursor: pointer;
  190. display: none;
  191. }
  192. .container > .body > .section-missing > section:hover > ui-icon {
  193. display: inline-block;
  194. }
  195. .container > .body > .section-missing > section > ui-icon:hover {
  196. color: var(--color-focus-fill-weakest);
  197. }
  198. .container > .body > .footer {
  199. margin: 20px 0;
  200. text-align: center;
  201. }
  202. .container > .body > .footer .add-component {
  203. padding: 0 24px;
  204. }
  205. .container > .body > .section-asset {
  206. margin-bottom: 16px;
  207. }
  208. .container > .body > .section-asset:empty {
  209. display: none;
  210. }