slicejs-web-framework 3.2.2 → 3.3.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.
- package/.opencode/opencode.json +14 -0
- package/README.md +57 -134
- package/Slice/Components/Structural/ContextManager/ContextManagerDebugger.js +233 -110
- package/Slice/Components/Structural/Controller/Controller.js +9 -0
- package/Slice/Components/Structural/Controller/allowedValuesValidation.js +52 -0
- package/Slice/Components/Structural/Debugger/Debugger.js +392 -442
- package/Slice/Components/Structural/EventManager/EventManagerDebugger.js +264 -149
- package/Slice/Components/Structural/Router/Router.js +45 -14
- package/Slice/tests/props-allowed-values-validation.test.js +119 -0
- package/package.json +11 -9
- package/src/App/index.html +2 -8
- package/src/App/index.js +18 -21
- package/src/App/style.css +8 -37
- package/src/Components/AppComponents/AboutSection/AboutSection.css +9 -0
- package/src/Components/AppComponents/AboutSection/AboutSection.html +8 -0
- package/src/Components/AppComponents/AboutSection/AboutSection.js +12 -0
- package/src/Components/AppComponents/AppShell/AppShell.css +10 -0
- package/src/Components/AppComponents/AppShell/AppShell.html +4 -0
- package/src/Components/AppComponents/AppShell/AppShell.js +36 -0
- package/src/Components/AppComponents/HomeSection/HomeSection.css +20 -0
- package/src/Components/AppComponents/HomeSection/HomeSection.html +10 -0
- package/src/Components/AppComponents/HomeSection/HomeSection.js +19 -0
- package/src/Components/Visual/MultiRoute/MultiRoute.js +13 -6
- package/src/Components/components.js +4 -16
- package/src/routes.js +6 -12
- package/src/sliceConfig.json +2 -1
- package/Slice/Components/Structural/Debugger/Debugger.css +0 -620
- package/src/Components/AppComponents/HomePage/HomePage.css +0 -201
- package/src/Components/AppComponents/HomePage/HomePage.html +0 -37
- package/src/Components/AppComponents/HomePage/HomePage.js +0 -210
- package/src/Components/AppComponents/Playground/Playground.css +0 -12
- package/src/Components/AppComponents/Playground/Playground.html +0 -0
- package/src/Components/AppComponents/Playground/Playground.js +0 -111
- package/src/images/Slice.js-logo.png +0 -0
- package/src/images/im2/Slice.js-logo.png +0 -0
- package/src/testing.js +0 -888
|
@@ -799,675 +799,625 @@ customElements.define('slice-debugger', Debugger);
|
|
|
799
799
|
|
|
800
800
|
function productionOnlyCSS(){
|
|
801
801
|
return `
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
802
|
+
/* ============================================================
|
|
803
|
+
Slice Instruments — Component Inspector
|
|
804
|
+
All selectors are scoped under the <slice-debugger> tag so the
|
|
805
|
+
panel never clashes with (or leaks into) app styles. Tokens live
|
|
806
|
+
on the tag so both #debugger-container and the sibling
|
|
807
|
+
#editor-modal inherit them. Chrome colors are static; only the
|
|
808
|
+
accent reads the theme (--primary-color) with a static fallback.
|
|
809
|
+
============================================================ */
|
|
810
|
+
slice-debugger {
|
|
811
|
+
--si-accent: var(--primary-color, #6ee7ff);
|
|
812
|
+
--si-accent-rgb: var(--primary-color-rgb, 110, 231, 255);
|
|
813
|
+
--si-surface: rgba(17, 19, 28, 0.88);
|
|
814
|
+
--si-raised: rgba(255, 255, 255, 0.035);
|
|
815
|
+
--si-raised-2: rgba(255, 255, 255, 0.06);
|
|
816
|
+
--si-inset: rgba(0, 0, 0, 0.28);
|
|
817
|
+
--si-border: rgba(255, 255, 255, 0.09);
|
|
818
|
+
--si-text: #e8eaf2;
|
|
819
|
+
--si-dim: #888fa6;
|
|
820
|
+
--si-danger: #ff6b6b;
|
|
821
|
+
--si-success: #46d39a;
|
|
822
|
+
--si-mono: ui-monospace, 'SF Mono', 'JetBrains Mono', 'Cascadia Code', Menlo, Consolas, monospace;
|
|
823
|
+
--si-sans: system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
|
|
824
|
+
}
|
|
825
|
+
|
|
826
|
+
slice-debugger *,
|
|
827
|
+
slice-debugger *::before,
|
|
828
|
+
slice-debugger *::after { box-sizing: border-box; }
|
|
829
|
+
|
|
830
|
+
slice-debugger #debugger-container {
|
|
831
|
+
font-family: var(--si-sans);
|
|
832
|
+
display: none;
|
|
833
|
+
position: fixed;
|
|
834
|
+
top: 20px;
|
|
835
|
+
right: 20px;
|
|
836
|
+
width: 430px;
|
|
837
|
+
height: 85vh;
|
|
838
|
+
max-height: 85vh;
|
|
839
|
+
background: var(--si-surface);
|
|
840
|
+
border: 1px solid var(--si-border);
|
|
841
|
+
border-radius: 16px;
|
|
842
|
+
box-shadow:
|
|
843
|
+
0 30px 70px -16px rgba(0, 0, 0, 0.6),
|
|
844
|
+
0 0 0 1px rgba(0, 0, 0, 0.2),
|
|
845
|
+
0 0 46px -20px rgba(var(--si-accent-rgb), 0.6);
|
|
846
|
+
color: var(--si-text);
|
|
847
|
+
z-index: 10000;
|
|
848
|
+
overflow: hidden;
|
|
849
|
+
-webkit-backdrop-filter: blur(24px) saturate(1.3);
|
|
850
|
+
backdrop-filter: blur(24px) saturate(1.3);
|
|
851
|
+
}
|
|
852
|
+
|
|
853
|
+
slice-debugger #debugger-container.active {
|
|
822
854
|
display: flex;
|
|
823
855
|
flex-direction: column;
|
|
856
|
+
animation: si-inspector-in 0.28s cubic-bezier(0.16, 1, 0.3, 1);
|
|
824
857
|
}
|
|
825
858
|
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
829
|
-
padding: 12px 16px;
|
|
830
|
-
border-radius: 12px 12px 0 0;
|
|
831
|
-
user-select: none;
|
|
832
|
-
cursor: grab;
|
|
859
|
+
@keyframes si-inspector-in {
|
|
860
|
+
from { opacity: 0; transform: translateY(12px) scale(0.985); }
|
|
861
|
+
to { opacity: 1; transform: translateY(0) scale(1); }
|
|
833
862
|
}
|
|
834
863
|
|
|
835
|
-
|
|
836
|
-
|
|
864
|
+
slice-debugger #debugger-container::before {
|
|
865
|
+
content: '';
|
|
866
|
+
position: absolute;
|
|
867
|
+
left: 0; top: 0; bottom: 0;
|
|
868
|
+
width: 2px;
|
|
869
|
+
background: linear-gradient(180deg, var(--si-accent), transparent 60%);
|
|
870
|
+
opacity: 0.9;
|
|
871
|
+
pointer-events: none;
|
|
872
|
+
z-index: 2;
|
|
873
|
+
}
|
|
874
|
+
|
|
875
|
+
slice-debugger .debugger-header {
|
|
876
|
+
background:
|
|
877
|
+
radial-gradient(140% 160% at 0% 0%, rgba(var(--si-accent-rgb), 0.14), transparent 55%),
|
|
878
|
+
var(--si-raised);
|
|
879
|
+
color: var(--si-text);
|
|
880
|
+
padding: 13px 15px;
|
|
881
|
+
border-bottom: 1px solid var(--si-border);
|
|
882
|
+
user-select: none;
|
|
883
|
+
cursor: grab;
|
|
837
884
|
}
|
|
885
|
+
slice-debugger .debugger-header:active { cursor: grabbing; }
|
|
838
886
|
|
|
839
|
-
.header-content {
|
|
887
|
+
slice-debugger .header-content {
|
|
840
888
|
display: flex;
|
|
841
889
|
justify-content: space-between;
|
|
842
890
|
align-items: center;
|
|
843
891
|
}
|
|
844
892
|
|
|
845
|
-
.component-info {
|
|
893
|
+
slice-debugger .component-info {
|
|
846
894
|
display: flex;
|
|
847
895
|
align-items: center;
|
|
848
|
-
gap:
|
|
896
|
+
gap: 11px;
|
|
897
|
+
min-width: 0;
|
|
849
898
|
}
|
|
850
899
|
|
|
851
|
-
.component-icon {
|
|
852
|
-
font-size:
|
|
853
|
-
|
|
900
|
+
slice-debugger .component-icon {
|
|
901
|
+
font-size: 17px;
|
|
902
|
+
width: 30px; height: 30px;
|
|
903
|
+
display: flex; align-items: center; justify-content: center;
|
|
904
|
+
border-radius: 9px;
|
|
905
|
+
background: rgba(var(--si-accent-rgb), 0.12);
|
|
906
|
+
border: 1px solid rgba(var(--si-accent-rgb), 0.28);
|
|
907
|
+
color: var(--si-accent);
|
|
908
|
+
flex-shrink: 0;
|
|
854
909
|
}
|
|
855
910
|
|
|
856
|
-
.component-name {
|
|
857
|
-
font-size:
|
|
911
|
+
slice-debugger .component-name {
|
|
912
|
+
font-size: 13px;
|
|
858
913
|
font-weight: 600;
|
|
914
|
+
font-family: var(--si-mono);
|
|
915
|
+
color: var(--si-text);
|
|
859
916
|
margin-bottom: 2px;
|
|
917
|
+
overflow: hidden;
|
|
918
|
+
text-overflow: ellipsis;
|
|
919
|
+
white-space: nowrap;
|
|
860
920
|
}
|
|
861
921
|
|
|
862
|
-
.component-id {
|
|
863
|
-
font-size:
|
|
864
|
-
|
|
922
|
+
slice-debugger .component-id {
|
|
923
|
+
font-size: 10.5px;
|
|
924
|
+
font-family: var(--si-mono);
|
|
925
|
+
color: var(--si-dim);
|
|
926
|
+
letter-spacing: 0.02em;
|
|
865
927
|
}
|
|
866
928
|
|
|
867
|
-
.header-actions {
|
|
868
|
-
display: flex;
|
|
869
|
-
gap: 8px;
|
|
870
|
-
}
|
|
929
|
+
slice-debugger .header-actions { display: flex; gap: 6px; }
|
|
871
930
|
|
|
872
|
-
.minimize-btn,
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
931
|
+
slice-debugger .minimize-btn,
|
|
932
|
+
slice-debugger #close-debugger {
|
|
933
|
+
background: var(--si-raised);
|
|
934
|
+
border: 1px solid var(--si-border);
|
|
935
|
+
color: var(--si-dim);
|
|
876
936
|
width: 28px;
|
|
877
937
|
height: 28px;
|
|
878
|
-
border-radius:
|
|
938
|
+
border-radius: 8px;
|
|
879
939
|
cursor: pointer;
|
|
880
940
|
display: flex;
|
|
881
941
|
align-items: center;
|
|
882
942
|
justify-content: center;
|
|
883
|
-
font-size:
|
|
884
|
-
font-weight:
|
|
885
|
-
|
|
943
|
+
font-size: 15px;
|
|
944
|
+
font-weight: 500;
|
|
945
|
+
line-height: 1;
|
|
946
|
+
transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
|
|
886
947
|
}
|
|
887
|
-
|
|
888
|
-
|
|
889
|
-
|
|
948
|
+
slice-debugger .minimize-btn:hover,
|
|
949
|
+
slice-debugger #close-debugger:hover {
|
|
950
|
+
color: var(--si-text);
|
|
951
|
+
background: var(--si-raised-2);
|
|
952
|
+
border-color: rgba(var(--si-accent-rgb), 0.5);
|
|
890
953
|
}
|
|
954
|
+
slice-debugger #close-debugger:hover { color: var(--si-danger); border-color: rgba(255, 107, 107, 0.5); }
|
|
955
|
+
slice-debugger .minimize-btn:active,
|
|
956
|
+
slice-debugger #close-debugger:active { transform: scale(0.92); }
|
|
891
957
|
|
|
892
|
-
.debugger-content {
|
|
958
|
+
slice-debugger .debugger-content {
|
|
893
959
|
flex: 1;
|
|
894
960
|
display: flex;
|
|
895
961
|
flex-direction: column;
|
|
896
962
|
overflow: hidden;
|
|
897
963
|
}
|
|
898
964
|
|
|
899
|
-
.tabs-container {
|
|
900
|
-
border-bottom: 1px solid var(--medium-color);
|
|
901
|
-
}
|
|
965
|
+
slice-debugger .tabs-container { border-bottom: 1px solid var(--si-border); }
|
|
902
966
|
|
|
903
|
-
.tab-nav {
|
|
967
|
+
slice-debugger .tab-nav {
|
|
904
968
|
display: flex;
|
|
905
|
-
background: var(--
|
|
969
|
+
background: var(--si-inset);
|
|
970
|
+
padding: 0 6px;
|
|
971
|
+
gap: 2px;
|
|
906
972
|
}
|
|
907
973
|
|
|
908
|
-
.tab-btn {
|
|
974
|
+
slice-debugger .tab-btn {
|
|
909
975
|
flex: 1;
|
|
910
|
-
padding:
|
|
976
|
+
padding: 11px 14px;
|
|
911
977
|
border: none;
|
|
912
978
|
background: transparent;
|
|
913
|
-
color: var(--
|
|
914
|
-
font-
|
|
915
|
-
font-
|
|
979
|
+
color: var(--si-dim);
|
|
980
|
+
font-family: var(--si-mono);
|
|
981
|
+
font-size: 11px;
|
|
982
|
+
letter-spacing: 0.08em;
|
|
983
|
+
text-transform: uppercase;
|
|
916
984
|
cursor: pointer;
|
|
917
|
-
transition:
|
|
985
|
+
transition: color 0.18s ease, border-color 0.18s ease;
|
|
918
986
|
border-bottom: 2px solid transparent;
|
|
919
987
|
}
|
|
920
|
-
|
|
921
|
-
.tab-btn
|
|
922
|
-
|
|
923
|
-
color: var(--
|
|
924
|
-
}
|
|
925
|
-
|
|
926
|
-
.tab-btn.active {
|
|
927
|
-
background: var(--primary-background-color);
|
|
928
|
-
color: var(--primary-color);
|
|
929
|
-
border-bottom-color: var(--primary-color);
|
|
930
|
-
font-weight: 600;
|
|
988
|
+
slice-debugger .tab-btn:hover { color: var(--si-text); }
|
|
989
|
+
slice-debugger .tab-btn.active {
|
|
990
|
+
color: var(--si-accent);
|
|
991
|
+
border-bottom-color: var(--si-accent);
|
|
931
992
|
}
|
|
932
993
|
|
|
933
|
-
.tab-content {
|
|
994
|
+
slice-debugger .tab-content {
|
|
934
995
|
flex: 1;
|
|
935
996
|
overflow: hidden;
|
|
936
|
-
|
|
997
|
+
height: calc(85vh - 104px);
|
|
937
998
|
}
|
|
938
999
|
|
|
939
|
-
.tab-pane {
|
|
1000
|
+
slice-debugger .tab-pane {
|
|
940
1001
|
display: none;
|
|
941
1002
|
height: 100%;
|
|
942
1003
|
overflow-y: auto;
|
|
943
1004
|
overflow-x: hidden;
|
|
944
1005
|
padding: 16px;
|
|
945
|
-
box-sizing: border-box;
|
|
946
|
-
}
|
|
947
|
-
|
|
948
|
-
.tab-pane.active {
|
|
949
|
-
display: block;
|
|
950
|
-
}
|
|
951
|
-
|
|
952
|
-
.tab-pane::-webkit-scrollbar {
|
|
953
|
-
width: 4px;
|
|
954
|
-
}
|
|
955
|
-
|
|
956
|
-
.tab-pane::-webkit-scrollbar-track {
|
|
957
|
-
background: var(--tertiary-background-color);
|
|
958
|
-
border-radius: 2px;
|
|
959
|
-
}
|
|
960
|
-
|
|
961
|
-
.tab-pane::-webkit-scrollbar-thumb {
|
|
962
|
-
background: var(--medium-color);
|
|
963
|
-
border-radius: 2px;
|
|
964
1006
|
}
|
|
1007
|
+
slice-debugger .tab-pane.active { display: block; }
|
|
965
1008
|
|
|
966
|
-
.tab-pane::-webkit-scrollbar
|
|
967
|
-
|
|
1009
|
+
slice-debugger .tab-pane::-webkit-scrollbar { width: 8px; }
|
|
1010
|
+
slice-debugger .tab-pane::-webkit-scrollbar-track { background: transparent; }
|
|
1011
|
+
slice-debugger .tab-pane::-webkit-scrollbar-thumb {
|
|
1012
|
+
background: var(--si-raised-2);
|
|
1013
|
+
border-radius: 8px;
|
|
1014
|
+
border: 2px solid transparent;
|
|
1015
|
+
background-clip: padding-box;
|
|
968
1016
|
}
|
|
1017
|
+
slice-debugger .tab-pane::-webkit-scrollbar-thumb:hover { background: rgba(var(--si-accent-rgb), 0.4); background-clip: padding-box; }
|
|
969
1018
|
|
|
970
|
-
.props-container {
|
|
1019
|
+
slice-debugger .props-container {
|
|
971
1020
|
display: flex;
|
|
972
1021
|
flex-direction: column;
|
|
973
1022
|
gap: 12px;
|
|
974
1023
|
margin-bottom: 16px;
|
|
975
|
-
min-width: 0;
|
|
976
|
-
overflow-x: hidden;
|
|
977
1024
|
}
|
|
978
1025
|
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
#debugger-container *::after {
|
|
982
|
-
box-sizing: border-box;
|
|
983
|
-
}
|
|
984
|
-
|
|
985
|
-
.props-actions {
|
|
986
|
-
border-top: 1px solid var(--medium-color);
|
|
1026
|
+
slice-debugger .props-actions {
|
|
1027
|
+
border-top: 1px solid var(--si-border);
|
|
987
1028
|
padding-top: 16px;
|
|
988
1029
|
margin-top: 8px;
|
|
989
1030
|
}
|
|
990
1031
|
|
|
991
|
-
.actions-note {
|
|
1032
|
+
slice-debugger .actions-note {
|
|
992
1033
|
margin-top: 12px;
|
|
993
|
-
padding:
|
|
994
|
-
background: var(--
|
|
995
|
-
border-radius:
|
|
996
|
-
border: 1px solid var(--
|
|
1034
|
+
padding: 9px 12px;
|
|
1035
|
+
background: var(--si-raised);
|
|
1036
|
+
border-radius: 8px;
|
|
1037
|
+
border: 1px solid var(--si-border);
|
|
997
1038
|
}
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
color: var(--font-secondary-color);
|
|
1039
|
+
slice-debugger .actions-note small {
|
|
1040
|
+
color: var(--si-dim);
|
|
1001
1041
|
font-size: 11px;
|
|
1002
1042
|
display: flex;
|
|
1003
1043
|
align-items: center;
|
|
1004
1044
|
gap: 6px;
|
|
1005
1045
|
}
|
|
1006
1046
|
|
|
1007
|
-
.props-section {
|
|
1008
|
-
background: var(--
|
|
1009
|
-
border: 1px solid var(--
|
|
1010
|
-
border-radius:
|
|
1011
|
-
padding:
|
|
1047
|
+
slice-debugger .props-section {
|
|
1048
|
+
background: var(--si-raised);
|
|
1049
|
+
border: 1px solid var(--si-border);
|
|
1050
|
+
border-radius: 12px;
|
|
1051
|
+
padding: 13px;
|
|
1012
1052
|
}
|
|
1013
1053
|
|
|
1014
|
-
.section-title {
|
|
1015
|
-
font-size:
|
|
1054
|
+
slice-debugger .section-title {
|
|
1055
|
+
font-size: 10.5px;
|
|
1016
1056
|
font-weight: 600;
|
|
1017
|
-
|
|
1057
|
+
letter-spacing: 0.1em;
|
|
1058
|
+
text-transform: uppercase;
|
|
1059
|
+
color: var(--si-dim);
|
|
1018
1060
|
margin-bottom: 12px;
|
|
1019
1061
|
display: flex;
|
|
1020
1062
|
align-items: center;
|
|
1021
1063
|
gap: 6px;
|
|
1022
1064
|
}
|
|
1023
1065
|
|
|
1024
|
-
.prop-item {
|
|
1066
|
+
slice-debugger .prop-item {
|
|
1025
1067
|
display: flex;
|
|
1026
1068
|
flex-direction: column;
|
|
1027
1069
|
gap: 6px;
|
|
1028
1070
|
padding: 12px;
|
|
1029
|
-
background: var(--
|
|
1030
|
-
border: 1px solid var(--
|
|
1031
|
-
border-
|
|
1071
|
+
background: var(--si-inset);
|
|
1072
|
+
border: 1px solid var(--si-border);
|
|
1073
|
+
border-left: 2px solid transparent;
|
|
1074
|
+
border-radius: 10px;
|
|
1032
1075
|
margin-bottom: 8px;
|
|
1033
|
-
transition: border-color 0.
|
|
1034
|
-
min-width: 0;
|
|
1035
|
-
overflow: hidden;
|
|
1076
|
+
transition: border-color 0.18s ease, background 0.18s ease;
|
|
1036
1077
|
}
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1078
|
+
slice-debugger .prop-item:hover {
|
|
1079
|
+
border-left-color: var(--si-accent);
|
|
1080
|
+
background: rgba(0, 0, 0, 0.34);
|
|
1040
1081
|
}
|
|
1041
1082
|
|
|
1042
|
-
.prop-header {
|
|
1083
|
+
slice-debugger .prop-header {
|
|
1043
1084
|
display: flex;
|
|
1044
1085
|
justify-content: space-between;
|
|
1045
1086
|
align-items: center;
|
|
1046
1087
|
gap: 8px;
|
|
1047
|
-
min-width: 0;
|
|
1048
|
-
}
|
|
1049
|
-
|
|
1050
|
-
.prop-title {
|
|
1051
|
-
display: flex;
|
|
1052
|
-
align-items: center;
|
|
1053
|
-
gap: 6px;
|
|
1054
|
-
min-width: 0;
|
|
1055
|
-
flex: 1;
|
|
1056
1088
|
}
|
|
1057
1089
|
|
|
1058
|
-
.prop-
|
|
1059
|
-
|
|
1060
|
-
overflow: hidden;
|
|
1061
|
-
text-overflow: ellipsis;
|
|
1062
|
-
white-space: nowrap;
|
|
1063
|
-
}
|
|
1064
|
-
|
|
1065
|
-
.prop-name {
|
|
1066
|
-
font-size: 13px;
|
|
1090
|
+
slice-debugger .prop-name {
|
|
1091
|
+
font-size: 12.5px;
|
|
1067
1092
|
font-weight: 600;
|
|
1068
|
-
|
|
1093
|
+
font-family: var(--si-mono);
|
|
1094
|
+
color: var(--si-text);
|
|
1069
1095
|
}
|
|
1070
|
-
|
|
1071
|
-
.prop-name.required::after {
|
|
1096
|
+
slice-debugger .prop-name.required::after {
|
|
1072
1097
|
content: " *";
|
|
1073
|
-
color: var(--danger
|
|
1098
|
+
color: var(--si-danger);
|
|
1074
1099
|
}
|
|
1075
1100
|
|
|
1076
|
-
.prop-meta {
|
|
1101
|
+
slice-debugger .prop-meta {
|
|
1077
1102
|
display: flex;
|
|
1078
1103
|
align-items: center;
|
|
1079
1104
|
gap: 8px;
|
|
1080
1105
|
}
|
|
1081
1106
|
|
|
1082
|
-
.prop-type {
|
|
1083
|
-
font-size:
|
|
1084
|
-
padding: 2px
|
|
1085
|
-
background: var(--
|
|
1086
|
-
color: var(--
|
|
1087
|
-
border
|
|
1088
|
-
|
|
1107
|
+
slice-debugger .prop-type {
|
|
1108
|
+
font-size: 10px;
|
|
1109
|
+
padding: 2px 7px;
|
|
1110
|
+
background: rgba(var(--si-accent-rgb), 0.12);
|
|
1111
|
+
color: var(--si-accent);
|
|
1112
|
+
border: 1px solid rgba(var(--si-accent-rgb), 0.28);
|
|
1113
|
+
border-radius: 999px;
|
|
1114
|
+
font-family: var(--si-mono);
|
|
1089
1115
|
font-weight: 500;
|
|
1090
|
-
|
|
1091
|
-
}
|
|
1092
|
-
|
|
1093
|
-
.prop-status {
|
|
1094
|
-
font-size: 12px;
|
|
1095
|
-
font-weight: 500;
|
|
1096
|
-
flex-shrink: 0;
|
|
1097
|
-
}
|
|
1098
|
-
|
|
1099
|
-
.status-used {
|
|
1100
|
-
color: var(--success-color);
|
|
1101
|
-
}
|
|
1102
|
-
|
|
1103
|
-
.status-missing {
|
|
1104
|
-
color: var(--danger-color);
|
|
1105
|
-
}
|
|
1106
|
-
|
|
1107
|
-
.status-optional {
|
|
1108
|
-
color: var(--medium-color);
|
|
1116
|
+
letter-spacing: 0.02em;
|
|
1109
1117
|
}
|
|
1110
1118
|
|
|
1111
|
-
.prop-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
}
|
|
1119
|
+
slice-debugger .prop-status { font-size: 14px; line-height: 1; }
|
|
1120
|
+
slice-debugger .status-used { color: var(--si-success); }
|
|
1121
|
+
slice-debugger .status-missing { color: var(--si-danger); }
|
|
1122
|
+
slice-debugger .status-optional { color: var(--si-dim); }
|
|
1116
1123
|
|
|
1117
|
-
.input-
|
|
1118
|
-
|
|
1119
|
-
max-width: 100%;
|
|
1120
|
-
min-width: 0;
|
|
1121
|
-
overflow: hidden;
|
|
1122
|
-
}
|
|
1124
|
+
slice-debugger .prop-input { margin-top: 6px; }
|
|
1125
|
+
slice-debugger .input-group { position: relative; }
|
|
1123
1126
|
|
|
1124
|
-
.prop-control {
|
|
1127
|
+
slice-debugger .prop-control {
|
|
1125
1128
|
width: 100%;
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
display: block;
|
|
1138
|
-
}
|
|
1139
|
-
|
|
1140
|
-
.prop-control:focus {
|
|
1129
|
+
padding: 9px 34px 9px 11px;
|
|
1130
|
+
border: 1px solid var(--si-border);
|
|
1131
|
+
border-radius: 8px;
|
|
1132
|
+
background: rgba(0, 0, 0, 0.35);
|
|
1133
|
+
color: var(--si-text);
|
|
1134
|
+
font-size: 12.5px;
|
|
1135
|
+
font-family: var(--si-mono);
|
|
1136
|
+
transition: border-color 0.15s ease, box-shadow 0.15s ease;
|
|
1137
|
+
}
|
|
1138
|
+
slice-debugger .prop-control::placeholder { color: var(--si-dim); }
|
|
1139
|
+
slice-debugger .prop-control:focus {
|
|
1141
1140
|
outline: none;
|
|
1142
|
-
border-color: var(--
|
|
1143
|
-
box-shadow: 0 0 0 3px rgba(var(--
|
|
1144
|
-
}
|
|
1145
|
-
|
|
1146
|
-
.prop-control:
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
.prop-control[readonly] {
|
|
1153
|
-
background: var(--tertiary-background-color);
|
|
1154
|
-
cursor: pointer;
|
|
1155
|
-
text-overflow: ellipsis;
|
|
1156
|
-
overflow: hidden;
|
|
1157
|
-
white-space: nowrap;
|
|
1158
|
-
max-width: 100%;
|
|
1159
|
-
}
|
|
1160
|
-
|
|
1161
|
-
.prop-control[readonly]:focus {
|
|
1162
|
-
border-color: var(--accent-color);
|
|
1163
|
-
box-shadow: 0 0 0 3px rgba(var(--accent-color), 0.1);
|
|
1164
|
-
}
|
|
1165
|
-
|
|
1166
|
-
/* Estilos específicos para checkboxes */
|
|
1167
|
-
.prop-control[type="checkbox"] {
|
|
1168
|
-
width: auto;
|
|
1141
|
+
border-color: rgba(var(--si-accent-rgb), 0.6);
|
|
1142
|
+
box-shadow: 0 0 0 3px rgba(var(--si-accent-rgb), 0.13);
|
|
1143
|
+
}
|
|
1144
|
+
slice-debugger .prop-control:disabled { opacity: 0.5; cursor: not-allowed; }
|
|
1145
|
+
slice-debugger .prop-control[readonly] { background: var(--si-raised); cursor: pointer; }
|
|
1146
|
+
slice-debugger .prop-control[readonly]:focus { border-color: rgba(var(--si-accent-rgb), 0.6); }
|
|
1147
|
+
slice-debugger .prop-control[type="checkbox"] {
|
|
1148
|
+
width: 18px;
|
|
1149
|
+
height: 18px;
|
|
1169
1150
|
padding: 0;
|
|
1170
1151
|
margin: 0;
|
|
1171
1152
|
cursor: pointer;
|
|
1153
|
+
accent-color: var(--si-accent);
|
|
1172
1154
|
}
|
|
1173
1155
|
|
|
1174
|
-
.edit-btn {
|
|
1156
|
+
slice-debugger .edit-btn {
|
|
1175
1157
|
position: absolute;
|
|
1176
|
-
right:
|
|
1158
|
+
right: 5px;
|
|
1177
1159
|
top: 50%;
|
|
1178
1160
|
transform: translateY(-50%);
|
|
1179
|
-
background: var(--accent-
|
|
1180
|
-
border:
|
|
1181
|
-
color:
|
|
1182
|
-
width:
|
|
1183
|
-
height:
|
|
1184
|
-
border-radius:
|
|
1161
|
+
background: rgba(var(--si-accent-rgb), 0.14);
|
|
1162
|
+
border: 1px solid rgba(var(--si-accent-rgb), 0.3);
|
|
1163
|
+
color: var(--si-accent);
|
|
1164
|
+
width: 25px;
|
|
1165
|
+
height: 25px;
|
|
1166
|
+
border-radius: 6px;
|
|
1185
1167
|
cursor: pointer;
|
|
1186
1168
|
font-size: 12px;
|
|
1187
1169
|
display: flex;
|
|
1188
1170
|
align-items: center;
|
|
1189
1171
|
justify-content: center;
|
|
1190
|
-
transition: background 0.
|
|
1172
|
+
transition: background 0.15s ease, transform 0.15s ease;
|
|
1191
1173
|
}
|
|
1174
|
+
slice-debugger .edit-btn:hover { background: rgba(var(--si-accent-rgb), 0.26); }
|
|
1175
|
+
slice-debugger .edit-btn:active { transform: translateY(-50%) scale(0.9); }
|
|
1192
1176
|
|
|
1193
|
-
.
|
|
1194
|
-
|
|
1177
|
+
slice-debugger .default-value {
|
|
1178
|
+
font-size: 10.5px;
|
|
1179
|
+
color: var(--si-dim);
|
|
1180
|
+
font-family: var(--si-mono);
|
|
1181
|
+
margin-top: 2px;
|
|
1195
1182
|
}
|
|
1196
1183
|
|
|
1197
|
-
.
|
|
1198
|
-
font-size: 11px;
|
|
1199
|
-
color: var(--font-secondary-color);
|
|
1200
|
-
font-style: italic;
|
|
1201
|
-
margin-top: 4px;
|
|
1202
|
-
}
|
|
1184
|
+
slice-debugger .info-list { display: flex; flex-direction: column; gap: 8px; }
|
|
1203
1185
|
|
|
1204
|
-
.info-
|
|
1205
|
-
display: flex;
|
|
1206
|
-
flex-direction: column;
|
|
1207
|
-
gap: 12px;
|
|
1208
|
-
}
|
|
1209
|
-
|
|
1210
|
-
.info-item {
|
|
1186
|
+
slice-debugger .info-item {
|
|
1211
1187
|
display: flex;
|
|
1212
1188
|
justify-content: space-between;
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
|
|
1216
|
-
|
|
1189
|
+
align-items: center;
|
|
1190
|
+
gap: 12px;
|
|
1191
|
+
padding: 12px 13px;
|
|
1192
|
+
background: var(--si-raised);
|
|
1193
|
+
border-radius: 10px;
|
|
1194
|
+
border: 1px solid var(--si-border);
|
|
1217
1195
|
}
|
|
1218
1196
|
|
|
1219
|
-
.info-label {
|
|
1220
|
-
font-weight:
|
|
1221
|
-
color: var(--
|
|
1222
|
-
font-size:
|
|
1197
|
+
slice-debugger .info-label {
|
|
1198
|
+
font-weight: 500;
|
|
1199
|
+
color: var(--si-dim);
|
|
1200
|
+
font-size: 11px;
|
|
1201
|
+
letter-spacing: 0.04em;
|
|
1202
|
+
text-transform: uppercase;
|
|
1223
1203
|
}
|
|
1224
1204
|
|
|
1225
|
-
.info-value {
|
|
1226
|
-
color: var(--
|
|
1227
|
-
font-family:
|
|
1205
|
+
slice-debugger .info-value {
|
|
1206
|
+
color: var(--si-text);
|
|
1207
|
+
font-family: var(--si-mono);
|
|
1228
1208
|
font-size: 12px;
|
|
1209
|
+
text-align: right;
|
|
1210
|
+
overflow: hidden;
|
|
1211
|
+
text-overflow: ellipsis;
|
|
1212
|
+
white-space: nowrap;
|
|
1229
1213
|
}
|
|
1230
1214
|
|
|
1231
|
-
.actions-container {
|
|
1232
|
-
|
|
1233
|
-
flex-direction: column;
|
|
1234
|
-
gap: 16px;
|
|
1235
|
-
}
|
|
1236
|
-
|
|
1237
|
-
.action-buttons {
|
|
1238
|
-
display: flex;
|
|
1239
|
-
flex-direction: column;
|
|
1240
|
-
gap: 8px;
|
|
1241
|
-
}
|
|
1215
|
+
slice-debugger .actions-container { display: flex; flex-direction: column; gap: 16px; }
|
|
1216
|
+
slice-debugger .action-buttons { display: flex; flex-direction: column; gap: 8px; }
|
|
1242
1217
|
|
|
1243
|
-
.action-btn {
|
|
1218
|
+
slice-debugger .action-btn {
|
|
1244
1219
|
padding: 12px 16px;
|
|
1245
|
-
border:
|
|
1246
|
-
border-radius:
|
|
1247
|
-
font-size:
|
|
1248
|
-
font-weight:
|
|
1220
|
+
border: 1px solid transparent;
|
|
1221
|
+
border-radius: 9px;
|
|
1222
|
+
font-size: 12.5px;
|
|
1223
|
+
font-weight: 600;
|
|
1249
1224
|
cursor: pointer;
|
|
1250
|
-
transition:
|
|
1225
|
+
transition: background 0.15s ease, border-color 0.15s ease, transform 0.1s ease;
|
|
1251
1226
|
display: flex;
|
|
1252
1227
|
align-items: center;
|
|
1253
1228
|
justify-content: center;
|
|
1254
1229
|
gap: 8px;
|
|
1255
1230
|
}
|
|
1256
|
-
|
|
1257
|
-
.action-btn.primary {
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
|
|
1262
|
-
|
|
1263
|
-
background: var(--primary-color-shade);
|
|
1264
|
-
}
|
|
1265
|
-
|
|
1266
|
-
.action-btn.secondary {
|
|
1267
|
-
background: var(--secondary-color);
|
|
1268
|
-
color: var(--secondary-color-contrast);
|
|
1269
|
-
}
|
|
1270
|
-
|
|
1271
|
-
.action-btn.secondary:hover {
|
|
1272
|
-
opacity: 0.9;
|
|
1231
|
+
slice-debugger .action-btn:active { transform: scale(0.99); }
|
|
1232
|
+
slice-debugger .action-btn.primary { background: var(--si-accent); color: #0b1020; }
|
|
1233
|
+
slice-debugger .action-btn.primary:hover { filter: brightness(1.08); }
|
|
1234
|
+
slice-debugger .action-btn.secondary {
|
|
1235
|
+
background: rgba(var(--si-accent-rgb), 0.12);
|
|
1236
|
+
color: var(--si-accent);
|
|
1237
|
+
border-color: rgba(var(--si-accent-rgb), 0.3);
|
|
1273
1238
|
}
|
|
1274
|
-
|
|
1275
|
-
.action-btn.tertiary {
|
|
1276
|
-
background: var(--
|
|
1277
|
-
color: var(--
|
|
1278
|
-
border:
|
|
1239
|
+
slice-debugger .action-btn.secondary:hover { background: rgba(var(--si-accent-rgb), 0.2); }
|
|
1240
|
+
slice-debugger .action-btn.tertiary {
|
|
1241
|
+
background: var(--si-raised);
|
|
1242
|
+
color: var(--si-text);
|
|
1243
|
+
border-color: var(--si-border);
|
|
1279
1244
|
}
|
|
1245
|
+
slice-debugger .action-btn.tertiary:hover { background: var(--si-raised-2); }
|
|
1280
1246
|
|
|
1281
|
-
.
|
|
1282
|
-
background: var(--secondary-background-color);
|
|
1283
|
-
}
|
|
1284
|
-
|
|
1285
|
-
/* Modal Styles */
|
|
1286
|
-
.editor-modal {
|
|
1247
|
+
slice-debugger .editor-modal {
|
|
1287
1248
|
display: none;
|
|
1288
1249
|
position: fixed;
|
|
1289
1250
|
top: 0;
|
|
1290
1251
|
left: 0;
|
|
1291
1252
|
width: 100%;
|
|
1292
1253
|
height: 100%;
|
|
1293
|
-
background: rgba(
|
|
1254
|
+
background: rgba(6, 8, 14, 0.62);
|
|
1294
1255
|
z-index: 20000;
|
|
1295
|
-
backdrop-filter: blur(
|
|
1256
|
+
-webkit-backdrop-filter: blur(6px);
|
|
1257
|
+
backdrop-filter: blur(6px);
|
|
1296
1258
|
}
|
|
1297
|
-
|
|
1298
|
-
.editor-modal.active {
|
|
1259
|
+
slice-debugger .editor-modal.active {
|
|
1299
1260
|
display: flex;
|
|
1300
1261
|
align-items: center;
|
|
1301
1262
|
justify-content: center;
|
|
1263
|
+
animation: si-inspector-in 0.2s ease;
|
|
1302
1264
|
}
|
|
1303
1265
|
|
|
1304
|
-
.modal-content {
|
|
1305
|
-
background: var(--
|
|
1306
|
-
border-radius:
|
|
1307
|
-
width:
|
|
1308
|
-
max-width:
|
|
1309
|
-
max-height: 80%;
|
|
1310
|
-
display: flex;
|
|
1311
|
-
flex-direction: column;
|
|
1312
|
-
box-shadow: 0
|
|
1313
|
-
border: 1px solid var(--
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
border-
|
|
1266
|
+
slice-debugger .modal-content {
|
|
1267
|
+
background: var(--si-surface);
|
|
1268
|
+
border-radius: 16px;
|
|
1269
|
+
width: 90%;
|
|
1270
|
+
max-width: 620px;
|
|
1271
|
+
max-height: 80%;
|
|
1272
|
+
display: flex;
|
|
1273
|
+
flex-direction: column;
|
|
1274
|
+
box-shadow: 0 30px 70px -16px rgba(0, 0, 0, 0.7);
|
|
1275
|
+
border: 1px solid var(--si-border);
|
|
1276
|
+
-webkit-backdrop-filter: blur(24px);
|
|
1277
|
+
backdrop-filter: blur(24px);
|
|
1278
|
+
}
|
|
1279
|
+
|
|
1280
|
+
slice-debugger .modal-header {
|
|
1281
|
+
padding: 15px 20px;
|
|
1282
|
+
background: var(--si-raised);
|
|
1283
|
+
border-radius: 16px 16px 0 0;
|
|
1284
|
+
border-bottom: 1px solid var(--si-border);
|
|
1322
1285
|
display: flex;
|
|
1323
1286
|
justify-content: space-between;
|
|
1324
1287
|
align-items: center;
|
|
1325
1288
|
}
|
|
1326
|
-
|
|
1327
|
-
.modal-header h3 {
|
|
1289
|
+
slice-debugger .modal-header h3 {
|
|
1328
1290
|
margin: 0;
|
|
1329
|
-
font-size:
|
|
1291
|
+
font-size: 13px;
|
|
1330
1292
|
font-weight: 600;
|
|
1331
|
-
|
|
1293
|
+
font-family: var(--si-mono);
|
|
1294
|
+
letter-spacing: 0.04em;
|
|
1295
|
+
color: var(--si-text);
|
|
1332
1296
|
}
|
|
1333
1297
|
|
|
1334
|
-
.modal-close {
|
|
1335
|
-
background:
|
|
1336
|
-
border:
|
|
1337
|
-
font-size:
|
|
1338
|
-
color: var(--
|
|
1298
|
+
slice-debugger .modal-close {
|
|
1299
|
+
background: var(--si-raised);
|
|
1300
|
+
border: 1px solid var(--si-border);
|
|
1301
|
+
font-size: 16px;
|
|
1302
|
+
color: var(--si-dim);
|
|
1339
1303
|
cursor: pointer;
|
|
1340
|
-
width:
|
|
1341
|
-
height:
|
|
1342
|
-
border-radius:
|
|
1304
|
+
width: 30px;
|
|
1305
|
+
height: 30px;
|
|
1306
|
+
border-radius: 8px;
|
|
1343
1307
|
display: flex;
|
|
1344
1308
|
align-items: center;
|
|
1345
1309
|
justify-content: center;
|
|
1346
|
-
transition: background 0.
|
|
1347
|
-
}
|
|
1348
|
-
|
|
1349
|
-
.modal-close:hover {
|
|
1350
|
-
background: var(--secondary-background-color);
|
|
1310
|
+
transition: color 0.15s ease, background 0.15s ease;
|
|
1351
1311
|
}
|
|
1312
|
+
slice-debugger .modal-close:hover { color: var(--si-danger); background: var(--si-raised-2); }
|
|
1352
1313
|
|
|
1353
|
-
.modal-body {
|
|
1354
|
-
flex: 1;
|
|
1355
|
-
padding: 20px;
|
|
1356
|
-
display: flex;
|
|
1357
|
-
flex-direction: column;
|
|
1358
|
-
gap: 16px;
|
|
1359
|
-
overflow: hidden;
|
|
1360
|
-
min-height: 0;
|
|
1314
|
+
slice-debugger .modal-body {
|
|
1315
|
+
flex: 1;
|
|
1316
|
+
padding: 20px;
|
|
1317
|
+
display: flex;
|
|
1318
|
+
flex-direction: column;
|
|
1319
|
+
gap: 16px;
|
|
1320
|
+
overflow: hidden;
|
|
1361
1321
|
}
|
|
1362
1322
|
|
|
1363
|
-
.editor-type-selector {
|
|
1323
|
+
slice-debugger .editor-type-selector {
|
|
1364
1324
|
display: flex;
|
|
1365
1325
|
gap: 4px;
|
|
1366
|
-
background: var(--
|
|
1326
|
+
background: var(--si-inset);
|
|
1367
1327
|
padding: 4px;
|
|
1368
|
-
border-radius:
|
|
1328
|
+
border-radius: 9px;
|
|
1329
|
+
border: 1px solid var(--si-border);
|
|
1369
1330
|
}
|
|
1370
1331
|
|
|
1371
|
-
.type-btn {
|
|
1332
|
+
slice-debugger .type-btn {
|
|
1372
1333
|
flex: 1;
|
|
1373
1334
|
padding: 8px 12px;
|
|
1374
1335
|
border: none;
|
|
1375
1336
|
background: transparent;
|
|
1376
|
-
color: var(--
|
|
1377
|
-
font-size:
|
|
1337
|
+
color: var(--si-dim);
|
|
1338
|
+
font-size: 11px;
|
|
1339
|
+
font-family: var(--si-mono);
|
|
1378
1340
|
font-weight: 500;
|
|
1379
1341
|
cursor: pointer;
|
|
1380
|
-
border-radius:
|
|
1381
|
-
transition:
|
|
1342
|
+
border-radius: 6px;
|
|
1343
|
+
transition: color 0.15s ease, background 0.15s ease;
|
|
1382
1344
|
}
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
color: var(--primary-color-contrast);
|
|
1345
|
+
slice-debugger .type-btn.active {
|
|
1346
|
+
background: rgba(var(--si-accent-rgb), 0.16);
|
|
1347
|
+
color: var(--si-accent);
|
|
1387
1348
|
}
|
|
1388
1349
|
|
|
1389
|
-
.editor-container {
|
|
1390
|
-
flex: 1;
|
|
1391
|
-
position: relative;
|
|
1392
|
-
min-height: 200px;
|
|
1393
|
-
min-width: 0;
|
|
1350
|
+
slice-debugger .editor-container {
|
|
1351
|
+
flex: 1;
|
|
1352
|
+
position: relative;
|
|
1353
|
+
min-height: 200px;
|
|
1394
1354
|
}
|
|
1395
1355
|
|
|
1396
|
-
#property-editor {
|
|
1397
|
-
width: 100%;
|
|
1398
|
-
height: 100%;
|
|
1399
|
-
border: 1px solid var(--
|
|
1400
|
-
border-radius:
|
|
1401
|
-
padding:
|
|
1402
|
-
background:
|
|
1403
|
-
color: var(--
|
|
1404
|
-
font-family:
|
|
1405
|
-
font-size:
|
|
1406
|
-
line-height: 1.
|
|
1407
|
-
resize: none;
|
|
1408
|
-
outline: none;
|
|
1409
|
-
min-height: 200px;
|
|
1410
|
-
|
|
1356
|
+
slice-debugger #property-editor {
|
|
1357
|
+
width: 100%;
|
|
1358
|
+
height: 100%;
|
|
1359
|
+
border: 1px solid var(--si-border);
|
|
1360
|
+
border-radius: 10px;
|
|
1361
|
+
padding: 14px;
|
|
1362
|
+
background: rgba(0, 0, 0, 0.4);
|
|
1363
|
+
color: var(--si-text);
|
|
1364
|
+
font-family: var(--si-mono);
|
|
1365
|
+
font-size: 12.5px;
|
|
1366
|
+
line-height: 1.6;
|
|
1367
|
+
resize: none;
|
|
1368
|
+
outline: none;
|
|
1369
|
+
min-height: 200px;
|
|
1370
|
+
tab-size: 2;
|
|
1411
1371
|
}
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
box-shadow: 0 0 0 3px rgba(var(--primary-color-rgb), 0.1);
|
|
1372
|
+
slice-debugger #property-editor:focus {
|
|
1373
|
+
border-color: rgba(var(--si-accent-rgb), 0.6);
|
|
1374
|
+
box-shadow: 0 0 0 3px rgba(var(--si-accent-rgb), 0.13);
|
|
1416
1375
|
}
|
|
1417
1376
|
|
|
1418
|
-
.validation-message {
|
|
1419
|
-
font-size:
|
|
1420
|
-
color: var(--danger
|
|
1377
|
+
slice-debugger .validation-message {
|
|
1378
|
+
font-size: 11.5px;
|
|
1379
|
+
color: var(--si-danger);
|
|
1421
1380
|
min-height: 18px;
|
|
1422
1381
|
display: flex;
|
|
1423
1382
|
align-items: center;
|
|
1424
1383
|
gap: 6px;
|
|
1384
|
+
font-family: var(--si-mono);
|
|
1425
1385
|
}
|
|
1426
1386
|
|
|
1427
|
-
.modal-actions {
|
|
1428
|
-
padding:
|
|
1429
|
-
background: var(--
|
|
1430
|
-
border-radius: 0 0
|
|
1431
|
-
border-top: 1px solid var(--
|
|
1387
|
+
slice-debugger .modal-actions {
|
|
1388
|
+
padding: 15px 20px;
|
|
1389
|
+
background: var(--si-raised);
|
|
1390
|
+
border-radius: 0 0 16px 16px;
|
|
1391
|
+
border-top: 1px solid var(--si-border);
|
|
1432
1392
|
display: flex;
|
|
1433
1393
|
gap: 12px;
|
|
1434
1394
|
justify-content: flex-end;
|
|
1435
1395
|
}
|
|
1436
1396
|
|
|
1437
|
-
.modal-btn {
|
|
1397
|
+
slice-debugger .modal-btn {
|
|
1438
1398
|
padding: 10px 20px;
|
|
1439
|
-
border:
|
|
1440
|
-
border-radius:
|
|
1441
|
-
font-size:
|
|
1442
|
-
font-weight:
|
|
1399
|
+
border: 1px solid transparent;
|
|
1400
|
+
border-radius: 8px;
|
|
1401
|
+
font-size: 12.5px;
|
|
1402
|
+
font-weight: 600;
|
|
1443
1403
|
cursor: pointer;
|
|
1444
|
-
transition:
|
|
1445
|
-
}
|
|
1446
|
-
|
|
1447
|
-
.modal-btn.cancel {
|
|
1448
|
-
background: var(--tertiary-background-color);
|
|
1449
|
-
color: var(--font-primary-color);
|
|
1450
|
-
border: 1px solid var(--medium-color);
|
|
1404
|
+
transition: background 0.15s ease, border-color 0.15s ease;
|
|
1451
1405
|
}
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
.modal-btn.save {
|
|
1458
|
-
background: var(--success-color);
|
|
1459
|
-
color: var(--success-contrast);
|
|
1460
|
-
}
|
|
1461
|
-
|
|
1462
|
-
.modal-btn.save:hover {
|
|
1463
|
-
opacity: 0.9;
|
|
1406
|
+
slice-debugger .modal-btn.cancel {
|
|
1407
|
+
background: var(--si-raised);
|
|
1408
|
+
color: var(--si-text);
|
|
1409
|
+
border-color: var(--si-border);
|
|
1464
1410
|
}
|
|
1411
|
+
slice-debugger .modal-btn.cancel:hover { background: var(--si-raised-2); }
|
|
1412
|
+
slice-debugger .modal-btn.save { background: var(--si-success); color: #06231a; }
|
|
1413
|
+
slice-debugger .modal-btn.save:hover { filter: brightness(1.08); }
|
|
1414
|
+
slice-debugger .modal-btn.save:disabled { opacity: 0.45; cursor: not-allowed; filter: none; }
|
|
1465
1415
|
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1416
|
+
@media (prefers-reduced-motion: reduce) {
|
|
1417
|
+
slice-debugger #debugger-container.active,
|
|
1418
|
+
slice-debugger .editor-modal.active { animation: none; }
|
|
1469
1419
|
}
|
|
1470
|
-
|
|
1420
|
+
`
|
|
1471
1421
|
}
|
|
1472
1422
|
|
|
1473
1423
|
function productionOnlyHtml(){
|