diff --git a/config/_default/menus/main.en.yaml b/config/_default/menus/main.en.yaml index f20cc9011e31c..aca7444d5f4e8 100644 --- a/config/_default/menus/main.en.yaml +++ b/config/_default/menus/main.en.yaml @@ -2902,12 +2902,32 @@ menu: parent: actions_heading identifier: action_interface weight: 30000 - - name: Datastore - url: actions/datastore/ + - name: Datastores + url: actions/datastores/ pre: datastores-wui parent: actions_heading - identifier: datastore + identifier: datastores weight: 40000 + - name: Create and Manage Datastores + url: actions/datastores/create/ + parent: datastores + identifier: create + weight: 1 + - name: Use Datastores with Apps and Workflows + url: actions/datastores/use + parent: datastores + identifier: use + weight: 2 + - name: Automation Rules + url: actions/datastores/trigger + parent: datastores + identifier: trigger + weight: 3 + - name: Access and Authentication + url: actions/datastores/auth + parent: datastores + identifier: auth + weight: 4 - name: Action Catalog url: actions/actions_catalog/ pre: books @@ -3643,11 +3663,16 @@ menu: pre: cloud-cost-management parent: cloud_cost_heading weight: 10000 + - name: Datadog Costs + url: cloud_cost_management/datadog_costs + parent: cloud_cost + identifier: cloud_cost_datadog_costs + weight: 1 - name: Setup url: cloud_cost_management/setup/ parent: cloud_cost identifier: cloud_cost_setup - weight: 1 + weight: 2 - name: AWS url: cloud_cost_management/setup/aws/ parent: cloud_cost_setup @@ -3722,47 +3747,12 @@ menu: url: cloud_cost_management/setup/custom parent: cloud_cost_setup identifier: cloud_cost_custom - weight: 105 + weight: 110 - name: Datadog Costs url: cloud_cost_management/datadog_costs parent: cloud_cost identifier: cloud_cost_datadog_costs weight: 2 - - name: Cost Allocation - url: cloud_cost_management/cost_allocation - parent: cloud_cost - identifier: cloud_cost_cost_allocation - weight: 3 - - name: Container Costs - url: cloud_cost_management/cost_allocation/container_cost_allocation/ - parent: cloud_cost_cost_allocation - identifier: cloud_cost_container_cost_allocation - weight: 301 - - name: AWS - url: cloud_cost_management/cost_allocation/container_cost_allocation/?tab=aws#prerequisites - parent: cloud_cost_container_cost_allocation - identifier: cloud_cost_container_cost_allocation_aws - weight: 101 - - name: Azure - url: cloud_cost_management/cost_allocation/container_cost_allocation/?tab=azure#prerequisites - parent: cloud_cost_container_cost_allocation - identifier: cloud_cost_container_cost_allocation_azure - weight: 102 - - name: Google Cloud - url: cloud_cost_management/cost_allocation/container_cost_allocation/?tab=google#prerequisites - parent: cloud_cost_container_cost_allocation - identifier: cloud_cost_container_cost_allocation_google - weight: 103 - - name: BigQuery Costs - url: cloud_cost_management/cost_allocation/bigquery/ - parent: cloud_cost_cost_allocation - identifier: cloud_cost_cost_allocationbigquery - weight: 302 - - name: Custom Allocation Rules - url: cloud_cost_management/custom_allocation_rules - parent: cloud_cost - identifier: cloud_cost_custom_allocation_rules - weight: 4 - name: Planning url: cloud_cost_management/planning parent: cloud_cost @@ -3782,62 +3772,122 @@ menu: url: cloud_cost_management/tags parent: cloud_cost identifier: cloud_cost_tags - weight: 6 + weight: 3 - name: Tag Explorer url: cloud_cost_management/tags/tag_explorer parent: cloud_cost_tags identifier: cloud_cost_tag_explorer - weight: 601 + weight: 301 - name: Tag Pipelines url: cloud_cost_management/tags/tag_pipelines parent: cloud_cost_tags identifier: cloud_cost_tag_pipelines - weight: 602 + weight: 302 - name: Multisource Querying - url: cloud_cost_management/multisource_querying - parent: cloud_cost + url: cloud_cost_management/tags/multisource_querying + parent: cloud_cost_tags identifier: cloud_cost_multisource_querying - weight: 7 - - name: Reports - url: /cloud_cost_management/reports + weight: 303 + - name: Allocation + url: cloud_cost_management/allocation parent: cloud_cost - identifier: cloud_cost_reports - weight: 9 - - name: Scheduled Cost Reports - url: /cloud_cost_management/reports/scheduled_reports - parent: cloud_cost_reports + identifier: cloud_cost_cost_allocation + weight: 4 + - name: Container Cost Allocation + url: cloud_cost_management/allocation/container_cost_allocation + parent: cloud_cost_cost_allocation + identifier: cloud_cost_container_cost_allocation + weight: 401 + - name: AWS + url: cloud_cost_management/allocation/container_cost_allocation/?tab=aws/ + parent: cloud_cost_container_cost_allocation + identifier: cloud_cost_container_cost_allocation_aws + weight: 101 + - name: Azure + url: cloud_cost_management/allocation/container_cost_allocation/?tab=azure + parent: cloud_cost_container_cost_allocation + identifier: cloud_cost_container_cost_allocation_azure + weight: 102 + - name: Google Cloud + url: cloud_cost_management/allocation/container_cost_allocation/?tab=google + parent: cloud_cost_container_cost_allocation + identifier: cloud_cost_container_cost_allocation_google + weight: 103 + - name: BigQuery Costs + url: cloud_cost_management/allocation/bigquery + parent: cloud_cost_cost_allocation + identifier: cloud_cost_cost_allocationbigquery + weight: 402 + - name: Custom Allocation Rules + url: cloud_cost_management/allocation/custom_allocation_rules + parent: cloud_cost_cost_allocation + identifier: cloud_cost_custom_allocation_rules + weight: 403 + - name: Reporting + url: cloud_cost_management/reporting + parent: cloud_cost + identifier: cloud_cost_reporting + weight: 5 + - name: Explorer + url: cloud_cost_management/reporting/explorer + parent: cloud_cost_reporting + identifier: cloud_cost_explorer + weight: 501 + - name: Scheduled Reports + url: cloud_cost_management/reporting/scheduled_reports + parent: cloud_cost_reporting identifier: cloud_cost_scheduled_reports - weight: 901 + weight: 502 - name: Recommendations url: cloud_cost_management/recommendations parent: cloud_cost identifier: cloud_cost_recommendations - weight: 9 + weight: 6 - name: Custom Recommendations url: cloud_cost_management/recommendations/custom_recommendations parent: cloud_cost_recommendations identifier: cloud_cost_custom_recommendations - weight: 901 + weight: 601 - name: Savings url: cloud_cost_management/recommendations/savings parent: cloud_cost_recommendations identifier: cloud_cost_savings - weight: 902 - - name: Monitors - url: /cloud_cost_management/monitors + weight: 602 + - name: Planning + url: cloud_cost_management/planning parent: cloud_cost - identifier: cloud_cost_monitors - weight: 10 - - name: Anomalies - url: /cloud_cost_management/anomalies + identifier: cloud_cost_planning + weight: 7 + - name: Budgets + url: cloud_cost_management/planning/budgets + parent: cloud_cost_planning + identifier: cloud_cost_planning_budgets + weight: 701 + - name: Commitment Programs + url: cloud_cost_management/planning/commitment_programs + parent: cloud_cost_planning + identifier: cloud_cost_planning_commitment_programs + weight: 702 + - name: Cost Changes + url: cloud_cost_management/cost_changes parent: cloud_cost - identifier: cloud_cost_anomalies - weight: 11 + identifier: cloud_cost_cost_changes + weight: 8 + - name: Monitors + url: cloud_cost_management/cost_changes/monitors + parent: cloud_cost_cost_changes + identifier: cloud_cost_cost_changes_monitors + weight: 801 + - name: Anomalies + url: cloud_cost_management/cost_changes/anomalies + parent: cloud_cost_cost_changes + identifier: cloud_cost_cost_changes_anomalies + weight: 802 - name: Real-Time Costs - url: cloud_cost_management/real_time_costs - parent: cloud_cost + url: cloud_cost_management/cost_changes/real_time_costs + parent: cloud_cost_cost_changes identifier: cloud_cost_real_time_costs - weight: 12 + weight: 803 - name: APM url: tracing/ pre: apm @@ -4870,6 +4920,11 @@ menu: parent: llm_obs_external_evaluations identifier: llm_obs_submit_nemo_evaluations weight: 40202 + - name: Compatibility + url: llm_observability/evaluations/evaluation_compatibility + parent: llm_obs_evaluations + identifier: llm_obs_evaluation_compatibility + weight: 403 - name: Experiments url: llm_observability/experiments parent: llm_obs @@ -7044,41 +7099,46 @@ menu: url: synthetics/browser_tests/app-that-requires-login parent: synthetics_browser_tests weight: 304 + - name: Network Path Testing + url: synthetics/network_path_tests/ + parent: synthetics + identifier: synthetics_network_path_tests + weight: 4 - name: Mobile Application Testing url: synthetics/mobile_app_testing/ parent: synthetics identifier: synthetics_mobile_app_testing - weight: 4 + weight: 5 - name: Testing Steps url: synthetics/mobile_app_testing/mobile_app_tests/steps parent: synthetics_mobile_app_testing identifier: synthetics_mobile_app_testing_mobile_app_tests_steps - weight: 401 + weight: 501 - name: Testing Results url: synthetics/mobile_app_testing/mobile_app_tests/results parent: synthetics_mobile_app_testing identifier: synthetics_mobile_app_testing_mobile_app_tests_results - weight: 402 + weight: 502 - name: Advanced Options for Steps url: synthetics/mobile_app_testing/mobile_app_tests/advanced_options parent: synthetics_mobile_app_testing identifier: synthetics_mobile_app_testing_mobile_app_tests_advanced_options - weight: 403 + weight: 503 - name: Supported Devices url: synthetics/mobile_app_testing/devices/ parent: synthetics_mobile_app_testing identifier: synthetics_mobile_app_testing_devices - weight: 404 + weight: 504 - name: Restricted Networks url: synthetics/mobile_app_testing/mobile_app_tests/restricted_networks parent: synthetics_mobile_app_testing identifier: synthetics_mobile_app_testing_restricted_networks - weight: 405 + weight: 505 - name: Settings url: synthetics/mobile_app_testing/settings parent: synthetics_mobile_app_testing identifier: synthetics_mobile_app_testing_settings - weight: 406 + weight: 506 - name: Test Suites url: synthetics/test_suites/ parent: synthetics @@ -7193,42 +7253,42 @@ menu: url: synthetics/guide/ parent: synthetics identifier: synthetics_guides - weight: 8 + weight: 9 - name: Notifications url: synthetics/notifications/ parent: synthetics identifier: synthetics_notifications - weight: 9 + weight: 10 - name: Template Variables url: synthetics/notifications/template_variables parent: synthetics_notifications identifier: synthetics_notifications_template_variables - weight: 901 + weight: 1001 - name: Conditional Alerting url: synthetics/notifications/conditional_alerting parent: synthetics_notifications identifier: synthetics_notifications_conditional_alerting - weight: 902 + weight: 1002 - name: Advanced Notifications url: synthetics/notifications/advanced_notifications parent: synthetics_notifications identifier: synthetics_notifications_advanced_notifications - weight: 903 + weight: 1003 - name: Integrate with Statuspage url: synthetics/notifications/statuspage parent: synthetics_notifications identifier: synthetics_notifications_statuspage - weight: 904 + weight: 1004 - name: Troubleshooting url: synthetics/troubleshooting/ parent: synthetics identifier: synthetics_troubleshooting - weight: 10 + weight: 11 - name: Data Security identifier: data_security_synthetics url: data_security/synthetics/ parent: synthetics - weight: 11 + weight: 12 - name: Continuous Testing url: continuous_testing/ pre: continuous-testing diff --git a/content/en/observability_pipelines/packs/_index.md b/content/en/observability_pipelines/packs/_index.md new file mode 100644 index 0000000000000..84d36f04eeb86 --- /dev/null +++ b/content/en/observability_pipelines/packs/_index.md @@ -0,0 +1,93 @@ +--- +title: Packs +description: Learn more about Observability Pipelines Packs +disable_toc: false +private: true +cascade: + private: true +--- + +## Overview + +When you set up a pipeline to send logs from a specific source to Observability Pipelines, you might have questions such as: + +- Which logs from this source are important? +- Which logs from this source should be dropped? +- Which logs should be retained? +- Should logs be sampled? +- Should quotas be added? + +Oftentimes, you need to consult with different teams to answer these questions. + +Use Observability Pipelines Packs to help you set up and optimize Observability Pipelines without extensive manual configuration. Each pack contains predefined configurations that are specific to a source and identifies: + +- Log fields that can safely be removed +- Logs that can be dropped, such as duplicated logs +- Logs that need to be parsed +- Logs that need to be formatted for the destination + +## Setup + +To set up packs: + +1. Navigate to the [Pipelines][1] page. +1. Click **Packs**. +1. Click the pack you want to set up. +1. You can either create a new pipeline from the pack or add the pack to an existing pipelines. + - If you clicked **Add to New Pipeline**, in the new pipeline that was created: + - Click the processor group that was added to see the individual processors that the pack added and edit them as needed. See [Processors][2] for more information. + - See [Set Up Pipelines][3] for information on setting up the rest of the pipeline. + - If you clicked **Add to Existing Pipeline**: + 1. Select the pipeline you want to add the pack to. + 1. Click **Add to Existing Pipeline**. + - The pack is added to the last processor group in your pipeline. + - Click on the group to review the individual processors and edit them as needed. See [Processors][2] for more information. + +## Packs + +These are the available packs: + +- [Akamai CDN][4] +- [Amazon VPC Flow Logs][5] +- [AWS CloudFront][6] +- [AWS CloudTrail][7] +- [Cisco ASA][8] +- [Cloudflare][9] +- [F5][10] +- [Fastly][11] +- [Fortinet Firewall][12] +- [HAProxy Ingress][13] +- [Istio Proxy][14] +- [Netskope][15] +- [NGINX][16] +- [Okta][17] +- [Palo Alto Firewall][18] +- [Windows XML][19] +- [ZScaler ZIA DNS][20] +- [Zscaler ZIA Firewall][21] +- [Zscaler ZIA Tunnel][22] +- [Zscaler ZIA Web Logs][23] + +[1]: https://app.datadoghq.com/observability-pipelines +[2]: /observability_pipelines/processors/ +[3]: /observability_pipelines/set_up_pipelines/ +[4]: /observability_pipelines/packs/akamai_cdn/ +[5]: /observability_pipelines/packs/amazon_vpc_flow_logs/ +[6]: /observability_pipelines/packs/amazon_cloudfront/ +[7]: /observability_pipelines/packs/aws_cloudtrail/ +[8]: /observability_pipelines/packs/cisco_asa/ +[9]: /observability_pipelines/packs/cloudflare/ +[10]: /observability_pipelines/packs/f5/ +[11]: /observability_pipelines/packs/fastly/ +[12]: /observability_pipelines/packs/fortinet_firewall/ +[13]: /observability_pipelines/packs/haproxy_ingress/ +[14]: /observability_pipelines/packs/istio_proxy/ +[15]: /observability_pipelines/packs/netskope/ +[16]: /observability_pipelines/packs/nginx/ +[17]: /observability_pipelines/packs/okta/ +[18]: /observability_pipelines/packs/palo_alto_firewall/ +[19]: /observability_pipelines/packs/windows_xml/ +[20]: /observability_pipelines/packs/zscaler_zia_dns/ +[21]: /observability_pipelines/packs/zscaler_zia_firewall/ +[22]: /observability_pipelines/packs/zscaler_zia_tunnel/ +[23]: /observability_pipelines/packs/zscaler_zia_web_logs/ \ No newline at end of file diff --git a/content/en/observability_pipelines/packs/akamai_cdn.md b/content/en/observability_pipelines/packs/akamai_cdn.md new file mode 100644 index 0000000000000..f204ba299e8ad --- /dev/null +++ b/content/en/observability_pipelines/packs/akamai_cdn.md @@ -0,0 +1,14 @@ +--- +title: Akamai CDN +description: Learn more about the Akamai CDN pack. +--- + +## Overview + +Akamai logs show client requests and responses at the edge. + +What this pack does: + +- Drops static files, health checks, and bot noise +- Keeps failed, risky, and unusual requests +- Normalizes key values for analysis \ No newline at end of file diff --git a/content/en/observability_pipelines/packs/amazon_cloudfront.md b/content/en/observability_pipelines/packs/amazon_cloudfront.md new file mode 100644 index 0000000000000..6556aa5f46bfc --- /dev/null +++ b/content/en/observability_pipelines/packs/amazon_cloudfront.md @@ -0,0 +1,14 @@ +--- +title: Amazon CloudFront +description: Learn more about the AWS CloudFront pack. +--- + +## Overview + +AWS CloudFront logs show requests, cache use, and edge activity. + +What this pack does: + +- Deduplicates repeated request logs +- Samples high-volume cache hits +- Drops health checks, static, and bot logs \ No newline at end of file diff --git a/content/en/observability_pipelines/packs/amazon_vpc_flow_logs.md b/content/en/observability_pipelines/packs/amazon_vpc_flow_logs.md new file mode 100644 index 0000000000000..3ed6ea95e8bcb --- /dev/null +++ b/content/en/observability_pipelines/packs/amazon_vpc_flow_logs.md @@ -0,0 +1,14 @@ +--- +title: Amazon VPC Flow Logs +description: Learn more about the Amazon VPC Flow Logs pack. +--- + +## Overview + +Amazon VPC Flow Logs capture network traffic between VPC resources. + +What this pack does: + +- Removes unused log metadata +- Drops idle and internal `ACCEPT OK` flows +- Keeps denied and rejected connections \ No newline at end of file diff --git a/content/en/observability_pipelines/packs/aws_cloudtrail.md b/content/en/observability_pipelines/packs/aws_cloudtrail.md new file mode 100644 index 0000000000000..33694f8c4e944 --- /dev/null +++ b/content/en/observability_pipelines/packs/aws_cloudtrail.md @@ -0,0 +1,14 @@ +--- +title: AWS CloudTrail +description: Learn more about the AWS CloudTrail pack. +--- + +## Overview + +AWS CloudTrail records API calls and account activity across AWS services. + +What this pack does: + +- Samples high-frequency, read-only API calls +- Splits multi-record events into clean entries +- Scans for keys, credentials, and role IDs \ No newline at end of file diff --git a/content/en/observability_pipelines/packs/cisco_asa.md b/content/en/observability_pipelines/packs/cisco_asa.md new file mode 100644 index 0000000000000..5ddb7c602e6a6 --- /dev/null +++ b/content/en/observability_pipelines/packs/cisco_asa.md @@ -0,0 +1,14 @@ +--- +title: Cisco ASA +description: Learn more about the Cisco ASA pack. +--- + +## Overview + +Cisco ASA firewall logs capture syslog events for traffic, VPNs, and security alerts. + +What this pack does: + +- Drops redundant and low-value logs +- Normalizes ASA codes +- Keeps denied, VPN, and high alerts \ No newline at end of file diff --git a/content/en/observability_pipelines/packs/cloudflare.md b/content/en/observability_pipelines/packs/cloudflare.md new file mode 100644 index 0000000000000..b831610aaa0a5 --- /dev/null +++ b/content/en/observability_pipelines/packs/cloudflare.md @@ -0,0 +1,14 @@ +--- +title: Cloudflare +description: Learn more about the Cloudflare pack. +--- + +## Overview + +Cloudflare logs show edge traffic, performance, and security. + +What this pack does: + +- Deduplicates traffic, samples low-risk logs +- Keeps key requests and security events +- Filters secrets and removes sensitive fields \ No newline at end of file diff --git a/content/en/observability_pipelines/packs/f5.md b/content/en/observability_pipelines/packs/f5.md new file mode 100644 index 0000000000000..b9c621951d4d9 --- /dev/null +++ b/content/en/observability_pipelines/packs/f5.md @@ -0,0 +1,14 @@ +--- +title: F5 +description: Learn more about the F5 pack. +--- + +## Overview + +F5 logs capture traffic, security policy, and intrusion events. + +What this pack does: + +- Keeps blocked, denied, and intrusion alerts +- Samples high-volume traffic categories +- Drops routine allow events and health checks \ No newline at end of file diff --git a/content/en/observability_pipelines/packs/fastly.md b/content/en/observability_pipelines/packs/fastly.md new file mode 100644 index 0000000000000..dcdaed9a53491 --- /dev/null +++ b/content/en/observability_pipelines/packs/fastly.md @@ -0,0 +1,14 @@ +--- +title: Fastly +description: Learn more about the Fastly pack. +--- + +## Overview + +Fastly CDN logs record client requests, cache states, and delivery performance. + +What this pack does: + +- Samples static assets and `200 OK` logs +- Keeps cache errors and slow outliers +- Normalizes fields, drops bulky headers \ No newline at end of file diff --git a/content/en/observability_pipelines/packs/fortinet_firewall.md b/content/en/observability_pipelines/packs/fortinet_firewall.md new file mode 100644 index 0000000000000..c69279c7fee8c --- /dev/null +++ b/content/en/observability_pipelines/packs/fortinet_firewall.md @@ -0,0 +1,14 @@ +--- +title: Fortinet Firewall +description: Learn more about the Fortinet Firewall pack. +--- + +## Overview + +Fortinet firewall logs record allowed, denied, and other network traffic. + +What this pack does: + +- Drops DNS, health, and internal flows +- Normalizes fields, adds protocol context +- Keeps threats, denied, and anomalous logs \ No newline at end of file diff --git a/content/en/observability_pipelines/packs/haproxy_ingress.md b/content/en/observability_pipelines/packs/haproxy_ingress.md new file mode 100644 index 0000000000000..acd2c87c6110d --- /dev/null +++ b/content/en/observability_pipelines/packs/haproxy_ingress.md @@ -0,0 +1,14 @@ +--- +title: HAProxy Ingress +description: Learn more about the HAProxy Ingress pack. +--- + +## Overview + +HAProxy Ingress logs record how Kubernetes ingress traffic is routed and served. + +What this pack does: + +- Extracts key fields for analysis +- Drops routine health check and metrics endpoints +- Generates metrics to support cluster monitoring \ No newline at end of file diff --git a/content/en/observability_pipelines/packs/istio_proxy.md b/content/en/observability_pipelines/packs/istio_proxy.md new file mode 100644 index 0000000000000..0ebc0945b3232 --- /dev/null +++ b/content/en/observability_pipelines/packs/istio_proxy.md @@ -0,0 +1,14 @@ +--- +title: Istio Proxy +description: Learn more about the Istio Proxy pack. +--- + +## Overview + +Istio Proxy logs capture inbound and outbound traffic handled by Envoy. + +What this pack does: + +- Generates key HTTP metrics for latency, errors, and traffic +- Samples routine successful requests +- Drops low-value noise (health checks, static assets, empty `200` logs) \ No newline at end of file diff --git a/content/en/observability_pipelines/packs/netskope.md b/content/en/observability_pipelines/packs/netskope.md new file mode 100644 index 0000000000000..2b8bf99cffc71 --- /dev/null +++ b/content/en/observability_pipelines/packs/netskope.md @@ -0,0 +1,14 @@ +--- +title: Netskope +description: Learn more about the Netskope pack. +--- + +## Overview + +Netskope logs capture cloud app use, policies, and security events. + +What this pack does: + +- Samples high-volume categories like streaming +- Keeps DLP, malware, policy, and blocked events +- Drops routine SaaS and collaboration traffic \ No newline at end of file diff --git a/content/en/observability_pipelines/packs/nginx.md b/content/en/observability_pipelines/packs/nginx.md new file mode 100644 index 0000000000000..9f580bb822cf3 --- /dev/null +++ b/content/en/observability_pipelines/packs/nginx.md @@ -0,0 +1,14 @@ +--- +title: NGINX +description: Learn more about the NGINX pack. +--- + +## Overview + +NGINX logs record client requests, responses, and errors from the web server. + +What this pack does: + +- Exports request and error metrics +- Drops health checks, static assets, and internal traffic +- Parses logs and standardize key fields \ No newline at end of file diff --git a/content/en/observability_pipelines/packs/okta.md b/content/en/observability_pipelines/packs/okta.md new file mode 100644 index 0000000000000..800c73f8bffcd --- /dev/null +++ b/content/en/observability_pipelines/packs/okta.md @@ -0,0 +1,14 @@ +--- +title: Okta +description: Learn more about the Okta pack. +--- + +## Overview + +Okta logs show authentication, user activity, and policy events. + +What this pack does: + +- Samples routine logins and profile updates +- Keeps high-value security events +- Drops low-value or routine system events \ No newline at end of file diff --git a/content/en/observability_pipelines/packs/palo_alto_firewall.md b/content/en/observability_pipelines/packs/palo_alto_firewall.md new file mode 100644 index 0000000000000..7e5ec3fe3e391 --- /dev/null +++ b/content/en/observability_pipelines/packs/palo_alto_firewall.md @@ -0,0 +1,14 @@ +--- +title: Palo Alto Firewall +description: Learn more about the Palo Alto Firewall pack. +--- + +## Overview + +Palo Alto firewall logs capture traffic, threat, and system events. + +What this pack does: + +- Keeps detections and enforcement logs +- Drops redundant and benign events +- Normalizes traffic, threat, and system fields \ No newline at end of file diff --git a/content/en/observability_pipelines/packs/windows_xml.md b/content/en/observability_pipelines/packs/windows_xml.md new file mode 100644 index 0000000000000..2fe40915cf49f --- /dev/null +++ b/content/en/observability_pipelines/packs/windows_xml.md @@ -0,0 +1,14 @@ +--- +title: Windows XML +description: Learn more about the Windows XML pack. +--- + +## Overview + +Windows Event logs capture system, application, and security activity from Windows hosts. + +What this pack does: + +- Converts verbose XML into JSON +- Drops empty and redundant fields +- Keeps only security-relevant events \ No newline at end of file diff --git a/content/en/observability_pipelines/packs/zscaler_zia_dns.md b/content/en/observability_pipelines/packs/zscaler_zia_dns.md new file mode 100644 index 0000000000000..2f9b399d6c847 --- /dev/null +++ b/content/en/observability_pipelines/packs/zscaler_zia_dns.md @@ -0,0 +1,14 @@ +--- +title: ZScaler ZIA DNS +description: Learn more about the ZScaler ZIA DNS pack. +--- + +## Overview + +ZScaler Internet Access (ZIA) DNS logs capture org-wide DNS activity and policy actions. + +What this pack does: + +- Retains denied and unusual DNS lookups +- Samples high-volume allowed requests +- Filters out predictable internal traffic \ No newline at end of file diff --git a/content/en/observability_pipelines/packs/zscaler_zia_firewall.md b/content/en/observability_pipelines/packs/zscaler_zia_firewall.md new file mode 100644 index 0000000000000..ed3e4ef23a128 --- /dev/null +++ b/content/en/observability_pipelines/packs/zscaler_zia_firewall.md @@ -0,0 +1,14 @@ +--- +title: Zscaler ZIA Firewall +description: Learn more about the Zscaler ZIA Firewall pack. +--- + +## Overview + +Zscaler Internet Access (ZIA) Firewall logs show network traffic and security events. + +What this pack does: + +- Samples routine allowed and internal traffic +- Keeps blocked, threat, and unusual events +- Generates traffic and firewall metrics \ No newline at end of file diff --git a/content/en/observability_pipelines/packs/zscaler_zia_tunnel.md b/content/en/observability_pipelines/packs/zscaler_zia_tunnel.md new file mode 100644 index 0000000000000..c21f9ea09695c --- /dev/null +++ b/content/en/observability_pipelines/packs/zscaler_zia_tunnel.md @@ -0,0 +1,14 @@ +--- +title: Zscaler ZIA Tunnel +description: Learn more about the Zscaler ZIA Tunnel pack. +--- + +## Overview + +Zscaler Internet Access (ZIA) Tunnel logs show tunnel health, traffic, and key events. + +What this pack does: + +- Reduces log volume of routine heartbeat logs +- Consolidates repeated failure alerts +- Standardizes fields for metrics and alerts \ No newline at end of file diff --git a/content/en/observability_pipelines/packs/zscaler_zia_web_logs.md b/content/en/observability_pipelines/packs/zscaler_zia_web_logs.md new file mode 100644 index 0000000000000..affa2795083a1 --- /dev/null +++ b/content/en/observability_pipelines/packs/zscaler_zia_web_logs.md @@ -0,0 +1,14 @@ +--- +title: Zscaler ZIA Web Logs +description: Learn more about the Zscaler ZIA Web Logs pack. +--- + +## Overview + +Zscaler Internet Access (ZIA) Web Logs capture user web activity and security actions. + +What this pack does: + +- Normalizes fields and adds threat context +- Drops routine and low-signal traffic +- Keeps risky, blocked, unknown traffic \ No newline at end of file diff --git a/layouts/shortcodes/mdoc/en/real_user_monitoring/session_replay/mobile/privacy_options.tempAst.json b/layouts/shortcodes/mdoc/en/real_user_monitoring/session_replay/mobile/privacy_options.tempAst.json new file mode 100644 index 0000000000000..520857db53d9c --- /dev/null +++ b/layouts/shortcodes/mdoc/en/real_user_monitoring/session_replay/mobile/privacy_options.tempAst.json @@ -0,0 +1,42981 @@ +{ + "$$mdtype": "Node", + "errors": [], + "lines": [], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 0, + 8 + ], + "inline": false, + "attributes": { + "content": "Pages using this partial must declare these filters:\n\ncontent_filters:\n - trait_id: platform\n option_group_id: rum_sdk_platform_options_v2\n label: \"SDK\"" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 0 + }, + "end": { + "line": 8 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 9, + 10 + ], + "inline": false, + "attributes": { + "level": 2 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 9, + 10 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 9, + 10 + ], + "inline": true, + "attributes": { + "content": "Overview" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 9 + }, + "end": { + "line": 10 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 9 + }, + "end": { + "line": 10 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 9 + }, + "end": { + "line": 10 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 11, + 12 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 11, + 12 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 11, + 12 + ], + "inline": true, + "attributes": { + "content": "Session Replay provides privacy controls to ensure organizations of any scale do not expose sensitive or personal data. Data is stored on Datadog-managed cloud instances and encrypted at rest." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 11 + }, + "end": { + "line": 12 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 11 + }, + "end": { + "line": 12 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 11 + }, + "end": { + "line": 12 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 13, + 14 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 13, + 14 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 13, + 14 + ], + "inline": true, + "attributes": { + "content": "Default privacy options for Session Replay protect end user privacy and prevent sensitive organizational information from being collected." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 13 + }, + "end": { + "line": 14 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 13 + }, + "end": { + "line": 14 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 13 + }, + "end": { + "line": 14 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 15, + 16 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 15, + 16 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 15, + 16 + ], + "inline": true, + "attributes": { + "content": "By enabling Mobile Session Replay, you can automatically mask sensitive elements from being recorded through the RUM Mobile SDK. When data is masked, that data is not collected in its original form by Datadog's SDKs and thus is not sent to the backend." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 15 + }, + "end": { + "line": 16 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 15 + }, + "end": { + "line": 16 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 15 + }, + "end": { + "line": 16 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 17, + 18 + ], + "inline": false, + "attributes": { + "level": 2 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 17, + 18 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 17, + 18 + ], + "inline": true, + "attributes": { + "content": "Fine-grained masking" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 17 + }, + "end": { + "line": 18 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 17 + }, + "end": { + "line": 18 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 17 + }, + "end": { + "line": 18 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 19, + 20 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 19, + 20 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 19, + 20 + ], + "inline": true, + "attributes": { + "content": "Using the masking modes below, you can override the default setup on a per-application basis. Masking is fine-grained, which means you can override masking for text and inputs, images, and touches individually to create a custom configuration that suits your needs." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 19 + }, + "end": { + "line": 20 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 19 + }, + "end": { + "line": 20 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 19 + }, + "end": { + "line": 20 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 21, + 22 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 21, + 22 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 21, + 22 + ], + "inline": true, + "attributes": { + "content": "Text and input masking" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 21 + }, + "end": { + "line": 22 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 21 + }, + "end": { + "line": 22 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 21 + }, + "end": { + "line": 22 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 23, + 24 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 23, + 24 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 23, + 24 + ], + "inline": true, + "attributes": { + "content": "By default, the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 23 + }, + "end": { + "line": 24 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 23, + 24 + ], + "inline": true, + "attributes": { + "content": "mask_all" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 23 + }, + "end": { + "line": 24 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 23, + 24 + ], + "inline": true, + "attributes": { + "content": " setting is enabled for all data. With this setting enabled, all text and input content on screen is masked, as shown below." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 23 + }, + "end": { + "line": 24 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 23 + }, + "end": { + "line": 24 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 23 + }, + "end": { + "line": 24 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 25, + 26 + ], + "inline": false, + "attributes": { + "src": "real_user_monitoring/session_replay/mobile/masking-mode-mask-all-2.png", + "alt": "What your application screen may resemble when `mask` is enabled.", + "style": "width:50%;" + }, + "children": [], + "type": "tag", + "tag": "img", + "annotations": [ + { + "type": "attribute", + "name": "src", + "value": "real_user_monitoring/session_replay/mobile/masking-mode-mask-all-2.png" + }, + { + "type": "attribute", + "name": "alt", + "value": "What your application screen may resemble when `mask` is enabled." + }, + { + "type": "attribute", + "name": "style", + "value": "width:50%;" + } + ], + "slots": {}, + "location": { + "start": { + "line": 25 + }, + "end": { + "line": 26 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 27, + 28 + ], + "inline": false, + "attributes": { + "level": 4 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 27, + 28 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 27, + 28 + ], + "inline": true, + "attributes": { + "content": "Mask sensitive inputs" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 27 + }, + "end": { + "line": 28 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 27 + }, + "end": { + "line": 28 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 27 + }, + "end": { + "line": 28 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 29, + 30 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 29, + 30 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 29, + 30 + ], + "inline": true, + "attributes": { + "content": "With the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 29 + }, + "end": { + "line": 30 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 29, + 30 + ], + "inline": true, + "attributes": { + "content": "mask_sensitive_inputs" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 29 + }, + "end": { + "line": 30 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 29, + 30 + ], + "inline": true, + "attributes": { + "content": " setting enabled, all text and inputs are shown except those considered sensitive (passwords, emails, and phone numbers)." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 29 + }, + "end": { + "line": 30 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 29 + }, + "end": { + "line": 30 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 29 + }, + "end": { + "line": 30 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 31, + 32 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 31 + }, + "end": { + "line": 32 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 32, + 33, + 39, + 40 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 33, + 39 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder([sampleRate])\n .setTextAndInputPrivacy(TextAndInputPrivacy.MASK_SENSITIVE_INPUTS)\n .build()\nSessionReplay.enable(sessionReplayConfig)\n", + "language": "kotlin", + "filename": "application.kt", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 33, + 39 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder([sampleRate])\n .setTextAndInputPrivacy(TextAndInputPrivacy.MASK_SENSITIVE_INPUTS)\n .build()\nSessionReplay.enable(sessionReplayConfig)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 33 + }, + "end": { + "line": 39 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "application.kt" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 33 + }, + "end": { + "line": 39 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 32 + }, + "end": { + "line": 33 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 40, + 41 + ], + "inline": false, + "attributes": { + "content": "end Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 40 + }, + "end": { + "line": 41 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 42, + 43 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 42 + }, + "end": { + "line": 43 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 43, + 44, + 53, + 54 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 44, + 53 + ], + "inline": false, + "attributes": { + "content": "let sessionReplayConfig = SessionReplay.Configuration(\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: .maskSensitiveInputs,\n imagePrivacyLevel: imagePrivacyLevel,\n touchPrivacyLevel: touchPrivacyLevel\n)\nSessionReplay.enable(with: sessionReplayConfig)\n", + "language": "swift", + "filename": "AppDelegate.swift", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 44, + 53 + ], + "inline": false, + "attributes": { + "content": "let sessionReplayConfig = SessionReplay.Configuration(\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: .maskSensitiveInputs,\n imagePrivacyLevel: imagePrivacyLevel,\n touchPrivacyLevel: touchPrivacyLevel\n)\nSessionReplay.enable(with: sessionReplayConfig)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 44 + }, + "end": { + "line": 53 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "AppDelegate.swift" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 44 + }, + "end": { + "line": 53 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 43 + }, + "end": { + "line": 44 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 54, + 55 + ], + "inline": false, + "attributes": { + "content": "end iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 54 + }, + "end": { + "line": 55 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 56, + 57 + ], + "inline": false, + "attributes": { + "content": "React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 56 + }, + "end": { + "line": 57 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 57, + 58, + 72, + 73 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 58, + 72 + ], + "inline": false, + "attributes": { + "content": "import {\n SessionReplay,\n SessionReplayConfiguration,\n TextAndInputPrivacyLevel,\n} from \"@datadog/mobile-react-native-session-replay\";\n\nconst config: SessionReplayConfiguration = {\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: TextAndInputPrivacyLevel.MASK_SENSITIVE_INPUTS,\n}\n\nSessionReplay.enable(config)\n", + "language": "typescript", + "filename": "App.tsx", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 58, + 72 + ], + "inline": false, + "attributes": { + "content": "import {\n SessionReplay,\n SessionReplayConfiguration,\n TextAndInputPrivacyLevel,\n} from \"@datadog/mobile-react-native-session-replay\";\n\nconst config: SessionReplayConfiguration = {\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: TextAndInputPrivacyLevel.MASK_SENSITIVE_INPUTS,\n}\n\nSessionReplay.enable(config)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 58 + }, + "end": { + "line": 72 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "App.tsx" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 58 + }, + "end": { + "line": 72 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 57 + }, + "end": { + "line": 58 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 73, + 74 + ], + "inline": false, + "attributes": { + "content": "end React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 73 + }, + "end": { + "line": 74 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 75, + 76 + ], + "inline": false, + "attributes": { + "content": "Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 75 + }, + "end": { + "line": 76 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 76, + 77, + 88, + 89 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 77, + 88 + ], + "inline": false, + "attributes": { + "content": "final configuration = DatadogConfiguration(\n // ...\n)..enableSessionReplay(\n DatadogSessionReplayConfiguration(\n textAndInputPrivacyLevel: TextAndInputPrivacyLevel.maskSensitiveInputs,\n replaySampleRate: replay,\n ),\n);\n\n", + "language": "dart", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 77, + 88 + ], + "inline": false, + "attributes": { + "content": "final configuration = DatadogConfiguration(\n // ...\n)..enableSessionReplay(\n DatadogSessionReplayConfiguration(\n textAndInputPrivacyLevel: TextAndInputPrivacyLevel.maskSensitiveInputs,\n replaySampleRate: replay,\n ),\n);\n\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 77 + }, + "end": { + "line": 88 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 77 + }, + "end": { + "line": 88 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 76 + }, + "end": { + "line": 77 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 89, + 90 + ], + "inline": false, + "attributes": { + "content": "end Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 89 + }, + "end": { + "line": 90 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 91, + 92 + ], + "inline": false, + "attributes": { + "level": 4 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 91, + 92 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 91, + 92 + ], + "inline": true, + "attributes": { + "content": "Mask all inputs" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 91 + }, + "end": { + "line": 92 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 91 + }, + "end": { + "line": 92 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 91 + }, + "end": { + "line": 92 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 92, + 93 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 92, + 93 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 92, + 93 + ], + "inline": true, + "attributes": { + "content": "With the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 92 + }, + "end": { + "line": 93 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 92, + 93 + ], + "inline": true, + "attributes": { + "content": "mask_all_inputs" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 92 + }, + "end": { + "line": 93 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 92, + 93 + ], + "inline": true, + "attributes": { + "content": " setting enabled, all inputs fields are masked in the replay." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 92 + }, + "end": { + "line": 93 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 92 + }, + "end": { + "line": 93 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 92 + }, + "end": { + "line": 93 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 94, + 95 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 94 + }, + "end": { + "line": 95 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 95, + 96, + 102, + 103 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 96, + 102 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder([sampleRate])\n.setTextAndInputPrivacy(TextAndInputPrivacy.MASK_ALL_INPUTS)\n.build()\nSessionReplay.enable(sessionReplayConfig)\n", + "language": "kotlin", + "filename": "application.kt", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 96, + 102 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder([sampleRate])\n.setTextAndInputPrivacy(TextAndInputPrivacy.MASK_ALL_INPUTS)\n.build()\nSessionReplay.enable(sessionReplayConfig)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 96 + }, + "end": { + "line": 102 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "application.kt" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 96 + }, + "end": { + "line": 102 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 95 + }, + "end": { + "line": 96 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 103, + 104 + ], + "inline": false, + "attributes": { + "content": "end Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 103 + }, + "end": { + "line": 104 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 105, + 106 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 105 + }, + "end": { + "line": 106 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 106, + 107, + 116, + 117 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 107, + 116 + ], + "inline": false, + "attributes": { + "content": "let sessionReplayConfig = SessionReplay.Configuration(\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: .maskAllInputs,\n imagePrivacyLevel: imagePrivacyLevel,\n touchPrivacyLevel: touchPrivacyLevel\n)\nSessionReplay.enable(with: sessionReplayConfig)\n", + "language": "swift", + "filename": "AppDelegate.swift", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 107, + 116 + ], + "inline": false, + "attributes": { + "content": "let sessionReplayConfig = SessionReplay.Configuration(\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: .maskAllInputs,\n imagePrivacyLevel: imagePrivacyLevel,\n touchPrivacyLevel: touchPrivacyLevel\n)\nSessionReplay.enable(with: sessionReplayConfig)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 107 + }, + "end": { + "line": 116 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "AppDelegate.swift" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 107 + }, + "end": { + "line": 116 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 106 + }, + "end": { + "line": 107 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 117, + 118 + ], + "inline": false, + "attributes": { + "content": "end iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 117 + }, + "end": { + "line": 118 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 119, + 120 + ], + "inline": false, + "attributes": { + "content": "React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 119 + }, + "end": { + "line": 120 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 120, + 121, + 135, + 136 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 121, + 135 + ], + "inline": false, + "attributes": { + "content": "import {\n SessionReplay,\n SessionReplayConfiguration,\n TextAndInputPrivacyLevel,\n} from \"@datadog/mobile-react-native-session-replay\";\n\nconst config: SessionReplayConfiguration = {\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: TextAndInputPrivacyLevel.MASK_ALL_INPUTS,\n}\n\nSessionReplay.enable(config)\n", + "language": "typescript", + "filename": "App.tsx", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 121, + 135 + ], + "inline": false, + "attributes": { + "content": "import {\n SessionReplay,\n SessionReplayConfiguration,\n TextAndInputPrivacyLevel,\n} from \"@datadog/mobile-react-native-session-replay\";\n\nconst config: SessionReplayConfiguration = {\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: TextAndInputPrivacyLevel.MASK_ALL_INPUTS,\n}\n\nSessionReplay.enable(config)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 121 + }, + "end": { + "line": 135 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "App.tsx" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 121 + }, + "end": { + "line": 135 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 120 + }, + "end": { + "line": 121 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 136, + 137 + ], + "inline": false, + "attributes": { + "content": "end React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 136 + }, + "end": { + "line": 137 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 138, + 139 + ], + "inline": false, + "attributes": { + "content": "Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 138 + }, + "end": { + "line": 139 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 139, + 140, + 151, + 152 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 140, + 151 + ], + "inline": false, + "attributes": { + "content": "final configuration = DatadogConfiguration(\n // ...\n)..enableSessionReplay(\n DatadogSessionReplayConfiguration(\n textAndInputPrivacyLevel: TextAndInputPrivacyLevel.maskAllInputs,\n replaySampleRate: replay,\n ),\n);\n\n", + "language": "dart", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 140, + 151 + ], + "inline": false, + "attributes": { + "content": "final configuration = DatadogConfiguration(\n // ...\n)..enableSessionReplay(\n DatadogSessionReplayConfiguration(\n textAndInputPrivacyLevel: TextAndInputPrivacyLevel.maskAllInputs,\n replaySampleRate: replay,\n ),\n);\n\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 140 + }, + "end": { + "line": 151 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 140 + }, + "end": { + "line": 151 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 139 + }, + "end": { + "line": 140 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 152, + 153 + ], + "inline": false, + "attributes": { + "content": "end Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 152 + }, + "end": { + "line": 153 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 154, + 155 + ], + "inline": false, + "attributes": { + "level": 4 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 154, + 155 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 154, + 155 + ], + "inline": true, + "attributes": { + "content": "Mask all" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 154 + }, + "end": { + "line": 155 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 154 + }, + "end": { + "line": 155 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 154 + }, + "end": { + "line": 155 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 155, + 156 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 155, + 156 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 155, + 156 + ], + "inline": true, + "attributes": { + "content": "With the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 155 + }, + "end": { + "line": 156 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 155, + 156 + ], + "inline": true, + "attributes": { + "content": "mask_all" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 155 + }, + "end": { + "line": 156 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 155, + 156 + ], + "inline": true, + "attributes": { + "content": " setting enabled, all text and input fields are masked in the replay." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 155 + }, + "end": { + "line": 156 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 155 + }, + "end": { + "line": 156 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 155 + }, + "end": { + "line": 156 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 157, + 158 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 157 + }, + "end": { + "line": 158 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 158, + 159, + 165, + 166 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 159, + 165 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder([sampleRate])\n .setTextAndInputPrivacy(TextAndInputPrivacy.MASK_ALL)\n .build()\nSessionReplay.enable(sessionReplayConfig)\n", + "language": "kotlin", + "filename": "application.kt", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 159, + 165 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder([sampleRate])\n .setTextAndInputPrivacy(TextAndInputPrivacy.MASK_ALL)\n .build()\nSessionReplay.enable(sessionReplayConfig)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 159 + }, + "end": { + "line": 165 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "application.kt" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 159 + }, + "end": { + "line": 165 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 158 + }, + "end": { + "line": 159 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 166, + 167 + ], + "inline": false, + "attributes": { + "content": "end Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 166 + }, + "end": { + "line": 167 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 168, + 169 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 168 + }, + "end": { + "line": 169 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 169, + 170, + 179, + 180 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 170, + 179 + ], + "inline": false, + "attributes": { + "content": "let sessionReplayConfig = SessionReplay.Configuration(\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: .maskAll,\n imagePrivacyLevel: imagePrivacyLevel,\n touchPrivacyLevel: touchPrivacyLevel\n)\nSessionReplay.enable(with: sessionReplayConfig)\n", + "language": "swift", + "filename": "AppDelegate.swift", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 170, + 179 + ], + "inline": false, + "attributes": { + "content": "let sessionReplayConfig = SessionReplay.Configuration(\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: .maskAll,\n imagePrivacyLevel: imagePrivacyLevel,\n touchPrivacyLevel: touchPrivacyLevel\n)\nSessionReplay.enable(with: sessionReplayConfig)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 170 + }, + "end": { + "line": 179 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "AppDelegate.swift" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 170 + }, + "end": { + "line": 179 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 169 + }, + "end": { + "line": 170 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 180, + 181 + ], + "inline": false, + "attributes": { + "content": "end iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 180 + }, + "end": { + "line": 181 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 182, + 183 + ], + "inline": false, + "attributes": { + "content": "React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 182 + }, + "end": { + "line": 183 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 183, + 184, + 198, + 199 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 184, + 198 + ], + "inline": false, + "attributes": { + "content": "import {\n SessionReplay,\n SessionReplayConfiguration,\n TextAndInputPrivacyLevel,\n} from \"@datadog/mobile-react-native-session-replay\";\n\nconst config: SessionReplayConfiguration = {\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: TextAndInputPrivacyLevel.MASK_ALL,\n}\n\nSessionReplay.enable(config)\n", + "language": "typescript", + "filename": "App.tsx", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 184, + 198 + ], + "inline": false, + "attributes": { + "content": "import {\n SessionReplay,\n SessionReplayConfiguration,\n TextAndInputPrivacyLevel,\n} from \"@datadog/mobile-react-native-session-replay\";\n\nconst config: SessionReplayConfiguration = {\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: TextAndInputPrivacyLevel.MASK_ALL,\n}\n\nSessionReplay.enable(config)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 184 + }, + "end": { + "line": 198 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "App.tsx" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 184 + }, + "end": { + "line": 198 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 183 + }, + "end": { + "line": 184 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 199, + 200 + ], + "inline": false, + "attributes": { + "content": "end React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 199 + }, + "end": { + "line": 200 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 201, + 202 + ], + "inline": false, + "attributes": { + "content": "Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 201 + }, + "end": { + "line": 202 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 202, + 203, + 214, + 215 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 203, + 214 + ], + "inline": false, + "attributes": { + "content": "final configuration = DatadogConfiguration(\n // ...\n)..enableSessionReplay(\n DatadogSessionReplayConfiguration(\n textAndInputPrivacyLevel: TextAndInputPrivacyLevel.maskAll,\n replaySampleRate: replay,\n ),\n);\n\n", + "language": "dart", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 203, + 214 + ], + "inline": false, + "attributes": { + "content": "final configuration = DatadogConfiguration(\n // ...\n)..enableSessionReplay(\n DatadogSessionReplayConfiguration(\n textAndInputPrivacyLevel: TextAndInputPrivacyLevel.maskAll,\n replaySampleRate: replay,\n ),\n);\n\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 203 + }, + "end": { + "line": 214 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 203 + }, + "end": { + "line": 214 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 202 + }, + "end": { + "line": 203 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 215, + 216 + ], + "inline": false, + "attributes": { + "content": "end Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 215 + }, + "end": { + "line": 216 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 217, + 218 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 217, + 218 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 217, + 218 + ], + "inline": true, + "attributes": { + "content": "Image masking" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 217 + }, + "end": { + "line": 218 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 217 + }, + "end": { + "line": 218 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 217 + }, + "end": { + "line": 218 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 219, + 220 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 219, + 220 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 219, + 220 + ], + "inline": true, + "attributes": { + "content": "By default, the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 219 + }, + "end": { + "line": 220 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 219, + 220 + ], + "inline": true, + "attributes": { + "content": "mask_all" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 219 + }, + "end": { + "line": 220 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 219, + 220 + ], + "inline": true, + "attributes": { + "content": " setting is enabled for all images. With this setting enabled, all images on screen are masked." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 219 + }, + "end": { + "line": 220 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 219 + }, + "end": { + "line": 220 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 219 + }, + "end": { + "line": 220 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 221, + 222, + 223, + 224 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 222, + 223 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 222, + 223 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 222, + 223 + ], + "inline": true, + "attributes": { + "content": "For performance reasons, large images (those exceeding 1000x1000 total pixels) are masked in Flutter, and will display \"Large Image\" in the Session Replay player." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 222 + }, + "end": { + "line": 223 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 222 + }, + "end": { + "line": 223 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 222 + }, + "end": { + "line": 223 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 221 + }, + "end": { + "line": 222 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 225, + 226 + ], + "inline": false, + "attributes": { + "level": 4 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 225, + 226 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 225, + 226 + ], + "inline": true, + "attributes": { + "content": "Mask all images" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 225 + }, + "end": { + "line": 226 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 225 + }, + "end": { + "line": 226 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 225 + }, + "end": { + "line": 226 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 226, + 227 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 226, + 227 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 226, + 227 + ], + "inline": true, + "attributes": { + "content": "With the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 226 + }, + "end": { + "line": 227 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 226, + 227 + ], + "inline": true, + "attributes": { + "content": "mask_all" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 226 + }, + "end": { + "line": 227 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 226, + 227 + ], + "inline": true, + "attributes": { + "content": " setting enabled, all images are replaced by placeholders labeled 'Image' in the replay." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 226 + }, + "end": { + "line": 227 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 226 + }, + "end": { + "line": 227 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 226 + }, + "end": { + "line": 227 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 228, + 229 + ], + "inline": false, + "attributes": { + "src": "real_user_monitoring/session_replay/mobile/masking-image-mask-all.png", + "alt": "What your application screen may resemble when `mask-all` is enabled.", + "style": "width:50%;" + }, + "children": [], + "type": "tag", + "tag": "img", + "annotations": [ + { + "type": "attribute", + "name": "src", + "value": "real_user_monitoring/session_replay/mobile/masking-image-mask-all.png" + }, + { + "type": "attribute", + "name": "alt", + "value": "What your application screen may resemble when `mask-all` is enabled." + }, + { + "type": "attribute", + "name": "style", + "value": "width:50%;" + } + ], + "slots": {}, + "location": { + "start": { + "line": 228 + }, + "end": { + "line": 229 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 230, + 231 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 230 + }, + "end": { + "line": 231 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 231, + 232, + 238, + 239 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 232, + 238 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder([sampleRate])\n .setImagePrivacy(ImagePrivacy.MASK_ALL)\n .build()\nSessionReplay.enable(sessionReplayConfig)\n", + "language": "kotlin", + "filename": "application.kt", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 232, + 238 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder([sampleRate])\n .setImagePrivacy(ImagePrivacy.MASK_ALL)\n .build()\nSessionReplay.enable(sessionReplayConfig)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 232 + }, + "end": { + "line": 238 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "application.kt" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 232 + }, + "end": { + "line": 238 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 231 + }, + "end": { + "line": 232 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 239, + 240 + ], + "inline": false, + "attributes": { + "content": "end Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 239 + }, + "end": { + "line": 240 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 241, + 242 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 241 + }, + "end": { + "line": 242 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 242, + 243, + 252, + 253 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 243, + 252 + ], + "inline": false, + "attributes": { + "content": "let sessionReplayConfig = SessionReplay.Configuration(\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: textAndInputPrivacyLevel,\n imagePrivacyLevel: .maskAll,\n touchPrivacyLevel: touchPrivacyLevel\n)\nSessionReplay.enable(with: sessionReplayConfig)\n", + "language": "swift", + "filename": "AppDelegate.swift", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 243, + 252 + ], + "inline": false, + "attributes": { + "content": "let sessionReplayConfig = SessionReplay.Configuration(\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: textAndInputPrivacyLevel,\n imagePrivacyLevel: .maskAll,\n touchPrivacyLevel: touchPrivacyLevel\n)\nSessionReplay.enable(with: sessionReplayConfig)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 243 + }, + "end": { + "line": 252 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "AppDelegate.swift" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 243 + }, + "end": { + "line": 252 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 242 + }, + "end": { + "line": 243 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 253, + 254 + ], + "inline": false, + "attributes": { + "content": "end iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 253 + }, + "end": { + "line": 254 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 255, + 256 + ], + "inline": false, + "attributes": { + "content": "React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 255 + }, + "end": { + "line": 256 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 256, + 257, + 271, + 272 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 257, + 271 + ], + "inline": false, + "attributes": { + "content": "import {\n SessionReplay,\n SessionReplayConfiguration,\n ImagePrivacyLevel,\n} from \"@datadog/mobile-react-native-session-replay\";\n\nconst config: SessionReplayConfiguration = {\n replaySampleRate: sampleRate,\n imagePrivacyLevel: ImagePrivacyLevel.MASK_ALL,\n}\n\nSessionReplay.enable(config)\n", + "language": "typescript", + "filename": "App.tsx", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 257, + 271 + ], + "inline": false, + "attributes": { + "content": "import {\n SessionReplay,\n SessionReplayConfiguration,\n ImagePrivacyLevel,\n} from \"@datadog/mobile-react-native-session-replay\";\n\nconst config: SessionReplayConfiguration = {\n replaySampleRate: sampleRate,\n imagePrivacyLevel: ImagePrivacyLevel.MASK_ALL,\n}\n\nSessionReplay.enable(config)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 257 + }, + "end": { + "line": 271 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "App.tsx" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 257 + }, + "end": { + "line": 271 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 256 + }, + "end": { + "line": 257 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 272, + 273 + ], + "inline": false, + "attributes": { + "content": "end React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 272 + }, + "end": { + "line": 273 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 274, + 275 + ], + "inline": false, + "attributes": { + "content": "Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 274 + }, + "end": { + "line": 275 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 275, + 276, + 287, + 288 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 276, + 287 + ], + "inline": false, + "attributes": { + "content": "final configuration = DatadogConfiguration(\n // ...\n)..enableSessionReplay(\n DatadogSessionReplayConfiguration(\n imagePrivacyLevel: ImagePrivacyLevel.maskAll,\n replaySampleRate: replay,\n ),\n);\n\n", + "language": "dart", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 276, + 287 + ], + "inline": false, + "attributes": { + "content": "final configuration = DatadogConfiguration(\n // ...\n)..enableSessionReplay(\n DatadogSessionReplayConfiguration(\n imagePrivacyLevel: ImagePrivacyLevel.maskAll,\n replaySampleRate: replay,\n ),\n);\n\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 276 + }, + "end": { + "line": 287 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 276 + }, + "end": { + "line": 287 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 275 + }, + "end": { + "line": 276 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 288, + 289 + ], + "inline": false, + "attributes": { + "content": "end Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 288 + }, + "end": { + "line": 289 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 290, + 291 + ], + "inline": false, + "attributes": { + "level": 4 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 290, + 291 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 290, + 291 + ], + "inline": true, + "attributes": { + "content": "Mask content images" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 290 + }, + "end": { + "line": 291 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 290 + }, + "end": { + "line": 291 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 290 + }, + "end": { + "line": 291 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 291, + 292 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 291, + 292 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 291, + 292 + ], + "inline": true, + "attributes": { + "content": "You can manage content masking while still allowing system or bundled images to be visible." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 291 + }, + "end": { + "line": 292 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 291 + }, + "end": { + "line": 292 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 291 + }, + "end": { + "line": 292 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 293, + 294 + ], + "inline": false, + "attributes": { + "content": "iOS and React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 293 + }, + "end": { + "line": 294 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 294, + 295, + 300, + 301 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "or", + "parameters": { + "0": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + }, + "1": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 295, + 296 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 295, + 296 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 295, + 296 + ], + "inline": true, + "attributes": { + "content": "Use the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 295 + }, + "end": { + "line": 296 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 295, + 296 + ], + "inline": true, + "attributes": { + "content": "maskNonBundledOnly" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 295 + }, + "end": { + "line": 296 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 295, + 296 + ], + "inline": true, + "attributes": { + "content": " setting to replace non-bundled images with a \"Content Image\" placeholder in the replay." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 295 + }, + "end": { + "line": 296 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 295 + }, + "end": { + "line": 296 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 295 + }, + "end": { + "line": 296 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 297, + 300 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 297, + 298 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 297, + 298 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 297, + 298 + ], + "inline": true, + "attributes": { + "content": "In UIKit, the SDK can determine whether an image is bundled and can mask it accordingly." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 297 + }, + "end": { + "line": 298 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 297 + }, + "end": { + "line": 298 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 297 + }, + "end": { + "line": 298 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 298, + 300 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 298, + 299 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 298, + 299 + ], + "inline": true, + "attributes": { + "content": "In SwiftUI, this determination isn't possible. Instead, the SDK uses a heuristic: if an image exceeds 100×100 points, it is assumed to be non-bundled and is masked." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 298 + }, + "end": { + "line": 299 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 298 + }, + "end": { + "line": 299 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 298 + }, + "end": { + "line": 300 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 297 + }, + "end": { + "line": 300 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "or", + "parameters": { + "0": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + }, + "1": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 294 + }, + "end": { + "line": 295 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 302, + 303 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 302 + }, + "end": { + "line": 303 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 303, + 304, + 307, + 308 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 304, + 305 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 304, + 305 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 304, + 305 + ], + "inline": true, + "attributes": { + "content": "Select the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 304 + }, + "end": { + "line": 305 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 304, + 305 + ], + "inline": true, + "attributes": { + "content": "mask_large_only" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 304 + }, + "end": { + "line": 305 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 304, + 305 + ], + "inline": true, + "attributes": { + "content": " setting, which replaces images with dimensions that exceed 100x100dp with a \"Content Image\" placeholder." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 304 + }, + "end": { + "line": 305 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 304 + }, + "end": { + "line": 305 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 304 + }, + "end": { + "line": 305 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 306, + 307 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 306, + 307 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 306, + 307 + ], + "inline": true, + "attributes": { + "marker": "**" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 306, + 307 + ], + "inline": true, + "attributes": { + "content": "Note" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 306 + }, + "end": { + "line": 307 + } + } + } + ], + "type": "strong", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 306 + }, + "end": { + "line": 307 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 306, + 307 + ], + "inline": true, + "attributes": { + "content": ": These dimensions refer to the drawable resource, not the view's size." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 306 + }, + "end": { + "line": 307 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 306 + }, + "end": { + "line": 307 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 306 + }, + "end": { + "line": 307 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 303 + }, + "end": { + "line": 304 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 309, + 310 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 309 + }, + "end": { + "line": 310 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 310, + 311, + 319, + 320 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 311, + 312 + ], + "inline": false, + "attributes": { + "src": "real_user_monitoring/session_replay/mobile/masking-image-mask-large-only.png", + "alt": "What your application screen may resemble when `mask_large_only` is enabled on Android.", + "style": "width:50%;" + }, + "children": [], + "type": "tag", + "tag": "img", + "annotations": [ + { + "type": "attribute", + "name": "src", + "value": "real_user_monitoring/session_replay/mobile/masking-image-mask-large-only.png" + }, + { + "type": "attribute", + "name": "alt", + "value": "What your application screen may resemble when `mask_large_only` is enabled on Android." + }, + { + "type": "attribute", + "name": "style", + "value": "width:50%;" + } + ], + "slots": {}, + "location": { + "start": { + "line": 311 + }, + "end": { + "line": 312 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 313, + 319 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder([sampleRate])\n .setImagePrivacy(ImagePrivacy.MASK_LARGE_ONLY)\n .build()\nSessionReplay.enable(sessionReplayConfig)\n", + "language": "kotlin", + "filename": "application.kt", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 313, + 319 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder([sampleRate])\n .setImagePrivacy(ImagePrivacy.MASK_LARGE_ONLY)\n .build()\nSessionReplay.enable(sessionReplayConfig)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 313 + }, + "end": { + "line": 319 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "application.kt" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 313 + }, + "end": { + "line": 319 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 310 + }, + "end": { + "line": 311 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 320, + 321 + ], + "inline": false, + "attributes": { + "content": "end Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 320 + }, + "end": { + "line": 321 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 322, + 323 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 322 + }, + "end": { + "line": 323 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 323, + 324, + 335, + 336 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 324, + 325 + ], + "inline": false, + "attributes": { + "src": "real_user_monitoring/session_replay/mobile/masking-image-mask-non-bundled-only.png", + "alt": "What your application screen may resemble when `mask_non_bundled_only` is enabled on iOS.", + "style": "width:50%;" + }, + "children": [], + "type": "tag", + "tag": "img", + "annotations": [ + { + "type": "attribute", + "name": "src", + "value": "real_user_monitoring/session_replay/mobile/masking-image-mask-non-bundled-only.png" + }, + { + "type": "attribute", + "name": "alt", + "value": "What your application screen may resemble when `mask_non_bundled_only` is enabled on iOS." + }, + { + "type": "attribute", + "name": "style", + "value": "width:50%;" + } + ], + "slots": {}, + "location": { + "start": { + "line": 324 + }, + "end": { + "line": 325 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 326, + 335 + ], + "inline": false, + "attributes": { + "content": "let sessionReplayConfig = SessionReplay.Configuration(\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: textAndInputPrivacyLevel,\n imagePrivacyLevel: .maskNonBundledOnly,\n touchPrivacyLevel: touchPrivacyLevel\n)\nSessionReplay.enable(with: sessionReplayConfig)\n", + "language": "swift", + "filename": "AppDelegate.swift", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 326, + 335 + ], + "inline": false, + "attributes": { + "content": "let sessionReplayConfig = SessionReplay.Configuration(\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: textAndInputPrivacyLevel,\n imagePrivacyLevel: .maskNonBundledOnly,\n touchPrivacyLevel: touchPrivacyLevel\n)\nSessionReplay.enable(with: sessionReplayConfig)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 326 + }, + "end": { + "line": 335 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "AppDelegate.swift" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 326 + }, + "end": { + "line": 335 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 323 + }, + "end": { + "line": 324 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 336, + 337 + ], + "inline": false, + "attributes": { + "content": "end iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 336 + }, + "end": { + "line": 337 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 338, + 339 + ], + "inline": false, + "attributes": { + "content": "React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 338 + }, + "end": { + "line": 339 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 339, + 340, + 354, + 355 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 340, + 354 + ], + "inline": false, + "attributes": { + "content": "import {\n SessionReplay,\n SessionReplayConfiguration,\n ImagePrivacyLevel,\n} from \"@datadog/mobile-react-native-session-replay\";\n\nconst config: SessionReplayConfiguration = {\n replaySampleRate: sampleRate,\n imagePrivacyLevel: ImagePrivacyLevel.MASK_NON_BUNDLED_ONLY,\n}\n\nSessionReplay.enable(config)\n", + "language": "typescript", + "filename": "App.tsx", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 340, + 354 + ], + "inline": false, + "attributes": { + "content": "import {\n SessionReplay,\n SessionReplayConfiguration,\n ImagePrivacyLevel,\n} from \"@datadog/mobile-react-native-session-replay\";\n\nconst config: SessionReplayConfiguration = {\n replaySampleRate: sampleRate,\n imagePrivacyLevel: ImagePrivacyLevel.MASK_NON_BUNDLED_ONLY,\n}\n\nSessionReplay.enable(config)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 340 + }, + "end": { + "line": 354 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "App.tsx" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 340 + }, + "end": { + "line": 354 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 339 + }, + "end": { + "line": 340 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 355, + 356 + ], + "inline": false, + "attributes": { + "content": "end React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 355 + }, + "end": { + "line": 356 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 357, + 358 + ], + "inline": false, + "attributes": { + "content": "Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 357 + }, + "end": { + "line": 358 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 358, + 359, + 373, + 374 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 359, + 360 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 359, + 360 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 359, + 360 + ], + "inline": true, + "attributes": { + "content": "Bundled images are those that use " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 359 + }, + "end": { + "line": 360 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 359, + 360 + ], + "inline": true, + "attributes": { + "content": "AssetImage" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 359 + }, + "end": { + "line": 360 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 359, + 360 + ], + "inline": true, + "attributes": { + "content": " as their image provider." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 359 + }, + "end": { + "line": 360 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 359 + }, + "end": { + "line": 360 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 359 + }, + "end": { + "line": 360 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 362, + 373 + ], + "inline": false, + "attributes": { + "content": "final configuration = DatadogConfiguration(\n // ...\n)..enableSessionReplay(\n DatadogSessionReplayConfiguration(\n imagePrivacyLevel: ImagePrivacyLevel.maskNonAssetsOnly,\n replaySampleRate: replay,\n ),\n);\n\n", + "language": "dart", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 362, + 373 + ], + "inline": false, + "attributes": { + "content": "final configuration = DatadogConfiguration(\n // ...\n)..enableSessionReplay(\n DatadogSessionReplayConfiguration(\n imagePrivacyLevel: ImagePrivacyLevel.maskNonAssetsOnly,\n replaySampleRate: replay,\n ),\n);\n\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 362 + }, + "end": { + "line": 373 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 362 + }, + "end": { + "line": 373 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 358 + }, + "end": { + "line": 359 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 374, + 375 + ], + "inline": false, + "attributes": { + "content": "end Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 374 + }, + "end": { + "line": 375 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 376, + 377 + ], + "inline": false, + "attributes": { + "level": 4 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 376, + 377 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 376, + 377 + ], + "inline": true, + "attributes": { + "content": "Show all images" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 376 + }, + "end": { + "line": 377 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 376 + }, + "end": { + "line": 377 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 376 + }, + "end": { + "line": 377 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 377, + 378 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 377, + 378 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 377, + 378 + ], + "inline": true, + "attributes": { + "content": "With the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 377 + }, + "end": { + "line": 378 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 377, + 378 + ], + "inline": true, + "attributes": { + "content": "mask_none" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 377 + }, + "end": { + "line": 378 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 377, + 378 + ], + "inline": true, + "attributes": { + "content": " setting enabled, all images are shown in the replay." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 377 + }, + "end": { + "line": 378 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 377 + }, + "end": { + "line": 378 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 377 + }, + "end": { + "line": 378 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 379, + 380 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 379 + }, + "end": { + "line": 380 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 380, + 381, + 387, + 388 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 381, + 387 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder([sampleRate])\n .setImagePrivacy(ImagePrivacy.MASK_NONE)\n .build()\nSessionReplay.enable(sessionReplayConfig)\n", + "language": "kotlin", + "filename": "application.kt", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 381, + 387 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder([sampleRate])\n .setImagePrivacy(ImagePrivacy.MASK_NONE)\n .build()\nSessionReplay.enable(sessionReplayConfig)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 381 + }, + "end": { + "line": 387 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "application.kt" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 381 + }, + "end": { + "line": 387 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 380 + }, + "end": { + "line": 381 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 388, + 389 + ], + "inline": false, + "attributes": { + "content": "end Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 388 + }, + "end": { + "line": 389 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 390, + 391 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 390 + }, + "end": { + "line": 391 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 391, + 392, + 401, + 402 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 392, + 401 + ], + "inline": false, + "attributes": { + "content": "let sessionReplayConfig = SessionReplay.Configuration(\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: textAndInputPrivacyLevel,\n imagePrivacyLevel: .maskNone,\n touchPrivacyLevel: touchPrivacyLevel\n)\nSessionReplay.enable(with: sessionReplayConfig)\n", + "language": "swift", + "filename": "AppDelegate.swift", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 392, + 401 + ], + "inline": false, + "attributes": { + "content": "let sessionReplayConfig = SessionReplay.Configuration(\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: textAndInputPrivacyLevel,\n imagePrivacyLevel: .maskNone,\n touchPrivacyLevel: touchPrivacyLevel\n)\nSessionReplay.enable(with: sessionReplayConfig)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 392 + }, + "end": { + "line": 401 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "AppDelegate.swift" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 392 + }, + "end": { + "line": 401 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 391 + }, + "end": { + "line": 392 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 402, + 403 + ], + "inline": false, + "attributes": { + "content": "end iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 402 + }, + "end": { + "line": 403 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 404, + 405 + ], + "inline": false, + "attributes": { + "content": "React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 404 + }, + "end": { + "line": 405 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 405, + 406, + 420, + 421 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 406, + 420 + ], + "inline": false, + "attributes": { + "content": "import {\n SessionReplay,\n SessionReplayConfiguration,\n ImagePrivacyLevel,\n} from \"@datadog/mobile-react-native-session-replay\";\n\nconst config: SessionReplayConfiguration = {\n replaySampleRate: sampleRate,\n imagePrivacyLevel: ImagePrivacyLevel.MASK_NONE,\n}\n\nSessionReplay.enable(config)\n", + "language": "typescript", + "filename": "App.tsx", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 406, + 420 + ], + "inline": false, + "attributes": { + "content": "import {\n SessionReplay,\n SessionReplayConfiguration,\n ImagePrivacyLevel,\n} from \"@datadog/mobile-react-native-session-replay\";\n\nconst config: SessionReplayConfiguration = {\n replaySampleRate: sampleRate,\n imagePrivacyLevel: ImagePrivacyLevel.MASK_NONE,\n}\n\nSessionReplay.enable(config)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 406 + }, + "end": { + "line": 420 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "App.tsx" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 406 + }, + "end": { + "line": 420 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 405 + }, + "end": { + "line": 406 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 421, + 422 + ], + "inline": false, + "attributes": { + "content": "end React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 421 + }, + "end": { + "line": 422 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 423, + 424 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 423, + 424 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 423, + 424 + ], + "inline": true, + "attributes": { + "content": "Touch masking" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 423 + }, + "end": { + "line": 424 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 423 + }, + "end": { + "line": 424 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 423 + }, + "end": { + "line": 424 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 424, + 425 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 424, + 425 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 424, + 425 + ], + "inline": true, + "attributes": { + "content": "By default, the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 424 + }, + "end": { + "line": 425 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 424, + 425 + ], + "inline": true, + "attributes": { + "content": "hide" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 424 + }, + "end": { + "line": 425 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 424, + 425 + ], + "inline": true, + "attributes": { + "content": " setting is enabled for all touches. With this setting enabled, all touches on screen are hidden." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 424 + }, + "end": { + "line": 425 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 424 + }, + "end": { + "line": 425 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 424 + }, + "end": { + "line": 425 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 426, + 427 + ], + "inline": false, + "attributes": { + "level": 4 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 426, + 427 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 426, + 427 + ], + "inline": true, + "attributes": { + "content": "Hide all touches" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 426 + }, + "end": { + "line": 427 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 426 + }, + "end": { + "line": 427 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 426 + }, + "end": { + "line": 427 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 427, + 428 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 427, + 428 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 427, + 428 + ], + "inline": true, + "attributes": { + "content": "With the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 427 + }, + "end": { + "line": 428 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 427, + 428 + ], + "inline": true, + "attributes": { + "content": "hide" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 427 + }, + "end": { + "line": 428 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 427, + 428 + ], + "inline": true, + "attributes": { + "content": " setting enabled, all touches that occur during the replay are hidden. This is the default setting." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 427 + }, + "end": { + "line": 428 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 427 + }, + "end": { + "line": 428 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 427 + }, + "end": { + "line": 428 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 429, + 430 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 429 + }, + "end": { + "line": 430 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 430, + 431, + 437, + 438 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 431, + 437 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder([sampleRate])\n .setTouchPrivacy(TouchPrivacy.HIDE)\n .build()\nSessionReplay.enable(sessionReplayConfig)\n", + "language": "kotlin", + "filename": "application.kt", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 431, + 437 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder([sampleRate])\n .setTouchPrivacy(TouchPrivacy.HIDE)\n .build()\nSessionReplay.enable(sessionReplayConfig)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 431 + }, + "end": { + "line": 437 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "application.kt" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 431 + }, + "end": { + "line": 437 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 430 + }, + "end": { + "line": 431 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 438, + 439 + ], + "inline": false, + "attributes": { + "content": "end Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 438 + }, + "end": { + "line": 439 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 440, + 441 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 440 + }, + "end": { + "line": 441 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 441, + 442, + 451, + 452 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 442, + 451 + ], + "inline": false, + "attributes": { + "content": "let sessionReplayConfig = SessionReplay.Configuration(\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: textAndInputPrivacyLevel,\n imagePrivacyLevel: imagePrivacyLevel,\n touchPrivacyLevel: .hide\n)\nSessionReplay.enable(with: sessionReplayConfig)\n", + "language": "swift", + "filename": "AppDelegate.swift", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 442, + 451 + ], + "inline": false, + "attributes": { + "content": "let sessionReplayConfig = SessionReplay.Configuration(\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: textAndInputPrivacyLevel,\n imagePrivacyLevel: imagePrivacyLevel,\n touchPrivacyLevel: .hide\n)\nSessionReplay.enable(with: sessionReplayConfig)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 442 + }, + "end": { + "line": 451 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "AppDelegate.swift" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 442 + }, + "end": { + "line": 451 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 441 + }, + "end": { + "line": 442 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 452, + 453 + ], + "inline": false, + "attributes": { + "content": "end iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 452 + }, + "end": { + "line": 453 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 454, + 455 + ], + "inline": false, + "attributes": { + "content": "React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 454 + }, + "end": { + "line": 455 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 455, + 456, + 470, + 471 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 456, + 470 + ], + "inline": false, + "attributes": { + "content": "import {\n SessionReplay,\n SessionReplayConfiguration,\n TouchPrivacyLevel,\n} from \"@datadog/mobile-react-native-session-replay\";\n\nconst config: SessionReplayConfiguration = {\n replaySampleRate: sampleRate,\n touchPrivacyLevel: TouchPrivacyLevel.HIDE,\n}\n\nSessionReplay.enable(config)\n", + "language": "typescript", + "filename": "App.tsx", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 456, + 470 + ], + "inline": false, + "attributes": { + "content": "import {\n SessionReplay,\n SessionReplayConfiguration,\n TouchPrivacyLevel,\n} from \"@datadog/mobile-react-native-session-replay\";\n\nconst config: SessionReplayConfiguration = {\n replaySampleRate: sampleRate,\n touchPrivacyLevel: TouchPrivacyLevel.HIDE,\n}\n\nSessionReplay.enable(config)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 456 + }, + "end": { + "line": 470 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "App.tsx" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 456 + }, + "end": { + "line": 470 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 455 + }, + "end": { + "line": 456 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 471, + 472 + ], + "inline": false, + "attributes": { + "content": "end React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 471 + }, + "end": { + "line": 472 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 473, + 474 + ], + "inline": false, + "attributes": { + "content": "Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 473 + }, + "end": { + "line": 474 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 474, + 475, + 486, + 487 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 475, + 486 + ], + "inline": false, + "attributes": { + "content": "final configuration = DatadogConfiguration(\n // ...\n)..enableSessionReplay(\n DatadogSessionReplayConfiguration(\n imagePrivacyLevel: ImagePrivacyLevel.maskNone,\n replaySampleRate: replay,\n ),\n);\n\n", + "language": "dart", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 475, + 486 + ], + "inline": false, + "attributes": { + "content": "final configuration = DatadogConfiguration(\n // ...\n)..enableSessionReplay(\n DatadogSessionReplayConfiguration(\n imagePrivacyLevel: ImagePrivacyLevel.maskNone,\n replaySampleRate: replay,\n ),\n);\n\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 475 + }, + "end": { + "line": 486 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 475 + }, + "end": { + "line": 486 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 474 + }, + "end": { + "line": 475 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 487, + 488 + ], + "inline": false, + "attributes": { + "content": "end Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 487 + }, + "end": { + "line": 488 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 489, + 490 + ], + "inline": false, + "attributes": { + "level": 4 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 489, + 490 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 489, + 490 + ], + "inline": true, + "attributes": { + "content": "Show all touches" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 489 + }, + "end": { + "line": 490 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 489 + }, + "end": { + "line": 490 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 489 + }, + "end": { + "line": 490 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 490, + 491 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 490, + 491 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 490, + 491 + ], + "inline": true, + "attributes": { + "content": "With the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 490 + }, + "end": { + "line": 491 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 490, + 491 + ], + "inline": true, + "attributes": { + "content": "show" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 490 + }, + "end": { + "line": 491 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 490, + 491 + ], + "inline": true, + "attributes": { + "content": " setting enabled, all touches that occur during the replay are shown." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 490 + }, + "end": { + "line": 491 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 490 + }, + "end": { + "line": 491 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 490 + }, + "end": { + "line": 491 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 492, + 493 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 492 + }, + "end": { + "line": 493 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 493, + 494, + 500, + 501 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 494, + 500 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder([sampleRate])\n .setTouchPrivacy(TouchPrivacy.SHOW)\n .build()\nSessionReplay.enable(sessionReplayConfig)\n", + "language": "kotlin", + "filename": "application.kt", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 494, + 500 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder([sampleRate])\n .setTouchPrivacy(TouchPrivacy.SHOW)\n .build()\nSessionReplay.enable(sessionReplayConfig)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 494 + }, + "end": { + "line": 500 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "application.kt" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 494 + }, + "end": { + "line": 500 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 493 + }, + "end": { + "line": 494 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 501, + 502 + ], + "inline": false, + "attributes": { + "content": "end Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 501 + }, + "end": { + "line": 502 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 503, + 504 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 503 + }, + "end": { + "line": 504 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 504, + 505, + 514, + 515 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 505, + 514 + ], + "inline": false, + "attributes": { + "content": "let sessionReplayConfig = SessionReplay.Configuration(\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: textAndInputPrivacyLevel,\n imagePrivacyLevel: imagePrivacyLevel,\n touchPrivacyLevel: .show\n)\nSessionReplay.enable(with: sessionReplayConfig)\n", + "language": "swift", + "filename": "AppDelegate.swift", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 505, + 514 + ], + "inline": false, + "attributes": { + "content": "let sessionReplayConfig = SessionReplay.Configuration(\n replaySampleRate: sampleRate,\n textAndInputPrivacyLevel: textAndInputPrivacyLevel,\n imagePrivacyLevel: imagePrivacyLevel,\n touchPrivacyLevel: .show\n)\nSessionReplay.enable(with: sessionReplayConfig)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 505 + }, + "end": { + "line": 514 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "AppDelegate.swift" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 505 + }, + "end": { + "line": 514 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 504 + }, + "end": { + "line": 505 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 515, + 516 + ], + "inline": false, + "attributes": { + "content": "end iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 515 + }, + "end": { + "line": 516 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 517, + 518 + ], + "inline": false, + "attributes": { + "content": "React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 517 + }, + "end": { + "line": 518 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 518, + 519, + 533, + 534 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 519, + 533 + ], + "inline": false, + "attributes": { + "content": "import {\n SessionReplay,\n SessionReplayConfiguration,\n TouchPrivacyLevel,\n} from \"@datadog/mobile-react-native-session-replay\";\n\nconst config: SessionReplayConfiguration = {\n replaySampleRate: sampleRate,\n touchPrivacyLevel: TouchPrivacyLevel.SHOW,\n}\n\nSessionReplay.enable(config)\n", + "language": "typescript", + "filename": "App.tsx", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 519, + 533 + ], + "inline": false, + "attributes": { + "content": "import {\n SessionReplay,\n SessionReplayConfiguration,\n TouchPrivacyLevel,\n} from \"@datadog/mobile-react-native-session-replay\";\n\nconst config: SessionReplayConfiguration = {\n replaySampleRate: sampleRate,\n touchPrivacyLevel: TouchPrivacyLevel.SHOW,\n}\n\nSessionReplay.enable(config)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 519 + }, + "end": { + "line": 533 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "App.tsx" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 519 + }, + "end": { + "line": 533 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 518 + }, + "end": { + "line": 519 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 534, + 535 + ], + "inline": false, + "attributes": { + "content": "end React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 534 + }, + "end": { + "line": 535 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 536, + 537 + ], + "inline": false, + "attributes": { + "content": "Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 536 + }, + "end": { + "line": 537 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 537, + 538 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 537, + 538 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 537, + 538 + ], + "inline": true, + "attributes": { + "content": "Bundled images are those that use " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 537 + }, + "end": { + "line": 538 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 537, + 538 + ], + "inline": true, + "attributes": { + "content": "AssetImage" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 537 + }, + "end": { + "line": 538 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 537, + 538 + ], + "inline": true, + "attributes": { + "content": " as their image provider." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 537 + }, + "end": { + "line": 538 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 537 + }, + "end": { + "line": 538 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 537 + }, + "end": { + "line": 538 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 539, + 540, + 551, + 552 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 540, + 551 + ], + "inline": false, + "attributes": { + "content": "final configuration = DatadogConfiguration(\n // ...\n)..enableSessionReplay(\n DatadogSessionReplayConfiguration(\n touchPrivacyLevel: TouchPrivacyLevel.show,\n replaySampleRate: replay,\n ),\n);\n\n", + "language": "dart", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 540, + 551 + ], + "inline": false, + "attributes": { + "content": "final configuration = DatadogConfiguration(\n // ...\n)..enableSessionReplay(\n DatadogSessionReplayConfiguration(\n touchPrivacyLevel: TouchPrivacyLevel.show,\n replaySampleRate: replay,\n ),\n);\n\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 540 + }, + "end": { + "line": 551 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 540 + }, + "end": { + "line": 551 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 539 + }, + "end": { + "line": 540 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 552, + 553 + ], + "inline": false, + "attributes": { + "content": "end Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 552 + }, + "end": { + "line": 553 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 554, + 555 + ], + "inline": false, + "attributes": { + "level": 2 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 554, + 555 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 554, + 555 + ], + "inline": true, + "attributes": { + "content": "Privacy overrides" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 554 + }, + "end": { + "line": 555 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 554 + }, + "end": { + "line": 555 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 554 + }, + "end": { + "line": 555 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 556, + 557 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 556, + 557 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 556, + 557 + ], + "inline": true, + "attributes": { + "content": "The sections above describe the global masking levels that apply to the entire application. However, it is also possible to override these settings at the view level. The same privacy levels as above are available for text and inputs, images, touches, and an additional setting to completely hide a specific view." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 556 + }, + "end": { + "line": 557 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 556 + }, + "end": { + "line": 557 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 556 + }, + "end": { + "line": 557 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 558, + 559 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 558, + 559 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 558, + 559 + ], + "inline": true, + "attributes": { + "content": "To ensure overrides are recognized properly, they should be applied as early as possible in the view lifecycle. This prevents scenarios where Session Replay might process a view before applying the overrides." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 558 + }, + "end": { + "line": 559 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 558 + }, + "end": { + "line": 559 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 558 + }, + "end": { + "line": 559 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 560, + 561 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 560, + 561 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 560, + 561 + ], + "inline": true, + "attributes": { + "content": "Privacy overrides affect views and their descendants. This means that even if an override is applied to a view where it might have no immediate effect (for example, applying an image override to a text input), the override still applies to all child views." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 560 + }, + "end": { + "line": 561 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 560 + }, + "end": { + "line": 561 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 560 + }, + "end": { + "line": 561 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 562, + 563 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 562, + 563 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 562, + 563 + ], + "inline": true, + "attributes": { + "content": "Overrides operate using a \"nearest parent\" principle: if a view has an override, it uses that setting. Otherwise, it inherits the privacy level from the closest parent in the hierarchy with an override. If no parent has an override, the view defaults to the application's general masking level." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 562 + }, + "end": { + "line": 563 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 562 + }, + "end": { + "line": 563 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 562 + }, + "end": { + "line": 563 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 565, + 566 + ], + "inline": false, + "attributes": { + "content": "Android, iOS, or Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 565 + }, + "end": { + "line": 566 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 566, + 567, + 984, + 985 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "or", + "parameters": { + "0": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + }, + "1": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + }, + "2": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 568, + 569 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 568, + 569 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 568, + 569 + ], + "inline": true, + "attributes": { + "content": "Text and input override" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 568 + }, + "end": { + "line": 569 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 568 + }, + "end": { + "line": 569 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 568 + }, + "end": { + "line": 569 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 570, + 571 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 570 + }, + "end": { + "line": 571 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 571, + 572, + 591, + 592 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 572, + 573 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 572, + 573 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 572, + 573 + ], + "inline": true, + "attributes": { + "content": "To override text and input privacy in Android classic view, use " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 572 + }, + "end": { + "line": 573 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 572, + 573 + ], + "inline": true, + "attributes": { + "content": "setSessionReplayTextAndInputPrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 572 + }, + "end": { + "line": 573 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 572, + 573 + ], + "inline": true, + "attributes": { + "content": " on a view instance and pass a value from the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 572 + }, + "end": { + "line": 573 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 572, + 573 + ], + "inline": true, + "attributes": { + "content": "TextAndInputPrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 572 + }, + "end": { + "line": 573 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 572, + 573 + ], + "inline": true, + "attributes": { + "content": " enum. Passing " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 572 + }, + "end": { + "line": 573 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 572, + 573 + ], + "inline": true, + "attributes": { + "content": "null" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 572 + }, + "end": { + "line": 573 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 572, + 573 + ], + "inline": true, + "attributes": { + "content": " removes the override." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 572 + }, + "end": { + "line": 573 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 572 + }, + "end": { + "line": 573 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 572 + }, + "end": { + "line": 573 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 574, + 580 + ], + "inline": false, + "attributes": { + "content": "// Set a text and input override on your view\nmyView.setSessionReplayTextAndInputPrivacy(TextAndInputPrivacy.MASK_SENSITIVE_INPUTS)\n// Remove a text and input override from your view\nmyView.setSessionReplayTextAndInputPrivacy(null)\n", + "language": "kotlin", + "filename": "application.kt", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 574, + 580 + ], + "inline": false, + "attributes": { + "content": "// Set a text and input override on your view\nmyView.setSessionReplayTextAndInputPrivacy(TextAndInputPrivacy.MASK_SENSITIVE_INPUTS)\n// Remove a text and input override from your view\nmyView.setSessionReplayTextAndInputPrivacy(null)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 574 + }, + "end": { + "line": 580 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "application.kt" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 574 + }, + "end": { + "line": 580 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 581, + 582 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 581, + 582 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 581, + 582 + ], + "inline": true, + "attributes": { + "content": "To override text and input privacy in Jetpack Compose, use " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 581 + }, + "end": { + "line": 582 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 581, + 582 + ], + "inline": true, + "attributes": { + "content": "Modifier.sessionReplayTextAndInputPrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 581 + }, + "end": { + "line": 582 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 581, + 582 + ], + "inline": true, + "attributes": { + "content": " on the modifier of a composable and pass a value from the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 581 + }, + "end": { + "line": 582 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 581, + 582 + ], + "inline": true, + "attributes": { + "content": "TextAndInputPrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 581 + }, + "end": { + "line": 582 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 581, + 582 + ], + "inline": true, + "attributes": { + "content": " enum." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 581 + }, + "end": { + "line": 582 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 581 + }, + "end": { + "line": 582 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 581 + }, + "end": { + "line": 582 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 583, + 591 + ], + "inline": false, + "attributes": { + "content": "// Set a text and input override on your view\nText(modifier = Modifier\n .padding(16.dp)\n .sessionReplayTextAndInputPrivacy(textAndInputPrivacy = TextAndInputPrivacy.MASK_SENSITIVE_INPUTS),\n text = \"Datadog\"\n)\n", + "language": "kotlin", + "filename": "application.kt", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 583, + 591 + ], + "inline": false, + "attributes": { + "content": "// Set a text and input override on your view\nText(modifier = Modifier\n .padding(16.dp)\n .sessionReplayTextAndInputPrivacy(textAndInputPrivacy = TextAndInputPrivacy.MASK_SENSITIVE_INPUTS),\n text = \"Datadog\"\n)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 583 + }, + "end": { + "line": 591 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "application.kt" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 583 + }, + "end": { + "line": 591 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 571 + }, + "end": { + "line": 572 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 592, + 593 + ], + "inline": false, + "attributes": { + "content": "end Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 592 + }, + "end": { + "line": 593 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 594, + 595 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 594 + }, + "end": { + "line": 595 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 595, + 596, + 624, + 625 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 596, + 597 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 596, + 597 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 596, + 597 + ], + "inline": true, + "attributes": { + "content": "To override text and input privacy in UIKit views, use " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 596 + }, + "end": { + "line": 597 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 596, + 597 + ], + "inline": true, + "attributes": { + "content": "dd.sessionReplayOverrides.textAndInputPrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 596 + }, + "end": { + "line": 597 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 596, + 597 + ], + "inline": true, + "attributes": { + "content": " on a view instance and set a value from the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 596 + }, + "end": { + "line": 597 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 596, + 597 + ], + "inline": true, + "attributes": { + "content": "TextAndInputPrivacyLevel" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 596 + }, + "end": { + "line": 597 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 596, + 597 + ], + "inline": true, + "attributes": { + "content": " enum. Setting it to " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 596 + }, + "end": { + "line": 597 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 596, + 597 + ], + "inline": true, + "attributes": { + "content": "nil" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 596 + }, + "end": { + "line": 597 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 596, + 597 + ], + "inline": true, + "attributes": { + "content": " removes the override." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 596 + }, + "end": { + "line": 597 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 596 + }, + "end": { + "line": 597 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 596 + }, + "end": { + "line": 597 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 598, + 604 + ], + "inline": false, + "attributes": { + "content": "// Set a text and input override on your view\nmyView.dd.sessionReplayOverrides.textAndInputPrivacy = .maskSensitiveInputs\n// Remove a text and input override from your view\nmyView.dd.sessionReplayOverrides.textAndInputPrivacy = nil\n", + "language": "swift", + "filename": "AppDelegate.swift", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 598, + 604 + ], + "inline": false, + "attributes": { + "content": "// Set a text and input override on your view\nmyView.dd.sessionReplayOverrides.textAndInputPrivacy = .maskSensitiveInputs\n// Remove a text and input override from your view\nmyView.dd.sessionReplayOverrides.textAndInputPrivacy = nil\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 598 + }, + "end": { + "line": 604 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "AppDelegate.swift" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 598 + }, + "end": { + "line": 604 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 605, + 606 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 605, + 606 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 605, + 606 + ], + "inline": true, + "attributes": { + "content": "To override text and input privacy in SwiftUI, wrap your content with " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 605 + }, + "end": { + "line": 606 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 605, + 606 + ], + "inline": true, + "attributes": { + "content": "SessionReplayPrivacyView" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 605 + }, + "end": { + "line": 606 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 605, + 606 + ], + "inline": true, + "attributes": { + "content": " and configure the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 605 + }, + "end": { + "line": 606 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 605, + 606 + ], + "inline": true, + "attributes": { + "content": "textAndInputPrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 605 + }, + "end": { + "line": 606 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 605, + 606 + ], + "inline": true, + "attributes": { + "content": " parameter. You can combine this with other privacy settings in the same view for better performance." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 605 + }, + "end": { + "line": 606 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 605 + }, + "end": { + "line": 606 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 605 + }, + "end": { + "line": 606 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 607, + 624 + ], + "inline": false, + "attributes": { + "content": "struct ContentView: View {\n @State private var username = \"\"\n @State private var password = \"\"\n\n var body: some View {\n // Set a text and input override on your SwiftUI content\n SessionReplayPrivacyView(textAndInputPrivacy: .maskAllInputs) {\n VStack {\n Text(\"User Profile\")\n TextField(\"Enter name\", text: $username)\n SecureField(\"Password\", text: $password)\n }\n }\n }\n}\n", + "language": "swift", + "filename": "ContentView.swift", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 607, + 624 + ], + "inline": false, + "attributes": { + "content": "struct ContentView: View {\n @State private var username = \"\"\n @State private var password = \"\"\n\n var body: some View {\n // Set a text and input override on your SwiftUI content\n SessionReplayPrivacyView(textAndInputPrivacy: .maskAllInputs) {\n VStack {\n Text(\"User Profile\")\n TextField(\"Enter name\", text: $username)\n SecureField(\"Password\", text: $password)\n }\n }\n }\n}\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 607 + }, + "end": { + "line": 624 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "ContentView.swift" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 607 + }, + "end": { + "line": 624 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 595 + }, + "end": { + "line": 596 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 625, + 626 + ], + "inline": false, + "attributes": { + "content": "end iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 625 + }, + "end": { + "line": 626 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 627, + 628 + ], + "inline": false, + "attributes": { + "content": "Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 627 + }, + "end": { + "line": 628 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 628, + 629, + 646, + 647 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 629, + 631 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 629, + 631 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 629, + 631 + ], + "inline": true, + "attributes": { + "content": "To override text and input privacy in Flutter, use the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 629 + }, + "end": { + "line": 631 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 629, + 631 + ], + "inline": true, + "attributes": { + "content": "SessionReplayPrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 629 + }, + "end": { + "line": 631 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 629, + 631 + ], + "inline": true, + "attributes": { + "content": " widget to override the privacy settings for an entire widget tree. Setting" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 629 + }, + "end": { + "line": 631 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 629, + 631 + ], + "inline": true, + "attributes": {}, + "children": [], + "type": "softbreak", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 629 + }, + "end": { + "line": 631 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 629, + 631 + ], + "inline": true, + "attributes": { + "content": "any value to " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 629 + }, + "end": { + "line": 631 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 629, + 631 + ], + "inline": true, + "attributes": { + "content": "null" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 629 + }, + "end": { + "line": 631 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 629, + 631 + ], + "inline": true, + "attributes": { + "content": " keeps the privacy values unchanged from values provided higher up the widget tree." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 629 + }, + "end": { + "line": 631 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 629 + }, + "end": { + "line": 631 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 629 + }, + "end": { + "line": 631 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 632, + 646 + ], + "inline": false, + "attributes": { + "content": "class MyWidget: StatelessWidget {\n Widget build() {\n return SessionReplayPrivacy(\n textAndInputPrivacyLevel: TextAndInputPrivacyLevel.maskAllInputs,\n child: TextField(\n decoration: InputDecoration(\n labelText: 'Simple Text Field',\n ),\n ),\n );\n }\n}\n", + "language": "dart", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 632, + 646 + ], + "inline": false, + "attributes": { + "content": "class MyWidget: StatelessWidget {\n Widget build() {\n return SessionReplayPrivacy(\n textAndInputPrivacyLevel: TextAndInputPrivacyLevel.maskAllInputs,\n child: TextField(\n decoration: InputDecoration(\n labelText: 'Simple Text Field',\n ),\n ),\n );\n }\n}\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 632 + }, + "end": { + "line": 646 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 632 + }, + "end": { + "line": 646 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 628 + }, + "end": { + "line": 629 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 647, + 648 + ], + "inline": false, + "attributes": { + "content": "end Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 647 + }, + "end": { + "line": 648 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 649, + 650 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 649, + 650 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 649, + 650 + ], + "inline": true, + "attributes": { + "content": "Image override" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 649 + }, + "end": { + "line": 650 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 649 + }, + "end": { + "line": 650 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 649 + }, + "end": { + "line": 650 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 651, + 652 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 651 + }, + "end": { + "line": 652 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 652, + 653, + 673, + 674 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 653, + 654 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 653, + 654 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 653, + 654 + ], + "inline": true, + "attributes": { + "content": "To override image privacy in Android classic view, use " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 653 + }, + "end": { + "line": 654 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 653, + 654 + ], + "inline": true, + "attributes": { + "content": "setSessionReplayImagePrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 653 + }, + "end": { + "line": 654 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 653, + 654 + ], + "inline": true, + "attributes": { + "content": " on a view instance and pass a value from the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 653 + }, + "end": { + "line": 654 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 653, + 654 + ], + "inline": true, + "attributes": { + "content": "ImagePrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 653 + }, + "end": { + "line": 654 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 653, + 654 + ], + "inline": true, + "attributes": { + "content": " enum. Passing " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 653 + }, + "end": { + "line": 654 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 653, + 654 + ], + "inline": true, + "attributes": { + "content": "null" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 653 + }, + "end": { + "line": 654 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 653, + 654 + ], + "inline": true, + "attributes": { + "content": " removes the override." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 653 + }, + "end": { + "line": 654 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 653 + }, + "end": { + "line": 654 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 653 + }, + "end": { + "line": 654 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 655, + 661 + ], + "inline": false, + "attributes": { + "content": "// Set an image override on your view\nmyView.setSessionReplayImagePrivacy(ImagePrivacy.MASK_ALL)\n// Remove an image override from your view\nmyView.setSessionReplayImagePrivacy(null)\n", + "language": "kotlin", + "filename": "application.kt", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 655, + 661 + ], + "inline": false, + "attributes": { + "content": "// Set an image override on your view\nmyView.setSessionReplayImagePrivacy(ImagePrivacy.MASK_ALL)\n// Remove an image override from your view\nmyView.setSessionReplayImagePrivacy(null)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 655 + }, + "end": { + "line": 661 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "application.kt" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 655 + }, + "end": { + "line": 661 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 662, + 663 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 662, + 663 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 662, + 663 + ], + "inline": true, + "attributes": { + "content": "To override image privacy in Jetpack Compose, use " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 662 + }, + "end": { + "line": 663 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 662, + 663 + ], + "inline": true, + "attributes": { + "content": "Modifier.sessionReplayImagePrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 662 + }, + "end": { + "line": 663 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 662, + 663 + ], + "inline": true, + "attributes": { + "content": " on the modifier of a composable and pass a value from the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 662 + }, + "end": { + "line": 663 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 662, + 663 + ], + "inline": true, + "attributes": { + "content": "ImagePrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 662 + }, + "end": { + "line": 663 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 662, + 663 + ], + "inline": true, + "attributes": { + "content": " enum." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 662 + }, + "end": { + "line": 663 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 662 + }, + "end": { + "line": 663 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 662 + }, + "end": { + "line": 663 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 664, + 673 + ], + "inline": false, + "attributes": { + "content": "// Set a image privacy override on your image\nImage(modifier = Modifier\n .padding(16.dp)\n .sessionReplayImagePrivacy(imagePrivacy = ImagePrivacy.MASK_ALL),\n painter = painterResource(id = R.drawable.ic_datadog),\n contentDescription = null\n)\n", + "language": "kotlin", + "filename": "application.kt", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 664, + 673 + ], + "inline": false, + "attributes": { + "content": "// Set a image privacy override on your image\nImage(modifier = Modifier\n .padding(16.dp)\n .sessionReplayImagePrivacy(imagePrivacy = ImagePrivacy.MASK_ALL),\n painter = painterResource(id = R.drawable.ic_datadog),\n contentDescription = null\n)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 664 + }, + "end": { + "line": 673 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "application.kt" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 664 + }, + "end": { + "line": 673 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 652 + }, + "end": { + "line": 653 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 674, + 675 + ], + "inline": false, + "attributes": { + "content": "end Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 674 + }, + "end": { + "line": 675 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 676, + 677 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 676 + }, + "end": { + "line": 677 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 677, + 678, + 713, + 714 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 678, + 679 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 678, + 679 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 678, + 679 + ], + "inline": true, + "attributes": { + "content": "To override image privacy in UIKit views, use " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 678 + }, + "end": { + "line": 679 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 678, + 679 + ], + "inline": true, + "attributes": { + "content": "dd.sessionReplayOverrides.imagePrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 678 + }, + "end": { + "line": 679 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 678, + 679 + ], + "inline": true, + "attributes": { + "content": " on a view instance and set a value from the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 678 + }, + "end": { + "line": 679 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 678, + 679 + ], + "inline": true, + "attributes": { + "content": "ImagePrivacyLevel" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 678 + }, + "end": { + "line": 679 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 678, + 679 + ], + "inline": true, + "attributes": { + "content": " enum. Setting it to " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 678 + }, + "end": { + "line": 679 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 678, + 679 + ], + "inline": true, + "attributes": { + "content": "nil" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 678 + }, + "end": { + "line": 679 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 678, + 679 + ], + "inline": true, + "attributes": { + "content": " removes the override." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 678 + }, + "end": { + "line": 679 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 678 + }, + "end": { + "line": 679 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 678 + }, + "end": { + "line": 679 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 680, + 686 + ], + "inline": false, + "attributes": { + "content": "// Set an image override on your view\nmyView.dd.sessionReplayOverrides.imagePrivacy = .maskAll\n// Remove an image override from your view\nmyView.dd.sessionReplayOverrides.imagePrivacy = nil\n", + "language": "swift", + "filename": "AppDelegate.swift", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 680, + 686 + ], + "inline": false, + "attributes": { + "content": "// Set an image override on your view\nmyView.dd.sessionReplayOverrides.imagePrivacy = .maskAll\n// Remove an image override from your view\nmyView.dd.sessionReplayOverrides.imagePrivacy = nil\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 680 + }, + "end": { + "line": 686 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "AppDelegate.swift" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 680 + }, + "end": { + "line": 686 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 687, + 688 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 687, + 688 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 687, + 688 + ], + "inline": true, + "attributes": { + "content": "To override image privacy in SwiftUI, wrap your content with " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 687 + }, + "end": { + "line": 688 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 687, + 688 + ], + "inline": true, + "attributes": { + "content": "SessionReplayPrivacyView" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 687 + }, + "end": { + "line": 688 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 687, + 688 + ], + "inline": true, + "attributes": { + "content": " and configure the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 687 + }, + "end": { + "line": 688 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 687, + 688 + ], + "inline": true, + "attributes": { + "content": "imagePrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 687 + }, + "end": { + "line": 688 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 687, + 688 + ], + "inline": true, + "attributes": { + "content": " parameter." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 687 + }, + "end": { + "line": 688 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 687 + }, + "end": { + "line": 688 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 687 + }, + "end": { + "line": 688 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 689, + 713 + ], + "inline": false, + "attributes": { + "content": "struct ProfileView: View {\n let profileImageURL = URL(string: \"https://example.com/profile.jpg\")\n\n var body: some View {\n // Set an image privacy override on your SwiftUI content\n SessionReplayPrivacyView(imagePrivacy: .maskAll) {\n VStack {\n Image(\"userAvatar\")\n .resizable()\n .frame(width: 60, height: 60)\n .clipShape(Circle())\n\n AsyncImage(url: profileImageURL) { image in\n image.resizable()\n } placeholder: {\n ProgressView()\n }\n .frame(width: 100, height: 100)\n }\n }\n }\n}\n", + "language": "swift", + "filename": "ContentView.swift", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 689, + 713 + ], + "inline": false, + "attributes": { + "content": "struct ProfileView: View {\n let profileImageURL = URL(string: \"https://example.com/profile.jpg\")\n\n var body: some View {\n // Set an image privacy override on your SwiftUI content\n SessionReplayPrivacyView(imagePrivacy: .maskAll) {\n VStack {\n Image(\"userAvatar\")\n .resizable()\n .frame(width: 60, height: 60)\n .clipShape(Circle())\n\n AsyncImage(url: profileImageURL) { image in\n image.resizable()\n } placeholder: {\n ProgressView()\n }\n .frame(width: 100, height: 100)\n }\n }\n }\n}\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 689 + }, + "end": { + "line": 713 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "ContentView.swift" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 689 + }, + "end": { + "line": 713 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 677 + }, + "end": { + "line": 678 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 714, + 715 + ], + "inline": false, + "attributes": { + "content": "end iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 714 + }, + "end": { + "line": 715 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 716, + 717 + ], + "inline": false, + "attributes": { + "content": "Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 716 + }, + "end": { + "line": 717 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 717, + 718, + 731, + 732 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 718, + 720 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 718, + 720 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 718, + 720 + ], + "inline": true, + "attributes": { + "content": "To override image privacy in Flutter, use the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 718 + }, + "end": { + "line": 720 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 718, + 720 + ], + "inline": true, + "attributes": { + "content": "SessionReplayPrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 718 + }, + "end": { + "line": 720 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 718, + 720 + ], + "inline": true, + "attributes": { + "content": " widget to override the privacy settings for an entire widget tree. Setting" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 718 + }, + "end": { + "line": 720 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 718, + 720 + ], + "inline": true, + "attributes": {}, + "children": [], + "type": "softbreak", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 718 + }, + "end": { + "line": 720 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 718, + 720 + ], + "inline": true, + "attributes": { + "content": "any value to " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 718 + }, + "end": { + "line": 720 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 718, + 720 + ], + "inline": true, + "attributes": { + "content": "null" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 718 + }, + "end": { + "line": 720 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 718, + 720 + ], + "inline": true, + "attributes": { + "content": " keeps the privacy values unchanged from values provided higher up the widget tree." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 718 + }, + "end": { + "line": 720 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 718 + }, + "end": { + "line": 720 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 718 + }, + "end": { + "line": 720 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 721, + 731 + ], + "inline": false, + "attributes": { + "content": "class MyWidget: StatelessWidget {\n Widget build() {\n return SessionReplayPrivacy(\n imagePrivacyLevel: ImagePrivacyLevel.maskAll,\n child: Image.asset('assets/my_image.png'),\n );\n }\n}\n", + "language": "dart", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 721, + 731 + ], + "inline": false, + "attributes": { + "content": "class MyWidget: StatelessWidget {\n Widget build() {\n return SessionReplayPrivacy(\n imagePrivacyLevel: ImagePrivacyLevel.maskAll,\n child: Image.asset('assets/my_image.png'),\n );\n }\n}\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 721 + }, + "end": { + "line": 731 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 721 + }, + "end": { + "line": 731 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 717 + }, + "end": { + "line": 718 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 732, + 733 + ], + "inline": false, + "attributes": { + "content": "end Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 732 + }, + "end": { + "line": 733 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 734, + 735 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 734, + 735 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 734, + 735 + ], + "inline": true, + "attributes": { + "content": "Touch override" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 734 + }, + "end": { + "line": 735 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 734 + }, + "end": { + "line": 735 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 734 + }, + "end": { + "line": 735 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 736, + 737 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 736 + }, + "end": { + "line": 737 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 737, + 738, + 757, + 758 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 738, + 739 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 738, + 739 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 738, + 739 + ], + "inline": true, + "attributes": { + "content": "To override touch privacy in Android classic view, use " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 738 + }, + "end": { + "line": 739 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 738, + 739 + ], + "inline": true, + "attributes": { + "content": "setSessionReplayTouchPrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 738 + }, + "end": { + "line": 739 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 738, + 739 + ], + "inline": true, + "attributes": { + "content": " on a view instance and pass a value from the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 738 + }, + "end": { + "line": 739 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 738, + 739 + ], + "inline": true, + "attributes": { + "content": "TouchPrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 738 + }, + "end": { + "line": 739 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 738, + 739 + ], + "inline": true, + "attributes": { + "content": " enum. Passing " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 738 + }, + "end": { + "line": 739 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 738, + 739 + ], + "inline": true, + "attributes": { + "content": "null" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 738 + }, + "end": { + "line": 739 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 738, + 739 + ], + "inline": true, + "attributes": { + "content": " removes the override." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 738 + }, + "end": { + "line": 739 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 738 + }, + "end": { + "line": 739 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 738 + }, + "end": { + "line": 739 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 740, + 746 + ], + "inline": false, + "attributes": { + "content": "// Set a touch override on your view\nview.setSessionReplayTouchPrivacy(TouchPrivacy.HIDE)\n// Remove a touch override from your view\nview.setSessionReplayTouchPrivacy(null)\n", + "language": "kotlin", + "filename": "application.kt", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 740, + 746 + ], + "inline": false, + "attributes": { + "content": "// Set a touch override on your view\nview.setSessionReplayTouchPrivacy(TouchPrivacy.HIDE)\n// Remove a touch override from your view\nview.setSessionReplayTouchPrivacy(null)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 740 + }, + "end": { + "line": 746 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "application.kt" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 740 + }, + "end": { + "line": 746 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 747, + 748 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 747, + 748 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 747, + 748 + ], + "inline": true, + "attributes": { + "content": "To override touch privacy in Jetpack Compose, use " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 747 + }, + "end": { + "line": 748 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 747, + 748 + ], + "inline": true, + "attributes": { + "content": "Modifier.sessionReplayTouchPrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 747 + }, + "end": { + "line": 748 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 747, + 748 + ], + "inline": true, + "attributes": { + "content": " on the modifier of a composable and pass a value from the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 747 + }, + "end": { + "line": 748 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 747, + 748 + ], + "inline": true, + "attributes": { + "content": "TouchPrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 747 + }, + "end": { + "line": 748 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 747, + 748 + ], + "inline": true, + "attributes": { + "content": " enum." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 747 + }, + "end": { + "line": 748 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 747 + }, + "end": { + "line": 748 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 747 + }, + "end": { + "line": 748 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 749, + 757 + ], + "inline": false, + "attributes": { + "content": "// Set a touch privacy override on your view\nColumn(modifier = Modifier\n .padding(16.dp)\n .sessionReplayTouchPrivacy(touchPrivacy = TouchPrivacy.HIDE)){\n // Content\n}\n", + "language": "kotlin", + "filename": "application.kt", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 749, + 757 + ], + "inline": false, + "attributes": { + "content": "// Set a touch privacy override on your view\nColumn(modifier = Modifier\n .padding(16.dp)\n .sessionReplayTouchPrivacy(touchPrivacy = TouchPrivacy.HIDE)){\n // Content\n}\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 749 + }, + "end": { + "line": 757 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "application.kt" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 749 + }, + "end": { + "line": 757 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 737 + }, + "end": { + "line": 738 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 758, + 759 + ], + "inline": false, + "attributes": { + "content": "end Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 758 + }, + "end": { + "line": 759 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 760, + 761 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 760 + }, + "end": { + "line": 761 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 761, + 762, + 798, + 799 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 762, + 763 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 762, + 763 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 762, + 763 + ], + "inline": true, + "attributes": { + "content": "To override touch privacy in UIKit views, use " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 762 + }, + "end": { + "line": 763 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 762, + 763 + ], + "inline": true, + "attributes": { + "content": "dd.sessionReplayOverrides.touchPrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 762 + }, + "end": { + "line": 763 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 762, + 763 + ], + "inline": true, + "attributes": { + "content": " on a view instance and set a value from the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 762 + }, + "end": { + "line": 763 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 762, + 763 + ], + "inline": true, + "attributes": { + "content": "TouchPrivacyLevel" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 762 + }, + "end": { + "line": 763 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 762, + 763 + ], + "inline": true, + "attributes": { + "content": " enum. Setting it to " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 762 + }, + "end": { + "line": 763 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 762, + 763 + ], + "inline": true, + "attributes": { + "content": "nil" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 762 + }, + "end": { + "line": 763 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 762, + 763 + ], + "inline": true, + "attributes": { + "content": " removes the override." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 762 + }, + "end": { + "line": 763 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 762 + }, + "end": { + "line": 763 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 762 + }, + "end": { + "line": 763 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 764, + 770 + ], + "inline": false, + "attributes": { + "content": "// Set a touch override on your view\nmyView.dd.sessionReplayOverrides.touchPrivacy = .hide\n// Remove a touch override from your view\nmyView.dd.sessionReplayOverrides.touchPrivacy = nil\n", + "language": "swift", + "filename": "AppDelegate.swift", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 764, + 770 + ], + "inline": false, + "attributes": { + "content": "// Set a touch override on your view\nmyView.dd.sessionReplayOverrides.touchPrivacy = .hide\n// Remove a touch override from your view\nmyView.dd.sessionReplayOverrides.touchPrivacy = nil\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 764 + }, + "end": { + "line": 770 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "AppDelegate.swift" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 764 + }, + "end": { + "line": 770 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 771, + 772 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 771, + 772 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 771, + 772 + ], + "inline": true, + "attributes": { + "content": "To override touch privacy in SwiftUI, wrap your content with " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 771 + }, + "end": { + "line": 772 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 771, + 772 + ], + "inline": true, + "attributes": { + "content": "SessionReplayPrivacyView" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 771 + }, + "end": { + "line": 772 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 771, + 772 + ], + "inline": true, + "attributes": { + "content": " and configure the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 771 + }, + "end": { + "line": 772 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 771, + 772 + ], + "inline": true, + "attributes": { + "content": "touchPrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 771 + }, + "end": { + "line": 772 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 771, + 772 + ], + "inline": true, + "attributes": { + "content": " parameter." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 771 + }, + "end": { + "line": 772 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 771 + }, + "end": { + "line": 772 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 771 + }, + "end": { + "line": 772 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 773, + 798 + ], + "inline": false, + "attributes": { + "content": "struct SettingsView: View {\n @State private var sliderValue = 0.5\n\n var body: some View {\n // Set a touch privacy override on your SwiftUI content\n SessionReplayPrivacyView(touchPrivacy: .hide) {\n VStack(spacing: 20) {\n Button(\"Some Action\") {\n // Handle action\n }\n .padding()\n .background(Color.blue)\n .foregroundColor(.white)\n .cornerRadius(8)\n\n Slider(value: $sliderValue, in: 0...1) {\n Text(\"Some Value\")\n }\n }\n .padding()\n }\n }\n}\n", + "language": "swift", + "filename": "ContentView.swift", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 773, + 798 + ], + "inline": false, + "attributes": { + "content": "struct SettingsView: View {\n @State private var sliderValue = 0.5\n\n var body: some View {\n // Set a touch privacy override on your SwiftUI content\n SessionReplayPrivacyView(touchPrivacy: .hide) {\n VStack(spacing: 20) {\n Button(\"Some Action\") {\n // Handle action\n }\n .padding()\n .background(Color.blue)\n .foregroundColor(.white)\n .cornerRadius(8)\n\n Slider(value: $sliderValue, in: 0...1) {\n Text(\"Some Value\")\n }\n }\n .padding()\n }\n }\n}\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 773 + }, + "end": { + "line": 798 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "ContentView.swift" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 773 + }, + "end": { + "line": 798 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 761 + }, + "end": { + "line": 762 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 799, + 800 + ], + "inline": false, + "attributes": { + "content": "end iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 799 + }, + "end": { + "line": 800 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 801, + 802 + ], + "inline": false, + "attributes": { + "content": "Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 801 + }, + "end": { + "line": 802 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 802, + 803, + 818, + 819 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 803, + 805 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 803, + 805 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 803, + 805 + ], + "inline": true, + "attributes": { + "content": "To override touch privacy in Flutter, use the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 803 + }, + "end": { + "line": 805 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 803, + 805 + ], + "inline": true, + "attributes": { + "content": "SessionReplayPrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 803 + }, + "end": { + "line": 805 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 803, + 805 + ], + "inline": true, + "attributes": { + "content": " widget to override the privacy settings for an entire widget tree. Setting" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 803 + }, + "end": { + "line": 805 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 803, + 805 + ], + "inline": true, + "attributes": {}, + "children": [], + "type": "softbreak", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 803 + }, + "end": { + "line": 805 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 803, + 805 + ], + "inline": true, + "attributes": { + "content": "any value to " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 803 + }, + "end": { + "line": 805 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 803, + 805 + ], + "inline": true, + "attributes": { + "content": "null" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 803 + }, + "end": { + "line": 805 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 803, + 805 + ], + "inline": true, + "attributes": { + "content": " keeps the privacy values unchanged from values provided higher up the widget tree." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 803 + }, + "end": { + "line": 805 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 803 + }, + "end": { + "line": 805 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 803 + }, + "end": { + "line": 805 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 806, + 807 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 806, + 807 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 806, + 807 + ], + "inline": true, + "attributes": { + "content": "Enabling touch privacy affects the entire widget tree, and cannot be toggled back to \"show\" in children." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 806 + }, + "end": { + "line": 807 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 806 + }, + "end": { + "line": 807 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 806 + }, + "end": { + "line": 807 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 808, + 818 + ], + "inline": false, + "attributes": { + "content": "class MyWidget: StatelessWidget {\n Widget build() {\n return SessionReplayPrivacy(\n touchPrivacyLevel: TouchPrivacyLevel.hide,\n child: PinPadWidget(),\n );\n }\n}\n", + "language": "dart", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 808, + 818 + ], + "inline": false, + "attributes": { + "content": "class MyWidget: StatelessWidget {\n Widget build() {\n return SessionReplayPrivacy(\n touchPrivacyLevel: TouchPrivacyLevel.hide,\n child: PinPadWidget(),\n );\n }\n}\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 808 + }, + "end": { + "line": 818 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 808 + }, + "end": { + "line": 818 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 802 + }, + "end": { + "line": 803 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 819, + 820 + ], + "inline": false, + "attributes": { + "content": "end Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 819 + }, + "end": { + "line": 820 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 821, + 822 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 821, + 822 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 821, + 822 + ], + "inline": true, + "attributes": { + "content": "Hidden elements override" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 821 + }, + "end": { + "line": 822 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 821 + }, + "end": { + "line": 822 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 821 + }, + "end": { + "line": 822 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 823, + 824 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 823, + 824 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 823, + 824 + ], + "inline": true, + "attributes": { + "content": "For sensitive elements that need to be completely hidden, use the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 823 + }, + "end": { + "line": 824 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 823, + 824 + ], + "inline": true, + "attributes": { + "content": "hidden" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 823 + }, + "end": { + "line": 824 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 823, + 824 + ], + "inline": true, + "attributes": { + "content": " setting." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 823 + }, + "end": { + "line": 824 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 823 + }, + "end": { + "line": 824 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 823 + }, + "end": { + "line": 824 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 825, + 826 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 825, + 826 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 825, + 826 + ], + "inline": true, + "attributes": { + "content": "When an element is " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 825 + }, + "end": { + "line": 826 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 825, + 826 + ], + "inline": true, + "attributes": { + "content": "hidden" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 825 + }, + "end": { + "line": 826 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 825, + 826 + ], + "inline": true, + "attributes": { + "content": ", it is replaced by a placeholder labeled as \"Hidden\" in the replay, and its subviews are not recorded." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 825 + }, + "end": { + "line": 826 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 825 + }, + "end": { + "line": 826 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 825 + }, + "end": { + "line": 826 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 827, + 828 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 827, + 828 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 827, + 828 + ], + "inline": true, + "attributes": { + "marker": "**" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 827, + 828 + ], + "inline": true, + "attributes": { + "content": "Note" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 827 + }, + "end": { + "line": 828 + } + } + } + ], + "type": "strong", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 827 + }, + "end": { + "line": 828 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 827, + 828 + ], + "inline": true, + "attributes": { + "content": ": Marking a view as " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 827 + }, + "end": { + "line": 828 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 827, + 828 + ], + "inline": true, + "attributes": { + "content": "hidden" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 827 + }, + "end": { + "line": 828 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 827, + 828 + ], + "inline": true, + "attributes": { + "content": " does not prevent touch interactions from being recorded on that element. To hide touch interactions as well, use the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 827 + }, + "end": { + "line": 828 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 827, + 828 + ], + "inline": true, + "attributes": { + "href": "#touch-override" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 827, + 828 + ], + "inline": true, + "attributes": { + "content": "touch override" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 827 + }, + "end": { + "line": 828 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 827 + }, + "end": { + "line": 828 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 827, + 828 + ], + "inline": true, + "attributes": { + "content": " in addition to marking the element as hidden." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 827 + }, + "end": { + "line": 828 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 827 + }, + "end": { + "line": 828 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 827 + }, + "end": { + "line": 828 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 829, + 830 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 829 + }, + "end": { + "line": 830 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 830, + 831, + 849, + 850 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 831, + 832 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 831, + 832 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 831, + 832 + ], + "inline": true, + "attributes": { + "content": "Use " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 831 + }, + "end": { + "line": 832 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 831, + 832 + ], + "inline": true, + "attributes": { + "content": "setSessionReplayHidden(hide = true)" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 831 + }, + "end": { + "line": 832 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 831, + 832 + ], + "inline": true, + "attributes": { + "content": " to hide the element. Setting " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 831 + }, + "end": { + "line": 832 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 831, + 832 + ], + "inline": true, + "attributes": { + "content": "hide" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 831 + }, + "end": { + "line": 832 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 831, + 832 + ], + "inline": true, + "attributes": { + "content": " to " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 831 + }, + "end": { + "line": 832 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 831, + 832 + ], + "inline": true, + "attributes": { + "content": "false" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 831 + }, + "end": { + "line": 832 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 831, + 832 + ], + "inline": true, + "attributes": { + "content": " removes the override." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 831 + }, + "end": { + "line": 832 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 831 + }, + "end": { + "line": 832 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 831 + }, + "end": { + "line": 832 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 833, + 839 + ], + "inline": false, + "attributes": { + "content": "// Mark a view as hidden\nmyView.setSessionReplayHidden(hide = true)\n// Remove the override from the view\nmyView.setSessionReplayHidden(hide = false)\n", + "language": "kotlin", + "filename": "application.kt", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 833, + 839 + ], + "inline": false, + "attributes": { + "content": "// Mark a view as hidden\nmyView.setSessionReplayHidden(hide = true)\n// Remove the override from the view\nmyView.setSessionReplayHidden(hide = false)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 833 + }, + "end": { + "line": 839 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "application.kt" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 833 + }, + "end": { + "line": 839 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 840, + 841 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 840, + 841 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 840, + 841 + ], + "inline": true, + "attributes": { + "content": "Use " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 840 + }, + "end": { + "line": 841 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 840, + 841 + ], + "inline": true, + "attributes": { + "content": "Modifier.sessionReplayHide" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 840 + }, + "end": { + "line": 841 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 840, + 841 + ], + "inline": true, + "attributes": { + "content": " to hide the element in Jetpack Compose." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 840 + }, + "end": { + "line": 841 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 840 + }, + "end": { + "line": 841 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 840 + }, + "end": { + "line": 841 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 841, + 849 + ], + "inline": false, + "attributes": { + "content": "// Mark a Column as hidden\nColumn(modifier = Modifier\n .padding(16.dp)\n .sessionReplayHide(hide = true)){\n // Content\n}\n", + "language": "kotlin", + "filename": "application.kt", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 841, + 849 + ], + "inline": false, + "attributes": { + "content": "// Mark a Column as hidden\nColumn(modifier = Modifier\n .padding(16.dp)\n .sessionReplayHide(hide = true)){\n // Content\n}\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 841 + }, + "end": { + "line": 849 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "application.kt" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 841 + }, + "end": { + "line": 849 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 830 + }, + "end": { + "line": 831 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 850, + 851 + ], + "inline": false, + "attributes": { + "content": "end Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 850 + }, + "end": { + "line": 851 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 852, + 853 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 852 + }, + "end": { + "line": 853 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 853, + 854, + 961, + 962 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 854, + 855 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 854, + 855 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 854, + 855 + ], + "inline": true, + "attributes": { + "content": "In UIKit views, use " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 854 + }, + "end": { + "line": 855 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 854, + 855 + ], + "inline": true, + "attributes": { + "content": "dd.sessionReplayOverrides.hide" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 854 + }, + "end": { + "line": 855 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 854, + 855 + ], + "inline": true, + "attributes": { + "content": " to hide the element:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 854 + }, + "end": { + "line": 855 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 854 + }, + "end": { + "line": 855 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 854 + }, + "end": { + "line": 855 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 856, + 862 + ], + "inline": false, + "attributes": { + "content": "// Mark a view as hidden\nmyView.dd.sessionReplayOverrides.hide = true\n// Remove the override from the view\nmyView.dd.sessionReplayOverrides.hide = false\n", + "language": "swift", + "filename": "AppDelegate.swift", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 856, + 862 + ], + "inline": false, + "attributes": { + "content": "// Mark a view as hidden\nmyView.dd.sessionReplayOverrides.hide = true\n// Remove the override from the view\nmyView.dd.sessionReplayOverrides.hide = false\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 856 + }, + "end": { + "line": 862 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "AppDelegate.swift" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 856 + }, + "end": { + "line": 862 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 863, + 864 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 863, + 864 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 863, + 864 + ], + "inline": true, + "attributes": { + "content": "In SwiftUI, wrap your content with " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 863 + }, + "end": { + "line": 864 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 863, + 864 + ], + "inline": true, + "attributes": { + "content": "SessionReplayPrivacyView" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 863 + }, + "end": { + "line": 864 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 863, + 864 + ], + "inline": true, + "attributes": { + "content": " and set the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 863 + }, + "end": { + "line": 864 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 863, + 864 + ], + "inline": true, + "attributes": { + "content": "hide" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 863 + }, + "end": { + "line": 864 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 863, + 864 + ], + "inline": true, + "attributes": { + "content": " parameter to " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 863 + }, + "end": { + "line": 864 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 863, + 864 + ], + "inline": true, + "attributes": { + "content": "true" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 863 + }, + "end": { + "line": 864 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 863, + 864 + ], + "inline": true, + "attributes": { + "content": ":" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 863 + }, + "end": { + "line": 864 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 863 + }, + "end": { + "line": 864 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 863 + }, + "end": { + "line": 864 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 865, + 891 + ], + "inline": false, + "attributes": { + "content": "struct PaymentView: View {\n @State private var cardNumber = \"\"\n @State private var cvv = \"\"\n\n var body: some View {\n // Mark SwiftUI content as hidden\n SessionReplayPrivacyView(hide: true) {\n VStack(spacing: 16) {\n Text(\"Payment Information\")\n .font(.headline)\n\n TextField(\"Card Number\", text: $cardNumber)\n .textFieldStyle(RoundedBorderTextFieldStyle())\n\n SecureField(\"CVV\", text: $cvv)\n .textFieldStyle(RoundedBorderTextFieldStyle())\n\n Text(\"Card ending in 1234\")\n .foregroundColor(.secondary)\n }\n .padding()\n }\n }\n}\n", + "language": "swift", + "filename": "ContentView.swift", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 865, + 891 + ], + "inline": false, + "attributes": { + "content": "struct PaymentView: View {\n @State private var cardNumber = \"\"\n @State private var cvv = \"\"\n\n var body: some View {\n // Mark SwiftUI content as hidden\n SessionReplayPrivacyView(hide: true) {\n VStack(spacing: 16) {\n Text(\"Payment Information\")\n .font(.headline)\n\n TextField(\"Card Number\", text: $cardNumber)\n .textFieldStyle(RoundedBorderTextFieldStyle())\n\n SecureField(\"CVV\", text: $cvv)\n .textFieldStyle(RoundedBorderTextFieldStyle())\n\n Text(\"Card ending in 1234\")\n .foregroundColor(.secondary)\n }\n .padding()\n }\n }\n}\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 865 + }, + "end": { + "line": 891 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "ContentView.swift" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 865 + }, + "end": { + "line": 891 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 892, + 893 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 892, + 893 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 892, + 893 + ], + "inline": true, + "attributes": { + "marker": "**" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 892, + 893 + ], + "inline": true, + "attributes": { + "content": "Note" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 892 + }, + "end": { + "line": 893 + } + } + } + ], + "type": "strong", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 892 + }, + "end": { + "line": 893 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 892, + 893 + ], + "inline": true, + "attributes": { + "content": ": Setting the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 892 + }, + "end": { + "line": 893 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 892, + 893 + ], + "inline": true, + "attributes": { + "content": "hidden" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 892 + }, + "end": { + "line": 893 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 892, + 893 + ], + "inline": true, + "attributes": { + "content": " override to " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 892 + }, + "end": { + "line": 893 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 892, + 893 + ], + "inline": true, + "attributes": { + "content": "nil" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 892 + }, + "end": { + "line": 893 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 892, + 893 + ], + "inline": true, + "attributes": { + "content": " or " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 892 + }, + "end": { + "line": 893 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 892, + 893 + ], + "inline": true, + "attributes": { + "content": "false" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 892 + }, + "end": { + "line": 893 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 892, + 893 + ], + "inline": true, + "attributes": { + "content": " has the same effect—it disables the override." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 892 + }, + "end": { + "line": 893 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 892 + }, + "end": { + "line": 893 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 892 + }, + "end": { + "line": 893 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 894, + 895 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 894, + 895 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 894, + 895 + ], + "inline": true, + "attributes": { + "content": "Combining privacy settings in SwiftUI" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 894 + }, + "end": { + "line": 895 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 894 + }, + "end": { + "line": 895 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 894 + }, + "end": { + "line": 895 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 896, + 897 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 896, + 897 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 896, + 897 + ], + "inline": true, + "attributes": { + "content": "Combine multiple privacy settings in one " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 896 + }, + "end": { + "line": 897 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 896, + 897 + ], + "inline": true, + "attributes": { + "content": "SessionReplayPrivacyView" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 896 + }, + "end": { + "line": 897 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 896, + 897 + ], + "inline": true, + "attributes": { + "content": " for different configurations. Datadog recommends " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 896 + }, + "end": { + "line": 897 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 896, + 897 + ], + "inline": true, + "attributes": { + "marker": "**" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 896, + 897 + ], + "inline": true, + "attributes": { + "content": "combining options in a single view rather than nesting multiple instances" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 896 + }, + "end": { + "line": 897 + } + } + } + ], + "type": "strong", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 896 + }, + "end": { + "line": 897 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 896, + 897 + ], + "inline": true, + "attributes": { + "content": " to avoid adding unnecessary view layers." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 896 + }, + "end": { + "line": 897 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 896 + }, + "end": { + "line": 897 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 896 + }, + "end": { + "line": 897 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 898, + 959 + ], + "inline": false, + "attributes": { + "content": "struct UserProfileView: View {\n @State private var userBio = \"\"\n @State private var cardNumber = \"\"\n\n var body: some View {\n VStack(spacing: 30) {\n // Preferred: Combine multiple privacy settings in one view\n SessionReplayPrivacyView(\n textAndInputPrivacy: .maskSensitiveInputs,\n imagePrivacy: .maskNonBundledOnly,\n touchPrivacy: .show\n ) {\n VStack(spacing: 20) {\n // User profile section\n HStack {\n AsyncImage(url: URL(string: \"https://example.com/profile.jpg\")) { image in\n image.resizable()\n } placeholder: {\n Circle().fill(Color.gray.opacity(0.3))\n }\n .frame(width: 60, height: 60)\n .clipShape(Circle())\n\n VStack(alignment: .leading) {\n Text(\"John Doe\")\n .font(.headline)\n TextField(\"Enter bio\", text: $userBio)\n .textFieldStyle(RoundedBorderTextFieldStyle())\n }\n }\n\n Button(\"Save Profile\") {\n // Save action\n print(\"Profile saved\")\n }\n .padding()\n .background(Color.blue)\n .foregroundColor(.white)\n .cornerRadius(8)\n }\n .padding()\n }\n\n // For completely different privacy requirements, use separate `SessionReplayPrivacyView` instances\n SessionReplayPrivacyView(hide: true) {\n VStack(spacing: 16) {\n Text(\"Credit Card Information\")\n .font(.headline)\n TextField(\"Card Number\", text: $cardNumber)\n .textFieldStyle(RoundedBorderTextFieldStyle())\n }\n .padding()\n .background(Color.gray.opacity(0.1))\n .cornerRadius(8)\n }\n }\n .padding()\n }\n}\n", + "language": "swift", + "filename": "ContentView.swift", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 898, + 959 + ], + "inline": false, + "attributes": { + "content": "struct UserProfileView: View {\n @State private var userBio = \"\"\n @State private var cardNumber = \"\"\n\n var body: some View {\n VStack(spacing: 30) {\n // Preferred: Combine multiple privacy settings in one view\n SessionReplayPrivacyView(\n textAndInputPrivacy: .maskSensitiveInputs,\n imagePrivacy: .maskNonBundledOnly,\n touchPrivacy: .show\n ) {\n VStack(spacing: 20) {\n // User profile section\n HStack {\n AsyncImage(url: URL(string: \"https://example.com/profile.jpg\")) { image in\n image.resizable()\n } placeholder: {\n Circle().fill(Color.gray.opacity(0.3))\n }\n .frame(width: 60, height: 60)\n .clipShape(Circle())\n\n VStack(alignment: .leading) {\n Text(\"John Doe\")\n .font(.headline)\n TextField(\"Enter bio\", text: $userBio)\n .textFieldStyle(RoundedBorderTextFieldStyle())\n }\n }\n\n Button(\"Save Profile\") {\n // Save action\n print(\"Profile saved\")\n }\n .padding()\n .background(Color.blue)\n .foregroundColor(.white)\n .cornerRadius(8)\n }\n .padding()\n }\n\n // For completely different privacy requirements, use separate `SessionReplayPrivacyView` instances\n SessionReplayPrivacyView(hide: true) {\n VStack(spacing: 16) {\n Text(\"Credit Card Information\")\n .font(.headline)\n TextField(\"Card Number\", text: $cardNumber)\n .textFieldStyle(RoundedBorderTextFieldStyle())\n }\n .padding()\n .background(Color.gray.opacity(0.1))\n .cornerRadius(8)\n }\n }\n .padding()\n }\n}\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 898 + }, + "end": { + "line": 959 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "ContentView.swift" + }, + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 898 + }, + "end": { + "line": 959 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 960, + 961 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 960, + 961 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 960, + 961 + ], + "inline": true, + "attributes": { + "marker": "**" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 960, + 961 + ], + "inline": true, + "attributes": { + "content": "Note" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 960 + }, + "end": { + "line": 961 + } + } + } + ], + "type": "strong", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 960 + }, + "end": { + "line": 961 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 960, + 961 + ], + "inline": true, + "attributes": { + "content": ": Each " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 960 + }, + "end": { + "line": 961 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 960, + 961 + ], + "inline": true, + "attributes": { + "content": "SessionReplayPrivacyView" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 960 + }, + "end": { + "line": 961 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 960, + 961 + ], + "inline": true, + "attributes": { + "content": " introduces an additional native view layer. For optimal performance, prefer combining privacy settings instead of nesting multiple privacy views when possible." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 960 + }, + "end": { + "line": 961 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 960 + }, + "end": { + "line": 961 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 960 + }, + "end": { + "line": 961 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 853 + }, + "end": { + "line": 854 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 962, + 963 + ], + "inline": false, + "attributes": { + "content": "end iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 962 + }, + "end": { + "line": 963 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 964, + 965 + ], + "inline": false, + "attributes": { + "content": "Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 964 + }, + "end": { + "line": 965 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 965, + 966, + 980, + 981 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 966, + 967 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 966, + 967 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 966, + 967 + ], + "inline": true, + "attributes": { + "content": "To hide a widget tree in Flutter, use the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 966 + }, + "end": { + "line": 967 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 966, + 967 + ], + "inline": true, + "attributes": { + "content": "SessionReplayPrivacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 966 + }, + "end": { + "line": 967 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 966, + 967 + ], + "inline": true, + "attributes": { + "content": " widget to override the privacy settings for an entire widget tree." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 966 + }, + "end": { + "line": 967 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 966 + }, + "end": { + "line": 967 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 966 + }, + "end": { + "line": 967 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 968, + 969 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 968, + 969 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 968, + 969 + ], + "inline": true, + "attributes": { + "content": "Hiding a widget tree affects the entire widget tree, and cannot be toggled back to " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 968 + }, + "end": { + "line": 969 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 968, + 969 + ], + "inline": true, + "attributes": { + "content": "false" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 968 + }, + "end": { + "line": 969 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 968, + 969 + ], + "inline": true, + "attributes": { + "content": " in children, as Session Replay stops processing widget trees that are marked with " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 968 + }, + "end": { + "line": 969 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 968, + 969 + ], + "inline": true, + "attributes": { + "content": "hide" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 968 + }, + "end": { + "line": 969 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 968, + 969 + ], + "inline": true, + "attributes": { + "content": "." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 968 + }, + "end": { + "line": 969 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 968 + }, + "end": { + "line": 969 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 968 + }, + "end": { + "line": 969 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 970, + 980 + ], + "inline": false, + "attributes": { + "content": "class MyWidget: StatelessWidget {\n Widget build() {\n return SessionReplayPrivacy(\n hide: true,\n child: PinPadWidget(),\n );\n }\n}\n", + "language": "dart", + "collapsible": true + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 970, + 980 + ], + "inline": false, + "attributes": { + "content": "class MyWidget: StatelessWidget {\n Widget build() {\n return SessionReplayPrivacy(\n hide: true,\n child: PinPadWidget(),\n );\n }\n}\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 970 + }, + "end": { + "line": 980 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "collapsible", + "value": true + } + ], + "slots": {}, + "location": { + "start": { + "line": 970 + }, + "end": { + "line": 980 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 965 + }, + "end": { + "line": 966 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 981, + 982 + ], + "inline": false, + "attributes": { + "content": "end Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 981 + }, + "end": { + "line": 982 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "or", + "parameters": { + "0": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + }, + "1": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + }, + "2": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 566 + }, + "end": { + "line": 567 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 985, + 986 + ], + "inline": false, + "attributes": { + "content": "end iOS or Android of Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 985 + }, + "end": { + "line": 986 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 987, + 988 + ], + "inline": false, + "attributes": { + "content": "React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 987 + }, + "end": { + "line": 988 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 988, + 989, + 1142, + 1143 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 989, + 990 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 989, + 990 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 989, + 990 + ], + "inline": true, + "attributes": { + "content": "Privacy overrides are fully supported in React Native starting from version " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 989 + }, + "end": { + "line": 990 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 989, + 990 + ], + "inline": true, + "attributes": { + "content": "2.8.0" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 989 + }, + "end": { + "line": 990 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 989, + 990 + ], + "inline": true, + "attributes": { + "content": " of the Datadog " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 989 + }, + "end": { + "line": 990 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 989, + 990 + ], + "inline": true, + "attributes": { + "href": "https://github.com/DataDog/dd-sdk-reactnative" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 989, + 990 + ], + "inline": true, + "attributes": { + "content": "React Native SDK" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 989 + }, + "end": { + "line": 990 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 989 + }, + "end": { + "line": 990 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 989, + 990 + ], + "inline": true, + "attributes": { + "content": ". Although the underlying functionality is shared with native Android and iOS platforms, the integration in React Native is designed to align with common React patterns." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 989 + }, + "end": { + "line": 990 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 989 + }, + "end": { + "line": 990 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 989 + }, + "end": { + "line": 990 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 991, + 992 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 991, + 992 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 991, + 992 + ], + "inline": true, + "attributes": { + "content": "Behavior consistency" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 991 + }, + "end": { + "line": 992 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 991 + }, + "end": { + "line": 992 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 991 + }, + "end": { + "line": 992 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 993, + 994 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 993, + 994 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 993, + 994 + ], + "inline": true, + "attributes": { + "content": "React Native's implementation is built on the same foundation as the native Android and iOS SDKs. As a result, you can rely on the privacy features behaving the same way across all three platforms." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 993 + }, + "end": { + "line": 994 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 993 + }, + "end": { + "line": 994 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 993 + }, + "end": { + "line": 994 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 995, + 996 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 995, + 996 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 995, + 996 + ], + "inline": true, + "attributes": { + "content": "Usage with " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 995 + }, + "end": { + "line": 996 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 995, + 996 + ], + "inline": true, + "attributes": { + "content": "SessionReplayView" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 995 + }, + "end": { + "line": 996 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 995 + }, + "end": { + "line": 996 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 995 + }, + "end": { + "line": 996 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 997, + 998 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 997, + 998 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 997, + 998 + ], + "inline": true, + "attributes": { + "content": "The SDK provides a set of React components under the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 997 + }, + "end": { + "line": 998 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 997, + 998 + ], + "inline": true, + "attributes": { + "content": "SessionReplayView" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 997 + }, + "end": { + "line": 998 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 997, + 998 + ], + "inline": true, + "attributes": { + "content": " namespace, which are used to configure privacy settings within your React Native application." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 997 + }, + "end": { + "line": 998 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 997 + }, + "end": { + "line": 998 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 997 + }, + "end": { + "line": 998 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 999, + 1000 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 999, + 1000 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 999, + 1000 + ], + "inline": true, + "attributes": { + "content": "To use them, import " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 999 + }, + "end": { + "line": 1000 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 999, + 1000 + ], + "inline": true, + "attributes": { + "content": "SessionReplayView" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 999 + }, + "end": { + "line": 1000 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 999, + 1000 + ], + "inline": true, + "attributes": { + "content": " as follows:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 999 + }, + "end": { + "line": 1000 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 999 + }, + "end": { + "line": 1000 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 999 + }, + "end": { + "line": 1000 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1001, + 1004 + ], + "inline": false, + "attributes": { + "content": "import { SessionReplayView } from \"@datadog/mobile-react-native-session-replay\";\n", + "language": "typescript", + "filename": "App.tsx" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1001, + 1004 + ], + "inline": false, + "attributes": { + "content": "import { SessionReplayView } from \"@datadog/mobile-react-native-session-replay\";\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1001 + }, + "end": { + "line": 1004 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "App.tsx" + } + ], + "slots": {}, + "location": { + "start": { + "line": 1001 + }, + "end": { + "line": 1004 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1005, + 1006 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1005, + 1006 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1005, + 1006 + ], + "inline": true, + "attributes": { + "content": "This import provides access to four privacy-focused components." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1005 + }, + "end": { + "line": 1006 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1005 + }, + "end": { + "line": 1006 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1005 + }, + "end": { + "line": 1006 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1007, + 1008 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1007, + 1008 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1007, + 1008 + ], + "inline": true, + "attributes": { + "content": "Each of these components behaves like a regular React Native View, meaning they can be used anywhere you would typically use a View, with the addition of privacy-related behavior." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1007 + }, + "end": { + "line": 1008 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1007 + }, + "end": { + "line": 1008 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1007 + }, + "end": { + "line": 1008 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1009, + 1010, + 1034, + 1035 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1010, + 1013 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1010, + 1011 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1010, + 1011 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1010, + 1011 + ], + "inline": true, + "attributes": { + "content": "Component" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1010 + }, + "end": { + "line": 1011 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1010 + }, + "end": { + "line": 1011 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1010 + }, + "end": { + "line": 1011 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1011, + 1012 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1011, + 1012 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1011, + 1012 + ], + "inline": true, + "attributes": { + "content": "Description" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1011 + }, + "end": { + "line": 1012 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1011 + }, + "end": { + "line": 1012 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1011 + }, + "end": { + "line": 1012 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1012, + 1013 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1012, + 1013 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1012, + 1013 + ], + "inline": true, + "attributes": { + "content": "Properties" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1012 + }, + "end": { + "line": 1013 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1012 + }, + "end": { + "line": 1013 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1012 + }, + "end": { + "line": 1013 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1010 + }, + "end": { + "line": 1013 + } + } + } + ], + "type": "thead", + "annotations": [], + "slots": {} + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1014, + 1021 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1014, + 1015 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1014, + 1015 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1014, + 1015 + ], + "inline": true, + "attributes": { + "content": "SessionReplayView.Privacy" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1014 + }, + "end": { + "line": 1015 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1014 + }, + "end": { + "line": 1015 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1014 + }, + "end": { + "line": 1015 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1015, + 1016 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1015, + 1016 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1015, + 1016 + ], + "inline": true, + "attributes": { + "content": "Adds support for customizing text, image, and touch privacy settings for its children." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1015 + }, + "end": { + "line": 1016 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1015 + }, + "end": { + "line": 1016 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1015 + }, + "end": { + "line": 1016 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1016, + 1021 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1017, + 1021 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1017, + 1018 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1017, + 1018 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1017, + 1018 + ], + "inline": true, + "attributes": { + "content": "textAndInputPrivacy?" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1017 + }, + "end": { + "line": 1018 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1017, + 1018 + ], + "inline": true, + "attributes": { + "content": ": " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1017 + }, + "end": { + "line": 1018 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1017, + 1018 + ], + "inline": true, + "attributes": { + "href": "https://github.com/DataDog/dd-sdk-reactnative/blob/develop/packages/react-native-session-replay/src/SessionReplay.ts#L43" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1017, + 1018 + ], + "inline": true, + "attributes": { + "content": "TextAndInputPrivacyLevel" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1017 + }, + "end": { + "line": 1018 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1017 + }, + "end": { + "line": 1018 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1017 + }, + "end": { + "line": 1018 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1017 + }, + "end": { + "line": 1018 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1018, + 1019 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1018, + 1019 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1018, + 1019 + ], + "inline": true, + "attributes": { + "content": "imagePrivacy?" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1018 + }, + "end": { + "line": 1019 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1018, + 1019 + ], + "inline": true, + "attributes": { + "content": ": " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1018 + }, + "end": { + "line": 1019 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1018, + 1019 + ], + "inline": true, + "attributes": { + "href": "https://github.com/DataDog/dd-sdk-reactnative/blob/develop/packages/react-native-session-replay/src/SessionReplay.ts#L15" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1018, + 1019 + ], + "inline": true, + "attributes": { + "content": "ImagePrivacyLevel" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1018 + }, + "end": { + "line": 1019 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1018 + }, + "end": { + "line": 1019 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1018 + }, + "end": { + "line": 1019 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1018 + }, + "end": { + "line": 1019 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1019, + 1020 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1019, + 1020 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1019, + 1020 + ], + "inline": true, + "attributes": { + "content": "touchPrivacy?" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1019 + }, + "end": { + "line": 1020 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1019, + 1020 + ], + "inline": true, + "attributes": { + "content": ": " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1019 + }, + "end": { + "line": 1020 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1019, + 1020 + ], + "inline": true, + "attributes": { + "href": "https://github.com/DataDog/dd-sdk-reactnative/blob/develop/packages/react-native-session-replay/src/SessionReplay.ts#L32" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1019, + 1020 + ], + "inline": true, + "attributes": { + "content": "TouchPrivacyLevel" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1019 + }, + "end": { + "line": 1020 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1019 + }, + "end": { + "line": 1020 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1019 + }, + "end": { + "line": 1020 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1019 + }, + "end": { + "line": 1020 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1020, + 1021 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1020, + 1021 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1020, + 1021 + ], + "inline": true, + "attributes": { + "content": "hide?" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1020 + }, + "end": { + "line": 1021 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1020, + 1021 + ], + "inline": true, + "attributes": { + "content": ": " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1020 + }, + "end": { + "line": 1021 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1020, + 1021 + ], + "inline": true, + "attributes": { + "content": "boolean" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1020 + }, + "end": { + "line": 1021 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1020 + }, + "end": { + "line": 1021 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1020 + }, + "end": { + "line": 1021 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1017 + }, + "end": { + "line": 1021 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1016 + }, + "end": { + "line": 1021 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1014 + }, + "end": { + "line": 1021 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1022, + 1026 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1022, + 1023 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1022, + 1023 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1022, + 1023 + ], + "inline": true, + "attributes": { + "content": "SessionReplayView.MaskAll" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1022 + }, + "end": { + "line": 1023 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1022 + }, + "end": { + "line": 1023 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1022 + }, + "end": { + "line": 1023 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1023, + 1024 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1023, + 1024 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1023, + 1024 + ], + "inline": true, + "attributes": { + "content": "Applies the most restrictive privacy settings (" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1023 + }, + "end": { + "line": 1024 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1023, + 1024 + ], + "inline": true, + "attributes": { + "content": "MaskAll" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1023 + }, + "end": { + "line": 1024 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1023, + 1024 + ], + "inline": true, + "attributes": { + "content": " or platform equivalent) to all children." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1023 + }, + "end": { + "line": 1024 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1023 + }, + "end": { + "line": 1024 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1023 + }, + "end": { + "line": 1024 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1024, + 1026 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1025, + 1026 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1025, + 1026 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1025, + 1026 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1025, + 1026 + ], + "inline": true, + "attributes": { + "content": "showTouch?" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1025 + }, + "end": { + "line": 1026 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1025, + 1026 + ], + "inline": true, + "attributes": { + "content": ": " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1025 + }, + "end": { + "line": 1026 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1025, + 1026 + ], + "inline": true, + "attributes": { + "content": "boolean" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1025 + }, + "end": { + "line": 1026 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1025 + }, + "end": { + "line": 1026 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1025 + }, + "end": { + "line": 1026 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1025 + }, + "end": { + "line": 1026 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1024 + }, + "end": { + "line": 1026 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1022 + }, + "end": { + "line": 1026 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1027, + 1030 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1027, + 1028 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1027, + 1028 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1027, + 1028 + ], + "inline": true, + "attributes": { + "content": "SessionReplayView.MaskNone" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1027 + }, + "end": { + "line": 1028 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1027 + }, + "end": { + "line": 1028 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1027 + }, + "end": { + "line": 1028 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1028, + 1029 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1028, + 1029 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1028, + 1029 + ], + "inline": true, + "attributes": { + "content": "Applies the least restrictive settings (" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1028 + }, + "end": { + "line": 1029 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1028, + 1029 + ], + "inline": true, + "attributes": { + "content": "MaskNone" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1028 + }, + "end": { + "line": 1029 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1028, + 1029 + ], + "inline": true, + "attributes": { + "content": " or platform equivalent). All child components are visible." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1028 + }, + "end": { + "line": 1029 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1028 + }, + "end": { + "line": 1029 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1028 + }, + "end": { + "line": 1029 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1029, + 1030 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1029, + 1030 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1029, + 1030 + ], + "inline": true, + "attributes": { + "marker": "_" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1029, + 1030 + ], + "inline": true, + "attributes": { + "content": "(No additional properties)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1029 + }, + "end": { + "line": 1030 + } + } + } + ], + "type": "em", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1029 + }, + "end": { + "line": 1030 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1029 + }, + "end": { + "line": 1030 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1029 + }, + "end": { + "line": 1030 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1027 + }, + "end": { + "line": 1030 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1031, + 1034 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1031, + 1032 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1031, + 1032 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1031, + 1032 + ], + "inline": true, + "attributes": { + "content": "SessionReplayView.Hide" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1031 + }, + "end": { + "line": 1032 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1031 + }, + "end": { + "line": 1032 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1031 + }, + "end": { + "line": 1032 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1032, + 1033 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1032, + 1033 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1032, + 1033 + ], + "inline": true, + "attributes": { + "content": "Completely hides all child components from session replay." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1032 + }, + "end": { + "line": 1033 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1032 + }, + "end": { + "line": 1033 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1032 + }, + "end": { + "line": 1033 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1033, + 1034 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1033, + 1034 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1033, + 1034 + ], + "inline": true, + "attributes": { + "marker": "_" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1033, + 1034 + ], + "inline": true, + "attributes": { + "content": "(No additional properties)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1033 + }, + "end": { + "line": 1034 + } + } + } + ], + "type": "em", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1033 + }, + "end": { + "line": 1034 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1033 + }, + "end": { + "line": 1034 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1033 + }, + "end": { + "line": 1034 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1031 + }, + "end": { + "line": 1034 + } + } + } + ], + "type": "tbody", + "annotations": [], + "slots": {} + } + ], + "type": "table", + "annotations": [], + "slots": {} + } + ], + "type": "tag", + "tag": "table", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1009 + }, + "end": { + "line": 1010 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1036, + 1037 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1036, + 1037 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1036, + 1037 + ], + "inline": true, + "attributes": { + "content": "Integration approaches" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1036 + }, + "end": { + "line": 1037 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1036 + }, + "end": { + "line": 1037 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1036 + }, + "end": { + "line": 1037 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1038, + 1039 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1038, + 1039 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1038, + 1039 + ], + "inline": true, + "attributes": { + "content": "There are two ways to apply privacy overrides in React Native:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1038 + }, + "end": { + "line": 1039 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1038 + }, + "end": { + "line": 1039 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1038 + }, + "end": { + "line": 1039 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1039, + 1042 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1039, + 1040 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1039, + 1040 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1039, + 1040 + ], + "inline": true, + "attributes": { + "content": "Wrap specific components with a privacy-focused " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1039 + }, + "end": { + "line": 1040 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1039, + 1040 + ], + "inline": true, + "attributes": { + "content": "SessionReplayView" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1039 + }, + "end": { + "line": 1040 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1039, + 1040 + ], + "inline": true, + "attributes": { + "content": " to target only certain elements, or" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1039 + }, + "end": { + "line": 1040 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1039 + }, + "end": { + "line": 1040 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1039 + }, + "end": { + "line": 1040 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1040, + 1042 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1040, + 1041 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1040, + 1041 + ], + "inline": true, + "attributes": { + "content": "Replace an entire " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1040 + }, + "end": { + "line": 1041 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1040, + 1041 + ], + "inline": true, + "attributes": { + "content": "" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1040 + }, + "end": { + "line": 1041 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1040, + 1041 + ], + "inline": true, + "attributes": { + "content": " with a " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1040 + }, + "end": { + "line": 1041 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1040, + 1041 + ], + "inline": true, + "attributes": { + "content": "SessionReplayView" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1040 + }, + "end": { + "line": 1041 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1040, + 1041 + ], + "inline": true, + "attributes": { + "content": " to apply privacy settings to a whole section of your UI." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1040 + }, + "end": { + "line": 1041 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1040 + }, + "end": { + "line": 1041 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1040 + }, + "end": { + "line": 1042 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1039 + }, + "end": { + "line": 1042 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1042, + 1043 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1042, + 1043 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1042, + 1043 + ], + "inline": true, + "attributes": { + "content": "This flexibility lets you control which parts of your app are masked or visible in session replays." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1042 + }, + "end": { + "line": 1043 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1042 + }, + "end": { + "line": 1043 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1042 + }, + "end": { + "line": 1043 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1044, + 1045, + 1109, + 1110 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1046, + 1047, + 1080, + 1081 + ], + "inline": false, + "attributes": { + "label": "As wrappers" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1047, + 1048 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1047, + 1048 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1047, + 1048 + ], + "inline": true, + "attributes": { + "content": "Use " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1047 + }, + "end": { + "line": 1048 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1047, + 1048 + ], + "inline": true, + "attributes": { + "content": "SessionReplayView" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1047 + }, + "end": { + "line": 1048 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1047, + 1048 + ], + "inline": true, + "attributes": { + "content": " components to wrap specific parts of your UI where you want to override privacy settings." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1047 + }, + "end": { + "line": 1048 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1047 + }, + "end": { + "line": 1048 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1047 + }, + "end": { + "line": 1048 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1049, + 1050 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1049, + 1050 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1049, + 1050 + ], + "inline": true, + "attributes": { + "content": "For example, going from:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1049 + }, + "end": { + "line": 1050 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1049 + }, + "end": { + "line": 1050 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1049 + }, + "end": { + "line": 1050 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1051, + 1063 + ], + "inline": false, + "attributes": { + "content": "const App = () => {\n return (\n \n {/* content */}\n \n \n {/* content */}\n \n );\n}\n", + "language": "typescript", + "filename": "App.tsx" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1051, + 1063 + ], + "inline": false, + "attributes": { + "content": "const App = () => {\n return (\n \n {/* content */}\n \n \n {/* content */}\n \n );\n}\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1051 + }, + "end": { + "line": 1063 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "App.tsx" + } + ], + "slots": {}, + "location": { + "start": { + "line": 1051 + }, + "end": { + "line": 1063 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1064, + 1065 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1064, + 1065 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1064, + 1065 + ], + "inline": true, + "attributes": { + "content": "To:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1064 + }, + "end": { + "line": 1065 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1064 + }, + "end": { + "line": 1065 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1064 + }, + "end": { + "line": 1065 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1066, + 1080 + ], + "inline": false, + "attributes": { + "content": "const App = () => {\n return (\n \n {/* content */}\n \n \n \n \n {/* content */}\n \n );\n}\n", + "language": "typescript", + "filename": "App.tsx" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1066, + 1080 + ], + "inline": false, + "attributes": { + "content": "const App = () => {\n return (\n \n {/* content */}\n \n \n \n \n {/* content */}\n \n );\n}\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1066 + }, + "end": { + "line": 1080 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "App.tsx" + } + ], + "slots": {}, + "location": { + "start": { + "line": 1066 + }, + "end": { + "line": 1080 + } + } + } + ], + "type": "tag", + "tag": "tab", + "annotations": [ + { + "type": "attribute", + "name": "label", + "value": "As wrappers" + } + ], + "slots": {}, + "location": { + "start": { + "line": 1046 + }, + "end": { + "line": 1047 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1082, + 1083, + 1108, + 1109 + ], + "inline": false, + "attributes": { + "label": "As replacements" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1083, + 1084 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1083, + 1084 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1083, + 1084 + ], + "inline": true, + "attributes": { + "content": "Replace an existing " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1083 + }, + "end": { + "line": 1084 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1083, + 1084 + ], + "inline": true, + "attributes": { + "content": "" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1083 + }, + "end": { + "line": 1084 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1083, + 1084 + ], + "inline": true, + "attributes": { + "content": " with a " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1083 + }, + "end": { + "line": 1084 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1083, + 1084 + ], + "inline": true, + "attributes": { + "content": "SessionReplayView" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1083 + }, + "end": { + "line": 1084 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1083, + 1084 + ], + "inline": true, + "attributes": { + "content": " component directly. This is ideal when a view already encapsulates the section of the UI that needs modified privacy behavior." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1083 + }, + "end": { + "line": 1084 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1083 + }, + "end": { + "line": 1084 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1083 + }, + "end": { + "line": 1084 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1085, + 1086 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1085, + 1086 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1085, + 1086 + ], + "inline": true, + "attributes": { + "content": "For example, instead of:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1085 + }, + "end": { + "line": 1086 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1085 + }, + "end": { + "line": 1086 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1085 + }, + "end": { + "line": 1086 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1087, + 1096 + ], + "inline": false, + "attributes": { + "content": "const App = () => {\n return (\n \n {/* content */}\n \n );\n}\n", + "language": "typescript", + "filename": "App.tsx" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1087, + 1096 + ], + "inline": false, + "attributes": { + "content": "const App = () => {\n return (\n \n {/* content */}\n \n );\n}\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1087 + }, + "end": { + "line": 1096 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "App.tsx" + } + ], + "slots": {}, + "location": { + "start": { + "line": 1087 + }, + "end": { + "line": 1096 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1097, + 1098 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1097, + 1098 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1097, + 1098 + ], + "inline": true, + "attributes": { + "content": "You can use:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1097 + }, + "end": { + "line": 1098 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1097 + }, + "end": { + "line": 1098 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1097 + }, + "end": { + "line": 1098 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1099, + 1108 + ], + "inline": false, + "attributes": { + "content": "const App = () => {\n return (\n \n {/* content */}\n \n );\n}\n", + "language": "typescript", + "filename": "App.tsx" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1099, + 1108 + ], + "inline": false, + "attributes": { + "content": "const App = () => {\n return (\n \n {/* content */}\n \n );\n}\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1099 + }, + "end": { + "line": 1108 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "App.tsx" + } + ], + "slots": {}, + "location": { + "start": { + "line": 1099 + }, + "end": { + "line": 1108 + } + } + } + ], + "type": "tag", + "tag": "tab", + "annotations": [ + { + "type": "attribute", + "name": "label", + "value": "As replacements" + } + ], + "slots": {}, + "location": { + "start": { + "line": 1082 + }, + "end": { + "line": 1083 + } + } + } + ], + "type": "tag", + "tag": "tabs", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1044 + }, + "end": { + "line": 1045 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1111, + 1112 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1111, + 1112 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1111, + 1112 + ], + "inline": true, + "attributes": { + "content": "Combining privacy components" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1111 + }, + "end": { + "line": 1112 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1111 + }, + "end": { + "line": 1112 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1111 + }, + "end": { + "line": 1112 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1113, + 1114 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1113, + 1114 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1113, + 1114 + ], + "inline": true, + "attributes": { + "content": "You can freely combine the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1113 + }, + "end": { + "line": 1114 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1113, + 1114 + ], + "inline": true, + "attributes": { + "content": "SessionReplayView" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1113 + }, + "end": { + "line": 1114 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1113, + 1114 + ], + "inline": true, + "attributes": { + "content": " components to apply different privacy settings to distinct sections of your UI. This is especially useful when you need a mix of hidden elements, masked input fields, and visible content within the same screen." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1113 + }, + "end": { + "line": 1114 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1113 + }, + "end": { + "line": 1114 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1113 + }, + "end": { + "line": 1114 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1115, + 1116 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1115, + 1116 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1115, + 1116 + ], + "inline": true, + "attributes": { + "content": "For example:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1115 + }, + "end": { + "line": 1116 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1115 + }, + "end": { + "line": 1116 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1115 + }, + "end": { + "line": 1116 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1117, + 1142 + ], + "inline": false, + "attributes": { + "content": "import { ImagePrivacyLevel, SessionReplayView, TextAndInputPrivacyLevel, TouchPrivacyLevel } from \"@datadog/mobile-react-native-session-replay\";\n\nconst App = () => {\n return (\n \n {/* content */}\n \n {/* content */}\n \n {/* content */}\n \n {/* content */}\n \n {/* content */}\n \n {/* content */}\n \n \n );\n}\n", + "language": "typescript", + "filename": "App.tsx" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1117, + 1142 + ], + "inline": false, + "attributes": { + "content": "import { ImagePrivacyLevel, SessionReplayView, TextAndInputPrivacyLevel, TouchPrivacyLevel } from \"@datadog/mobile-react-native-session-replay\";\n\nconst App = () => {\n return (\n \n {/* content */}\n \n {/* content */}\n \n {/* content */}\n \n {/* content */}\n \n {/* content */}\n \n {/* content */}\n \n \n );\n}\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1117 + }, + "end": { + "line": 1142 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "App.tsx" + } + ], + "slots": {}, + "location": { + "start": { + "line": 1117 + }, + "end": { + "line": 1142 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 988 + }, + "end": { + "line": 989 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1143, + 1144 + ], + "inline": false, + "attributes": { + "content": "end React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1143 + }, + "end": { + "line": 1144 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1145, + 1146 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1145, + 1146 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1145, + 1146 + ], + "inline": true, + "attributes": { + "content": "Notes on WebViews" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1145 + }, + "end": { + "line": 1146 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1145 + }, + "end": { + "line": 1146 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1145 + }, + "end": { + "line": 1146 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1147, + 1150 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1147, + 1148 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1147, + 1148 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1147, + 1148 + ], + "inline": true, + "attributes": { + "content": "Privacy overrides, aside from the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1147 + }, + "end": { + "line": 1148 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1147, + 1148 + ], + "inline": true, + "attributes": { + "content": "hidden" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1147 + }, + "end": { + "line": 1148 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1147, + 1148 + ], + "inline": true, + "attributes": { + "content": " and " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1147 + }, + "end": { + "line": 1148 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1147, + 1148 + ], + "inline": true, + "attributes": { + "content": "touch" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1147 + }, + "end": { + "line": 1148 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1147, + 1148 + ], + "inline": true, + "attributes": { + "content": " options, are not supported for WebViews. You can primarily manage their privacy using the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1147 + }, + "end": { + "line": 1148 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1147, + 1148 + ], + "inline": true, + "attributes": { + "href": "/real_user_monitoring/session_replay/privacy_options" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1147, + 1148 + ], + "inline": true, + "attributes": { + "content": "browser SDK privacy settings" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1147 + }, + "end": { + "line": 1148 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1147 + }, + "end": { + "line": 1148 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1147, + 1148 + ], + "inline": true, + "attributes": { + "content": "." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1147 + }, + "end": { + "line": 1148 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1147 + }, + "end": { + "line": 1148 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1147 + }, + "end": { + "line": 1148 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1148, + 1150 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1148, + 1149 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1148, + 1149 + ], + "inline": true, + "attributes": { + "content": "When a WebView is marked as " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1148 + }, + "end": { + "line": 1149 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1148, + 1149 + ], + "inline": true, + "attributes": { + "content": "hidden" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1148 + }, + "end": { + "line": 1149 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1148, + 1149 + ], + "inline": true, + "attributes": { + "content": ", it is replaced by a placeholder in the replay. However, the WebView itself continues to collect and send data. To avoid this, it is recommended to use " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1148 + }, + "end": { + "line": 1149 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1148, + 1149 + ], + "inline": true, + "attributes": { + "href": "/real_user_monitoring/session_replay/privacy_options" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1148, + 1149 + ], + "inline": true, + "attributes": { + "content": "browser SDK privacy settings" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1148 + }, + "end": { + "line": 1149 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1148 + }, + "end": { + "line": 1149 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1148, + 1149 + ], + "inline": true, + "attributes": { + "content": " for managing WebView privacy, as they provide more targeted control." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1148 + }, + "end": { + "line": 1149 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1148 + }, + "end": { + "line": 1149 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1148 + }, + "end": { + "line": 1150 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1147 + }, + "end": { + "line": 1150 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1150, + 1151 + ], + "inline": false, + "attributes": { + "level": 2 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1150, + 1151 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1150, + 1151 + ], + "inline": true, + "attributes": { + "content": "How and what data is masked" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1150 + }, + "end": { + "line": 1151 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1150 + }, + "end": { + "line": 1151 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1150 + }, + "end": { + "line": 1151 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1152, + 1153 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1152, + 1153 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1152, + 1153 + ], + "inline": true, + "attributes": { + "content": "This section describes how the Datadog recorder handles masking based on data type and how that data is defined." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1152 + }, + "end": { + "line": 1153 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1152 + }, + "end": { + "line": 1153 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1152 + }, + "end": { + "line": 1153 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1154, + 1155 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1154, + 1155 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1154, + 1155 + ], + "inline": true, + "attributes": { + "content": "Text masking strategies" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1154 + }, + "end": { + "line": 1155 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1154 + }, + "end": { + "line": 1155 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1154 + }, + "end": { + "line": 1155 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1156, + 1157 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1156, + 1157 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1156, + 1157 + ], + "inline": true, + "attributes": { + "content": "Depending on how you've configured your privacy settings, the type of text, and sensitivity of data, Datadog's masking rules apply different strategies to different types of text fields." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1156 + }, + "end": { + "line": 1157 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1156 + }, + "end": { + "line": 1157 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1156 + }, + "end": { + "line": 1157 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1158, + 1163 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1158, + 1159 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1158, + 1159 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1158, + 1159 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1158, + 1159 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1158, + 1159 + ], + "inline": true, + "attributes": { + "content": "Text masking strategy" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1158 + }, + "end": { + "line": 1159 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1158 + }, + "end": { + "line": 1159 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1158 + }, + "end": { + "line": 1159 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1158, + 1159 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1158, + 1159 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1158, + 1159 + ], + "inline": true, + "attributes": { + "content": "Description" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1158 + }, + "end": { + "line": 1159 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1158 + }, + "end": { + "line": 1159 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1158 + }, + "end": { + "line": 1159 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1158, + 1159 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1158, + 1159 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1158, + 1159 + ], + "inline": true, + "attributes": { + "content": "Example" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1158 + }, + "end": { + "line": 1159 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1158 + }, + "end": { + "line": 1159 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1158 + }, + "end": { + "line": 1159 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1158 + }, + "end": { + "line": 1159 + } + } + } + ], + "type": "thead", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1158 + }, + "end": { + "line": 1159 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1160, + 1163 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1160, + 1161 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1160, + 1161 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1160, + 1161 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1160, + 1161 + ], + "inline": true, + "attributes": { + "content": "No mask" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1160 + }, + "end": { + "line": 1161 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1160 + }, + "end": { + "line": 1161 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1160 + }, + "end": { + "line": 1161 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1160, + 1161 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1160, + 1161 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1160, + 1161 + ], + "inline": true, + "attributes": { + "content": "The text is revealed in the session replay" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1160 + }, + "end": { + "line": 1161 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1160 + }, + "end": { + "line": 1161 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1160 + }, + "end": { + "line": 1161 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1160, + 1161 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1160, + 1161 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1160, + 1161 + ], + "inline": true, + "attributes": { + "content": "\"Hello world\"" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1160 + }, + "end": { + "line": 1161 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1160, + 1161 + ], + "inline": true, + "attributes": { + "content": " → " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1160 + }, + "end": { + "line": 1161 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1160, + 1161 + ], + "inline": true, + "attributes": { + "content": "\"Hello world\"" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1160 + }, + "end": { + "line": 1161 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1160 + }, + "end": { + "line": 1161 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1160 + }, + "end": { + "line": 1161 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1160 + }, + "end": { + "line": 1161 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1161, + 1162 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1161, + 1162 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1161, + 1162 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1161, + 1162 + ], + "inline": true, + "attributes": { + "content": "Space-preserving mask" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1161 + }, + "end": { + "line": 1162 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1161 + }, + "end": { + "line": 1162 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1161 + }, + "end": { + "line": 1162 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1161, + 1162 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1161, + 1162 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1161, + 1162 + ], + "inline": true, + "attributes": { + "content": "Each visible character is replaced with a lowercase \"x\"" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1161 + }, + "end": { + "line": 1162 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1161 + }, + "end": { + "line": 1162 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1161 + }, + "end": { + "line": 1162 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1161, + 1162 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1161, + 1162 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1161, + 1162 + ], + "inline": true, + "attributes": { + "content": "\"Hello world\"" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1161 + }, + "end": { + "line": 1162 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1161, + 1162 + ], + "inline": true, + "attributes": { + "content": " → " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1161 + }, + "end": { + "line": 1162 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1161, + 1162 + ], + "inline": true, + "attributes": { + "content": "\"xxxxx xxxxx\"" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1161 + }, + "end": { + "line": 1162 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1161 + }, + "end": { + "line": 1162 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1161 + }, + "end": { + "line": 1162 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1161 + }, + "end": { + "line": 1162 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1162, + 1163 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1162, + 1163 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1162, + 1163 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1162, + 1163 + ], + "inline": true, + "attributes": { + "content": "Fixed-length mask" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1162 + }, + "end": { + "line": 1163 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1162 + }, + "end": { + "line": 1163 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1162 + }, + "end": { + "line": 1163 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1162, + 1163 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1162, + 1163 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1162, + 1163 + ], + "inline": true, + "attributes": { + "content": "The entire text field is replaced with a constant of three asterisks (***)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1162 + }, + "end": { + "line": 1163 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1162 + }, + "end": { + "line": 1163 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1162 + }, + "end": { + "line": 1163 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1162, + 1163 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1162, + 1163 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1162, + 1163 + ], + "inline": true, + "attributes": { + "content": "\"Hello world\"" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1162 + }, + "end": { + "line": 1163 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1162, + 1163 + ], + "inline": true, + "attributes": { + "content": " → " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1162 + }, + "end": { + "line": 1163 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1162, + 1163 + ], + "inline": true, + "attributes": { + "content": "\"***\"" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1162 + }, + "end": { + "line": 1163 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1162 + }, + "end": { + "line": 1163 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1162 + }, + "end": { + "line": 1163 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1162 + }, + "end": { + "line": 1163 + } + } + } + ], + "type": "tbody", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1160 + }, + "end": { + "line": 1163 + } + } + } + ], + "type": "table", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1158 + }, + "end": { + "line": 1163 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1164, + 1165 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1164, + 1165 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1164, + 1165 + ], + "inline": true, + "attributes": { + "content": "With the above text strategies in mind, you have a few different options if you want to override the default privacy rule of " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1164 + }, + "end": { + "line": 1165 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1164, + 1165 + ], + "inline": true, + "attributes": { + "content": "mask" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1164 + }, + "end": { + "line": 1165 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1164, + 1165 + ], + "inline": true, + "attributes": { + "content": " in your configuration." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1164 + }, + "end": { + "line": 1165 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1164 + }, + "end": { + "line": 1165 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1164 + }, + "end": { + "line": 1165 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1166, + 1167 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1166, + 1167 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1166, + 1167 + ], + "inline": true, + "attributes": { + "content": "The following chart shows how Datadog applies different text masking strategies, using the rules you set up in your configuration, to the below text types." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1166 + }, + "end": { + "line": 1167 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1166 + }, + "end": { + "line": 1167 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1166 + }, + "end": { + "line": 1167 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1168, + 1174 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1168, + 1169 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1168, + 1169 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1168, + 1169 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1168, + 1169 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1168, + 1169 + ], + "inline": true, + "attributes": { + "content": "Type" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1168 + }, + "end": { + "line": 1169 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1168 + }, + "end": { + "line": 1169 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1168 + }, + "end": { + "line": 1169 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1168, + 1169 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1168, + 1169 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1168, + 1169 + ], + "inline": true, + "attributes": { + "content": "Allow all" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1168 + }, + "end": { + "line": 1169 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1168 + }, + "end": { + "line": 1169 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1168 + }, + "end": { + "line": 1169 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1168, + 1169 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1168, + 1169 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1168, + 1169 + ], + "inline": true, + "attributes": { + "content": "Mask all" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1168 + }, + "end": { + "line": 1169 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1168 + }, + "end": { + "line": 1169 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1168 + }, + "end": { + "line": 1169 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1168, + 1169 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1168, + 1169 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1168, + 1169 + ], + "inline": true, + "attributes": { + "content": "Mask user input" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1168 + }, + "end": { + "line": 1169 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1168 + }, + "end": { + "line": 1169 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1168 + }, + "end": { + "line": 1169 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1168 + }, + "end": { + "line": 1169 + } + } + } + ], + "type": "thead", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1168 + }, + "end": { + "line": 1169 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1170, + 1174 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1170, + 1171 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1170, + 1171 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1170, + 1171 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1170, + 1171 + ], + "inline": true, + "attributes": { + "href": "#sensitive-text" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1170, + 1171 + ], + "inline": true, + "attributes": { + "content": "Sensitive text" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1170 + }, + "end": { + "line": 1171 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1170 + }, + "end": { + "line": 1171 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1170 + }, + "end": { + "line": 1171 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1170 + }, + "end": { + "line": 1171 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1170, + 1171 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1170, + 1171 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1170, + 1171 + ], + "inline": true, + "attributes": { + "content": "Fixed-length mask" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1170 + }, + "end": { + "line": 1171 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1170 + }, + "end": { + "line": 1171 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1170 + }, + "end": { + "line": 1171 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1170, + 1171 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1170, + 1171 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1170, + 1171 + ], + "inline": true, + "attributes": { + "content": "Fixed-length mask" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1170 + }, + "end": { + "line": 1171 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1170 + }, + "end": { + "line": 1171 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1170 + }, + "end": { + "line": 1171 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1170, + 1171 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1170, + 1171 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1170, + 1171 + ], + "inline": true, + "attributes": { + "content": "Fixed-length mask" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1170 + }, + "end": { + "line": 1171 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1170 + }, + "end": { + "line": 1171 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1170 + }, + "end": { + "line": 1171 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1170 + }, + "end": { + "line": 1171 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1171, + 1172 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1171, + 1172 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1171, + 1172 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1171, + 1172 + ], + "inline": true, + "attributes": { + "href": "#input-and-option-text" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1171, + 1172 + ], + "inline": true, + "attributes": { + "content": "Input and option text" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1171 + }, + "end": { + "line": 1172 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1171 + }, + "end": { + "line": 1172 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1171 + }, + "end": { + "line": 1172 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1171 + }, + "end": { + "line": 1172 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1171, + 1172 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1171, + 1172 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1171, + 1172 + ], + "inline": true, + "attributes": { + "content": "No mask" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1171 + }, + "end": { + "line": 1172 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1171 + }, + "end": { + "line": 1172 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1171 + }, + "end": { + "line": 1172 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1171, + 1172 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1171, + 1172 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1171, + 1172 + ], + "inline": true, + "attributes": { + "content": "Fixed-length mask" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1171 + }, + "end": { + "line": 1172 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1171 + }, + "end": { + "line": 1172 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1171 + }, + "end": { + "line": 1172 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1171, + 1172 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1171, + 1172 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1171, + 1172 + ], + "inline": true, + "attributes": { + "content": "Fixed-length mask" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1171 + }, + "end": { + "line": 1172 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1171 + }, + "end": { + "line": 1172 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1171 + }, + "end": { + "line": 1172 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1171 + }, + "end": { + "line": 1172 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1172, + 1173 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1172, + 1173 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1172, + 1173 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1172, + 1173 + ], + "inline": true, + "attributes": { + "href": "#static-text" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1172, + 1173 + ], + "inline": true, + "attributes": { + "content": "Static text" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1172 + }, + "end": { + "line": 1173 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1172 + }, + "end": { + "line": 1173 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1172 + }, + "end": { + "line": 1173 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1172 + }, + "end": { + "line": 1173 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1172, + 1173 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1172, + 1173 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1172, + 1173 + ], + "inline": true, + "attributes": { + "content": "No mask" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1172 + }, + "end": { + "line": 1173 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1172 + }, + "end": { + "line": 1173 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1172 + }, + "end": { + "line": 1173 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1172, + 1173 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1172, + 1173 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1172, + 1173 + ], + "inline": true, + "attributes": { + "content": "Space-preserving mask" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1172 + }, + "end": { + "line": 1173 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1172 + }, + "end": { + "line": 1173 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1172 + }, + "end": { + "line": 1173 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1172, + 1173 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1172, + 1173 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1172, + 1173 + ], + "inline": true, + "attributes": { + "content": "No mask" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1172 + }, + "end": { + "line": 1173 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1172 + }, + "end": { + "line": 1173 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1172 + }, + "end": { + "line": 1173 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1172 + }, + "end": { + "line": 1173 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1173, + 1174 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1173, + 1174 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1173, + 1174 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1173, + 1174 + ], + "inline": true, + "attributes": { + "href": "#hint-text" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1173, + 1174 + ], + "inline": true, + "attributes": { + "content": "Hint text" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1173 + }, + "end": { + "line": 1174 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1173 + }, + "end": { + "line": 1174 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1173 + }, + "end": { + "line": 1174 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1173 + }, + "end": { + "line": 1174 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1173, + 1174 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1173, + 1174 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1173, + 1174 + ], + "inline": true, + "attributes": { + "content": "No mask" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1173 + }, + "end": { + "line": 1174 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1173 + }, + "end": { + "line": 1174 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1173 + }, + "end": { + "line": 1174 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1173, + 1174 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1173, + 1174 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1173, + 1174 + ], + "inline": true, + "attributes": { + "content": "Fixed-length mask" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1173 + }, + "end": { + "line": 1174 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1173 + }, + "end": { + "line": 1174 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1173 + }, + "end": { + "line": 1174 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1173, + 1174 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1173, + 1174 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1173, + 1174 + ], + "inline": true, + "attributes": { + "content": "No mask" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1173 + }, + "end": { + "line": 1174 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1173 + }, + "end": { + "line": 1174 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1173 + }, + "end": { + "line": 1174 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1173 + }, + "end": { + "line": 1174 + } + } + } + ], + "type": "tbody", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1170 + }, + "end": { + "line": 1174 + } + } + } + ], + "type": "table", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1168 + }, + "end": { + "line": 1174 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1175, + 1176 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1175, + 1176 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1175, + 1176 + ], + "inline": true, + "attributes": { + "content": "Text masking definitions" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1175 + }, + "end": { + "line": 1176 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1175 + }, + "end": { + "line": 1176 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1175 + }, + "end": { + "line": 1176 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1177, + 1178 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1177, + 1178 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1177, + 1178 + ], + "inline": true, + "attributes": { + "content": "Find below a description of how Datadog's recorder treats each text type." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1177 + }, + "end": { + "line": 1178 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1177 + }, + "end": { + "line": 1178 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1177 + }, + "end": { + "line": 1178 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1179, + 1180 + ], + "inline": false, + "attributes": { + "level": 4 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1179, + 1180 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1179, + 1180 + ], + "inline": true, + "attributes": { + "content": "Sensitive text" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1179 + }, + "end": { + "line": 1180 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1179 + }, + "end": { + "line": 1180 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1179 + }, + "end": { + "line": 1180 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1180, + 1182 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1180, + 1182 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1180, + 1182 + ], + "inline": true, + "attributes": { + "content": "Sensitive text includes passwords, e-mails, and phone numbers marked in a platform-specific way," + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1180 + }, + "end": { + "line": 1182 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1180, + 1182 + ], + "inline": true, + "attributes": {}, + "children": [], + "type": "softbreak", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1180 + }, + "end": { + "line": 1182 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1180, + 1182 + ], + "inline": true, + "attributes": { + "content": "and other forms of sensitivity in text available to each platform." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1180 + }, + "end": { + "line": 1182 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1180 + }, + "end": { + "line": 1182 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1180 + }, + "end": { + "line": 1182 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1183, + 1184 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1183 + }, + "end": { + "line": 1184 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1184, + 1185, + 1189, + 1190 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1185, + 1186 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1185, + 1186 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1185, + 1186 + ], + "inline": true, + "attributes": { + "content": "Sensitive text can be detected in:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1185 + }, + "end": { + "line": 1186 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1185 + }, + "end": { + "line": 1186 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1185 + }, + "end": { + "line": 1186 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1187, + 1189 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1187, + 1188 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1187, + 1188 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1187, + 1188 + ], + "inline": true, + "attributes": { + "content": "Edit Text" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1187 + }, + "end": { + "line": 1188 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1187 + }, + "end": { + "line": 1188 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1187 + }, + "end": { + "line": 1188 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1188, + 1189 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1188, + 1189 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1188, + 1189 + ], + "inline": true, + "attributes": { + "content": "Address information" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1188 + }, + "end": { + "line": 1189 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1188 + }, + "end": { + "line": 1189 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1188 + }, + "end": { + "line": 1189 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1187 + }, + "end": { + "line": 1189 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1184 + }, + "end": { + "line": 1185 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1191, + 1192 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1191 + }, + "end": { + "line": 1192 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1192, + 1193, + 1200, + 1201 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1193, + 1194 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1193, + 1194 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1193, + 1194 + ], + "inline": true, + "attributes": { + "content": "Sensitive text can be detected in:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1193 + }, + "end": { + "line": 1194 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1193 + }, + "end": { + "line": 1194 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1193 + }, + "end": { + "line": 1194 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1195, + 1200 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1195, + 1196 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1195, + 1196 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1195, + 1196 + ], + "inline": true, + "attributes": { + "content": "Text Field" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1195 + }, + "end": { + "line": 1196 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1195 + }, + "end": { + "line": 1196 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1195 + }, + "end": { + "line": 1196 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1196, + 1197 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1196, + 1197 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1196, + 1197 + ], + "inline": true, + "attributes": { + "content": "Text View" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1196 + }, + "end": { + "line": 1197 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1196 + }, + "end": { + "line": 1197 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1196 + }, + "end": { + "line": 1197 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1197, + 1198 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1197, + 1198 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1197, + 1198 + ], + "inline": true, + "attributes": { + "content": "Address information" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1197 + }, + "end": { + "line": 1198 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1197 + }, + "end": { + "line": 1198 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1197 + }, + "end": { + "line": 1198 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1198, + 1199 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1198, + 1199 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1198, + 1199 + ], + "inline": true, + "attributes": { + "content": "Credit card numbers" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1198 + }, + "end": { + "line": 1199 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1198 + }, + "end": { + "line": 1199 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1198 + }, + "end": { + "line": 1199 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1199, + 1200 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1199, + 1200 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1199, + 1200 + ], + "inline": true, + "attributes": { + "content": "One-time codes" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1199 + }, + "end": { + "line": 1200 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1199 + }, + "end": { + "line": 1200 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1199 + }, + "end": { + "line": 1200 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1195 + }, + "end": { + "line": 1200 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1192 + }, + "end": { + "line": 1193 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1202, + 1203 + ], + "inline": false, + "attributes": { + "content": "React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1202 + }, + "end": { + "line": 1203 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1203, + 1204, + 1228, + 1229 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1204, + 1205 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1204, + 1205 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1204, + 1205 + ], + "inline": true, + "attributes": { + "content": "Sensitive text can be detected in the following components." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1204 + }, + "end": { + "line": 1205 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1204 + }, + "end": { + "line": 1205 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1204 + }, + "end": { + "line": 1205 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1206, + 1207, + 1227, + 1228 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1207, + 1209 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1207, + 1208 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1207, + 1208 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1207, + 1208 + ], + "inline": true, + "attributes": { + "content": "Component" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1207 + }, + "end": { + "line": 1208 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1207 + }, + "end": { + "line": 1208 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1207 + }, + "end": { + "line": 1208 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1208, + 1209 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1208, + 1209 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1208, + 1209 + ], + "inline": true, + "attributes": { + "content": "Platform(s)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1208 + }, + "end": { + "line": 1209 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1208 + }, + "end": { + "line": 1209 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1208 + }, + "end": { + "line": 1209 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1207 + }, + "end": { + "line": 1209 + } + } + } + ], + "type": "thead", + "annotations": [], + "slots": {} + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1210, + 1212 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1210, + 1211 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1210, + 1211 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1210, + 1211 + ], + "inline": true, + "attributes": { + "content": "Text Field" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1210 + }, + "end": { + "line": 1211 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1210 + }, + "end": { + "line": 1211 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1210 + }, + "end": { + "line": 1211 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1211, + 1212 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1211, + 1212 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1211, + 1212 + ], + "inline": true, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1211 + }, + "end": { + "line": 1212 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1211 + }, + "end": { + "line": 1212 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1211 + }, + "end": { + "line": 1212 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1210 + }, + "end": { + "line": 1212 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1213, + 1215 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1213, + 1214 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1213, + 1214 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1213, + 1214 + ], + "inline": true, + "attributes": { + "content": "Text View" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1213 + }, + "end": { + "line": 1214 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1213 + }, + "end": { + "line": 1214 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1213 + }, + "end": { + "line": 1214 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1214, + 1215 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1214, + 1215 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1214, + 1215 + ], + "inline": true, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1214 + }, + "end": { + "line": 1215 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1214 + }, + "end": { + "line": 1215 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1214 + }, + "end": { + "line": 1215 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1213 + }, + "end": { + "line": 1215 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1216, + 1218 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1216, + 1217 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1216, + 1217 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1216, + 1217 + ], + "inline": true, + "attributes": { + "content": "Edit Text" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1216 + }, + "end": { + "line": 1217 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1216 + }, + "end": { + "line": 1217 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1216 + }, + "end": { + "line": 1217 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1217, + 1218 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1217, + 1218 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1217, + 1218 + ], + "inline": true, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1217 + }, + "end": { + "line": 1218 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1217 + }, + "end": { + "line": 1218 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1217 + }, + "end": { + "line": 1218 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1216 + }, + "end": { + "line": 1218 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1219, + 1221 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1219, + 1220 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1219, + 1220 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1219, + 1220 + ], + "inline": true, + "attributes": { + "content": "Address information" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1219 + }, + "end": { + "line": 1220 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1219 + }, + "end": { + "line": 1220 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1219 + }, + "end": { + "line": 1220 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1220, + 1221 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1220, + 1221 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1220, + 1221 + ], + "inline": true, + "attributes": { + "content": "iOS, Android" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1220 + }, + "end": { + "line": 1221 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1220 + }, + "end": { + "line": 1221 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1220 + }, + "end": { + "line": 1221 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1219 + }, + "end": { + "line": 1221 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1222, + 1224 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1222, + 1223 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1222, + 1223 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1222, + 1223 + ], + "inline": true, + "attributes": { + "content": "Credit card numbers" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1222 + }, + "end": { + "line": 1223 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1222 + }, + "end": { + "line": 1223 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1222 + }, + "end": { + "line": 1223 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1223, + 1224 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1223, + 1224 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1223, + 1224 + ], + "inline": true, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1223 + }, + "end": { + "line": 1224 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1223 + }, + "end": { + "line": 1224 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1223 + }, + "end": { + "line": 1224 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1222 + }, + "end": { + "line": 1224 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1225, + 1227 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1225, + 1226 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1225, + 1226 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1225, + 1226 + ], + "inline": true, + "attributes": { + "content": "One-time codes" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1225 + }, + "end": { + "line": 1226 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1225 + }, + "end": { + "line": 1226 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1225 + }, + "end": { + "line": 1226 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1226, + 1227 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1226, + 1227 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1226, + 1227 + ], + "inline": true, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1226 + }, + "end": { + "line": 1227 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1226 + }, + "end": { + "line": 1227 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1226 + }, + "end": { + "line": 1227 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1225 + }, + "end": { + "line": 1227 + } + } + } + ], + "type": "tbody", + "annotations": [], + "slots": {} + } + ], + "type": "table", + "annotations": [], + "slots": {} + } + ], + "type": "tag", + "tag": "table", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1206 + }, + "end": { + "line": 1207 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1203 + }, + "end": { + "line": 1204 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1230, + 1231, + 1242, + 1243 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [], + "inline": false, + "attributes": {}, + "children": [], + "type": "thead", + "annotations": [], + "slots": {} + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1236, + 1242 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1236, + 1237 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1236, + 1237 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1236, + 1237 + ], + "inline": true, + "attributes": { + "content": "TextInputType.name" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1236 + }, + "end": { + "line": 1237 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1236 + }, + "end": { + "line": 1237 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1236 + }, + "end": { + "line": 1237 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1237, + 1238 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1237, + 1238 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1237, + 1238 + ], + "inline": true, + "attributes": { + "content": "TextInputType.phone" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1237 + }, + "end": { + "line": 1238 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1237 + }, + "end": { + "line": 1238 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1237 + }, + "end": { + "line": 1238 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1238, + 1239 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1238, + 1239 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1238, + 1239 + ], + "inline": true, + "attributes": { + "content": "TextInputType.emailAddress" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1238 + }, + "end": { + "line": 1239 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1238 + }, + "end": { + "line": 1239 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1238 + }, + "end": { + "line": 1239 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1239, + 1240 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1239, + 1240 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1239, + 1240 + ], + "inline": true, + "attributes": { + "content": "TextInputType.streetAddress" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1239 + }, + "end": { + "line": 1240 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1239 + }, + "end": { + "line": 1240 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1239 + }, + "end": { + "line": 1240 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1240, + 1241 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1240, + 1241 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1240, + 1241 + ], + "inline": true, + "attributes": { + "content": "TextInputType.twitter" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1240 + }, + "end": { + "line": 1241 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1240 + }, + "end": { + "line": 1241 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1240 + }, + "end": { + "line": 1241 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1241, + 1242 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1241, + 1242 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1241, + 1242 + ], + "inline": true, + "attributes": { + "content": "TextInputType.visiblePassword" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1241 + }, + "end": { + "line": 1242 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1241 + }, + "end": { + "line": 1242 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1241 + }, + "end": { + "line": 1242 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1236 + }, + "end": { + "line": 1242 + } + } + } + ], + "type": "tbody", + "annotations": [], + "slots": {} + } + ], + "type": "table", + "annotations": [], + "slots": {} + } + ], + "type": "tag", + "tag": "table", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1230 + }, + "end": { + "line": 1231 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1244, + 1245 + ], + "inline": false, + "attributes": { + "level": 4 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1244, + 1245 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1244, + 1245 + ], + "inline": true, + "attributes": { + "content": "Input and option text" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1244 + }, + "end": { + "line": 1245 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1244 + }, + "end": { + "line": 1245 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1244 + }, + "end": { + "line": 1245 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1246, + 1247 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1246, + 1247 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1246, + 1247 + ], + "inline": true, + "attributes": { + "content": "Input and option text is text entered by the user with a keyboard or other text-input device, or a custom (non-generic) value in selection elements." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1246 + }, + "end": { + "line": 1247 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1246 + }, + "end": { + "line": 1247 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1246 + }, + "end": { + "line": 1247 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1248, + 1249 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1248, + 1249 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1248, + 1249 + ], + "inline": true, + "attributes": { + "content": "This includes the below." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1248 + }, + "end": { + "line": 1249 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1248 + }, + "end": { + "line": 1249 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1248 + }, + "end": { + "line": 1249 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1250, + 1251 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1250 + }, + "end": { + "line": 1251 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1251, + 1252, + 1262, + 1263 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1252, + 1262 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1252, + 1255 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1252, + 1253 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1252, + 1253 + ], + "inline": true, + "attributes": { + "content": "User-entered text in:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1252 + }, + "end": { + "line": 1253 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1252 + }, + "end": { + "line": 1253 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1253, + 1255 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1253, + 1254 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1253, + 1254 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1253, + 1254 + ], + "inline": true, + "attributes": { + "content": "Text Field" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1253 + }, + "end": { + "line": 1254 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1253 + }, + "end": { + "line": 1254 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1253 + }, + "end": { + "line": 1254 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1254, + 1255 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1254, + 1255 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1254, + 1255 + ], + "inline": true, + "attributes": { + "content": "Text View" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1254 + }, + "end": { + "line": 1255 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1254 + }, + "end": { + "line": 1255 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1254 + }, + "end": { + "line": 1255 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1253 + }, + "end": { + "line": 1255 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1252 + }, + "end": { + "line": 1255 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1255, + 1258 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1255, + 1256 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1255, + 1256 + ], + "inline": true, + "attributes": { + "content": "User-selected options in:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1255 + }, + "end": { + "line": 1256 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1255 + }, + "end": { + "line": 1256 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1256, + 1258 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1256, + 1257 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1256, + 1257 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1256, + 1257 + ], + "inline": true, + "attributes": { + "content": "Value Picker" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1256 + }, + "end": { + "line": 1257 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1256 + }, + "end": { + "line": 1257 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1256 + }, + "end": { + "line": 1257 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1257, + 1258 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1257, + 1258 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1257, + 1258 + ], + "inline": true, + "attributes": { + "content": "Segment" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1257 + }, + "end": { + "line": 1258 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1257 + }, + "end": { + "line": 1258 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1257 + }, + "end": { + "line": 1258 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1256 + }, + "end": { + "line": 1258 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1255 + }, + "end": { + "line": 1258 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1258, + 1262 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1258, + 1259 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1258, + 1259 + ], + "inline": true, + "attributes": { + "content": "Notable exclusions:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1258 + }, + "end": { + "line": 1259 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1258 + }, + "end": { + "line": 1259 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1259, + 1262 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1259, + 1260 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1259, + 1260 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1259, + 1260 + ], + "inline": true, + "attributes": { + "content": "Placeholder (hint) texts in Text Field and Text View (not entered by the user)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1259 + }, + "end": { + "line": 1260 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1259 + }, + "end": { + "line": 1260 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1259 + }, + "end": { + "line": 1260 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1260, + 1261 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1260, + 1261 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1260, + 1261 + ], + "inline": true, + "attributes": { + "content": "Non-editable texts in Text View" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1260 + }, + "end": { + "line": 1261 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1260 + }, + "end": { + "line": 1261 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1260 + }, + "end": { + "line": 1261 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1261, + 1262 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1261, + 1262 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1261, + 1262 + ], + "inline": true, + "attributes": { + "content": "Month, day, and year labels in Date Picker (generic values)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1261 + }, + "end": { + "line": 1262 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1261 + }, + "end": { + "line": 1262 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1261 + }, + "end": { + "line": 1262 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1259 + }, + "end": { + "line": 1262 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1258 + }, + "end": { + "line": 1262 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1252 + }, + "end": { + "line": 1262 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1251 + }, + "end": { + "line": 1252 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1264, + 1265 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1264 + }, + "end": { + "line": 1265 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1265, + 1266, + 1274, + 1275 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1266, + 1274 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1266, + 1268 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1266, + 1267 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1266, + 1267 + ], + "inline": true, + "attributes": { + "content": "User-entered text in:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1266 + }, + "end": { + "line": 1267 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1266 + }, + "end": { + "line": 1267 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1267, + 1268 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1267, + 1268 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1267, + 1268 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1267, + 1268 + ], + "inline": true, + "attributes": { + "content": "Edit Text" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1267 + }, + "end": { + "line": 1268 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1267 + }, + "end": { + "line": 1268 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1267 + }, + "end": { + "line": 1268 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1267 + }, + "end": { + "line": 1268 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1266 + }, + "end": { + "line": 1268 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1268, + 1271 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1268, + 1269 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1268, + 1269 + ], + "inline": true, + "attributes": { + "content": "User-selected options in:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1268 + }, + "end": { + "line": 1269 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1268 + }, + "end": { + "line": 1269 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1269, + 1271 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1269, + 1270 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1269, + 1270 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1269, + 1270 + ], + "inline": true, + "attributes": { + "content": "Value Picker" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1269 + }, + "end": { + "line": 1270 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1269 + }, + "end": { + "line": 1270 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1269 + }, + "end": { + "line": 1270 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1270, + 1271 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1270, + 1271 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1270, + 1271 + ], + "inline": true, + "attributes": { + "content": "Drop Down List" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1270 + }, + "end": { + "line": 1271 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1270 + }, + "end": { + "line": 1271 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1270 + }, + "end": { + "line": 1271 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1269 + }, + "end": { + "line": 1271 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1268 + }, + "end": { + "line": 1271 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1271, + 1274 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1271, + 1272 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1271, + 1272 + ], + "inline": true, + "attributes": { + "content": "Notable exclusions:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1271 + }, + "end": { + "line": 1272 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1271 + }, + "end": { + "line": 1272 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1272, + 1274 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1272, + 1273 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1272, + 1273 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1272, + 1273 + ], + "inline": true, + "attributes": { + "content": "Placeholder (hint) texts in Edit Text (not entered by the user)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1272 + }, + "end": { + "line": 1273 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1272 + }, + "end": { + "line": 1273 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1272 + }, + "end": { + "line": 1273 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1273, + 1274 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1273, + 1274 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1273, + 1274 + ], + "inline": true, + "attributes": { + "content": "Month, day, and year labels in Date Picker (generic values)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1273 + }, + "end": { + "line": 1274 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1273 + }, + "end": { + "line": 1274 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1273 + }, + "end": { + "line": 1274 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1272 + }, + "end": { + "line": 1274 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1271 + }, + "end": { + "line": 1274 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1266 + }, + "end": { + "line": 1274 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1265 + }, + "end": { + "line": 1266 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1276, + 1277 + ], + "inline": false, + "attributes": { + "content": "React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1276 + }, + "end": { + "line": 1277 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1277, + 1278, + 1290, + 1291 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1278, + 1290 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1278, + 1282 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1278, + 1279 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1278, + 1279 + ], + "inline": true, + "attributes": { + "content": "User-entered text in:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1278 + }, + "end": { + "line": 1279 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1278 + }, + "end": { + "line": 1279 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1279, + 1282 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1279, + 1280 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1279, + 1280 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1279, + 1280 + ], + "inline": true, + "attributes": { + "content": "Text Field (iOS)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1279 + }, + "end": { + "line": 1280 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1279 + }, + "end": { + "line": 1280 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1279 + }, + "end": { + "line": 1280 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1280, + 1281 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1280, + 1281 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1280, + 1281 + ], + "inline": true, + "attributes": { + "content": "Text View (iOS)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1280 + }, + "end": { + "line": 1281 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1280 + }, + "end": { + "line": 1281 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1280 + }, + "end": { + "line": 1281 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1281, + 1282 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1281, + 1282 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1281, + 1282 + ], + "inline": true, + "attributes": { + "content": "Edit Text (Android)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1281 + }, + "end": { + "line": 1282 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1281 + }, + "end": { + "line": 1282 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1281 + }, + "end": { + "line": 1282 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1279 + }, + "end": { + "line": 1282 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1278 + }, + "end": { + "line": 1282 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1282, + 1286 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1282, + 1283 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1282, + 1283 + ], + "inline": true, + "attributes": { + "content": "User-selected options in:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1282 + }, + "end": { + "line": 1283 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1282 + }, + "end": { + "line": 1283 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1283, + 1286 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1283, + 1284 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1283, + 1284 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1283, + 1284 + ], + "inline": true, + "attributes": { + "content": "Value Picker (iOS + Android)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1283 + }, + "end": { + "line": 1284 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1283 + }, + "end": { + "line": 1284 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1283 + }, + "end": { + "line": 1284 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1284, + 1285 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1284, + 1285 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1284, + 1285 + ], + "inline": true, + "attributes": { + "content": "Segment (iOS)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1284 + }, + "end": { + "line": 1285 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1284 + }, + "end": { + "line": 1285 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1284 + }, + "end": { + "line": 1285 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1285, + 1286 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1285, + 1286 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1285, + 1286 + ], + "inline": true, + "attributes": { + "content": "Drop Down List (Android)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1285 + }, + "end": { + "line": 1286 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1285 + }, + "end": { + "line": 1286 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1285 + }, + "end": { + "line": 1286 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1283 + }, + "end": { + "line": 1286 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1282 + }, + "end": { + "line": 1286 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1286, + 1290 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1286, + 1287 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1286, + 1287 + ], + "inline": true, + "attributes": { + "content": "Notable exclusions:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1286 + }, + "end": { + "line": 1287 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1286 + }, + "end": { + "line": 1287 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1287, + 1290 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1287, + 1288 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1287, + 1288 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1287, + 1288 + ], + "inline": true, + "attributes": { + "content": "Placeholder (hint) texts in Text Field, Text View and Edit Text (not entered by the user)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1287 + }, + "end": { + "line": 1288 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1287 + }, + "end": { + "line": 1288 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1287 + }, + "end": { + "line": 1288 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1288, + 1289 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1288, + 1289 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1288, + 1289 + ], + "inline": true, + "attributes": { + "content": "Non-editable texts in Text View (iOS)." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1288 + }, + "end": { + "line": 1289 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1288 + }, + "end": { + "line": 1289 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1288 + }, + "end": { + "line": 1289 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1289, + 1290 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1289, + 1290 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1289, + 1290 + ], + "inline": true, + "attributes": { + "content": "Month, day, and year labels in Date Picker (generic values)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1289 + }, + "end": { + "line": 1290 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1289 + }, + "end": { + "line": 1290 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1289 + }, + "end": { + "line": 1290 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1287 + }, + "end": { + "line": 1290 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1286 + }, + "end": { + "line": 1290 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1278 + }, + "end": { + "line": 1290 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1277 + }, + "end": { + "line": 1278 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1292, + 1293 + ], + "inline": false, + "attributes": { + "content": "Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1292 + }, + "end": { + "line": 1293 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1293, + 1294, + 1302, + 1303 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1294, + 1302 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1294, + 1298 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1294, + 1295 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1294, + 1295 + ], + "inline": true, + "attributes": { + "content": "User-entered text in EditableText, which is used in:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1294 + }, + "end": { + "line": 1295 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1294 + }, + "end": { + "line": 1295 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1295, + 1298 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1295, + 1296 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1295, + 1296 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1295, + 1296 + ], + "inline": true, + "attributes": { + "content": "TextField" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1295 + }, + "end": { + "line": 1296 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1295 + }, + "end": { + "line": 1296 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1295 + }, + "end": { + "line": 1296 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1296, + 1297 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1296, + 1297 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1296, + 1297 + ], + "inline": true, + "attributes": { + "content": "CupertinoTextField" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1296 + }, + "end": { + "line": 1297 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1296 + }, + "end": { + "line": 1297 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1296 + }, + "end": { + "line": 1297 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1297, + 1298 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1297, + 1298 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1297, + 1298 + ], + "inline": true, + "attributes": { + "content": "many custom TextField implementations" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1297 + }, + "end": { + "line": 1298 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1297 + }, + "end": { + "line": 1298 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1297 + }, + "end": { + "line": 1298 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1295 + }, + "end": { + "line": 1298 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1294 + }, + "end": { + "line": 1298 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1298, + 1302 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1298, + 1299 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1298, + 1299 + ], + "inline": true, + "attributes": { + "content": "Notable exclusions:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1298 + }, + "end": { + "line": 1299 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1298 + }, + "end": { + "line": 1299 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1299, + 1302 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1299, + 1300 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1299, + 1300 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1299, + 1300 + ], + "inline": true, + "attributes": { + "content": "Placeholder (hint) texts in Text Field and Text View (not entered by the user)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1299 + }, + "end": { + "line": 1300 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1299 + }, + "end": { + "line": 1300 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1299 + }, + "end": { + "line": 1300 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1300, + 1301 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1300, + 1301 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1300, + 1301 + ], + "inline": true, + "attributes": { + "content": "Text in Text Decorations (not entered by the user)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1300 + }, + "end": { + "line": 1301 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1300 + }, + "end": { + "line": 1301 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1300 + }, + "end": { + "line": 1301 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1301, + 1302 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1301, + 1302 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1301, + 1302 + ], + "inline": true, + "attributes": { + "content": "Month, day, and year labels in Date Picker (generic values)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1301 + }, + "end": { + "line": 1302 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1301 + }, + "end": { + "line": 1302 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1301 + }, + "end": { + "line": 1302 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1299 + }, + "end": { + "line": 1302 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1298 + }, + "end": { + "line": 1302 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1294 + }, + "end": { + "line": 1302 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1293 + }, + "end": { + "line": 1294 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1304, + 1305 + ], + "inline": false, + "attributes": { + "level": 4 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1304, + 1305 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1304, + 1305 + ], + "inline": true, + "attributes": { + "content": "Static text" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1304 + }, + "end": { + "line": 1305 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1304 + }, + "end": { + "line": 1305 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1304 + }, + "end": { + "line": 1305 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1305, + 1306 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1305, + 1306 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1305, + 1306 + ], + "inline": true, + "attributes": { + "content": "Static text is any text that is not directly entered by the user. This includes the below." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1305 + }, + "end": { + "line": 1306 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1305 + }, + "end": { + "line": 1306 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1305 + }, + "end": { + "line": 1306 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1307, + 1308 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1307, + 1308 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1307, + 1308 + ], + "inline": true, + "attributes": { + "content": "All texts in:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1307 + }, + "end": { + "line": 1308 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1307 + }, + "end": { + "line": 1308 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1307 + }, + "end": { + "line": 1308 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1309, + 1310 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1309 + }, + "end": { + "line": 1310 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1310, + 1311, + 1315, + 1316 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1311, + 1315 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1311, + 1312 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1311, + 1312 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1311, + 1312 + ], + "inline": true, + "attributes": { + "content": "Texts in non-editable Text View" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1311 + }, + "end": { + "line": 1312 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1311 + }, + "end": { + "line": 1312 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1311 + }, + "end": { + "line": 1312 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1312, + 1313 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1312, + 1313 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1312, + 1313 + ], + "inline": true, + "attributes": { + "content": "Month, day, and year labels in the date and time picker" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1312 + }, + "end": { + "line": 1313 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1312 + }, + "end": { + "line": 1313 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1312 + }, + "end": { + "line": 1313 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1313, + 1314 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1313, + 1314 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1313, + 1314 + ], + "inline": true, + "attributes": { + "content": "Values updated in response to gesture interaction with input elements, such as the current value of the Slider" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1313 + }, + "end": { + "line": 1314 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1313 + }, + "end": { + "line": 1314 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1313 + }, + "end": { + "line": 1314 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1314, + 1315 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1314, + 1315 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1314, + 1315 + ], + "inline": true, + "attributes": { + "content": "Other controls, not considered as \"user input elements\", such as Labels, Tab Bar, and Navigation Bar" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1314 + }, + "end": { + "line": 1315 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1314 + }, + "end": { + "line": 1315 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1314 + }, + "end": { + "line": 1315 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1311 + }, + "end": { + "line": 1315 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1310 + }, + "end": { + "line": 1311 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1317, + 1318 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1317 + }, + "end": { + "line": 1318 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1318, + 1319, + 1323, + 1324 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1319, + 1323 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1319, + 1320 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1319, + 1320 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1319, + 1320 + ], + "inline": true, + "attributes": { + "content": "Checkbox and Radio Button titles" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1319 + }, + "end": { + "line": 1320 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1319 + }, + "end": { + "line": 1320 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1319 + }, + "end": { + "line": 1320 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1320, + 1321 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1320, + 1321 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1320, + 1321 + ], + "inline": true, + "attributes": { + "content": "Month, day, and year labels in the date and time picker" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1320 + }, + "end": { + "line": 1321 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1320 + }, + "end": { + "line": 1321 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1320 + }, + "end": { + "line": 1321 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1321, + 1322 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1321, + 1322 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1321, + 1322 + ], + "inline": true, + "attributes": { + "content": "Values updated in response to gesture interaction with input elements, such as the current value of the Slider" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1321 + }, + "end": { + "line": 1322 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1321 + }, + "end": { + "line": 1322 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1321 + }, + "end": { + "line": 1322 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1322, + 1323 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1322, + 1323 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1322, + 1323 + ], + "inline": true, + "attributes": { + "content": "Other controls, not considered as \"user input elements\", such as Tabs" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1322 + }, + "end": { + "line": 1323 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1322 + }, + "end": { + "line": 1323 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1322 + }, + "end": { + "line": 1323 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1319 + }, + "end": { + "line": 1323 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1318 + }, + "end": { + "line": 1319 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1325, + 1326 + ], + "inline": false, + "attributes": { + "content": "React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1325 + }, + "end": { + "line": 1326 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1326, + 1327, + 1332, + 1333 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1327, + 1332 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1327, + 1328 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1327, + 1328 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1327, + 1328 + ], + "inline": true, + "attributes": { + "content": "Checkbox and Radio Button titles (Android)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1327 + }, + "end": { + "line": 1328 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1327 + }, + "end": { + "line": 1328 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1327 + }, + "end": { + "line": 1328 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1328, + 1329 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1328, + 1329 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1328, + 1329 + ], + "inline": true, + "attributes": { + "content": "Texts in non-editable Text View (iOS)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1328 + }, + "end": { + "line": 1329 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1328 + }, + "end": { + "line": 1329 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1328 + }, + "end": { + "line": 1329 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1329, + 1330 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1329, + 1330 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1329, + 1330 + ], + "inline": true, + "attributes": { + "content": "Month, day and year labels in the date and time picker" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1329 + }, + "end": { + "line": 1330 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1329 + }, + "end": { + "line": 1330 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1329 + }, + "end": { + "line": 1330 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1330, + 1331 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1330, + 1331 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1330, + 1331 + ], + "inline": true, + "attributes": { + "content": "Values updated in response to gesture interaction with input elements, such as the current value of the Slider" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1330 + }, + "end": { + "line": 1331 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1330 + }, + "end": { + "line": 1331 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1330 + }, + "end": { + "line": 1331 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1331, + 1332 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1331, + 1332 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1331, + 1332 + ], + "inline": true, + "attributes": { + "content": "Other controls, not considered as \"user input elements\", such as Labels, Tab Bar, and Navigation Bar (iOS), or Tabs (Android)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1331 + }, + "end": { + "line": 1332 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1331 + }, + "end": { + "line": 1332 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1331 + }, + "end": { + "line": 1332 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1327 + }, + "end": { + "line": 1332 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1326 + }, + "end": { + "line": 1327 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1334, + 1335 + ], + "inline": false, + "attributes": { + "content": "Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1334 + }, + "end": { + "line": 1335 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1335, + 1336, + 1340, + 1341 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1336, + 1340 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1336, + 1337 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1336, + 1337 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1336, + 1337 + ], + "inline": true, + "attributes": { + "content": "Checkbox and Radio Button titles" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1336 + }, + "end": { + "line": 1337 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1336 + }, + "end": { + "line": 1337 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1336 + }, + "end": { + "line": 1337 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1337, + 1338 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1337, + 1338 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1337, + 1338 + ], + "inline": true, + "attributes": { + "content": "Month, day and year labels in the date and time picker" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1337 + }, + "end": { + "line": 1338 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1337 + }, + "end": { + "line": 1338 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1337 + }, + "end": { + "line": 1338 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1338, + 1339 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1338, + 1339 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1338, + 1339 + ], + "inline": true, + "attributes": { + "content": "Values updated in response to gesture interaction with input elements, such as the current value of the Slider" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1338 + }, + "end": { + "line": 1339 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1338 + }, + "end": { + "line": 1339 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1338 + }, + "end": { + "line": 1339 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1339, + 1340 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1339, + 1340 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1339, + 1340 + ], + "inline": true, + "attributes": { + "content": "Other controls, not considered as \"user input elements\", such as Text, Tab Bar, and Bottom Navigation Bar" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1339 + }, + "end": { + "line": 1340 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1339 + }, + "end": { + "line": 1340 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1339 + }, + "end": { + "line": 1340 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1336 + }, + "end": { + "line": 1340 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1335 + }, + "end": { + "line": 1336 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1342, + 1343 + ], + "inline": false, + "attributes": { + "level": 4 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1342, + 1343 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1342, + 1343 + ], + "inline": true, + "attributes": { + "content": "Hint text" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1342 + }, + "end": { + "line": 1343 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1342 + }, + "end": { + "line": 1343 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1342 + }, + "end": { + "line": 1343 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1343, + 1344 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1343, + 1344 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1343, + 1344 + ], + "inline": true, + "attributes": { + "content": "Hint text is static text in editable text elements or option selectors that is displayed when no value is given. This includes:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1343 + }, + "end": { + "line": 1344 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1343 + }, + "end": { + "line": 1344 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1343 + }, + "end": { + "line": 1344 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1345, + 1346 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1345 + }, + "end": { + "line": 1346 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1346, + 1347, + 1349, + 1350 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1347, + 1349 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1347, + 1348 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1347, + 1348 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1347, + 1348 + ], + "inline": true, + "attributes": { + "content": "Placeholders in Text Field" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1347 + }, + "end": { + "line": 1348 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1347 + }, + "end": { + "line": 1348 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1347 + }, + "end": { + "line": 1348 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1348, + 1349 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1348, + 1349 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1348, + 1349 + ], + "inline": true, + "attributes": { + "content": "Placeholders in Text View" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1348 + }, + "end": { + "line": 1349 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1348 + }, + "end": { + "line": 1349 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1348 + }, + "end": { + "line": 1349 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1347 + }, + "end": { + "line": 1349 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1346 + }, + "end": { + "line": 1347 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1351, + 1352 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1351 + }, + "end": { + "line": 1352 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1352, + 1353, + 1355, + 1356 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1353, + 1355 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1353, + 1354 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1353, + 1354 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1353, + 1354 + ], + "inline": true, + "attributes": { + "content": "Hints in Edit Text" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1353 + }, + "end": { + "line": 1354 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1353 + }, + "end": { + "line": 1354 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1353 + }, + "end": { + "line": 1354 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1354, + 1355 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1354, + 1355 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1354, + 1355 + ], + "inline": true, + "attributes": { + "content": "Prompts in Drop Down lists" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1354 + }, + "end": { + "line": 1355 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1354 + }, + "end": { + "line": 1355 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1354 + }, + "end": { + "line": 1355 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1353 + }, + "end": { + "line": 1355 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1352 + }, + "end": { + "line": 1353 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1357, + 1358 + ], + "inline": false, + "attributes": { + "content": "React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1357 + }, + "end": { + "line": 1358 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1358, + 1359, + 1362, + 1363 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1359, + 1362 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1359, + 1360 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1359, + 1360 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1359, + 1360 + ], + "inline": true, + "attributes": { + "content": "Placeholders in Text Field (iOS), Text View (iOS)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1359 + }, + "end": { + "line": 1360 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1359 + }, + "end": { + "line": 1360 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1359 + }, + "end": { + "line": 1360 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1360, + 1361 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1360, + 1361 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1360, + 1361 + ], + "inline": true, + "attributes": { + "content": "Hints in Edit Text (Android)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1360 + }, + "end": { + "line": 1361 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1360 + }, + "end": { + "line": 1361 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1360 + }, + "end": { + "line": 1361 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1361, + 1362 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1361, + 1362 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1361, + 1362 + ], + "inline": true, + "attributes": { + "content": "Prompts in Drop Down lists (Android)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1361 + }, + "end": { + "line": 1362 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1361 + }, + "end": { + "line": 1362 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1361 + }, + "end": { + "line": 1362 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1359 + }, + "end": { + "line": 1362 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1358 + }, + "end": { + "line": 1359 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1364, + 1365 + ], + "inline": false, + "attributes": { + "content": "Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1364 + }, + "end": { + "line": 1365 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1365, + 1366, + 1368, + 1369 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1366, + 1368 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1366, + 1367 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1366, + 1367 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1366, + 1367 + ], + "inline": true, + "attributes": { + "content": "InputDecoration elements in TextView" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1366 + }, + "end": { + "line": 1367 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1366 + }, + "end": { + "line": 1367 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1366 + }, + "end": { + "line": 1367 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1367, + 1368 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1367, + 1368 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1367, + 1368 + ], + "inline": true, + "attributes": { + "content": "Placeholder text in CupertinoTextField" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1367 + }, + "end": { + "line": 1368 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1367 + }, + "end": { + "line": 1368 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1367 + }, + "end": { + "line": 1368 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1366 + }, + "end": { + "line": 1368 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1365 + }, + "end": { + "line": 1366 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1370, + 1371 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1370, + 1371 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1370, + 1371 + ], + "inline": true, + "attributes": { + "content": "Appearance masking" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1370 + }, + "end": { + "line": 1371 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1370 + }, + "end": { + "line": 1371 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1370 + }, + "end": { + "line": 1371 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1372, + 1373 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1372, + 1373 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1372, + 1373 + ], + "inline": true, + "attributes": { + "content": "The following chart shows how we apply different appearance masking strategies, using the rules you set up in your configuration, to the below text types." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1372 + }, + "end": { + "line": 1373 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1372 + }, + "end": { + "line": 1373 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1372 + }, + "end": { + "line": 1373 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1374, + 1378 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1374, + 1375 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1374, + 1375 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1374, + 1375 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1374, + 1375 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1374, + 1375 + ], + "inline": true, + "attributes": { + "content": "Type" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1374 + }, + "end": { + "line": 1375 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1374 + }, + "end": { + "line": 1375 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1374 + }, + "end": { + "line": 1375 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1374, + 1375 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1374, + 1375 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1374, + 1375 + ], + "inline": true, + "attributes": { + "content": "Allow all" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1374 + }, + "end": { + "line": 1375 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1374 + }, + "end": { + "line": 1375 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1374 + }, + "end": { + "line": 1375 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1374, + 1375 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1374, + 1375 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1374, + 1375 + ], + "inline": true, + "attributes": { + "content": "Mask all" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1374 + }, + "end": { + "line": 1375 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1374 + }, + "end": { + "line": 1375 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1374 + }, + "end": { + "line": 1375 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1374, + 1375 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1374, + 1375 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1374, + 1375 + ], + "inline": true, + "attributes": { + "content": "Mask user input" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1374 + }, + "end": { + "line": 1375 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1374 + }, + "end": { + "line": 1375 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1374 + }, + "end": { + "line": 1375 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1374 + }, + "end": { + "line": 1375 + } + } + } + ], + "type": "thead", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1374 + }, + "end": { + "line": 1375 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1376, + 1378 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1376, + 1377 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1376, + 1377 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1376, + 1377 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1376, + 1377 + ], + "inline": true, + "attributes": { + "href": "#revealing-attributes" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1376, + 1377 + ], + "inline": true, + "attributes": { + "content": "Revealing attributes" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1376 + }, + "end": { + "line": 1377 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1376 + }, + "end": { + "line": 1377 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1376 + }, + "end": { + "line": 1377 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1376 + }, + "end": { + "line": 1377 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1376, + 1377 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1376, + 1377 + ], + "inline": false, + "attributes": {}, + "children": [], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1376 + }, + "end": { + "line": 1377 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1376 + }, + "end": { + "line": 1377 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1376, + 1377 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1376, + 1377 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1376, + 1377 + ], + "inline": true, + "attributes": {}, + "children": [], + "type": "tag", + "tag": "x", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1376 + }, + "end": { + "line": 1377 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1376 + }, + "end": { + "line": 1377 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1376 + }, + "end": { + "line": 1377 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1376, + 1377 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1376, + 1377 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1376, + 1377 + ], + "inline": true, + "attributes": {}, + "children": [], + "type": "tag", + "tag": "x", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1376 + }, + "end": { + "line": 1377 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1376 + }, + "end": { + "line": 1377 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1376 + }, + "end": { + "line": 1377 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1376 + }, + "end": { + "line": 1377 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1377, + 1378 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1377, + 1378 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1377, + 1378 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1377, + 1378 + ], + "inline": true, + "attributes": { + "href": "#other-attributes" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1377, + 1378 + ], + "inline": true, + "attributes": { + "content": "Other attributes" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1377 + }, + "end": { + "line": 1378 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1377 + }, + "end": { + "line": 1378 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1377 + }, + "end": { + "line": 1378 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1377 + }, + "end": { + "line": 1378 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1377, + 1378 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1377, + 1378 + ], + "inline": false, + "attributes": {}, + "children": [], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1377 + }, + "end": { + "line": 1378 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1377 + }, + "end": { + "line": 1378 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1377, + 1378 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1377, + 1378 + ], + "inline": false, + "attributes": {}, + "children": [], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1377 + }, + "end": { + "line": 1378 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1377 + }, + "end": { + "line": 1378 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1377, + 1378 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1377, + 1378 + ], + "inline": false, + "attributes": {}, + "children": [], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1377 + }, + "end": { + "line": 1378 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1377 + }, + "end": { + "line": 1378 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1377 + }, + "end": { + "line": 1378 + } + } + } + ], + "type": "tbody", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1376 + }, + "end": { + "line": 1378 + } + } + } + ], + "type": "table", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1374 + }, + "end": { + "line": 1378 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1379, + 1380 + ], + "inline": false, + "attributes": { + "level": 4 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1379, + 1380 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1379, + 1380 + ], + "inline": true, + "attributes": { + "content": "Revealing attributes" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1379 + }, + "end": { + "line": 1380 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1379 + }, + "end": { + "line": 1380 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1379 + }, + "end": { + "line": 1380 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1380, + 1381 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1380, + 1381 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1380, + 1381 + ], + "inline": true, + "attributes": { + "content": "Revealing attributes are attributes that can reveal or suggest the value of input elements and can be used to infer a user's input or selection." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1380 + }, + "end": { + "line": 1381 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1380 + }, + "end": { + "line": 1381 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1380 + }, + "end": { + "line": 1381 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1382, + 1383 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1382, + 1383 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1382, + 1383 + ], + "inline": true, + "attributes": { + "content": "This includes:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1382 + }, + "end": { + "line": 1383 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1382 + }, + "end": { + "line": 1383 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1382 + }, + "end": { + "line": 1383 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1384, + 1385 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1384 + }, + "end": { + "line": 1385 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1385, + 1386, + 1394, + 1395 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1386, + 1387 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1386, + 1387 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1386, + 1387 + ], + "inline": true, + "attributes": { + "marker": "**" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1386, + 1387 + ], + "inline": true, + "attributes": { + "content": "Shapes" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1386 + }, + "end": { + "line": 1387 + } + } + } + ], + "type": "strong", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1386 + }, + "end": { + "line": 1387 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1386 + }, + "end": { + "line": 1387 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1386 + }, + "end": { + "line": 1387 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1387, + 1391 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1387, + 1388 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1387, + 1388 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1387, + 1388 + ], + "inline": true, + "attributes": { + "content": "Background of selected option in Segment" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1387 + }, + "end": { + "line": 1388 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1387 + }, + "end": { + "line": 1388 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1387 + }, + "end": { + "line": 1388 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1388, + 1389 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1388, + 1389 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1388, + 1389 + ], + "inline": true, + "attributes": { + "content": "Circle surrounding the selected date in a Date Picker" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1388 + }, + "end": { + "line": 1389 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1388 + }, + "end": { + "line": 1389 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1388 + }, + "end": { + "line": 1389 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1389, + 1391 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1389, + 1390 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1389, + 1390 + ], + "inline": true, + "attributes": { + "content": "Thumb of a Slider" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1389 + }, + "end": { + "line": 1390 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1389 + }, + "end": { + "line": 1390 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1389 + }, + "end": { + "line": 1391 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1387 + }, + "end": { + "line": 1391 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1391, + 1392 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1391, + 1392 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1391, + 1392 + ], + "inline": true, + "attributes": { + "marker": "**" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1391, + 1392 + ], + "inline": true, + "attributes": { + "content": "Text attributes" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1391 + }, + "end": { + "line": 1392 + } + } + } + ], + "type": "strong", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1391 + }, + "end": { + "line": 1392 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1391 + }, + "end": { + "line": 1392 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1391 + }, + "end": { + "line": 1392 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1392, + 1394 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1392, + 1393 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1392, + 1393 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1392, + 1393 + ], + "inline": true, + "attributes": { + "content": "The color of a label rendering the selected date in Date Picker" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1392 + }, + "end": { + "line": 1393 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1392 + }, + "end": { + "line": 1393 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1392 + }, + "end": { + "line": 1393 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1393, + 1394 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1393, + 1394 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1393, + 1394 + ], + "inline": true, + "attributes": { + "content": "The position of the first and last option in Value Picker" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1393 + }, + "end": { + "line": 1394 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1393 + }, + "end": { + "line": 1394 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1393 + }, + "end": { + "line": 1394 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1392 + }, + "end": { + "line": 1394 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1385 + }, + "end": { + "line": 1386 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1396, + 1397 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1396 + }, + "end": { + "line": 1397 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1397, + 1398, + 1404, + 1405 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1398, + 1399 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1398, + 1399 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1398, + 1399 + ], + "inline": true, + "attributes": { + "marker": "**" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1398, + 1399 + ], + "inline": true, + "attributes": { + "content": "Shapes" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1398 + }, + "end": { + "line": 1399 + } + } + } + ], + "type": "strong", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1398 + }, + "end": { + "line": 1399 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1398 + }, + "end": { + "line": 1399 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1398 + }, + "end": { + "line": 1399 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1399, + 1402 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1399, + 1400 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1399, + 1400 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1399, + 1400 + ], + "inline": true, + "attributes": { + "content": "Selection mark in Checkbox" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1399 + }, + "end": { + "line": 1400 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1399 + }, + "end": { + "line": 1400 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1399 + }, + "end": { + "line": 1400 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1400, + 1402 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1400, + 1401 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1400, + 1401 + ], + "inline": true, + "attributes": { + "content": "Thumb of a Slider" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1400 + }, + "end": { + "line": 1401 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1400 + }, + "end": { + "line": 1401 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1400 + }, + "end": { + "line": 1402 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1399 + }, + "end": { + "line": 1402 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1402, + 1403 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1402, + 1403 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1402, + 1403 + ], + "inline": true, + "attributes": { + "marker": "**" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1402, + 1403 + ], + "inline": true, + "attributes": { + "content": "Text attributes" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1402 + }, + "end": { + "line": 1403 + } + } + } + ], + "type": "strong", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1402 + }, + "end": { + "line": 1403 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1402 + }, + "end": { + "line": 1403 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1402 + }, + "end": { + "line": 1403 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1403, + 1404 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1403, + 1404 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1403, + 1404 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1403, + 1404 + ], + "inline": true, + "attributes": { + "content": "The position of the first and last option in Value Picker" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1403 + }, + "end": { + "line": 1404 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1403 + }, + "end": { + "line": 1404 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1403 + }, + "end": { + "line": 1404 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1403 + }, + "end": { + "line": 1404 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1397 + }, + "end": { + "line": 1398 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1406, + 1407 + ], + "inline": false, + "attributes": { + "content": "React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1406 + }, + "end": { + "line": 1407 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1407, + 1408, + 1439, + 1440 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1408, + 1409 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1408, + 1409 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1408, + 1409 + ], + "inline": true, + "attributes": { + "marker": "**" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1408, + 1409 + ], + "inline": true, + "attributes": { + "content": "Shapes" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1408 + }, + "end": { + "line": 1409 + } + } + } + ], + "type": "strong", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1408 + }, + "end": { + "line": 1409 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1408 + }, + "end": { + "line": 1409 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1408 + }, + "end": { + "line": 1409 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1410, + 1411, + 1425, + 1426 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1411, + 1413 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1411, + 1412 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1411, + 1412 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1411, + 1412 + ], + "inline": true, + "attributes": { + "content": "Type" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1411 + }, + "end": { + "line": 1412 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1411 + }, + "end": { + "line": 1412 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1411 + }, + "end": { + "line": 1412 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1412, + 1413 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1412, + 1413 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1412, + 1413 + ], + "inline": true, + "attributes": { + "content": "Platform(s)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1412 + }, + "end": { + "line": 1413 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1412 + }, + "end": { + "line": 1413 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1412 + }, + "end": { + "line": 1413 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1411 + }, + "end": { + "line": 1413 + } + } + } + ], + "type": "thead", + "annotations": [], + "slots": {} + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1414, + 1416 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1414, + 1415 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1414, + 1415 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1414, + 1415 + ], + "inline": true, + "attributes": { + "content": "Background of selected option in Segment" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1414 + }, + "end": { + "line": 1415 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1414 + }, + "end": { + "line": 1415 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1414 + }, + "end": { + "line": 1415 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1415, + 1416 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1415, + 1416 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1415, + 1416 + ], + "inline": true, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1415 + }, + "end": { + "line": 1416 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1415 + }, + "end": { + "line": 1416 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1415 + }, + "end": { + "line": 1416 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1414 + }, + "end": { + "line": 1416 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1417, + 1419 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1417, + 1418 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1417, + 1418 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1417, + 1418 + ], + "inline": true, + "attributes": { + "content": "Circle surrounding the selected date in Date Picker" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1417 + }, + "end": { + "line": 1418 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1417 + }, + "end": { + "line": 1418 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1417 + }, + "end": { + "line": 1418 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1418, + 1419 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1418, + 1419 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1418, + 1419 + ], + "inline": true, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1418 + }, + "end": { + "line": 1419 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1418 + }, + "end": { + "line": 1419 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1418 + }, + "end": { + "line": 1419 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1417 + }, + "end": { + "line": 1419 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1420, + 1422 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1420, + 1421 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1420, + 1421 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1420, + 1421 + ], + "inline": true, + "attributes": { + "content": "Selection mark in Checkbox" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1420 + }, + "end": { + "line": 1421 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1420 + }, + "end": { + "line": 1421 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1420 + }, + "end": { + "line": 1421 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1421, + 1422 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1421, + 1422 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1421, + 1422 + ], + "inline": true, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1421 + }, + "end": { + "line": 1422 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1421 + }, + "end": { + "line": 1422 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1421 + }, + "end": { + "line": 1422 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1420 + }, + "end": { + "line": 1422 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1423, + 1425 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1423, + 1424 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1423, + 1424 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1423, + 1424 + ], + "inline": true, + "attributes": { + "content": "Thumb of a Slider" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1423 + }, + "end": { + "line": 1424 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1423 + }, + "end": { + "line": 1424 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1423 + }, + "end": { + "line": 1424 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1424, + 1425 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1424, + 1425 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1424, + 1425 + ], + "inline": true, + "attributes": { + "content": "iOS, Android" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1424 + }, + "end": { + "line": 1425 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1424 + }, + "end": { + "line": 1425 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1424 + }, + "end": { + "line": 1425 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1423 + }, + "end": { + "line": 1425 + } + } + } + ], + "type": "tbody", + "annotations": [], + "slots": {} + } + ], + "type": "table", + "annotations": [], + "slots": {} + } + ], + "type": "tag", + "tag": "table", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1410 + }, + "end": { + "line": 1411 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1427, + 1428 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1427, + 1428 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1427, + 1428 + ], + "inline": true, + "attributes": { + "marker": "**" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1427, + 1428 + ], + "inline": true, + "attributes": { + "content": "Text attributes" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1427 + }, + "end": { + "line": 1428 + } + } + } + ], + "type": "strong", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1427 + }, + "end": { + "line": 1428 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1427 + }, + "end": { + "line": 1428 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1427 + }, + "end": { + "line": 1428 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1429, + 1430, + 1438, + 1439 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1430, + 1432 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1430, + 1431 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1430, + 1431 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1430, + 1431 + ], + "inline": true, + "attributes": { + "content": "Type" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1430 + }, + "end": { + "line": 1431 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1430 + }, + "end": { + "line": 1431 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1430 + }, + "end": { + "line": 1431 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1431, + 1432 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1431, + 1432 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1431, + 1432 + ], + "inline": true, + "attributes": { + "content": "Platform(s)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1431 + }, + "end": { + "line": 1432 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1431 + }, + "end": { + "line": 1432 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1431 + }, + "end": { + "line": 1432 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1430 + }, + "end": { + "line": 1432 + } + } + } + ], + "type": "thead", + "annotations": [], + "slots": {} + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1433, + 1435 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1433, + 1434 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1433, + 1434 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1433, + 1434 + ], + "inline": true, + "attributes": { + "content": "The color of a label rendering the selected date in Date Picker" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1433 + }, + "end": { + "line": 1434 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1433 + }, + "end": { + "line": 1434 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1433 + }, + "end": { + "line": 1434 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1434, + 1435 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1434, + 1435 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1434, + 1435 + ], + "inline": true, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1434 + }, + "end": { + "line": 1435 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1434 + }, + "end": { + "line": 1435 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1434 + }, + "end": { + "line": 1435 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1433 + }, + "end": { + "line": 1435 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1436, + 1438 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1436, + 1437 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1436, + 1437 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1436, + 1437 + ], + "inline": true, + "attributes": { + "content": "The position of the first and last option in Value Picker" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1436 + }, + "end": { + "line": 1437 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1436 + }, + "end": { + "line": 1437 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1436 + }, + "end": { + "line": 1437 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1437, + 1438 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1437, + 1438 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1437, + 1438 + ], + "inline": true, + "attributes": { + "content": "iOS, Android" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1437 + }, + "end": { + "line": 1438 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1437 + }, + "end": { + "line": 1438 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1437 + }, + "end": { + "line": 1438 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1436 + }, + "end": { + "line": 1438 + } + } + } + ], + "type": "tbody", + "annotations": [], + "slots": {} + } + ], + "type": "table", + "annotations": [], + "slots": {} + } + ], + "type": "tag", + "tag": "table", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1429 + }, + "end": { + "line": 1430 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1407 + }, + "end": { + "line": 1408 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1440, + 1441 + ], + "inline": false, + "attributes": { + "content": "end React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1440 + }, + "end": { + "line": 1441 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1442, + 1443 + ], + "inline": false, + "attributes": { + "content": "Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1442 + }, + "end": { + "line": 1443 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1443, + 1444, + 1452, + 1453 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1444, + 1445 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1444, + 1445 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1444, + 1445 + ], + "inline": true, + "attributes": { + "marker": "**" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1444, + 1445 + ], + "inline": true, + "attributes": { + "content": "Shapes" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1444 + }, + "end": { + "line": 1445 + } + } + } + ], + "type": "strong", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1444 + }, + "end": { + "line": 1445 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1444 + }, + "end": { + "line": 1445 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1444 + }, + "end": { + "line": 1445 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1445, + 1449 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1445, + 1446 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1445, + 1446 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1445, + 1446 + ], + "inline": true, + "attributes": { + "content": "Background of selected option in Segment" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1445 + }, + "end": { + "line": 1446 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1445 + }, + "end": { + "line": 1446 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1445 + }, + "end": { + "line": 1446 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1446, + 1447 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1446, + 1447 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1446, + 1447 + ], + "inline": true, + "attributes": { + "content": "Circle surrounding the selected date in a Date Picker" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1446 + }, + "end": { + "line": 1447 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1446 + }, + "end": { + "line": 1447 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1446 + }, + "end": { + "line": 1447 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1447, + 1449 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1447, + 1448 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1447, + 1448 + ], + "inline": true, + "attributes": { + "content": "Thumb of a Slider" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1447 + }, + "end": { + "line": 1448 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1447 + }, + "end": { + "line": 1448 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1447 + }, + "end": { + "line": 1449 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1445 + }, + "end": { + "line": 1449 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1449, + 1450 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1449, + 1450 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1449, + 1450 + ], + "inline": true, + "attributes": { + "marker": "**" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1449, + 1450 + ], + "inline": true, + "attributes": { + "content": "Text attributes" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1449 + }, + "end": { + "line": 1450 + } + } + } + ], + "type": "strong", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1449 + }, + "end": { + "line": 1450 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1449 + }, + "end": { + "line": 1450 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1449 + }, + "end": { + "line": 1450 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1450, + 1452 + ], + "inline": false, + "attributes": { + "ordered": false, + "marker": "-" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1450, + 1451 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1450, + 1451 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1450, + 1451 + ], + "inline": true, + "attributes": { + "content": "The color of a label rendering the selected date in Date Picker" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1450 + }, + "end": { + "line": 1451 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1450 + }, + "end": { + "line": 1451 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1450 + }, + "end": { + "line": 1451 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1451, + 1452 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1451, + 1452 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1451, + 1452 + ], + "inline": true, + "attributes": { + "content": "The position of the first and last option in Value Picker" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1451 + }, + "end": { + "line": 1452 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1451 + }, + "end": { + "line": 1452 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1451 + }, + "end": { + "line": 1452 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1450 + }, + "end": { + "line": 1452 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1443 + }, + "end": { + "line": 1444 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1454, + 1455 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1454, + 1455 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1454, + 1455 + ], + "inline": true, + "attributes": { + "content": "Touch interactions" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1454 + }, + "end": { + "line": 1455 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1454 + }, + "end": { + "line": 1455 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1454 + }, + "end": { + "line": 1455 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1456, + 1457 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1456, + 1457 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1456, + 1457 + ], + "inline": true, + "attributes": { + "content": "The following chart shows how we apply different touch interaction strategies, using the rules you set up in your configuration, to the below text types. While any interaction that happens on an on-screen keyboard is masked, interactions with other elements are not masked." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1456 + }, + "end": { + "line": 1457 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1456 + }, + "end": { + "line": 1457 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1456 + }, + "end": { + "line": 1457 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1458, + 1462 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1458, + 1459 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1458, + 1459 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1458, + 1459 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1458, + 1459 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1458, + 1459 + ], + "inline": true, + "attributes": { + "content": "Type" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1458 + }, + "end": { + "line": 1459 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1458 + }, + "end": { + "line": 1459 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1458 + }, + "end": { + "line": 1459 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1458, + 1459 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1458, + 1459 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1458, + 1459 + ], + "inline": true, + "attributes": { + "content": "Allow all" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1458 + }, + "end": { + "line": 1459 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1458 + }, + "end": { + "line": 1459 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1458 + }, + "end": { + "line": 1459 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1458, + 1459 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1458, + 1459 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1458, + 1459 + ], + "inline": true, + "attributes": { + "content": "Mask all" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1458 + }, + "end": { + "line": 1459 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1458 + }, + "end": { + "line": 1459 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1458 + }, + "end": { + "line": 1459 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1458, + 1459 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1458, + 1459 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1458, + 1459 + ], + "inline": true, + "attributes": { + "content": "Mask user input" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1458 + }, + "end": { + "line": 1459 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1458 + }, + "end": { + "line": 1459 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1458 + }, + "end": { + "line": 1459 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1458 + }, + "end": { + "line": 1459 + } + } + } + ], + "type": "thead", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1458 + }, + "end": { + "line": 1459 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1460, + 1462 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1460, + 1461 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1460, + 1461 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1460, + 1461 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1460, + 1461 + ], + "inline": true, + "attributes": { + "href": "#other-attributes" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1460, + 1461 + ], + "inline": true, + "attributes": { + "content": "Other attributes" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1460 + }, + "end": { + "line": 1461 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1460 + }, + "end": { + "line": 1461 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1460 + }, + "end": { + "line": 1461 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1460 + }, + "end": { + "line": 1461 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1460, + 1461 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1460, + 1461 + ], + "inline": false, + "attributes": {}, + "children": [], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1460 + }, + "end": { + "line": 1461 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1460 + }, + "end": { + "line": 1461 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1460, + 1461 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1460, + 1461 + ], + "inline": false, + "attributes": {}, + "children": [], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1460 + }, + "end": { + "line": 1461 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1460 + }, + "end": { + "line": 1461 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1460, + 1461 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1460, + 1461 + ], + "inline": false, + "attributes": {}, + "children": [], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1460 + }, + "end": { + "line": 1461 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1460 + }, + "end": { + "line": 1461 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1460 + }, + "end": { + "line": 1461 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1461, + 1462 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1461, + 1462 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1461, + 1462 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1461, + 1462 + ], + "inline": true, + "attributes": { + "href": "#on-screen-keyboard" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1461, + 1462 + ], + "inline": true, + "attributes": { + "content": "On-screen keyboard" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1461 + }, + "end": { + "line": 1462 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1461 + }, + "end": { + "line": 1462 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1461 + }, + "end": { + "line": 1462 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1461 + }, + "end": { + "line": 1462 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1461, + 1462 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1461, + 1462 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1461, + 1462 + ], + "inline": true, + "attributes": {}, + "children": [], + "type": "tag", + "tag": "x", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1461 + }, + "end": { + "line": 1462 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1461 + }, + "end": { + "line": 1462 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1461 + }, + "end": { + "line": 1462 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1461, + 1462 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1461, + 1462 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1461, + 1462 + ], + "inline": true, + "attributes": {}, + "children": [], + "type": "tag", + "tag": "x", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1461 + }, + "end": { + "line": 1462 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1461 + }, + "end": { + "line": 1462 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1461 + }, + "end": { + "line": 1462 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1461, + 1462 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1461, + 1462 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1461, + 1462 + ], + "inline": true, + "attributes": {}, + "children": [], + "type": "tag", + "tag": "x", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1461 + }, + "end": { + "line": 1462 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1461 + }, + "end": { + "line": 1462 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1461 + }, + "end": { + "line": 1462 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1461 + }, + "end": { + "line": 1462 + } + } + } + ], + "type": "tbody", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1460 + }, + "end": { + "line": 1462 + } + } + } + ], + "type": "table", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1458 + }, + "end": { + "line": 1462 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1463, + 1464 + ], + "inline": false, + "attributes": { + "level": 3, + "id": "image-masking-definition" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1463, + 1464 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1463, + 1464 + ], + "inline": true, + "attributes": { + "content": "Image masking " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1463 + }, + "end": { + "line": 1464 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1463 + }, + "end": { + "line": 1464 + } + } + } + ], + "type": "heading", + "annotations": [ + { + "type": "attribute", + "name": "id", + "value": "image-masking-definition" + } + ], + "slots": {}, + "location": { + "start": { + "line": 1463 + }, + "end": { + "line": 1464 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1465, + 1466 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1465, + 1466 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1465, + 1466 + ], + "inline": true, + "attributes": { + "content": "The following chart shows how we apply different image masking strategies:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1465 + }, + "end": { + "line": 1466 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1465 + }, + "end": { + "line": 1466 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1465 + }, + "end": { + "line": 1466 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1467, + 1468, + 1485, + 1486 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1468, + 1475 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1468, + 1469 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1468, + 1469 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1468, + 1469 + ], + "inline": true, + "attributes": { + "content": "Type" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1468 + }, + "end": { + "line": 1469 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1468 + }, + "end": { + "line": 1469 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1468 + }, + "end": { + "line": 1469 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1469, + 1470 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1469, + 1470 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1469, + 1470 + ], + "inline": true, + "attributes": { + "content": "Mask None" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1469 + }, + "end": { + "line": 1470 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1469 + }, + "end": { + "line": 1470 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1469 + }, + "end": { + "line": 1470 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1470, + 1474 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1471, + 1474 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1471, + 1474 + ], + "inline": true, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1471, + 1474 + ], + "inline": true, + "attributes": { + "content": "Mask Large Only" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1471 + }, + "end": { + "line": 1474 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1471 + }, + "end": { + "line": 1474 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1471, + 1474 + ], + "inline": true, + "attributes": {}, + "children": [], + "type": "softbreak", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1471 + }, + "end": { + "line": 1474 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1471, + 1474 + ], + "inline": true, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1471, + 1474 + ], + "inline": true, + "attributes": { + "content": "Mask Non Bundled Only" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1471 + }, + "end": { + "line": 1474 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1471 + }, + "end": { + "line": 1474 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1471, + 1474 + ], + "inline": true, + "attributes": {}, + "children": [], + "type": "softbreak", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1471 + }, + "end": { + "line": 1474 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1471, + 1474 + ], + "inline": true, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1471, + 1474 + ], + "inline": true, + "attributes": { + "content": "Mark Large Only (Android) / Mask Non Bundled Only (iOS)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1471 + }, + "end": { + "line": 1474 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 1471 + }, + "end": { + "line": 1474 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1471 + }, + "end": { + "line": 1474 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1470 + }, + "end": { + "line": 1474 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1474, + 1475 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1474, + 1475 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1474, + 1475 + ], + "inline": true, + "attributes": { + "content": "Mask All" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1474 + }, + "end": { + "line": 1475 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1474 + }, + "end": { + "line": 1475 + } + } + } + ], + "type": "th", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1474 + }, + "end": { + "line": 1475 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1468 + }, + "end": { + "line": 1475 + } + } + } + ], + "type": "thead", + "annotations": [], + "slots": {} + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1476, + 1480 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1476, + 1477 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1476, + 1477 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1476, + 1477 + ], + "inline": true, + "attributes": { + "content": "Content Image" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1476 + }, + "end": { + "line": 1477 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1476 + }, + "end": { + "line": 1477 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1476 + }, + "end": { + "line": 1477 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1477, + 1478 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1477, + 1478 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1477, + 1478 + ], + "inline": true, + "attributes": { + "content": "Shown" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1477 + }, + "end": { + "line": 1478 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1477 + }, + "end": { + "line": 1478 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1477 + }, + "end": { + "line": 1478 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1478, + 1479 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1478, + 1479 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1478, + 1479 + ], + "inline": true, + "attributes": { + "content": "Masked" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1478 + }, + "end": { + "line": 1479 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1478 + }, + "end": { + "line": 1479 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1478 + }, + "end": { + "line": 1479 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1479, + 1480 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1479, + 1480 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1479, + 1480 + ], + "inline": true, + "attributes": { + "content": "Masked" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1479 + }, + "end": { + "line": 1480 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1479 + }, + "end": { + "line": 1480 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1479 + }, + "end": { + "line": 1480 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1476 + }, + "end": { + "line": 1480 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1481, + 1485 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1481, + 1482 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1481, + 1482 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1481, + 1482 + ], + "inline": true, + "attributes": { + "content": "System Image" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1481 + }, + "end": { + "line": 1482 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1481 + }, + "end": { + "line": 1482 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1481 + }, + "end": { + "line": 1482 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1482, + 1483 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1482, + 1483 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1482, + 1483 + ], + "inline": true, + "attributes": { + "content": "Shown" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1482 + }, + "end": { + "line": 1483 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1482 + }, + "end": { + "line": 1483 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1482 + }, + "end": { + "line": 1483 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1483, + 1484 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1483, + 1484 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1483, + 1484 + ], + "inline": true, + "attributes": { + "content": "Shown" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1483 + }, + "end": { + "line": 1484 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1483 + }, + "end": { + "line": 1484 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1483 + }, + "end": { + "line": 1484 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1484, + 1485 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1484, + 1485 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 1484, + 1485 + ], + "inline": true, + "attributes": { + "content": "Masked" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1484 + }, + "end": { + "line": 1485 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1484 + }, + "end": { + "line": 1485 + } + } + } + ], + "type": "td", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1484 + }, + "end": { + "line": 1485 + } + } + } + ], + "type": "tr", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1481 + }, + "end": { + "line": 1485 + } + } + } + ], + "type": "tbody", + "annotations": [], + "slots": {} + } + ], + "type": "table", + "annotations": [], + "slots": {} + } + ], + "type": "tag", + "tag": "table", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 1467 + }, + "end": { + "line": 1468 + } + } + } + ], + "type": "document", + "annotations": [], + "slots": {} +} \ No newline at end of file diff --git a/layouts/shortcodes/mdoc/en/real_user_monitoring/session_replay/setup_and_configuration.tempAst.json b/layouts/shortcodes/mdoc/en/real_user_monitoring/session_replay/setup_and_configuration.tempAst.json new file mode 100644 index 0000000000000..f741dbbab84ed --- /dev/null +++ b/layouts/shortcodes/mdoc/en/real_user_monitoring/session_replay/setup_and_configuration.tempAst.json @@ -0,0 +1,13654 @@ +{ + "$$mdtype": "Node", + "errors": [], + "lines": [], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 0, + 8 + ], + "inline": false, + "attributes": { + "content": "Pages using this partial must declare these filters:\n\ncontent_filters:\n - trait_id: platform\n option_group_id: rum_session_replay_sdk_options\n label: \"SDK\"" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 0 + }, + "end": { + "line": 8 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 8, + 9 + ], + "inline": false, + "attributes": { + "level": 2 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 8, + 9 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 8, + 9 + ], + "inline": true, + "attributes": { + "content": "Setup" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 8 + }, + "end": { + "line": 9 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 8 + }, + "end": { + "line": 9 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 8 + }, + "end": { + "line": 9 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 10, + 11 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 10 + }, + "end": { + "line": 11 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 11, + 12, + 43, + 44 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 12, + 13 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 12, + 13 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 12, + 13 + ], + "inline": true, + "attributes": { + "content": "All Session Replay SDK versions can be found in the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 12 + }, + "end": { + "line": 13 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 12, + 13 + ], + "inline": true, + "attributes": { + "href": "https://central.sonatype.com/artifact/com.datadoghq/dd-sdk-kotlin-multiplatform-session-replay/versions" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 12, + 13 + ], + "inline": true, + "attributes": { + "content": "Maven Central Repository" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 12 + }, + "end": { + "line": 13 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 12 + }, + "end": { + "line": 13 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 12, + 13 + ], + "inline": true, + "attributes": { + "content": "." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 12 + }, + "end": { + "line": 13 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 12 + }, + "end": { + "line": 13 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 12 + }, + "end": { + "line": 13 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 14, + 15 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 14, + 15 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 14, + 15 + ], + "inline": true, + "attributes": { + "content": "To set up Mobile Session Replay for Android:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 14 + }, + "end": { + "line": 15 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 14 + }, + "end": { + "line": 15 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 14 + }, + "end": { + "line": 15 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 16, + 17 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 16, + 17 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 16, + 17 + ], + "inline": true, + "attributes": { + "content": "Step 1 - Set up the Android RUM SDK" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 16 + }, + "end": { + "line": 17 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 16 + }, + "end": { + "line": 17 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 16 + }, + "end": { + "line": 17 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 18, + 19 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 18, + 19 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 18, + 19 + ], + "inline": true, + "attributes": { + "content": "Make sure you've " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 18 + }, + "end": { + "line": 19 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 18, + 19 + ], + "inline": true, + "attributes": { + "href": "/real_user_monitoring/android/?tab=kotlin" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 18, + 19 + ], + "inline": true, + "attributes": { + "content": "set up and initialized the Datadog Android RUM SDK" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 18 + }, + "end": { + "line": 19 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 18 + }, + "end": { + "line": 19 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 18, + 19 + ], + "inline": true, + "attributes": { + "content": " with views instrumentation enabled." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 18 + }, + "end": { + "line": 19 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 18 + }, + "end": { + "line": 19 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 18 + }, + "end": { + "line": 19 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 20, + 21 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 20, + 21 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 20, + 21 + ], + "inline": true, + "attributes": { + "content": "Step 2 - Declare the Datadog Session Replay as a dependency" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 20 + }, + "end": { + "line": 21 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 20 + }, + "end": { + "line": 21 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 20 + }, + "end": { + "line": 21 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 22, + 30 + ], + "inline": false, + "attributes": { + "content": "implementation(\"com.datadoghq:dd-sdk-android-rum:[datadog_version]\")\nimplementation(\"com.datadoghq:dd-sdk-android-session-replay:[datadog_version]\")\n// in case you need Material support\nimplementation(\"com.datadoghq:dd-sdk-android-session-replay-material:[datadog_version]\")\n// in case you need Jetpack Compose support\nimplementation(\"com.datadoghq:dd-sdk-android-session-replay-compose:[datadog_version]\")\n", + "language": "kotlin", + "filename": "build.gradle.kts" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 22, + 30 + ], + "inline": false, + "attributes": { + "content": "implementation(\"com.datadoghq:dd-sdk-android-rum:[datadog_version]\")\nimplementation(\"com.datadoghq:dd-sdk-android-session-replay:[datadog_version]\")\n// in case you need Material support\nimplementation(\"com.datadoghq:dd-sdk-android-session-replay-material:[datadog_version]\")\n// in case you need Jetpack Compose support\nimplementation(\"com.datadoghq:dd-sdk-android-session-replay-compose:[datadog_version]\")\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 22 + }, + "end": { + "line": 30 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "build.gradle.kts" + } + ], + "slots": {}, + "location": { + "start": { + "line": 22 + }, + "end": { + "line": 30 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 31, + 32 + ], + "inline": false, + "attributes": { + "level": 3, + "id": "enable-android" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 31, + 32 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 31, + 32 + ], + "inline": true, + "attributes": { + "content": "Step 3 - Enable Session Replay " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 31 + }, + "end": { + "line": 32 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 31 + }, + "end": { + "line": 32 + } + } + } + ], + "type": "heading", + "annotations": [ + { + "type": "attribute", + "name": "id", + "value": "enable-android" + } + ], + "slots": {}, + "location": { + "start": { + "line": 31 + }, + "end": { + "line": 32 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 33, + 43 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder([sampleRate])\n // in case you need Material extension support\n .addExtensionSupport(MaterialExtensionSupport())\n // in case you need Jetpack Compose support\n .addExtensionSupport(ComposeExtensionSupport())\n .build()\n\nSessionReplay.enable(sessionReplayConfig)\n", + "language": "kotlin", + "filename": "Application.kt" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 33, + 43 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder([sampleRate])\n // in case you need Material extension support\n .addExtensionSupport(MaterialExtensionSupport())\n // in case you need Jetpack Compose support\n .addExtensionSupport(ComposeExtensionSupport())\n .build()\n\nSessionReplay.enable(sessionReplayConfig)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 33 + }, + "end": { + "line": 43 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "Application.kt" + } + ], + "slots": {}, + "location": { + "start": { + "line": 33 + }, + "end": { + "line": 43 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 11 + }, + "end": { + "line": 12 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 44, + 45 + ], + "inline": false, + "attributes": { + "content": "end Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 44 + }, + "end": { + "line": 45 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 46, + 47 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 46 + }, + "end": { + "line": 47 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 47, + 48, + 82, + 83 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 48, + 49 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 48, + 49 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 48, + 49 + ], + "inline": true, + "attributes": { + "content": "To set up Mobile Session Replay for iOS:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 48 + }, + "end": { + "line": 49 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 48 + }, + "end": { + "line": 49 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 48 + }, + "end": { + "line": 49 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 50, + 51 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 50, + 51 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 50, + 51 + ], + "inline": true, + "attributes": { + "content": "Step 1 - Set up the iOS RUM SDK" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 50 + }, + "end": { + "line": 51 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 50 + }, + "end": { + "line": 51 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 50 + }, + "end": { + "line": 51 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 52, + 53 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 52, + 53 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 52, + 53 + ], + "inline": true, + "attributes": { + "content": "Make sure you've " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 52 + }, + "end": { + "line": 53 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 52, + 53 + ], + "inline": true, + "attributes": { + "href": "/real_user_monitoring/ios/?tab=swift" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 52, + 53 + ], + "inline": true, + "attributes": { + "content": "set up and initialized the Datadog iOS RUM SDK" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 52 + }, + "end": { + "line": 53 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 52 + }, + "end": { + "line": 53 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 52, + 53 + ], + "inline": true, + "attributes": { + "content": " with views instrumentation enabled." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 52 + }, + "end": { + "line": 53 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 52 + }, + "end": { + "line": 53 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 52 + }, + "end": { + "line": 53 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 54, + 55 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 54, + 55 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 54, + 55 + ], + "inline": true, + "attributes": { + "content": "Step 2 - Declare the Datadog Session Replay as a dependency" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 54 + }, + "end": { + "line": 55 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 54 + }, + "end": { + "line": 55 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 54 + }, + "end": { + "line": 55 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 56, + 57, + 66, + 67 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 57, + 58, + 59, + 60 + ], + "inline": false, + "attributes": { + "label": "Swift Package Manager" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 58, + 59 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 58, + 59 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 58, + 59 + ], + "inline": true, + "attributes": { + "content": "Add " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 58 + }, + "end": { + "line": 59 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 58, + 59 + ], + "inline": true, + "attributes": { + "content": "DatadogSessionReplay" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 58 + }, + "end": { + "line": 59 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 58, + 59 + ], + "inline": true, + "attributes": { + "content": " library as a dependency to your app target." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 58 + }, + "end": { + "line": 59 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 58 + }, + "end": { + "line": 59 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 58 + }, + "end": { + "line": 59 + } + } + } + ], + "type": "tag", + "tag": "tab", + "annotations": [ + { + "type": "attribute", + "name": "label", + "value": "Swift Package Manager" + } + ], + "slots": {}, + "location": { + "start": { + "line": 57 + }, + "end": { + "line": 58 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 60, + 61, + 62, + 63 + ], + "inline": false, + "attributes": { + "label": "CocoaPods" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 61, + 62 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 61, + 62 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 61, + 62 + ], + "inline": true, + "attributes": { + "content": "Add " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 61 + }, + "end": { + "line": 62 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 61, + 62 + ], + "inline": true, + "attributes": { + "content": "pod 'DatadogSessionReplay" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 61 + }, + "end": { + "line": 62 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 61, + 62 + ], + "inline": true, + "attributes": { + "content": " to your " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 61 + }, + "end": { + "line": 62 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 61, + 62 + ], + "inline": true, + "attributes": { + "content": "Podfile" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 61 + }, + "end": { + "line": 62 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 61, + 62 + ], + "inline": true, + "attributes": { + "content": "." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 61 + }, + "end": { + "line": 62 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 61 + }, + "end": { + "line": 62 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 61 + }, + "end": { + "line": 62 + } + } + } + ], + "type": "tag", + "tag": "tab", + "annotations": [ + { + "type": "attribute", + "name": "label", + "value": "CocoaPods" + } + ], + "slots": {}, + "location": { + "start": { + "line": 60 + }, + "end": { + "line": 61 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 63, + 64, + 65, + 66 + ], + "inline": false, + "attributes": { + "label": "Carthage" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 64, + 65 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 64, + 65 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 64, + 65 + ], + "inline": true, + "attributes": { + "content": "Add " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 64 + }, + "end": { + "line": 65 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 64, + 65 + ], + "inline": true, + "attributes": { + "content": "DatadogSessionReplay.xcframework" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 64 + }, + "end": { + "line": 65 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 64, + 65 + ], + "inline": true, + "attributes": { + "content": " as a dependency to your app target." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 64 + }, + "end": { + "line": 65 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 64 + }, + "end": { + "line": 65 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 64 + }, + "end": { + "line": 65 + } + } + } + ], + "type": "tag", + "tag": "tab", + "annotations": [ + { + "type": "attribute", + "name": "label", + "value": "Carthage" + } + ], + "slots": {}, + "location": { + "start": { + "line": 63 + }, + "end": { + "line": 64 + } + } + } + ], + "type": "tag", + "tag": "tabs", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 56 + }, + "end": { + "line": 57 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 68, + 69 + ], + "inline": false, + "attributes": { + "level": 3, + "id": "enable-ios" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 68, + 69 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 68, + 69 + ], + "inline": true, + "attributes": { + "content": "Step 3 - Enable Session Replay " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 68 + }, + "end": { + "line": 69 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 68 + }, + "end": { + "line": 69 + } + } + } + ], + "type": "heading", + "annotations": [ + { + "type": "attribute", + "name": "id", + "value": "enable-ios" + } + ], + "slots": {}, + "location": { + "start": { + "line": 68 + }, + "end": { + "line": 69 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 70, + 81 + ], + "inline": false, + "attributes": { + "content": "import DatadogSessionReplay\n\nSessionReplay.enable(\n with: SessionReplay.Configuration(\n replaySampleRate: sampleRate,\n // Enable the experimental SwiftUI recording\n featureFlags: [.swiftui: true]\n )\n)\n", + "language": "swift", + "filename": "AppDelegate.swift" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 70, + 81 + ], + "inline": false, + "attributes": { + "content": "import DatadogSessionReplay\n\nSessionReplay.enable(\n with: SessionReplay.Configuration(\n replaySampleRate: sampleRate,\n // Enable the experimental SwiftUI recording\n featureFlags: [.swiftui: true]\n )\n)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 70 + }, + "end": { + "line": 81 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "AppDelegate.swift" + } + ], + "slots": {}, + "location": { + "start": { + "line": 70 + }, + "end": { + "line": 81 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 47 + }, + "end": { + "line": 48 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 83, + 84 + ], + "inline": false, + "attributes": { + "content": "end iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 83 + }, + "end": { + "line": 84 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 85, + 86 + ], + "inline": false, + "attributes": { + "content": "Kotlin Multiplatform" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 85 + }, + "end": { + "line": 86 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 86, + 87, + 133, + 134 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "kotlin_multiplatform" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 87, + 88 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 87, + 88 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 87, + 88 + ], + "inline": true, + "attributes": { + "content": "All Session Replay SDK versions can be found in the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 87 + }, + "end": { + "line": 88 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 87, + 88 + ], + "inline": true, + "attributes": { + "href": "https://central.sonatype.com/artifact/com.datadoghq/dd-sdk-android-session-replay/versions" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 87, + 88 + ], + "inline": true, + "attributes": { + "content": "Maven Central Repository" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 87 + }, + "end": { + "line": 88 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 87 + }, + "end": { + "line": 88 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 87, + 88 + ], + "inline": true, + "attributes": { + "content": "." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 87 + }, + "end": { + "line": 88 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 87 + }, + "end": { + "line": 88 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 87 + }, + "end": { + "line": 88 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 89, + 90 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 89, + 90 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 89, + 90 + ], + "inline": true, + "attributes": { + "content": "To set up Mobile Session Replay for Kotlin Multiplatform:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 89 + }, + "end": { + "line": 90 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 89 + }, + "end": { + "line": 90 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 89 + }, + "end": { + "line": 90 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 91, + 92 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 91, + 92 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 91, + 92 + ], + "inline": true, + "attributes": { + "content": "Step 1 - Set up the Kotlin Multiplatform RUM SDK" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 91 + }, + "end": { + "line": 92 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 91 + }, + "end": { + "line": 92 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 91 + }, + "end": { + "line": 92 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 93, + 94 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 93, + 94 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 93, + 94 + ], + "inline": true, + "attributes": { + "content": "Make sure you've " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 93 + }, + "end": { + "line": 94 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 93, + 94 + ], + "inline": true, + "attributes": { + "href": "/real_user_monitoring/kotlin_multiplatform/" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 93, + 94 + ], + "inline": true, + "attributes": { + "content": "set up and initialized the Datadog Kotlin Multiplatform RUM SDK" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 93 + }, + "end": { + "line": 94 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 93 + }, + "end": { + "line": 94 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 93, + 94 + ], + "inline": true, + "attributes": { + "content": " with views instrumentation enabled." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 93 + }, + "end": { + "line": 94 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 93 + }, + "end": { + "line": 94 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 93 + }, + "end": { + "line": 94 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 95, + 96 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 95, + 96 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 95, + 96 + ], + "inline": true, + "attributes": { + "content": "Step 2 - Add the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 95 + }, + "end": { + "line": 96 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 95, + 96 + ], + "inline": true, + "attributes": { + "content": "DatadogSessionReplay" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 95 + }, + "end": { + "line": 96 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 95, + 96 + ], + "inline": true, + "attributes": { + "content": " iOS library as a link-only dependency" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 95 + }, + "end": { + "line": 96 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 95 + }, + "end": { + "line": 96 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 95 + }, + "end": { + "line": 96 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 97, + 98 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 97, + 98 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 97, + 98 + ], + "inline": true, + "attributes": { + "content": "For instructions, see the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 97 + }, + "end": { + "line": 98 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 97, + 98 + ], + "inline": true, + "attributes": { + "href": "/real_user_monitoring/kotlin_multiplatform/#add-native-dependencies-for-ios" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 97, + 98 + ], + "inline": true, + "attributes": { + "content": "guide" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 97 + }, + "end": { + "line": 98 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 97 + }, + "end": { + "line": 98 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 97, + 98 + ], + "inline": true, + "attributes": { + "content": "." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 97 + }, + "end": { + "line": 98 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 97 + }, + "end": { + "line": 98 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 97 + }, + "end": { + "line": 98 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 99, + 100 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 99, + 100 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 99, + 100 + ], + "inline": true, + "attributes": { + "content": "Step 3 - Declare Datadog Session Replay as a dependency" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 99 + }, + "end": { + "line": 100 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 99 + }, + "end": { + "line": 100 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 99 + }, + "end": { + "line": 100 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 101, + 116 + ], + "inline": false, + "attributes": { + "content": "kotlin {\n sourceSets {\n commonMain.dependencies {\n implementation(\"com.datadoghq:dd-sdk-kotlin-multiplatform-rum:[datadog_version]\")\n implementation(\"com.datadoghq:dd-sdk-kotlin-multiplatform-session-replay:[datadog_version]\")\n }\n\n // in case you need Material support on Android\n androidMain.dependencies {\n implementation(\"com.datadoghq:dd-sdk-android-session-replay-material:[datadog_version]\")\n }\n }\n}\n", + "language": "kotlin", + "filename": "build.gradle.kts" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 101, + 116 + ], + "inline": false, + "attributes": { + "content": "kotlin {\n sourceSets {\n commonMain.dependencies {\n implementation(\"com.datadoghq:dd-sdk-kotlin-multiplatform-rum:[datadog_version]\")\n implementation(\"com.datadoghq:dd-sdk-kotlin-multiplatform-session-replay:[datadog_version]\")\n }\n\n // in case you need Material support on Android\n androidMain.dependencies {\n implementation(\"com.datadoghq:dd-sdk-android-session-replay-material:[datadog_version]\")\n }\n }\n}\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 101 + }, + "end": { + "line": 116 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "build.gradle.kts" + } + ], + "slots": {}, + "location": { + "start": { + "line": 101 + }, + "end": { + "line": 116 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 117, + 118 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 117, + 118 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 117, + 118 + ], + "inline": true, + "attributes": { + "content": "Step 4 - Enable Session Replay" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 117 + }, + "end": { + "line": 118 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 117 + }, + "end": { + "line": 118 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 117 + }, + "end": { + "line": 118 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 119, + 125 + ], + "inline": false, + "attributes": { + "content": "// in common source set\nval sessionReplayConfig = SessionReplayConfiguration.Builder([sampleRate])\n .build()\nSessionReplay.enable(sessionReplayConfig)\n", + "language": "kotlin", + "filename": "Application.kt" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 119, + 125 + ], + "inline": false, + "attributes": { + "content": "// in common source set\nval sessionReplayConfig = SessionReplayConfiguration.Builder([sampleRate])\n .build()\nSessionReplay.enable(sessionReplayConfig)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 119 + }, + "end": { + "line": 125 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "Application.kt" + } + ], + "slots": {}, + "location": { + "start": { + "line": 119 + }, + "end": { + "line": 125 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 126, + 127 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 126, + 127 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 126, + 127 + ], + "inline": true, + "attributes": { + "content": "Step 5 - Set up Material support on Android (Optional)" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 126 + }, + "end": { + "line": 127 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 126 + }, + "end": { + "line": 127 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 126 + }, + "end": { + "line": 127 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 128, + 129 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 128, + 129 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 128, + 129 + ], + "inline": true, + "attributes": { + "content": "If your app uses Material on Android, add:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 128 + }, + "end": { + "line": 129 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 128 + }, + "end": { + "line": 129 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 128 + }, + "end": { + "line": 129 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 130, + 133 + ], + "inline": false, + "attributes": { + "content": "SessionReplayConfiguration.Builder.addExtensionSupport(MaterialExtensionSupport())\n", + "language": "kotlin" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 130, + 133 + ], + "inline": false, + "attributes": { + "content": "SessionReplayConfiguration.Builder.addExtensionSupport(MaterialExtensionSupport())\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 130 + }, + "end": { + "line": 133 + } + } + } + ], + "type": "fence", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 130 + }, + "end": { + "line": 133 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "kotlin_multiplatform" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 86 + }, + "end": { + "line": 87 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 134, + 135 + ], + "inline": false, + "attributes": { + "content": "end Kotlin Multiplatform" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 134 + }, + "end": { + "line": 135 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 136, + 137 + ], + "inline": false, + "attributes": { + "content": "React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 136 + }, + "end": { + "line": 137 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 137, + 138, + 248, + 249 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 139, + 140, + 141, + 142 + ], + "inline": false, + "attributes": { + "level": "warning" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 140, + 141 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 140, + 141 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 140, + 141 + ], + "inline": true, + "attributes": { + "content": "To enable Session Replay, you must use at least version " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 140 + }, + "end": { + "line": 141 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 140, + 141 + ], + "inline": true, + "attributes": { + "content": "2.0.4" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 140 + }, + "end": { + "line": 141 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 140, + 141 + ], + "inline": true, + "attributes": { + "content": " of the Datadog " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 140 + }, + "end": { + "line": 141 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 140, + 141 + ], + "inline": true, + "attributes": { + "href": "https://github.com/DataDog/dd-sdk-reactnative" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 140, + 141 + ], + "inline": true, + "attributes": { + "content": "React Native SDK" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 140 + }, + "end": { + "line": 141 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 140 + }, + "end": { + "line": 141 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 140, + 141 + ], + "inline": true, + "attributes": { + "content": ", and ensure that the Session Replay SDK version matches the React Native SDK version you are using." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 140 + }, + "end": { + "line": 141 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 140 + }, + "end": { + "line": 141 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 140 + }, + "end": { + "line": 141 + } + } + } + ], + "type": "tag", + "tag": "alert", + "annotations": [ + { + "type": "attribute", + "name": "level", + "value": "warning" + } + ], + "slots": {}, + "location": { + "start": { + "line": 139 + }, + "end": { + "line": 140 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 143, + 144 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 143, + 144 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 143, + 144 + ], + "inline": true, + "attributes": { + "content": "All Session Replay SDK versions can be found in the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 143 + }, + "end": { + "line": 144 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 143, + 144 + ], + "inline": true, + "attributes": { + "href": "https://www.npmjs.com/package/@datadog/mobile-react-native-session-replay?activeTab=versions" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 143, + 144 + ], + "inline": true, + "attributes": { + "content": "npmjs repository" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 143 + }, + "end": { + "line": 144 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 143 + }, + "end": { + "line": 144 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 143, + 144 + ], + "inline": true, + "attributes": { + "content": "." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 143 + }, + "end": { + "line": 144 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 143 + }, + "end": { + "line": 144 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 143 + }, + "end": { + "line": 144 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 145, + 146 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 145, + 146 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 145, + 146 + ], + "inline": true, + "attributes": { + "content": "To set up Mobile Session Replay for React Native:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 145 + }, + "end": { + "line": 146 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 145 + }, + "end": { + "line": 146 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 145 + }, + "end": { + "line": 146 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 147, + 148 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 147, + 148 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 147, + 148 + ], + "inline": true, + "attributes": { + "content": "Step 1 - Set up the React Native SDK" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 147 + }, + "end": { + "line": 148 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 147 + }, + "end": { + "line": 148 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 147 + }, + "end": { + "line": 148 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 149, + 150 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 149, + 150 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 149, + 150 + ], + "inline": true, + "attributes": { + "content": "Make sure you've " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 149 + }, + "end": { + "line": 150 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 149, + 150 + ], + "inline": true, + "attributes": { + "href": "/real_user_monitoring/application_monitoring/react_native/setup" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 149, + 150 + ], + "inline": true, + "attributes": { + "content": "set up and initialized the Datadog React Native SDK" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 149 + }, + "end": { + "line": 150 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 149 + }, + "end": { + "line": 150 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 149, + 150 + ], + "inline": true, + "attributes": { + "content": " with views instrumentation enabled." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 149 + }, + "end": { + "line": 150 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 149 + }, + "end": { + "line": 150 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 149 + }, + "end": { + "line": 150 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 151, + 152 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 151, + 152 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 151, + 152 + ], + "inline": true, + "attributes": { + "content": "Step 2 - Declare the React Native Session Replay as a dependency" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 151 + }, + "end": { + "line": 152 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 151 + }, + "end": { + "line": 152 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 151 + }, + "end": { + "line": 152 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 153, + 154 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 153, + 154 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 153, + 154 + ], + "inline": true, + "attributes": { + "content": "Add the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 153 + }, + "end": { + "line": 154 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 153, + 154 + ], + "inline": true, + "attributes": { + "content": "@datadog/mobile-react-native-session-replay" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 153 + }, + "end": { + "line": 154 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 153, + 154 + ], + "inline": true, + "attributes": { + "content": " dependency, and make sure it matches the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 153 + }, + "end": { + "line": 154 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 153, + 154 + ], + "inline": true, + "attributes": { + "content": "@datadog/mobile-react-native" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 153 + }, + "end": { + "line": 154 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 153, + 154 + ], + "inline": true, + "attributes": { + "content": " version, either through " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 153 + }, + "end": { + "line": 154 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 153, + 154 + ], + "inline": true, + "attributes": { + "href": "https://www.npmjs.com/package/@datadog/mobile-react-native-session-replay?activeTab=versions" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 153, + 154 + ], + "inline": true, + "attributes": { + "content": "npm" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 153 + }, + "end": { + "line": 154 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 153 + }, + "end": { + "line": 154 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 153, + 154 + ], + "inline": true, + "attributes": { + "content": " or " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 153 + }, + "end": { + "line": 154 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 153, + 154 + ], + "inline": true, + "attributes": { + "href": "https://yarnpkg.com/package?q=datadog%20react%20native%20ses&name=%40datadog%2Fmobile-react-native-session-replay" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 153, + 154 + ], + "inline": true, + "attributes": { + "content": "yarn" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 153 + }, + "end": { + "line": 154 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 153 + }, + "end": { + "line": 154 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 153, + 154 + ], + "inline": true, + "attributes": { + "content": "." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 153 + }, + "end": { + "line": 154 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 153 + }, + "end": { + "line": 154 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 153 + }, + "end": { + "line": 154 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 155, + 156, + 169, + 170 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 157, + 158, + 161, + 162 + ], + "inline": false, + "attributes": { + "label": "npm" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 158, + 161 + ], + "inline": false, + "attributes": { + "content": "npm install @datadog/mobile-react-native-session-replay\n", + "language": "shell" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 158, + 161 + ], + "inline": false, + "attributes": { + "content": "npm install @datadog/mobile-react-native-session-replay\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 158 + }, + "end": { + "line": 161 + } + } + } + ], + "type": "fence", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 158 + }, + "end": { + "line": 161 + } + } + } + ], + "type": "tag", + "tag": "tab", + "annotations": [ + { + "type": "attribute", + "name": "label", + "value": "npm" + } + ], + "slots": {}, + "location": { + "start": { + "line": 157 + }, + "end": { + "line": 158 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 163, + 164, + 167, + 168 + ], + "inline": false, + "attributes": { + "label": "yarn" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 164, + 167 + ], + "inline": false, + "attributes": { + "content": "yarn add @datadog/mobile-react-native-session-replay\n", + "language": "shell" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 164, + 167 + ], + "inline": false, + "attributes": { + "content": "yarn add @datadog/mobile-react-native-session-replay\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 164 + }, + "end": { + "line": 167 + } + } + } + ], + "type": "fence", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 164 + }, + "end": { + "line": 167 + } + } + } + ], + "type": "tag", + "tag": "tab", + "annotations": [ + { + "type": "attribute", + "name": "label", + "value": "yarn" + } + ], + "slots": {}, + "location": { + "start": { + "line": 163 + }, + "end": { + "line": 164 + } + } + } + ], + "type": "tag", + "tag": "tabs", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 155 + }, + "end": { + "line": 156 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 171, + 172 + ], + "inline": false, + "attributes": { + "level": 3, + "id": "enable-react-native" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 171, + 172 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 171, + 172 + ], + "inline": true, + "attributes": { + "content": "Step 3 - Enable Session Replay " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 171 + }, + "end": { + "line": 172 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 171 + }, + "end": { + "line": 172 + } + } + } + ], + "type": "heading", + "annotations": [ + { + "type": "attribute", + "name": "id", + "value": "enable-react-native" + } + ], + "slots": {}, + "location": { + "start": { + "line": 171 + }, + "end": { + "line": 172 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 173, + 174 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 173, + 174 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 173, + 174 + ], + "inline": true, + "attributes": { + "content": "After the Datadog React Native SDK and Session Replay SDK dependencies are imported, you can enable the feature when configuring the SDK." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 173 + }, + "end": { + "line": 174 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 173 + }, + "end": { + "line": 174 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 173 + }, + "end": { + "line": 174 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 175, + 176, + 234, + 235 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 177, + 178, + 212, + 213 + ], + "inline": false, + "attributes": { + "label": "DatadogProvider" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 178, + 179 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 178, + 179 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 178, + 179 + ], + "inline": true, + "attributes": { + "content": "If you use the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 178 + }, + "end": { + "line": 179 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 178, + 179 + ], + "inline": true, + "attributes": { + "content": "DatadogProvider" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 178 + }, + "end": { + "line": 179 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 178, + 179 + ], + "inline": true, + "attributes": { + "content": " component:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 178 + }, + "end": { + "line": 179 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 178 + }, + "end": { + "line": 179 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 178 + }, + "end": { + "line": 179 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 180, + 212 + ], + "inline": false, + "attributes": { + "content": "import { DatadogProvider, DatadogProviderConfiguration } from \"@datadog/mobile-react-native\";\nimport {\n ImagePrivacyLevel,\n SessionReplay,\n TextAndInputPrivacyLevel,\n TouchPrivacyLevel,\n} from \"@datadog/mobile-react-native-session-replay\";\n\nconst configuration = new DatadogProviderConfiguration(/* ... */)\n\n// Add this function as onInitialization prop to DatadogProvider\nconst onSDKInitialized = async () => {\n await SessionReplay.enable({\n replaySampleRate: 100, // Session Replay will be available for all sessions already captured by the SDK\n textAndInputPrivacyLevel: TextAndInputPrivacyLevel.MASK_SENSITIVE_INPUTS,\n imagePrivacyLevel: ImagePrivacyLevel.MASK_NONE,\n touchPrivacyLevel: TouchPrivacyLevel.SHOW,\n });\n};\n\nconst App = () => {\n const navigationRef = React.useRef(null);\n return (\n \n {/* App */}\n \n );\n};\n\nexport default App;\n", + "language": "typescript", + "filename": "App.tsx" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 180, + 212 + ], + "inline": false, + "attributes": { + "content": "import { DatadogProvider, DatadogProviderConfiguration } from \"@datadog/mobile-react-native\";\nimport {\n ImagePrivacyLevel,\n SessionReplay,\n TextAndInputPrivacyLevel,\n TouchPrivacyLevel,\n} from \"@datadog/mobile-react-native-session-replay\";\n\nconst configuration = new DatadogProviderConfiguration(/* ... */)\n\n// Add this function as onInitialization prop to DatadogProvider\nconst onSDKInitialized = async () => {\n await SessionReplay.enable({\n replaySampleRate: 100, // Session Replay will be available for all sessions already captured by the SDK\n textAndInputPrivacyLevel: TextAndInputPrivacyLevel.MASK_SENSITIVE_INPUTS,\n imagePrivacyLevel: ImagePrivacyLevel.MASK_NONE,\n touchPrivacyLevel: TouchPrivacyLevel.SHOW,\n });\n};\n\nconst App = () => {\n const navigationRef = React.useRef(null);\n return (\n \n {/* App */}\n \n );\n};\n\nexport default App;\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 180 + }, + "end": { + "line": 212 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "App.tsx" + } + ], + "slots": {}, + "location": { + "start": { + "line": 180 + }, + "end": { + "line": 212 + } + } + } + ], + "type": "tag", + "tag": "tab", + "annotations": [ + { + "type": "attribute", + "name": "label", + "value": "DatadogProvider" + } + ], + "slots": {}, + "location": { + "start": { + "line": 177 + }, + "end": { + "line": 178 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 214, + 215, + 232, + 233 + ], + "inline": false, + "attributes": { + "label": "DdSdkReactNative.initialize" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 215, + 216 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 215, + 216 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 215, + 216 + ], + "inline": true, + "attributes": { + "content": "If you use the " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 215 + }, + "end": { + "line": 216 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 215, + 216 + ], + "inline": true, + "attributes": { + "content": "DdSdkReactNative.initialize" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 215 + }, + "end": { + "line": 216 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 215, + 216 + ], + "inline": true, + "attributes": { + "content": " method:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 215 + }, + "end": { + "line": 216 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 215 + }, + "end": { + "line": 216 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 215 + }, + "end": { + "line": 216 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 217, + 232 + ], + "inline": false, + "attributes": { + "content": "import { DdSdkReactNative, DdSdkReactNativeConfiguration } from \"@datadog/mobile-react-native\";\nimport { SessionReplay } from \"@datadog/mobile-react-native-session-replay\";\n\nconst configuration = new DdSdkReactNativeConfiguration(/* ... */)\n\nDdSdkReactNative.initialize(configuration)\n .then(() => SessionReplay.enable({\n replaySampleRate: 100, // Session Replay will be available for all sessions already captured by the SDK\n textAndInputPrivacyLevel: TextAndInputPrivacyLevel.MASK_SENSITIVE_INPUTS,\n imagePrivacyLevel: ImagePrivacyLevel.MASK_NONE,\n touchPrivacyLevel: TouchPrivacyLevel.SHOW,\n }))\n .catch((error) => { /* handle error */ });\n", + "language": "typescript", + "filename": "App.tsx" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 217, + 232 + ], + "inline": false, + "attributes": { + "content": "import { DdSdkReactNative, DdSdkReactNativeConfiguration } from \"@datadog/mobile-react-native\";\nimport { SessionReplay } from \"@datadog/mobile-react-native-session-replay\";\n\nconst configuration = new DdSdkReactNativeConfiguration(/* ... */)\n\nDdSdkReactNative.initialize(configuration)\n .then(() => SessionReplay.enable({\n replaySampleRate: 100, // Session Replay will be available for all sessions already captured by the SDK\n textAndInputPrivacyLevel: TextAndInputPrivacyLevel.MASK_SENSITIVE_INPUTS,\n imagePrivacyLevel: ImagePrivacyLevel.MASK_NONE,\n touchPrivacyLevel: TouchPrivacyLevel.SHOW,\n }))\n .catch((error) => { /* handle error */ });\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 217 + }, + "end": { + "line": 232 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "App.tsx" + } + ], + "slots": {}, + "location": { + "start": { + "line": 217 + }, + "end": { + "line": 232 + } + } + } + ], + "type": "tag", + "tag": "tab", + "annotations": [ + { + "type": "attribute", + "name": "label", + "value": "DdSdkReactNative.initialize" + } + ], + "slots": {}, + "location": { + "start": { + "line": 214 + }, + "end": { + "line": 215 + } + } + } + ], + "type": "tag", + "tag": "tabs", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 175 + }, + "end": { + "line": 176 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 236, + 237 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 236, + 237 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 236, + 237 + ], + "inline": true, + "attributes": { + "content": "During this step, you can also configure multiple " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 236 + }, + "end": { + "line": 237 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 236, + 237 + ], + "inline": true, + "attributes": { + "href": "/real_user_monitoring/session_replay/mobile/privacy_options/?tab=reactnative" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 236, + 237 + ], + "inline": true, + "attributes": { + "content": "privacy levels" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 236 + }, + "end": { + "line": 237 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 236 + }, + "end": { + "line": 237 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 236, + 237 + ], + "inline": true, + "attributes": { + "content": " that apply to Session Replays." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 236 + }, + "end": { + "line": 237 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 236 + }, + "end": { + "line": 237 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 236 + }, + "end": { + "line": 237 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 238, + 239 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 238, + 239 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 238, + 239 + ], + "inline": true, + "attributes": { + "content": "Step 4 - (iOS only) Update your iOS pods." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 238 + }, + "end": { + "line": 239 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 238 + }, + "end": { + "line": 239 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 238 + }, + "end": { + "line": 239 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 240, + 243 + ], + "inline": false, + "attributes": { + "content": "cd ios && pod install\n", + "language": "shell" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 240, + 243 + ], + "inline": false, + "attributes": { + "content": "cd ios && pod install\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 240 + }, + "end": { + "line": 243 + } + } + } + ], + "type": "fence", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 240 + }, + "end": { + "line": 243 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 244, + 245 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 244, + 245 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 244, + 245 + ], + "inline": true, + "attributes": { + "content": "Step 5 - Rebuild your app" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 244 + }, + "end": { + "line": 245 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 244 + }, + "end": { + "line": 245 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 244 + }, + "end": { + "line": 245 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 246, + 247 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 246, + 247 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 246, + 247 + ], + "inline": true, + "attributes": { + "content": "Rebuild your iOS and Android apps" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 246 + }, + "end": { + "line": 247 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 246 + }, + "end": { + "line": 247 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 246 + }, + "end": { + "line": 247 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 137 + }, + "end": { + "line": 138 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 250, + 251 + ], + "inline": false, + "attributes": { + "content": "end React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 250 + }, + "end": { + "line": 251 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 252, + 253 + ], + "inline": false, + "attributes": { + "content": "Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 252 + }, + "end": { + "line": 253 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 253, + 254, + 329, + 330 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 255, + 256, + 257, + 258 + ], + "inline": false, + "attributes": { + "level": "info" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 256, + 257 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 256, + 257 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 256, + 257 + ], + "inline": true, + "attributes": { + "content": "Datadog Session Replay for Flutter is currently in Preview." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 256 + }, + "end": { + "line": 257 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 256 + }, + "end": { + "line": 257 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 256 + }, + "end": { + "line": 257 + } + } + } + ], + "type": "tag", + "tag": "alert", + "annotations": [ + { + "type": "attribute", + "name": "level", + "value": "info" + } + ], + "slots": {}, + "location": { + "start": { + "line": 255 + }, + "end": { + "line": 256 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 259, + 260 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 259, + 260 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 259, + 260 + ], + "inline": true, + "attributes": { + "content": "All Session Replay SDK versions can be found in " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 259 + }, + "end": { + "line": 260 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 259, + 260 + ], + "inline": true, + "attributes": { + "href": "https://pub.dev/packages/datadog_session_replay" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 259, + 260 + ], + "inline": true, + "attributes": { + "content": "Pub" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 259 + }, + "end": { + "line": 260 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 259 + }, + "end": { + "line": 260 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 259, + 260 + ], + "inline": true, + "attributes": { + "content": "." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 259 + }, + "end": { + "line": 260 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 259 + }, + "end": { + "line": 260 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 259 + }, + "end": { + "line": 260 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 261, + 262 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 261, + 262 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 261, + 262 + ], + "inline": true, + "attributes": { + "content": "To set up Datadog Session Replay for Flutter:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 261 + }, + "end": { + "line": 262 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 261 + }, + "end": { + "line": 262 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 261 + }, + "end": { + "line": 262 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 263, + 264 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 263, + 264 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 263, + 264 + ], + "inline": true, + "attributes": { + "content": "Step 1 - Set up the Flutter plugin" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 263 + }, + "end": { + "line": 264 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 263 + }, + "end": { + "line": 264 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 263 + }, + "end": { + "line": 264 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 265, + 266 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 265, + 266 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 265, + 266 + ], + "inline": true, + "attributes": { + "content": "Make sure you have " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 265 + }, + "end": { + "line": 266 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 265, + 266 + ], + "inline": true, + "attributes": { + "href": "https://docs.datadoghq.com/real_user_monitoring/application_monitoring/flutter/setup?tab=rum" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 265, + 266 + ], + "inline": true, + "attributes": { + "content": "set up and initialized the Datadog Flutter Plugin" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 265 + }, + "end": { + "line": 266 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 265 + }, + "end": { + "line": 266 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 265, + 266 + ], + "inline": true, + "attributes": { + "content": "." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 265 + }, + "end": { + "line": 266 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 265 + }, + "end": { + "line": 266 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 265 + }, + "end": { + "line": 266 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 267, + 268 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 267, + 268 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 267, + 268 + ], + "inline": true, + "attributes": { + "content": "Step 2 - Add the package to your " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 267 + }, + "end": { + "line": 268 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 267, + 268 + ], + "inline": true, + "attributes": { + "content": "pubspec.yaml" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 267 + }, + "end": { + "line": 268 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 267 + }, + "end": { + "line": 268 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 267 + }, + "end": { + "line": 268 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 269, + 274 + ], + "inline": false, + "attributes": { + "content": "packages:\n # other packages\n datadog_session_replay: ^x.x.x\n", + "language": "yaml", + "filename": "pubspec.yaml" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 269, + 274 + ], + "inline": false, + "attributes": { + "content": "packages:\n # other packages\n datadog_session_replay: ^x.x.x\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 269 + }, + "end": { + "line": 274 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "pubspec.yaml" + } + ], + "slots": {}, + "location": { + "start": { + "line": 269 + }, + "end": { + "line": 274 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 275, + 276 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 275, + 276 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 275, + 276 + ], + "inline": true, + "attributes": { + "content": "Step 3 - Enable Session Replay in your " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 275 + }, + "end": { + "line": 276 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 275, + 276 + ], + "inline": true, + "attributes": { + "content": "DatadogConfiguration" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 275 + }, + "end": { + "line": 276 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 275 + }, + "end": { + "line": 276 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 275 + }, + "end": { + "line": 276 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 277, + 298 + ], + "inline": false, + "attributes": { + "content": "import 'package:datadog_session_replay/datadog_session_replay.dart';\n\n// ....\nfinal configuration = DatadogConfiguration(\n // Normal Datadog configuration\n clientToken: 'client-token',\n // RUM is required to use Datadog Session Replay\n rumConfiguration: RumConfiguration(\n applicationId: '\n ),\n)..enableSessionReplay(\n DatadogSessionReplayConfiguration(\n // Setup default text, image, and touch privacy\n textAndInputPrivacyLevel: TextAndInputPrivacyLevel.maskSensitiveInputs,\n touchPrivacyLevel: TouchPrivacyLevel.show,\n // Setup session replay sample rate.\n replaySampleRate: 100.0,\n ),\n);\n", + "language": "dart" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 277, + 298 + ], + "inline": false, + "attributes": { + "content": "import 'package:datadog_session_replay/datadog_session_replay.dart';\n\n// ....\nfinal configuration = DatadogConfiguration(\n // Normal Datadog configuration\n clientToken: 'client-token',\n // RUM is required to use Datadog Session Replay\n rumConfiguration: RumConfiguration(\n applicationId: '\n ),\n)..enableSessionReplay(\n DatadogSessionReplayConfiguration(\n // Setup default text, image, and touch privacy\n textAndInputPrivacyLevel: TextAndInputPrivacyLevel.maskSensitiveInputs,\n touchPrivacyLevel: TouchPrivacyLevel.show,\n // Setup session replay sample rate.\n replaySampleRate: 100.0,\n ),\n);\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 277 + }, + "end": { + "line": 298 + } + } + } + ], + "type": "fence", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 277 + }, + "end": { + "line": 298 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 299, + 300 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 299, + 300 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 299, + 300 + ], + "inline": true, + "attributes": { + "content": "Step 4 - Add a SessionReplayCapture to the root of your Widget tree" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 299 + }, + "end": { + "line": 300 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 299 + }, + "end": { + "line": 300 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 299 + }, + "end": { + "line": 300 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 301, + 302 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 301, + 302 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 301, + 302 + ], + "inline": true, + "attributes": { + "content": "Add a SessionReplayCapture widget to the root of your Widget tree, above your MaterialApp or similar application widget." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 301 + }, + "end": { + "line": 302 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 301 + }, + "end": { + "line": 302 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 301 + }, + "end": { + "line": 302 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 303, + 328 + ], + "inline": false, + "attributes": { + "content": "class MyApp extends StatefulWidget {\n const MyApp({super.key});\n\n @override\n State createState() => _MyAppState();\n}\n\nclass _MyAppState extends State {\n // Note a key is required for SessionReplayCapture\n final captureKey = GlobalKey();\n\n // Other App Configuration\n\n @override\n Widget build(BuildContext context) {\n return SessionReplayCapture(\n key: captureKey,\n rum: DatadogSdk.instance.rum!,\n sessionReplay: DatadogSessionReplay.instance!,\n child: MaterialApp.router(color: color, routerConfig: router),\n );\n }\n}\n", + "language": "dart" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 303, + 328 + ], + "inline": false, + "attributes": { + "content": "class MyApp extends StatefulWidget {\n const MyApp({super.key});\n\n @override\n State createState() => _MyAppState();\n}\n\nclass _MyAppState extends State {\n // Note a key is required for SessionReplayCapture\n final captureKey = GlobalKey();\n\n // Other App Configuration\n\n @override\n Widget build(BuildContext context) {\n return SessionReplayCapture(\n key: captureKey,\n rum: DatadogSdk.instance.rum!,\n sessionReplay: DatadogSessionReplay.instance!,\n child: MaterialApp.router(color: color, routerConfig: router),\n );\n }\n}\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 303 + }, + "end": { + "line": 328 + } + } + } + ], + "type": "fence", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 303 + }, + "end": { + "line": 328 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 253 + }, + "end": { + "line": 254 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 330, + 331 + ], + "inline": false, + "attributes": { + "content": "end Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 330 + }, + "end": { + "line": 331 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 332, + 333 + ], + "inline": false, + "attributes": { + "level": 2 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 332, + 333 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 332, + 333 + ], + "inline": true, + "attributes": { + "content": "Web view instrumentation" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 332 + }, + "end": { + "line": 333 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 332 + }, + "end": { + "line": 333 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 332 + }, + "end": { + "line": 333 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 334, + 335 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 334, + 335 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 334, + 335 + ], + "inline": true, + "attributes": { + "content": "You can record the entire user journey across both " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 334 + }, + "end": { + "line": 335 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 334, + 335 + ], + "inline": true, + "attributes": { + "href": "/real_user_monitoring/application_monitoring/ios/web_view_tracking" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 334, + 335 + ], + "inline": true, + "attributes": { + "content": "web and native views" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 334 + }, + "end": { + "line": 335 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 334 + }, + "end": { + "line": 335 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 334, + 335 + ], + "inline": true, + "attributes": { + "content": " on iOS or Android and watch it in a single Session Replay." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 334 + }, + "end": { + "line": 335 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 334 + }, + "end": { + "line": 335 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 334 + }, + "end": { + "line": 335 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 336, + 337 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 336, + 337 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 336, + 337 + ], + "inline": true, + "attributes": { + "content": "The Session Replay is recorded through the Browser SDK, then the Mobile SDK handles the batching and uploading of the webview recording." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 336 + }, + "end": { + "line": 337 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 336 + }, + "end": { + "line": 337 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 336 + }, + "end": { + "line": 337 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 338, + 339 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 338 + }, + "end": { + "line": 339 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 339, + 340, + 346, + 347 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 340, + 341 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 340, + 341 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 340, + 341 + ], + "inline": true, + "attributes": { + "content": "To instrument your consolidated web and native Session Replay views for Android:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 340 + }, + "end": { + "line": 341 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 340 + }, + "end": { + "line": 341 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 340 + }, + "end": { + "line": 341 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 342, + 346 + ], + "inline": false, + "attributes": { + "ordered": true, + "marker": "." + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 342, + 343 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 342, + 343 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 342, + 343 + ], + "inline": true, + "attributes": { + "content": "Ensure you are using version " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 342 + }, + "end": { + "line": 343 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 342, + 343 + ], + "inline": true, + "attributes": { + "href": "https://github.com/DataDog/dd-sdk-android/releases/tag/2.8.0" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 342, + 343 + ], + "inline": true, + "attributes": { + "content": "2.8.0" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 342 + }, + "end": { + "line": 343 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 342 + }, + "end": { + "line": 343 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 342, + 343 + ], + "inline": true, + "attributes": { + "content": " or higher of the Android SDK." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 342 + }, + "end": { + "line": 343 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 342 + }, + "end": { + "line": 343 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 342 + }, + "end": { + "line": 343 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 343, + 344 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 343, + 344 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 343, + 344 + ], + "inline": true, + "attributes": { + "content": "Enable " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 343 + }, + "end": { + "line": 344 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 343, + 344 + ], + "inline": true, + "attributes": { + "href": "/real_user_monitoring/application_monitoring/android/web_view_tracking/?tab=android#instrument-your-web-views" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 343, + 344 + ], + "inline": true, + "attributes": { + "content": "webview tracking" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 343 + }, + "end": { + "line": 344 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 343 + }, + "end": { + "line": 344 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 343, + 344 + ], + "inline": true, + "attributes": { + "content": " for your mobile application." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 343 + }, + "end": { + "line": 344 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 343 + }, + "end": { + "line": 344 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 343 + }, + "end": { + "line": 344 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 344, + 345 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 344, + 345 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 344, + 345 + ], + "inline": true, + "attributes": { + "content": "Enable " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 344 + }, + "end": { + "line": 345 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 344, + 345 + ], + "inline": true, + "attributes": { + "href": "/real_user_monitoring/session_replay/browser/#setup" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 344, + 345 + ], + "inline": true, + "attributes": { + "content": "Session Replay" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 344 + }, + "end": { + "line": 345 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 344 + }, + "end": { + "line": 345 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 344, + 345 + ], + "inline": true, + "attributes": { + "content": " for your web application." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 344 + }, + "end": { + "line": 345 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 344 + }, + "end": { + "line": 345 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 344 + }, + "end": { + "line": 345 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 345, + 346 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 345, + 346 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 345, + 346 + ], + "inline": true, + "attributes": { + "content": "Enable Session Replay for your mobile application (see setup instructions above)." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 345 + }, + "end": { + "line": 346 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 345 + }, + "end": { + "line": 346 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 345 + }, + "end": { + "line": 346 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 342 + }, + "end": { + "line": 346 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 339 + }, + "end": { + "line": 340 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 347, + 348 + ], + "inline": false, + "attributes": { + "content": "end Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 347 + }, + "end": { + "line": 348 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 349, + 350 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 349 + }, + "end": { + "line": 350 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 350, + 351, + 357, + 358 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 351, + 352 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 351, + 352 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 351, + 352 + ], + "inline": true, + "attributes": { + "content": "To instrument your consolidated web and native Session Replay views for iOS:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 351 + }, + "end": { + "line": 352 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 351 + }, + "end": { + "line": 352 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 351 + }, + "end": { + "line": 352 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 353, + 357 + ], + "inline": false, + "attributes": { + "ordered": true, + "marker": "." + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 353, + 354 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 353, + 354 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 353, + 354 + ], + "inline": true, + "attributes": { + "content": "Ensure you are using version " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 353 + }, + "end": { + "line": 354 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 353, + 354 + ], + "inline": true, + "attributes": { + "href": "https://github.com/DataDog/dd-sdk-ios/releases/tag/2.13.0" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 353, + 354 + ], + "inline": true, + "attributes": { + "content": "2.13.0" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 353 + }, + "end": { + "line": 354 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 353 + }, + "end": { + "line": 354 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 353, + 354 + ], + "inline": true, + "attributes": { + "content": " or higher of the iOS SDK." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 353 + }, + "end": { + "line": 354 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 353 + }, + "end": { + "line": 354 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 353 + }, + "end": { + "line": 354 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 354, + 355 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 354, + 355 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 354, + 355 + ], + "inline": true, + "attributes": { + "content": "Enable " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 354 + }, + "end": { + "line": 355 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 354, + 355 + ], + "inline": true, + "attributes": { + "href": "/real_user_monitoring/application_monitoring/ios/web_view_tracking/?tab=ios#instrument-your-web-views" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 354, + 355 + ], + "inline": true, + "attributes": { + "content": "webview tracking" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 354 + }, + "end": { + "line": 355 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 354 + }, + "end": { + "line": 355 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 354, + 355 + ], + "inline": true, + "attributes": { + "content": " for your mobile application." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 354 + }, + "end": { + "line": 355 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 354 + }, + "end": { + "line": 355 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 354 + }, + "end": { + "line": 355 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 355, + 356 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 355, + 356 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 355, + 356 + ], + "inline": true, + "attributes": { + "content": "Enable " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 355 + }, + "end": { + "line": 356 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 355, + 356 + ], + "inline": true, + "attributes": { + "href": "/real_user_monitoring/session_replay/browser/#setup" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 355, + 356 + ], + "inline": true, + "attributes": { + "content": "Session Replay" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 355 + }, + "end": { + "line": 356 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 355 + }, + "end": { + "line": 356 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 355, + 356 + ], + "inline": true, + "attributes": { + "content": " for your web application." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 355 + }, + "end": { + "line": 356 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 355 + }, + "end": { + "line": 356 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 355 + }, + "end": { + "line": 356 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 356, + 357 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 356, + 357 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 356, + 357 + ], + "inline": true, + "attributes": { + "content": "Enable Session Replay for your mobile application (see setup instructions above)." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 356 + }, + "end": { + "line": 357 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 356 + }, + "end": { + "line": 357 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 356 + }, + "end": { + "line": 357 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 353 + }, + "end": { + "line": 357 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 350 + }, + "end": { + "line": 351 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 358, + 359 + ], + "inline": false, + "attributes": { + "content": "end iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 358 + }, + "end": { + "line": 359 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 360, + 361 + ], + "inline": false, + "attributes": { + "content": "Kotlin Multiplatform" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 360 + }, + "end": { + "line": 361 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 361, + 362, + 367, + 368 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "kotlin_multiplatform" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 362, + 363 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 362, + 363 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 362, + 363 + ], + "inline": true, + "attributes": { + "content": "To instrument your consolidated web and native Session Replay views for Kotlin Multiplatform:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 362 + }, + "end": { + "line": 363 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 362 + }, + "end": { + "line": 363 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 362 + }, + "end": { + "line": 363 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 364, + 367 + ], + "inline": false, + "attributes": { + "ordered": true, + "marker": "." + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 364, + 365 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 364, + 365 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 364, + 365 + ], + "inline": true, + "attributes": { + "content": "Enable " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 364 + }, + "end": { + "line": 365 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 364, + 365 + ], + "inline": true, + "attributes": { + "href": "/real_user_monitoring/application_monitoring/kotlin_multiplatform/web_view_tracking/?tab=kotlinmultiplatform#instrument-your-web-views" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 364, + 365 + ], + "inline": true, + "attributes": { + "content": "webview tracking" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 364 + }, + "end": { + "line": 365 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 364 + }, + "end": { + "line": 365 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 364, + 365 + ], + "inline": true, + "attributes": { + "content": " for your mobile application." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 364 + }, + "end": { + "line": 365 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 364 + }, + "end": { + "line": 365 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 364 + }, + "end": { + "line": 365 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 365, + 366 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 365, + 366 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 365, + 366 + ], + "inline": true, + "attributes": { + "content": "Enable " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 365 + }, + "end": { + "line": 366 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 365, + 366 + ], + "inline": true, + "attributes": { + "href": "/real_user_monitoring/session_replay/browser/#setup" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 365, + 366 + ], + "inline": true, + "attributes": { + "content": "Session Replay" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 365 + }, + "end": { + "line": 366 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 365 + }, + "end": { + "line": 366 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 365, + 366 + ], + "inline": true, + "attributes": { + "content": " for your web application." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 365 + }, + "end": { + "line": 366 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 365 + }, + "end": { + "line": 366 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 365 + }, + "end": { + "line": 366 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 366, + 367 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 366, + 367 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 366, + 367 + ], + "inline": true, + "attributes": { + "content": "Enable Session Replay for your mobile application (see setup instructions above)." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 366 + }, + "end": { + "line": 367 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 366 + }, + "end": { + "line": 367 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 366 + }, + "end": { + "line": 367 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 364 + }, + "end": { + "line": 367 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "kotlin_multiplatform" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 361 + }, + "end": { + "line": 362 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 368, + 369 + ], + "inline": false, + "attributes": { + "content": "end Kotlin Multiplatform" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 368 + }, + "end": { + "line": 369 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 370, + 371 + ], + "inline": false, + "attributes": { + "content": "React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 370 + }, + "end": { + "line": 371 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 371, + 372, + 379, + 380 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 372, + 373 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 372, + 373 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 372, + 373 + ], + "inline": true, + "attributes": { + "content": "To instrument your consolidated web and native Session Replay views for React Native:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 372 + }, + "end": { + "line": 373 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 372 + }, + "end": { + "line": 373 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 372 + }, + "end": { + "line": 373 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 374, + 378 + ], + "inline": false, + "attributes": { + "ordered": true, + "marker": "." + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 374, + 375 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 374, + 375 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 374, + 375 + ], + "inline": true, + "attributes": { + "content": "Enable " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 374 + }, + "end": { + "line": 375 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 374, + 375 + ], + "inline": true, + "attributes": { + "href": "/real_user_monitoring/application_monitoring/web_view_tracking/?tab=reactnative#instrument-your-web-views" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 374, + 375 + ], + "inline": true, + "attributes": { + "content": "webview tracking" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 374 + }, + "end": { + "line": 375 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 374 + }, + "end": { + "line": 375 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 374, + 375 + ], + "inline": true, + "attributes": { + "content": " for your React Native application." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 374 + }, + "end": { + "line": 375 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 374 + }, + "end": { + "line": 375 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 374 + }, + "end": { + "line": 375 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 375, + 376 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 375, + 376 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 375, + 376 + ], + "inline": true, + "attributes": { + "content": "Enable " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 375 + }, + "end": { + "line": 376 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 375, + 376 + ], + "inline": true, + "attributes": { + "href": "/real_user_monitoring/session_replay/browser/#setup" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 375, + 376 + ], + "inline": true, + "attributes": { + "content": "Session Replay" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 375 + }, + "end": { + "line": 376 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 375 + }, + "end": { + "line": 376 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 375, + 376 + ], + "inline": true, + "attributes": { + "content": " for your web application." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 375 + }, + "end": { + "line": 376 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 375 + }, + "end": { + "line": 376 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 375 + }, + "end": { + "line": 376 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 376, + 378 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 376, + 377 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 376, + 377 + ], + "inline": true, + "attributes": { + "content": "Enable Session Replay for your mobile application (see setup instructions above)." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 376 + }, + "end": { + "line": 377 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 376 + }, + "end": { + "line": 377 + } + } + } + ], + "type": "item", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 376 + }, + "end": { + "line": 378 + } + } + } + ], + "type": "list", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 374 + }, + "end": { + "line": 378 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 378, + 379 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 378, + 379 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 378, + 379 + ], + "inline": true, + "attributes": { + "marker": "**" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 378, + 379 + ], + "inline": true, + "attributes": { + "content": "Note" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 378 + }, + "end": { + "line": 379 + } + } + } + ], + "type": "strong", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 378 + }, + "end": { + "line": 379 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 378, + 379 + ], + "inline": true, + "attributes": { + "content": ": This feature is not compatible with React Native's " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 378 + }, + "end": { + "line": 379 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 378, + 379 + ], + "inline": true, + "attributes": { + "href": "https://reactnative.dev/architecture/landing-page" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 378, + 379 + ], + "inline": true, + "attributes": { + "content": "New Architecture" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 378 + }, + "end": { + "line": 379 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 378 + }, + "end": { + "line": 379 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 378, + 379 + ], + "inline": true, + "attributes": { + "content": " for Android." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 378 + }, + "end": { + "line": 379 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 378 + }, + "end": { + "line": 379 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 378 + }, + "end": { + "line": 379 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 371 + }, + "end": { + "line": 372 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 380, + 381 + ], + "inline": false, + "attributes": { + "content": "end React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 380 + }, + "end": { + "line": 381 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 382, + 383 + ], + "inline": false, + "attributes": { + "content": "Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 382 + }, + "end": { + "line": 383 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 383, + 384, + 387, + 388 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 385, + 386 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 385, + 386 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 385, + 386 + ], + "inline": true, + "attributes": { + "content": "Datadog Session Replay for Flutter does not currently support Web view capture." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 385 + }, + "end": { + "line": 386 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 385 + }, + "end": { + "line": 386 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 385 + }, + "end": { + "line": 386 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 383 + }, + "end": { + "line": 384 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 388, + 389 + ], + "inline": false, + "attributes": { + "content": "end Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 388 + }, + "end": { + "line": 389 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 390, + 391 + ], + "inline": false, + "attributes": { + "level": 2 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 390, + 391 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 390, + 391 + ], + "inline": true, + "attributes": { + "content": "Additional configuration" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 390 + }, + "end": { + "line": 391 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 390 + }, + "end": { + "line": 391 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 390 + }, + "end": { + "line": 391 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 391, + 392 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 391, + 392 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 391, + 392 + ], + "inline": true, + "attributes": { + "content": "Set the sample rate for recorded sessions to appear" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 391 + }, + "end": { + "line": 392 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 391 + }, + "end": { + "line": 392 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 391 + }, + "end": { + "line": 392 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 393, + 394 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 393, + 394 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 393, + 394 + ], + "inline": true, + "attributes": { + "content": "The sample rate is an optional parameter in the Session Replay configuration. It must be a number between 0.0 and 100.0, where 0 indicates that no replays are recorded and 100 means that all sessions include a replay. If the sample rate is not specified in the configuration, the default value of 100 is applied." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 393 + }, + "end": { + "line": 394 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 393 + }, + "end": { + "line": 394 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 393 + }, + "end": { + "line": 394 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 395, + 396 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 395, + 396 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 395, + 396 + ], + "inline": true, + "attributes": { + "content": "This sample rate is applied in addition to the RUM sample rate. For example, if RUM uses a sample rate of 80% and Session Replay uses a sample rate of 20%, it means that out of all user sessions, 80% are included in RUM, and within those sessions, only 20% have replays." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 395 + }, + "end": { + "line": 396 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 395 + }, + "end": { + "line": 396 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 395 + }, + "end": { + "line": 396 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 397, + 398 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 397 + }, + "end": { + "line": 398 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 398, + 399, + 404, + 405 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 399, + 404 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder()\n ...\n .build()\n", + "language": "kotlin", + "filename": "Application.kt" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 399, + 404 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder()\n ...\n .build()\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 399 + }, + "end": { + "line": 404 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "Application.kt" + } + ], + "slots": {}, + "location": { + "start": { + "line": 399 + }, + "end": { + "line": 404 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 398 + }, + "end": { + "line": 399 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 405, + 406 + ], + "inline": false, + "attributes": { + "content": "end Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 405 + }, + "end": { + "line": 406 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 407, + 408 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 407 + }, + "end": { + "line": 408 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 408, + 409, + 414, + 415 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 409, + 414 + ], + "inline": false, + "attributes": { + "content": "var sessionReplayConfig = SessionReplay.Configuration(\n replaySampleRate: \n)\n", + "language": "swift", + "filename": "AppDelegate.swift" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 409, + 414 + ], + "inline": false, + "attributes": { + "content": "var sessionReplayConfig = SessionReplay.Configuration(\n replaySampleRate: \n)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 409 + }, + "end": { + "line": 414 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "AppDelegate.swift" + } + ], + "slots": {}, + "location": { + "start": { + "line": 409 + }, + "end": { + "line": 414 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 408 + }, + "end": { + "line": 409 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 415, + 416 + ], + "inline": false, + "attributes": { + "content": "end iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 415 + }, + "end": { + "line": 416 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 417, + 418 + ], + "inline": false, + "attributes": { + "content": "Kotlin Multiplatform" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 417 + }, + "end": { + "line": 418 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 418, + 419, + 424, + 425 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "kotlin_multiplatform" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 419, + 424 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder()\n ...\n .build()\n", + "language": "kotlin", + "filename": "Application.kt" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 419, + 424 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder()\n ...\n .build()\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 419 + }, + "end": { + "line": 424 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "Application.kt" + } + ], + "slots": {}, + "location": { + "start": { + "line": 419 + }, + "end": { + "line": 424 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "kotlin_multiplatform" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 418 + }, + "end": { + "line": 419 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 425, + 426 + ], + "inline": false, + "attributes": { + "content": "end Kotlin Multiplatform" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 425 + }, + "end": { + "line": 426 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 427, + 428 + ], + "inline": false, + "attributes": { + "content": "React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 427 + }, + "end": { + "line": 428 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 428, + 429, + 436, + 437 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 429, + 436 + ], + "inline": false, + "attributes": { + "content": "import { SessionReplay } from \"@datadog/mobile-react-native-session-replay\";\n\nSessionReplay.enable({\n replaySampleRate: \n});\n", + "language": "typescript", + "filename": "App.tsx" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 429, + 436 + ], + "inline": false, + "attributes": { + "content": "import { SessionReplay } from \"@datadog/mobile-react-native-session-replay\";\n\nSessionReplay.enable({\n replaySampleRate: \n});\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 429 + }, + "end": { + "line": 436 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "App.tsx" + } + ], + "slots": {}, + "location": { + "start": { + "line": 429 + }, + "end": { + "line": 436 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 428 + }, + "end": { + "line": 429 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 437, + 438 + ], + "inline": false, + "attributes": { + "content": "end React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 437 + }, + "end": { + "line": 438 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 439, + 440 + ], + "inline": false, + "attributes": { + "content": "Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 439 + }, + "end": { + "line": 440 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 440, + 441, + 450, + 451 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 441, + 450 + ], + "inline": false, + "attributes": { + "content": "final configuration = DatadogConfiguration(\n // ...\n)..enableSessionReplay(\n DatadogSessionReplayConfiguration(\n replaySampleRate: \n )\n);\n", + "language": "dart" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 441, + 450 + ], + "inline": false, + "attributes": { + "content": "final configuration = DatadogConfiguration(\n // ...\n)..enableSessionReplay(\n DatadogSessionReplayConfiguration(\n replaySampleRate: \n )\n);\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 441 + }, + "end": { + "line": 450 + } + } + } + ], + "type": "fence", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 441 + }, + "end": { + "line": 450 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 440 + }, + "end": { + "line": 441 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 451, + 452 + ], + "inline": false, + "attributes": { + "content": "end Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 451 + }, + "end": { + "line": 452 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 454, + 455 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 454, + 455 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 454, + 455 + ], + "inline": true, + "attributes": { + "content": "Start or stop the recording manually" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 454 + }, + "end": { + "line": 455 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 454 + }, + "end": { + "line": 455 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 454 + }, + "end": { + "line": 455 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 456, + 457 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 456, + 457 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 456, + 457 + ], + "inline": true, + "attributes": { + "content": "By default, Session Replay starts recording automatically. However, if you prefer to manually start recording at a specific point in your application, you can use the optional " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 456 + }, + "end": { + "line": 457 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 456, + 457 + ], + "inline": true, + "attributes": { + "content": "startRecordingImmediately" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 456 + }, + "end": { + "line": 457 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 456, + 457 + ], + "inline": true, + "attributes": { + "content": " parameter as shown below, and later call " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 456 + }, + "end": { + "line": 457 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 456, + 457 + ], + "inline": true, + "attributes": { + "content": "SessionReplay.startRecording()" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 456 + }, + "end": { + "line": 457 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 456, + 457 + ], + "inline": true, + "attributes": { + "content": ". You can also use " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 456 + }, + "end": { + "line": 457 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 456, + 457 + ], + "inline": true, + "attributes": { + "content": "SessionReplay.stopRecording()" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 456 + }, + "end": { + "line": 457 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 456, + 457 + ], + "inline": true, + "attributes": { + "content": " to stop the recording anytime." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 456 + }, + "end": { + "line": 457 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 456 + }, + "end": { + "line": 457 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 456 + }, + "end": { + "line": 457 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 458, + 459 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 458 + }, + "end": { + "line": 459 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 459, + 460, + 468, + 469 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 460, + 468 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder()\n .startRecordingImmediately(false)\n .build()\n// Do something\nSessionReplay.startRecording()\nSessionReplay.stopRecording()\n", + "language": "kotlin", + "filename": "Application.kt" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 460, + 468 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder()\n .startRecordingImmediately(false)\n .build()\n// Do something\nSessionReplay.startRecording()\nSessionReplay.stopRecording()\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 460 + }, + "end": { + "line": 468 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "Application.kt" + } + ], + "slots": {}, + "location": { + "start": { + "line": 460 + }, + "end": { + "line": 468 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 459 + }, + "end": { + "line": 460 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 469, + 470 + ], + "inline": false, + "attributes": { + "content": "end Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 469 + }, + "end": { + "line": 470 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 471, + 472 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 471 + }, + "end": { + "line": 472 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 472, + 473, + 483, + 484 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 473, + 483 + ], + "inline": false, + "attributes": { + "content": "let sessionReplayConfig = SessionReplay.Configuration(\n replaySampleRate: ,\n startRecordingImmediately: false\n)\n\n// Do something\nSessionReplay.startRecording()\nSessionReplay.stopRecording()\n", + "language": "swift", + "filename": "AppDelegate.swift" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 473, + 483 + ], + "inline": false, + "attributes": { + "content": "let sessionReplayConfig = SessionReplay.Configuration(\n replaySampleRate: ,\n startRecordingImmediately: false\n)\n\n// Do something\nSessionReplay.startRecording()\nSessionReplay.stopRecording()\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 473 + }, + "end": { + "line": 483 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "AppDelegate.swift" + } + ], + "slots": {}, + "location": { + "start": { + "line": 473 + }, + "end": { + "line": 483 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 472 + }, + "end": { + "line": 473 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 484, + 485 + ], + "inline": false, + "attributes": { + "content": "end iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 484 + }, + "end": { + "line": 485 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 486, + 487 + ], + "inline": false, + "attributes": { + "content": "Kotlin Multiplatform" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 486 + }, + "end": { + "line": 487 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 487, + 488, + 497, + 498 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "kotlin_multiplatform" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 488, + 497 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder()\n .startRecordingImmediately(false)\n .build()\n\n// Do something\nSessionReplay.startRecording()\nSessionReplay.stopRecording()\n", + "language": "kotlin", + "filename": "Application.kt" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 488, + 497 + ], + "inline": false, + "attributes": { + "content": "val sessionReplayConfig = SessionReplayConfiguration.Builder()\n .startRecordingImmediately(false)\n .build()\n\n// Do something\nSessionReplay.startRecording()\nSessionReplay.stopRecording()\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 488 + }, + "end": { + "line": 497 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "Application.kt" + } + ], + "slots": {}, + "location": { + "start": { + "line": 488 + }, + "end": { + "line": 497 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "kotlin_multiplatform" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 487 + }, + "end": { + "line": 488 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 498, + 499 + ], + "inline": false, + "attributes": { + "content": "end Kotlin Multiplatform" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 498 + }, + "end": { + "line": 499 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 500, + 501 + ], + "inline": false, + "attributes": { + "content": "React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 500 + }, + "end": { + "line": 501 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 501, + 502, + 513, + 514 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 502, + 513 + ], + "inline": false, + "attributes": { + "content": "import { SessionReplay } from \"@datadog/mobile-react-native-session-replay\";\n\nSessionReplay.enable({\n replaySampleRate: sampleRate,\n startRecordingImmediately: false\n});\n// Do something\nSessionReplay.startRecording();\nSessionReplay.stopRecording();\n", + "language": "typescript", + "filename": "App.tsx" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 502, + 513 + ], + "inline": false, + "attributes": { + "content": "import { SessionReplay } from \"@datadog/mobile-react-native-session-replay\";\n\nSessionReplay.enable({\n replaySampleRate: sampleRate,\n startRecordingImmediately: false\n});\n// Do something\nSessionReplay.startRecording();\nSessionReplay.stopRecording();\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 502 + }, + "end": { + "line": 513 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "App.tsx" + } + ], + "slots": {}, + "location": { + "start": { + "line": 502 + }, + "end": { + "line": 513 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 501 + }, + "end": { + "line": 502 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 514, + 515 + ], + "inline": false, + "attributes": { + "content": "end React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 514 + }, + "end": { + "line": 515 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 516, + 517 + ], + "inline": false, + "attributes": { + "content": "Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 516 + }, + "end": { + "line": 517 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 517, + 518, + 521, + 522 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 519, + 520 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 519, + 520 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 519, + 520 + ], + "inline": true, + "attributes": { + "content": "Datadog Session Replay for Flutter does not currently support manual recording." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 519 + }, + "end": { + "line": 520 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 519 + }, + "end": { + "line": 520 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 519 + }, + "end": { + "line": 520 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 517 + }, + "end": { + "line": 518 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 522, + 523 + ], + "inline": false, + "attributes": { + "content": "end Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 522 + }, + "end": { + "line": 523 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 524, + 525 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 524, + 525 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 524, + 525 + ], + "inline": true, + "attributes": { + "content": "Validate whether Session Replay data is being sent" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 524 + }, + "end": { + "line": 525 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 524 + }, + "end": { + "line": 525 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 524 + }, + "end": { + "line": 525 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 526, + 527 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 526, + 527 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 526, + 527 + ], + "inline": true, + "attributes": { + "content": "To validate whether Session Replay data is being sent from the app, you can enable debug option in Datadog SDK." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 526 + }, + "end": { + "line": 527 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 526 + }, + "end": { + "line": 527 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 526 + }, + "end": { + "line": 527 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 528, + 529 + ], + "inline": false, + "attributes": { + "content": "Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 528 + }, + "end": { + "line": 529 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 529, + 530, + 533, + 534 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 530, + 533 + ], + "inline": false, + "attributes": { + "content": "Datadog.setVerbosity(Log.DEBUG)\n", + "language": "kotlin", + "filename": "Application.kt" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 530, + 533 + ], + "inline": false, + "attributes": { + "content": "Datadog.setVerbosity(Log.DEBUG)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 530 + }, + "end": { + "line": 533 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "Application.kt" + } + ], + "slots": {}, + "location": { + "start": { + "line": 530 + }, + "end": { + "line": 533 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "android" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 529 + }, + "end": { + "line": 530 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 534, + 535 + ], + "inline": false, + "attributes": { + "content": "end Android" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 534 + }, + "end": { + "line": 535 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 536, + 537 + ], + "inline": false, + "attributes": { + "content": "iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 536 + }, + "end": { + "line": 537 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 537, + 538, + 548, + 549 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 538, + 541 + ], + "inline": false, + "attributes": { + "content": "Datadog.verbosityLevel = .debug\n", + "language": "swift", + "filename": "AppDelegate.swift" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 538, + 541 + ], + "inline": false, + "attributes": { + "content": "Datadog.verbosityLevel = .debug\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 538 + }, + "end": { + "line": 541 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "AppDelegate.swift" + } + ], + "slots": {}, + "location": { + "start": { + "line": 538 + }, + "end": { + "line": 541 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 542, + 543 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 542, + 543 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 542, + 543 + ], + "inline": true, + "attributes": { + "content": "If everything is fine, following logs should appear in the Xcode debug console in about 30 seconds after launching the app:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 542 + }, + "end": { + "line": 543 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 542 + }, + "end": { + "line": 543 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 542 + }, + "end": { + "line": 543 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 544, + 548 + ], + "inline": false, + "attributes": { + "content": "[DATADOG SDK] 🐶 → 10:21:29.812 ⏳ (session-replay) Uploading batch...\n[DATADOG SDK] 🐶 → 10:21:30.442 → (session-replay) accepted, won't be retransmitted: [response code: 202 (accepted), request ID: BD445EA-...-8AFCD3F3D16]\n", + "language": "bash", + "filename": "Xcode console" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 544, + 548 + ], + "inline": false, + "attributes": { + "content": "[DATADOG SDK] 🐶 → 10:21:29.812 ⏳ (session-replay) Uploading batch...\n[DATADOG SDK] 🐶 → 10:21:30.442 → (session-replay) accepted, won't be retransmitted: [response code: 202 (accepted), request ID: BD445EA-...-8AFCD3F3D16]\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 544 + }, + "end": { + "line": 548 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "Xcode console" + } + ], + "slots": {}, + "location": { + "start": { + "line": 544 + }, + "end": { + "line": 548 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "ios" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 537 + }, + "end": { + "line": 538 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 549, + 550 + ], + "inline": false, + "attributes": { + "content": "end iOS" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 549 + }, + "end": { + "line": 550 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 551, + 552 + ], + "inline": false, + "attributes": { + "content": "Kotlin Multiplatform" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 551 + }, + "end": { + "line": 552 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 552, + 553, + 556, + 557 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "kotlin_multiplatform" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 553, + 556 + ], + "inline": false, + "attributes": { + "content": "Datadog.setVerbosity(SdkLogVerbosity.DEBUG)\n", + "language": "kotlin", + "filename": "Application.kt" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 553, + 556 + ], + "inline": false, + "attributes": { + "content": "Datadog.setVerbosity(SdkLogVerbosity.DEBUG)\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 553 + }, + "end": { + "line": 556 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "Application.kt" + } + ], + "slots": {}, + "location": { + "start": { + "line": 553 + }, + "end": { + "line": 556 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "kotlin_multiplatform" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 552 + }, + "end": { + "line": 553 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 557, + 558 + ], + "inline": false, + "attributes": { + "content": "end Kotlin Multiplatform" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 557 + }, + "end": { + "line": 558 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 559, + 560 + ], + "inline": false, + "attributes": { + "content": "React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 559 + }, + "end": { + "line": 560 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 560, + 561, + 570, + 571 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 561, + 562 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 561, + 562 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 561, + 562 + ], + "inline": true, + "attributes": { + "content": "Set the verbosity to " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 561 + }, + "end": { + "line": 562 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 561, + 562 + ], + "inline": true, + "attributes": { + "content": "DEBUG" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 561 + }, + "end": { + "line": 562 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 561, + 562 + ], + "inline": true, + "attributes": { + "content": " when you initialize the SDK:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 561 + }, + "end": { + "line": 562 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 561 + }, + "end": { + "line": 562 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 561 + }, + "end": { + "line": 562 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 563, + 570 + ], + "inline": false, + "attributes": { + "content": "import { SdkVerbosity } from \"@datadog/mobile-react-native\";\n\n...\n\nconfig.verbosity = SdkVerbosity.DEBUG;\n", + "language": "typescript", + "filename": "App.tsx" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 563, + 570 + ], + "inline": false, + "attributes": { + "content": "import { SdkVerbosity } from \"@datadog/mobile-react-native\";\n\n...\n\nconfig.verbosity = SdkVerbosity.DEBUG;\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 563 + }, + "end": { + "line": 570 + } + } + } + ], + "type": "fence", + "annotations": [ + { + "type": "attribute", + "name": "filename", + "value": "App.tsx" + } + ], + "slots": {}, + "location": { + "start": { + "line": 563 + }, + "end": { + "line": 570 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "react_native" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 560 + }, + "end": { + "line": 561 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 571, + 572 + ], + "inline": false, + "attributes": { + "content": "end React Native" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 571 + }, + "end": { + "line": 572 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 573, + 574 + ], + "inline": false, + "attributes": { + "content": "Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 573 + }, + "end": { + "line": 574 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 574, + 575, + 580, + 581 + ], + "inline": false, + "attributes": { + "primary": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 575, + 576 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 575, + 576 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 575, + 576 + ], + "inline": true, + "attributes": { + "content": "Set the SDKs verbosity to " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 575 + }, + "end": { + "line": 576 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 575, + 576 + ], + "inline": true, + "attributes": { + "content": "CoreLoggerLevel.debug" + }, + "children": [], + "type": "code", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 575 + }, + "end": { + "line": 576 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 575, + 576 + ], + "inline": true, + "attributes": { + "content": " before you initialize the SDK:" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 575 + }, + "end": { + "line": 576 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 575 + }, + "end": { + "line": 576 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 575 + }, + "end": { + "line": 576 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 577, + 580 + ], + "inline": false, + "attributes": { + "content": "DatadogSdk.instance.sdkVerbosity = CoreLoggerLevel.debug;\n", + "language": "dart" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 577, + 580 + ], + "inline": false, + "attributes": { + "content": "DatadogSdk.instance.sdkVerbosity = CoreLoggerLevel.debug;\n" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 577 + }, + "end": { + "line": 580 + } + } + } + ], + "type": "fence", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 577 + }, + "end": { + "line": 580 + } + } + } + ], + "type": "tag", + "tag": "if", + "annotations": [ + { + "type": "attribute", + "name": "primary", + "value": { + "$$mdtype": "Function", + "name": "equals", + "parameters": { + "0": { + "$$mdtype": "Variable", + "path": [ + "platform" + ] + }, + "1": "flutter" + } + } + } + ], + "slots": {}, + "location": { + "start": { + "line": 574 + }, + "end": { + "line": 575 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 581, + 582 + ], + "inline": false, + "attributes": { + "content": "end Flutter" + }, + "children": [], + "type": "comment", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 581 + }, + "end": { + "line": 582 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 583, + 584 + ], + "inline": false, + "attributes": { + "level": 3 + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 583, + 584 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 583, + 584 + ], + "inline": true, + "attributes": { + "content": "Privacy options" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 583 + }, + "end": { + "line": 584 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 583 + }, + "end": { + "line": 584 + } + } + } + ], + "type": "heading", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 583 + }, + "end": { + "line": 584 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 585, + 586 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 585, + 586 + ], + "inline": false, + "attributes": {}, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 585, + 586 + ], + "inline": true, + "attributes": { + "content": "See " + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 585 + }, + "end": { + "line": 586 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 585, + 586 + ], + "inline": true, + "attributes": { + "href": "/real_user_monitoring/session_replay/mobile/privacy_options" + }, + "children": [ + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 585, + 586 + ], + "inline": true, + "attributes": { + "content": "Privacy Options" + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 585 + }, + "end": { + "line": 586 + } + } + } + ], + "type": "link", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 585 + }, + "end": { + "line": 586 + } + } + }, + { + "$$mdtype": "Node", + "errors": [], + "lines": [ + 585, + 586 + ], + "inline": true, + "attributes": { + "content": "." + }, + "children": [], + "type": "text", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 585 + }, + "end": { + "line": 586 + } + } + } + ], + "type": "inline", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 585 + }, + "end": { + "line": 586 + } + } + } + ], + "type": "paragraph", + "annotations": [], + "slots": {}, + "location": { + "start": { + "line": 585 + }, + "end": { + "line": 586 + } + } + } + ], + "type": "document", + "annotations": [], + "slots": {} +} \ No newline at end of file