diff --git a/platform/features/clock/res/templates/clock.html b/platform/features/clock/res/templates/clock.html
index 0c0309ca3b..5ab37a14c6 100644
--- a/platform/features/clock/res/templates/clock.html
+++ b/platform/features/clock/res/templates/clock.html
@@ -19,7 +19,7 @@
this source code distribution or the Licensing information page available
at runtime from the About dialog for additional information.
-->
-
+
{{clock.zone()}}
diff --git a/platform/features/clock/res/templates/timer.html b/platform/features/clock/res/templates/timer.html
index 235ff0f17f..3df5ba596d 100644
--- a/platform/features/clock/res/templates/timer.html
+++ b/platform/features/clock/res/templates/timer.html
@@ -19,7 +19,7 @@
this source code distribution or the Licensing information page available
at runtime from the About dialog for additional information.
-->
-
+
-
+
diff --git a/src/plugins/condition/components/inspector/StyleEditor.vue b/src/plugins/condition/components/inspector/StyleEditor.vue
index 6a27dc7ee7..b867a533e8 100644
--- a/src/plugins/condition/components/inspector/StyleEditor.vue
+++ b/src/plugins/condition/components/inspector/StyleEditor.vue
@@ -21,21 +21,22 @@
*****************************************************************************/
-
-
-
+
+
- ABC
-
-
-
+
+ ABC
+
+
+
-
+
+
+
+
@@ -80,12 +88,11 @@ export default {
ToolbarColorPicker,
ToolbarToggleButton
},
- inject: [
- 'openmct'
- ],
+ inject: ['openmct'],
props: {
isEditing: {
- type: Boolean
+ type: Boolean,
+ required: true
},
mixedStyles: {
type: Array,
@@ -93,6 +100,10 @@ export default {
return [];
}
},
+ nonSpecificFontProperties: {
+ type: Array,
+ required: true
+ },
styleItem: {
type: Object,
required: true
@@ -182,7 +193,16 @@ export default {
}
]
};
-
+ },
+ saveOptions() {
+ return {
+ icon: 'icon-save',
+ title: 'Save style',
+ isEditing: this.isEditing
+ };
+ },
+ canSaveStyle() {
+ return this.isEditing && !this.mixedStyles.length && !this.nonSpecificFontProperties.length;
}
},
methods: {
@@ -216,6 +236,9 @@ export default {
}
this.$emit('persist', this.styleItem, item.property);
+ },
+ saveItemStyle() {
+ this.$emit('save-style', this.itemStyle);
}
}
};
diff --git a/src/plugins/condition/components/inspector/StylesView.vue b/src/plugins/condition/components/inspector/StylesView.vue
index 3e2e745c42..03fb48732f 100644
--- a/src/plugins/condition/components/inspector/StylesView.vue
+++ b/src/plugins/condition/components/inspector/StylesView.vue
@@ -31,6 +31,11 @@
+
+
+
@@ -97,8 +111,10 @@
/>
@@ -108,6 +124,7 @@
diff --git a/src/plugins/telemetryTable/components/table.scss b/src/plugins/telemetryTable/components/table.scss
index 55472daa86..4a615d3e6c 100644
--- a/src/plugins/telemetryTable/components/table.scss
+++ b/src/plugins/telemetryTable/components/table.scss
@@ -9,6 +9,9 @@
.c-telemetry-table {
// Table that displays telemetry in a scrolling body area
+
+ @include fontAndSize();
+
display: flex;
flex-flow: column nowrap;
justify-content: flex-start;
@@ -108,7 +111,7 @@
display: flex; // flex-flow defaults to row nowrap (which is what we want) so no need to define
align-items: stretch;
position: absolute;
- height: 18px; // Needed when a row has empty values in its cells
+ min-height: 18px; // Needed when a row has empty values in its cells
.is-editing .l-layout__frame & {
pointer-events: none;
@@ -151,6 +154,12 @@
}
}
+ &__sizing-tr {
+ // A row element used to determine sizing of rows based on font size
+ visibility: hidden;
+ pointer-events: none;
+ }
+
&__footer {
$pt: 2px;
border-top: 1px solid $colorInteriorBorder;
diff --git a/src/plugins/telemetryTable/components/table.vue b/src/plugins/telemetryTable/components/table.vue
index 923a2c3cf7..ab58b37bbf 100644
--- a/src/plugins/telemetryTable/components/table.vue
+++ b/src/plugins/telemetryTable/components/table.vue
@@ -125,7 +125,7 @@
+
{
@@ -901,6 +907,12 @@ export default {
this.isAutosizeEnabled = true;
this.$nextTick().then(this.calculateColumnWidths);
+ },
+ setRowHeight(height) {
+ this.rowHeight = height;
+ this.setHeight();
+ this.calculateTableSize();
+ this.clearRowsAndRerender();
}
}
};
diff --git a/src/styles/_constants.scss b/src/styles/_constants.scss
index 0d5ea06fdd..8d9162f913 100755
--- a/src/styles/_constants.scss
+++ b/src/styles/_constants.scss
@@ -103,6 +103,8 @@ $colorProgressBarHolder: rgba(black, 0.1);
$colorProgressBar: #0085ad;
$progressAnimW: 500px;
$progressBarMinH: 6px;
+/************************** FONT STYLING */
+$listFontSizes: 8,9,10,11,12,13,14,16,18,20,24,28,32,36,42,48,72,96,128;
/************************** GLYPH CHAR UNICODES */
$glyph-icon-alert-rect: '\e900';
diff --git a/src/styles/_controls.scss b/src/styles/_controls.scss
index e7f9afdcef..fb17882824 100644
--- a/src/styles/_controls.scss
+++ b/src/styles/_controls.scss
@@ -113,6 +113,10 @@ button {
}
}
+.c-icon-button--disabled {
+ @include cClickIconButtonLayout();
+}
+
.c-icon-link {
&:before {
// Icon
@@ -121,8 +125,8 @@ button {
}
.c-icon-button {
- &__label {
- margin-left: $interiorMargin;
+ [class*='label'] {
+ opacity: 0.6;
}
&--mixed {
@@ -639,6 +643,7 @@ select {
}
&__item-none {
+ @include userSelectNone();
flex: 0 0 auto;
display: flex;
align-items: center;
@@ -760,6 +765,12 @@ select {
color: $editUIBaseColorFg !important;
}
+ &--menu {
+ $p: 4px;
+ padding-top: $p;
+ padding-bottom: $p;
+ }
+
&--swatched {
padding-bottom: floor($pTB / 2);
width: 2em; // Standardize the width
@@ -841,8 +852,41 @@ select {
display: flex;
flex: 1 1 auto;
align-items: center;
+ justify-content: space-between;
- > * + * { margin-left: $interiorMargin; }
+ &__controls {
+ // Holds thumb, icon buttons
+ display: flex;
+ flex: 1 0 auto;
+
+ > * + * { margin-left: $interiorMargin; }
+ }
+
+ &__button-save,
+ &__button-delete {
+ // Holds save and delete buttons accordingly
+ flex: 0 0 auto;
+ }
+
+ &--saved {
+ border-radius: $controlCr;
+ padding: $interiorMargin !important;
+ cursor: pointer;
+
+ @include hover {
+ background: rgba($editUIBaseColorHov, 0.3);
+ }
+
+ .c-style__controls {
+ [class*='button'] {
+ pointer-events: none;
+
+ &:before {
+ opacity: $controlDisabledOpacity;
+ }
+ }
+ }
+ }
}
.c-style-thumb {
@@ -851,7 +895,9 @@ select {
border-radius: $basicCr;
box-shadow: rgba($colorBodyFg, 0.4) 0 0 3px;
flex: 0 0 auto;
- padding: $interiorMargin $interiorMarginLg;
+ padding: $interiorMargin;
+ text-align: center;
+ width: 50px;
&--mixed {
@include mixedBg();
diff --git a/src/styles/_global.scss b/src/styles/_global.scss
index f183bf819b..b533bbc577 100644
--- a/src/styles/_global.scss
+++ b/src/styles/_global.scss
@@ -96,6 +96,37 @@ body.desktop {
}
}
+/******************************************************** FONTS */
+@mixin fontAndSize() {
+ @each $size in $listFontSizes {
+ &[data-font-size="#{$size}"] {
+ font-size: #{$size}px;
+
+ // Set row heights in telemetry tables
+ tr {
+ min-height: #{$size + ($tabularTdPadTB * 2)};
+ }
+
+ }
+ }
+
+ &[data-font*="bold"] {
+ font-weight: bold;
+ }
+
+ &[data-font*="narrow"] {
+ font-family: 'Arial Narrow', sans-serif;
+ }
+
+ &[data-font*="monospace"] {
+ font-family: 'Andale Mono', sans-serif;
+ }
+}
+
+.u-style-receiver {
+ @include fontAndSize();
+}
+
/******************************************************** HTML ENTITIES */
a {
color: $colorA;
@@ -227,7 +258,7 @@ body.desktop .has-local-controls {
}
/******************************************************** STATES */
-@mixin spinner($b: 5px, $c: $colorKey) {
+@mixin spinner($b: 5, $c: $colorKey) {
animation-name: rotation-centered;
animation-duration: 0.5s;
animation-iteration-count: infinite;
@@ -277,7 +308,7 @@ body.desktop .has-local-controls {
}
&.c-tree__item {
$d: $waitSpinnerTreeD;
- $spinnerL: 19px + $d/2;
+ $spinnerL: 19 + $d/2;
display: flex;
align-items: center;
diff --git a/src/styles/_legacy.scss b/src/styles/_legacy.scss
index 14a02849f2..e748b71c6e 100644
--- a/src/styles/_legacy.scss
+++ b/src/styles/_legacy.scss
@@ -52,6 +52,7 @@
$ctrlW: 22px;
&__controls {
+ font-size: 1rem !important;
margin-right: 0;
min-width: 0;
overflow: hidden;
@@ -62,7 +63,7 @@
}
&__direction {
- font-size: 0.9em;
+ font-size: 0.9rem !important;
margin-right: $interiorMargin;
}
diff --git a/src/styles/_mixins.scss b/src/styles/_mixins.scss
index 60337528cc..098f23505a 100644
--- a/src/styles/_mixins.scss
+++ b/src/styles/_mixins.scss
@@ -534,7 +534,7 @@
}
&[class*="--major"] {
- color: $colorKey;
+ color: $colorBtnMajorBg !important;
}
}
diff --git a/src/styles/fonts/Open MCT Symbols 16px.json b/src/styles/fonts/Open MCT Symbols 16px.json
index b0caa3338c..15e20d9d38 100755
--- a/src/styles/fonts/Open MCT Symbols 16px.json
+++ b/src/styles/fonts/Open MCT Symbols 16px.json
@@ -2,7 +2,7 @@
"metadata": {
"name": "Open MCT Symbols 16px",
"lastOpened": 0,
- "created": 1597943624771
+ "created": 1602779919972
},
"iconSets": [
{
@@ -752,7 +752,7 @@
"tempChar": ""
},
{
- "order": 114,
+ "order": 194,
"id": 4,
"name": "icon-font-size",
"prevSize": 24,
@@ -2718,16 +2718,25 @@
{
"id": 4,
"paths": [
- "M842.841 380.048h-120.956l-52.382 139.676 52.918 141.12 59.942-159.84 62.361 166.314h-119.884l34.019 90.717h119.884l39.695 105.836h105.836l-181.434-483.823z",
- "M263.903 160.129l-263.903 703.742h153.944l57.729-153.944h280.397l57.729 153.944h153.944l-263.903-703.742zM261.154 577.976l90.717-241.911 90.717 241.911z"
+ "M1226.4 320h-176l-76.22 203.24 77 205.34 87.22-232.58 90.74 242h-174.44l49.5 132h174.44l57.76 154h154l-264-704z",
+ "M384 0l-384 1024h224l84-224h408l84 224h224l-384-1024zM380 608l132-352 132 352z"
+ ],
+ "attrs": [
+ {},
+ {}
],
- "attrs": [],
"grid": 16,
"tags": [
"icon-font-size-alt1"
],
+ "width": 1504,
+ "isMulticolor": false,
+ "isMulticolor2": false,
"colorPermutations": {
- "12552552551": []
+ "12552552551": [
+ {},
+ {}
+ ]
}
},
{
diff --git a/src/styles/fonts/Open-MCT-Symbols-16px.svg b/src/styles/fonts/Open-MCT-Symbols-16px.svg
index 8c333ecdc8..a5ec213c76 100644
--- a/src/styles/fonts/Open-MCT-Symbols-16px.svg
+++ b/src/styles/fonts/Open-MCT-Symbols-16px.svg
@@ -100,7 +100,7 @@
-
+
diff --git a/src/styles/fonts/Open-MCT-Symbols-16px.ttf b/src/styles/fonts/Open-MCT-Symbols-16px.ttf
index 78245ed5c3..bff958ea17 100644
Binary files a/src/styles/fonts/Open-MCT-Symbols-16px.ttf and b/src/styles/fonts/Open-MCT-Symbols-16px.ttf differ
diff --git a/src/styles/fonts/Open-MCT-Symbols-16px.woff b/src/styles/fonts/Open-MCT-Symbols-16px.woff
index 685c06d4ec..ae0ac170fa 100644
Binary files a/src/styles/fonts/Open-MCT-Symbols-16px.woff and b/src/styles/fonts/Open-MCT-Symbols-16px.woff differ
diff --git a/src/ui/components/ObjectFrame.vue b/src/ui/components/ObjectFrame.vue
index 465e5f9f6a..966a30ac03 100644
--- a/src/ui/components/ObjectFrame.vue
+++ b/src/ui/components/ObjectFrame.vue
@@ -66,6 +66,8 @@
:object="domainObject"
:show-edit-view="showEditView"
:object-path="objectPath"
+ :layout-font-size="layoutFontSize"
+ :layout-font="layoutFont"
/>
@@ -103,6 +105,14 @@ export default {
showEditView: {
type: Boolean,
default: true
+ },
+ layoutFontSize: {
+ type: String,
+ default: ''
+ },
+ layoutFont: {
+ type: String,
+ default: ''
}
},
data() {
diff --git a/src/ui/components/ObjectView.vue b/src/ui/components/ObjectView.vue
index 01df6a74d8..d8674a6490 100644
--- a/src/ui/components/ObjectView.vue
+++ b/src/ui/components/ObjectView.vue
@@ -20,6 +20,30 @@ export default {
default: () => {
return [];
}
+ },
+ layoutFontSize: {
+ type: String,
+ default: ''
+ },
+ layoutFont: {
+ type: String,
+ default: ''
+ }
+ },
+ data() {
+ return {
+ currentObject: this.object
+ };
+ },
+ computed: {
+ objectFontStyle() {
+ return this.currentObject && this.currentObject.configuration && this.currentObject.configuration.fontStyle;
+ },
+ fontSize() {
+ return this.objectFontStyle ? this.objectFontStyle.fontSize : this.layoutFontSize;
+ },
+ font() {
+ return this.objectFontStyle ? this.objectFontStyle.font : this.layoutFont;
}
},
watch: {
@@ -42,6 +66,10 @@ export default {
this.stopListeningStyles();
}
+ if (this.stopListeningFontStyles) {
+ this.stopListeningFontStyles();
+ }
+
if (this.styleRuleManager) {
this.styleRuleManager.destroy();
delete this.styleRuleManager;
@@ -51,7 +79,6 @@ export default {
this.debounceUpdateView = _.debounce(this.updateView, 10);
},
mounted() {
- this.currentObject = this.object;
this.updateView();
this.$el.addEventListener('dragover', this.onDragOver, {
capture: true
@@ -64,7 +91,6 @@ export default {
//This is to apply styles to subobjects in a layout
this.initObjectStyles();
}
-
},
methods: {
clear() {
@@ -92,6 +118,15 @@ export default {
this.openmct.objectViews.off('clearData', this.clearData);
},
+ getStyleReceiver() {
+ let styleReceiver = this.$el.querySelector('.js-style-receiver');
+
+ if (!styleReceiver) {
+ styleReceiver = this.$el.querySelector(':first-child');
+ }
+
+ return styleReceiver;
+ },
invokeEditModeHandler(editMode) {
let edit;
@@ -113,21 +148,21 @@ export default {
}
let keys = Object.keys(styleObj);
+ let elemToStyle = this.getStyleReceiver();
keys.forEach(key => {
- let firstChild = this.$el.querySelector(':first-child');
- if (firstChild) {
+ if (elemToStyle) {
if ((typeof styleObj[key] === 'string') && (styleObj[key].indexOf('__no_value') > -1)) {
- if (firstChild.style[key]) {
- firstChild.style[key] = '';
+ if (elemToStyle.style[key]) {
+ elemToStyle.style[key] = '';
}
} else {
- if (!styleObj.isStyleInvisible && firstChild.classList.contains(STYLE_CONSTANTS.isStyleInvisible)) {
- firstChild.classList.remove(STYLE_CONSTANTS.isStyleInvisible);
- } else if (styleObj.isStyleInvisible && !firstChild.classList.contains(styleObj.isStyleInvisible)) {
- firstChild.classList.add(styleObj.isStyleInvisible);
+ if (!styleObj.isStyleInvisible && elemToStyle.classList.contains(STYLE_CONSTANTS.isStyleInvisible)) {
+ elemToStyle.classList.remove(STYLE_CONSTANTS.isStyleInvisible);
+ } else if (styleObj.isStyleInvisible && !elemToStyle.classList.contains(styleObj.isStyleInvisible)) {
+ elemToStyle.classList.add(styleObj.isStyleInvisible);
}
- firstChild.style[key] = styleObj[key];
+ elemToStyle.style[key] = styleObj[key];
}
}
});
@@ -228,6 +263,14 @@ export default {
//Updating styles in the inspector view will trigger this so that the changes are reflected immediately
this.styleRuleManager.updateObjectStyleConfig(newObjectStyle);
});
+
+ this.setFontSize(this.fontSize);
+ this.setFont(this.font);
+
+ this.stopListeningFontStyles = this.openmct.objects.observe(this.currentObject, 'configuration.fontStyle', (newFontStyle) => {
+ this.setFontSize(newFontStyle.fontSize);
+ this.setFont(newFontStyle.font);
+ });
},
loadComposition() {
return this.composition.load();
@@ -311,6 +354,14 @@ export default {
let parentObject = objectPath[1];
return [browseObject, parentObject, this.currentObject].every(object => object && !object.locked);
+ },
+ setFontSize(newSize) {
+ let elemToStyle = this.getStyleReceiver();
+ elemToStyle.dataset.fontSize = newSize;
+ },
+ setFont(newFont) {
+ let elemToStyle = this.getStyleReceiver();
+ elemToStyle.dataset.font = newFont;
}
}
};
diff --git a/src/ui/inspector/Inspector.vue b/src/ui/inspector/Inspector.vue
index db298ba199..04df27fe5c 100644
--- a/src/ui/inspector/Inspector.vue
+++ b/src/ui/inspector/Inspector.vue
@@ -15,7 +15,7 @@
-
@@ -32,9 +32,22 @@
-
-
-
+
+
+
+
+
+
+
+
@@ -48,12 +61,18 @@ import Properties from './Properties.vue';
import ObjectName from './ObjectName.vue';
import InspectorViews from './InspectorViews.vue';
import _ from "lodash";
-import StylesInspectorView from "./StylesInspectorView.vue";
+import stylesManager from '@/ui/inspector/styles/StylesManager';
+import StylesInspectorView from '@/ui/inspector/styles/StylesInspectorView.vue';
+import SavedStylesInspectorView from '@/ui/inspector/styles/SavedStylesInspectorView.vue';
export default {
+ provide: {
+ stylesManager: stylesManager
+ },
inject: ['openmct'],
components: {
StylesInspectorView,
+ SavedStylesInspectorView,
multipane,
pane,
Elements,
@@ -63,7 +82,10 @@ export default {
InspectorViews
},
props: {
- 'isEditing': Boolean
+ isEditing: {
+ type: Boolean,
+ required: true
+ }
},
data() {
return {
diff --git a/src/ui/inspector/inspector.scss b/src/ui/inspector/inspector.scss
index 179d200442..2334562265 100644
--- a/src/ui/inspector/inspector.scss
+++ b/src/ui/inspector/inspector.scss
@@ -57,6 +57,10 @@
}
}
+ &__saved-styles {
+ height: 300px;
+ }
+
.c-color-swatch {
$d: 12px;
display: block;
@@ -162,6 +166,11 @@
}
}
+/********************************************* INSPECTOR PROPERTIES TAB */
+.c-saved-style {
+ cursor: default;
+}
+
/********************************************* LEGACY SUPPORT */
.c-inspector {
// FilterField.vue
diff --git a/src/ui/inspector/styles/FontStyleEditor.vue b/src/ui/inspector/styles/FontStyleEditor.vue
new file mode 100644
index 0000000000..04600d8762
--- /dev/null
+++ b/src/ui/inspector/styles/FontStyleEditor.vue
@@ -0,0 +1,63 @@
+
+
+
+
+
diff --git a/src/ui/inspector/styles/SavedStyleSelector.vue b/src/ui/inspector/styles/SavedStyleSelector.vue
new file mode 100644
index 0000000000..bbb326a782
--- /dev/null
+++ b/src/ui/inspector/styles/SavedStyleSelector.vue
@@ -0,0 +1,195 @@
+/*****************************************************************************
+* Open MCT, Copyright (c) 2014-2020, United States Government
+* as represented by the Administrator of the National Aeronautics and Space
+* Administration. All rights reserved.
+*
+* Open MCT is licensed under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+* http://www.apache.org/licenses/LICENSE-2.0.
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+* License for the specific language governing permissions and limitations
+* under the License.
+*
+* Open MCT includes source code licensed under additional open source
+* licenses. See the Open Source Licenses file (LICENSES.md) included with
+* this source code distribution or the Licensing information page available
+* at runtime from the About dialog for additional information.
+*****************************************************************************/
+
+
+
+
+
+
diff --git a/src/ui/inspector/styles/SavedStylesInspectorView.vue b/src/ui/inspector/styles/SavedStylesInspectorView.vue
new file mode 100644
index 0000000000..2c35cbbf57
--- /dev/null
+++ b/src/ui/inspector/styles/SavedStylesInspectorView.vue
@@ -0,0 +1,72 @@
+/*****************************************************************************
+* Open MCT, Copyright (c) 2014-2020, United States Government
+* as represented by the Administrator of the National Aeronautics and Space
+* Administration. All rights reserved.
+*
+* Open MCT is licensed under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+* http://www.apache.org/licenses/LICENSE-2.0.
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+* License for the specific language governing permissions and limitations
+* under the License.
+*
+* Open MCT includes source code licensed under additional open source
+* licenses. See the Open Source Licenses file (LICENSES.md) included with
+* this source code distribution or the Licensing information page available
+* at runtime from the About dialog for additional information.
+*****************************************************************************/
+
+
+
+
+
+
diff --git a/src/ui/inspector/styles/SavedStylesView.vue b/src/ui/inspector/styles/SavedStylesView.vue
new file mode 100644
index 0000000000..23b17dd29b
--- /dev/null
+++ b/src/ui/inspector/styles/SavedStylesView.vue
@@ -0,0 +1,129 @@
+/*****************************************************************************
+* Open MCT, Copyright (c) 2014-2020, United States Government
+* as represented by the Administrator of the National Aeronautics and Space
+* Administration. All rights reserved.
+*
+* Open MCT is licensed under the Apache License, Version 2.0 (the
+* "License"); you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+* http://www.apache.org/licenses/LICENSE-2.0.
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+* License for the specific language governing permissions and limitations
+* under the License.
+*
+* Open MCT includes source code licensed under additional open source
+* licenses. See the Open Source Licenses file (LICENSES.md) included with
+* this source code distribution or the Licensing information page available
+* at runtime from the About dialog for additional information.
+*****************************************************************************/
+
+
+
+
+
+
diff --git a/src/ui/inspector/StylesInspectorView.vue b/src/ui/inspector/styles/StylesInspectorView.vue
similarity index 91%
rename from src/ui/inspector/StylesInspectorView.vue
rename to src/ui/inspector/styles/StylesInspectorView.vue
index 2b96130695..4f78cde03b 100644
--- a/src/ui/inspector/StylesInspectorView.vue
+++ b/src/ui/inspector/styles/StylesInspectorView.vue
@@ -25,11 +25,11 @@