@capgo/capacitor-screen-orientation 8.1.21 → 8.3.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 +347 -9
- package/android/build.gradle +2 -0
- package/android/src/main/java/ee/forgr/capacitor/screenorientation/CapacitorScreenOrientationPlugin.java +211 -1
- package/android/src/main/java/ee/forgr/capacitor/screenorientation/FoldLayout.java +176 -0
- package/dist/docs.json +809 -37
- package/dist/esm/definitions.d.ts +375 -0
- package/dist/esm/definitions.js.map +1 -1
- package/dist/esm/web.d.ts +15 -1
- package/dist/esm/web.js +52 -0
- package/dist/esm/web.js.map +1 -1
- package/dist/plugin.cjs.js +54 -1
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +54 -1
- package/dist/plugin.js.map +1 -1
- package/ios/Sources/CapacitorScreenOrientationPlugin/CapacitorScreenOrientationPlugin.swift +128 -1
- package/ios/Sources/CapacitorScreenOrientationPlugin/IPhoneDuoFold.swift +258 -0
- package/package.json +1 -1
package/dist/docs.json
CHANGED
|
@@ -176,50 +176,323 @@
|
|
|
176
176
|
],
|
|
177
177
|
"slug": "isorientationlocked"
|
|
178
178
|
},
|
|
179
|
+
{
|
|
180
|
+
"name": "isDeviceFoldable",
|
|
181
|
+
"signature": "() => Promise<DeviceFoldableResult>",
|
|
182
|
+
"parameters": [],
|
|
183
|
+
"returns": "Promise<DeviceFoldableResult>",
|
|
184
|
+
"tags": [
|
|
185
|
+
{
|
|
186
|
+
"name": "since",
|
|
187
|
+
"text": "8.2.0"
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"name": "returns",
|
|
191
|
+
"text": "Fold capability of this device."
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"name": "example",
|
|
195
|
+
"text": "```typescript\nconst { foldable, supportsTabletop } = await ScreenOrientation.isDeviceFoldable();\n```"
|
|
196
|
+
}
|
|
197
|
+
],
|
|
198
|
+
"docs": "Whether this device folds, and whether it can stand half-open like a laptop.\n\nBoth flags are `false` on web, on Android phones that do not fold, and on iOS except iPhone Duo (iOS 27.1 or later).",
|
|
199
|
+
"complexTypes": [
|
|
200
|
+
"DeviceFoldableResult"
|
|
201
|
+
],
|
|
202
|
+
"slug": "isdevicefoldable"
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
"name": "getFoldState",
|
|
206
|
+
"signature": "() => Promise<FoldState>",
|
|
207
|
+
"parameters": [],
|
|
208
|
+
"returns": "Promise<FoldState>",
|
|
209
|
+
"tags": [
|
|
210
|
+
{
|
|
211
|
+
"name": "since",
|
|
212
|
+
"text": "8.2.0"
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"name": "returns",
|
|
216
|
+
"text": "The current fold state."
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"name": "example",
|
|
220
|
+
"text": "```typescript\nconst { posture, hingeOrientation } = await ScreenOrientation.getFoldState();\n```"
|
|
221
|
+
}
|
|
222
|
+
],
|
|
223
|
+
"docs": "Read the current fold.\n\nResolves to a flat state when the device has no fold.",
|
|
224
|
+
"complexTypes": [
|
|
225
|
+
"FoldState"
|
|
226
|
+
],
|
|
227
|
+
"slug": "getfoldstate"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"name": "getHingeAngle",
|
|
231
|
+
"signature": "() => Promise<HingeAngleResult>",
|
|
232
|
+
"parameters": [],
|
|
233
|
+
"returns": "Promise<HingeAngleResult>",
|
|
234
|
+
"tags": [
|
|
235
|
+
{
|
|
236
|
+
"name": "since",
|
|
237
|
+
"text": "8.2.0"
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"name": "returns",
|
|
241
|
+
"text": "The latest hinge angle."
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"name": "example",
|
|
245
|
+
"text": "```typescript\nconst { angle } = await ScreenOrientation.getHingeAngle();\n```"
|
|
246
|
+
}
|
|
247
|
+
],
|
|
248
|
+
"docs": "Read the hinge angle in degrees.\n\n`0` is closed and `180` is flat. `angle` is `null` without a hinge sensor.",
|
|
249
|
+
"complexTypes": [
|
|
250
|
+
"HingeAngleResult"
|
|
251
|
+
],
|
|
252
|
+
"slug": "gethingeangle"
|
|
253
|
+
},
|
|
254
|
+
{
|
|
255
|
+
"name": "getReservedRegions",
|
|
256
|
+
"signature": "() => Promise<{ regions: ReservedRegion[]; }>",
|
|
257
|
+
"parameters": [],
|
|
258
|
+
"returns": "Promise<{ regions: ReservedRegion[]; }>",
|
|
259
|
+
"tags": [
|
|
260
|
+
{
|
|
261
|
+
"name": "since",
|
|
262
|
+
"text": "8.2.0"
|
|
263
|
+
},
|
|
264
|
+
{
|
|
265
|
+
"name": "returns",
|
|
266
|
+
"text": "The reserved regions."
|
|
267
|
+
}
|
|
268
|
+
],
|
|
269
|
+
"docs": "Read the fold and anything covering the screen.\n\niPhone Duo reports the fold, the vertical status bar area, and the under-display camera.\nResolves to an empty list on Android, web, and iOS before 27.1.",
|
|
270
|
+
"complexTypes": [
|
|
271
|
+
"ReservedRegion"
|
|
272
|
+
],
|
|
273
|
+
"slug": "getreservedregions"
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
"name": "getBarPlacement",
|
|
277
|
+
"signature": "() => Promise<BarPlacement>",
|
|
278
|
+
"parameters": [],
|
|
279
|
+
"returns": "Promise<BarPlacement>",
|
|
280
|
+
"tags": [
|
|
281
|
+
{
|
|
282
|
+
"name": "since",
|
|
283
|
+
"text": "8.2.0"
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
"name": "returns",
|
|
287
|
+
"text": "The current bar placement."
|
|
288
|
+
}
|
|
289
|
+
],
|
|
290
|
+
"docs": "Read where iPhone Duo puts native tab bars and toolbars.\n\n`verticalBarEdge` is `null` when bars stay horizontal, and always on Android and web.",
|
|
291
|
+
"complexTypes": [
|
|
292
|
+
"BarPlacement"
|
|
293
|
+
],
|
|
294
|
+
"slug": "getbarplacement"
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"name": "setVerticalBarBehavior",
|
|
298
|
+
"signature": "(options: { behavior: 'automatic' | 'disabled'; }) => Promise<{ applied: boolean; }>",
|
|
299
|
+
"parameters": [
|
|
300
|
+
{
|
|
301
|
+
"name": "options",
|
|
302
|
+
"docs": "`automatic` lets the system move bars. `disabled` keeps them horizontal.",
|
|
303
|
+
"type": "{ behavior: 'automatic' | 'disabled'; }"
|
|
304
|
+
}
|
|
305
|
+
],
|
|
306
|
+
"returns": "Promise<{ applied: boolean; }>",
|
|
307
|
+
"tags": [
|
|
308
|
+
{
|
|
309
|
+
"name": "since",
|
|
310
|
+
"text": "8.2.0"
|
|
311
|
+
},
|
|
312
|
+
{
|
|
313
|
+
"name": "param",
|
|
314
|
+
"text": "options `automatic` lets the system move bars. `disabled` keeps them horizontal."
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"name": "returns",
|
|
318
|
+
"text": "Whether the app applied the choice."
|
|
319
|
+
}
|
|
320
|
+
],
|
|
321
|
+
"docs": "Choose whether iPhone Duo may move this app's bars to the side.\n\nResolves to `{ applied: false }` unless the app's bridge view controller opts in.\nAndroid and web always resolve to `{ applied: false }`.",
|
|
322
|
+
"complexTypes": [],
|
|
323
|
+
"slug": "setverticalbarbehavior"
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
"name": "getSizeClass",
|
|
327
|
+
"signature": "() => Promise<SizeClass>",
|
|
328
|
+
"parameters": [],
|
|
329
|
+
"returns": "Promise<SizeClass>",
|
|
330
|
+
"tags": [
|
|
331
|
+
{
|
|
332
|
+
"name": "since",
|
|
333
|
+
"text": "8.2.0"
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"name": "returns",
|
|
337
|
+
"text": "Apple and Material size classes for the current window."
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
"name": "example",
|
|
341
|
+
"text": "```typescript\nconst { horizontal, widthClass } = await ScreenOrientation.getSizeClass();\n```"
|
|
342
|
+
}
|
|
343
|
+
],
|
|
344
|
+
"docs": "Read the window size classes.",
|
|
345
|
+
"complexTypes": [
|
|
346
|
+
"SizeClass"
|
|
347
|
+
],
|
|
348
|
+
"slug": "getsizeclass"
|
|
349
|
+
},
|
|
179
350
|
{
|
|
180
351
|
"name": "addListener",
|
|
181
352
|
"signature": "(eventName: 'screenOrientationChange', listenerFunc: (result: ScreenOrientationResult) => void) => Promise<PluginListenerHandle>",
|
|
182
353
|
"parameters": [
|
|
183
354
|
{
|
|
184
355
|
"name": "eventName",
|
|
185
|
-
"docs": "
|
|
356
|
+
"docs": "",
|
|
186
357
|
"type": "'screenOrientationChange'"
|
|
187
358
|
},
|
|
188
359
|
{
|
|
189
360
|
"name": "listenerFunc",
|
|
190
|
-
"docs": "
|
|
361
|
+
"docs": "",
|
|
191
362
|
"type": "(result: ScreenOrientationResult) => void"
|
|
192
363
|
}
|
|
193
364
|
],
|
|
194
365
|
"returns": "Promise<PluginListenerHandle>",
|
|
366
|
+
"tags": [],
|
|
367
|
+
"docs": "",
|
|
368
|
+
"complexTypes": [
|
|
369
|
+
"PluginListenerHandle",
|
|
370
|
+
"ScreenOrientationResult"
|
|
371
|
+
],
|
|
372
|
+
"slug": "addlistenerscreenorientationchange-"
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"name": "addListener",
|
|
376
|
+
"signature": "(eventName: 'foldStateChange', listenerFunc: (state: FoldState) => void) => Promise<PluginListenerHandle>",
|
|
377
|
+
"parameters": [
|
|
378
|
+
{
|
|
379
|
+
"name": "eventName",
|
|
380
|
+
"docs": "The event name. Must be 'foldStateChange'.",
|
|
381
|
+
"type": "'foldStateChange'"
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
"name": "listenerFunc",
|
|
385
|
+
"docs": "Callback invoked with the new fold state.",
|
|
386
|
+
"type": "(state: FoldState) => void"
|
|
387
|
+
}
|
|
388
|
+
],
|
|
389
|
+
"returns": "Promise<PluginListenerHandle>",
|
|
195
390
|
"tags": [
|
|
196
391
|
{
|
|
197
392
|
"name": "since",
|
|
198
|
-
"text": "
|
|
393
|
+
"text": "8.2.0"
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
"name": "param",
|
|
397
|
+
"text": "eventName The event name. Must be 'foldStateChange'."
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"name": "param",
|
|
401
|
+
"text": "listenerFunc Callback invoked with the new fold state."
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
"name": "returns",
|
|
405
|
+
"text": "A promise that resolves to a listener handle."
|
|
406
|
+
}
|
|
407
|
+
],
|
|
408
|
+
"docs": "Listen for fold changes.\n\nOn a foldable this also fires when the device rotates, because the hinge\nbounds rotate with the window.",
|
|
409
|
+
"complexTypes": [
|
|
410
|
+
"PluginListenerHandle",
|
|
411
|
+
"FoldState"
|
|
412
|
+
],
|
|
413
|
+
"slug": "addlistenerfoldstatechange-"
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"name": "addListener",
|
|
417
|
+
"signature": "(eventName: 'hingeAngleChange', listenerFunc: (event: HingeAngleResult) => void) => Promise<PluginListenerHandle>",
|
|
418
|
+
"parameters": [
|
|
419
|
+
{
|
|
420
|
+
"name": "eventName",
|
|
421
|
+
"docs": "The event name. Must be 'hingeAngleChange'.",
|
|
422
|
+
"type": "'hingeAngleChange'"
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"name": "listenerFunc",
|
|
426
|
+
"docs": "Callback invoked with the angle in degrees.",
|
|
427
|
+
"type": "(event: HingeAngleResult) => void"
|
|
428
|
+
}
|
|
429
|
+
],
|
|
430
|
+
"returns": "Promise<PluginListenerHandle>",
|
|
431
|
+
"tags": [
|
|
432
|
+
{
|
|
433
|
+
"name": "since",
|
|
434
|
+
"text": "8.2.0"
|
|
199
435
|
},
|
|
200
436
|
{
|
|
201
437
|
"name": "param",
|
|
202
|
-
"text": "eventName The event name. Must be '
|
|
438
|
+
"text": "eventName The event name. Must be 'hingeAngleChange'."
|
|
203
439
|
},
|
|
204
440
|
{
|
|
205
441
|
"name": "param",
|
|
206
|
-
"text": "listenerFunc Callback
|
|
442
|
+
"text": "listenerFunc Callback invoked with the angle in degrees."
|
|
207
443
|
},
|
|
208
444
|
{
|
|
209
445
|
"name": "returns",
|
|
210
446
|
"text": "A promise that resolves to a listener handle."
|
|
447
|
+
}
|
|
448
|
+
],
|
|
449
|
+
"docs": "Listen for hinge angle changes.\n\nOn Android the hinge sensor runs only while at least one listener is registered.\nOn iOS this fires on iPhone Duo (iOS 27.1 or later). Never fires on web.",
|
|
450
|
+
"complexTypes": [
|
|
451
|
+
"PluginListenerHandle",
|
|
452
|
+
"HingeAngleResult"
|
|
453
|
+
],
|
|
454
|
+
"slug": "addlistenerhingeanglechange-"
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
"name": "addListener",
|
|
458
|
+
"signature": "(eventName: 'sizeClassChange', listenerFunc: (sizeClass: SizeClass) => void) => Promise<PluginListenerHandle>",
|
|
459
|
+
"parameters": [
|
|
460
|
+
{
|
|
461
|
+
"name": "eventName",
|
|
462
|
+
"docs": "The event name. Must be 'sizeClassChange'.",
|
|
463
|
+
"type": "'sizeClassChange'"
|
|
211
464
|
},
|
|
212
465
|
{
|
|
213
|
-
"name": "
|
|
214
|
-
"
|
|
466
|
+
"name": "listenerFunc",
|
|
467
|
+
"docs": "Callback invoked with the new size class.",
|
|
468
|
+
"type": "(sizeClass: SizeClass) => void"
|
|
469
|
+
}
|
|
470
|
+
],
|
|
471
|
+
"returns": "Promise<PluginListenerHandle>",
|
|
472
|
+
"tags": [
|
|
473
|
+
{
|
|
474
|
+
"name": "since",
|
|
475
|
+
"text": "8.2.0"
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
"name": "param",
|
|
479
|
+
"text": "eventName The event name. Must be 'sizeClassChange'."
|
|
480
|
+
},
|
|
481
|
+
{
|
|
482
|
+
"name": "param",
|
|
483
|
+
"text": "listenerFunc Callback invoked with the new size class."
|
|
484
|
+
},
|
|
485
|
+
{
|
|
486
|
+
"name": "returns",
|
|
487
|
+
"text": "A promise that resolves to a listener handle."
|
|
215
488
|
}
|
|
216
489
|
],
|
|
217
|
-
"docs": "Listen for
|
|
490
|
+
"docs": "Listen for size class changes, such as unfolding, rotating, or resizing.",
|
|
218
491
|
"complexTypes": [
|
|
219
492
|
"PluginListenerHandle",
|
|
220
|
-
"
|
|
493
|
+
"SizeClass"
|
|
221
494
|
],
|
|
222
|
-
"slug": "
|
|
495
|
+
"slug": "addlistenersizeclasschange-"
|
|
223
496
|
},
|
|
224
497
|
{
|
|
225
498
|
"name": "removeAllListeners",
|
|
@@ -428,46 +701,496 @@
|
|
|
428
701
|
]
|
|
429
702
|
},
|
|
430
703
|
{
|
|
431
|
-
"name": "
|
|
432
|
-
"slug": "
|
|
433
|
-
"docs": "",
|
|
434
|
-
"tags": [
|
|
704
|
+
"name": "DeviceFoldableResult",
|
|
705
|
+
"slug": "devicefoldableresult",
|
|
706
|
+
"docs": "Whether this device can fold.",
|
|
707
|
+
"tags": [
|
|
708
|
+
{
|
|
709
|
+
"text": "8.2.0",
|
|
710
|
+
"name": "since"
|
|
711
|
+
}
|
|
712
|
+
],
|
|
435
713
|
"methods": [],
|
|
436
714
|
"properties": [
|
|
437
715
|
{
|
|
438
|
-
"name": "
|
|
439
|
-
"tags": [
|
|
440
|
-
|
|
716
|
+
"name": "foldable",
|
|
717
|
+
"tags": [
|
|
718
|
+
{
|
|
719
|
+
"text": "8.2.0",
|
|
720
|
+
"name": "since"
|
|
721
|
+
}
|
|
722
|
+
],
|
|
723
|
+
"docs": "Whether the device has a fold.",
|
|
441
724
|
"complexTypes": [],
|
|
442
|
-
"type": "
|
|
725
|
+
"type": "boolean"
|
|
726
|
+
},
|
|
727
|
+
{
|
|
728
|
+
"name": "supportsTabletop",
|
|
729
|
+
"tags": [
|
|
730
|
+
{
|
|
731
|
+
"text": "8.2.0",
|
|
732
|
+
"name": "since"
|
|
733
|
+
}
|
|
734
|
+
],
|
|
735
|
+
"docs": "Whether it can stand half-open like a laptop.",
|
|
736
|
+
"complexTypes": [],
|
|
737
|
+
"type": "boolean"
|
|
443
738
|
}
|
|
444
739
|
]
|
|
445
|
-
}
|
|
446
|
-
],
|
|
447
|
-
"enums": [],
|
|
448
|
-
"typeAliases": [
|
|
740
|
+
},
|
|
449
741
|
{
|
|
450
|
-
"name": "
|
|
451
|
-
"slug": "
|
|
452
|
-
"docs": "
|
|
453
|
-
"
|
|
742
|
+
"name": "FoldState",
|
|
743
|
+
"slug": "foldstate",
|
|
744
|
+
"docs": "Current fold of the window.\n\nPhones that do not fold, and iOS before 27.1, resolve to a flat state.\niPhone Duo reports `book`, `tabletop`, or `flat`, and which display is in front.",
|
|
745
|
+
"tags": [
|
|
454
746
|
{
|
|
455
|
-
"text": "
|
|
456
|
-
"
|
|
457
|
-
}
|
|
747
|
+
"text": "8.2.0",
|
|
748
|
+
"name": "since"
|
|
749
|
+
}
|
|
750
|
+
],
|
|
751
|
+
"methods": [],
|
|
752
|
+
"properties": [
|
|
458
753
|
{
|
|
459
|
-
"
|
|
460
|
-
"
|
|
754
|
+
"name": "state",
|
|
755
|
+
"tags": [
|
|
756
|
+
{
|
|
757
|
+
"text": "8.2.0",
|
|
758
|
+
"name": "since"
|
|
759
|
+
}
|
|
760
|
+
],
|
|
761
|
+
"docs": "Posture of the fold.",
|
|
762
|
+
"complexTypes": [
|
|
763
|
+
"FoldStateValue"
|
|
764
|
+
],
|
|
765
|
+
"type": "FoldStateValue"
|
|
461
766
|
},
|
|
462
767
|
{
|
|
463
|
-
"
|
|
464
|
-
"
|
|
768
|
+
"name": "isSeparating",
|
|
769
|
+
"tags": [
|
|
770
|
+
{
|
|
771
|
+
"text": "8.2.0",
|
|
772
|
+
"name": "since"
|
|
773
|
+
}
|
|
774
|
+
],
|
|
775
|
+
"docs": "Whether the fold splits the web view into two areas.",
|
|
776
|
+
"complexTypes": [],
|
|
777
|
+
"type": "boolean"
|
|
465
778
|
},
|
|
466
779
|
{
|
|
467
|
-
"
|
|
468
|
-
"
|
|
469
|
-
|
|
470
|
-
|
|
780
|
+
"name": "posture",
|
|
781
|
+
"tags": [
|
|
782
|
+
{
|
|
783
|
+
"text": "8.2.0",
|
|
784
|
+
"name": "since"
|
|
785
|
+
}
|
|
786
|
+
],
|
|
787
|
+
"docs": "How the device is held.",
|
|
788
|
+
"complexTypes": [
|
|
789
|
+
"FoldPosture"
|
|
790
|
+
],
|
|
791
|
+
"type": "FoldPosture"
|
|
792
|
+
},
|
|
793
|
+
{
|
|
794
|
+
"name": "hingeOrientation",
|
|
795
|
+
"tags": [
|
|
796
|
+
{
|
|
797
|
+
"text": "8.2.0",
|
|
798
|
+
"name": "since"
|
|
799
|
+
}
|
|
800
|
+
],
|
|
801
|
+
"docs": "Direction of the hinge. Omitted when there is no fold.",
|
|
802
|
+
"complexTypes": [
|
|
803
|
+
"HingeOrientation"
|
|
804
|
+
],
|
|
805
|
+
"type": "HingeOrientation"
|
|
806
|
+
},
|
|
807
|
+
{
|
|
808
|
+
"name": "hingeBounds",
|
|
809
|
+
"tags": [
|
|
810
|
+
{
|
|
811
|
+
"text": "8.2.0",
|
|
812
|
+
"name": "since"
|
|
813
|
+
}
|
|
814
|
+
],
|
|
815
|
+
"docs": "Position of the fold in CSS pixels. Omitted when there is no fold.",
|
|
816
|
+
"complexTypes": [
|
|
817
|
+
"FoldBounds"
|
|
818
|
+
],
|
|
819
|
+
"type": "FoldBounds"
|
|
820
|
+
},
|
|
821
|
+
{
|
|
822
|
+
"name": "occludedBounds",
|
|
823
|
+
"tags": [
|
|
824
|
+
{
|
|
825
|
+
"text": "8.2.0",
|
|
826
|
+
"name": "since"
|
|
827
|
+
}
|
|
828
|
+
],
|
|
829
|
+
"docs": "Area the hinge covers. Present when the hinge has a physical gap.",
|
|
830
|
+
"complexTypes": [
|
|
831
|
+
"FoldBounds"
|
|
832
|
+
],
|
|
833
|
+
"type": "FoldBounds"
|
|
834
|
+
},
|
|
835
|
+
{
|
|
836
|
+
"name": "activeDisplay",
|
|
837
|
+
"tags": [
|
|
838
|
+
{
|
|
839
|
+
"text": "8.2.0",
|
|
840
|
+
"name": "since"
|
|
841
|
+
}
|
|
842
|
+
],
|
|
843
|
+
"docs": "Which display is showing the app on iPhone Duo. Omitted on Android, web, and iOS before 27.1.",
|
|
844
|
+
"complexTypes": [],
|
|
845
|
+
"type": "'inner' | 'outer' | undefined"
|
|
846
|
+
},
|
|
847
|
+
{
|
|
848
|
+
"name": "hingeMargins",
|
|
849
|
+
"tags": [
|
|
850
|
+
{
|
|
851
|
+
"text": "8.2.0",
|
|
852
|
+
"name": "since"
|
|
853
|
+
}
|
|
854
|
+
],
|
|
855
|
+
"docs": "Space the system keeps clear around the fold, in CSS pixels. iPhone Duo reports 20 on each side of a vertical fold.",
|
|
856
|
+
"complexTypes": [],
|
|
857
|
+
"type": "{ top: number; right: number; bottom: number; left: number; } | undefined"
|
|
858
|
+
},
|
|
859
|
+
{
|
|
860
|
+
"name": "cameraBounds",
|
|
861
|
+
"tags": [
|
|
862
|
+
{
|
|
863
|
+
"text": "8.2.0",
|
|
864
|
+
"name": "since"
|
|
865
|
+
}
|
|
866
|
+
],
|
|
867
|
+
"docs": "Areas covering the display, such as the iPhone Duo camera. Omitted when there are none.",
|
|
868
|
+
"complexTypes": [
|
|
869
|
+
"FoldBounds"
|
|
870
|
+
],
|
|
871
|
+
"type": "FoldBounds[] | undefined"
|
|
872
|
+
}
|
|
873
|
+
]
|
|
874
|
+
},
|
|
875
|
+
{
|
|
876
|
+
"name": "FoldBounds",
|
|
877
|
+
"slug": "foldbounds",
|
|
878
|
+
"docs": "A rectangle in CSS pixels, relative to the web view.",
|
|
879
|
+
"tags": [
|
|
880
|
+
{
|
|
881
|
+
"text": "8.2.0",
|
|
882
|
+
"name": "since"
|
|
883
|
+
}
|
|
884
|
+
],
|
|
885
|
+
"methods": [],
|
|
886
|
+
"properties": [
|
|
887
|
+
{
|
|
888
|
+
"name": "x",
|
|
889
|
+
"tags": [],
|
|
890
|
+
"docs": "",
|
|
891
|
+
"complexTypes": [],
|
|
892
|
+
"type": "number"
|
|
893
|
+
},
|
|
894
|
+
{
|
|
895
|
+
"name": "y",
|
|
896
|
+
"tags": [],
|
|
897
|
+
"docs": "",
|
|
898
|
+
"complexTypes": [],
|
|
899
|
+
"type": "number"
|
|
900
|
+
},
|
|
901
|
+
{
|
|
902
|
+
"name": "width",
|
|
903
|
+
"tags": [],
|
|
904
|
+
"docs": "",
|
|
905
|
+
"complexTypes": [],
|
|
906
|
+
"type": "number"
|
|
907
|
+
},
|
|
908
|
+
{
|
|
909
|
+
"name": "height",
|
|
910
|
+
"tags": [],
|
|
911
|
+
"docs": "",
|
|
912
|
+
"complexTypes": [],
|
|
913
|
+
"type": "number"
|
|
914
|
+
}
|
|
915
|
+
]
|
|
916
|
+
},
|
|
917
|
+
{
|
|
918
|
+
"name": "HingeAngleResult",
|
|
919
|
+
"slug": "hingeangleresult",
|
|
920
|
+
"docs": "Angle between the two halves of a foldable, in degrees.\n\n`0` is closed and `180` is flat. `angle` is `null` when the device has no hinge sensor.",
|
|
921
|
+
"tags": [
|
|
922
|
+
{
|
|
923
|
+
"text": "8.2.0",
|
|
924
|
+
"name": "since"
|
|
925
|
+
}
|
|
926
|
+
],
|
|
927
|
+
"methods": [],
|
|
928
|
+
"properties": [
|
|
929
|
+
{
|
|
930
|
+
"name": "angle",
|
|
931
|
+
"tags": [
|
|
932
|
+
{
|
|
933
|
+
"text": "8.2.0",
|
|
934
|
+
"name": "since"
|
|
935
|
+
}
|
|
936
|
+
],
|
|
937
|
+
"docs": "Hinge angle in degrees, or `null` when no sensor is available.",
|
|
938
|
+
"complexTypes": [],
|
|
939
|
+
"type": "number | null"
|
|
940
|
+
},
|
|
941
|
+
{
|
|
942
|
+
"name": "status",
|
|
943
|
+
"tags": [
|
|
944
|
+
{
|
|
945
|
+
"text": "8.2.0",
|
|
946
|
+
"name": "since"
|
|
947
|
+
}
|
|
948
|
+
],
|
|
949
|
+
"docs": "How far open iPhone Duo is, as the system sees it. `null` on Android and web.",
|
|
950
|
+
"complexTypes": [],
|
|
951
|
+
"type": "'closed' | 'partiallyOpen' | 'fullyOpen' | null | undefined"
|
|
952
|
+
}
|
|
953
|
+
]
|
|
954
|
+
},
|
|
955
|
+
{
|
|
956
|
+
"name": "ReservedRegion",
|
|
957
|
+
"slug": "reservedregion",
|
|
958
|
+
"docs": "A region the system reserves on iPhone Duo.\n\n`division` is the fold. `occlusion` is something covering the display, such as the camera.",
|
|
959
|
+
"tags": [
|
|
960
|
+
{
|
|
961
|
+
"text": "8.2.0",
|
|
962
|
+
"name": "since"
|
|
963
|
+
}
|
|
964
|
+
],
|
|
965
|
+
"methods": [],
|
|
966
|
+
"properties": [
|
|
967
|
+
{
|
|
968
|
+
"name": "kind",
|
|
969
|
+
"tags": [
|
|
970
|
+
{
|
|
971
|
+
"text": "8.2.0",
|
|
972
|
+
"name": "since"
|
|
973
|
+
}
|
|
974
|
+
],
|
|
975
|
+
"docs": "What the region is.",
|
|
976
|
+
"complexTypes": [],
|
|
977
|
+
"type": "'division' | 'occlusion'"
|
|
978
|
+
},
|
|
979
|
+
{
|
|
980
|
+
"name": "isActive",
|
|
981
|
+
"tags": [
|
|
982
|
+
{
|
|
983
|
+
"text": "8.2.0",
|
|
984
|
+
"name": "since"
|
|
985
|
+
}
|
|
986
|
+
],
|
|
987
|
+
"docs": "Whether the region applies right now. An inactive division is a flat fold.",
|
|
988
|
+
"complexTypes": [],
|
|
989
|
+
"type": "boolean"
|
|
990
|
+
},
|
|
991
|
+
{
|
|
992
|
+
"name": "x",
|
|
993
|
+
"tags": [
|
|
994
|
+
{
|
|
995
|
+
"text": "8.2.0",
|
|
996
|
+
"name": "since"
|
|
997
|
+
}
|
|
998
|
+
],
|
|
999
|
+
"docs": "Left edge, in CSS pixels.",
|
|
1000
|
+
"complexTypes": [],
|
|
1001
|
+
"type": "number"
|
|
1002
|
+
},
|
|
1003
|
+
{
|
|
1004
|
+
"name": "y",
|
|
1005
|
+
"tags": [
|
|
1006
|
+
{
|
|
1007
|
+
"text": "8.2.0",
|
|
1008
|
+
"name": "since"
|
|
1009
|
+
}
|
|
1010
|
+
],
|
|
1011
|
+
"docs": "Top edge, in CSS pixels.",
|
|
1012
|
+
"complexTypes": [],
|
|
1013
|
+
"type": "number"
|
|
1014
|
+
},
|
|
1015
|
+
{
|
|
1016
|
+
"name": "width",
|
|
1017
|
+
"tags": [
|
|
1018
|
+
{
|
|
1019
|
+
"text": "8.2.0",
|
|
1020
|
+
"name": "since"
|
|
1021
|
+
}
|
|
1022
|
+
],
|
|
1023
|
+
"docs": "Width in CSS pixels.",
|
|
1024
|
+
"complexTypes": [],
|
|
1025
|
+
"type": "number"
|
|
1026
|
+
},
|
|
1027
|
+
{
|
|
1028
|
+
"name": "height",
|
|
1029
|
+
"tags": [
|
|
1030
|
+
{
|
|
1031
|
+
"text": "8.2.0",
|
|
1032
|
+
"name": "since"
|
|
1033
|
+
}
|
|
1034
|
+
],
|
|
1035
|
+
"docs": "Height in CSS pixels.",
|
|
1036
|
+
"complexTypes": [],
|
|
1037
|
+
"type": "number"
|
|
1038
|
+
},
|
|
1039
|
+
{
|
|
1040
|
+
"name": "margins",
|
|
1041
|
+
"tags": [
|
|
1042
|
+
{
|
|
1043
|
+
"text": "8.2.0",
|
|
1044
|
+
"name": "since"
|
|
1045
|
+
}
|
|
1046
|
+
],
|
|
1047
|
+
"docs": "Space to keep clear around the region, in CSS pixels.",
|
|
1048
|
+
"complexTypes": [],
|
|
1049
|
+
"type": "{ top: number; right: number; bottom: number; left: number; }"
|
|
1050
|
+
}
|
|
1051
|
+
]
|
|
1052
|
+
},
|
|
1053
|
+
{
|
|
1054
|
+
"name": "BarPlacement",
|
|
1055
|
+
"slug": "barplacement",
|
|
1056
|
+
"docs": "Where iPhone Duo places native bars.",
|
|
1057
|
+
"tags": [
|
|
1058
|
+
{
|
|
1059
|
+
"text": "8.2.0",
|
|
1060
|
+
"name": "since"
|
|
1061
|
+
}
|
|
1062
|
+
],
|
|
1063
|
+
"methods": [],
|
|
1064
|
+
"properties": [
|
|
1065
|
+
{
|
|
1066
|
+
"name": "verticalBarEdge",
|
|
1067
|
+
"tags": [
|
|
1068
|
+
{
|
|
1069
|
+
"text": "8.2.0",
|
|
1070
|
+
"name": "since"
|
|
1071
|
+
}
|
|
1072
|
+
],
|
|
1073
|
+
"docs": "The edge the system moves tab bars and toolbars to. `null` when they stay horizontal.",
|
|
1074
|
+
"complexTypes": [],
|
|
1075
|
+
"type": "'leading' | 'trailing' | null"
|
|
1076
|
+
},
|
|
1077
|
+
{
|
|
1078
|
+
"name": "inset",
|
|
1079
|
+
"tags": [
|
|
1080
|
+
{
|
|
1081
|
+
"text": "8.2.0",
|
|
1082
|
+
"name": "since"
|
|
1083
|
+
}
|
|
1084
|
+
],
|
|
1085
|
+
"docs": "How much room the vertical bar takes, in points. `0` when bars stay horizontal.",
|
|
1086
|
+
"complexTypes": [],
|
|
1087
|
+
"type": "number"
|
|
1088
|
+
}
|
|
1089
|
+
]
|
|
1090
|
+
},
|
|
1091
|
+
{
|
|
1092
|
+
"name": "SizeClass",
|
|
1093
|
+
"slug": "sizeclass",
|
|
1094
|
+
"docs": "Window size classes.\n\n`horizontal` and `vertical` follow Apple's compact/regular split.\nOn Android and web, `regular` starts at 600 CSS pixels wide and 480 tall.\n`widthClass` and `heightClass` follow Material window size classes.",
|
|
1095
|
+
"tags": [
|
|
1096
|
+
{
|
|
1097
|
+
"text": "8.2.0",
|
|
1098
|
+
"name": "since"
|
|
1099
|
+
}
|
|
1100
|
+
],
|
|
1101
|
+
"methods": [],
|
|
1102
|
+
"properties": [
|
|
1103
|
+
{
|
|
1104
|
+
"name": "horizontal",
|
|
1105
|
+
"tags": [
|
|
1106
|
+
{
|
|
1107
|
+
"text": "8.2.0",
|
|
1108
|
+
"name": "since"
|
|
1109
|
+
}
|
|
1110
|
+
],
|
|
1111
|
+
"docs": "Width size class. `compact` on a phone, `regular` on the inner display of a foldable, a tablet, or a window at least 600 CSS pixels wide.",
|
|
1112
|
+
"complexTypes": [],
|
|
1113
|
+
"type": "'compact' | 'regular'"
|
|
1114
|
+
},
|
|
1115
|
+
{
|
|
1116
|
+
"name": "vertical",
|
|
1117
|
+
"tags": [
|
|
1118
|
+
{
|
|
1119
|
+
"text": "8.2.0",
|
|
1120
|
+
"name": "since"
|
|
1121
|
+
}
|
|
1122
|
+
],
|
|
1123
|
+
"docs": "Height size class. `regular` starts at 480 CSS pixels.",
|
|
1124
|
+
"complexTypes": [],
|
|
1125
|
+
"type": "'compact' | 'regular'"
|
|
1126
|
+
},
|
|
1127
|
+
{
|
|
1128
|
+
"name": "widthClass",
|
|
1129
|
+
"tags": [
|
|
1130
|
+
{
|
|
1131
|
+
"text": "8.2.0",
|
|
1132
|
+
"name": "since"
|
|
1133
|
+
}
|
|
1134
|
+
],
|
|
1135
|
+
"docs": "Material window width class.",
|
|
1136
|
+
"complexTypes": [],
|
|
1137
|
+
"type": "'compact' | 'medium' | 'expanded' | 'large' | 'extraLarge'"
|
|
1138
|
+
},
|
|
1139
|
+
{
|
|
1140
|
+
"name": "heightClass",
|
|
1141
|
+
"tags": [
|
|
1142
|
+
{
|
|
1143
|
+
"text": "8.2.0",
|
|
1144
|
+
"name": "since"
|
|
1145
|
+
}
|
|
1146
|
+
],
|
|
1147
|
+
"docs": "Material window height class.",
|
|
1148
|
+
"complexTypes": [],
|
|
1149
|
+
"type": "'compact' | 'medium' | 'expanded'"
|
|
1150
|
+
}
|
|
1151
|
+
]
|
|
1152
|
+
},
|
|
1153
|
+
{
|
|
1154
|
+
"name": "PluginListenerHandle",
|
|
1155
|
+
"slug": "pluginlistenerhandle",
|
|
1156
|
+
"docs": "",
|
|
1157
|
+
"tags": [],
|
|
1158
|
+
"methods": [],
|
|
1159
|
+
"properties": [
|
|
1160
|
+
{
|
|
1161
|
+
"name": "remove",
|
|
1162
|
+
"tags": [],
|
|
1163
|
+
"docs": "",
|
|
1164
|
+
"complexTypes": [],
|
|
1165
|
+
"type": "() => Promise<void>"
|
|
1166
|
+
}
|
|
1167
|
+
]
|
|
1168
|
+
}
|
|
1169
|
+
],
|
|
1170
|
+
"enums": [],
|
|
1171
|
+
"typeAliases": [
|
|
1172
|
+
{
|
|
1173
|
+
"name": "OrientationType",
|
|
1174
|
+
"slug": "orientationtype",
|
|
1175
|
+
"docs": "Orientation type that describes the orientation state of the device.",
|
|
1176
|
+
"types": [
|
|
1177
|
+
{
|
|
1178
|
+
"text": "'portrait-primary'",
|
|
1179
|
+
"complexTypes": []
|
|
1180
|
+
},
|
|
1181
|
+
{
|
|
1182
|
+
"text": "'portrait-secondary'",
|
|
1183
|
+
"complexTypes": []
|
|
1184
|
+
},
|
|
1185
|
+
{
|
|
1186
|
+
"text": "'landscape-primary'",
|
|
1187
|
+
"complexTypes": []
|
|
1188
|
+
},
|
|
1189
|
+
{
|
|
1190
|
+
"text": "'landscape-secondary'",
|
|
1191
|
+
"complexTypes": []
|
|
1192
|
+
}
|
|
1193
|
+
]
|
|
471
1194
|
},
|
|
472
1195
|
{
|
|
473
1196
|
"name": "OrientationLockType",
|
|
@@ -507,6 +1230,55 @@
|
|
|
507
1230
|
"complexTypes": []
|
|
508
1231
|
}
|
|
509
1232
|
]
|
|
1233
|
+
},
|
|
1234
|
+
{
|
|
1235
|
+
"name": "FoldStateValue",
|
|
1236
|
+
"slug": "foldstatevalue",
|
|
1237
|
+
"docs": "How open a foldable is.\n\n`closed` is reserved. A device shut onto its cover display reports `flat`.",
|
|
1238
|
+
"types": [
|
|
1239
|
+
{
|
|
1240
|
+
"text": "'flat'",
|
|
1241
|
+
"complexTypes": []
|
|
1242
|
+
},
|
|
1243
|
+
{
|
|
1244
|
+
"text": "'half-opened'",
|
|
1245
|
+
"complexTypes": []
|
|
1246
|
+
}
|
|
1247
|
+
]
|
|
1248
|
+
},
|
|
1249
|
+
{
|
|
1250
|
+
"name": "FoldPosture",
|
|
1251
|
+
"slug": "foldposture",
|
|
1252
|
+
"docs": "How a half-open foldable is held.\n\n`tabletop` is a horizontal hinge, like a laptop. `book` is a vertical hinge.",
|
|
1253
|
+
"types": [
|
|
1254
|
+
{
|
|
1255
|
+
"text": "'flat'",
|
|
1256
|
+
"complexTypes": []
|
|
1257
|
+
},
|
|
1258
|
+
{
|
|
1259
|
+
"text": "'tabletop'",
|
|
1260
|
+
"complexTypes": []
|
|
1261
|
+
},
|
|
1262
|
+
{
|
|
1263
|
+
"text": "'book'",
|
|
1264
|
+
"complexTypes": []
|
|
1265
|
+
}
|
|
1266
|
+
]
|
|
1267
|
+
},
|
|
1268
|
+
{
|
|
1269
|
+
"name": "HingeOrientation",
|
|
1270
|
+
"slug": "hingeorientation",
|
|
1271
|
+
"docs": "Direction of the hinge relative to the window.",
|
|
1272
|
+
"types": [
|
|
1273
|
+
{
|
|
1274
|
+
"text": "'horizontal'",
|
|
1275
|
+
"complexTypes": []
|
|
1276
|
+
},
|
|
1277
|
+
{
|
|
1278
|
+
"text": "'vertical'",
|
|
1279
|
+
"complexTypes": []
|
|
1280
|
+
}
|
|
1281
|
+
]
|
|
510
1282
|
}
|
|
511
1283
|
],
|
|
512
1284
|
"pluginConfigs": []
|