@maccesar/titools 4.4.0 → 4.5.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 (45) hide show
  1. package/README.md +10 -13
  2. package/package.json +1 -1
  3. package/skills/purgetss/SKILL.md +4 -9
  4. package/skills/ti-api/references/api-core.md +24 -69
  5. package/skills/ti-api/references/api-data-network.md +18 -63
  6. package/skills/ti-api/references/api-media.md +225 -107
  7. package/skills/ti-api/references/api-modules-coremotion-urlsession.md +6 -20
  8. package/skills/ti-api/references/api-modules-map.md +45 -58
  9. package/skills/ti-api/references/api-modules-nfc.md +23 -56
  10. package/skills/ti-api/references/api-modules-social-misc.md +23 -3
  11. package/skills/ti-api/references/api-ui-android.md +16 -37
  12. package/skills/ti-api/references/api-ui-extras.md +106 -87
  13. package/skills/ti-api/references/api-ui-lists.md +103 -57
  14. package/skills/ti-api/references/api-ui-text-input.md +13 -39
  15. package/skills/ti-api/references/api-ui-windows-navigation.md +95 -93
  16. package/skills/ti-api/references/api-xml-global.md +25 -60
  17. package/skills/ti-expert/SKILL.md +8 -11
  18. package/skills/ti-expert/references/adaptive-layouts.md +15 -43
  19. package/skills/ti-expert/references/alloy-builtins.md +1 -4
  20. package/skills/ti-expert/references/alloy-structure.md +4 -12
  21. package/skills/ti-expert/references/anti-patterns.md +16 -45
  22. package/skills/ti-expert/references/code-conventions.md +2 -6
  23. package/skills/ti-expert/references/controller-patterns.md +1 -3
  24. package/skills/ti-expert/references/examples.md +3 -10
  25. package/skills/ti-expert/references/feedback-migration.md +17 -39
  26. package/skills/ti-expert/references/feedback-surfaces.md +19 -48
  27. package/skills/ti-expert/references/feedback-widget-contracts.md +31 -69
  28. package/skills/ti-expert/references/file-type-association.md +265 -0
  29. package/skills/ti-expert/references/migration-patterns.md +8 -18
  30. package/skills/ti-expert/references/sharing.md +227 -0
  31. package/skills/ti-expert/references/theming.md +20 -45
  32. package/skills/ti-guides/SKILL.md +5 -1
  33. package/skills/ti-guides/references/coding-best-practices.md +1 -2
  34. package/skills/ti-guides/references/compatibility-matrix.md +89 -0
  35. package/skills/ti-guides/references/resources.md +7 -1
  36. package/skills/ti-guides/references/sdk-release-notes.md +75 -0
  37. package/skills/ti-guides/references/style-and-conventions.md +1 -2
  38. package/skills/ti-howtos/references/debugging-profiling.md +1 -2
  39. package/skills/ti-howtos/references/location-and-maps.md +1 -2
  40. package/skills/ti-howtos/references/using-modules.md +1 -2
  41. package/skills/ti-howtos/references/web-content-integration.md +1 -2
  42. package/skills/ti-howtos/references/webpack-build-pipeline.md +1 -2
  43. package/skills/ti-ui/references/listviews-and-performance.md +5 -10
  44. package/skills/ti-ui/references/orientation.md +1 -2
  45. package/skills/ti-ui/references/scrolling-views.md +7 -1
@@ -110,21 +110,15 @@
110
110
  > Extends Ti.Proxy
111
111
  > Platforms: both
112
112
 
113
- The `Annotation` object gives you low-level control over annotations that can be added to
114
- [map view](Modules.Map.View). An annotation must have its `latitude` and `longitude`
115
- properties set to appear on a map.
113
+ The `Annotation` object gives you low-level control over annotations that can be added to [map view](Modules.Map.View). An annotation must have its `latitude` and `longitude` properties set to appear on a map.
116
114
 
117
- Use the <Modules.Map.createAnnotation> method to create an annotation. Starting with Alloy
118
- 1.4.0, use the **`<Annotation>`** Alloy element to define one in XML markup.
115
+ Use the <Modules.Map.createAnnotation> method to create an annotation. Starting with Alloy 1.4.0, use the **`<Annotation>`** Alloy element to define one in XML markup.
119
116
 
120
- An annotation can also have a title, a subtitle, and two inset buttons or views on the left
121
- and right side of the title. All of these items are optional.
117
+ An annotation can also have a title, a subtitle, and two inset buttons or views on the left and right side of the title. All of these items are optional.
122
118
 
123
- The controls on the left and right side of the annotation can be specified in one of two
124
- ways:
119
+ The controls on the left and right side of the annotation can be specified in one of two ways:
125
120
 
126
- * To display an image, set the [leftButton](Titanium.Map.Annotation.leftButton) or
127
- [rightButton](Titanium.Map.Annotation.rightButton) property to an image URL. (On
121
+ * To display an image, set the [leftButton](Titanium.Map.Annotation.leftButton) or [rightButton](Titanium.Map.Annotation.rightButton) property to an image URL. (On
128
122
 
129
123
  *(See full overview in titanium-docs)*
130
124
 
@@ -188,18 +182,13 @@ ways:
188
182
  > Extends Ti.Proxy
189
183
  > Platforms: both
190
184
 
191
- Applying a camera to a map has the effect of giving the map a 3D-like appearance.
192
- You can use a camera to rotate the map so that it is oriented to match the user's
193
- heading or to apply a pitch angle to tilt the plane of the map.
185
+ Applying a camera to a map has the effect of giving the map a 3D-like appearance. You can use a camera to rotate the map so that it is oriented to match the user's heading or to apply a pitch angle to tilt the plane of the map.
194
186
 
195
- If the app is run on pre iOS 7, camera functionality will not be available.
196
- After creating a `Camera` object, it can be applied to the map by setting the `camera` property of the
197
- [map view](Modules.Map.View).
187
+ If the app is run on pre iOS 7, camera functionality will not be available. After creating a `Camera` object, it can be applied to the map by setting the `camera` property of the [map view](Modules.Map.View).
198
188
 
199
189
  Use the <Modules.Map.createCamera> method to create a camera.
200
190
 
201
- If `altitude`, `eyeCoordinate`, and `centerCoordinate` are passed in on creation, a camera will be
202
- returned using the specified viewing angle information.
191
+ If `altitude`, `eyeCoordinate`, and `centerCoordinate` are passed in on creation, a camera will be returned using the specified viewing angle information.
203
192
 
204
193
  ### Example:
205
194
 
@@ -234,8 +223,7 @@ returned using the specified viewing angle information.
234
223
  > Extends Ti.Proxy
235
224
  > Platforms: both
236
225
 
237
- The `Circle` object gives you low-level control over circles that can be added to a
238
- [map view](Modules.Map.View). A circle must have a `center` property and a `radius` set to appear on a map.
226
+ The `Circle` object gives you low-level control over circles that can be added to a [map view](Modules.Map.View). A circle must have a `center` property and a `radius` set to appear on a map.
239
227
 
240
228
  Use the <Modules.Map.createCircle> method to create a circle.
241
229
 
@@ -272,9 +260,7 @@ Use the <Modules.Map.createCircle> method to create a circle.
272
260
  > Extends Ti.Proxy
273
261
  > Platforms: both
274
262
 
275
- The `ImageOverlay` object gives you low-level control over image overlays that can be added to a
276
- [map view](Modules.Map.View). An image overlay must have a `boundsCoordinate` property and a `image`
277
- set to appear on a map.
263
+ The `ImageOverlay` object gives you low-level control over image overlays that can be added to a [map view](Modules.Map.View). An image overlay must have a `boundsCoordinate` property and a `image` set to appear on a map.
278
264
 
279
265
  Use the <Modules.Map.createImageOverlay> method to create an image overlay.
280
266
 
@@ -304,8 +290,7 @@ Use the <Modules.Map.createImageOverlay> method to create an image overlay.
304
290
  > Extends Ti.Proxy
305
291
  > Platforms: both
306
292
 
307
- The `Polygon` object gives you low-level control over polygons that can be added to a
308
- [map view](Modules.Map.View). A polygon must have its `points` property set to appear on a map.
293
+ The `Polygon` object gives you low-level control over polygons that can be added to a [map view](Modules.Map.View). A polygon must have its `points` property set to appear on a map.
309
294
 
310
295
  Use the <Modules.Map.createPolygon> method to create a polygon.
311
296
 
@@ -347,8 +332,7 @@ Use the <Modules.Map.createPolygon> method to create a polygon.
347
332
  > Extends Ti.Proxy
348
333
  > Platforms: both
349
334
 
350
- The `Polyline` object gives you low-level control over polylines that can be added to a
351
- [map view](Modules.Map.View). A polyline must have its `points` property set to appear on a map.
335
+ The `Polyline` object gives you low-level control over polylines that can be added to a [map view](Modules.Map.View). A polyline must have its `points` property set to appear on a map.
352
336
 
353
337
  Use the <Modules.Map.createPolyline> method to create a polyline.
354
338
 
@@ -387,8 +371,7 @@ const polyline = Map.createPolyline({
387
371
  > Extends Ti.Proxy
388
372
  > Platforms: both
389
373
 
390
- The `Route` object gives you low-level control over routes that can be added to a
391
- [map view](Modules.Map.View). A route must have its `points` property set to appear on a map.
374
+ The `Route` object gives you low-level control over routes that can be added to a [map view](Modules.Map.View). A route must have its `points` property set to appear on a map.
392
375
 
393
376
  Use the <Modules.Map.createRoute> method to create a route.
394
377
 
@@ -397,8 +380,7 @@ Use the <Modules.Map.createRoute> method to create a route.
397
380
  The `addRoute` method no longer accepts a dictionary as a parameter. Pass a <Modules.Map.Route> object instead.
398
381
 
399
382
  ### Android Platform Notes
400
- The parameter `points` accepts additional the route in format `encoded polyline`.
401
- https://developers.google.com/maps/documentation/utilities/polylinealgorithm
383
+ The parameter `points` accepts additional the route in format `encoded polyline`. https://developers.google.com/maps/documentation/utilities/polylinealgorithm
402
384
 
403
385
  ### Properties (unique: 4/7)
404
386
  | Property | Type | Default | Platform | Description |
@@ -484,9 +466,7 @@ const Snapshotter = MapModule.createSnapshotter({
484
466
  > Extends Ti.UI.View
485
467
  > Platforms: android
486
468
 
487
- Each street view panorama is an image, or set of images, that provides a full 360-degree view from
488
- a single location. It provides a viewer that renders the panorama as a sphere with a camera at its center.
489
- A window can only contain one street view.
469
+ Each street view panorama is an image, or set of images, that provides a full 360-degree view from a single location. It provides a viewer that renders the panorama as a sphere with a camera at its center. A window can only contain one street view.
490
470
 
491
471
  ### Properties (unique: 5/66)
492
472
  | Property | Type | Default | Platform | Description |
@@ -517,14 +497,11 @@ A window can only contain one street view.
517
497
  > Extends Ti.UI.View
518
498
  > Platforms: both
519
499
 
520
- With native maps, you can control the mapping location, the type of map, the zoom level
521
- and you can add custom annotations and routes directly to the map. Once the map view is
522
- displayed, the user can pan, zoom and tilt the map using the native control gestures.
500
+ With native maps, you can control the mapping location, the type of map, the zoom level and you can add custom annotations and routes directly to the map. Once the map view is displayed, the user can pan, zoom and tilt the map using the native control gestures.
523
501
 
524
502
  Use the <Modules.Map.createView> method to create a map view.
525
503
 
526
- In Alloy, use the **`<Module>`** element with the `module` attribute set to `ti.map`
527
- and `method` attribute set to `createView` to create a map view in XML markup:
504
+ In Alloy, use the **`<Module>`** element with the `module` attribute set to `ti.map` and `method` attribute set to `createView` to create a map view in XML markup:
528
505
 
529
506
 
530
507
  ### Properties (unique: 29/101)
@@ -620,32 +597,42 @@ and `method` attribute set to `createView` to create a map view in XML markup:
620
597
  #### CameraAnimationParams
621
598
  > Simple object used to control camera animations.
622
599
 
623
- | Property | Type | Description |
624
- |----------|------|-------------|
625
- | camera | Modules.Map.Annotation | <Modules.Map.Camera> to be animated to. |
626
- | duration | Number | The amount of time (in milliseconds) that the animation will last. |
627
- | curve | Number | Animation curve or easing function to apply to the animation. |
600
+ | Property | Type | Platform | Description |
601
+ |----------|------|----------|-------------|
602
+ | camera | Modules.Map.Annotation | both | <Modules.Map.Camera> to be animated to. |
603
+ | duration | Number | both | The amount of time (in milliseconds) that the animation will last. |
604
+ | curve | Number | both | Animation curve or easing function to apply to the animation. |
628
605
 
629
606
  #### ClusterAnnotationParams
630
607
  > Simple object used to create cluster annotation view.
631
608
 
632
- | Property | Type | Description |
633
- |----------|------|-------------|
634
- | memberAnnotations | Array<Modules.Map.Annotation> | Array of Modules.Map.Annotation, which is recieved in event 'clusteringstarted'… |
635
- | annotation | Modules.Map.Annotation | <Modules.Map.Annotation> instance, which you want to show as clustered annotati… |
609
+ | Property | Type | Platform | Description |
610
+ |----------|------|----------|-------------|
611
+ | memberAnnotations | Array<Modules.Map.Annotation> | ios | Array of Modules.Map.Annotation, which is received in event 'clusteringstarted'… |
612
+ | annotation | Modules.Map.Annotation | ios | <Modules.Map.Annotation> instance, which you want to show as clustered annotati… |
636
613
 
637
614
  #### MapLocationTypeV2
638
615
  > Simple object used as an argument to [setLocation](Modules.Map.View.setLocation).
639
616
 
640
- | Property | Type | Description |
641
- |----------|------|-------------|
642
- | longitude | Number | Longitude value for the center point of the map, in decimal degrees. |
643
- | latitude | Number | Latitude value for the center point of the map, in decimal degrees. |
644
- | longitudeDelta | Number | The amount of east-to-west distance displayed on the map, measured in decimal d… |
645
- | latitudeDelta | Number | The amount of north-to-south distance displayed on the map, measured in decimal… |
646
- | animate | Boolean | Set to `true` to animate the move to the new location. |
647
-
648
- *Plus 3 more types: MapViewPadding*
617
+ | Property | Type | Platform | Description |
618
+ |----------|------|----------|-------------|
619
+ | longitude | Number | both | Longitude value for the center point of the map, in decimal degrees. |
620
+ | latitude | Number | both | Latitude value for the center point of the map, in decimal degrees. |
621
+ | longitudeDelta | Number | both | The amount of east-to-west distance displayed on the map, measured in decimal d… |
622
+ | latitudeDelta | Number | both | The amount of north-to-south distance displayed on the map, measured in decimal… |
623
+ | animate | Boolean | both | Set to `true` to animate the move to the new location. |
624
+
625
+ #### MapViewPadding
626
+ > The padding applied to the map view using <Modules.Map.View.padding>.
627
+
628
+ | Property | Type | Platform | Description |
629
+ |----------|------|----------|-------------|
630
+ | top | Number | both | Top padding of the map view. |
631
+ | left | Number | both | Left padding of the map view. |
632
+ | bottom | Number | both | Bottom padding of the map view. |
633
+ | right | Number | both | Right padding of the map view. |
634
+
635
+ Also referenced by this API, documented elsewhere: [MapPointType](#mappointtype), [MapRegionTypev2](#mapregiontypev2).
649
636
 
650
637
  ---
651
638
 
@@ -40,9 +40,7 @@
40
40
  > Platforms: both
41
41
  > Type: module
42
42
 
43
- This module provides access to Near Field Communication (NFC) functionality,
44
- allowing applications to read and write (Android-only) NFC tags.
45
- A "tag" may actually be another device that appears as a tag.
43
+ This module provides access to Near Field Communication (NFC) functionality, allowing applications to read and write (Android-only) NFC tags. A "tag" may actually be another device that appears as a tag.
46
44
 
47
45
  ### NFC Resources
48
46
 
@@ -133,9 +131,7 @@ A "tag" may actually be another device that appears as a tag.
133
131
  > Extends Modules.Nfc.NativeTagTechnology
134
132
  > Platforms: ios
135
133
 
136
- Use the <Modules.Nfc.createTagTechnologyMifareUltralight> method to create this tag technology.
137
- See also:
138
- [Mifare Ultralight](https://developer.apple.com/documentation/corenfc/nfcmifaretag?language=objc)
134
+ Use the <Modules.Nfc.createTagTechnologyMifareUltralight> method to create this tag technology. See also: [Mifare Ultralight](https://developer.apple.com/documentation/corenfc/nfcmifaretag?language=objc)
139
135
 
140
136
 
141
137
  ### Methods (5)
@@ -174,8 +170,7 @@ Common methods get called for all the native tags so that we can save the redund
174
170
 
175
171
  Use the <Modules.Nfc.createNdefMessage> method to create an NDEF message.
176
172
 
177
- See also:
178
- [NdefMessage](http://developer.android.com/reference/android/nfc/NdefMessage.html)
173
+ See also: [NdefMessage](http://developer.android.com/reference/android/nfc/NdefMessage.html)
179
174
 
180
175
  ### Properties (unique: 1/3)
181
176
  | Property | Type | Default | Platform | Description |
@@ -196,10 +191,7 @@ See also:
196
191
  > Extends Ti.Proxy
197
192
  > Platforms: both
198
193
 
199
- **Android**:
200
- The NDEF record is the base type for more type-specific NDEF records. You will generally
201
- work with the type-specific NDEF records (e.g. NdefRecordText, NdefRecordUri, etc.) which have
202
- more applicable properties for each type of record.
194
+ **Android**: The NDEF record is the base type for more type-specific NDEF records. You will generally work with the type-specific NDEF records (e.g. NdefRecordText, NdefRecordUri, etc.) which have more applicable properties for each type of record.
203
195
 
204
196
  Use one of the <Modules.Nfc.createNdefRecordApplication>, <Modules.Nfc.createNdefRecordEmpty>,
205
197
 
@@ -233,8 +225,7 @@ Use one of the <Modules.Nfc.createNdefRecordApplication>, <Modules.Nfc.createNde
233
225
 
234
226
  This record type was introduced in Android 4.0 (API level 14).
235
227
 
236
- See also:
237
- [createApplicationRecord](http://developer.android.com/reference/android/nfc/NdefRecord.html#createApplicationRecord(java.lang.String))
228
+ See also: [createApplicationRecord](http://developer.android.com/reference/android/nfc/NdefRecord.html#createApplicationRecord(java.lang.String))
238
229
 
239
230
  ### Properties (unique: 1/9)
240
231
  | Property | Type | Default | Platform | Description |
@@ -261,8 +252,7 @@ See also:
261
252
  > Extends Modules.Nfc.NdefRecord
262
253
  > Platforms: android
263
254
 
264
- See also:
265
- [createExternal](http://developer.android.com/reference/android/nfc/NdefRecord.html#createExternal(java.lang.String,%20java.lang.String,%20byte[]))
255
+ See also: [createExternal](http://developer.android.com/reference/android/nfc/NdefRecord.html#createExternal(java.lang.String,%20java.lang.String,%20byte[]))
266
256
 
267
257
  ### Properties (unique: 2/10)
268
258
  | Property | Type | Default | Platform | Description |
@@ -280,8 +270,7 @@ See also:
280
270
  > Extends Modules.Nfc.NdefRecord
281
271
  > Platforms: android
282
272
 
283
- See also:
284
- [createMime](http://developer.android.com/reference/android/nfc/NdefRecord.html#createMime(java.lang.String,%20byte[]))
273
+ See also: [createMime](http://developer.android.com/reference/android/nfc/NdefRecord.html#createMime(java.lang.String,%20byte[]))
285
274
 
286
275
  ### Properties (unique: 1/9)
287
276
  | Property | Type | Default | Platform | Description |
@@ -343,8 +332,7 @@ See also:
343
332
  > Extends Modules.Nfc.NdefRecord
344
333
  > Platforms: android
345
334
 
346
- See also:
347
- [createUri](http://developer.android.com/reference/android/nfc/NdefRecord.html#createUri(java.lang.String))
335
+ See also: [createUri](http://developer.android.com/reference/android/nfc/NdefRecord.html#createUri(java.lang.String))
348
336
 
349
337
  ### Properties (unique: 1/9)
350
338
  | Property | Type | Default | Platform | Description |
@@ -361,15 +349,11 @@ See also:
361
349
  > Extends Ti.Proxy
362
350
  > Platforms: both
363
351
 
364
- The NFC adapter gives you access to the features of the NFC device. The NFC adapter proxy is always
365
- associated with the activity that was the current activity when it was created. The NFC Adapter must
366
- be created after the activity has been opened. You can use the window `open` event to know when the
367
- activity has been opened.
352
+ The NFC adapter gives you access to the features of the NFC device. The NFC adapter proxy is always associated with the activity that was the current activity when it was created. The NFC Adapter must be created after the activity has been opened. You can use the window `open` event to know when the activity has been opened.
368
353
 
369
354
  Use the <Modules.Nfc.createNfcAdapter> method to create an NFC adapter.
370
355
 
371
- See also:
372
- [NfcAdapter](http://developer.android.com/reference/android/nfc/NfcAdapter.html)
356
+ See also: [NfcAdapter](http://developer.android.com/reference/android/nfc/NfcAdapter.html)
373
357
 
374
358
  ### Properties (unique: 8/11)
375
359
  | Property | Type | Default | Platform | Description |
@@ -407,15 +391,11 @@ See also:
407
391
  > Extends Ti.Proxy
408
392
  > Platforms: android
409
393
 
410
- The <Modules.Nfc.NfcAdapter.enableForegroundDispatch> method is used to give priority to the foreground activity when dispatching
411
- a discovered tag to an application. This proxy is used to specify the intent, intent filters, and technology
412
- lists used to filter the dispatched intents. This proxy automatically creates the required pending intent and
413
- will create an intent for the current activity if one is not provided.
394
+ The <Modules.Nfc.NfcAdapter.enableForegroundDispatch> method is used to give priority to the foreground activity when dispatching a discovered tag to an application. This proxy is used to specify the intent, intent filters, and technology lists used to filter the dispatched intents. This proxy automatically creates the required pending intent and will create an intent for the current activity if one is not provided.
414
395
 
415
396
  Use the <Modules.Nfc.createNfcForegroundDispatchFilter> method to create a foreground dispatch filter.
416
397
 
417
- See also:
418
- [enableForegroundDispatch](http://developer.android.com/reference/android/nfc/NfcAdapter.html#enableForegroundDispatch(android.app.Activity,%20android.app.PendingIntent,%20android.content.IntentFilter[],%20java.lang.String[][]))
398
+ See also: [enableForegroundDispatch](http://developer.android.com/reference/android/nfc/NfcAdapter.html#enableForegroundDispatch(android.app.Activity,%20android.app.PendingIntent,%20android.content.IntentFilter[],%20java.lang.String[][]))
419
399
 
420
400
  ### Properties (unique: 3/5)
421
401
  | Property | Type | Default | Platform | Description |
@@ -478,8 +458,7 @@ Use the <Modules.Nfc.createTagTechNdef> method to create this NDEF tag technolog
478
458
  > Extends Ti.Proxy
479
459
  > Platforms: both
480
460
 
481
- See also:
482
- [Tag](http://developer.android.com/reference/android/nfc/Tag.html)
461
+ See also: [Tag](http://developer.android.com/reference/android/nfc/Tag.html)
483
462
 
484
463
  ### Properties (unique: 2/5)
485
464
  | Property | Type | Default | Platform | Description |
@@ -503,10 +482,7 @@ See also:
503
482
  > Extends Ti.Proxy
504
483
  > Platforms: android
505
484
 
506
- NFC tags are based on a number of independently developed technologies and offer a wide range of
507
- capabilities. The TagTechnology proxies provide access to these different technologies and capabilities.
508
- The TagTechnology proxy is the base type for more type-specific tag technologies. You will
509
- work with the type-specific tag technology proxies which provide capabilities for each tag technology.
485
+ NFC tags are based on a number of independently developed technologies and offer a wide range of capabilities. The TagTechnology proxies provide access to these different technologies and capabilities. The TagTechnology proxy is the base type for more type-specific tag technologies. You will work with the type-specific tag technology proxies which provide capabilities for each tag technology.
510
486
 
511
487
  Use one of the <Modules.Nfc.createTagTechnologyIsoDep>, <Modules.Nfc.createTagTechnologyMifareClassic>,
512
488
 
@@ -534,8 +510,7 @@ Use one of the <Modules.Nfc.createTagTechnologyIsoDep>, <Modules.Nfc.createTagTe
534
510
 
535
511
  Use the <Modules.Nfc.createTagTechnologyIsoDep> method to create this tag technology.
536
512
 
537
- See also:
538
- [IsoDep](http://developer.android.com/reference/android/nfc/tech/IsoDep.html)
513
+ See also: [IsoDep](http://developer.android.com/reference/android/nfc/tech/IsoDep.html)
539
514
 
540
515
 
541
516
  ### Methods (7)
@@ -559,8 +534,7 @@ See also:
559
534
 
560
535
  Use the <Modules.Nfc.createTagTechnologyMifareClassic> method to create this tag technology.
561
536
 
562
- See also:
563
- [MifareClassic](http://developer.android.com/reference/android/nfc/tech/MifareClassic.html)
537
+ See also: [MifareClassic](http://developer.android.com/reference/android/nfc/tech/MifareClassic.html)
564
538
 
565
539
  ### Constants (3)
566
540
  - **KEY_\***: KEY_DEFAULT
@@ -601,8 +575,7 @@ See also:
601
575
 
602
576
  Use the <Modules.Nfc.createTagTechnologyMifareUltralight> method to create this tag technology.
603
577
 
604
- See also:
605
- [MifareUltralight](http://developer.android.com/reference/android/nfc/tech/MifareUltralight.html)
578
+ See also: [MifareUltralight](http://developer.android.com/reference/android/nfc/tech/MifareUltralight.html)
606
579
 
607
580
 
608
581
  ### Methods (7)
@@ -626,8 +599,7 @@ See also:
626
599
 
627
600
  Use the <Modules.Nfc.createTagTechnologyNdef> method to create this tag technology.
628
601
 
629
- See also:
630
- [Ndef](http://developer.android.com/reference/android/nfc/tech/Ndef.html)
602
+ See also: [Ndef](http://developer.android.com/reference/android/nfc/tech/Ndef.html)
631
603
 
632
604
 
633
605
  ### Methods (8)
@@ -652,8 +624,7 @@ See also:
652
624
 
653
625
  Use the <Modules.Nfc.createTagTechnologyNdefFormatable> method to create this tag technology.
654
626
 
655
- See also:
656
- [NdefFormatable](http://developer.android.com/reference/android/nfc/tech/NdefFormatable.html)
627
+ See also: [NdefFormatable](http://developer.android.com/reference/android/nfc/tech/NdefFormatable.html)
657
628
 
658
629
 
659
630
  ### Methods (2)
@@ -672,8 +643,7 @@ See also:
672
643
 
673
644
  Use the <Modules.Nfc.createTagTechnologyNfcA> method to create this tag technology.
674
645
 
675
- See also:
676
- [NfcA](http://developer.android.com/reference/android/nfc/tech/NfcA.html)
646
+ See also: [NfcA](http://developer.android.com/reference/android/nfc/tech/NfcA.html)
677
647
 
678
648
 
679
649
  ### Methods (6)
@@ -696,8 +666,7 @@ See also:
696
666
 
697
667
  Use the <Modules.Nfc.createTagTechnologyNfcB> method to create this tag technology.
698
668
 
699
- See also:
700
- [NfcB](http://developer.android.com/reference/android/nfc/tech/NfcB.html)
669
+ See also: [NfcB](http://developer.android.com/reference/android/nfc/tech/NfcB.html)
701
670
 
702
671
 
703
672
  ### Methods (4)
@@ -718,8 +687,7 @@ See also:
718
687
 
719
688
  Use the <Modules.Nfc.createTagTechnologyNfcF> method to create this tag technology.
720
689
 
721
- See also:
722
- [NfcF](http://developer.android.com/reference/android/nfc/tech/NfcF.html)
690
+ See also: [NfcF](http://developer.android.com/reference/android/nfc/tech/NfcF.html)
723
691
 
724
692
 
725
693
  ### Methods (6)
@@ -742,8 +710,7 @@ See also:
742
710
 
743
711
  Use the <Modules.Nfc.createTagTechnologyNfcV> method to create this tag technology.
744
712
 
745
- See also:
746
- [NfcV](http://developer.android.com/reference/android/nfc/tech/NfcV.html)
713
+ See also: [NfcV](http://developer.android.com/reference/android/nfc/tech/NfcV.html)
747
714
 
748
715
 
749
716
  ### Methods (4)
@@ -206,17 +206,20 @@
206
206
  > Platforms: both
207
207
  > Type: module
208
208
 
209
- ### Properties (unique: 10/50)
209
+ ### Properties (unique: 14/50)
210
210
  | Property | Type | Platform | Description |
211
211
  |----------|------|----------|-------------|
212
212
  | accessToken | String | both | OAuth token set after a successful `authorize`. |
213
213
  | accessTokenExpired | Boolean | both | Returns whether the <Modules.Facebook.accessToken… |
214
214
  | accessTokenActive | Boolean | both | Returns `true` if the <Modules.Facebook.accessTok… |
215
+ | advertiserTrackingEnabled | Boolean | ios | Gets or sets the SDK's advertiser-tracking flag. |
215
216
  | appID | String | both | If not explicitly set, the default will be read f… |
217
+ | authenticationToken | String | android | Returns the raw Authentication Token (JWT) from the most recent Limited Login, … |
216
218
  | canPresentOpenGraphActionDialog | Boolean | android | Checks if the device can support the use of the F… |
217
219
  | expirationDate | Date | both | Time at which the `accessToken` expires. |
218
220
  | loggedIn | Boolean | both | Indicates if the user is logged in. |
219
- | loginTracking | Number | ios | Gets or sets the desired tracking preference to u… |
221
+ | loginTracking | Number | both | Gets or sets the desired tracking preference to use for login attempts. |
222
+ | nonce | String | android | Optional nonce used by Limited Login (`LOGIN_TRACKING_LIMITED`) to bind the iss… |
220
223
  | permissions | Array<String> | both | Array of permissions to request for your app. |
221
224
  | uid | String | both | Unique user ID returned from Facebook. |
222
225
 
@@ -272,13 +275,30 @@
272
275
  ### Events (6)
273
276
  | Event | Platform | Description |
274
277
  |-------|----------|-------------|
275
- | login | both | Fired at session login. |
278
+ | login | both | Fired at session login. Payload: `success`, `cancelled`, `error`, `code`, `uid`, `data`, `authenticationToken`. |
276
279
  | logout | both | Fired at session logout. |
277
280
  | requestDialogCompleted | both | Fired when the Send Request dialog is closed. |
278
281
  | shareCompleted | both | Fired when the Share dialog or Web Share dialog is closed. |
279
282
  | inviteCompleted | both | Fired when the Invite dialog is closed. |
280
283
  | tokenUpdated | both | Fired when [refreshPermissionsFromServer](Modules.Facebook.refreshPermissionsFr… |
281
284
 
285
+ ### Login Tracking and Limited Login
286
+
287
+ `loginTracking` and the `LOGIN_TRACKING_ENABLED` (default) / `LOGIN_TRACKING_LIMITED` constants are supported on **both** platforms. With `LOGIN_TRACKING_LIMITED`, `authorize()` (or `requestNewReadPermissions()`) starts Facebook's OIDC-based Limited Login flow: the SDK returns an Authentication Token (a JWT) instead of a classic Graph access token, delivered as `event.authenticationToken.tokenString` on the `login` event. Verify that JWT's signature server-side against Facebook's JWKS.
288
+
289
+ > **Warning:** `Modules.Facebook.LoginButton` honors `loginTracking` on iOS only. The Android FB SDK's button exposes no Limited Login configuration, so on Android you must trigger Limited Login through `Modules.Facebook.authorize()` rather than through the button.
290
+
291
+ ### Related Types
292
+
293
+ #### LimitedLoginAuthenticationToken
294
+ > Shape of `event.authenticationToken` on the [login](Modules.Facebook.login) event when Limited Login (`LOGIN_TRACKING_LIMITED`) is used.
295
+
296
+ | Property | Type | Platform | Description |
297
+ |----------|------|----------|-------------|
298
+ | tokenString | String | both | The signed JWT (header.payload.signature) issued by Facebook. Verify on your ba… |
299
+ | nonce | String | both | The nonce echoed back by Facebook. Matches the [nonce](Modules.Facebook.nonce) … |
300
+ | graphDomain | String | both | Optional graph domain hint returned by the iOS SDK (e.g. `gaming`). `undefined`… |
301
+
282
302
  ---
283
303
 
284
304
  ## Modules.Facebook.LoginButton
@@ -138,8 +138,7 @@ Use a CardView to layout content that:
138
138
  * Supports variable length content or displays more than three lines of text
139
139
  * Contains rich content or interactive elements, such as comments or a favorite button
140
140
 
141
- If you are displaying a collection of the same type in a uniform layout without many actions,
142
- use a [ListView](Titanium.UI.ListView) or [TableView](Titanium.UI.TableView) instead.
141
+ If you are displaying a collection of the same type in a uniform layout without many actions, use a [ListView](Titanium.UI.ListView) or [TableView](Titanium.UI.TableView) instead.
143
142
 
144
143
  For design guidelines, see
145
144
 
@@ -174,8 +173,7 @@ For design guidelines, see
174
173
  | ------- |
175
174
  | ![Android](./collpasetoolbar_android.jpg) |
176
175
 
177
- CollapseToolbar acts as a top-level container for window content that allows to set a parallax image and title
178
- in the toolbar. The main content goes into `centerView` and will automatically be scrollable.
176
+ CollapseToolbar acts as a top-level container for window content that allows to set a parallax image and title in the toolbar. The main content goes into `centerView` and will automatically be scrollable.
179
177
 
180
178
  ### Properties (unique: 11/18)
181
179
  | Property | Type | Default | Platform | Description |
@@ -206,15 +204,11 @@ in the toolbar. The main content goes into `centerView` and will automatically b
206
204
  | ------- |
207
205
  | ![Android](./drawerlayout_android.png) |
208
206
 
209
- DrawerLayout acts as a top-level container for window content that allows for interactive "drawer"
210
- views to be pulled out from one or both vertical edges of the window.
207
+ DrawerLayout acts as a top-level container for window content that allows for interactive "drawer" views to be pulled out from one or both vertical edges of the window.
211
208
 
212
- As per the Android Design guide, any drawers positioned to the left/start should always contain
213
- content for navigating around the application, whereas any drawers positioned to the right/end
214
- should always contain actions to take on the current content.
209
+ As per the Android Design guide, any drawers positioned to the left/start should always contain content for navigating around the application, whereas any drawers positioned to the right/end should always contain actions to take on the current content.
215
210
 
216
- For design guidelines, see
217
- [Google Design Guidelines: DrawerLayout](https://developer.android.com/training/implementing-navigation/nav-drawer.html)
211
+ For design guidelines, see [Google Design Guidelines: DrawerLayout](https://developer.android.com/training/implementing-navigation/nav-drawer.html)
218
212
 
219
213
  ### Properties (unique: 15/80)
220
214
  | Property | Type | Default | Platform | Description |
@@ -266,8 +260,7 @@ For design guidelines, see
266
260
  > Extends Ti.UI.View
267
261
  > Platforms: android
268
262
 
269
- For design guidelines, see
270
- [Material design: Snackbars](https://material.io/components/buttons-floating-action-button)
263
+ For design guidelines, see [Material design: Snackbars](https://material.io/components/buttons-floating-action-button)
271
264
 
272
265
  ### Properties (unique: 4/30)
273
266
  | Property | Type | Default | Platform | Description |
@@ -295,15 +288,11 @@ For design guidelines, see
295
288
  | ------- |
296
289
  | ![Android](./progressindicator_android.png) |
297
290
 
298
- A progress indicator can be used to show the progress of an operation in the UI to let the
299
- user know that some action is taking place. It is used to indicate an ongoing activity of
300
- determinate or indeterminate length.
291
+ A progress indicator can be used to show the progress of an operation in the UI to let the user know that some action is taking place. It is used to indicate an ongoing activity of determinate or indeterminate length.
301
292
 
302
- Use the <Titanium.UI.Android.createProgressIndicator> method or **`<ProgressIndicator>`** Alloy
303
- element to create a progress indicator.
293
+ Use the <Titanium.UI.Android.createProgressIndicator> method or **`<ProgressIndicator>`** Alloy element to create a progress indicator.
304
294
 
305
- A progress indicator can be either a progress dialog or a horizontal progress bar in the title
306
- of the window. The progress dialog is a modal dialog that blocks the UI. See also:
295
+ A progress indicator can be either a progress dialog or a horizontal progress bar in the title of the window. The progress dialog is a modal dialog that blocks the UI. See also:
307
296
 
308
297
  ### Properties (unique: 8/29)
309
298
  | Property | Type | Default | Platform | Description |
@@ -351,12 +340,9 @@ of the window. The progress dialog is a modal dialog that blocks the UI. See als
351
340
 
352
341
  `SearchView` provides a user interface to enter a search query and submit a request to a search provider.
353
342
 
354
- Search views are most commonly used for filtering the rows in a [TableView](Titanium.UI.TableView).
355
- Similar to [SearchBar](Titanium.UI.SearchBar), you can add a search view to a table view by setting the table view's
356
- [search](Titanium.UI.TableView.search) property. A search view can be used without a `TableView`.
343
+ Search views are most commonly used for filtering the rows in a [TableView](Titanium.UI.TableView). Similar to [SearchBar](Titanium.UI.SearchBar), you can add a search view to a table view by setting the table view's [search](Titanium.UI.TableView.search) property. A search view can be used without a `TableView`.
357
344
 
358
- You can also use a `SearchView` object as the <Titanium.UI.ListView.searchView>
359
- property of a [ListView](Titanium.UI.ListView) object.
345
+ You can also use a `SearchView` object as the <Titanium.UI.ListView.searchView> property of a [ListView](Titanium.UI.ListView) object.
360
346
 
361
347
  You can also add `SearchView` to an `ActionBar` as a view (see example below).
362
348
 
@@ -401,8 +387,7 @@ You can also add `SearchView` to an `ActionBar` as a view (see example below).
401
387
  | ------- |
402
388
  | ![Android](./snackbar_android.png) |
403
389
 
404
- For design guidelines, see
405
- [Material design: Snackbars](https://material.io/components/snackbars)
390
+ For design guidelines, see [Material design: Snackbars](https://material.io/components/snackbars)
406
391
 
407
392
  ### Properties (unique: 3/27)
408
393
  | Property | Type | Default | Platform | Description |
@@ -443,14 +428,9 @@ For design guidelines, see
443
428
 
444
429
  A popover is created using the <Titanium.UI.iPad.createPopover> method or **`<Popover>`** Alloy element.
445
430
 
446
- Popovers are used to present information temporarily, but in a way that does not take over
447
- the entire screen in the way that a modal view does. The popover content is layered on top of
448
- the existing content in a special type of window. The popover remains visible until the user
449
- taps outside of the popover window or it is explicitly dismissed.
431
+ Popovers are used to present information temporarily, but in a way that does not take over the entire screen in the way that a modal view does. The popover content is layered on top of the existing content in a special type of window. The popover remains visible until the user taps outside of the popover window or it is explicitly dismissed.
450
432
 
451
- Do not add top-level view containers, such as a `SplitWindow` or `TabGroup`, to a popover.
452
- Adding top-level view containers may have unintended side effects. See the [contentView](Titanium.UI.iPad.Popover.contentView)
453
- property for more information.
433
+ Do not add top-level view containers, such as a `SplitWindow` or `TabGroup`, to a popover. Adding top-level view containers may have unintended side effects. See the [contentView](Titanium.UI.iPad.Popover.contentView) property for more information.
454
434
 
455
435
  ### Properties (unique: 4/13)
456
436
  | Property | Type | Default | Platform | Description |
@@ -498,10 +478,9 @@ property for more information.
498
478
  > Platforms: ios
499
479
  > Type: module
500
480
 
501
- All properties, methods and events in this namespace will only work on the Apple iPad devices.
481
+ All properties, methods and events in this namespace will only work on the Apple iPad devices.
502
482
 
503
- For iOS UI programming guidelines, review the
504
- [iOS Human Interface Guidelines](https://developer.apple.com/ios/human-interface-guidelines/overview/themes/).
483
+ For iOS UI programming guidelines, review the [iOS Human Interface Guidelines](https://developer.apple.com/ios/human-interface-guidelines/overview/themes/).
505
484
 
506
485
  ### Constants (6)
507
486
  - **POPOVER_ARROW_DIRECTION_\***: POPOVER_ARROW_DIRECTION_ANY, POPOVER_ARROW_DIRECTION_DOWN, POPOVER_ARROW_DIRECTION_LEFT, POPOVER_ARROW_DIRECTION_RIGHT, POPOVER_ARROW_DIRECTION_UNKNOWN, POPOVER_ARROW_DIRECTION_UP