orbcafe-ui 3.1.1 → 3.1.3
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/dist/index.d.mts +48 -9
- package/dist/index.d.ts +48 -9
- package/dist/index.js +17 -17
- package/dist/index.mjs +20 -20
- package/dist/orbis.css +290 -7
- package/package.json +1 -1
package/dist/orbis.css
CHANGED
|
@@ -2634,6 +2634,10 @@ button.orb-app-header-locale:hover,
|
|
|
2634
2634
|
|
|
2635
2635
|
/* ---------- OMPHPanel ---------- */
|
|
2636
2636
|
/* ORBIS tokens only. Working state is motion: pulse, spinner, shimmer. */
|
|
2637
|
+
/* ── 玻璃面默认值 ──
|
|
2638
|
+
可见透光 = (1-不透明度) × 背景浓度:78%×13%≈3% 不可见,64% 起才有玻璃感;
|
|
2639
|
+
磨砂靠 backdrop-filter 保可读;嵌套面必须透明(64%×64%≈87% 会变实心)。
|
|
2640
|
+
素背景上玻璃≈实心(canvas 叠 canvas),设计背景(泛光/纹理)上即玻璃。 */
|
|
2637
2641
|
.orb-omph-panel {
|
|
2638
2642
|
--orb-omph-column: 800px;
|
|
2639
2643
|
--orb-omph-process-max: 240px;
|
|
@@ -2649,7 +2653,9 @@ button.orb-app-header-locale:hover,
|
|
|
2649
2653
|
overflow: hidden;
|
|
2650
2654
|
border: 1px solid var(--orb-border);
|
|
2651
2655
|
border-radius: var(--orb-shell-radius);
|
|
2652
|
-
background: var(--orb-canvas);
|
|
2656
|
+
background: color-mix(in oklch, var(--orb-canvas) 64%, transparent);
|
|
2657
|
+
backdrop-filter: blur(28px);
|
|
2658
|
+
-webkit-backdrop-filter: blur(28px);
|
|
2653
2659
|
box-shadow: var(--orb-shadow-1);
|
|
2654
2660
|
color: var(--orb-fg);
|
|
2655
2661
|
font-family: var(--orb-font);
|
|
@@ -2670,7 +2676,9 @@ button.orb-app-header-locale:hover,
|
|
|
2670
2676
|
overflow: hidden;
|
|
2671
2677
|
border: 1px solid var(--orb-warn);
|
|
2672
2678
|
border-radius: var(--orb-shell-radius);
|
|
2673
|
-
background: var(--orb-canvas);
|
|
2679
|
+
background: color-mix(in oklch, var(--orb-canvas) 64%, transparent);
|
|
2680
|
+
backdrop-filter: blur(28px);
|
|
2681
|
+
-webkit-backdrop-filter: blur(28px);
|
|
2674
2682
|
box-shadow: var(--orb-shadow-2);
|
|
2675
2683
|
}
|
|
2676
2684
|
|
|
@@ -2797,13 +2805,120 @@ button.orb-app-header-locale:hover,
|
|
|
2797
2805
|
}
|
|
2798
2806
|
|
|
2799
2807
|
.orb-omph-header {
|
|
2808
|
+
position: relative;
|
|
2809
|
+
z-index: 2;
|
|
2800
2810
|
display: flex;
|
|
2801
2811
|
align-items: center;
|
|
2802
2812
|
gap: 10px;
|
|
2803
2813
|
flex: none;
|
|
2804
2814
|
padding: 12px 14px;
|
|
2805
2815
|
border-bottom: 1px solid var(--orb-border);
|
|
2806
|
-
background: var(--orb-canvas);
|
|
2816
|
+
background: color-mix(in oklch, var(--orb-canvas) 64%, transparent);
|
|
2817
|
+
backdrop-filter: blur(28px);
|
|
2818
|
+
-webkit-backdrop-filter: blur(28px);
|
|
2819
|
+
}
|
|
2820
|
+
|
|
2821
|
+
.orb-omph-header-actions {
|
|
2822
|
+
margin-left: auto;
|
|
2823
|
+
display: flex;
|
|
2824
|
+
flex: none;
|
|
2825
|
+
align-items: center;
|
|
2826
|
+
gap: 2px;
|
|
2827
|
+
}
|
|
2828
|
+
|
|
2829
|
+
.orb-omph-icon-btn {
|
|
2830
|
+
display: inline-flex;
|
|
2831
|
+
align-items: center;
|
|
2832
|
+
justify-content: center;
|
|
2833
|
+
width: 32px;
|
|
2834
|
+
height: 32px;
|
|
2835
|
+
border: 0;
|
|
2836
|
+
border-radius: 8px;
|
|
2837
|
+
background: transparent;
|
|
2838
|
+
color: var(--orb-muted);
|
|
2839
|
+
cursor: pointer;
|
|
2840
|
+
}
|
|
2841
|
+
|
|
2842
|
+
.orb-omph-icon-btn:hover,
|
|
2843
|
+
.orb-omph-icon-btn[aria-expanded="true"] {
|
|
2844
|
+
background: var(--orb-hover);
|
|
2845
|
+
color: var(--orb-primary);
|
|
2846
|
+
}
|
|
2847
|
+
|
|
2848
|
+
.orb-omph-icon-btn:focus-visible {
|
|
2849
|
+
outline: 2px solid var(--orb-focus-ring);
|
|
2850
|
+
outline-offset: 1px;
|
|
2851
|
+
}
|
|
2852
|
+
|
|
2853
|
+
.orb-omph-conversation-anchor {
|
|
2854
|
+
position: relative;
|
|
2855
|
+
}
|
|
2856
|
+
|
|
2857
|
+
.orb-omph-conversations {
|
|
2858
|
+
position: absolute;
|
|
2859
|
+
top: calc(100% + 8px);
|
|
2860
|
+
right: 0;
|
|
2861
|
+
z-index: 3;
|
|
2862
|
+
width: min(280px, calc(100vw - 48px));
|
|
2863
|
+
max-height: 320px;
|
|
2864
|
+
overflow: auto;
|
|
2865
|
+
padding: 6px;
|
|
2866
|
+
border: 1px solid var(--orb-border);
|
|
2867
|
+
border-radius: var(--orb-r);
|
|
2868
|
+
background: color-mix(in oklch, var(--orb-canvas) 72%, transparent);
|
|
2869
|
+
backdrop-filter: blur(28px);
|
|
2870
|
+
-webkit-backdrop-filter: blur(28px);
|
|
2871
|
+
box-shadow: var(--orb-shadow-1);
|
|
2872
|
+
}
|
|
2873
|
+
|
|
2874
|
+
.orb-omph-conversation {
|
|
2875
|
+
display: flex;
|
|
2876
|
+
flex-direction: column;
|
|
2877
|
+
align-items: flex-start;
|
|
2878
|
+
gap: 2px;
|
|
2879
|
+
width: 100%;
|
|
2880
|
+
min-width: 0;
|
|
2881
|
+
padding: 8px 10px;
|
|
2882
|
+
border: 0;
|
|
2883
|
+
border-radius: 8px;
|
|
2884
|
+
background: transparent;
|
|
2885
|
+
color: var(--orb-fg);
|
|
2886
|
+
text-align: left;
|
|
2887
|
+
cursor: pointer;
|
|
2888
|
+
}
|
|
2889
|
+
|
|
2890
|
+
.orb-omph-conversation:hover,
|
|
2891
|
+
.orb-omph-conversation[data-active="true"] {
|
|
2892
|
+
background: var(--orb-p50);
|
|
2893
|
+
}
|
|
2894
|
+
|
|
2895
|
+
.orb-omph-conversation:focus-visible {
|
|
2896
|
+
outline: 2px solid var(--orb-focus-ring);
|
|
2897
|
+
outline-offset: -2px;
|
|
2898
|
+
}
|
|
2899
|
+
|
|
2900
|
+
.orb-omph-conversation-title,
|
|
2901
|
+
.orb-omph-conversation-meta {
|
|
2902
|
+
width: 100%;
|
|
2903
|
+
overflow: hidden;
|
|
2904
|
+
text-overflow: ellipsis;
|
|
2905
|
+
white-space: nowrap;
|
|
2906
|
+
}
|
|
2907
|
+
|
|
2908
|
+
.orb-omph-conversation-title {
|
|
2909
|
+
font: 600 13px/1.3 var(--orb-font);
|
|
2910
|
+
}
|
|
2911
|
+
|
|
2912
|
+
.orb-omph-conversation-meta {
|
|
2913
|
+
font: 500 11px/1.3 var(--orb-font);
|
|
2914
|
+
color: var(--orb-muted);
|
|
2915
|
+
}
|
|
2916
|
+
|
|
2917
|
+
.orb-omph-conversation-empty {
|
|
2918
|
+
margin: 0;
|
|
2919
|
+
padding: 12px 10px;
|
|
2920
|
+
color: var(--orb-muted);
|
|
2921
|
+
font: 500 13px/1.4 var(--orb-font);
|
|
2807
2922
|
}
|
|
2808
2923
|
|
|
2809
2924
|
.orb-omph-avatar {
|
|
@@ -2951,11 +3066,12 @@ button.orb-app-header-locale:hover,
|
|
|
2951
3066
|
}
|
|
2952
3067
|
|
|
2953
3068
|
.orb-omph-process-chevron {
|
|
3069
|
+
transform: rotate(-90deg);
|
|
2954
3070
|
transition: transform var(--orb-t-fast);
|
|
2955
3071
|
}
|
|
2956
3072
|
|
|
2957
3073
|
.orb-omph-process[data-open="true"] .orb-omph-process-chevron {
|
|
2958
|
-
transform: rotate(
|
|
3074
|
+
transform: rotate(0deg);
|
|
2959
3075
|
}
|
|
2960
3076
|
|
|
2961
3077
|
.orb-omph-process-summary {
|
|
@@ -3067,7 +3183,9 @@ button.orb-app-header-locale:hover,
|
|
|
3067
3183
|
.orb-omph-older,
|
|
3068
3184
|
.orb-omph-to-bottom {
|
|
3069
3185
|
border: 1px solid var(--orb-border);
|
|
3070
|
-
background: var(--orb-canvas);
|
|
3186
|
+
background: color-mix(in oklch, var(--orb-canvas) 72%, transparent);
|
|
3187
|
+
backdrop-filter: blur(20px);
|
|
3188
|
+
-webkit-backdrop-filter: blur(20px);
|
|
3071
3189
|
color: var(--orb-muted);
|
|
3072
3190
|
cursor: pointer;
|
|
3073
3191
|
}
|
|
@@ -3234,7 +3352,7 @@ button.orb-app-header-locale:hover,
|
|
|
3234
3352
|
flex: none;
|
|
3235
3353
|
padding: 12px 16px 16px;
|
|
3236
3354
|
border-top: 1px solid var(--orb-border);
|
|
3237
|
-
background:
|
|
3355
|
+
background: transparent;
|
|
3238
3356
|
}
|
|
3239
3357
|
|
|
3240
3358
|
.orb-omph-input {
|
|
@@ -3356,7 +3474,7 @@ button.orb-app-header-locale:hover,
|
|
|
3356
3474
|
width: var(--orb-omph-pv-pref);
|
|
3357
3475
|
display: flex;
|
|
3358
3476
|
flex-direction: column;
|
|
3359
|
-
background:
|
|
3477
|
+
background: transparent;
|
|
3360
3478
|
}
|
|
3361
3479
|
|
|
3362
3480
|
.orb-omph-preview[data-placement="overlay"] {
|
|
@@ -3511,6 +3629,15 @@ button.orb-app-header-locale:hover,
|
|
|
3511
3629
|
overflow: hidden;
|
|
3512
3630
|
}
|
|
3513
3631
|
|
|
3632
|
+
/* embed 文档(PDF 等):iframe 吃满内容区,原生查看器负责滚动 */
|
|
3633
|
+
.orb-omph-pv-embed {
|
|
3634
|
+
flex: 1;
|
|
3635
|
+
width: 100%;
|
|
3636
|
+
min-height: 0;
|
|
3637
|
+
border: 0;
|
|
3638
|
+
background: var(--orb-canvas);
|
|
3639
|
+
}
|
|
3640
|
+
|
|
3514
3641
|
.orb-omph-pv-note {
|
|
3515
3642
|
padding: 12px 20px;
|
|
3516
3643
|
color: var(--orb-muted);
|
|
@@ -3899,3 +4026,159 @@ button.orb-app-header-locale:hover,
|
|
|
3899
4026
|
animation: none;
|
|
3900
4027
|
}
|
|
3901
4028
|
}
|
|
4029
|
+
|
|
4030
|
+
/* ═══════════════════════════════════════════════════════════════
|
|
4031
|
+
OMPHPanel 边缘泛光外壳(orb-omph-bloom)
|
|
4032
|
+
|
|
4033
|
+
宿主结构:bloom > backdrop + center > panel(> glow + card) + composer。
|
|
4034
|
+
状态机制:OMPHPanel 根节点自带 data-status;外壳经 :has() 自动联动——
|
|
4035
|
+
静息 = CI 四色泛光 + 背景环境光;running/pending = 四周泛金光,
|
|
4036
|
+
环境光(backdrop::before,宿主自绘)整体淡出,金光成为唯一光源。
|
|
4037
|
+
宿主也可手动加 .is-working 类驱动(等价)。宿主只负责:
|
|
4038
|
+
① backdrop::before 画自己的环境光洗 ② backdrop 本体画纹理
|
|
4039
|
+
③ center 内摆放 bloom-panel(glow + card)与 bloom-composer。
|
|
4040
|
+
═══════════════════════════════════════════════════════════════ */
|
|
4041
|
+
|
|
4042
|
+
.orb-omph-bloom {
|
|
4043
|
+
--orb-bloom-spread: 168px;
|
|
4044
|
+
--orb-bloom-blur: 64px;
|
|
4045
|
+
--orb-bloom-backdrop: 18px;
|
|
4046
|
+
--orb-bloom-breathe: 2.6s;
|
|
4047
|
+
--orb-bloom-petrol: color-mix(in oklch, #00a3a3 58%, transparent);
|
|
4048
|
+
--orb-bloom-blue: color-mix(in oklch, #00488a 58%, transparent);
|
|
4049
|
+
--orb-bloom-pink: color-mix(in oklch, #db3360 48%, transparent);
|
|
4050
|
+
position: absolute;
|
|
4051
|
+
inset: 0;
|
|
4052
|
+
z-index: 1;
|
|
4053
|
+
overflow: hidden;
|
|
4054
|
+
pointer-events: none;
|
|
4055
|
+
}
|
|
4056
|
+
|
|
4057
|
+
html.orb-dark .orb-omph-bloom,
|
|
4058
|
+
html[data-orb-mode="dark"] .orb-omph-bloom {
|
|
4059
|
+
--orb-bloom-petrol: color-mix(in oklch, #00a3a3 70%, transparent);
|
|
4060
|
+
--orb-bloom-blue: color-mix(in oklch, #00488a 72%, transparent);
|
|
4061
|
+
--orb-bloom-pink: color-mix(in oklch, #db3360 64%, transparent);
|
|
4062
|
+
}
|
|
4063
|
+
|
|
4064
|
+
.orb-omph-bloom-backdrop {
|
|
4065
|
+
position: absolute;
|
|
4066
|
+
inset: 0;
|
|
4067
|
+
pointer-events: auto;
|
|
4068
|
+
background: color-mix(in oklch, var(--orb-canvas) 42%, transparent);
|
|
4069
|
+
backdrop-filter: blur(var(--orb-bloom-backdrop));
|
|
4070
|
+
-webkit-backdrop-filter: blur(var(--orb-bloom-backdrop));
|
|
4071
|
+
}
|
|
4072
|
+
|
|
4073
|
+
/* 环境光层:库只给壳(定位 + 淡出过渡),宿主在其 background 上画光洗 */
|
|
4074
|
+
.orb-omph-bloom-backdrop::before {
|
|
4075
|
+
content: "";
|
|
4076
|
+
position: absolute;
|
|
4077
|
+
inset: 0;
|
|
4078
|
+
pointer-events: none;
|
|
4079
|
+
transition: opacity 0.6s ease;
|
|
4080
|
+
}
|
|
4081
|
+
|
|
4082
|
+
.orb-omph-bloom-center {
|
|
4083
|
+
position: relative;
|
|
4084
|
+
z-index: 1;
|
|
4085
|
+
display: flex;
|
|
4086
|
+
flex-direction: column;
|
|
4087
|
+
align-items: center;
|
|
4088
|
+
justify-content: center;
|
|
4089
|
+
gap: 12px;
|
|
4090
|
+
box-sizing: border-box;
|
|
4091
|
+
height: 100%;
|
|
4092
|
+
min-height: 0;
|
|
4093
|
+
padding: 20px 24px 24px;
|
|
4094
|
+
pointer-events: none;
|
|
4095
|
+
}
|
|
4096
|
+
|
|
4097
|
+
.orb-omph-bloom-panel {
|
|
4098
|
+
position: relative;
|
|
4099
|
+
display: flex;
|
|
4100
|
+
flex-direction: column;
|
|
4101
|
+
flex: 1 1 0;
|
|
4102
|
+
min-height: 0;
|
|
4103
|
+
overflow: visible;
|
|
4104
|
+
width: min(100%, var(--orb-bloom-width));
|
|
4105
|
+
pointer-events: auto;
|
|
4106
|
+
}
|
|
4107
|
+
|
|
4108
|
+
.orb-omph-bloom-glow {
|
|
4109
|
+
position: absolute;
|
|
4110
|
+
z-index: 0;
|
|
4111
|
+
inset: calc(var(--orb-bloom-spread) * -1);
|
|
4112
|
+
pointer-events: none;
|
|
4113
|
+
background:
|
|
4114
|
+
radial-gradient(ellipse 70% 48% at 50% 0%, var(--orb-bloom-petrol), transparent 68%),
|
|
4115
|
+
radial-gradient(ellipse 48% 70% at 0% 50%, var(--orb-bloom-petrol), transparent 68%),
|
|
4116
|
+
radial-gradient(ellipse 48% 70% at 100% 50%, var(--orb-bloom-blue), transparent 68%),
|
|
4117
|
+
radial-gradient(ellipse 70% 48% at 50% 100%, var(--orb-bloom-pink), transparent 68%);
|
|
4118
|
+
filter: blur(var(--orb-bloom-blur));
|
|
4119
|
+
animation: orb-omph-bloom-breathe var(--orb-bloom-breathe) ease-in-out infinite;
|
|
4120
|
+
}
|
|
4121
|
+
|
|
4122
|
+
.orb-omph-bloom-card {
|
|
4123
|
+
position: relative;
|
|
4124
|
+
z-index: 1;
|
|
4125
|
+
display: flex;
|
|
4126
|
+
flex: 1 1 0;
|
|
4127
|
+
flex-direction: column;
|
|
4128
|
+
min-height: 0;
|
|
4129
|
+
width: 100%;
|
|
4130
|
+
}
|
|
4131
|
+
|
|
4132
|
+
/* bloom 美学:面板去边框,泛光负责边缘;嵌套浮层透明靠外层玻璃 */
|
|
4133
|
+
.orb-omph-bloom-card .orb-omph-panel {
|
|
4134
|
+
border-color: transparent;
|
|
4135
|
+
box-shadow: none;
|
|
4136
|
+
}
|
|
4137
|
+
|
|
4138
|
+
.orb-omph-bloom-card .orb-omph-pv,
|
|
4139
|
+
.orb-omph-bloom-card .orb-omph-approval-other {
|
|
4140
|
+
background: transparent;
|
|
4141
|
+
}
|
|
4142
|
+
|
|
4143
|
+
.orb-omph-bloom-composer {
|
|
4144
|
+
position: relative;
|
|
4145
|
+
z-index: 2;
|
|
4146
|
+
flex: 0 1 auto;
|
|
4147
|
+
width: min(100%, var(--orb-bloom-width));
|
|
4148
|
+
max-height: 46%;
|
|
4149
|
+
min-height: 0;
|
|
4150
|
+
overflow: auto;
|
|
4151
|
+
pointer-events: auto;
|
|
4152
|
+
}
|
|
4153
|
+
|
|
4154
|
+
/* ── AI 工作态:四周泛金光 + 环境光隐退 ──
|
|
4155
|
+
面板 data-status 自动联动(:has),或宿主手动 .is-working;
|
|
4156
|
+
金色为产品显式要求,超出 CI 色板。 */
|
|
4157
|
+
.orb-omph-bloom.is-working,
|
|
4158
|
+
.orb-omph-bloom:has(.orb-omph-panel[data-status="running"]),
|
|
4159
|
+
.orb-omph-bloom:has(.orb-omph-panel[data-status="pending"]),
|
|
4160
|
+
html.orb-dark .orb-omph-bloom.is-working,
|
|
4161
|
+
html[data-orb-mode="dark"] .orb-omph-bloom.is-working {
|
|
4162
|
+
--orb-bloom-petrol: color-mix(in oklch, #d4af37 66%, transparent);
|
|
4163
|
+
--orb-bloom-blue: color-mix(in oklch, #d4af37 66%, transparent);
|
|
4164
|
+
--orb-bloom-pink: color-mix(in oklch, #e6c35c 60%, transparent);
|
|
4165
|
+
}
|
|
4166
|
+
|
|
4167
|
+
.orb-omph-bloom.is-working .orb-omph-bloom-backdrop::before,
|
|
4168
|
+
.orb-omph-bloom:has(.orb-omph-panel[data-status="running"]) .orb-omph-bloom-backdrop::before,
|
|
4169
|
+
.orb-omph-bloom:has(.orb-omph-panel[data-status="pending"]) .orb-omph-bloom-backdrop::before {
|
|
4170
|
+
opacity: 0;
|
|
4171
|
+
}
|
|
4172
|
+
|
|
4173
|
+
@keyframes orb-omph-bloom-breathe {
|
|
4174
|
+
0%,
|
|
4175
|
+
100% { opacity: 0.78; }
|
|
4176
|
+
50% { opacity: 1; }
|
|
4177
|
+
}
|
|
4178
|
+
|
|
4179
|
+
@media (prefers-reduced-motion: reduce) {
|
|
4180
|
+
.orb-omph-bloom-glow {
|
|
4181
|
+
animation: none;
|
|
4182
|
+
opacity: 1;
|
|
4183
|
+
}
|
|
4184
|
+
}
|