expo-invoke 2.0.0 → 2.2.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/README.md CHANGED
@@ -135,6 +135,14 @@ eas build --platform android --local
135
135
  {
136
136
  "plugins": [
137
137
  ["expo-invoke", {
138
+ "appGroupId": "group.com.myapp.invoke",
139
+
140
+ "enableWidget": true,
141
+ "widgetTitle": "My App",
142
+ "widgetAccentColor": "#267AD9",
143
+ "widgetDeepLink": "myapp://home",
144
+ "widgetSizes": ["small", "medium"],
145
+
138
146
  "intents": [
139
147
  {
140
148
  "id": "create_errand",
@@ -150,6 +158,7 @@ eas build --platform android --local
150
158
  ```
151
159
 
152
160
  > `${applicationName}` is required in every Siri phrase so the system knows which app to launch.
161
+ > `shortTitle` powers the long-press app icon Quick Actions menu — add up to 4 intents with `shortTitle` to populate it.
153
162
 
154
163
  ### 2. Initialize in your root layout
155
164
 
@@ -335,6 +344,80 @@ Static shortcuts (always visible, defined at install time) are configured via th
335
344
 
336
345
  ---
337
346
 
347
+ ### Home Screen Widget (Built-in — no Swift required)
348
+
349
+ expo-invoke includes a **zero-native-code** WidgetKit extension. Enable it in `app.json` and push data from TypeScript — no Xcode, no Swift files, no separate plugin needed.
350
+
351
+ #### 1. Enable in `app.json`
352
+
353
+ ```json
354
+ ["expo-invoke", {
355
+ "appGroupId": "group.com.myapp.invoke",
356
+
357
+ "enableWidget": true,
358
+ "widgetTitle": "My App",
359
+ "widgetDescription": "Quick access from your home screen.",
360
+ "widgetDataKey": "myWidgetData",
361
+ "widgetAccentColor": "#267AD9",
362
+ "widgetDeepLink": "myapp://home",
363
+ "widgetSizes": ["small", "medium", "large"],
364
+
365
+ "intents": [...]
366
+ }]
367
+ ```
368
+
369
+ > `appGroupId` is required for widget data sharing — the app and the widget extension read/write the same UserDefaults container.
370
+
371
+ #### 2. Push data from TypeScript
372
+
373
+ ```tsx
374
+ import { setWidgetData } from 'expo-invoke';
375
+ import type { InvokeWidgetPayload } from 'expo-invoke';
376
+
377
+ // Call this whenever your data changes — after fetching, after mutations, etc.
378
+ function syncWidget(activeItems: MyItem[]) {
379
+ const latest = activeItems[0];
380
+
381
+ const payload: InvokeWidgetPayload = {
382
+ count: activeItems.length,
383
+ badgeLabel: activeItems.length === 1 ? 'Active Order' : 'Active Orders',
384
+ title: latest?.name ?? null,
385
+ subtitle: latest?.status ?? null,
386
+ detail: latest?.assigneeName ?? null,
387
+ // deepLink: 'myapp://orders/123' ← optional per-item override
388
+ };
389
+
390
+ setWidgetData('myWidgetData', payload);
391
+ }
392
+ ```
393
+
394
+ `InvokeWidgetPayload` fields:
395
+
396
+ | Field | Type | Description |
397
+ |---|---|---|
398
+ | `count` | `number` | Prominent badge number (e.g. active order count) |
399
+ | `badgeLabel` | `string` | Label under the count (e.g. "Active Orders") |
400
+ | `title` | `string \| null` | Main item title |
401
+ | `subtitle` | `string \| null` | Status line (e.g. "In Progress") |
402
+ | `detail` | `string \| null` | Extra detail (e.g. assignee name) |
403
+ | `deepLink` | `string \| null` | Optional per-item deep-link URL override |
404
+
405
+ #### 3. Prebuild + run
406
+
407
+ ```bash
408
+ npx expo prebuild --platform ios --clean
409
+ npx expo run:ios
410
+ ```
411
+
412
+ The widget is generated entirely by the plugin — `InvokeWidget.swift` is written to `ios/InvokeWidget/` automatically. After prebuild the file is there but you never need to edit it.
413
+
414
+ **Testing in the simulator:**
415
+ - Long-press the home screen → tap **+** → search "My App"
416
+ - Choose small, medium, or large size
417
+ - Long-press the app icon for Quick Action shortcuts
418
+
419
+ ---
420
+
338
421
  ### useWidgetData — Push State to Widgets
339
422
 
340
423
  Push live app state to home screen widgets without the user opening the app. The widget reads from the same shared storage.
@@ -346,7 +429,6 @@ function TrackingScreen({ errand }) {
346
429
  const { set } = useWidgetData('active_errand');
347
430
 
348
431
  useEffect(() => {
349
- // Widget reads this to display current status
350
432
  set({
351
433
  title: errand.title,
352
434
  status: errand.status,
@@ -0,0 +1,35 @@
1
+ export interface WidgetCodegenOptions {
2
+ /** Display name shown in the widget picker */
3
+ widgetTitle: string;
4
+ /** Description shown in the widget picker */
5
+ widgetDescription: string;
6
+ /** UserDefaults key the app writes widget data to via setWidgetData() */
7
+ widgetDataKey: string;
8
+ /** Hex accent colour, e.g. "#267AD9" */
9
+ widgetAccentColor: string;
10
+ /** URL scheme deep-link opened when widget is tapped, e.g. "myapp://home" */
11
+ widgetDeepLink: string;
12
+ /** iOS App Group identifier shared between app and widget */
13
+ appGroupId: string;
14
+ /** Widget sizes to support */
15
+ widgetSizes: ('small' | 'medium' | 'large')[];
16
+ }
17
+ /**
18
+ * Generates a self-contained SwiftUI Widget Extension source file.
19
+ *
20
+ * The widget reads its display data from a JSON string in the shared App Group's
21
+ * UserDefaults under the key `widgetDataKey`.
22
+ *
23
+ * Expected JSON shape (written by the host app via setWidgetData()):
24
+ * {
25
+ * "count": number, // badge count shown prominently
26
+ * "badgeLabel": string, // label under the count, e.g. "Active Errands"
27
+ * "title": string | null, // main item title
28
+ * "subtitle": string | null, // status / secondary text
29
+ * "detail": string | null, // extra detail line (carrier name, assignee, etc.)
30
+ * "deepLink": string | null, // optional per-item URL override
31
+ * }
32
+ */
33
+ export declare function generateSwiftWidget(opts: WidgetCodegenOptions): string;
34
+ export declare function generateWidgetInfoPlist(): string;
35
+ export declare function generateWidgetEntitlements(appGroupId: string): string;
@@ -0,0 +1,379 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateSwiftWidget = generateSwiftWidget;
4
+ exports.generateWidgetInfoPlist = generateWidgetInfoPlist;
5
+ exports.generateWidgetEntitlements = generateWidgetEntitlements;
6
+ function escapeSwift(s) {
7
+ return s
8
+ .replace(/\\/g, '\\\\')
9
+ .replace(/"/g, '\\"')
10
+ .replace(/\n/g, '\\n')
11
+ .replace(/\r/g, '\\r');
12
+ }
13
+ function hexToSwiftColor(hex) {
14
+ const clean = hex.replace('#', '');
15
+ const r = parseInt(clean.substring(0, 2), 16) / 255;
16
+ const g = parseInt(clean.substring(2, 4), 16) / 255;
17
+ const b = parseInt(clean.substring(4, 6), 16) / 255;
18
+ return `Color(red: ${r.toFixed(3)}, green: ${g.toFixed(3)}, blue: ${b.toFixed(3)})`;
19
+ }
20
+ function familiesClause(sizes) {
21
+ const map = {
22
+ small: '.systemSmall',
23
+ medium: '.systemMedium',
24
+ large: '.systemLarge',
25
+ };
26
+ return sizes.map((s) => { var _a; return (_a = map[s]) !== null && _a !== void 0 ? _a : `.systemSmall`; }).join(', ');
27
+ }
28
+ /**
29
+ * Generates a self-contained SwiftUI Widget Extension source file.
30
+ *
31
+ * The widget reads its display data from a JSON string in the shared App Group's
32
+ * UserDefaults under the key `widgetDataKey`.
33
+ *
34
+ * Expected JSON shape (written by the host app via setWidgetData()):
35
+ * {
36
+ * "count": number, // badge count shown prominently
37
+ * "badgeLabel": string, // label under the count, e.g. "Active Errands"
38
+ * "title": string | null, // main item title
39
+ * "subtitle": string | null, // status / secondary text
40
+ * "detail": string | null, // extra detail line (carrier name, assignee, etc.)
41
+ * "deepLink": string | null, // optional per-item URL override
42
+ * }
43
+ */
44
+ function generateSwiftWidget(opts) {
45
+ const { widgetTitle, widgetDescription, widgetDataKey, widgetAccentColor, widgetDeepLink, appGroupId, widgetSizes, } = opts;
46
+ const accentColor = hexToSwiftColor(widgetAccentColor);
47
+ const bgColor = `Color(red: 0.90, green: 0.96, blue: 1.00)`;
48
+ const families = familiesClause(widgetSizes);
49
+ const hasSmall = widgetSizes.includes('small');
50
+ const hasMedium = widgetSizes.includes('medium');
51
+ const hasLarge = widgetSizes.includes('large');
52
+ const smallCase = hasSmall ? 'case .systemSmall:\n SmallInvokeView(entry: entry)' : '';
53
+ const mediumCase = hasMedium ? 'case .systemMedium:\n MediumInvokeView(entry: entry)' : '';
54
+ const largeCase = hasLarge ? 'case .systemLarge:\n LargeInvokeView(entry: entry)' : '';
55
+ return `// AUTO-GENERATED by expo-invoke — do not edit manually.
56
+ import WidgetKit
57
+ import SwiftUI
58
+
59
+ // MARK: - Data
60
+
61
+ private struct InvokeWidgetData {
62
+ var count: Int
63
+ var badgeLabel: String
64
+ var title: String?
65
+ var subtitle: String?
66
+ var detail: String?
67
+ var deepLink: String?
68
+
69
+ static let empty = InvokeWidgetData(count: 0, badgeLabel: "")
70
+ static let placeholder = InvokeWidgetData(
71
+ count: 2,
72
+ badgeLabel: "${escapeSwift(widgetTitle)}",
73
+ title: "Example Item",
74
+ subtitle: "In Progress",
75
+ detail: "John D.",
76
+ deepLink: nil
77
+ )
78
+ }
79
+
80
+ // MARK: - Timeline Entry
81
+
82
+ struct InvokeWidgetEntry: TimelineEntry {
83
+ let date: Date
84
+ let data: InvokeWidgetData
85
+ }
86
+
87
+ // MARK: - Provider
88
+
89
+ struct InvokeWidgetProvider: TimelineProvider {
90
+ private let appGroup = "${escapeSwift(appGroupId)}"
91
+ private let dataKey = "${escapeSwift(widgetDataKey)}"
92
+
93
+ func placeholder(in context: Context) -> InvokeWidgetEntry {
94
+ InvokeWidgetEntry(date: Date(), data: .placeholder)
95
+ }
96
+
97
+ func getSnapshot(in context: Context, completion: @escaping (InvokeWidgetEntry) -> Void) {
98
+ completion(InvokeWidgetEntry(date: Date(), data: load()))
99
+ }
100
+
101
+ func getTimeline(in context: Context, completion: @escaping (Timeline<InvokeWidgetEntry>) -> Void) {
102
+ let entry = InvokeWidgetEntry(date: Date(), data: load())
103
+ let refresh = Calendar.current.date(byAdding: .minute, value: 15, to: Date()) ?? Date()
104
+ completion(Timeline(entries: [entry], policy: .after(refresh)))
105
+ }
106
+
107
+ private func load() -> InvokeWidgetData {
108
+ guard
109
+ let defaults = UserDefaults(suiteName: appGroup),
110
+ let raw = defaults.string(forKey: dataKey),
111
+ let blob = raw.data(using: .utf8),
112
+ let json = try? JSONSerialization.jsonObject(with: blob) as? [String: Any]
113
+ else { return .empty }
114
+
115
+ return InvokeWidgetData(
116
+ count: json["count"] as? Int ?? 0,
117
+ badgeLabel: json["badgeLabel"] as? String ?? "",
118
+ title: json["title"] as? String,
119
+ subtitle: json["subtitle"] as? String,
120
+ detail: json["detail"] as? String,
121
+ deepLink: json["deepLink"] as? String
122
+ )
123
+ }
124
+ }
125
+
126
+ // MARK: - Shared Helpers
127
+
128
+ private let accentColor = ${accentColor}
129
+ private let bgColor = ${bgColor}
130
+
131
+ private func resolvedURL(entry: InvokeWidgetEntry) -> URL {
132
+ let raw = entry.data.deepLink ?? "${escapeSwift(widgetDeepLink)}"
133
+ return URL(string: raw) ?? URL(string: "${escapeSwift(widgetDeepLink)}")!
134
+ }
135
+
136
+ // MARK: - Small View
137
+
138
+ ${hasSmall ? `struct SmallInvokeView: View {
139
+ let entry: InvokeWidgetEntry
140
+ var body: some View {
141
+ ZStack {
142
+ bgColor.ignoresSafeArea()
143
+ VStack(alignment: .leading, spacing: 6) {
144
+ HStack {
145
+ Image(systemName: "square.grid.2x2.fill")
146
+ .font(.system(size: 16, weight: .semibold))
147
+ .foregroundColor(accentColor)
148
+ Spacer()
149
+ Text("\\(entry.data.count)")
150
+ .font(.system(size: 30, weight: .bold))
151
+ .foregroundColor(accentColor)
152
+ }
153
+ if !entry.data.badgeLabel.isEmpty {
154
+ Text(entry.data.badgeLabel)
155
+ .font(.system(size: 11, weight: .medium))
156
+ .foregroundColor(.secondary)
157
+ }
158
+ Spacer()
159
+ if let title = entry.data.title {
160
+ Text(title)
161
+ .font(.system(size: 12, weight: .semibold))
162
+ .lineLimit(2)
163
+ .foregroundColor(.primary)
164
+ }
165
+ if let sub = entry.data.subtitle {
166
+ Text(sub)
167
+ .font(.system(size: 10))
168
+ .foregroundColor(.secondary)
169
+ }
170
+ }
171
+ .padding(14)
172
+ }
173
+ }
174
+ }` : '// Small size not enabled'}
175
+
176
+ // MARK: - Medium View
177
+
178
+ ${hasMedium ? `struct MediumInvokeView: View {
179
+ let entry: InvokeWidgetEntry
180
+ var body: some View {
181
+ ZStack {
182
+ bgColor.ignoresSafeArea()
183
+ HStack(spacing: 0) {
184
+ VStack(alignment: .leading, spacing: 8) {
185
+ Image(systemName: "square.grid.2x2.fill")
186
+ .font(.system(size: 20, weight: .semibold))
187
+ .foregroundColor(accentColor)
188
+ Text("\\(entry.data.count)")
189
+ .font(.system(size: 36, weight: .bold))
190
+ .foregroundColor(accentColor)
191
+ if !entry.data.badgeLabel.isEmpty {
192
+ Text(entry.data.badgeLabel)
193
+ .font(.system(size: 11, weight: .medium))
194
+ .foregroundColor(.secondary)
195
+ .lineLimit(2)
196
+ }
197
+ }
198
+ .frame(maxHeight: .infinity, alignment: .topLeading)
199
+ .padding(16)
200
+ .frame(minWidth: 100)
201
+
202
+ Rectangle()
203
+ .fill(Color.secondary.opacity(0.18))
204
+ .frame(width: 1)
205
+ .padding(.vertical, 12)
206
+
207
+ VStack(alignment: .leading, spacing: 6) {
208
+ Text("${escapeSwift(widgetTitle)}")
209
+ .font(.system(size: 10, weight: .semibold))
210
+ .foregroundColor(.secondary)
211
+ if let title = entry.data.title {
212
+ Text(title)
213
+ .font(.system(size: 13, weight: .semibold))
214
+ .lineLimit(2)
215
+ .foregroundColor(.primary)
216
+ }
217
+ if let sub = entry.data.subtitle {
218
+ Text(sub)
219
+ .font(.system(size: 11))
220
+ .foregroundColor(.secondary)
221
+ }
222
+ if let detail = entry.data.detail {
223
+ HStack(spacing: 4) {
224
+ Image(systemName: "person.fill")
225
+ .font(.system(size: 9))
226
+ .foregroundColor(.secondary)
227
+ Text(detail)
228
+ .font(.system(size: 11))
229
+ .foregroundColor(.secondary)
230
+ }
231
+ }
232
+ }
233
+ .frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .topLeading)
234
+ .padding(16)
235
+ }
236
+ }
237
+ }
238
+ }` : '// Medium size not enabled'}
239
+
240
+ // MARK: - Large View
241
+
242
+ ${hasLarge ? `struct LargeInvokeView: View {
243
+ let entry: InvokeWidgetEntry
244
+ var body: some View {
245
+ ZStack {
246
+ bgColor.ignoresSafeArea()
247
+ VStack(alignment: .leading, spacing: 14) {
248
+ HStack {
249
+ Image(systemName: "square.grid.2x2.fill")
250
+ .font(.system(size: 18, weight: .semibold))
251
+ .foregroundColor(accentColor)
252
+ Text("${escapeSwift(widgetTitle)}")
253
+ .font(.system(size: 17, weight: .bold))
254
+ .foregroundColor(.primary)
255
+ Spacer()
256
+ if entry.data.count > 0 {
257
+ Text("\\(entry.data.count) \\(entry.data.badgeLabel)")
258
+ .font(.system(size: 12, weight: .semibold))
259
+ .foregroundColor(accentColor)
260
+ .padding(.horizontal, 10)
261
+ .padding(.vertical, 4)
262
+ .background(accentColor.opacity(0.12))
263
+ .clipShape(Capsule())
264
+ }
265
+ }
266
+ Divider()
267
+ if let title = entry.data.title {
268
+ VStack(alignment: .leading, spacing: 8) {
269
+ Text(title)
270
+ .font(.system(size: 15, weight: .semibold))
271
+ .foregroundColor(.primary)
272
+ if let sub = entry.data.subtitle {
273
+ Text(sub)
274
+ .font(.system(size: 12))
275
+ .foregroundColor(.secondary)
276
+ }
277
+ if let detail = entry.data.detail {
278
+ HStack(spacing: 6) {
279
+ Image(systemName: "person.circle.fill")
280
+ .font(.system(size: 13))
281
+ .foregroundColor(accentColor)
282
+ Text(detail)
283
+ .font(.system(size: 12))
284
+ .foregroundColor(.secondary)
285
+ }
286
+ }
287
+ }
288
+ .padding(14)
289
+ .frame(maxWidth: .infinity, alignment: .leading)
290
+ .background(Color.white.opacity(0.6))
291
+ .clipShape(RoundedRectangle(cornerRadius: 12))
292
+ } else {
293
+ VStack(spacing: 10) {
294
+ Image(systemName: "square.grid.2x2")
295
+ .font(.system(size: 34))
296
+ .foregroundColor(accentColor.opacity(0.4))
297
+ Text("Nothing here yet")
298
+ .font(.system(size: 13))
299
+ .foregroundColor(.secondary)
300
+ }
301
+ .frame(maxWidth: .infinity)
302
+ .padding(24)
303
+ }
304
+ Spacer()
305
+ }
306
+ .padding(16)
307
+ }
308
+ }
309
+ }` : '// Large size not enabled'}
310
+
311
+ // MARK: - Entry View Router
312
+
313
+ struct InvokeWidgetEntryView: View {
314
+ var entry: InvokeWidgetEntry
315
+ @Environment(\\.widgetFamily) var family
316
+
317
+ var body: some View {
318
+ Group {
319
+ switch family {
320
+ ${[smallCase, mediumCase, largeCase].filter(Boolean).join('\n ')}
321
+ default:
322
+ ${hasSmall ? 'SmallInvokeView(entry: entry)' : hasMedium ? 'MediumInvokeView(entry: entry)' : 'LargeInvokeView(entry: entry)'}
323
+ }
324
+ }
325
+ }
326
+ }
327
+
328
+ // MARK: - Widget Configuration
329
+
330
+ struct InvokeWidget: Widget {
331
+ let kind: String = "InvokeWidget"
332
+
333
+ var body: some WidgetConfiguration {
334
+ StaticConfiguration(kind: kind, provider: InvokeWidgetProvider()) { entry in
335
+ InvokeWidgetEntryView(entry: entry)
336
+ .widgetURL(resolvedURL(entry: entry))
337
+ }
338
+ .configurationDisplayName("${escapeSwift(widgetTitle)}")
339
+ .description("${escapeSwift(widgetDescription)}")
340
+ .supportedFamilies([${families}])
341
+ }
342
+ }
343
+
344
+ // MARK: - Widget Bundle
345
+
346
+ @main
347
+ struct InvokeWidgetBundle: WidgetBundle {
348
+ var body: some Widget {
349
+ InvokeWidget()
350
+ }
351
+ }
352
+ `;
353
+ }
354
+ function generateWidgetInfoPlist() {
355
+ return `<?xml version="1.0" encoding="UTF-8"?>
356
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
357
+ <plist version="1.0">
358
+ <dict>
359
+ <key>NSExtension</key>
360
+ <dict>
361
+ <key>NSExtensionPointIdentifier</key>
362
+ <string>com.apple.widgetkit-extension</string>
363
+ </dict>
364
+ </dict>
365
+ </plist>`;
366
+ }
367
+ function generateWidgetEntitlements(appGroupId) {
368
+ return `<?xml version="1.0" encoding="UTF-8"?>
369
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
370
+ <plist version="1.0">
371
+ <dict>
372
+ <key>com.apple.security.application-groups</key>
373
+ <array>
374
+ <string>${appGroupId}</string>
375
+ </array>
376
+ </dict>
377
+ </plist>`;
378
+ }
379
+ //# sourceMappingURL=generateSwiftWidget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateSwiftWidget.js","sourceRoot":"","sources":["../../../plugin/codegen/generateSwiftWidget.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,23 @@ interface IOSInvokeOptions {
11
11
  pttUsageDescription?: string;
12
12
  enableLiveActivities?: boolean;
13
13
  liveActivityTypes?: string[];
14
+ /** Enable the built-in WidgetKit extension. Requires appGroupId. */
15
+ enableWidget?: boolean;
16
+ /** Display name shown in the widget picker (defaults to app name) */
17
+ widgetTitle?: string;
18
+ /** Description shown in the widget picker */
19
+ widgetDescription?: string;
20
+ /**
21
+ * UserDefaults key the app writes widget data to via setWidgetData().
22
+ * Defaults to "invokeWidgetData".
23
+ */
24
+ widgetDataKey?: string;
25
+ /** Hex accent colour for the widget UI (defaults to "#267AD9") */
26
+ widgetAccentColor?: string;
27
+ /** URL scheme deep-link opened when widget is tapped */
28
+ widgetDeepLink?: string;
29
+ /** Widget sizes to support (defaults to ["small","medium"]) */
30
+ widgetSizes?: ('small' | 'medium' | 'large')[];
14
31
  }
15
32
  export declare const withIOSInvoke: ConfigPlugin<IOSInvokeOptions>;
16
33
  export {};
@@ -41,8 +41,10 @@ const generateSwiftIntents_1 = require("../codegen/generateSwiftIntents");
41
41
  const generateSwiftEntities_1 = require("../codegen/generateSwiftEntities");
42
42
  const generateSwiftFocusFilters_1 = require("../codegen/generateSwiftFocusFilters");
43
43
  const generateSwiftAppClip_1 = require("../codegen/generateSwiftAppClip");
44
+ const withWidgetExtension_1 = require("./withWidgetExtension");
44
45
  const withIOSInvoke = (config, options) => {
45
- const { intents, voiceUsageDescription, appGroupId, entities = [], focusFilters = [], appClips = [], enablePushToTalk = false, pttUsageDescription, enableLiveActivities = false, } = options;
46
+ var _a, _b, _c;
47
+ const { intents, voiceUsageDescription, appGroupId, entities = [], focusFilters = [], appClips = [], enablePushToTalk = false, pttUsageDescription, enableLiveActivities = false, enableWidget = false, widgetTitle, widgetDescription = 'Quick access from your home screen.', widgetDataKey = 'invokeWidgetData', widgetAccentColor = '#267AD9', widgetDeepLink = '', widgetSizes = ['small', 'medium'], } = options;
46
48
  // 1. Info.plist usage descriptions + feature flags
47
49
  config = (0, config_plugins_1.withInfoPlist)(config, (cfg) => {
48
50
  var _a;
@@ -128,6 +130,26 @@ const withIOSInvoke = (config, options) => {
128
130
  return cfg;
129
131
  },
130
132
  ]);
133
+ // 4. Widget Extension (opt-in — requires appGroupId)
134
+ if (enableWidget) {
135
+ if (!appGroupId) {
136
+ console.warn('[expo-invoke] enableWidget is true but appGroupId is missing.\n' +
137
+ 'Fix: Add appGroupId to your expo-invoke plugin config, e.g. "group.com.myapp.invoke".');
138
+ }
139
+ else {
140
+ const bundleIdentifier = ((_b = (_a = config.ios) === null || _a === void 0 ? void 0 : _a.bundleIdentifier) !== null && _b !== void 0 ? _b : 'com.example.app') + '.InvokeWidget';
141
+ config = (0, withWidgetExtension_1.withWidgetExtension)(config, {
142
+ appGroupId,
143
+ bundleId: bundleIdentifier,
144
+ widgetTitle: widgetTitle !== null && widgetTitle !== void 0 ? widgetTitle : ((_c = config.name) !== null && _c !== void 0 ? _c : 'My App'),
145
+ widgetDescription,
146
+ widgetDataKey,
147
+ widgetAccentColor,
148
+ widgetDeepLink,
149
+ widgetSizes,
150
+ });
151
+ }
152
+ }
131
153
  return config;
132
154
  };
133
155
  exports.withIOSInvoke = withIOSInvoke;
@@ -1 +1 @@
1
- {"version":3,"file":"withIOSInvoke.js","sourceRoot":"","sources":["../../../plugin/ios/withIOSInvoke.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"withIOSInvoke.js","sourceRoot":"","sources":["../../../plugin/ios/withIOSInvoke.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { type ConfigPlugin } from '@expo/config-plugins';
2
+ import { type WidgetCodegenOptions } from '../codegen/generateSwiftWidget';
3
+ export interface WidgetExtensionOptions extends WidgetCodegenOptions {
4
+ bundleId: string;
5
+ deploymentTarget?: string;
6
+ }
7
+ /**
8
+ * Adds a WidgetKit extension target to the iOS Xcode project.
9
+ * Called automatically by withIOSInvoke when enableWidget: true.
10
+ *
11
+ * Developers never call this directly — it's wired up through the expo-invoke
12
+ * app.json plugin config.
13
+ */
14
+ export declare const withWidgetExtension: ConfigPlugin<WidgetExtensionOptions>;
@@ -0,0 +1,213 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.withWidgetExtension = void 0;
37
+ const config_plugins_1 = require("@expo/config-plugins");
38
+ const fs = __importStar(require("fs"));
39
+ const path = __importStar(require("path"));
40
+ const generateSwiftWidget_1 = require("../codegen/generateSwiftWidget");
41
+ const WIDGET_TARGET = 'InvokeWidget';
42
+ /**
43
+ * Adds a WidgetKit extension target to the iOS Xcode project.
44
+ * Called automatically by withIOSInvoke when enableWidget: true.
45
+ *
46
+ * Developers never call this directly — it's wired up through the expo-invoke
47
+ * app.json plugin config.
48
+ */
49
+ const withWidgetExtension = (config, opts) => {
50
+ const { appGroupId, bundleId, deploymentTarget = '16.0' } = opts;
51
+ // 1. Add App Group entitlement to the main app
52
+ config = (0, config_plugins_1.withEntitlementsPlist)(config, (cfg) => {
53
+ var _a;
54
+ const key = 'com.apple.security.application-groups';
55
+ const existing = (_a = cfg.modResults[key]) !== null && _a !== void 0 ? _a : [];
56
+ if (!existing.includes(appGroupId)) {
57
+ cfg.modResults[key] = [...existing, appGroupId];
58
+ }
59
+ return cfg;
60
+ });
61
+ // 2. Generate widget Swift source file + support files into ios/InvokeWidget/
62
+ config = (0, config_plugins_1.withDangerousMod)(config, [
63
+ 'ios',
64
+ async (cfg) => {
65
+ const widgetDir = path.join(cfg.modRequest.platformProjectRoot, WIDGET_TARGET);
66
+ try {
67
+ fs.mkdirSync(widgetDir, { recursive: true });
68
+ }
69
+ catch (e) {
70
+ throw new Error(`[expo-invoke] Could not create widget directory at "${widgetDir}".\n` +
71
+ `Cause: ${e instanceof Error ? e.message : e}\n` +
72
+ `Fix: Ensure the iOS project root is writable. Try \`npx expo prebuild --clean\`.`);
73
+ }
74
+ const write = (filename, content) => {
75
+ try {
76
+ fs.writeFileSync(path.join(widgetDir, filename), content, 'utf8');
77
+ }
78
+ catch (e) {
79
+ throw new Error(`[expo-invoke] Failed to write widget file "${filename}".\n` +
80
+ `Cause: ${e instanceof Error ? e.message : e}\n` +
81
+ `Fix: Check write permissions on the iOS project directory.`);
82
+ }
83
+ };
84
+ write('InvokeWidget.swift', (0, generateSwiftWidget_1.generateSwiftWidget)(opts));
85
+ write('Info.plist', (0, generateSwiftWidget_1.generateWidgetInfoPlist)());
86
+ write(`${WIDGET_TARGET}.entitlements`, (0, generateSwiftWidget_1.generateWidgetEntitlements)(appGroupId));
87
+ console.log(`[expo-invoke] Widget extension files written to ${widgetDir}`);
88
+ return cfg;
89
+ },
90
+ ]);
91
+ // 3. Add widget target to the Xcode project
92
+ config = (0, config_plugins_1.withXcodeProject)(config, (cfg) => {
93
+ var _a, _b, _c, _d;
94
+ const proj = cfg.modResults;
95
+ // Idempotency — skip if the target already exists
96
+ const existingTargets = proj.pbxNativeTargetSection();
97
+ const already = Object.values(existingTargets).some((t) => t && typeof t === 'object' && t.name === WIDGET_TARGET);
98
+ if (already) {
99
+ console.log('[expo-invoke] Widget target already in Xcode project, skipping');
100
+ return cfg;
101
+ }
102
+ // ── Add the extension target ─────────────────────────────────────────────
103
+ const widgetTarget = proj.addTarget(WIDGET_TARGET, 'app_extension', WIDGET_TARGET, bundleId);
104
+ if (!widgetTarget) {
105
+ console.error('[expo-invoke] addTarget() returned null — Xcode widget target NOT added');
106
+ return cfg;
107
+ }
108
+ const widgetUuid = widgetTarget.uuid;
109
+ // ── Build phases ─────────────────────────────────────────────────────────
110
+ proj.addBuildPhase(['InvokeWidget.swift'], 'PBXSourcesBuildPhase', 'Sources', widgetUuid);
111
+ proj.addBuildPhase([], 'PBXResourcesBuildPhase', 'Resources', widgetUuid);
112
+ // ── Frameworks ───────────────────────────────────────────────────────────
113
+ proj.addFramework('WidgetKit.framework', { target: widgetUuid });
114
+ proj.addFramework('SwiftUI.framework', { target: widgetUuid });
115
+ // ── Build settings ───────────────────────────────────────────────────────
116
+ const configurations = proj.pbxXCBuildConfigurationSection();
117
+ for (const [, cfgObj] of Object.entries(configurations)) {
118
+ const settings = cfgObj === null || cfgObj === void 0 ? void 0 : cfgObj.buildSettings;
119
+ if (!settings)
120
+ continue;
121
+ const prodName = settings.PRODUCT_NAME;
122
+ if (prodName !== `"${WIDGET_TARGET}"` && prodName !== WIDGET_TARGET)
123
+ continue;
124
+ settings.PRODUCT_BUNDLE_IDENTIFIER = `"${bundleId}"`;
125
+ settings.SWIFT_VERSION = '5.0';
126
+ settings.IPHONEOS_DEPLOYMENT_TARGET = deploymentTarget;
127
+ settings.INFOPLIST_FILE = `"${WIDGET_TARGET}/Info.plist"`;
128
+ settings.CODE_SIGN_ENTITLEMENTS = `"${WIDGET_TARGET}/${WIDGET_TARGET}.entitlements"`;
129
+ settings.SKIP_INSTALL = 'YES';
130
+ settings.TARGETED_DEVICE_FAMILY = '"1,2"';
131
+ settings.LD_RUNPATH_SEARCH_PATHS = '"$(inherited) @executable_path/../../Frameworks"';
132
+ settings.ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = 'NO';
133
+ }
134
+ // ── Embed widget in main app (Embed App Extensions phase) ────────────────
135
+ const mainTarget = proj.getFirstTarget();
136
+ if (mainTarget) {
137
+ const mainUuid = mainTarget.uuid;
138
+ // Add widget as a build dependency (builds first)
139
+ proj.addTargetDependency(mainUuid, [widgetUuid]);
140
+ // ── "Embed App Extensions" copy-files phase ──────────────────────────
141
+ //
142
+ // IMPORTANT: We must NOT reuse an existing PBXBuildFile here.
143
+ // A PBXBuildFile can only belong to ONE phase. If we reuse the one that
144
+ // addTarget created for the widget's own Sources phase, CocoaPods' xcodeproj
145
+ // gem will reject it with "Consistency issue: no parent for object".
146
+ //
147
+ // Correct approach:
148
+ // 1. Find the PBXFileReference for InvokeWidget.appex (the product)
149
+ // 2. Create a BRAND-NEW PBXBuildFile that wraps that reference
150
+ // 3. Add the new build file to the CopyFiles phase
151
+ // 4. dstSubfolderSpec = 13 (PlugIns = App Extensions)
152
+ // Step 1 — find the .appex product PBXFileReference (NOT a PBXBuildFile)
153
+ const fileRefSection = (_a = proj.hash.project.objects['PBXFileReference']) !== null && _a !== void 0 ? _a : {};
154
+ let appexRefUuid = null;
155
+ for (const refKey of Object.keys(fileRefSection)) {
156
+ if (refKey.endsWith('_comment'))
157
+ continue;
158
+ if (fileRefSection[`${refKey}_comment`] === `${WIDGET_TARGET}.appex`) {
159
+ appexRefUuid = refKey;
160
+ break;
161
+ }
162
+ }
163
+ if (appexRefUuid) {
164
+ // Step 2 — create a fresh PBXBuildFile owned solely by the embed phase
165
+ const embedBuildFileUuid = proj.generateUuid();
166
+ const buildFileSection = (_b = proj.hash.project.objects['PBXBuildFile']) !== null && _b !== void 0 ? _b : {};
167
+ buildFileSection[embedBuildFileUuid] = {
168
+ isa: 'PBXBuildFile',
169
+ fileRef: appexRefUuid,
170
+ settings: { ATTRIBUTES: ['CodeSignOnCopy', 'RemoveHeadersOnCopy'] },
171
+ };
172
+ buildFileSection[`${embedBuildFileUuid}_comment`] =
173
+ `${WIDGET_TARGET}.appex in Embed App Extensions`;
174
+ // Step 3 — create the PBXCopyFilesBuildPhase and add the build file
175
+ const embedPhaseUuid = proj.generateUuid();
176
+ const copyFilesSection = (_c = proj.hash.project.objects['PBXCopyFilesBuildPhase']) !== null && _c !== void 0 ? _c : {};
177
+ copyFilesSection[embedPhaseUuid] = {
178
+ isa: 'PBXCopyFilesBuildPhase',
179
+ buildActionMask: 2147483647,
180
+ dstPath: '""',
181
+ dstSubfolderSpec: 13, // 13 = PlugIns / App Extensions
182
+ files: [
183
+ {
184
+ value: embedBuildFileUuid,
185
+ comment: `${WIDGET_TARGET}.appex in Embed App Extensions`,
186
+ },
187
+ ],
188
+ name: '"Embed App Extensions"',
189
+ runOnlyForDeploymentPostprocessing: 0,
190
+ };
191
+ copyFilesSection[`${embedPhaseUuid}_comment`] = 'Embed App Extensions';
192
+ // Step 4 — attach the phase to the main app native target's buildPhases list
193
+ const nativeTargetSection = (_d = proj.hash.project.objects['PBXNativeTarget']) !== null && _d !== void 0 ? _d : {};
194
+ const mainTargetObj = nativeTargetSection[mainUuid];
195
+ if (mainTargetObj === null || mainTargetObj === void 0 ? void 0 : mainTargetObj.buildPhases) {
196
+ mainTargetObj.buildPhases.push({
197
+ value: embedPhaseUuid,
198
+ comment: 'Embed App Extensions',
199
+ });
200
+ }
201
+ }
202
+ else {
203
+ console.warn(`[expo-invoke] Could not find PBXFileReference for ${WIDGET_TARGET}.appex — ` +
204
+ 'the widget extension will build but may not be embedded in the app bundle automatically.');
205
+ }
206
+ }
207
+ console.log(`[expo-invoke] Widget target "${WIDGET_TARGET}" added to Xcode project ✓`);
208
+ return cfg;
209
+ });
210
+ return config;
211
+ };
212
+ exports.withWidgetExtension = withWidgetExtension;
213
+ //# sourceMappingURL=withWidgetExtension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withWidgetExtension.js","sourceRoot":"","sources":["../../../plugin/ios/withWidgetExtension.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,31 @@ export interface InvokePluginOptions {
28
28
  enableLiveActivities?: boolean;
29
29
  /** ActivityAttributes class names your app defines (for documentation / validation) */
30
30
  liveActivityTypes?: string[];
31
+ /**
32
+ * Add a built-in WidgetKit home screen widget to your app.
33
+ * Requires `appGroupId` to be set. No native code needed — the widget Swift
34
+ * file is generated automatically from your config.
35
+ *
36
+ * The widget reads display data from the shared App Group UserDefaults. Use
37
+ * setWidgetData(key, { count, badgeLabel, title, subtitle, detail }) from your
38
+ * app to populate it.
39
+ */
40
+ enableWidget?: boolean;
41
+ /** Widget display name shown in the iOS widget picker (defaults to app name) */
42
+ widgetTitle?: string;
43
+ /** Widget description shown in the iOS widget picker */
44
+ widgetDescription?: string;
45
+ /**
46
+ * UserDefaults key the widget reads from.
47
+ * Must match the key you pass to setWidgetData(). Defaults to "invokeWidgetData".
48
+ */
49
+ widgetDataKey?: string;
50
+ /** Hex accent colour for widget UI (defaults to "#267AD9") */
51
+ widgetAccentColor?: string;
52
+ /** URL scheme deep-link opened when the widget is tapped (e.g. "myapp://home") */
53
+ widgetDeepLink?: string;
54
+ /** Widget sizes to generate. Defaults to ["small", "medium"] */
55
+ widgetSizes?: ('small' | 'medium' | 'large')[];
31
56
  }
32
57
  declare const _default: any;
33
58
  export default _default;
@@ -5,7 +5,7 @@ const withIOSInvoke_1 = require("../ios/withIOSInvoke");
5
5
  const withAndroidInvoke_1 = require("../android/withAndroidInvoke");
6
6
  const validation_1 = require("../../src/utils/validation");
7
7
  const withInvoke = (config, options) => {
8
- const { intents = [], widgets: _widgets, notificationActions, voiceUsageDescription, appGroupId, entities = [], focusFilters = [], appClips = [], slices = [], enableInteractiveWidgets = false, enablePushToTalk = false, pttUsageDescription, enableLiveActivities = false, liveActivityTypes = [], } = options;
8
+ const { intents = [], widgets: _widgets, notificationActions, voiceUsageDescription, appGroupId, entities = [], focusFilters = [], appClips = [], slices = [], enableInteractiveWidgets = false, enablePushToTalk = false, pttUsageDescription, enableLiveActivities = false, liveActivityTypes = [], enableWidget = false, widgetTitle, widgetDescription, widgetDataKey, widgetAccentColor, widgetDeepLink, widgetSizes, } = options;
9
9
  // Validate options early — throws with a helpful message if misconfigured
10
10
  (0, validation_1.validatePluginOptions)({ enablePushToTalk, pttUsageDescription, enableLiveActivities, liveActivityTypes });
11
11
  config = (0, withIOSInvoke_1.withIOSInvoke)(config, {
@@ -19,6 +19,13 @@ const withInvoke = (config, options) => {
19
19
  pttUsageDescription,
20
20
  enableLiveActivities,
21
21
  liveActivityTypes,
22
+ enableWidget,
23
+ widgetTitle,
24
+ widgetDescription,
25
+ widgetDataKey,
26
+ widgetAccentColor,
27
+ widgetDeepLink,
28
+ widgetSizes,
22
29
  });
23
30
  config = (0, withAndroidInvoke_1.withAndroidInvoke)(config, {
24
31
  intents,
@@ -1 +1 @@
1
- {"version":3,"file":"withInvoke.js","sourceRoot":"","sources":["../../../plugin/src/withInvoke.ts"],"names":[],"mappings":";;AAAA,yDAA8E;AAC9E,wDAAqD;AACrD,oEAAiE;AACjE,2DAAmE;AA0CnE,MAAM,UAAU,GAAsC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACxE,MAAM,EACJ,OAAO,GAAG,EAAE,EACZ,OAAO,EAAE,QAAQ,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,UAAU,EACV,QAAQ,GAAG,EAAE,EACb,YAAY,GAAG,EAAE,EACjB,QAAQ,GAAG,EAAE,EACb,MAAM,GAAG,EAAE,EACX,wBAAwB,GAAG,KAAK,EAChC,gBAAgB,GAAG,KAAK,EACxB,mBAAmB,EACnB,oBAAoB,GAAG,KAAK,EAC5B,iBAAiB,GAAG,EAAE,GACvB,GAAG,OAAO,CAAC;IAEZ,0EAA0E;IAC1E,IAAA,kCAAqB,EAAC,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAE1G,MAAM,GAAG,IAAA,6BAAa,EAAC,MAAM,EAAE;QAC7B,OAAO;QACP,qBAAqB;QACrB,UAAU;QACV,QAAQ;QACR,YAAY;QACZ,QAAQ;QACR,gBAAgB;QAChB,mBAAmB;QACnB,oBAAoB;QACpB,iBAAiB;KAClB,CAAC,CAAC;IAEH,MAAM,GAAG,IAAA,qCAAiB,EAAC,MAAM,EAAE;QACjC,OAAO;QACP,mBAAmB;QACnB,MAAM;QACN,wBAAwB;KACzB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,kBAAe,IAAA,oCAAmB,EAAC,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"withInvoke.js","sourceRoot":"","sources":["../../../plugin/src/withInvoke.ts"],"names":[],"mappings":";;AAAA,yDAA8E;AAC9E,wDAAqD;AACrD,oEAAiE;AACjE,2DAAmE;AAqEnE,MAAM,UAAU,GAAsC,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACxE,MAAM,EACJ,OAAO,GAAG,EAAE,EACZ,OAAO,EAAE,QAAQ,EACjB,mBAAmB,EACnB,qBAAqB,EACrB,UAAU,EACV,QAAQ,GAAG,EAAE,EACb,YAAY,GAAG,EAAE,EACjB,QAAQ,GAAG,EAAE,EACb,MAAM,GAAG,EAAE,EACX,wBAAwB,GAAG,KAAK,EAChC,gBAAgB,GAAG,KAAK,EACxB,mBAAmB,EACnB,oBAAoB,GAAG,KAAK,EAC5B,iBAAiB,GAAG,EAAE,EACtB,YAAY,GAAG,KAAK,EACpB,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACd,WAAW,GACZ,GAAG,OAAO,CAAC;IAEZ,0EAA0E;IAC1E,IAAA,kCAAqB,EAAC,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAE1G,MAAM,GAAG,IAAA,6BAAa,EAAC,MAAM,EAAE;QAC7B,OAAO;QACP,qBAAqB;QACrB,UAAU;QACV,QAAQ;QACR,YAAY;QACZ,QAAQ;QACR,gBAAgB;QAChB,mBAAmB;QACnB,oBAAoB;QACpB,iBAAiB;QACjB,YAAY;QACZ,WAAW;QACX,iBAAiB;QACjB,aAAa;QACb,iBAAiB;QACjB,cAAc;QACd,WAAW;KACZ,CAAC,CAAC;IAEH,MAAM,GAAG,IAAA,qCAAiB,EAAC,MAAM,EAAE;QACjC,OAAO;QACP,mBAAmB;QACnB,MAAM;QACN,wBAAwB;KACzB,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,kBAAe,IAAA,oCAAmB,EAAC,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC"}
@@ -31,7 +31,7 @@ export { fetchOTAConfig, applyOTAConfig, getOTAConfig } from './utils/otaConfig'
31
31
  export { setInvokeErrorHandler, resetInvokeErrorHandler, reportInvokeError, createInvokeError, } from './utils/invokeError';
32
32
  export type { InvokeError, InvokeErrorCode } from './utils/invokeError';
33
33
  export { loadPersistedAnalytics, persistAnalytics, clearPersistedAnalytics } from './utils/persistentAnalytics';
34
- export type { InvokeSource, IntentDefinition, IntentParameter, ParameterType, ParameterValue, ResolvedIntent, DonationInput, ShortcutDefinition, SpotlightItem, WidgetDefinition, WidgetAction, WidgetSize, WidgetDataValue, NotificationCategoryDefinition, NotificationActionDefinition, LocationParameter, PersonParameter, EnumOption, InvokeConfig, AppEntityDefinition, AppEntityProperty, BackgroundIntentResult, LiveActivityConfig, LiveActivityAlertConfig, LiveActivityInfo, FocusFilterDefinition, FocusFilterParameter, AppClipDefinition, SliceDefinition, PTTSessionState, OTAIntentPatch, OTAConfig, AnalyticsRecord, FocusMode, } from './types';
34
+ export type { InvokeSource, IntentDefinition, IntentParameter, ParameterType, ParameterValue, ResolvedIntent, DonationInput, ShortcutDefinition, SpotlightItem, WidgetDefinition, WidgetAction, WidgetSize, WidgetDataValue, InvokeWidgetPayload, NotificationCategoryDefinition, NotificationActionDefinition, LocationParameter, PersonParameter, EnumOption, InvokeConfig, AppEntityDefinition, AppEntityProperty, BackgroundIntentResult, LiveActivityConfig, LiveActivityAlertConfig, LiveActivityInfo, FocusFilterDefinition, FocusFilterParameter, AppClipDefinition, SliceDefinition, PTTSessionState, OTAIntentPatch, OTAConfig, AnalyticsRecord, FocusMode, } from './types';
35
35
  export type { UseInvokeOptions, UseInvokeResult } from './hooks/useInvoke';
36
36
  export type { UseShortcutsResult } from './hooks/useShortcuts';
37
37
  export type { UseSpotlightResult } from './hooks/useSpotlight';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,27 @@ export declare function getDynamicShortcuts(): ShortcutDefinition[];
11
11
  export declare function clearDynamicShortcuts(): void;
12
12
  export declare function indexSpotlightItems(items: SpotlightItem[]): void;
13
13
  export declare function deindexSpotlightItems(ids: string[]): void;
14
- export declare function setWidgetData(key: string, value: WidgetDataValue | Record<string, WidgetDataValue>): void;
15
- export declare function getWidgetData(key: string): WidgetDataValue | Record<string, WidgetDataValue> | null;
14
+ /**
15
+ * Write data to the home screen widget via the shared App Group UserDefaults.
16
+ *
17
+ * Pass an `InvokeWidgetPayload` to populate the built-in expo-invoke widget,
18
+ * or any serialisable object for a custom widget extension.
19
+ *
20
+ * @example
21
+ * import { setWidgetData } from 'expo-invoke';
22
+ * import type { InvokeWidgetPayload } from 'expo-invoke';
23
+ *
24
+ * const payload: InvokeWidgetPayload = {
25
+ * count: activeErrands.length,
26
+ * badgeLabel: 'Active Errands',
27
+ * title: activeErrands[0]?.title ?? null,
28
+ * subtitle: activeErrands[0]?.status ?? null,
29
+ * detail: activeErrands[0]?.carrier?.name ?? null,
30
+ * };
31
+ * setWidgetData('errandsWidgetData', payload);
32
+ */
33
+ export declare function setWidgetData(key: string, value: WidgetDataValue | Record<string, unknown>): void;
34
+ export declare function getWidgetData<T = WidgetDataValue | Record<string, unknown>>(key: string): T | null;
16
35
  export type QuickTileState = 'active' | 'inactive' | 'unavailable';
17
36
  export declare function updateQuickTile(state: QuickTileState, label: string): void;
18
37
  export declare function advertiseHandoff(intentId: string, params?: Record<string, unknown>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,YAAY,EACZ,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EAChB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,cAAc,EACf,MAAM,SAAS,CAAC;AAiEjB,wBAAgB,SAAS,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAEpD;AAID,wBAAgB,gBAAgB,IAAI,cAAc,GAAG,IAAI,CAIxD;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,GACzC,iBAAiB,CAQnB;AAID,wBAAgB,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAEvD;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEnD;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAID,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAEzE;AAED,wBAAgB,mBAAmB,IAAI,kBAAkB,EAAE,CAK1D;AAED,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C;AAID,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,IAAI,CAEhE;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAEzD;AAID;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAEjG;AAED,wBAAgB,aAAa,CAAC,CAAC,GAAG,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAKlG;AAID,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAC;AAEnE,wBAAgB,eAAe,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAE1E;AAID,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,IAAI,CAE7F;AAED,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAID,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEhF;AAID,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEtD;AAID,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,UAAU,GAAE,MAAM,GAAG,IAAW,GAAG,IAAI,CAEnE;AAID,wBAAgB,YAAY,IAAI,SAAS,CAGxC;AAID,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAEhF;AAID,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,GACxC,IAAI,CAEN;AAID,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAE7F;AAID,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,CAGnF;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAC3C,IAAI,CAEN;AAED,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GAC1C,IAAI,CAEN;AAED,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAKrE;AAID,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhG;AAED,wBAAsB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEpE;AAED,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/F;AAED,wBAAsB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAK7E;AAID,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAEvD;AAID,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,eAAe,CAAC,CAKtE;AAED,wBAAsB,uBAAuB,IAAI,OAAO,CAAC,IAAI,CAAC,CAE7D"}
@@ -64,6 +64,25 @@ export function deindexSpotlightItems(ids) {
64
64
  NativeModule === null || NativeModule === void 0 ? void 0 : NativeModule.deindexSpotlightItems(ids);
65
65
  }
66
66
  // ─── Widget data ──────────────────────────────────────────────────────────────
67
+ /**
68
+ * Write data to the home screen widget via the shared App Group UserDefaults.
69
+ *
70
+ * Pass an `InvokeWidgetPayload` to populate the built-in expo-invoke widget,
71
+ * or any serialisable object for a custom widget extension.
72
+ *
73
+ * @example
74
+ * import { setWidgetData } from 'expo-invoke';
75
+ * import type { InvokeWidgetPayload } from 'expo-invoke';
76
+ *
77
+ * const payload: InvokeWidgetPayload = {
78
+ * count: activeErrands.length,
79
+ * badgeLabel: 'Active Errands',
80
+ * title: activeErrands[0]?.title ?? null,
81
+ * subtitle: activeErrands[0]?.status ?? null,
82
+ * detail: activeErrands[0]?.carrier?.name ?? null,
83
+ * };
84
+ * setWidgetData('errandsWidgetData', payload);
85
+ */
67
86
  export function setWidgetData(key, value) {
68
87
  NativeModule === null || NativeModule === void 0 ? void 0 : NativeModule.setWidgetData(key, JSON.stringify(value));
69
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/module.ts"],"names":[],"mappings":"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"}
@@ -154,6 +154,31 @@ export interface SpotlightItem {
154
154
  keywords?: string[];
155
155
  }
156
156
  export type WidgetDataValue = string | number | boolean | null;
157
+ /**
158
+ * Standard payload shape for the expo-invoke built-in widget.
159
+ * Write this via setWidgetData(key, payload) — the widget reads it from
160
+ * the shared App Group UserDefaults and renders accordingly.
161
+ *
162
+ * All fields except `count` and `badgeLabel` are optional — the widget
163
+ * gracefully renders empty states when they are absent.
164
+ */
165
+ export interface InvokeWidgetPayload {
166
+ /** Prominent number shown in the widget (e.g. active errand count) */
167
+ count: number;
168
+ /** Label underneath the count (e.g. "Active Errands") */
169
+ badgeLabel: string;
170
+ /** Main item title (e.g. errand name, order name) */
171
+ title?: string | null;
172
+ /** Secondary status text (e.g. "In Progress", "Delivered") */
173
+ subtitle?: string | null;
174
+ /** Extra detail line (e.g. carrier name, assignee) */
175
+ detail?: string | null;
176
+ /**
177
+ * Optional per-item deep-link URL override.
178
+ * Falls back to the widgetDeepLink set in app.json when omitted.
179
+ */
180
+ deepLink?: string | null;
181
+ }
157
182
  export interface AppEntityProperty {
158
183
  name: string;
159
184
  type: 'text' | 'number' | 'date';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "expo-invoke",
3
- "version": "2.0.0",
3
+ "version": "2.2.0",
4
4
  "description": "The complete native-surface-to-JS bridge for Expo. One intent config → Siri, Google Assistant, home screen widgets, Dynamic Island, app icon menus, notification actions, NFC, QR, deep links and more — all through a single useInvoke() hook.",
5
5
  "main": "build/src/index.js",
6
6
  "module": "build/src/index.js",