@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.
Files changed (61) hide show
  1. package/build/commonjs/index.js +18 -0
  2. package/build/commonjs/index.js.map +1 -1
  3. package/build/commonjs/jsx/primitives.js +36 -0
  4. package/build/commonjs/jsx/primitives.js.map +1 -1
  5. package/build/commonjs/modifiers/createIosModifier.js +19 -0
  6. package/build/commonjs/modifiers/createIosModifier.js.map +1 -0
  7. package/build/commonjs/modifiers/index.js +334 -0
  8. package/build/commonjs/modifiers/index.js.map +1 -0
  9. package/build/module/index.js +1 -1
  10. package/build/module/index.js.map +1 -1
  11. package/build/module/jsx/primitives.js +1 -0
  12. package/build/module/jsx/primitives.js.map +1 -1
  13. package/build/module/modifiers/createIosModifier.js +14 -0
  14. package/build/module/modifiers/createIosModifier.js.map +1 -0
  15. package/build/module/modifiers/index.js +299 -0
  16. package/build/module/modifiers/index.js.map +1 -0
  17. package/build/typescript/commonjs/index.d.ts +2 -2
  18. package/build/typescript/commonjs/index.d.ts.map +1 -1
  19. package/build/typescript/commonjs/jsx/baseProps.d.ts +8 -0
  20. package/build/typescript/commonjs/jsx/baseProps.d.ts.map +1 -1
  21. package/build/typescript/commonjs/jsx/primitives.d.ts +1 -0
  22. package/build/typescript/commonjs/jsx/primitives.d.ts.map +1 -1
  23. package/build/typescript/commonjs/live-activity/types.d.ts +1 -1
  24. package/build/typescript/commonjs/live-activity/types.d.ts.map +1 -1
  25. package/build/typescript/commonjs/modifiers/createIosModifier.d.ts +12 -0
  26. package/build/typescript/commonjs/modifiers/createIosModifier.d.ts.map +1 -0
  27. package/build/typescript/commonjs/modifiers/index.d.ts +290 -0
  28. package/build/typescript/commonjs/modifiers/index.d.ts.map +1 -0
  29. package/build/typescript/commonjs/types.d.ts +1 -81
  30. package/build/typescript/commonjs/types.d.ts.map +1 -1
  31. package/build/typescript/module/index.d.ts +2 -2
  32. package/build/typescript/module/index.d.ts.map +1 -1
  33. package/build/typescript/module/jsx/baseProps.d.ts +8 -0
  34. package/build/typescript/module/jsx/baseProps.d.ts.map +1 -1
  35. package/build/typescript/module/jsx/primitives.d.ts +1 -0
  36. package/build/typescript/module/jsx/primitives.d.ts.map +1 -1
  37. package/build/typescript/module/live-activity/types.d.ts +1 -1
  38. package/build/typescript/module/live-activity/types.d.ts.map +1 -1
  39. package/build/typescript/module/modifiers/createIosModifier.d.ts +12 -0
  40. package/build/typescript/module/modifiers/createIosModifier.d.ts.map +1 -0
  41. package/build/typescript/module/modifiers/index.d.ts +290 -0
  42. package/build/typescript/module/modifiers/index.d.ts.map +1 -0
  43. package/build/typescript/module/types.d.ts +1 -81
  44. package/build/typescript/module/types.d.ts.map +1 -1
  45. package/package.json +2 -2
  46. package/src/index.ts +9 -2
  47. package/src/jsx/baseProps.tsx +8 -0
  48. package/src/jsx/primitives.ts +1 -0
  49. package/src/live-activity/types.ts +13 -1
  50. package/src/modifiers/createIosModifier.ts +20 -0
  51. package/src/modifiers/index.ts +306 -0
  52. package/src/types.ts +17 -97
  53. package/build/commonjs/payload/short-names.js +0 -31
  54. package/build/commonjs/payload/short-names.js.map +0 -1
  55. package/build/module/payload/short-names.js +0 -4
  56. package/build/module/payload/short-names.js.map +0 -1
  57. package/build/typescript/commonjs/payload/short-names.d.ts +0 -2
  58. package/build/typescript/commonjs/payload/short-names.d.ts.map +0 -1
  59. package/build/typescript/module/payload/short-names.d.ts +0 -2
  60. package/build/typescript/module/payload/short-names.d.ts.map +0 -1
  61. 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":[]}
@@ -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,SAASC,iBAAiB,EAAEC,YAAY,EAAEC,QAAQ,QAAQ,kBAAkB","ignoreList":[]}
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":[]}
@@ -29,4 +29,5 @@ export * from './Toggle.js';
29
29
  export * from './View.js';
30
30
  export * from './VStack.js';
31
31
  export * from './ZStack.js';
32
+ export * as modifiers from '../modifiers/index.js';
32
33
  //# sourceMappingURL=primitives.js.map
@@ -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