@use-voltra/ios 2.3.1 → 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 +18 -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/createIosModifier.js +19 -0
- package/build/commonjs/modifiers/createIosModifier.js.map +1 -0
- package/build/commonjs/modifiers/index.js +334 -0
- package/build/commonjs/modifiers/index.js.map +1 -0
- package/build/module/index.js +1 -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/createIosModifier.js +14 -0
- package/build/module/modifiers/createIosModifier.js.map +1 -0
- package/build/module/modifiers/index.js +299 -0
- package/build/module/modifiers/index.js.map +1 -0
- package/build/typescript/commonjs/index.d.ts +2 -2
- 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/live-activity/types.d.ts +1 -1
- package/build/typescript/commonjs/live-activity/types.d.ts.map +1 -1
- package/build/typescript/commonjs/modifiers/createIosModifier.d.ts +12 -0
- package/build/typescript/commonjs/modifiers/createIosModifier.d.ts.map +1 -0
- package/build/typescript/commonjs/modifiers/index.d.ts +290 -0
- package/build/typescript/commonjs/modifiers/index.d.ts.map +1 -0
- package/build/typescript/commonjs/types.d.ts +1 -81
- package/build/typescript/commonjs/types.d.ts.map +1 -1
- package/build/typescript/module/index.d.ts +2 -2
- 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/live-activity/types.d.ts +1 -1
- package/build/typescript/module/live-activity/types.d.ts.map +1 -1
- package/build/typescript/module/modifiers/createIosModifier.d.ts +12 -0
- package/build/typescript/module/modifiers/createIosModifier.d.ts.map +1 -0
- package/build/typescript/module/modifiers/index.d.ts +290 -0
- package/build/typescript/module/modifiers/index.d.ts.map +1 -0
- package/build/typescript/module/types.d.ts +1 -81
- package/build/typescript/module/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/index.ts +9 -2
- package/src/jsx/baseProps.tsx +8 -0
- package/src/jsx/primitives.ts +1 -0
- package/src/live-activity/types.ts +13 -1
- package/src/modifiers/createIosModifier.ts +20 -0
- package/src/modifiers/index.ts +306 -0
- package/src/types.ts +17 -97
- package/build/commonjs/payload/short-names.js +0 -31
- package/build/commonjs/payload/short-names.js.map +0 -1
- package/build/module/payload/short-names.js +0 -4
- package/build/module/payload/short-names.js.map +0 -1
- package/build/typescript/commonjs/payload/short-names.d.ts +0 -2
- package/build/typescript/commonjs/payload/short-names.d.ts.map +0 -1
- package/build/typescript/module/payload/short-names.d.ts +0 -2
- package/build/typescript/module/payload/short-names.d.ts.map +0 -1
- package/src/payload/short-names.ts +0 -1
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.widgetURL = exports.widgetAccentable = exports.unredacted = exports.truncationMode = exports.transition = exports.symbolEffect = exports.scaleEffect = exports.saturation = exports.rotationEffect = exports.redacted = exports.privacySensitive = exports.offset = exports.multilineTextAlignment = exports.monospacedDigit = exports.minimumScaleFactor = exports.layoutPriority = exports.invalidatableContent = exports.grayscale = exports.fixedSize = exports.dynamicTypeSize = exports.contrast = exports.contentTransition = exports.containerRelativeFrame = exports.containerBackground = exports.clipShape = exports.brightness = exports.blur = exports.blendMode = exports.animation = exports.activitySystemActionForegroundColor = exports.activityBackgroundTint = void 0;
|
|
7
|
+
var _createIosModifier = require("./createIosModifier.js");
|
|
8
|
+
// MARK: - Widgets and Live Activities
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Opens the URL in the app when the widget or Live Activity is tapped. Takes an absolute URL or a
|
|
12
|
+
* path, which gets the app's URL scheme like `deepLinkUrl`. Use it once per widget, or once per
|
|
13
|
+
* Live Activity presentation. It replaces Voltra's default widget link, but a `deepLinkUrl`
|
|
14
|
+
* configured for the widget or Live Activity takes precedence. A tap on the compact or minimal
|
|
15
|
+
* Dynamic Island ignores it: pass `deepLinkUrl` when starting the Live Activity instead.
|
|
16
|
+
*
|
|
17
|
+
* @since iOS 14.0
|
|
18
|
+
*/
|
|
19
|
+
const widgetURL = url => (0, _createIosModifier.createIosModifier)('widgetURL', {
|
|
20
|
+
url
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Sets the widget's container background, which the system removes in contexts such as StandBy
|
|
25
|
+
* and tinted Home Screens. Use it on the widget's outermost component.
|
|
26
|
+
*
|
|
27
|
+
* @since iOS 17.0
|
|
28
|
+
*/
|
|
29
|
+
exports.widgetURL = widgetURL;
|
|
30
|
+
const containerBackground = color => (0, _createIosModifier.createIosModifier)('containerBackground', {
|
|
31
|
+
color
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Adds the component to the accent group when the widget renders in accented mode.
|
|
36
|
+
*
|
|
37
|
+
* @since iOS 16.0
|
|
38
|
+
*/
|
|
39
|
+
exports.containerBackground = containerBackground;
|
|
40
|
+
const widgetAccentable = (accentable = true) => (0, _createIosModifier.createIosModifier)('widgetAccentable', {
|
|
41
|
+
accentable
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Redacts the view when the widget is shown on a locked device.
|
|
46
|
+
*
|
|
47
|
+
* @since iOS 15.0
|
|
48
|
+
*/
|
|
49
|
+
exports.widgetAccentable = widgetAccentable;
|
|
50
|
+
const privacySensitive = (sensitive = true) => (0, _createIosModifier.createIosModifier)('privacySensitive', {
|
|
51
|
+
sensitive
|
|
52
|
+
});
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Renders the component redacted, for example as a placeholder.
|
|
56
|
+
*
|
|
57
|
+
* @since iOS 14.0
|
|
58
|
+
*/
|
|
59
|
+
exports.privacySensitive = privacySensitive;
|
|
60
|
+
const redacted = reason => (0, _createIosModifier.createIosModifier)('redacted', {
|
|
61
|
+
reason
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Keeps the component visible inside a redacted container.
|
|
66
|
+
*
|
|
67
|
+
* @since iOS 14.0
|
|
68
|
+
*/
|
|
69
|
+
exports.redacted = redacted;
|
|
70
|
+
const unredacted = () => (0, _createIosModifier.createIosModifier)('unredacted');
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Marks content that goes stale while an interactive widget performs an update.
|
|
74
|
+
*
|
|
75
|
+
* @since iOS 17.0
|
|
76
|
+
*/
|
|
77
|
+
exports.unredacted = unredacted;
|
|
78
|
+
const invalidatableContent = (invalidatable = true) => (0, _createIosModifier.createIosModifier)('invalidatableContent', {
|
|
79
|
+
invalidatable
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Tints the Live Activity's Lock Screen background. `null` uses the system default. It has no
|
|
84
|
+
* effect in the Dynamic Island or in widgets, and an `activityBackgroundTint` passed when starting
|
|
85
|
+
* or updating the Live Activity takes precedence.
|
|
86
|
+
*
|
|
87
|
+
* @since iOS 16.1
|
|
88
|
+
*/
|
|
89
|
+
exports.invalidatableContent = invalidatableContent;
|
|
90
|
+
const activityBackgroundTint = color => (0, _createIosModifier.createIosModifier)('activityBackgroundTint', {
|
|
91
|
+
color
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Sets the color of the system action button shown next to the Live Activity. `null` uses the
|
|
96
|
+
* system default.
|
|
97
|
+
*
|
|
98
|
+
* @since iOS 16.1
|
|
99
|
+
*/
|
|
100
|
+
exports.activityBackgroundTint = activityBackgroundTint;
|
|
101
|
+
const activitySystemActionForegroundColor = color => (0, _createIosModifier.createIosModifier)('activitySystemActionForegroundColor', {
|
|
102
|
+
color
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
// MARK: - Transitions and animation
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* Animates changes to the content between updates: timeline entries, activity states, or renders
|
|
109
|
+
* of an in-app preview. Pair it with `animation` on the same component.
|
|
110
|
+
*
|
|
111
|
+
* @since iOS 16.0. `symbolEffect` requires iOS 17.0.
|
|
112
|
+
*/
|
|
113
|
+
exports.activitySystemActionForegroundColor = activitySystemActionForegroundColor;
|
|
114
|
+
const contentTransition = (transition, options = {}) => (0, _createIosModifier.createIosModifier)('contentTransition', {
|
|
115
|
+
transition,
|
|
116
|
+
countsDown: options.countsDown
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Animates the component in or out when it appears or disappears between two updates. It has no
|
|
121
|
+
* effect on a component that is present in both. The insertion is animated by the parent, so put
|
|
122
|
+
* `animation` with the value that toggles the component on a parent that stays, and give the
|
|
123
|
+
* siblings an `id` so SwiftUI can tell which one appeared.
|
|
124
|
+
*
|
|
125
|
+
* @since iOS 16.0
|
|
126
|
+
*/
|
|
127
|
+
exports.contentTransition = contentTransition;
|
|
128
|
+
const transition = (transition, options = {}) => (0, _createIosModifier.createIosModifier)('transition', {
|
|
129
|
+
transition,
|
|
130
|
+
edge: options.edge
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* Animates the component when `value` changes between updates. `duration` applies to `linear`,
|
|
135
|
+
* `easeIn`, `easeOut`, `easeInOut`, `bouncy`, `smooth` and `snappy`; `default` and `spring` use
|
|
136
|
+
* the system timing.
|
|
137
|
+
*
|
|
138
|
+
* @since iOS 13.0. `bouncy`, `smooth` and `snappy` require iOS 17.0.
|
|
139
|
+
*/
|
|
140
|
+
exports.transition = transition;
|
|
141
|
+
const animation = (curve, options) => (0, _createIosModifier.createIosModifier)('animation', {
|
|
142
|
+
curve,
|
|
143
|
+
value: options.value,
|
|
144
|
+
duration: options.duration
|
|
145
|
+
});
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Applies an indefinite SF Symbol effect to `Symbol` components inside. The system decides whether
|
|
149
|
+
* it animates: in-app previews play it, while widgets and Live Activities may show a still frame.
|
|
150
|
+
*
|
|
151
|
+
* @since iOS 17.0. `breathe`, `rotate` and `wiggle` require iOS 18.0.
|
|
152
|
+
*/
|
|
153
|
+
exports.animation = animation;
|
|
154
|
+
const symbolEffect = effect => (0, _createIosModifier.createIosModifier)('symbolEffect', {
|
|
155
|
+
effect
|
|
156
|
+
});
|
|
157
|
+
|
|
158
|
+
// MARK: - Visual effects
|
|
159
|
+
|
|
160
|
+
/**
|
|
161
|
+
* Clips the finished component, background included, to a shape.
|
|
162
|
+
*
|
|
163
|
+
* @since iOS 13.0
|
|
164
|
+
*/
|
|
165
|
+
exports.symbolEffect = symbolEffect;
|
|
166
|
+
const clipShape = (shape, options = {}) => (0, _createIosModifier.createIosModifier)('clipShape', {
|
|
167
|
+
shape,
|
|
168
|
+
cornerRadius: options.cornerRadius,
|
|
169
|
+
cornerStyle: options.cornerStyle
|
|
170
|
+
});
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Applies a Gaussian blur.
|
|
174
|
+
*
|
|
175
|
+
* @since iOS 13.0
|
|
176
|
+
*/
|
|
177
|
+
exports.clipShape = clipShape;
|
|
178
|
+
const blur = (radius, options = {}) => (0, _createIosModifier.createIosModifier)('blur', {
|
|
179
|
+
radius,
|
|
180
|
+
opaque: options.opaque
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
/** @since iOS 13.0 */
|
|
184
|
+
exports.blur = blur;
|
|
185
|
+
const grayscale = amount => (0, _createIosModifier.createIosModifier)('grayscale', {
|
|
186
|
+
amount
|
|
187
|
+
});
|
|
188
|
+
/** @since iOS 13.0 */
|
|
189
|
+
exports.grayscale = grayscale;
|
|
190
|
+
const saturation = amount => (0, _createIosModifier.createIosModifier)('saturation', {
|
|
191
|
+
amount
|
|
192
|
+
});
|
|
193
|
+
/** @since iOS 13.0 */
|
|
194
|
+
exports.saturation = saturation;
|
|
195
|
+
const brightness = amount => (0, _createIosModifier.createIosModifier)('brightness', {
|
|
196
|
+
amount
|
|
197
|
+
});
|
|
198
|
+
/** @since iOS 13.0 */
|
|
199
|
+
exports.brightness = brightness;
|
|
200
|
+
const contrast = amount => (0, _createIosModifier.createIosModifier)('contrast', {
|
|
201
|
+
amount
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
/**
|
|
205
|
+
* Sets how the component composites with the content behind it.
|
|
206
|
+
*
|
|
207
|
+
* @since iOS 13.0
|
|
208
|
+
*/
|
|
209
|
+
exports.contrast = contrast;
|
|
210
|
+
const blendMode = mode => (0, _createIosModifier.createIosModifier)('blendMode', {
|
|
211
|
+
mode
|
|
212
|
+
});
|
|
213
|
+
|
|
214
|
+
// MARK: - Geometry and layout
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* Rotates the rendered component around its center without changing its layout.
|
|
218
|
+
*
|
|
219
|
+
* @since iOS 13.0
|
|
220
|
+
*/
|
|
221
|
+
exports.blendMode = blendMode;
|
|
222
|
+
const rotationEffect = degrees => (0, _createIosModifier.createIosModifier)('rotationEffect', {
|
|
223
|
+
degrees
|
|
224
|
+
});
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Scales the rendered component around its center without changing its layout.
|
|
228
|
+
*
|
|
229
|
+
* @since iOS 13.0
|
|
230
|
+
*/
|
|
231
|
+
exports.rotationEffect = rotationEffect;
|
|
232
|
+
const scaleEffect = scale => (0, _createIosModifier.createIosModifier)('scaleEffect', typeof scale === 'number' ? {
|
|
233
|
+
x: scale,
|
|
234
|
+
y: scale
|
|
235
|
+
} : {
|
|
236
|
+
x: scale.x,
|
|
237
|
+
y: scale.y
|
|
238
|
+
});
|
|
239
|
+
|
|
240
|
+
/**
|
|
241
|
+
* Moves the rendered component without changing its layout.
|
|
242
|
+
*
|
|
243
|
+
* @since iOS 13.0
|
|
244
|
+
*/
|
|
245
|
+
exports.scaleEffect = scaleEffect;
|
|
246
|
+
const offset = value => (0, _createIosModifier.createIosModifier)('offset', {
|
|
247
|
+
x: value.x,
|
|
248
|
+
y: value.y
|
|
249
|
+
});
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Keeps the component at its ideal size on the given axes instead of letting the parent shrink it.
|
|
253
|
+
*
|
|
254
|
+
* @since iOS 13.0
|
|
255
|
+
*/
|
|
256
|
+
exports.offset = offset;
|
|
257
|
+
const fixedSize = (axes = {}) => (0, _createIosModifier.createIosModifier)('fixedSize', {
|
|
258
|
+
horizontal: axes.horizontal,
|
|
259
|
+
vertical: axes.vertical
|
|
260
|
+
});
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* Gives the component a larger or smaller share of space in its stack.
|
|
264
|
+
*
|
|
265
|
+
* @since iOS 13.0
|
|
266
|
+
*/
|
|
267
|
+
exports.fixedSize = fixedSize;
|
|
268
|
+
const layoutPriority = priority => (0, _createIosModifier.createIosModifier)('layoutPriority', {
|
|
269
|
+
priority
|
|
270
|
+
});
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* Sizes the component relative to its nearest container, such as the widget.
|
|
274
|
+
*
|
|
275
|
+
* @since iOS 17.0
|
|
276
|
+
*/
|
|
277
|
+
exports.layoutPriority = layoutPriority;
|
|
278
|
+
const containerRelativeFrame = axes => (0, _createIosModifier.createIosModifier)('containerRelativeFrame', {
|
|
279
|
+
axes
|
|
280
|
+
});
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* Uses a fixed Dynamic Type size for content inside the component, regardless of the system
|
|
284
|
+
* setting. Voltra `Text` uses fixed font sizes, so it does not change.
|
|
285
|
+
*
|
|
286
|
+
* @since iOS 15.0
|
|
287
|
+
*/
|
|
288
|
+
exports.containerRelativeFrame = containerRelativeFrame;
|
|
289
|
+
const dynamicTypeSize = size => (0, _createIosModifier.createIosModifier)('dynamicTypeSize', {
|
|
290
|
+
size
|
|
291
|
+
});
|
|
292
|
+
|
|
293
|
+
// MARK: - Text
|
|
294
|
+
|
|
295
|
+
/**
|
|
296
|
+
* Lets text inside shrink down to this fraction of its font size to fit.
|
|
297
|
+
*
|
|
298
|
+
* @since iOS 13.0
|
|
299
|
+
*/
|
|
300
|
+
exports.dynamicTypeSize = dynamicTypeSize;
|
|
301
|
+
const minimumScaleFactor = factor => (0, _createIosModifier.createIosModifier)('minimumScaleFactor', {
|
|
302
|
+
factor
|
|
303
|
+
});
|
|
304
|
+
|
|
305
|
+
/**
|
|
306
|
+
* Sets where text inside is truncated when it does not fit.
|
|
307
|
+
*
|
|
308
|
+
* @since iOS 13.0
|
|
309
|
+
*/
|
|
310
|
+
exports.minimumScaleFactor = minimumScaleFactor;
|
|
311
|
+
const truncationMode = mode => (0, _createIosModifier.createIosModifier)('truncationMode', {
|
|
312
|
+
mode
|
|
313
|
+
});
|
|
314
|
+
|
|
315
|
+
/**
|
|
316
|
+
* Aligns the lines of multi-line text inside. A `Text` with `style.textAlign` or its own
|
|
317
|
+
* `multilineTextAlignment` prop keeps that value.
|
|
318
|
+
*
|
|
319
|
+
* @since iOS 13.0
|
|
320
|
+
*/
|
|
321
|
+
exports.truncationMode = truncationMode;
|
|
322
|
+
const multilineTextAlignment = alignment => (0, _createIosModifier.createIosModifier)('multilineTextAlignment', {
|
|
323
|
+
alignment
|
|
324
|
+
});
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* Uses fixed-width digits for text inside, so changing numbers do not shift.
|
|
328
|
+
*
|
|
329
|
+
* @since iOS 16.0
|
|
330
|
+
*/
|
|
331
|
+
exports.multilineTextAlignment = multilineTextAlignment;
|
|
332
|
+
const monospacedDigit = () => (0, _createIosModifier.createIosModifier)('monospacedDigit');
|
|
333
|
+
exports.monospacedDigit = monospacedDigit;
|
|
334
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_createIosModifier","require","widgetURL","url","createIosModifier","exports","containerBackground","color","widgetAccentable","accentable","privacySensitive","sensitive","redacted","reason","unredacted","invalidatableContent","invalidatable","activityBackgroundTint","activitySystemActionForegroundColor","contentTransition","transition","options","countsDown","edge","animation","curve","value","duration","symbolEffect","effect","clipShape","shape","cornerRadius","cornerStyle","blur","radius","opaque","grayscale","amount","saturation","brightness","contrast","blendMode","mode","rotationEffect","degrees","scaleEffect","scale","x","y","offset","fixedSize","axes","horizontal","vertical","layoutPriority","priority","containerRelativeFrame","dynamicTypeSize","size","minimumScaleFactor","factor","truncationMode","multilineTextAlignment","alignment","monospacedDigit"],"sourceRoot":"../../../src","sources":["modifiers/index.ts"],"mappings":"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","ignoreList":[]}
|
package/build/module/index.js
CHANGED
|
@@ -7,5 +7,5 @@ export { renderLiveActivityToJson, renderLiveActivityToString } from './live-act
|
|
|
7
7
|
export { getDynamicLiveActivityAttributesType } from './live-activity/dynamic.js';
|
|
8
8
|
export { renderVoltraVariantToJson } from './renderer/index.js';
|
|
9
9
|
export { renderWidgetToJson, renderWidgetToString } from './widgets/renderer.js';
|
|
10
|
-
export { getFastRefreshHub, isAndroidEnv, isIosEnv } from '@use-voltra/core';
|
|
10
|
+
export { getFastRefreshHub, isAndroidEnv, isIosEnv, pickLocalizedValue, resolveLocale, useUpdateOnHMR } from '@use-voltra/core';
|
|
11
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Voltra","getComponentId","getComponentName","COMPONENT_ID_TO_NAME","COMPONENT_NAME_TO_ID","renderLiveActivityToJson","renderLiveActivityToString","getDynamicLiveActivityAttributesType","renderVoltraVariantToJson","renderWidgetToJson","renderWidgetToString","getFastRefreshHub","isAndroidEnv","isIosEnv"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,OAAO,KAAKA,MAAM,MAAM,qBAAqB;AAE7C,SAASA,MAAM;AACf,SACEC,cAAc,EACdC,gBAAgB,EAChBC,oBAAoB,EACpBC,oBAAoB,QACf,4BAA4B;AACnC,SAASC,wBAAwB,EAAEC,0BAA0B,QAAQ,6BAA6B;AAClG,SAASC,oCAAoC,QAAQ,4BAA4B;AAajF,SAASC,yBAAyB,QAAQ,qBAAqB;AAoB/D,SAASC,kBAAkB,EAAEC,oBAAoB,QAAQ,uBAAuB;AAEhF,
|
|
1
|
+
{"version":3,"names":["Voltra","getComponentId","getComponentName","COMPONENT_ID_TO_NAME","COMPONENT_NAME_TO_ID","renderLiveActivityToJson","renderLiveActivityToString","getDynamicLiveActivityAttributesType","renderVoltraVariantToJson","renderWidgetToJson","renderWidgetToString","getFastRefreshHub","isAndroidEnv","isIosEnv","pickLocalizedValue","resolveLocale","useUpdateOnHMR"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,OAAO,KAAKA,MAAM,MAAM,qBAAqB;AAE7C,SAASA,MAAM;AACf,SACEC,cAAc,EACdC,gBAAgB,EAChBC,oBAAoB,EACpBC,oBAAoB,QACf,4BAA4B;AACnC,SAASC,wBAAwB,EAAEC,0BAA0B,QAAQ,6BAA6B;AAClG,SAASC,oCAAoC,QAAQ,4BAA4B;AAajF,SAASC,yBAAyB,QAAQ,qBAAqB;AAoB/D,SAASC,kBAAkB,EAAEC,oBAAoB,QAAQ,uBAAuB;AAEhF,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,eAAe;AAC7B,cAAc,cAAc;AAC5B,cAAc,aAAa;AAC3B,cAAc,YAAY;AAC1B,cAAc,kBAAkB;AAChC,cAAc,2BAA2B;AACzC,cAAc,cAAc;AAC5B,cAAc,YAAY;AAC1B,cAAc,qBAAqB;AACnC,cAAc,eAAe;AAC7B,cAAc,aAAa;AAC3B,cAAc,YAAY;AAC1B,cAAc,YAAY;AAC1B,cAAc,qBAAqB;AACnC,cAAc,yBAAyB;AACvC,cAAc,eAAe;AAC7B,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,gBAAgB;AAC9B,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,YAAY;AAC1B,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,aAAa;AAC3B,cAAc,aAAa","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["modifiers"],"sourceRoot":"../../../src","sources":["jsx/primitives.ts"],"mappings":";;AAAA,cAAc,eAAe;AAC7B,cAAc,cAAc;AAC5B,cAAc,aAAa;AAC3B,cAAc,YAAY;AAC1B,cAAc,kBAAkB;AAChC,cAAc,2BAA2B;AACzC,cAAc,cAAc;AAC5B,cAAc,YAAY;AAC1B,cAAc,qBAAqB;AACnC,cAAc,eAAe;AAC7B,cAAc,aAAa;AAC3B,cAAc,YAAY;AAC1B,cAAc,YAAY;AAC1B,cAAc,qBAAqB;AACnC,cAAc,yBAAyB;AACvC,cAAc,eAAe;AAC7B,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,gBAAgB;AAC9B,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,YAAY;AAC1B,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,OAAO,KAAKA,SAAS,MAAM,uBAAuB","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A SwiftUI modifier descriptor produced by a `Voltra.modifiers` factory. The brand exists only
|
|
5
|
+
* in the type system, so an Android modifier cannot be passed to a `Voltra` component.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export const createIosModifier = (type, params) =>
|
|
9
|
+
// Omitted options stay out of the descriptor instead of appearing as `undefined` keys.
|
|
10
|
+
Object.freeze({
|
|
11
|
+
...Object.fromEntries(Object.entries(params ?? {}).filter(([, value]) => value !== undefined)),
|
|
12
|
+
$type: type
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=createIosModifier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createIosModifier","type","params","Object","freeze","fromEntries","entries","filter","value","undefined","$type"],"sourceRoot":"../../../src","sources":["modifiers/createIosModifier.ts"],"mappings":";;AAEA;AACA;AACA;AACA;;AAMA,OAAO,MAAMA,iBAAiB,GAAGA,CAC/BC,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,CAA8C","ignoreList":[]}
|
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { createIosModifier } from './createIosModifier.js';
|
|
4
|
+
// MARK: - Widgets and Live Activities
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Opens the URL in the app when the widget or Live Activity is tapped. Takes an absolute URL or a
|
|
8
|
+
* path, which gets the app's URL scheme like `deepLinkUrl`. Use it once per widget, or once per
|
|
9
|
+
* Live Activity presentation. It replaces Voltra's default widget link, but a `deepLinkUrl`
|
|
10
|
+
* configured for the widget or Live Activity takes precedence. A tap on the compact or minimal
|
|
11
|
+
* Dynamic Island ignores it: pass `deepLinkUrl` when starting the Live Activity instead.
|
|
12
|
+
*
|
|
13
|
+
* @since iOS 14.0
|
|
14
|
+
*/
|
|
15
|
+
export const widgetURL = url => createIosModifier('widgetURL', {
|
|
16
|
+
url
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Sets the widget's container background, which the system removes in contexts such as StandBy
|
|
21
|
+
* and tinted Home Screens. Use it on the widget's outermost component.
|
|
22
|
+
*
|
|
23
|
+
* @since iOS 17.0
|
|
24
|
+
*/
|
|
25
|
+
export const containerBackground = color => createIosModifier('containerBackground', {
|
|
26
|
+
color
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Adds the component to the accent group when the widget renders in accented mode.
|
|
31
|
+
*
|
|
32
|
+
* @since iOS 16.0
|
|
33
|
+
*/
|
|
34
|
+
export const widgetAccentable = (accentable = true) => createIosModifier('widgetAccentable', {
|
|
35
|
+
accentable
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Redacts the view when the widget is shown on a locked device.
|
|
40
|
+
*
|
|
41
|
+
* @since iOS 15.0
|
|
42
|
+
*/
|
|
43
|
+
export const privacySensitive = (sensitive = true) => createIosModifier('privacySensitive', {
|
|
44
|
+
sensitive
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Renders the component redacted, for example as a placeholder.
|
|
49
|
+
*
|
|
50
|
+
* @since iOS 14.0
|
|
51
|
+
*/
|
|
52
|
+
export const redacted = reason => createIosModifier('redacted', {
|
|
53
|
+
reason
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Keeps the component visible inside a redacted container.
|
|
58
|
+
*
|
|
59
|
+
* @since iOS 14.0
|
|
60
|
+
*/
|
|
61
|
+
export const unredacted = () => createIosModifier('unredacted');
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* Marks content that goes stale while an interactive widget performs an update.
|
|
65
|
+
*
|
|
66
|
+
* @since iOS 17.0
|
|
67
|
+
*/
|
|
68
|
+
export const invalidatableContent = (invalidatable = true) => createIosModifier('invalidatableContent', {
|
|
69
|
+
invalidatable
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Tints the Live Activity's Lock Screen background. `null` uses the system default. It has no
|
|
74
|
+
* effect in the Dynamic Island or in widgets, and an `activityBackgroundTint` passed when starting
|
|
75
|
+
* or updating the Live Activity takes precedence.
|
|
76
|
+
*
|
|
77
|
+
* @since iOS 16.1
|
|
78
|
+
*/
|
|
79
|
+
export const activityBackgroundTint = color => createIosModifier('activityBackgroundTint', {
|
|
80
|
+
color
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Sets the color of the system action button shown next to the Live Activity. `null` uses the
|
|
85
|
+
* system default.
|
|
86
|
+
*
|
|
87
|
+
* @since iOS 16.1
|
|
88
|
+
*/
|
|
89
|
+
export const activitySystemActionForegroundColor = color => createIosModifier('activitySystemActionForegroundColor', {
|
|
90
|
+
color
|
|
91
|
+
});
|
|
92
|
+
|
|
93
|
+
// MARK: - Transitions and animation
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Animates changes to the content between updates: timeline entries, activity states, or renders
|
|
97
|
+
* of an in-app preview. Pair it with `animation` on the same component.
|
|
98
|
+
*
|
|
99
|
+
* @since iOS 16.0. `symbolEffect` requires iOS 17.0.
|
|
100
|
+
*/
|
|
101
|
+
export const contentTransition = (transition, options = {}) => createIosModifier('contentTransition', {
|
|
102
|
+
transition,
|
|
103
|
+
countsDown: options.countsDown
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* Animates the component in or out when it appears or disappears between two updates. It has no
|
|
108
|
+
* effect on a component that is present in both. The insertion is animated by the parent, so put
|
|
109
|
+
* `animation` with the value that toggles the component on a parent that stays, and give the
|
|
110
|
+
* siblings an `id` so SwiftUI can tell which one appeared.
|
|
111
|
+
*
|
|
112
|
+
* @since iOS 16.0
|
|
113
|
+
*/
|
|
114
|
+
export const transition = (transition, options = {}) => createIosModifier('transition', {
|
|
115
|
+
transition,
|
|
116
|
+
edge: options.edge
|
|
117
|
+
});
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Animates the component when `value` changes between updates. `duration` applies to `linear`,
|
|
121
|
+
* `easeIn`, `easeOut`, `easeInOut`, `bouncy`, `smooth` and `snappy`; `default` and `spring` use
|
|
122
|
+
* the system timing.
|
|
123
|
+
*
|
|
124
|
+
* @since iOS 13.0. `bouncy`, `smooth` and `snappy` require iOS 17.0.
|
|
125
|
+
*/
|
|
126
|
+
export const animation = (curve, options) => createIosModifier('animation', {
|
|
127
|
+
curve,
|
|
128
|
+
value: options.value,
|
|
129
|
+
duration: options.duration
|
|
130
|
+
});
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Applies an indefinite SF Symbol effect to `Symbol` components inside. The system decides whether
|
|
134
|
+
* it animates: in-app previews play it, while widgets and Live Activities may show a still frame.
|
|
135
|
+
*
|
|
136
|
+
* @since iOS 17.0. `breathe`, `rotate` and `wiggle` require iOS 18.0.
|
|
137
|
+
*/
|
|
138
|
+
export const symbolEffect = effect => createIosModifier('symbolEffect', {
|
|
139
|
+
effect
|
|
140
|
+
});
|
|
141
|
+
|
|
142
|
+
// MARK: - Visual effects
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Clips the finished component, background included, to a shape.
|
|
146
|
+
*
|
|
147
|
+
* @since iOS 13.0
|
|
148
|
+
*/
|
|
149
|
+
export const clipShape = (shape, options = {}) => createIosModifier('clipShape', {
|
|
150
|
+
shape,
|
|
151
|
+
cornerRadius: options.cornerRadius,
|
|
152
|
+
cornerStyle: options.cornerStyle
|
|
153
|
+
});
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Applies a Gaussian blur.
|
|
157
|
+
*
|
|
158
|
+
* @since iOS 13.0
|
|
159
|
+
*/
|
|
160
|
+
export const blur = (radius, options = {}) => createIosModifier('blur', {
|
|
161
|
+
radius,
|
|
162
|
+
opaque: options.opaque
|
|
163
|
+
});
|
|
164
|
+
|
|
165
|
+
/** @since iOS 13.0 */
|
|
166
|
+
export const grayscale = amount => createIosModifier('grayscale', {
|
|
167
|
+
amount
|
|
168
|
+
});
|
|
169
|
+
/** @since iOS 13.0 */
|
|
170
|
+
export const saturation = amount => createIosModifier('saturation', {
|
|
171
|
+
amount
|
|
172
|
+
});
|
|
173
|
+
/** @since iOS 13.0 */
|
|
174
|
+
export const brightness = amount => createIosModifier('brightness', {
|
|
175
|
+
amount
|
|
176
|
+
});
|
|
177
|
+
/** @since iOS 13.0 */
|
|
178
|
+
export const contrast = amount => createIosModifier('contrast', {
|
|
179
|
+
amount
|
|
180
|
+
});
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Sets how the component composites with the content behind it.
|
|
184
|
+
*
|
|
185
|
+
* @since iOS 13.0
|
|
186
|
+
*/
|
|
187
|
+
export const blendMode = mode => createIosModifier('blendMode', {
|
|
188
|
+
mode
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
// MARK: - Geometry and layout
|
|
192
|
+
|
|
193
|
+
/**
|
|
194
|
+
* Rotates the rendered component around its center without changing its layout.
|
|
195
|
+
*
|
|
196
|
+
* @since iOS 13.0
|
|
197
|
+
*/
|
|
198
|
+
export const rotationEffect = degrees => createIosModifier('rotationEffect', {
|
|
199
|
+
degrees
|
|
200
|
+
});
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Scales the rendered component around its center without changing its layout.
|
|
204
|
+
*
|
|
205
|
+
* @since iOS 13.0
|
|
206
|
+
*/
|
|
207
|
+
export const scaleEffect = scale => createIosModifier('scaleEffect', typeof scale === 'number' ? {
|
|
208
|
+
x: scale,
|
|
209
|
+
y: scale
|
|
210
|
+
} : {
|
|
211
|
+
x: scale.x,
|
|
212
|
+
y: scale.y
|
|
213
|
+
});
|
|
214
|
+
|
|
215
|
+
/**
|
|
216
|
+
* Moves the rendered component without changing its layout.
|
|
217
|
+
*
|
|
218
|
+
* @since iOS 13.0
|
|
219
|
+
*/
|
|
220
|
+
export const offset = value => createIosModifier('offset', {
|
|
221
|
+
x: value.x,
|
|
222
|
+
y: value.y
|
|
223
|
+
});
|
|
224
|
+
|
|
225
|
+
/**
|
|
226
|
+
* Keeps the component at its ideal size on the given axes instead of letting the parent shrink it.
|
|
227
|
+
*
|
|
228
|
+
* @since iOS 13.0
|
|
229
|
+
*/
|
|
230
|
+
export const fixedSize = (axes = {}) => createIosModifier('fixedSize', {
|
|
231
|
+
horizontal: axes.horizontal,
|
|
232
|
+
vertical: axes.vertical
|
|
233
|
+
});
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
* Gives the component a larger or smaller share of space in its stack.
|
|
237
|
+
*
|
|
238
|
+
* @since iOS 13.0
|
|
239
|
+
*/
|
|
240
|
+
export const layoutPriority = priority => createIosModifier('layoutPriority', {
|
|
241
|
+
priority
|
|
242
|
+
});
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Sizes the component relative to its nearest container, such as the widget.
|
|
246
|
+
*
|
|
247
|
+
* @since iOS 17.0
|
|
248
|
+
*/
|
|
249
|
+
export const containerRelativeFrame = axes => createIosModifier('containerRelativeFrame', {
|
|
250
|
+
axes
|
|
251
|
+
});
|
|
252
|
+
|
|
253
|
+
/**
|
|
254
|
+
* Uses a fixed Dynamic Type size for content inside the component, regardless of the system
|
|
255
|
+
* setting. Voltra `Text` uses fixed font sizes, so it does not change.
|
|
256
|
+
*
|
|
257
|
+
* @since iOS 15.0
|
|
258
|
+
*/
|
|
259
|
+
export const dynamicTypeSize = size => createIosModifier('dynamicTypeSize', {
|
|
260
|
+
size
|
|
261
|
+
});
|
|
262
|
+
|
|
263
|
+
// MARK: - Text
|
|
264
|
+
|
|
265
|
+
/**
|
|
266
|
+
* Lets text inside shrink down to this fraction of its font size to fit.
|
|
267
|
+
*
|
|
268
|
+
* @since iOS 13.0
|
|
269
|
+
*/
|
|
270
|
+
export const minimumScaleFactor = factor => createIosModifier('minimumScaleFactor', {
|
|
271
|
+
factor
|
|
272
|
+
});
|
|
273
|
+
|
|
274
|
+
/**
|
|
275
|
+
* Sets where text inside is truncated when it does not fit.
|
|
276
|
+
*
|
|
277
|
+
* @since iOS 13.0
|
|
278
|
+
*/
|
|
279
|
+
export const truncationMode = mode => createIosModifier('truncationMode', {
|
|
280
|
+
mode
|
|
281
|
+
});
|
|
282
|
+
|
|
283
|
+
/**
|
|
284
|
+
* Aligns the lines of multi-line text inside. A `Text` with `style.textAlign` or its own
|
|
285
|
+
* `multilineTextAlignment` prop keeps that value.
|
|
286
|
+
*
|
|
287
|
+
* @since iOS 13.0
|
|
288
|
+
*/
|
|
289
|
+
export const multilineTextAlignment = alignment => createIosModifier('multilineTextAlignment', {
|
|
290
|
+
alignment
|
|
291
|
+
});
|
|
292
|
+
|
|
293
|
+
/**
|
|
294
|
+
* Uses fixed-width digits for text inside, so changing numbers do not shift.
|
|
295
|
+
*
|
|
296
|
+
* @since iOS 16.0
|
|
297
|
+
*/
|
|
298
|
+
export const monospacedDigit = () => createIosModifier('monospacedDigit');
|
|
299
|
+
//# sourceMappingURL=index.js.map
|