@use-voltra/android 2.3.2 → 2.4.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/build/commonjs/index.js +25 -0
- package/build/commonjs/index.js.map +1 -1
- package/build/commonjs/jsx/primitives.js +36 -0
- package/build/commonjs/jsx/primitives.js.map +1 -1
- package/build/commonjs/modifiers/createAndroidModifier.js +20 -0
- package/build/commonjs/modifiers/createAndroidModifier.js.map +1 -0
- package/build/commonjs/modifiers/index.js +188 -0
- package/build/commonjs/modifiers/index.js.map +1 -0
- package/build/commonjs/ongoing-notification/components.js +7 -1
- package/build/commonjs/ongoing-notification/components.js.map +1 -1
- package/build/commonjs/ongoing-notification/renderer.js +354 -18
- package/build/commonjs/ongoing-notification/renderer.js.map +1 -1
- package/build/commonjs/ongoing-notification/types.js +56 -0
- package/build/commonjs/ongoing-notification/types.js.map +1 -1
- package/build/commonjs/server.js.map +1 -1
- package/build/module/index.js +3 -1
- package/build/module/index.js.map +1 -1
- package/build/module/jsx/primitives.js +1 -0
- package/build/module/jsx/primitives.js.map +1 -1
- package/build/module/modifiers/createAndroidModifier.js +15 -0
- package/build/module/modifiers/createAndroidModifier.js.map +1 -0
- package/build/module/modifiers/index.js +169 -0
- package/build/module/modifiers/index.js.map +1 -0
- package/build/module/ongoing-notification/components.js +6 -0
- package/build/module/ongoing-notification/components.js.map +1 -1
- package/build/module/ongoing-notification/renderer.js +354 -18
- package/build/module/ongoing-notification/renderer.js.map +1 -1
- package/build/module/ongoing-notification/types.js +55 -1
- package/build/module/ongoing-notification/types.js.map +1 -1
- package/build/module/server.js.map +1 -1
- package/build/typescript/commonjs/index.d.ts +4 -3
- package/build/typescript/commonjs/index.d.ts.map +1 -1
- package/build/typescript/commonjs/jsx/baseProps.d.ts +8 -0
- package/build/typescript/commonjs/jsx/baseProps.d.ts.map +1 -1
- package/build/typescript/commonjs/jsx/primitives.d.ts +1 -0
- package/build/typescript/commonjs/jsx/primitives.d.ts.map +1 -1
- package/build/typescript/commonjs/modifiers/createAndroidModifier.d.ts +13 -0
- package/build/typescript/commonjs/modifiers/createAndroidModifier.d.ts.map +1 -0
- package/build/typescript/commonjs/modifiers/index.d.ts +171 -0
- package/build/typescript/commonjs/modifiers/index.d.ts.map +1 -0
- package/build/typescript/commonjs/ongoing-notification/components.d.ts +8 -2
- package/build/typescript/commonjs/ongoing-notification/components.d.ts.map +1 -1
- package/build/typescript/commonjs/ongoing-notification/renderer.d.ts.map +1 -1
- package/build/typescript/commonjs/ongoing-notification/types.d.ts +281 -3
- package/build/typescript/commonjs/ongoing-notification/types.d.ts.map +1 -1
- package/build/typescript/commonjs/server.d.ts +1 -1
- package/build/typescript/commonjs/server.d.ts.map +1 -1
- package/build/typescript/module/index.d.ts +4 -3
- package/build/typescript/module/index.d.ts.map +1 -1
- package/build/typescript/module/jsx/baseProps.d.ts +8 -0
- package/build/typescript/module/jsx/baseProps.d.ts.map +1 -1
- package/build/typescript/module/jsx/primitives.d.ts +1 -0
- package/build/typescript/module/jsx/primitives.d.ts.map +1 -1
- package/build/typescript/module/modifiers/createAndroidModifier.d.ts +13 -0
- package/build/typescript/module/modifiers/createAndroidModifier.d.ts.map +1 -0
- package/build/typescript/module/modifiers/index.d.ts +171 -0
- package/build/typescript/module/modifiers/index.d.ts.map +1 -0
- package/build/typescript/module/ongoing-notification/components.d.ts +8 -2
- package/build/typescript/module/ongoing-notification/components.d.ts.map +1 -1
- package/build/typescript/module/ongoing-notification/renderer.d.ts.map +1 -1
- package/build/typescript/module/ongoing-notification/types.d.ts +281 -3
- package/build/typescript/module/ongoing-notification/types.d.ts.map +1 -1
- package/build/typescript/module/server.d.ts +1 -1
- package/build/typescript/module/server.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +36 -2
- package/src/jsx/baseProps.tsx +8 -0
- package/src/jsx/primitives.ts +1 -0
- package/src/modifiers/createAndroidModifier.ts +21 -0
- package/src/modifiers/index.ts +166 -0
- package/src/ongoing-notification/components.tsx +22 -1
- package/src/ongoing-notification/renderer.ts +451 -18
- package/src/ongoing-notification/types.ts +298 -4
- package/src/server.ts +15 -0
|
@@ -9,6 +9,24 @@ var _componentIds = require("../payload/component-ids.js");
|
|
|
9
9
|
var _components = require("./components.js");
|
|
10
10
|
void _componentIds.getAndroidComponentId;
|
|
11
11
|
const PAYLOAD_VERSION = 1;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* InboxStyle only renders six lines, so more than that is rejected at render time instead of being
|
|
15
|
+
* silently truncated. Kept in sync with MAX_INBOX_LINES in the Android client.
|
|
16
|
+
*/
|
|
17
|
+
const MAX_INBOX_LINES = 6;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Size of an inline picture that is still reasonable to hand to a native post. Push providers cap
|
|
21
|
+
* data payloads at a few kilobytes (FCM allows 4096 bytes), so no inline picture travels through a
|
|
22
|
+
* push message. Warns instead of failing: local starts and self-hosted transports can legitimately
|
|
23
|
+
* carry more. Compared against the decoded size, because a base64 string is four characters per
|
|
24
|
+
* three bytes and its length flatters the image.
|
|
25
|
+
*/
|
|
26
|
+
const MAX_INLINE_PICTURE_BYTES = 256 * 1024;
|
|
27
|
+
|
|
28
|
+
/** Bytes a base64 string holds once decoded. Padding leaves this at most two bytes high. */
|
|
29
|
+
const decodedBase64Bytes = base64 => Math.ceil(base64.length * 3 / 4);
|
|
12
30
|
const flattenChildren = node => {
|
|
13
31
|
if (node === null || node === undefined || typeof node === 'boolean') {
|
|
14
32
|
return [];
|
|
@@ -81,6 +99,13 @@ const assertOptionalImageSource = (value, propName) => {
|
|
|
81
99
|
}
|
|
82
100
|
return value;
|
|
83
101
|
};
|
|
102
|
+
const assertRequiredImageSource = (value, propName) => {
|
|
103
|
+
const source = assertOptionalImageSource(value, propName);
|
|
104
|
+
if (source === undefined) {
|
|
105
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "${propName}" is required.`);
|
|
106
|
+
}
|
|
107
|
+
return source;
|
|
108
|
+
};
|
|
84
109
|
const assertBoolean = (value, propName) => {
|
|
85
110
|
if (value === undefined) {
|
|
86
111
|
return undefined;
|
|
@@ -147,21 +172,91 @@ const normalizeProgressPoints = value => {
|
|
|
147
172
|
};
|
|
148
173
|
});
|
|
149
174
|
};
|
|
150
|
-
const
|
|
151
|
-
if (value
|
|
152
|
-
|
|
175
|
+
const normalizeInboxLines = value => {
|
|
176
|
+
if (!Array.isArray(value)) {
|
|
177
|
+
throw new Error('[Voltra] [Android] Ongoing notification prop "lines" must be an array of non-empty strings.');
|
|
178
|
+
}
|
|
179
|
+
if (value.length === 0) {
|
|
180
|
+
throw new Error('[Voltra] [Android] Ongoing notification prop "lines" must contain at least one line.');
|
|
153
181
|
}
|
|
182
|
+
if (value.length > MAX_INBOX_LINES) {
|
|
183
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "lines" must contain at most ${MAX_INBOX_LINES} lines, got ${value.length}.`);
|
|
184
|
+
}
|
|
185
|
+
return value.map((line, index) => assertString(line, `lines[${index}]`));
|
|
186
|
+
};
|
|
187
|
+
const warnInlinePicture = picture => {
|
|
188
|
+
const base64 = 'base64' in picture ? picture.base64 : undefined;
|
|
189
|
+
if (base64 === undefined) {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
const pictureBytes = decodedBase64Bytes(base64);
|
|
193
|
+
if (pictureBytes > MAX_INLINE_PICTURE_BYTES) {
|
|
194
|
+
console.warn(`[Voltra] [Android] Ongoing notification prop "picture" carries a ${pictureBytes}-byte image, which exceeds ${MAX_INLINE_PICTURE_BYTES} bytes. Inline pictures cannot travel through push messages: preload the image and reference it with assetName instead.`);
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
|
+
const normalizeEpoch = (value, propName) => {
|
|
154
198
|
if (value instanceof Date) {
|
|
155
199
|
const timestamp = value.getTime();
|
|
156
200
|
if (!Number.isFinite(timestamp)) {
|
|
157
|
-
throw new Error(
|
|
201
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "${propName}" must be a valid Date or timestamp.`);
|
|
158
202
|
}
|
|
159
203
|
return timestamp;
|
|
160
204
|
}
|
|
161
205
|
if (typeof value === 'number' && Number.isFinite(value)) {
|
|
162
206
|
return value;
|
|
163
207
|
}
|
|
164
|
-
throw new Error(
|
|
208
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "${propName}" must be a valid Date or timestamp.`);
|
|
209
|
+
};
|
|
210
|
+
const normalizeWhen = value => {
|
|
211
|
+
if (value === undefined) {
|
|
212
|
+
return undefined;
|
|
213
|
+
}
|
|
214
|
+
return normalizeEpoch(value, 'when');
|
|
215
|
+
};
|
|
216
|
+
|
|
217
|
+
// `true` keeps meaning "count up" for payloads and props written before the
|
|
218
|
+
// chip gained a direction; only 'countDown' sets chronometerCountDown, and a
|
|
219
|
+
// countdown without `when` has nothing to count down to.
|
|
220
|
+
const normalizeChronometer = (value, when) => {
|
|
221
|
+
if (value === undefined) {
|
|
222
|
+
return {};
|
|
223
|
+
}
|
|
224
|
+
if (typeof value === 'boolean') {
|
|
225
|
+
return {
|
|
226
|
+
chronometer: value
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
if (value === 'countUp') {
|
|
230
|
+
return {
|
|
231
|
+
chronometer: true
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
if (value === 'countDown') {
|
|
235
|
+
if (when === undefined) {
|
|
236
|
+
throw new Error('[Voltra] [Android] Ongoing notification prop "chronometer" set to "countDown" requires the "when" prop.');
|
|
237
|
+
}
|
|
238
|
+
return {
|
|
239
|
+
chronometer: true,
|
|
240
|
+
chronometerCountDown: true
|
|
241
|
+
};
|
|
242
|
+
}
|
|
243
|
+
throw new Error('[Voltra] [Android] Ongoing notification prop "chronometer" must be a boolean, "countUp" or "countDown".');
|
|
244
|
+
};
|
|
245
|
+
const normalizePublicVersion = value => {
|
|
246
|
+
if (value === undefined) {
|
|
247
|
+
return undefined;
|
|
248
|
+
}
|
|
249
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
250
|
+
throw new Error('[Voltra] [Android] Ongoing notification prop "publicVersion" must be an object with a title.');
|
|
251
|
+
}
|
|
252
|
+
const {
|
|
253
|
+
title,
|
|
254
|
+
text
|
|
255
|
+
} = value;
|
|
256
|
+
return {
|
|
257
|
+
title: assertString(title, 'publicVersion.title'),
|
|
258
|
+
text: assertOptionalString(text, 'publicVersion.text')
|
|
259
|
+
};
|
|
165
260
|
};
|
|
166
261
|
const getElementKind = element => {
|
|
167
262
|
const elementType = element.type;
|
|
@@ -174,6 +269,19 @@ const normalizeActionPayload = props => {
|
|
|
174
269
|
icon: assertOptionalImageSource(props.icon, 'icon')
|
|
175
270
|
};
|
|
176
271
|
};
|
|
272
|
+
const normalizeCommonDisplayFields = props => {
|
|
273
|
+
const when = normalizeWhen(props.when);
|
|
274
|
+
return {
|
|
275
|
+
title: assertOptionalNonEmptyString(props.title, 'title'),
|
|
276
|
+
subText: assertOptionalString(props.subText, 'subText'),
|
|
277
|
+
shortCriticalText: assertOptionalString(props.shortCriticalText, 'shortCriticalText'),
|
|
278
|
+
when,
|
|
279
|
+
...normalizeChronometer(props.chronometer, when),
|
|
280
|
+
showWhen: assertBoolean(props.showWhen, 'showWhen'),
|
|
281
|
+
largeIcon: assertOptionalImageSource(props.largeIcon, 'largeIcon'),
|
|
282
|
+
publicVersion: normalizePublicVersion(props.publicVersion)
|
|
283
|
+
};
|
|
284
|
+
};
|
|
177
285
|
const normalizeActions = value => {
|
|
178
286
|
const actions = [];
|
|
179
287
|
_react.Children.forEach(value, child => {
|
|
@@ -206,16 +314,11 @@ const normalizeProgressPayload = props => {
|
|
|
206
314
|
return {
|
|
207
315
|
v: PAYLOAD_VERSION,
|
|
208
316
|
kind: 'progress',
|
|
209
|
-
|
|
210
|
-
subText: assertOptionalString(props.subText, 'subText'),
|
|
317
|
+
...normalizeCommonDisplayFields(props),
|
|
211
318
|
text: assertOptionalString(props.text, 'text'),
|
|
212
319
|
value,
|
|
213
320
|
max,
|
|
214
321
|
indeterminate: assertBoolean(props.indeterminate, 'indeterminate'),
|
|
215
|
-
shortCriticalText: assertOptionalString(props.shortCriticalText, 'shortCriticalText'),
|
|
216
|
-
when: normalizeWhen(props.when),
|
|
217
|
-
chronometer: assertBoolean(props.chronometer, 'chronometer'),
|
|
218
|
-
largeIcon: assertOptionalImageSource(props.largeIcon, 'largeIcon'),
|
|
219
322
|
progressTrackerIcon: assertOptionalImageSource(props.progressTrackerIcon, 'progressTrackerIcon'),
|
|
220
323
|
progressStartIcon: assertOptionalImageSource(props.progressStartIcon, 'progressStartIcon'),
|
|
221
324
|
progressEndIcon: assertOptionalImageSource(props.progressEndIcon, 'progressEndIcon'),
|
|
@@ -229,14 +332,238 @@ const normalizeBigTextPayload = props => {
|
|
|
229
332
|
return {
|
|
230
333
|
v: PAYLOAD_VERSION,
|
|
231
334
|
kind: 'bigText',
|
|
232
|
-
|
|
233
|
-
subText: assertOptionalString(props.subText, 'subText'),
|
|
335
|
+
...normalizeCommonDisplayFields(props),
|
|
234
336
|
text,
|
|
235
337
|
bigText: assertOptionalString(props.bigText, 'bigText') ?? text,
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
338
|
+
actions: normalizeActions(props.children)
|
|
339
|
+
};
|
|
340
|
+
};
|
|
341
|
+
const METRIC_TIME_PATTERN = /^(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d)?$/;
|
|
342
|
+
const METRIC_SEMANTIC_STYLES = ['unspecified', 'info', 'safe', 'caution', 'danger'];
|
|
343
|
+
const METRIC_TIME_FORMATS = ['adaptive', 'chronometer'];
|
|
344
|
+
const assertMetricNonEmptyString = (value, propName) => {
|
|
345
|
+
if (typeof value !== 'string' || value.length === 0) {
|
|
346
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "${propName}" must be a non-empty string.`);
|
|
347
|
+
}
|
|
348
|
+
return value;
|
|
349
|
+
};
|
|
350
|
+
const normalizeMetricTimeFormat = (value, propName) => {
|
|
351
|
+
if (value === undefined) {
|
|
352
|
+
return undefined;
|
|
353
|
+
}
|
|
354
|
+
if (!METRIC_TIME_FORMATS.includes(value)) {
|
|
355
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "${propName}" must be "adaptive" or "chronometer".`);
|
|
356
|
+
}
|
|
357
|
+
return value;
|
|
358
|
+
};
|
|
359
|
+
const normalizeMetricValue = (value, unit, propName) => {
|
|
360
|
+
const topLevelUnit = assertOptionalString(unit, `${propName}.unit`);
|
|
361
|
+
const rejectTopLevelUnit = () => {
|
|
362
|
+
if (topLevelUnit !== undefined) {
|
|
363
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "${propName}.unit" only applies to "int", "float" and "text" values.`);
|
|
364
|
+
}
|
|
365
|
+
};
|
|
366
|
+
|
|
367
|
+
// Shorthands: an integer reads as int, any other number as float, a string as text.
|
|
368
|
+
if (typeof value === 'number') {
|
|
369
|
+
if (!Number.isFinite(value)) {
|
|
370
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "${propName}.value" must be a finite number.`);
|
|
371
|
+
}
|
|
372
|
+
return Number.isInteger(value) ? {
|
|
373
|
+
type: 'int',
|
|
374
|
+
value,
|
|
375
|
+
unit: topLevelUnit
|
|
376
|
+
} : {
|
|
377
|
+
type: 'float',
|
|
378
|
+
value,
|
|
379
|
+
unit: topLevelUnit
|
|
380
|
+
};
|
|
381
|
+
}
|
|
382
|
+
if (typeof value === 'string') {
|
|
383
|
+
return {
|
|
384
|
+
type: 'text',
|
|
385
|
+
value: assertMetricNonEmptyString(value, `${propName}.value`),
|
|
386
|
+
unit: topLevelUnit
|
|
387
|
+
};
|
|
388
|
+
}
|
|
389
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) {
|
|
390
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "${propName}.value" must be a number, a string, or a metric value object.`);
|
|
391
|
+
}
|
|
392
|
+
const source = value;
|
|
393
|
+
const type = source.type;
|
|
394
|
+
switch (type) {
|
|
395
|
+
case 'int':
|
|
396
|
+
{
|
|
397
|
+
const numberValue = assertFiniteNumber(source.value, `${propName}.value`);
|
|
398
|
+
if (!Number.isInteger(numberValue)) {
|
|
399
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "${propName}.value" must be an integer.`);
|
|
400
|
+
}
|
|
401
|
+
return {
|
|
402
|
+
type: 'int',
|
|
403
|
+
value: numberValue,
|
|
404
|
+
unit: assertOptionalString(source.unit, `${propName}.unit`) ?? topLevelUnit
|
|
405
|
+
};
|
|
406
|
+
}
|
|
407
|
+
case 'float':
|
|
408
|
+
{
|
|
409
|
+
const numberValue = assertFiniteNumber(source.value, `${propName}.value`);
|
|
410
|
+
const min = source.min === undefined ? undefined : assertFiniteNumber(source.min, `${propName}.min`);
|
|
411
|
+
const max = source.max === undefined ? undefined : assertFiniteNumber(source.max, `${propName}.max`);
|
|
412
|
+
if (min !== undefined && min < 0) {
|
|
413
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "${propName}.min" must be greater than or equal to 0.`);
|
|
414
|
+
}
|
|
415
|
+
if (max !== undefined && max < 0) {
|
|
416
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "${propName}.max" must be greater than or equal to 0.`);
|
|
417
|
+
}
|
|
418
|
+
if (min !== undefined && max !== undefined && min > max) {
|
|
419
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "${propName}.min" must not exceed "${propName}.max".`);
|
|
420
|
+
}
|
|
421
|
+
let fractionDigits;
|
|
422
|
+
if (source.fractionDigits !== undefined) {
|
|
423
|
+
fractionDigits = assertFiniteNumber(source.fractionDigits, `${propName}.fractionDigits`);
|
|
424
|
+
if (!Number.isInteger(fractionDigits) || fractionDigits < 0) {
|
|
425
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "${propName}.fractionDigits" must be an integer greater than or equal to 0.`);
|
|
426
|
+
}
|
|
427
|
+
}
|
|
428
|
+
return {
|
|
429
|
+
type: 'float',
|
|
430
|
+
value: numberValue,
|
|
431
|
+
unit: assertOptionalString(source.unit, `${propName}.unit`) ?? topLevelUnit,
|
|
432
|
+
min,
|
|
433
|
+
max,
|
|
434
|
+
fractionDigits
|
|
435
|
+
};
|
|
436
|
+
}
|
|
437
|
+
case 'text':
|
|
438
|
+
return {
|
|
439
|
+
type: 'text',
|
|
440
|
+
value: assertMetricNonEmptyString(source.value, `${propName}.value`),
|
|
441
|
+
unit: assertOptionalString(source.unit, `${propName}.unit`) ?? topLevelUnit
|
|
442
|
+
};
|
|
443
|
+
case 'time':
|
|
444
|
+
{
|
|
445
|
+
rejectTopLevelUnit();
|
|
446
|
+
const timeValue = assertMetricNonEmptyString(source.value, `${propName}.value`);
|
|
447
|
+
if (!METRIC_TIME_PATTERN.test(timeValue)) {
|
|
448
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "${propName}.value" must be a time in "HH:mm" or "HH:mm:ss" form.`);
|
|
449
|
+
}
|
|
450
|
+
return {
|
|
451
|
+
type: 'time',
|
|
452
|
+
value: timeValue
|
|
453
|
+
};
|
|
454
|
+
}
|
|
455
|
+
case 'timer':
|
|
456
|
+
rejectTopLevelUnit();
|
|
457
|
+
return {
|
|
458
|
+
type: 'timer',
|
|
459
|
+
endsAt: normalizeEpoch(source.endsAt, `${propName}.endsAt`),
|
|
460
|
+
format: normalizeMetricTimeFormat(source.format, `${propName}.format`)
|
|
461
|
+
};
|
|
462
|
+
case 'stopwatch':
|
|
463
|
+
rejectTopLevelUnit();
|
|
464
|
+
return {
|
|
465
|
+
type: 'stopwatch',
|
|
466
|
+
startedAt: normalizeEpoch(source.startedAt, `${propName}.startedAt`),
|
|
467
|
+
format: normalizeMetricTimeFormat(source.format, `${propName}.format`)
|
|
468
|
+
};
|
|
469
|
+
case 'pausedTimer':
|
|
470
|
+
{
|
|
471
|
+
rejectTopLevelUnit();
|
|
472
|
+
const remainingMillis = assertFiniteNumber(source.remainingMillis, `${propName}.remainingMillis`);
|
|
473
|
+
if (remainingMillis < 0) {
|
|
474
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "${propName}.remainingMillis" must be greater than or equal to 0.`);
|
|
475
|
+
}
|
|
476
|
+
return {
|
|
477
|
+
type: 'pausedTimer',
|
|
478
|
+
remainingMillis
|
|
479
|
+
};
|
|
480
|
+
}
|
|
481
|
+
case 'pausedStopwatch':
|
|
482
|
+
{
|
|
483
|
+
rejectTopLevelUnit();
|
|
484
|
+
const elapsedMillis = assertFiniteNumber(source.elapsedMillis, `${propName}.elapsedMillis`);
|
|
485
|
+
if (elapsedMillis < 0) {
|
|
486
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "${propName}.elapsedMillis" must be greater than or equal to 0.`);
|
|
487
|
+
}
|
|
488
|
+
return {
|
|
489
|
+
type: 'pausedStopwatch',
|
|
490
|
+
elapsedMillis
|
|
491
|
+
};
|
|
492
|
+
}
|
|
493
|
+
default:
|
|
494
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "${propName}.type" must be "int", "float", "text", "time", "timer", "stopwatch", "pausedTimer", or "pausedStopwatch".`);
|
|
495
|
+
}
|
|
496
|
+
};
|
|
497
|
+
const normalizeMetricPayload = props => {
|
|
498
|
+
if (!Array.isArray(props.metrics)) {
|
|
499
|
+
throw new Error('[Voltra] [Android] Ongoing notification prop "metrics" must be an array.');
|
|
500
|
+
}
|
|
501
|
+
if (props.metrics.length < 1 || props.metrics.length > 3) {
|
|
502
|
+
throw new Error('[Voltra] [Android] Ongoing notification prop "metrics" must contain between 1 and 3 metrics.');
|
|
503
|
+
}
|
|
504
|
+
const metrics = props.metrics.map((descriptor, index) => {
|
|
505
|
+
if (!descriptor || typeof descriptor !== 'object' || Array.isArray(descriptor)) {
|
|
506
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "metrics[${index}]" must be an object.`);
|
|
507
|
+
}
|
|
508
|
+
const label = assertMetricNonEmptyString(descriptor.label, `metrics[${index}].label`);
|
|
509
|
+
if (label.length > 10) {
|
|
510
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "metrics[${index}].label" must be at most 10 characters long.`);
|
|
511
|
+
}
|
|
512
|
+
return {
|
|
513
|
+
label,
|
|
514
|
+
value: normalizeMetricValue(descriptor.value, descriptor.unit, `metrics[${index}]`)
|
|
515
|
+
};
|
|
516
|
+
});
|
|
517
|
+
let criticalMetric;
|
|
518
|
+
if (props.criticalMetric !== undefined) {
|
|
519
|
+
criticalMetric = assertFiniteNumber(props.criticalMetric, 'criticalMetric');
|
|
520
|
+
if (!Number.isInteger(criticalMetric) || criticalMetric < 0 || criticalMetric >= metrics.length) {
|
|
521
|
+
throw new Error(`[Voltra] [Android] Ongoing notification prop "criticalMetric" must be an index between 0 and ${metrics.length - 1}.`);
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
let semanticStyle;
|
|
525
|
+
if (props.semanticStyle !== undefined) {
|
|
526
|
+
if (!METRIC_SEMANTIC_STYLES.includes(props.semanticStyle)) {
|
|
527
|
+
throw new Error('[Voltra] [Android] Ongoing notification prop "semanticStyle" must be "unspecified", "info", "safe", "caution", or "danger".');
|
|
528
|
+
}
|
|
529
|
+
semanticStyle = props.semanticStyle;
|
|
530
|
+
}
|
|
531
|
+
return {
|
|
532
|
+
v: PAYLOAD_VERSION,
|
|
533
|
+
kind: 'metric',
|
|
534
|
+
...normalizeCommonDisplayFields(props),
|
|
535
|
+
metrics,
|
|
536
|
+
criticalMetric,
|
|
537
|
+
semanticStyle,
|
|
538
|
+
actions: normalizeActions(props.children)
|
|
539
|
+
};
|
|
540
|
+
};
|
|
541
|
+
const normalizeBigPicturePayload = props => {
|
|
542
|
+
const picture = assertRequiredImageSource(props.picture, 'picture');
|
|
543
|
+
warnInlinePicture(picture);
|
|
544
|
+
return {
|
|
545
|
+
v: PAYLOAD_VERSION,
|
|
546
|
+
kind: 'bigPicture',
|
|
547
|
+
...normalizeCommonDisplayFields(props),
|
|
548
|
+
text: assertOptionalString(props.text, 'text'),
|
|
549
|
+
picture,
|
|
550
|
+
summaryText: assertOptionalNonEmptyString(props.summaryText, 'summaryText'),
|
|
551
|
+
pictureContentDescription: assertOptionalNonEmptyString(props.pictureContentDescription, 'pictureContentDescription'),
|
|
552
|
+
showPictureWhenCollapsed: assertBoolean(props.showPictureWhenCollapsed, 'showPictureWhenCollapsed'),
|
|
553
|
+
bigLargeIcon: assertOptionalImageSource(props.bigLargeIcon, 'bigLargeIcon'),
|
|
554
|
+
hideLargeIconWhenExpanded: assertBoolean(props.hideLargeIconWhenExpanded, 'hideLargeIconWhenExpanded'),
|
|
555
|
+
actions: normalizeActions(props.children)
|
|
556
|
+
};
|
|
557
|
+
};
|
|
558
|
+
const normalizeInboxPayload = props => {
|
|
559
|
+
const lines = normalizeInboxLines(props.lines);
|
|
560
|
+
return {
|
|
561
|
+
v: PAYLOAD_VERSION,
|
|
562
|
+
kind: 'inbox',
|
|
563
|
+
...normalizeCommonDisplayFields(props),
|
|
564
|
+
text: props.text === undefined ? lines[0] : assertString(props.text, 'text'),
|
|
565
|
+
lines,
|
|
566
|
+
summaryText: assertOptionalNonEmptyString(props.summaryText, 'summaryText'),
|
|
240
567
|
actions: normalizeActions(props.children)
|
|
241
568
|
};
|
|
242
569
|
};
|
|
@@ -249,7 +576,16 @@ const renderAndroidOngoingNotificationPayloadToJson = content => {
|
|
|
249
576
|
if (kind === 'bigText') {
|
|
250
577
|
return normalizeBigTextPayload(element.props);
|
|
251
578
|
}
|
|
252
|
-
|
|
579
|
+
if (kind === 'bigPicture') {
|
|
580
|
+
return normalizeBigPicturePayload(element.props);
|
|
581
|
+
}
|
|
582
|
+
if (kind === 'inbox') {
|
|
583
|
+
return normalizeInboxPayload(element.props);
|
|
584
|
+
}
|
|
585
|
+
if (kind === 'metric') {
|
|
586
|
+
return normalizeMetricPayload(element.props);
|
|
587
|
+
}
|
|
588
|
+
throw new Error('[Voltra] [Android] Ongoing notification content must use AndroidOngoingNotification.Progress, AndroidOngoingNotification.BigText, AndroidOngoingNotification.BigPicture, AndroidOngoingNotification.Inbox, or AndroidOngoingNotification.Metric.');
|
|
253
589
|
};
|
|
254
590
|
exports.renderAndroidOngoingNotificationPayloadToJson = renderAndroidOngoingNotificationPayloadToJson;
|
|
255
591
|
const renderAndroidOngoingNotificationPayload = content => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_componentIds","_components","getAndroidComponentId","PAYLOAD_VERSION","flattenChildren","node","undefined","Array","isArray","flatMap","child","getSingleRootElement","content","children","length","Error","root","isValidElement","type","Fragment","props","assertString","value","propName","assertOptionalNonEmptyString","assertOptionalString","isImageSource","keys","Object","assetName","base64","assertOptionalImageSource","assertBoolean","assertFiniteNumber","Number","isFinite","assertOptionalColorString","trim","normalizeProgressSegments","map","segment","index","color","normalizeProgressPoints","point","position","normalizeWhen","Date","timestamp","getTime","getElementKind","element","elementType","ANDROID_ONGOING_NOTIFICATION_COMPONENT_TAG","normalizeActionPayload","title","deepLinkUrl","icon","normalizeActions","actions","Children","forEach","fragmentChildren","push","normalizeProgressPayload","max","v","kind","subText","text","indeterminate","shortCriticalText","when","chronometer","largeIcon","progressTrackerIcon","progressStartIcon","progressEndIcon","segments","points","normalizeBigTextPayload","bigText","renderAndroidOngoingNotificationPayloadToJson","exports","renderAndroidOngoingNotificationPayload","JSON","stringify","renderAndroidOngoingNotificationContent"],"sourceRoot":"../../../src","sources":["ongoing-notification/renderer.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_componentIds","_components","getAndroidComponentId","PAYLOAD_VERSION","MAX_INBOX_LINES","MAX_INLINE_PICTURE_BYTES","decodedBase64Bytes","base64","Math","ceil","length","flattenChildren","node","undefined","Array","isArray","flatMap","child","getSingleRootElement","content","children","Error","root","isValidElement","type","Fragment","props","assertString","value","propName","assertOptionalNonEmptyString","assertOptionalString","isImageSource","keys","Object","assetName","assertOptionalImageSource","assertRequiredImageSource","source","assertBoolean","assertFiniteNumber","Number","isFinite","assertOptionalColorString","trim","normalizeProgressSegments","map","segment","index","color","normalizeProgressPoints","point","position","normalizeInboxLines","line","warnInlinePicture","picture","pictureBytes","console","warn","normalizeEpoch","Date","timestamp","getTime","normalizeWhen","normalizeChronometer","when","chronometer","chronometerCountDown","normalizePublicVersion","title","text","getElementKind","element","elementType","ANDROID_ONGOING_NOTIFICATION_COMPONENT_TAG","normalizeActionPayload","deepLinkUrl","icon","normalizeCommonDisplayFields","subText","shortCriticalText","showWhen","largeIcon","publicVersion","normalizeActions","actions","Children","forEach","fragmentChildren","push","normalizeProgressPayload","max","v","kind","indeterminate","progressTrackerIcon","progressStartIcon","progressEndIcon","segments","points","normalizeBigTextPayload","bigText","METRIC_TIME_PATTERN","METRIC_SEMANTIC_STYLES","METRIC_TIME_FORMATS","assertMetricNonEmptyString","normalizeMetricTimeFormat","includes","normalizeMetricValue","unit","topLevelUnit","rejectTopLevelUnit","isInteger","numberValue","min","fractionDigits","timeValue","test","endsAt","format","startedAt","remainingMillis","elapsedMillis","normalizeMetricPayload","metrics","descriptor","label","criticalMetric","semanticStyle","normalizeBigPicturePayload","summaryText","pictureContentDescription","showPictureWhenCollapsed","bigLargeIcon","hideLargeIconWhenExpanded","normalizeInboxPayload","lines","renderAndroidOngoingNotificationPayloadToJson","exports","renderAndroidOngoingNotificationPayload","JSON","stringify","renderAndroidOngoingNotificationContent"],"sourceRoot":"../../../src","sources":["ongoing-notification/renderer.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -3,4 +3,60 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
+
exports.ANDROID_ONGOING_NOTIFICATION_VISIBILITIES = exports.ANDROID_ONGOING_NOTIFICATION_CATEGORIES = void 0;
|
|
7
|
+
/** Lock-screen and heads-up visibility, mapped onto `Notification.VISIBILITY_*` on Android. */
|
|
8
|
+
const ANDROID_ONGOING_NOTIFICATION_VISIBILITIES = exports.ANDROID_ONGOING_NOTIFICATION_VISIBILITIES = ['public', 'private', 'secret'];
|
|
9
|
+
/**
|
|
10
|
+
* Notification categories Voltra exposes.
|
|
11
|
+
*
|
|
12
|
+
* Categories that carry do-not-disturb or ranking meaning for other notification kinds (`call`,
|
|
13
|
+
* `alarm`, `message`, and the rest) are deliberately absent: Voltra does not post those kinds, and
|
|
14
|
+
* picking one would change how an ongoing notification is treated beside unrelated notifications.
|
|
15
|
+
*/
|
|
16
|
+
const ANDROID_ONGOING_NOTIFICATION_CATEGORIES = exports.ANDROID_ONGOING_NOTIFICATION_CATEGORIES = ['progress', 'navigation', 'transport', 'service', 'status', 'workout', 'stopwatch', 'location_sharing'];
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* How the system should treat an ongoing notification for its whole lifetime.
|
|
20
|
+
*
|
|
21
|
+
* These belong in the options rather than the payload because they are a decision the app makes
|
|
22
|
+
* once and keeps: an update that does not mention them must not change them, and a server that only
|
|
23
|
+
* renders what the notification says has no business deciding them. Set them where you set
|
|
24
|
+
* `channelId`.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
/** The lock-screen copy of a notification whose private content should stay hidden there. */
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Display props shared by both payload kinds.
|
|
31
|
+
*
|
|
32
|
+
* These travel in the payload rather than the options because they say what the notification means
|
|
33
|
+
* right now: like `title` and `text`, an update replaces them wholesale, so omitting `publicVersion`
|
|
34
|
+
* posts without one.
|
|
35
|
+
*/
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* A metric reading. Plain numbers and strings are shorthands: an integer becomes
|
|
39
|
+
* `int`, any other number becomes `float`, and a string becomes `text`.
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
/** An update can send `null` for a presentation option to clear the value stored at start. */
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Options for one update.
|
|
46
|
+
*
|
|
47
|
+
* Presentation options are three-state: leave a key out to keep what the running notification
|
|
48
|
+
* already uses, send `null` to clear it, or send a value to replace and store it. Every other key
|
|
49
|
+
* keeps the existing merge behaviour, where an omitted key reuses the stored value.
|
|
50
|
+
*/
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Options for starting or updating with one call.
|
|
54
|
+
*
|
|
55
|
+
* The shape of start plus what only an update can use: a presentation option sent as `null` clears
|
|
56
|
+
* the stored value when the notification already exists, and `alert` lets that update branch alert.
|
|
57
|
+
* On the start branch neither changes anything, because nothing is stored yet and a first post
|
|
58
|
+
* always alerts.
|
|
59
|
+
*/
|
|
60
|
+
|
|
61
|
+
/** Set when a style the device cannot show yet was posted as a standard notification. */
|
|
6
62
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["ongoing-notification/types.ts"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["ANDROID_ONGOING_NOTIFICATION_VISIBILITIES","exports","ANDROID_ONGOING_NOTIFICATION_CATEGORIES"],"sourceRoot":"../../../src","sources":["ongoing-notification/types.ts"],"mappings":";;;;;;AAMA;AACO,MAAMA,yCAAyC,GAAAC,OAAA,CAAAD,yCAAA,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAU;AAGjG;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,uCAAuC,GAAAD,OAAA,CAAAC,uCAAA,GAAG,CACrD,UAAU,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACT,WAAW,EACX,kBAAkB,CACV;;AAGV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAwBA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;;AAiFA;AACA;AACA;AACA;;AAmLA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAyDA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_renderer","_renderer2"],"sourceRoot":"../../src","sources":["server.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;
|
|
1
|
+
{"version":3,"names":["_components","require","_renderer","_renderer2"],"sourceRoot":"../../src","sources":["server.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AA+BA,IAAAE,UAAA,GAAAF,OAAA","ignoreList":[]}
|
package/build/module/index.js
CHANGED
|
@@ -16,7 +16,9 @@ export { renderAndroidVariantToJson } from './renderer/index.js';
|
|
|
16
16
|
|
|
17
17
|
// Android types
|
|
18
18
|
|
|
19
|
+
export { ANDROID_ONGOING_NOTIFICATION_CATEGORIES, ANDROID_ONGOING_NOTIFICATION_VISIBILITIES } from './ongoing-notification/types.js';
|
|
20
|
+
|
|
19
21
|
// Component prop types
|
|
20
22
|
|
|
21
|
-
export { getFastRefreshHub, isAndroidEnv, isIosEnv, useUpdateOnHMR } from '@use-voltra/core';
|
|
23
|
+
export { getFastRefreshHub, isAndroidEnv, isIosEnv, pickLocalizedValue, resolveLocale, useUpdateOnHMR } from '@use-voltra/core';
|
|
22
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["VoltraAndroid","AndroidDynamicColors","getAndroidComponentId","getAndroidComponentName","ANDROID_COMPONENT_ID_TO_NAME","ANDROID_COMPONENT_NAME_TO_ID","renderAndroidLiveUpdateToJson","renderAndroidLiveUpdateToString","AndroidOngoingNotification","renderAndroidOngoingNotificationPayload","renderAndroidViewToJson","renderAndroidWidgetToJson","renderAndroidWidgetToString","renderAndroidVariantToJson","getFastRefreshHub","isAndroidEnv","isIosEnv","useUpdateOnHMR"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA,OAAO,KAAKA,aAAa,MAAM,qBAAqB;AAEpD,SAASA,aAAa;AACtB,SAASC,oBAAoB,QAAQ,qBAAqB;AAC1D,SACEC,qBAAqB,EACrBC,uBAAuB,EACvBC,4BAA4B,EAC5BC,4BAA4B,QACvB,4BAA4B;AACnC,SAASC,6BAA6B,EAAEC,+BAA+B,QAAQ,2BAA2B;AAC1G,SAASC,0BAA0B,QAAQ,sCAAsC;AACjF,SAASC,uCAAuC,QAAQ,oCAAoC;AAC5F,SAASC,uBAAuB,EAAEC,yBAAyB,EAAEC,2BAA2B,QAAQ,uBAAuB;AACvH;AACA;AACA;AACA,SAASC,0BAA0B,QAAQ,qBAAqB;;AAEhE;;
|
|
1
|
+
{"version":3,"names":["VoltraAndroid","AndroidDynamicColors","getAndroidComponentId","getAndroidComponentName","ANDROID_COMPONENT_ID_TO_NAME","ANDROID_COMPONENT_NAME_TO_ID","renderAndroidLiveUpdateToJson","renderAndroidLiveUpdateToString","AndroidOngoingNotification","renderAndroidOngoingNotificationPayload","renderAndroidViewToJson","renderAndroidWidgetToJson","renderAndroidWidgetToString","renderAndroidVariantToJson","ANDROID_ONGOING_NOTIFICATION_CATEGORIES","ANDROID_ONGOING_NOTIFICATION_VISIBILITIES","getFastRefreshHub","isAndroidEnv","isIosEnv","pickLocalizedValue","resolveLocale","useUpdateOnHMR"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA,OAAO,KAAKA,aAAa,MAAM,qBAAqB;AAEpD,SAASA,aAAa;AACtB,SAASC,oBAAoB,QAAQ,qBAAqB;AAC1D,SACEC,qBAAqB,EACrBC,uBAAuB,EACvBC,4BAA4B,EAC5BC,4BAA4B,QACvB,4BAA4B;AACnC,SAASC,6BAA6B,EAAEC,+BAA+B,QAAQ,2BAA2B;AAC1G,SAASC,0BAA0B,QAAQ,sCAAsC;AACjF,SAASC,uCAAuC,QAAQ,oCAAoC;AAC5F,SAASC,uBAAuB,EAAEC,yBAAyB,EAAEC,2BAA2B,QAAQ,uBAAuB;AACvH;AACA;AACA;AACA,SAASC,0BAA0B,QAAQ,qBAAqB;;AAEhE;;AA2FA,SACEC,uCAAuC,EACvCC,yCAAyC,QACpC,iCAAiC;;AAExC;;AAYA,SACEC,iBAAiB,EACjBC,YAAY,EACZC,QAAQ,EACRC,kBAAkB,EAClBC,aAAa,EACbC,cAAc,QACT,kBAAkB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["jsx/primitives.ts"],"mappings":";;AAAA,cAAc,2BAA2B;AACzC,cAAc,eAAe;AAC7B,cAAc,cAAc;AAC5B,cAAc,UAAU;AACxB,cAAc,aAAa;AAC3B,cAAc,YAAY;AAC1B,cAAc,kBAAkB;AAChC,cAAc,eAAe;AAC7B,cAAc,uBAAuB;AACrC,cAAc,gCAAgC;AAC9C,cAAc,aAAa;AAC3B,cAAc,mBAAmB;AACjC,cAAc,YAAY;AAC1B,cAAc,iBAAiB;AAC/B,cAAc,uBAAuB;AACrC,cAAc,8BAA8B;AAC5C,cAAc,eAAe;AAC7B,cAAc,oBAAoB;AAClC,cAAc,gBAAgB;AAC9B,cAAc,kBAAkB;AAChC,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,aAAa;AAC3B,cAAc,uBAAuB;AACrC,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,eAAe","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["modifiers"],"sourceRoot":"../../../src","sources":["jsx/primitives.ts"],"mappings":";;AAAA,cAAc,2BAA2B;AACzC,cAAc,eAAe;AAC7B,cAAc,cAAc;AAC5B,cAAc,UAAU;AACxB,cAAc,aAAa;AAC3B,cAAc,YAAY;AAC1B,cAAc,kBAAkB;AAChC,cAAc,eAAe;AAC7B,cAAc,uBAAuB;AACrC,cAAc,gCAAgC;AAC9C,cAAc,aAAa;AAC3B,cAAc,mBAAmB;AACjC,cAAc,YAAY;AAC1B,cAAc,iBAAiB;AAC/B,cAAc,uBAAuB;AACrC,cAAc,8BAA8B;AAC5C,cAAc,eAAe;AAC7B,cAAc,oBAAoB;AAClC,cAAc,gBAAgB;AAC9B,cAAc,kBAAkB;AAChC,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,aAAa;AAC3B,cAAc,uBAAuB;AACrC,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,eAAe;AAC7B,OAAO,KAAKA,SAAS,MAAM,uBAAuB","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A Jetpack Glance modifier descriptor produced by a `VoltraAndroid.modifiers` factory. The brand
|
|
5
|
+
* exists only in the type system, so an iOS modifier cannot be passed to a `VoltraAndroid`
|
|
6
|
+
* component.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
export const createAndroidModifier = (type, params) =>
|
|
10
|
+
// Omitted options stay out of the descriptor instead of appearing as `undefined` keys.
|
|
11
|
+
Object.freeze({
|
|
12
|
+
...Object.fromEntries(Object.entries(params ?? {}).filter(([, value]) => value !== undefined)),
|
|
13
|
+
$type: type
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=createAndroidModifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createAndroidModifier","type","params","Object","freeze","fromEntries","entries","filter","value","undefined","$type"],"sourceRoot":"../../../src","sources":["modifiers/createAndroidModifier.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA;;AAMA,OAAO,MAAMA,qBAAqB,GAAGA,CACnCC,IAAY,EACZC,MAAe;AAEf;AACAC,MAAM,CAACC,MAAM,CAAC;EACZ,GAAGD,MAAM,CAACE,WAAW,CAACF,MAAM,CAACG,OAAO,CAACJ,MAAM,IAAI,CAAC,CAAC,CAAC,CAACK,MAAM,CAAC,CAAC,GAAGC,KAAK,CAAC,KAAKA,KAAK,KAAKC,SAAS,CAAC,CAAC;EAC9FC,KAAK,EAAET;AACT,CAAC,CAAkD","ignoreList":[]}
|