@proulr/sdui-components 0.1.77 → 0.1.79

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proulr/sdui-components",
3
- "version": "0.1.77",
3
+ "version": "0.1.79",
4
4
  "type": "module",
5
5
  "main": "./src/renderer/index.ts",
6
6
  "types": "./src/renderer/index.ts",
@@ -3,8 +3,8 @@
3
3
  * Overlay de cor fica em `colors.chromeGlassOverlay` (tema).
4
4
  */
5
5
 
6
- /** Intensidade do frost — mais blur, menos “placa” opaca. */
7
- export const CHROME_GLASS_BLUR_INTENSITY = 50;
6
+ /** Intensidade do frost — forte (estilo Telegram) p/ conteúdo não competir com o texto. */
7
+ export const CHROME_GLASS_BLUR_INTENSITY = 60;
8
8
 
9
9
  /**
10
10
  * Tint limpo (sem material cinza do system material).
@@ -108,8 +108,11 @@ export const colors = {
108
108
  surfaceGlass: 'rgba(255,255,255,0.06)',
109
109
  /** Pílula / chrome sem BlurView — preto OLED. */
110
110
  chromePillBackground: 'rgba(0, 0, 0, 0.82)',
111
- /** Overlay sobre BlurView — transparente = frost limpo (sem placa acinzentada). */
112
- chromeGlassOverlay: 'rgba(0, 0, 0, 0)',
111
+ /** Overlay sobre BlurView — véu escuro no tom da marca (como o azul-escuro do
112
+ * Telegram): escurece o fundo p/ texto branco ler bem, mantendo o hue fuchsia. */
113
+ chromeGlassOverlay: 'rgba(10, 3, 15, 0.52)',
114
+ /** Véu escuro sobre glass de painéis grandes (drawer) — legibilidade do conteúdo. */
115
+ chromeGlassPanelVeil: 'rgba(20, 6, 25, 0.52)',
113
116
  chromePillBorder: 'rgba(255, 255, 255, 0.08)',
114
117
  videoControlBackground: 'rgba(0,0,0,0.45)',
115
118
  videoTrackBackground: 'rgba(255,255,255,0.25)',
@@ -54,6 +54,11 @@ type ChromeGlassBlurTargetProps = {
54
54
  /**
55
55
  * Envolve o conteúdo que fica atrás do vidro. No Android vira `BlurTargetView`;
56
56
  * nas demais plataformas (ou sem provider) é um `View` comum.
57
+ *
58
+ * Descendentes NÃO recebem o target: um BlurView aninhado dentro do próprio
59
+ * alvo cria ciclo de render nodes no hwui (recursão infinita em
60
+ * computeTransformImpl → SIGSEGV na RenderThread). Glass dentro do conteúdo
61
+ * (ex.: compose pill do chat) cai no fallback translúcido no Android.
57
62
  */
58
63
  export function ChromeGlassBlurTarget({ children, style }: ChromeGlassBlurTargetProps) {
59
64
  const targetRef = useContext(ChromeGlassTargetContext);
@@ -62,7 +67,9 @@ export function ChromeGlassBlurTarget({ children, style }: ChromeGlassBlurTarget
62
67
  }
63
68
  return (
64
69
  <BlurTargetView ref={targetRef} style={style}>
65
- {children}
70
+ <ChromeGlassTargetContext.Provider value={null}>
71
+ {children}
72
+ </ChromeGlassTargetContext.Provider>
66
73
  </BlurTargetView>
67
74
  );
68
75
  }