@povio/ui 5.0.0-rc.6 → 5.0.0-rc.7

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.
@@ -549,7 +549,7 @@
549
549
  .studio-error {
550
550
  color: #b8362c;
551
551
  display: block;
552
- margin-top: 7px;
552
+ margin-top: 4px;
553
553
  font-size: 11px;
554
554
  }
555
555
  .studio-preview {
@@ -967,7 +967,7 @@
967
967
  }
968
968
  .studio-token-unit {
969
969
  position: absolute;
970
- right: 7px;
970
+ right: 4px;
971
971
  top: 50%;
972
972
  transform: translateY(-50%);
973
973
  color: #939393;
@@ -1471,7 +1471,7 @@
1471
1471
  }
1472
1472
  .studio-token-sample > span {
1473
1473
  display: block;
1474
- margin-bottom: 7px;
1474
+ margin-bottom: 4px;
1475
1475
  font: 11px sans-serif;
1476
1476
  text-transform: capitalize;
1477
1477
  }
@@ -1669,7 +1669,7 @@
1669
1669
  align-items: center;
1670
1670
  gap: 7px;
1671
1671
  min-width: 0;
1672
- padding-left: 7px;
1672
+ padding-left: 4px;
1673
1673
  }
1674
1674
  .studio-alpha-swatch {
1675
1675
  position: relative;
@@ -2714,3 +2714,553 @@
2714
2714
  outline: 2px solid #555;
2715
2715
  outline-offset: 3px;
2716
2716
  }
2717
+
2718
+ /* Live-preview inspection keeps the canvas and property sidebar independently scrollable. */
2719
+ .studio-preview:has(.studio-hover-inspector) {
2720
+ display: flex;
2721
+ flex-direction: column;
2722
+ overflow: hidden;
2723
+ min-height: 0;
2724
+ }
2725
+ .studio-preview-heading,
2726
+ .studio-preview-note {
2727
+ flex-shrink: 0;
2728
+ }
2729
+ .studio-hover-inspector {
2730
+ display: grid;
2731
+ grid-template-columns: minmax(0, 1fr);
2732
+ grid-template-rows: auto minmax(0, 1fr);
2733
+ grid-auto-rows: minmax(0, 1fr);
2734
+ flex: 1;
2735
+ min-width: 0;
2736
+ min-height: 0;
2737
+ gap: 16px;
2738
+ container: studio-inspection / inline-size;
2739
+ }
2740
+ .studio-hover-inspector.has-inspector {
2741
+ grid-template-columns: minmax(0, 1fr) 270px;
2742
+ }
2743
+ .studio-inspector-toolbar {
2744
+ grid-column: 1 / -1;
2745
+ display: flex;
2746
+ align-items: center;
2747
+ justify-content: space-between;
2748
+ flex-wrap: wrap;
2749
+ gap: 8px;
2750
+ color: #8b8b8b;
2751
+ font-size: 10px;
2752
+ }
2753
+ .studio-inspector-toolbar .studio-mode button {
2754
+ padding: 4px 8px;
2755
+ font-size: 10px;
2756
+ }
2757
+ .studio-inspector-canvas-shell {
2758
+ position: relative;
2759
+ min-width: 0;
2760
+ min-height: 0;
2761
+ height: 100%;
2762
+ }
2763
+ .studio-inspector-canvas {
2764
+ height: 100%;
2765
+ min-height: 0;
2766
+ overflow: auto;
2767
+ overscroll-behavior: contain;
2768
+ }
2769
+ .studio-hover-outline-layer {
2770
+ position: absolute;
2771
+ inset: 0;
2772
+ overflow: hidden;
2773
+ pointer-events: none;
2774
+ z-index: 2;
2775
+ }
2776
+ .studio-hover-outline {
2777
+ position: absolute;
2778
+ border: 1px solid #8b5cf6;
2779
+ box-shadow: 0 0 0 1px #8b5cf633;
2780
+ }
2781
+ .studio-hover-outline > span {
2782
+ position: absolute;
2783
+ top: 0;
2784
+ left: 0;
2785
+ transform: translateY(-100%);
2786
+ max-width: 280px;
2787
+ padding: 2px 5px;
2788
+ border-radius: 3px 3px 0 0;
2789
+ background: #7c3aed;
2790
+ color: #fff;
2791
+ font:
2792
+ 10px/1.5 "Inter Variable",
2793
+ sans-serif;
2794
+ white-space: nowrap;
2795
+ }
2796
+ .studio-inspector-panel {
2797
+ grid-column: 2;
2798
+ position: relative;
2799
+ align-self: stretch;
2800
+ height: 100%;
2801
+ min-width: 0;
2802
+ min-height: 0;
2803
+ overflow: auto;
2804
+ box-sizing: border-box;
2805
+ border: 1px solid #dedde4;
2806
+ border-radius: 10px;
2807
+ background: #fff;
2808
+ color: #292730;
2809
+ font:
2810
+ 11px/1.5 "Inter Variable",
2811
+ Inter,
2812
+ sans-serif;
2813
+ overscroll-behavior: contain;
2814
+ }
2815
+ .studio-inspector-panel > header {
2816
+ position: sticky;
2817
+ top: 0;
2818
+ z-index: 1;
2819
+ display: flex;
2820
+ align-items: center;
2821
+ gap: 4px;
2822
+ padding: 9px 12px;
2823
+ border-bottom: 1px solid #efedf3;
2824
+ background: #fff;
2825
+ }
2826
+ .studio-inspector-panel > header > strong {
2827
+ flex: 1;
2828
+ font-size: 11px;
2829
+ }
2830
+ .studio-inspector-panel button {
2831
+ border: 0;
2832
+ border-radius: 4px;
2833
+ background: transparent;
2834
+ color: #716c7d;
2835
+ cursor: pointer;
2836
+ }
2837
+ .studio-inspector-panel > header button {
2838
+ display: grid;
2839
+ place-items: center;
2840
+ padding: 5px;
2841
+ }
2842
+ .studio-inspector-panel button[aria-pressed="true"] {
2843
+ background: #ede9fe;
2844
+ color: #7c3aed;
2845
+ }
2846
+ .studio-inspector-panel button:focus-visible {
2847
+ outline: 2px solid #8b5cf6;
2848
+ outline-offset: 1px;
2849
+ }
2850
+ .studio-inspector-panel section {
2851
+ border-top: 1px solid #efedf3;
2852
+ padding: 10px 12px;
2853
+ }
2854
+ .studio-inspector-panel h3 {
2855
+ margin: 0 0 7px;
2856
+ font-size: 9px;
2857
+ font-weight: 600;
2858
+ color: #928a9d;
2859
+ text-transform: uppercase;
2860
+ letter-spacing: 0.6px;
2861
+ }
2862
+ .studio-inspector-section-heading {
2863
+ display: flex;
2864
+ align-items: center;
2865
+ justify-content: space-between;
2866
+ margin-bottom: 10px;
2867
+ }
2868
+ .studio-inspector-section-heading h3 {
2869
+ margin: 0;
2870
+ }
2871
+ .studio-inspector-section-heading > span {
2872
+ padding: 1px 5px;
2873
+ border-radius: 4px;
2874
+ background: #f4f4f4;
2875
+ color: #777;
2876
+ font-size: 10px;
2877
+ }
2878
+ .studio-inspector-panel dl {
2879
+ margin: 0;
2880
+ }
2881
+ .studio-inspector-panel dl > div {
2882
+ display: grid;
2883
+ grid-template-columns: 85px minmax(0, 1fr);
2884
+ gap: 6px;
2885
+ padding: 3px 0;
2886
+ }
2887
+ .studio-inspector-panel dt {
2888
+ color: #817b8b;
2889
+ }
2890
+ .studio-inspector-panel dd {
2891
+ display: flex;
2892
+ flex-wrap: wrap;
2893
+ align-items: center;
2894
+ gap: 4px;
2895
+ margin: 0;
2896
+ min-width: 0;
2897
+ overflow-wrap: anywhere;
2898
+ }
2899
+ .studio-inspector-panel dd > i {
2900
+ width: 12px;
2901
+ height: 12px;
2902
+ border: 1px solid #0002;
2903
+ border-radius: 3px;
2904
+ flex-shrink: 0;
2905
+ }
2906
+ .studio-inspector-panel dd > button {
2907
+ max-width: 100%;
2908
+ padding: 2px 5px;
2909
+ background: #f3effb;
2910
+ color: #7752ae;
2911
+ font-size: 9px;
2912
+ text-align: left;
2913
+ overflow-wrap: anywhere;
2914
+ }
2915
+ .studio-inspector-empty {
2916
+ margin: 0;
2917
+ padding: 16px 12px;
2918
+ color: #89838e;
2919
+ }
2920
+ .studio-box-model {
2921
+ margin: 0;
2922
+ padding: 8px;
2923
+ border-radius: 7px;
2924
+ background: #fafafa;
2925
+ color: #393939;
2926
+ }
2927
+ .studio-box-model figcaption {
2928
+ margin-top: 6px;
2929
+ text-align: center;
2930
+ color: #8b8b8b;
2931
+ font-size: 9px;
2932
+ }
2933
+ .studio-box-layer {
2934
+ position: relative;
2935
+ padding: 24px;
2936
+ box-sizing: border-box;
2937
+ font:
2938
+ 10px/1.3 "Inter Variable",
2939
+ sans-serif;
2940
+ }
2941
+ .studio-box-layer.is-position {
2942
+ border: 1px dotted #b8b8b8;
2943
+ }
2944
+ .studio-box-layer.is-margin {
2945
+ border: 1px dashed #b8b8b8;
2946
+ }
2947
+ .studio-box-layer.is-border {
2948
+ border: 1px solid #b8b8b8;
2949
+ }
2950
+ .studio-box-layer.is-padding {
2951
+ border: 1px dashed #a7a7a7;
2952
+ background: #e9e9e9;
2953
+ }
2954
+ .studio-box-name {
2955
+ position: absolute;
2956
+ top: -7px;
2957
+ left: 8px;
2958
+ padding: 0 3px;
2959
+ background: #fafafa;
2960
+ color: #747474;
2961
+ font-size: 9px;
2962
+ }
2963
+ .studio-box-layer.is-padding > .studio-box-name {
2964
+ background: #e9e9e9;
2965
+ }
2966
+ .studio-box-value {
2967
+ position: absolute;
2968
+ font-variant-numeric: tabular-nums;
2969
+ }
2970
+ .studio-box-value.is-top {
2971
+ top: 3px;
2972
+ left: 50%;
2973
+ transform: translateX(-50%);
2974
+ }
2975
+ .studio-box-value.is-bottom {
2976
+ bottom: 3px;
2977
+ left: 50%;
2978
+ transform: translateX(-50%);
2979
+ }
2980
+ .studio-box-value.is-left {
2981
+ left: 3px;
2982
+ top: 50%;
2983
+ transform: translateY(-50%);
2984
+ }
2985
+ .studio-box-value.is-right {
2986
+ right: 3px;
2987
+ top: 50%;
2988
+ transform: translateY(-50%);
2989
+ }
2990
+ .studio-inspector-panel .studio-box-value {
2991
+ padding: 0;
2992
+ border-radius: 2px;
2993
+ color: inherit;
2994
+ line-height: 1.3;
2995
+ font-size: 10px;
2996
+ }
2997
+ .studio-inspector-panel button.studio-box-value[data-token] {
2998
+ text-decoration: underline dotted;
2999
+ text-underline-offset: 2px;
3000
+ }
3001
+ .studio-box-radius {
3002
+ position: absolute;
3003
+ padding: 1px 2px;
3004
+ border-radius: 3px;
3005
+ background: #f5f5f5;
3006
+ color: #777;
3007
+ font-size: 8px;
3008
+ line-height: 1;
3009
+ }
3010
+ .studio-box-radius.is-topLeft {
3011
+ top: 3px;
3012
+ left: 3px;
3013
+ }
3014
+ .studio-box-radius.is-topRight {
3015
+ top: 3px;
3016
+ right: 3px;
3017
+ }
3018
+ .studio-box-radius.is-bottomLeft {
3019
+ bottom: 3px;
3020
+ left: 3px;
3021
+ }
3022
+ .studio-box-radius.is-bottomRight {
3023
+ bottom: 3px;
3024
+ right: 3px;
3025
+ }
3026
+ .studio-inspector-panel .studio-box-radius {
3027
+ padding: 1px;
3028
+ color: #777;
3029
+ font-size: 8px;
3030
+ line-height: 1;
3031
+ }
3032
+ .studio-inspector-panel button.studio-box-radius[data-token] {
3033
+ text-decoration: underline dotted;
3034
+ }
3035
+ .studio-box-content {
3036
+ min-width: 0;
3037
+ padding: 5px 2px;
3038
+ border: 1px solid #b8b8b8;
3039
+ background: #fafafa;
3040
+ text-align: center;
3041
+ font-variant-numeric: tabular-nums;
3042
+ }
3043
+ .studio-box-dimensions {
3044
+ display: flex;
3045
+ justify-content: center;
3046
+ align-items: center;
3047
+ flex-wrap: wrap;
3048
+ gap: 2px;
3049
+ font-size: 9px;
3050
+ }
3051
+ .studio-box-gaps {
3052
+ display: flex;
3053
+ justify-content: center;
3054
+ margin-top: 12px;
3055
+ padding: 12px;
3056
+ border: 1px solid #e0e0e0;
3057
+ border-radius: 5px;
3058
+ }
3059
+ .studio-gap-grid {
3060
+ display: grid;
3061
+ width: 130px;
3062
+ max-width: 100%;
3063
+ align-items: center;
3064
+ justify-items: center;
3065
+ }
3066
+ .studio-gap-grid i {
3067
+ width: 100%;
3068
+ height: 100%;
3069
+ box-sizing: border-box;
3070
+ border: 1px solid #bdbdbd;
3071
+ border-radius: 2px;
3072
+ background: #e9e9e9;
3073
+ }
3074
+ .studio-gap-grid i:nth-child(1) {
3075
+ grid-column: 1;
3076
+ grid-row: 1;
3077
+ }
3078
+ .studio-gap-grid i:nth-child(2) {
3079
+ grid-column: 3;
3080
+ grid-row: 1;
3081
+ }
3082
+ .studio-gap-grid i:nth-child(3) {
3083
+ grid-column: 1;
3084
+ grid-row: 3;
3085
+ }
3086
+ .studio-gap-grid i:nth-child(4) {
3087
+ grid-column: 3;
3088
+ grid-row: 3;
3089
+ }
3090
+ .studio-gap-number {
3091
+ color: #555;
3092
+ font-size: 10px;
3093
+ }
3094
+ .studio-gap-number.is-column {
3095
+ grid-column: 2;
3096
+ grid-row: 1;
3097
+ }
3098
+ .studio-gap-number.is-row {
3099
+ grid-column: 1;
3100
+ grid-row: 2;
3101
+ }
3102
+ .studio-inspector-panel button.studio-gap-number[data-token] {
3103
+ padding: 0;
3104
+ text-decoration: underline dotted;
3105
+ font-size: 10px;
3106
+ }
3107
+ .studio-box-layer.is-position,
3108
+ .studio-box-layer.is-position .studio-box-layer {
3109
+ padding: 16px;
3110
+ }
3111
+ @container studio-inspection (max-width: 620px) {
3112
+ .studio-inspector-canvas-shell,
3113
+ .studio-inspector-panel {
3114
+ grid-column: 1 / -1;
3115
+ }
3116
+ .studio-inspector-canvas-shell {
3117
+ grid-row: 2;
3118
+ }
3119
+ .studio-inspector-panel {
3120
+ grid-row: 3;
3121
+ }
3122
+ }
3123
+ @container (max-width: 800px) {
3124
+ .studio-preview:has(.studio-hover-inspector) {
3125
+ height: max(420px, calc(100dvh - 220px));
3126
+ }
3127
+ }
3128
+ .studio-box-layer.is-border:has(.studio-box-radius) {
3129
+ border-color: transparent;
3130
+ }
3131
+ .studio-box-layer.is-border:has(.studio-box-radius)::before {
3132
+ content: "";
3133
+ position: absolute;
3134
+ inset: -3px;
3135
+ border: 1px solid #b8b8b8;
3136
+ border-radius: inherit;
3137
+ pointer-events: none;
3138
+ }
3139
+ .studio-box-radius {
3140
+ z-index: 1;
3141
+ }
3142
+ .studio-box-radius.is-topLeft {
3143
+ top: 4px;
3144
+ left: 4px;
3145
+ }
3146
+ .studio-box-radius.is-topRight {
3147
+ top: 4px;
3148
+ right: 4px;
3149
+ }
3150
+ .studio-box-radius.is-bottomLeft {
3151
+ bottom: 4px;
3152
+ left: 4px;
3153
+ }
3154
+ .studio-box-radius.is-bottomRight {
3155
+ bottom: 4px;
3156
+ right: 4px;
3157
+ }
3158
+
3159
+ .studio-measure-regions {
3160
+ position: absolute;
3161
+ inset: 0;
3162
+ pointer-events: none;
3163
+ }
3164
+ .studio-measure-region {
3165
+ position: absolute;
3166
+ box-sizing: border-box;
3167
+ background: #7c3aed88;
3168
+ color: #4c1d95;
3169
+ box-shadow:
3170
+ inset 0 0 0 1px currentColor,
3171
+ 0 0 0 1px #fff;
3172
+ }
3173
+ .studio-measure-region.is-margin {
3174
+ background: #f59e0b99;
3175
+ color: #92400e;
3176
+ }
3177
+ .studio-measure-region.is-border {
3178
+ background: #2563ebbf;
3179
+ color: #1e40af;
3180
+ }
3181
+ .studio-measure-region.is-gap {
3182
+ background: repeating-linear-gradient(45deg, #7c3aed88 0 3px, #5b21b6bf 3px 5px);
3183
+ }
3184
+ .studio-measure-region.is-horizontal {
3185
+ height: 1px !important;
3186
+ border-top: 2px solid currentColor;
3187
+ background: none;
3188
+ }
3189
+ .studio-measure-region.is-vertical {
3190
+ width: 1px !important;
3191
+ border-left: 2px solid currentColor;
3192
+ background: none;
3193
+ }
3194
+ .studio-measure-region.is-horizontal::before,
3195
+ .studio-measure-region.is-horizontal::after {
3196
+ content: "";
3197
+ position: absolute;
3198
+ top: -4px;
3199
+ height: 7px;
3200
+ border-left: 2px solid currentColor;
3201
+ }
3202
+ .studio-measure-region.is-horizontal::before {
3203
+ left: 0;
3204
+ }
3205
+ .studio-measure-region.is-horizontal::after {
3206
+ right: 0;
3207
+ }
3208
+ .studio-measure-region.is-vertical::before,
3209
+ .studio-measure-region.is-vertical::after {
3210
+ content: "";
3211
+ position: absolute;
3212
+ left: -4px;
3213
+ width: 7px;
3214
+ border-top: 2px solid currentColor;
3215
+ }
3216
+ .studio-measure-region.is-vertical::before {
3217
+ top: 0;
3218
+ }
3219
+ .studio-measure-region.is-vertical::after {
3220
+ bottom: 0;
3221
+ }
3222
+ .studio-measure-region.is-corner {
3223
+ background: none;
3224
+ box-shadow: none;
3225
+ }
3226
+ .studio-measure-region.is-corner svg {
3227
+ display: block;
3228
+ width: 100%;
3229
+ height: 100%;
3230
+ overflow: visible;
3231
+ }
3232
+ .studio-measure-label {
3233
+ position: absolute;
3234
+ max-width: 220px;
3235
+ padding: 3px 6px;
3236
+ border-radius: 4px;
3237
+ background: #6d28d9;
3238
+ color: #fff;
3239
+ font:
3240
+ 10px/1.4 "Inter Variable",
3241
+ sans-serif;
3242
+ box-shadow:
3243
+ 0 0 0 1px #fff,
3244
+ 0 2px 6px #0004;
3245
+ }
3246
+ .studio-inspector-panel .studio-box-dimension-value {
3247
+ padding: 0;
3248
+ font: inherit;
3249
+ font-size: 9px;
3250
+ line-height: 1.3;
3251
+ color: inherit;
3252
+ }
3253
+ .studio-inspector-panel .studio-gap-number {
3254
+ padding: 0;
3255
+ font-size: 10px;
3256
+ }
3257
+ .studio-box-model button[data-box-highlight]:hover,
3258
+ .studio-box-model button[data-box-highlight]:focus-visible {
3259
+ background: #ede9fe;
3260
+ color: #6d28d9;
3261
+ }
3262
+
3263
+ .studio-measure-region.is-corner path {
3264
+ stroke-width: 3px;
3265
+ filter: drop-shadow(0 0 1px #fff);
3266
+ }