@linktr.ee/messaging-react 4.2.0-rc-1787250088 → 4.2.0-rc-1787283154

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": "@linktr.ee/messaging-react",
3
- "version": "4.2.0-rc-1787250088",
3
+ "version": "4.2.0-rc-1787283154",
4
4
  "description": "React messaging components built on messaging-core for web applications",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -50,7 +50,7 @@
50
50
  "chromatic:local": "yarn storybook:build && chromatic"
51
51
  },
52
52
  "dependencies": {
53
- "@linktr.ee/messaging-core": "2.6.0-rc-1787250088",
53
+ "@linktr.ee/messaging-core": "2.6.0-rc-1787283154",
54
54
  "@linktr.ee/messaging-taxonomy": "^0.11.0",
55
55
  "@phosphor-icons/react": "^2.1.10"
56
56
  },
@@ -496,7 +496,7 @@ export const CustomMessageInput: React.FC<CustomMessageInputProps> = ({
496
496
 
497
497
  <div className="relative z-10 flex min-h-0 flex-col">
498
498
  {renderHeader?.()}
499
- <div className="flex min-h-0 flex-col gap-4 p-4">
499
+ <div className="flex min-h-0 flex-col gap-4 p-3 pb-5 md:p-5">
500
500
  <div
501
501
  // @ts-expect-error Only React 19 onwards has `inert` in its types.
502
502
  inert={isFrozen ? '' : undefined}
package/src/styles.css CHANGED
@@ -120,10 +120,6 @@
120
120
  }
121
121
  }
122
122
 
123
- .messaging-channel-layout {
124
- --messaging-composer-fade-height: 2rem;
125
- }
126
-
127
123
  .messaging-composer-chrome--floating {
128
124
  position: relative;
129
125
  right: 0;
@@ -138,21 +134,10 @@
138
134
 
139
135
  .messaging-composer-chrome--floating .messaging-composer-backdrop {
140
136
  position: absolute;
141
- top: calc(-1 * var(--messaging-composer-fade-height));
142
- right: 0;
143
- bottom: 0;
144
- left: 0;
137
+ inset: 0;
145
138
  overflow: hidden;
146
139
  isolation: isolate;
147
140
  pointer-events: none;
148
- /* Frosted band height, from the backdrop's top edge down to the composer
149
- pill: the fade-height above the chrome plus the chrome's own top padding
150
- (p-4 = 1rem). Blur/gradient stops are anchored to this fixed band so the
151
- frosting stays in the gap above the composer and does not scale with the
152
- (opaque) composer height. */
153
- --messaging-composer-fade-band: calc(
154
- var(--messaging-composer-fade-height) + 1rem
155
- );
156
141
  }
157
142
 
158
143
  .messaging-composer-backdrop-blur {
@@ -161,99 +146,71 @@
161
146
  pointer-events: none;
162
147
  }
163
148
 
149
+ /* Figma progressive background blur: (50%, 0%) → (50%, 100%), 0 → 16.
150
+ CSS has no spatially-varying blur, so five evenly spaced masked layers
151
+ approximate the linear ramp across the full parent height. */
164
152
  .messaging-composer-backdrop-blur:nth-child(1) {
165
- backdrop-filter: blur(2px);
166
- -webkit-backdrop-filter: blur(2px);
167
- mask: linear-gradient(
168
- to bottom,
169
- transparent 0,
170
- black calc(var(--messaging-composer-fade-band) * 0.12),
171
- black calc(var(--messaging-composer-fade-band) * 0.32),
172
- transparent calc(var(--messaging-composer-fade-band) * 0.5)
173
- );
174
- -webkit-mask: linear-gradient(
153
+ --messaging-composer-blur-mask: linear-gradient(
175
154
  to bottom,
176
- transparent 0,
177
- black calc(var(--messaging-composer-fade-band) * 0.12),
178
- black calc(var(--messaging-composer-fade-band) * 0.32),
179
- transparent calc(var(--messaging-composer-fade-band) * 0.5)
155
+ transparent 0%,
156
+ black 20%,
157
+ transparent 40%
180
158
  );
159
+ backdrop-filter: blur(3.2px);
160
+ -webkit-backdrop-filter: blur(3.2px);
161
+ mask: var(--messaging-composer-blur-mask);
162
+ -webkit-mask: var(--messaging-composer-blur-mask);
181
163
  }
182
164
 
183
165
  .messaging-composer-backdrop-blur:nth-child(2) {
184
- backdrop-filter: blur(4px);
185
- -webkit-backdrop-filter: blur(4px);
186
- mask: linear-gradient(
187
- to bottom,
188
- transparent calc(var(--messaging-composer-fade-band) * 0.2),
189
- black calc(var(--messaging-composer-fade-band) * 0.38),
190
- black calc(var(--messaging-composer-fade-band) * 0.55),
191
- transparent calc(var(--messaging-composer-fade-band) * 0.7)
192
- );
193
- -webkit-mask: linear-gradient(
166
+ --messaging-composer-blur-mask: linear-gradient(
194
167
  to bottom,
195
- transparent calc(var(--messaging-composer-fade-band) * 0.2),
196
- black calc(var(--messaging-composer-fade-band) * 0.38),
197
- black calc(var(--messaging-composer-fade-band) * 0.55),
198
- transparent calc(var(--messaging-composer-fade-band) * 0.7)
168
+ transparent 20%,
169
+ black 40%,
170
+ transparent 60%
199
171
  );
172
+ backdrop-filter: blur(6.4px);
173
+ -webkit-backdrop-filter: blur(6.4px);
174
+ mask: var(--messaging-composer-blur-mask);
175
+ -webkit-mask: var(--messaging-composer-blur-mask);
200
176
  }
201
177
 
202
178
  .messaging-composer-backdrop-blur:nth-child(3) {
203
- backdrop-filter: blur(8px);
204
- -webkit-backdrop-filter: blur(8px);
205
- mask: linear-gradient(
179
+ --messaging-composer-blur-mask: linear-gradient(
206
180
  to bottom,
207
- transparent calc(var(--messaging-composer-fade-band) * 0.4),
208
- black calc(var(--messaging-composer-fade-band) * 0.58),
209
- black calc(var(--messaging-composer-fade-band) * 0.72),
210
- transparent calc(var(--messaging-composer-fade-band) * 0.85)
211
- );
212
- -webkit-mask: linear-gradient(
213
- to bottom,
214
- transparent calc(var(--messaging-composer-fade-band) * 0.4),
215
- black calc(var(--messaging-composer-fade-band) * 0.58),
216
- black calc(var(--messaging-composer-fade-band) * 0.72),
217
- transparent calc(var(--messaging-composer-fade-band) * 0.85)
181
+ transparent 40%,
182
+ black 60%,
183
+ transparent 80%
218
184
  );
185
+ backdrop-filter: blur(9.6px);
186
+ -webkit-backdrop-filter: blur(9.6px);
187
+ mask: var(--messaging-composer-blur-mask);
188
+ -webkit-mask: var(--messaging-composer-blur-mask);
219
189
  }
220
190
 
221
191
  .messaging-composer-backdrop-blur:nth-child(4) {
222
- backdrop-filter: blur(12px);
223
- -webkit-backdrop-filter: blur(12px);
224
- mask: linear-gradient(
225
- to bottom,
226
- transparent calc(var(--messaging-composer-fade-band) * 0.55),
227
- black calc(var(--messaging-composer-fade-band) * 0.72),
228
- black calc(var(--messaging-composer-fade-band) * 0.88),
229
- transparent var(--messaging-composer-fade-band)
230
- );
231
- -webkit-mask: linear-gradient(
192
+ --messaging-composer-blur-mask: linear-gradient(
232
193
  to bottom,
233
- transparent calc(var(--messaging-composer-fade-band) * 0.55),
234
- black calc(var(--messaging-composer-fade-band) * 0.72),
235
- black calc(var(--messaging-composer-fade-band) * 0.88),
236
- transparent var(--messaging-composer-fade-band)
194
+ transparent 60%,
195
+ black 80%,
196
+ transparent 100%
237
197
  );
198
+ backdrop-filter: blur(12.8px);
199
+ -webkit-backdrop-filter: blur(12.8px);
200
+ mask: var(--messaging-composer-blur-mask);
201
+ -webkit-mask: var(--messaging-composer-blur-mask);
238
202
  }
239
203
 
240
204
  .messaging-composer-backdrop-blur:nth-child(5) {
241
- backdrop-filter: blur(16px);
242
- -webkit-backdrop-filter: blur(16px);
243
- mask: linear-gradient(
205
+ --messaging-composer-blur-mask: linear-gradient(
244
206
  to bottom,
245
- transparent calc(var(--messaging-composer-fade-band) * 0.7),
246
- black calc(var(--messaging-composer-fade-band) * 0.9),
247
- black var(--messaging-composer-fade-band),
248
- transparent var(--messaging-composer-fade-band)
249
- );
250
- -webkit-mask: linear-gradient(
251
- to bottom,
252
- transparent calc(var(--messaging-composer-fade-band) * 0.7),
253
- black calc(var(--messaging-composer-fade-band) * 0.9),
254
- black var(--messaging-composer-fade-band),
255
- transparent var(--messaging-composer-fade-band)
207
+ transparent 80%,
208
+ black 100%
256
209
  );
210
+ backdrop-filter: blur(16px);
211
+ -webkit-backdrop-filter: blur(16px);
212
+ mask: var(--messaging-composer-blur-mask);
213
+ -webkit-mask: var(--messaging-composer-blur-mask);
257
214
  }
258
215
 
259
216
  .messaging-composer-backdrop-gradient {
@@ -261,9 +218,9 @@
261
218
  inset: 0;
262
219
  pointer-events: none;
263
220
  background: linear-gradient(
264
- 180deg,
265
- rgba(251, 250, 249, 0) 0,
266
- #fbfaf9 var(--messaging-composer-fade-band)
221
+ to bottom,
222
+ rgba(251, 250, 249, 0) 0%,
223
+ #fbfaf9 100%
267
224
  );
268
225
  }
269
226