diff --git a/.gitignore b/.gitignore index c3ff0734ed..f1431f8117 100644 --- a/.gitignore +++ b/.gitignore @@ -303,6 +303,22 @@ twp.json # Android **/.cxx/* +### CMake ### +CMakeLists.txt.user +CMakeCache.txt +CMakeFiles +CMakeScripts +Testing +Makefile +cmake_install.cmake +install_manifest.txt +compile_commands.json +CTestTestfile.cmake +_deps + +### CMake Patch ### +# External projects +*-prefix/ # Image folder source/qml/Samples/QmlVisualizer/Images diff --git a/.pipelines/android-release.yml b/.pipelines/android-release.yml index 97fbcdd1a8..0860159021 100644 --- a/.pipelines/android-release.yml +++ b/.pipelines/android-release.yml @@ -21,6 +21,7 @@ parameters: type: string default: beta.1 + variables: - group: AdaptiveCards-KVLink - name: AC_FULL_VERSION_SPECIFIED diff --git a/.pipelines/clang-format-ci.yml b/.pipelines/clang-format-ci.yml index ce02de6555..7c4e6cb52c 100644 --- a/.pipelines/clang-format-ci.yml +++ b/.pipelines/clang-format-ci.yml @@ -11,7 +11,7 @@ pool: steps: - task: NodeTool@0 inputs: - versionSpec: '14.x' + versionSpec: '18.x' displayName: 'Install Node.js' - script: | diff --git a/.pipelines/js-ci.yml b/.pipelines/js-ci.yml index 5c922a67d9..cd3c187d78 100644 --- a/.pipelines/js-ci.yml +++ b/.pipelines/js-ci.yml @@ -41,6 +41,17 @@ parameters: - unit-tests steps: +- task: NodeTool@0 + name: NodeTool1 + displayName: Use Node 14.x + inputs: + versionSpec: 14.x + +- bash: | + npm install -g npm@8.11.0 + workingDirectory: source/nodejs + displayName: 'Bash - npm install -g npm 8.11.0' + - bash: | npm ci npx lerna bootstrap --ci diff --git a/.pipelines/templates/ios-build-template.yml b/.pipelines/templates/ios-build-template.yml index 8ae3f24c10..b3274896a5 100644 --- a/.pipelines/templates/ios-build-template.yml +++ b/.pipelines/templates/ios-build-template.yml @@ -28,10 +28,11 @@ steps: actions: 'build' xcWorkspacePath: 'source/ios/AdaptiveCards/AdaptiveCards.xcworkspace' scheme: 'ADCIOSVisualizer' - xcodeVersion: '12' + xcodeVersion: 'default' packageApp: ${{ parameters.packageApp }} signingOption: ${{ parameters.signingOption }} sdk: ${{ parameters.sdk }} configuration: ${{ parameters.configuration }} destinationPlatformOption: 'iOS' destinationSimulators: 'iPhone 12' + useXcpretty: false diff --git a/.pipelines/templates/ios-install-cert-template.yml b/.pipelines/templates/ios-install-cert-template.yml index 1e5aa0e6dc..9dad8022e4 100644 --- a/.pipelines/templates/ios-install-cert-template.yml +++ b/.pipelines/templates/ios-install-cert-template.yml @@ -10,7 +10,7 @@ steps: displayName: 'Install Provisioning Profile' inputs: provisioningProfileLocation: 'secureFiles' - provProfileSecureFile: '025544d3-4a64-49d0-8e76-29f3ddd185ae.mobileprovision' + provProfileSecureFile: '983e1796-30e0-48a7-9453-c305e1b94259.mobileprovision' - template: ios-build-template.yml parameters: diff --git a/.pipelines/templates/uwp-download-secure-files.yml b/.pipelines/templates/uwp-download-secure-files.yml new file mode 100644 index 0000000000..53cb772f73 --- /dev/null +++ b/.pipelines/templates/uwp-download-secure-files.yml @@ -0,0 +1,40 @@ +steps: + - task: DownloadSecureFile@1 + name: acTestAppTempKey + displayName: 'Download TestApp Temporary Key' + inputs: + secureFile: 'AdaptiveCardTestApp_TemporaryKey.pfx' + + - task: DownloadSecureFile@1 + name: perfAppTempKey + displayName: 'Download PerfApp Temporary Key' + inputs: + secureFile: 'PerfApp_TemporaryKey.pfx' + + - task: DownloadSecureFile@1 + name: uwpUiTestAppTempKey + displayName: 'Download UWPUITestApp Temporary Key' + inputs: + secureFile: 'UWPUITestApp_TemporaryKey.pfx' + + - task: DownloadSecureFile@1 + name: uwpUnitTestsTempKey + displayName: 'Download UWPUnitTests Temporary Key' + inputs: + secureFile: 'UWPUnitTests_TemporaryKey.pfx' + + - task: DownloadSecureFile@1 + name: acVisualizerTempKey + displayName: 'Download AdaptiveCardVisualizer Temporary Key' + inputs: + secureFile: 'AdaptiveCardVisualizer_TemporaryKey.pfx' + + - task: PowerShell@2 + inputs: + targetType: 'inline' + script: | + Move-Item -Path $(acTestAppTempKey.secureFilePath) -Destination '$(Build.SourcesDirectory)/source/uwp/AdaptiveCardTestApp/AdaptiveCardTestApp_TemporaryKey.pfx' + Move-Item -Path $(perfAppTempKey.secureFilePath) -Destination '$(Build.SourcesDirectory)/source/uwp/PerfApp/PerfApp_TemporaryKey.pfx' + Move-Item -Path $(uwpUiTestAppTempKey.secureFilePath) -Destination '$(Build.SourcesDirectory)/source/uwp/UWPUITestApp/UWPUITestApp_TemporaryKey.pfx' + Move-Item -Path $(uwpUnitTestsTempKey.secureFilePath) -Destination '$(Build.SourcesDirectory)/source/uwp/UWPUnitTests/UWPUnitTests_TemporaryKey.pfx' + Move-Item -Path $(acVisualizerTempKey.secureFilePath) -Destination '$(Build.SourcesDirectory)/source/uwp/Visualizer/AdaptiveCardVisualizer_TemporaryKey.pfx' \ No newline at end of file diff --git a/.pipelines/uwp-ci.yml b/.pipelines/uwp-ci.yml index 086a4a2662..367a7d6b76 100644 --- a/.pipelines/uwp-ci.yml +++ b/.pipelines/uwp-ci.yml @@ -25,6 +25,8 @@ pool: vmImage: windows-2019 steps: +- template: templates/uwp-download-secure-files.yml + - task: NuGetToolInstaller@0 name: NuGetToolInstaller1 displayName: Use NuGet 5.x @@ -37,6 +39,7 @@ steps: inputs: solution: $(solution) selectOrConfig: config + nugetConfigPath: source/nuget.config verbosity: '-' - task: VSBuild@1 diff --git a/.pipelines/winui3-ci.yml b/.pipelines/winui3-ci.yml new file mode 100644 index 0000000000..cfd40e4969 --- /dev/null +++ b/.pipelines/winui3-ci.yml @@ -0,0 +1,57 @@ +name: $(Year:yy).$(Month).$(DayOfMonth).$(rev:r) + +pr: + branches: + include: + - main + - feature/* + - release/* + +trigger: + branches: + include: + - main + - feature/* + - release/* + batch: True + +variables: + solution: source/uwp/winui3/AdaptiveCards.sln + buildConfiguration: Release + buildPlatform: x64 + +pool: + name: Azure Pipelines + vmImage: windows-2019 + +steps: +- task: NuGetToolInstaller@1 + name: NuGetToolInstaller1 + displayName: Use NuGet 6.4.x + inputs: + versionSpec: 6.4.x + +- task: NuGetAuthenticate@1 + name: NuGetAuthenticate2 + +- task: NuGetRestore@1 + name: NuGetCommand3 + displayName: NuGet restore + inputs: + solution: $(solution) + selectOrConfig: config + nugetConfigPath: source/uwp/winui3/nuget.config + verbosity: '-' + +- task: VSBuild@1 + name: VSBuild4 + displayName: Build solution + inputs: + solution: $(solution) + vsVersion: 16.0 + platform: $(buildPlatform) + configuration: $(buildConfiguration) + maximumCpuCount: true + createLogFile: true + logFileVerbosity: detailed + diff --git a/.vscode/settings.json b/.vscode/settings.json index 3597a2695d..acae131dc2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -11,5 +11,77 @@ "runningStatusMessage": "Updating specs...", "finishStatusMessage": "Updated specs!" } - ] + ], + "files.associations": { + "__debug": "cpp", + "__locale": "cpp", + "atomic": "cpp", + "bitset": "cpp", + "functional": "cpp", + "iterator": "cpp", + "memory_resource": "cpp", + "string": "cpp", + "initializer_list": "cpp", + "ios": "cpp", + "iosfwd": "cpp", + "istream": "cpp", + "limits": "cpp", + "locale": "cpp", + "new": "cpp", + "ostream": "cpp", + "sstream": "cpp", + "streambuf": "cpp", + "typeinfo": "cpp", + "vector": "cpp", + "__bit_reference": "cpp", + "__config": "cpp", + "__errc": "cpp", + "__hash_table": "cpp", + "__mutex_base": "cpp", + "__node_handle": "cpp", + "__split_buffer": "cpp", + "__threading_support": "cpp", + "__tree": "cpp", + "__verbose_abort": "cpp", + "array": "cpp", + "cctype": "cpp", + "charconv": "cpp", + "clocale": "cpp", + "cmath": "cpp", + "codecvt": "cpp", + "complex": "cpp", + "cstdarg": "cpp", + "cstddef": "cpp", + "cstdint": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "cstring": "cpp", + "ctime": "cpp", + "cwchar": "cpp", + "cwctype": "cpp", + "deque": "cpp", + "exception": "cpp", + "fstream": "cpp", + "iomanip": "cpp", + "iostream": "cpp", + "list": "cpp", + "map": "cpp", + "mutex": "cpp", + "optional": "cpp", + "ratio": "cpp", + "regex": "cpp", + "set": "cpp", + "stack": "cpp", + "stdexcept": "cpp", + "string_view": "cpp", + "system_error": "cpp", + "thread": "cpp", + "tuple": "cpp", + "typeindex": "cpp", + "unordered_map": "cpp", + "unordered_set": "cpp", + "variant": "cpp", + "algorithm": "cpp", + "__memory": "cpp" + } } diff --git a/README.md b/README.md index f796c53cd9..4b733217fe 100644 --- a/README.md +++ b/README.md @@ -29,6 +29,26 @@ PS: Latest Build Status is against `main` branch. | iOS | [![CocoaPods](https://img.shields.io/cocoapods/v/AdaptiveCards.svg)](https://cocoapods.org/pods/AdaptiveCards) | [Source](https://github.com/Microsoft/AdaptiveCards/tree/main/source/ios) | [Docs](https://docs.microsoft.com/en-us/adaptive-cards/display/libraries/ios) | ![Build status](https://img.shields.io/azure-devops/build/Microsoft/56cf629e-8f3a-4412-acbc-bf69366c552c/37917/main.svg) | | Card Designer | [![npm install](https://img.shields.io/npm/v/adaptivecards-designer.svg)](https://www.npmjs.com/package/adaptivecards-designer) | [Source](https://github.com/Microsoft/AdaptiveCards/tree/main/source/nodejs/adaptivecards-designer)| [Docs](https://www.npmjs.com/package/adaptivecards-designer) | ![Build Status](https://img.shields.io/azure-devops/build/Microsoft/56cf629e-8f3a-4412-acbc-bf69366c552c/20564/main.svg) | +## Release schedule + +We release the Adaptive Cards products on the third week of each month, assuming there are updates. Please see the table below for the most recent and upcoming release dates. + +|Product|Last Release Date|Next Release Date| +|---|---|---| +|Website|4/21/2023|7/17/2023| +|Designer|1/31/2023|7/17/2023| +|JavaScript Renderer|6/23/2023|7/17/2023| +|JavaScript Renderer Beta|4/9/2023|7/17/2023| +|JavaScript Templating|9/16/2022|7/17/2023| +|XAML Renderer|3/23/2023|7/17/2023| +|XAML Object Model|3/22/2023|7/17/2023| +|WinUI 3 Renderer|6/29/2023|7/17/2023| +|WinUI 3 Object Model|5/12/2023|7/17/2023| +|.NET Renderer|12/1/2022|7/17/2023| +|.NET Templating|3/7/2023|7/17/2023| + +**Note:** These release dates are subject to change based on availability and active development of each product. + ## Code format We require the C++ code inside this project to follow the clang-format. If you change them, please make sure your changed files are formatted correctly. diff --git a/custom.props b/custom.props index a24ca7b33c..5ecc64a300 100644 --- a/custom.props +++ b/custom.props @@ -2,9 +2,9 @@ 1 - 1 + 2 - 1.1.0 + 1.2.0 AdaptiveCards diff --git a/samples/ConsolidatedElementSamples/Input.Toggle.json b/samples/ConsolidatedElementSamples/Input.Toggle.json index 13516a2784..2a39d3d32c 100644 --- a/samples/ConsolidatedElementSamples/Input.Toggle.json +++ b/samples/ConsolidatedElementSamples/Input.Toggle.json @@ -1,7 +1,7 @@ { "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", - "version": "1.0", + "version": "1.3", "body": [ { "type": "Input.Toggle", diff --git a/samples/Templates/Scenarios/ActivityUpdate.template.json b/samples/Templates/Scenarios/ActivityUpdate.template.json index c76644bded..76c857a910 100644 --- a/samples/Templates/Scenarios/ActivityUpdate.template.json +++ b/samples/Templates/Scenarios/ActivityUpdate.template.json @@ -93,7 +93,8 @@ { "type": "Action.OpenUrl", "title": "View", - "url": "${viewUrl}" + "url": "${viewUrl}", + "role": "button" } ], "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", diff --git a/samples/Templates/Scenarios/FlightDetails.template.json b/samples/Templates/Scenarios/FlightDetails.template.json index 0fa14ed6d8..0b96a7b89d 100644 --- a/samples/Templates/Scenarios/FlightDetails.template.json +++ b/samples/Templates/Scenarios/FlightDetails.template.json @@ -86,20 +86,7 @@ "wrap": true } ], - "width": "auto" - }, - { - "type": "Column", - "verticalContentAlignment": "center", - "items": [ - { - "type": "Image", - "url": "https://messagecardplayground.azurewebsites.net/assets/graydot2x2.png", - "width": "10000px", - "height": "2px" - } - ], - "width": "stretch" + "width": "1" }, { "type": "Column", @@ -109,7 +96,8 @@ { "type": "Image", "url": "https://messagecardplayground.azurewebsites.net/assets/smallairplane.png", - "height": "16px" + "height": "16px", + "altText": "Flight to" } ], "width": "auto" @@ -126,7 +114,7 @@ "wrap": true } ], - "width": "auto" + "width": "1" } ] }, diff --git a/samples/Templates/Scenarios/FlightUpdateTable.template.json b/samples/Templates/Scenarios/FlightUpdateTable.template.json index 4d770b502b..cb5e367510 100644 --- a/samples/Templates/Scenarios/FlightUpdateTable.template.json +++ b/samples/Templates/Scenarios/FlightUpdateTable.template.json @@ -71,64 +71,58 @@ "items": [ { "type": "TextBlock", - "text": "Passengers", + "text": "Flight", "isSubtle": true, "weight": "bolder", - "wrap": true, - "spacing": "none" - }, - { - "type": "TextBlock", - "text": "${underName.name}", - "spacing": "small", "wrap": true }, { "type": "TextBlock", - "text": "Jeremy Goldberg", - "spacing": "small", - "wrap": true - }, - { - "type": "TextBlock", - "text": "Evan Litvak", + "text": "${reservationFor.flightNumber}", "spacing": "small", "wrap": true } ] }, - { - "type": "TableCell" - }, { "type": "TableCell", "items": [ { "type": "TextBlock", - "text": "Seat", - "horizontalAlignment": "right", + "text": "Departs", "isSubtle": true, + "horizontalAlignment": "center", "weight": "bolder", "wrap": true }, { "type": "TextBlock", - "text": "14A", - "horizontalAlignment": "right", + "text": "{{TIME(${string(reservationFor.departureTime)})}}", + "color": "attention", + "weight": "bolder", + "horizontalAlignment": "center", "spacing": "small", "wrap": true - }, + } + ] + }, + { + "type": "TableCell", + "items": [ { "type": "TextBlock", - "text": "14B", + "text": "Arrives", + "isSubtle": true, "horizontalAlignment": "right", - "spacing": "small", + "weight": "bolder", "wrap": true }, { "type": "TextBlock", - "text": "14C", + "text": "{{TIME(${string(reservationFor.arrivalTime)})}}", + "color": "attention", "horizontalAlignment": "right", + "weight": "bolder", "spacing": "small", "wrap": true } @@ -144,58 +138,118 @@ "items": [ { "type": "TextBlock", - "text": "Flight", + "text": "Passengers", + "isSubtle": true, + "weight": "bolder", + "wrap": true, + "spacing": "none" + } + ] + }, + { + "type": "TableCell" + }, + { + "type": "TableCell", + "items": [ + { + "type": "TextBlock", + "text": "Seat", + "horizontalAlignment": "right", "isSubtle": true, "weight": "bolder", "wrap": true - }, + } + ] + } + ] + }, + { + "type": "TableRow", + "cells": [ + { + "type": "TableCell", + "items": [ { "type": "TextBlock", - "text": "${reservationFor.flightNumber}", + "text": "${underName.name}", "spacing": "small", "wrap": true } ] }, + { + "type": "TableCell" + }, { "type": "TableCell", "items": [ { "type": "TextBlock", - "text": "Departs", - "isSubtle": true, - "horizontalAlignment": "center", - "weight": "bolder", + "text": "14A", + "horizontalAlignment": "right", + "spacing": "small", "wrap": true - }, + } + ] + } + ] + }, + { + "type": "TableRow", + "cells": [ + { + "type": "TableCell", + "items": [ { "type": "TextBlock", - "text": "{{TIME(${string(reservationFor.departureTime)})}}", - "color": "attention", - "weight": "bolder", - "horizontalAlignment": "center", + "text": "Jeremy Goldberg", "spacing": "small", "wrap": true } ] }, + { + "type": "TableCell" + }, { "type": "TableCell", "items": [ { "type": "TextBlock", - "text": "Arrives", - "isSubtle": true, + "text": "14B", "horizontalAlignment": "right", - "weight": "bolder", + "spacing": "small", "wrap": true - }, + } + ] + } + ] + }, + { + "type": "TableRow", + "cells": [ + { + "type": "TableCell", + "items": [ { "type": "TextBlock", - "text": "{{TIME(${string(reservationFor.arrivalTime)})}}", - "color": "attention", + "text": "Evan Litvak", + "spacing": "small", + "wrap": true + } + ] + }, + { + "type": "TableCell" + }, + { + "type": "TableCell", + "items": [ + { + "type": "TextBlock", + "text": "14C", "horizontalAlignment": "right", - "weight": "bolder", "spacing": "small", "wrap": true } diff --git a/samples/Templates/Scenarios/InputsWithValidation.template.json b/samples/Templates/Scenarios/InputsWithValidation.template.json index dafd589523..bbd59bdcb8 100644 --- a/samples/Templates/Scenarios/InputsWithValidation.template.json +++ b/samples/Templates/Scenarios/InputsWithValidation.template.json @@ -18,36 +18,41 @@ "style": "text", "id": "SimpleVal", "isRequired": true, - "errorMessage": "Name is required" + "errorMessage": "Name is required", + "placeholder": "Enter your name" }, { "type": "Input.Text", "label": "Homepage", "style": "url", - "id": "UrlVal" + "id": "UrlVal", + "placeholder": "Enter your homepage url" }, { "type": "Input.Text", "label": "Email", "style": "email", - "id": "EmailVal" + "id": "EmailVal", + "placeholder": "Enter your email" }, { "type": "Input.Text", "label": "Phone", "style": "tel", - "id": "TelVal" + "id": "TelVal", + "placeholder": "Enter your phone number" }, { "type": "Input.Text", "label": "Comments", "style": "text", "isMultiline": true, - "id": "MultiLineVal" + "id": "MultiLineVal", + "placeholder": "Enter any comments" }, { "type": "Input.Number", - "label": "Quantity", + "label": "Quantity (Minimum -5, Maximum 5)", "min": -5, "max": 5, "value": 1, diff --git a/samples/Templates/Scenarios/WeatherLarge.template.json b/samples/Templates/Scenarios/WeatherLarge.template.json index ba73ad1500..2df9c3d40c 100644 --- a/samples/Templates/Scenarios/WeatherLarge.template.json +++ b/samples/Templates/Scenarios/WeatherLarge.template.json @@ -99,7 +99,7 @@ ], "selectAction": { "type": "Action.OpenUrl", - "title": "View ${formatEpoch(sunrise_ts, 'dddd')}", + "title": "View ${formatEpoch(sunrise_ts, 'dddd')}, ${weather.description}. Highest temperature ${formatNumber(app_max_temp / 5 * 9 + 32, 0)} degrees. Lowest temperature ${formatNumber(app_min_temp / 5 * 9 + 32, 0)} degrees.", "url": "https://www.microsoft.com" } } diff --git a/samples/v1.0/Elements/Input.Time.json b/samples/v1.0/Elements/Input.Time.json index 0a6c11f5f8..a77ad27e4d 100644 --- a/samples/v1.0/Elements/Input.Time.json +++ b/samples/v1.0/Elements/Input.Time.json @@ -3,12 +3,9 @@ "type": "AdaptiveCard", "version": "1.0", "body": [ - { - "type": "TextBlock", - "text": "What time do you want to meet?" - }, { "type": "Input.Time", + "label": "What time do you want to meet?", "id": "time", "min": "09:00", "max": "17:00", diff --git a/samples/v1.1/Elements/Column.SelectAction.json b/samples/v1.1/Elements/Column.SelectAction.json index a393862b27..a9e5072807 100644 --- a/samples/v1.1/Elements/Column.SelectAction.json +++ b/samples/v1.1/Elements/Column.SelectAction.json @@ -1,7 +1,7 @@ { "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", - "version": "1.1", + "version": "1.5", "body": [ { "type": "TextBlock", diff --git a/samples/v1.1/Elements/ColumnSet.SelectAction.json b/samples/v1.1/Elements/ColumnSet.SelectAction.json index cb0481b3e0..0e0efd5c9b 100644 --- a/samples/v1.1/Elements/ColumnSet.SelectAction.json +++ b/samples/v1.1/Elements/ColumnSet.SelectAction.json @@ -1,6 +1,6 @@ { "type": "AdaptiveCard", - "version": "1.1", + "version": "1.5", "body": [ { "type": "TextBlock", diff --git a/samples/v1.1/Elements/Container.SelectAction.json b/samples/v1.1/Elements/Container.SelectAction.json index ba8653bf15..fc1252e0c4 100644 --- a/samples/v1.1/Elements/Container.SelectAction.json +++ b/samples/v1.1/Elements/Container.SelectAction.json @@ -1,7 +1,7 @@ { "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", - "version": "1.1", + "version": "1.5", "body": [ { "type": "Container", diff --git a/samples/v1.2/Tests/RichTextBlock.TextRun.SelectActions.json b/samples/v1.2/Tests/RichTextBlock.TextRun.SelectActions.json index 5602fee0df..68a892a2e6 100644 --- a/samples/v1.2/Tests/RichTextBlock.TextRun.SelectActions.json +++ b/samples/v1.2/Tests/RichTextBlock.TextRun.SelectActions.json @@ -1,6 +1,6 @@ { "type": "AdaptiveCard", - "version": "1.2", + "version": "1.5", "body": [ { "type": "TextBlock", diff --git a/samples/v1.0/Elements/Action.Submit.json b/samples/v1.3/Elements/Action.Submit.json similarity index 96% rename from samples/v1.0/Elements/Action.Submit.json rename to samples/v1.3/Elements/Action.Submit.json index b746aae493..7fbf67b9e2 100644 --- a/samples/v1.0/Elements/Action.Submit.json +++ b/samples/v1.3/Elements/Action.Submit.json @@ -1,7 +1,7 @@ { "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", - "version": "1.0", + "version": "1.3", "body": [ { "type": "TextBlock", diff --git a/samples/v1.3/Elements/Input.ChoiceSet.ErrorMessage.json b/samples/v1.3/Elements/Input.ChoiceSet.ErrorMessage.json index b412524279..4d3c3d2e9a 100644 --- a/samples/v1.3/Elements/Input.ChoiceSet.ErrorMessage.json +++ b/samples/v1.3/Elements/Input.ChoiceSet.ErrorMessage.json @@ -1,7 +1,7 @@ { "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", - "version": "1.0", + "version": "1.3", "body": [ { "type": "Input.ChoiceSet", diff --git a/samples/v1.3/Elements/Input.ChoiceSet.Label.json b/samples/v1.3/Elements/Input.ChoiceSet.Label.json index 8500e75d4f..05404002cd 100644 --- a/samples/v1.3/Elements/Input.ChoiceSet.Label.json +++ b/samples/v1.3/Elements/Input.ChoiceSet.Label.json @@ -1 +1,121 @@ -{ "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.0", "body": [ { "type": "Input.ChoiceSet", "id": "input1", "style": "compact", "isMultiSelect": false, "label": "Default Input.ChoiceSet label (compact)", "choices": [ { "title": "Option 1", "value": "1" }, { "title": "Option 2", "value": "2" } ] }, { "type": "Input.ChoiceSet", "id": "input2", "style": "compact", "isMultiSelect": false, "label": "Required Input.ChoiceSet label (compact)", "isRequired": true, "errorMessage": "Required input", "choices": [ { "title": "Option 1", "value": "1" }, { "title": "Option 2", "value": "2" } ] }, { "type": "Input.ChoiceSet", "id": "input3", "style": "expanded", "isMultiSelect": false, "label": "Default Input.ChoiceSet label (expanded)", "choices": [ { "title": "Option 1", "value": "1" }, { "title": "Option 2", "value": "2" } ] }, { "type": "Input.ChoiceSet", "id": "input4", "style": "expanded", "isMultiSelect": false, "label": "Required Input.ChoiceSet label (expanded)", "isRequired": true, "errorMessage": "Required input", "choices": [ { "title": "Option 1", "value": "1" }, { "title": "Option 2", "value": "2" } ] }, { "type": "Input.ChoiceSet", "id": "input5", "style": "expanded", "isMultiSelect": true, "label": "Default Input.ChoiceSet label (expanded, multiselect)", "choices": [ { "title": "Option 1", "value": "1" }, { "title": "Option 2", "value": "2" } ] }, { "type": "Input.ChoiceSet", "id": "input6", "style": "expanded", "isMultiSelect": true, "isRequired": true, "label": "Required Input.ChoiceSet label (expanded, multiselect)", "errorMessage": "Required input", "choices": [ { "title": "Option 1", "value": "1" }, { "title": "Option 2", "value": "2" } ] } ], "actions": [ { "type": "Action.Submit", "title": "OK" } ] } \ No newline at end of file +{ + "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", + "type": "AdaptiveCard", + "version": "1.3", + "body": [ + { + "type": "Input.ChoiceSet", + "id": "input1", + "style": "compact", + "isMultiSelect": false, + "label": "Default Input.ChoiceSet label (compact)", + "choices": [ + { + "title": "Option 1", + "value": "1" + }, + { + "title": "Option 2", + "value": "2" + } + ] + }, + { + "type": "Input.ChoiceSet", + "id": "input2", + "style": "compact", + "isMultiSelect": false, + "label": "Required Input.ChoiceSet label (compact)", + "isRequired": true, + "errorMessage": "Required input", + "choices": [ + { + "title": "Option 1", + "value": "1" + }, + { + "title": "Option 2", + "value": "2" + } + ] + }, + { + "type": "Input.ChoiceSet", + "id": "input3", + "style": "expanded", + "isMultiSelect": false, + "label": "Default Input.ChoiceSet label (expanded)", + "choices": [ + { + "title": "Option 1", + "value": "1" + }, + { + "title": "Option 2", + "value": "2" + } + ] + }, + { + "type": "Input.ChoiceSet", + "id": "input4", + "style": "expanded", + "isMultiSelect": false, + "label": "Required Input.ChoiceSet label (expanded)", + "isRequired": true, + "errorMessage": "Required input", + "choices": [ + { + "title": "Option 1", + "value": "1" + }, + { + "title": "Option 2", + "value": "2" + } + ] + }, + { + "type": "Input.ChoiceSet", + "id": "input5", + "style": "expanded", + "isMultiSelect": true, + "label": "Default Input.ChoiceSet label (expanded, multiselect)", + "choices": [ + { + "title": "Option 1", + "value": "1" + }, + { + "title": "Option 2", + "value": "2" + } + ] + }, + { + "type": "Input.ChoiceSet", + "id": "input6", + "style": "expanded", + "isMultiSelect": true, + "isRequired": true, + "label": "Required Input.ChoiceSet label (expanded, multiselect)", + "errorMessage": "Required input", + "choices": [ + { + "title": "Option 1", + "value": "1" + }, + { + "title": "Option 2", + "value": "2" + } + ] + } + ], + "actions": [ + { + "type": "Action.Submit", + "title": "OK" + } + ] +} diff --git a/samples/v1.0/Elements/Input.ChoiceSet.json b/samples/v1.3/Elements/Input.ChoiceSet.json similarity index 98% rename from samples/v1.0/Elements/Input.ChoiceSet.json rename to samples/v1.3/Elements/Input.ChoiceSet.json index 1b56256380..1064570496 100644 --- a/samples/v1.0/Elements/Input.ChoiceSet.json +++ b/samples/v1.3/Elements/Input.ChoiceSet.json @@ -1,7 +1,7 @@ { "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", - "version": "1.0", + "version": "1.3", "body": [ { "type": "Input.ChoiceSet", diff --git a/samples/v1.3/Elements/Input.Date.ErrorMessage.json b/samples/v1.3/Elements/Input.Date.ErrorMessage.json index 7ebca0c382..3013066ed9 100644 --- a/samples/v1.3/Elements/Input.Date.ErrorMessage.json +++ b/samples/v1.3/Elements/Input.Date.ErrorMessage.json @@ -1 +1,43 @@ -{ "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.0", "body": [ { "type": "Input.Date", "id": "input1", "label": "This is a required Input.Date", "isRequired": true, "errorMessage": "This date is required" }, { "type": "Input.Date", "id": "input2", "label": "Input.Date with valid min date of February 1st, 2012", "min": "2012-02-01", "errorMessage": "This date must be on or after February 1st, 2012" }, { "type": "Input.Date", "id": "input3", "label": "Input.Date with valid max date of November 2nd, 2021", "max": "2021-11-02", "errorMessage": "This date must be on or before November 2nd, 2021" }, { "type": "Input.Date", "id": "input4", "label": "Required Input.Date with valid value between April 1st, 2012 and January 7th, 2025", "min": "2012-04-01", "max": "2025-01-07", "isRequired": true, "errorMessage": "This date is required and must be between April 1st, 2012 and January 7th, 2025" } ], "actions": [ { "type": "Action.Submit", "title": "OK" } ] } \ No newline at end of file +{ + "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", + "type": "AdaptiveCard", + "version": "1.3", + "body": [ + { + "type": "Input.Date", + "id": "input1", + "label": "This is a required Input.Date", + "isRequired": true, + "errorMessage": "This date is required" + }, + { + "type": "Input.Date", + "id": "input2", + "label": "Input.Date with valid min date of February 1st, 2012", + "min": "2012-02-01", + "errorMessage": "This date must be on or after February 1st, 2012" + }, + { + "type": "Input.Date", + "id": "input3", + "label": "Input.Date with valid max date of November 2nd, 2021", + "max": "2021-11-02", + "errorMessage": "This date must be on or before November 2nd, 2021" + }, + { + "type": "Input.Date", + "id": "input4", + "label": "Required Input.Date with valid value between April 1st, 2012 and January 7th, 2025", + "min": "2012-04-01", + "max": "2025-01-07", + "isRequired": true, + "errorMessage": "This date is required and must be between April 1st, 2012 and January 7th, 2025" + } + ], + "actions": [ + { + "type": "Action.Submit", + "title": "OK" + } + ] +} diff --git a/samples/v1.3/Elements/Input.Date.Label.json b/samples/v1.3/Elements/Input.Date.Label.json index eef443d280..ea1660164f 100644 --- a/samples/v1.3/Elements/Input.Date.Label.json +++ b/samples/v1.3/Elements/Input.Date.Label.json @@ -1,7 +1,7 @@ { "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", - "version": "1.0", + "version": "1.3", "body": [ { "type": "Input.Date", diff --git a/samples/v1.3/Elements/Input.Number.ErrorMessage.json b/samples/v1.3/Elements/Input.Number.ErrorMessage.json index fd3e541104..900e3e1eca 100644 --- a/samples/v1.3/Elements/Input.Number.ErrorMessage.json +++ b/samples/v1.3/Elements/Input.Number.ErrorMessage.json @@ -1 +1,43 @@ -{ "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.0", "body": [ { "type": "Input.Number", "id": "input1", "label": "Required Input.Number", "isRequired": true, "errorMessage": "This number is required" }, { "type": "Input.Number", "id": "input2", "label": "Input.Number with valid min of 5", "min": 5, "errorMessage": "This number must be greater than 5" }, { "type": "Input.Number", "id": "input3", "label": "Input.Number with valid max of 10", "max": 10, "errorMessage": "This number must be smaller than 10" }, { "type": "Input.Number", "id": "input4", "label": "Required Input.Number with valid range between 0 and 100", "isRequired": true, "min": 0, "max": 100, "errorMessage": "This number is required and must be between 0 and 100" } ], "actions": [ { "type": "Action.Submit", "title": "Submit" } ] } \ No newline at end of file +{ + "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", + "type": "AdaptiveCard", + "version": "1.3", + "body": [ + { + "type": "Input.Number", + "id": "input1", + "label": "Required Input.Number", + "isRequired": true, + "errorMessage": "This number is required" + }, + { + "type": "Input.Number", + "id": "input2", + "label": "Input.Number with valid min of 5", + "min": 5, + "errorMessage": "This number must be greater than 5" + }, + { + "type": "Input.Number", + "id": "input3", + "label": "Input.Number with valid max of 10", + "max": 10, + "errorMessage": "This number must be smaller than 10" + }, + { + "type": "Input.Number", + "id": "input4", + "label": "Required Input.Number with valid range between 0 and 100", + "isRequired": true, + "min": 0, + "max": 100, + "errorMessage": "This number is required and must be between 0 and 100" + } + ], + "actions": [ + { + "type": "Action.Submit", + "title": "Submit" + } + ] +} diff --git a/samples/v1.3/Elements/Input.Number.Label.json b/samples/v1.3/Elements/Input.Number.Label.json index f25d264f9b..9fb2a00bc8 100644 --- a/samples/v1.3/Elements/Input.Number.Label.json +++ b/samples/v1.3/Elements/Input.Number.Label.json @@ -1,7 +1,7 @@ { "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", - "version": "1.0", + "version": "1.3", "body": [ { "type": "Input.Number", diff --git a/samples/v1.0/Elements/Input.Number.json b/samples/v1.3/Elements/Input.Number.json similarity index 94% rename from samples/v1.0/Elements/Input.Number.json rename to samples/v1.3/Elements/Input.Number.json index bfc5aa1a08..4b20c61add 100644 --- a/samples/v1.0/Elements/Input.Number.json +++ b/samples/v1.3/Elements/Input.Number.json @@ -1,7 +1,7 @@ { "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", - "version": "1.0", + "version": "1.3", "body": [ { "type": "Input.Number", diff --git a/samples/v1.2/Elements/Input.Text.InlineAction.json b/samples/v1.3/Elements/Input.Text.InlineAction.json similarity index 97% rename from samples/v1.2/Elements/Input.Text.InlineAction.json rename to samples/v1.3/Elements/Input.Text.InlineAction.json index 2ad2a63d74..792805d7c4 100644 --- a/samples/v1.2/Elements/Input.Text.InlineAction.json +++ b/samples/v1.3/Elements/Input.Text.InlineAction.json @@ -1,7 +1,7 @@ { "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", - "version": "1.2", + "version": "1.5", "body": [ { "type": "Input.Text", diff --git a/samples/v1.3/Elements/Input.Text.Label.json b/samples/v1.3/Elements/Input.Text.Label.json index b573b9f38f..a494f7e62f 100644 --- a/samples/v1.3/Elements/Input.Text.Label.json +++ b/samples/v1.3/Elements/Input.Text.Label.json @@ -1,7 +1,7 @@ { "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", - "version": "1.0", + "version": "1.3", "body": [ { "type": "Input.Text", diff --git a/samples/v1.0/Elements/Input.Text.Style.json b/samples/v1.3/Elements/Input.Text.Style.json similarity index 97% rename from samples/v1.0/Elements/Input.Text.Style.json rename to samples/v1.3/Elements/Input.Text.Style.json index 5da4ffb9cf..68bd758995 100644 --- a/samples/v1.0/Elements/Input.Text.Style.json +++ b/samples/v1.3/Elements/Input.Text.Style.json @@ -1,7 +1,7 @@ { "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", - "version": "1.0", + "version": "1.3", "body": [ { "type": "TextBlock", diff --git a/samples/v1.3/Elements/Input.Time.ErrorMessage.json b/samples/v1.3/Elements/Input.Time.ErrorMessage.json index 5dd60a7de1..217258c0cd 100644 --- a/samples/v1.3/Elements/Input.Time.ErrorMessage.json +++ b/samples/v1.3/Elements/Input.Time.ErrorMessage.json @@ -1 +1,43 @@ -{ "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.0", "body": [ { "type": "Input.Time", "id": "input1", "label": "Required Input.Time", "isRequired": true, "errorMessage": "This time is required" }, { "type": "Input.Time", "id": "input2", "label": "Input.Time with valid min time of 6:00 am", "min": "06:00", "errorMessage": "This time must be after 6:00 am" }, { "type": "Input.Time", "id": "input3", "label": "Input.Time with valid max time of 8:00 pm", "max": "20:00", "errorMessage": "This time must be before 8:00 pm" }, { "type": "Input.Time", "id": "input4", "label": "Required Input.Time with valid value between 9:00 am and 5:00 pm", "min": "09:00", "max": "17:00", "isRequired": true, "errorMessage": "This time is required and must be between 9:00 am and 5:00 pm" } ], "actions": [ { "type": "Action.Submit", "title": "OK" } ] } \ No newline at end of file +{ + "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", + "type": "AdaptiveCard", + "version": "1.3", + "body": [ + { + "type": "Input.Time", + "id": "input1", + "label": "Required Input.Time", + "isRequired": true, + "errorMessage": "This time is required" + }, + { + "type": "Input.Time", + "id": "input2", + "label": "Input.Time with valid min time of 6:00 am", + "min": "06:00", + "errorMessage": "This time must be after 6:00 am" + }, + { + "type": "Input.Time", + "id": "input3", + "label": "Input.Time with valid max time of 8:00 pm", + "max": "20:00", + "errorMessage": "This time must be before 8:00 pm" + }, + { + "type": "Input.Time", + "id": "input4", + "label": "Required Input.Time with valid value between 9:00 am and 5:00 pm", + "min": "09:00", + "max": "17:00", + "isRequired": true, + "errorMessage": "This time is required and must be between 9:00 am and 5:00 pm" + } + ], + "actions": [ + { + "type": "Action.Submit", + "title": "OK" + } + ] +} diff --git a/samples/v1.3/Elements/Input.Time.Label.json b/samples/v1.3/Elements/Input.Time.Label.json index 3932364b05..2f88615397 100644 --- a/samples/v1.3/Elements/Input.Time.Label.json +++ b/samples/v1.3/Elements/Input.Time.Label.json @@ -1,7 +1,7 @@ { "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", - "version": "1.0", + "version": "1.3", "body": [ { "type": "Input.Time", diff --git a/samples/v1.3/Elements/Input.Toggle.ErrorMessage.json b/samples/v1.3/Elements/Input.Toggle.ErrorMessage.json index a5204b76ca..fbde22a610 100644 --- a/samples/v1.3/Elements/Input.Toggle.ErrorMessage.json +++ b/samples/v1.3/Elements/Input.Toggle.ErrorMessage.json @@ -1 +1,24 @@ -{ "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", "version": "1.0", "body": [ { "type": "Input.Toggle", "id": "input2", "title": "I accept the terms and agreements", "value": "false", "valueOn": "true", "valueOff": "false", "label": "Required Input.Toggle", "isRequired": true, "errorMessage": "You must accept the terms and conditions" } ], "actions": [ { "type": "Action.Submit", "title": "OK" } ] } \ No newline at end of file +{ + "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", + "type": "AdaptiveCard", + "version": "1.3", + "body": [ + { + "type": "Input.Toggle", + "id": "input2", + "title": "I accept the terms and agreements", + "value": "false", + "valueOn": "true", + "valueOff": "false", + "label": "Required Input.Toggle", + "isRequired": true, + "errorMessage": "You must accept the terms and conditions" + } + ], + "actions": [ + { + "type": "Action.Submit", + "title": "OK" + } + ] +} diff --git a/samples/v1.3/Elements/Input.Toggle.Label.json b/samples/v1.3/Elements/Input.Toggle.Label.json index a0225d84a6..b972d87952 100644 --- a/samples/v1.3/Elements/Input.Toggle.Label.json +++ b/samples/v1.3/Elements/Input.Toggle.Label.json @@ -1,7 +1,7 @@ { "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "type": "AdaptiveCard", - "version": "1.0", + "version": "1.3", "body": [ { "type": "Input.Toggle", diff --git a/samples/v1.5/Elements/Input.ChoiceSet.Filtered.json b/samples/v1.5/Elements/Input.ChoiceSet.Filtered.json index 49b5fb9d2a..524f424211 100644 --- a/samples/v1.5/Elements/Input.ChoiceSet.Filtered.json +++ b/samples/v1.5/Elements/Input.ChoiceSet.Filtered.json @@ -249,10 +249,6 @@ "value": "Barredtail corydoras", "title": "Barredtail corydoras" }, - { - "value": "Bastard margaret", - "title": "Bastard margaret" - }, { "value": "Beacon tetra", "title": "Beacon tetra" @@ -589,10 +585,6 @@ "value": "Brown-banded moon jelly", "title": "Brown-banded moon jelly" }, - { - "value": "Browneye skate", - "title": "Browneye skate" - }, { "value": "Brownstripe snapper", "title": "Brownstripe snapper" @@ -713,10 +705,6 @@ "value": "Chilean Slender Snake", "title": "Chilean Slender Snake" }, - { - "value": "Chinaman fish", - "title": "Chinaman fish" - }, { "value": "Chinese Hill Warbler", "title": "Chinese Hill Warbler" @@ -1485,10 +1473,6 @@ "value": "Green Labeo", "title": "Green Labeo" }, - { - "value": "Green-backed Tit", - "title": "Green-backed Tit" - }, { "value": "Greenback grey mullet", "title": "Greenback grey mullet" @@ -1645,10 +1629,6 @@ "value": "horseman anemone", "title": "horseman anemone" }, - { - "value": "Humpback hairfin anchovy", - "title": "Humpback hairfin anchovy" - }, { "value": "Immaculate dottyback", "title": "Immaculate dottyback" @@ -1905,10 +1885,6 @@ "value": "Life plant", "title": "Life plant" }, - { - "value": "Linder fairy shrimp", - "title": "Linder fairy shrimp" - }, { "value": "Lipstick goby", "title": "Lipstick goby" @@ -2425,10 +2401,6 @@ "value": "Pale-spotted triplefin", "title": "Pale-spotted triplefin" }, - { - "value": "Palestine Mole Rat", - "title": "Palestine Mole Rat" - }, { "value": "Pallid Honeyguide", "title": "Pallid Honeyguide" @@ -3881,10 +3853,6 @@ "value": "White-headed Petrel", "title": "White-headed Petrel" }, - { - "value": "white-knobbed sea cucumber", - "title": "white-knobbed sea cucumber" - }, { "value": "White-mottled Flowerpecker", "title": "White-mottled Flowerpecker" diff --git a/samples/v1.5/Scenarios/Agenda.json b/samples/v1.5/Scenarios/Agenda.json index 85eabe9bb1..6645229b00 100644 --- a/samples/v1.5/Scenarios/Agenda.json +++ b/samples/v1.5/Scenarios/Agenda.json @@ -217,7 +217,7 @@ "items": [ { "type": "Image", - "url": "https://messagecardplayground.azurewebsites.net/assets/location_gray.png", + "url": "https://adaptivecardsblob.blob.core.windows.net/assets/location_gray.png", "altText": "Location" } ], @@ -331,7 +331,7 @@ "items": [ { "type": "Image", - "url": "https://messagecardplayground.azurewebsites.net/assets/car.png", + "url": "https://adaptivecardsblob.blob.core.windows.net/assets/car.png", "altText": "Travel by car" } ], @@ -414,7 +414,7 @@ "items": [ { "type": "Image", - "url": "https://messagecardplayground.azurewebsites.net/assets/location_gray.png", + "url": "https://adaptivecardsblob.blob.core.windows.net/assets/location_gray.png", "altText": "Location" } ], diff --git a/samples/v1.5/Scenarios/FlightDetails.json b/samples/v1.5/Scenarios/FlightDetails.json index 96d7b14ff2..4707865a20 100644 --- a/samples/v1.5/Scenarios/FlightDetails.json +++ b/samples/v1.5/Scenarios/FlightDetails.json @@ -86,25 +86,11 @@ "wrap": true } ], - "width": "auto" + "width": "1" }, { "type": "Column", "verticalContentAlignment": "center", - "items": [ - { - "type": "Image", - "url": "https://messagecardplayground.azurewebsites.net/assets/graydot2x2.png", - "width": "10000px", - "height": "2px" - } - ], - "width": "stretch" - }, - { - "type": "Column", - "spacing": "small", - "verticalContentAlignment": "center", "items": [ { "type": "Image", @@ -127,7 +113,7 @@ "wrap": true } ], - "width": "auto" + "width": "1" } ] }, diff --git a/samples/v1.5/Scenarios/FlightUpdateTable.json b/samples/v1.5/Scenarios/FlightUpdateTable.json index 15b9f6cd40..551100ee90 100644 --- a/samples/v1.5/Scenarios/FlightUpdateTable.json +++ b/samples/v1.5/Scenarios/FlightUpdateTable.json @@ -31,7 +31,7 @@ "items": [ { "type": "Image", - "size": "small", + "size": "Small", "url": "https://adaptivecards.io/content/airplane.png", "altText": "Airplane" } @@ -46,17 +46,17 @@ { "type": "TextBlock", "text": "Flight Status", - "horizontalAlignment": "right", + "horizontalAlignment": "Right", "isSubtle": true, "wrap": true }, { "type": "TextBlock", "text": "DELAYED", - "horizontalAlignment": "right", - "spacing": "none", - "size": "large", - "color": "attention", + "horizontalAlignment": "Right", + "spacing": "None", + "size": "Large", + "color": "Attention", "wrap": true } ] @@ -73,26 +73,40 @@ "type": "TextBlock", "text": "Passengers", "isSubtle": true, - "weight": "bolder", + "weight": "Bolder", "wrap": true, - "spacing": "none" - }, - { - "type": "TextBlock", - "text": "Sarah Hum", - "spacing": "small", - "wrap": true - }, + "spacing": "None" + } + ] + }, + { + "type": "TableCell" + }, + { + "type": "TableCell", + "items": [ { "type": "TextBlock", - "text": "Jeremy Goldberg", - "spacing": "small", + "text": "Seat", + "horizontalAlignment": "Right", + "isSubtle": true, + "weight": "Bolder", "wrap": true - }, + } + ] + } + ] + }, + { + "type": "TableRow", + "cells": [ + { + "type": "TableCell", + "items": [ { "type": "TextBlock", - "text": "Evan Litvak", - "spacing": "small", + "text": "Sarah Hum", + "spacing": "Small", "wrap": true } ] @@ -105,31 +119,71 @@ "items": [ { "type": "TextBlock", - "text": "Seat", - "horizontalAlignment": "right", - "isSubtle": true, - "weight": "bolder", + "text": "14A", + "horizontalAlignment": "Right", + "spacing": "Small", "wrap": true - }, + } + ] + } + ] + }, + { + "type": "TableRow", + "cells": [ + { + "type": "TableCell", + "items": [ { "type": "TextBlock", - "text": "14A", - "horizontalAlignment": "right", - "spacing": "small", + "text": "Jeremy Goldberg", + "spacing": "Small", "wrap": true - }, + } + ] + }, + { + "type": "TableCell" + }, + { + "type": "TableCell", + "items": [ { "type": "TextBlock", "text": "14B", - "horizontalAlignment": "right", - "spacing": "small", + "horizontalAlignment": "Right", + "spacing": "Small", "wrap": true - }, + } + ] + } + ] + }, + { + "type": "TableRow", + "cells": [ + { + "type": "TableCell", + "items": [ + { + "type": "TextBlock", + "text": "Evan Litvak", + "spacing": "Small", + "wrap": true + } + ] + }, + { + "type": "TableCell" + }, + { + "type": "TableCell", + "items": [ { "type": "TextBlock", "text": "14C", - "horizontalAlignment": "right", - "spacing": "small", + "horizontalAlignment": "Right", + "spacing": "Small", "wrap": true } ] @@ -146,13 +200,13 @@ "type": "TextBlock", "text": "Flight", "isSubtle": true, - "weight": "bolder", + "weight": "Bolder", "wrap": true }, { "type": "TextBlock", "text": "KL605", - "spacing": "small", + "spacing": "Small", "wrap": true } ] @@ -164,17 +218,17 @@ "type": "TextBlock", "text": "Departs", "isSubtle": true, - "horizontalAlignment": "center", - "weight": "bolder", + "horizontalAlignment": "Center", + "weight": "Bolder", "wrap": true }, { "type": "TextBlock", "text": "2:20 AM", - "color": "attention", - "weight": "bolder", - "horizontalAlignment": "center", - "spacing": "small", + "color": "Attention", + "weight": "Bolder", + "horizontalAlignment": "Center", + "spacing": "Small", "wrap": true } ] @@ -186,17 +240,17 @@ "type": "TextBlock", "text": "Arrives", "isSubtle": true, - "horizontalAlignment": "right", - "weight": "bolder", + "horizontalAlignment": "Right", + "weight": "Bolder", "wrap": true }, { "type": "TextBlock", "text": "8:20 PM", - "color": "attention", - "horizontalAlignment": "right", - "weight": "bolder", - "spacing": "small", + "color": "Attention", + "horizontalAlignment": "Right", + "weight": "Bolder", + "spacing": "Small", "wrap": true } ] @@ -218,9 +272,9 @@ { "type": "TextBlock", "text": "AMS", - "size": "extraLarge", - "color": "accent", - "spacing": "none", + "size": "ExtraLarge", + "color": "Accent", + "spacing": "None", "wrap": true } ] @@ -232,11 +286,11 @@ "type": "Image", "url": "https://adaptivecards.io/content/airplane.png", "altText": "Airplane", - "horizontalAlignment": "center", - "size": "small" + "horizontalAlignment": "Center", + "size": "Small" } ], - "verticalContentAlignment": "center" + "verticalContentAlignment": "Center" }, { "type": "TableCell", @@ -245,22 +299,22 @@ "type": "TextBlock", "text": "San Francisco Airport", "isSubtle": true, - "horizontalAlignment": "right", + "horizontalAlignment": "Right", "wrap": true }, { "type": "TextBlock", "text": "SFO", - "horizontalAlignment": "right", - "size": "extraLarge", - "color": "accent", - "spacing": "none", + "horizontalAlignment": "Right", + "size": "ExtraLarge", + "color": "Accent", + "spacing": "None", "wrap": true } ] } ], - "spacing": "none" + "spacing": "None" } ], "showGridLines": false diff --git a/samples/v1.5/Scenarios/InputsWithValidation.json b/samples/v1.5/Scenarios/InputsWithValidation.json index 0f4a749130..48979b4883 100644 --- a/samples/v1.5/Scenarios/InputsWithValidation.json +++ b/samples/v1.5/Scenarios/InputsWithValidation.json @@ -18,32 +18,59 @@ "style": "text", "id": "SimpleVal", "isRequired": true, - "errorMessage": "Name is required" + "errorMessage": "Name is required", + "placeholder": "Enter your name" }, { "type": "Input.Text", "label": "Homepage", "style": "url", - "id": "UrlVal" + "id": "UrlVal", + "placeholder": "Enter your homepage url" }, { "type": "Input.Text", "label": "Email", "style": "email", - "id": "EmailVal" + "id": "EmailVal", + "placeholder": "Enter your email" }, { "type": "Input.Text", "label": "Phone", "style": "tel", - "id": "TelVal" + "id": "TelVal", + "placeholder": "Enter your phone number" }, { "type": "Input.Text", "label": "Comments", "style": "text", "isMultiline": true, - "id": "MultiLineVal" + "id": "MultiLineVal", + "placeholder": "Enter any comments" + }, + { + "type": "TextBlock", + "size": "medium", + "weight": "bolder", + "text": "Input.Text InlineAction", + "horizontalAlignment": "center", + "wrap": true, + "style": "heading" + }, + { + "type": "Input.Text", + "label": "Text input with an inline action with no icon", + "id": "textInlineActionId", + "placeholder": "Enter text", + "inlineAction": { + "type": "Action.OpenUrl", + "title": "Reply", + "tooltip": "Reply to this message", + "url": "https://adaptivecards.io", + "role": "button" + } }, { "type": "TextBlock", @@ -67,7 +94,7 @@ }, { "type": "Input.Number", - "label": "Quantity", + "label": "Quantity (Minimum -5, Maximum 5)", "min": -5, "max": 5, "value": 1, diff --git a/samples/v1.5/Scenarios/WeatherLarge.json b/samples/v1.5/Scenarios/WeatherLarge.json index 5cf5c7f530..ef54a5b403 100644 --- a/samples/v1.5/Scenarios/WeatherLarge.json +++ b/samples/v1.5/Scenarios/WeatherLarge.json @@ -97,7 +97,7 @@ ], "selectAction": { "type": "Action.OpenUrl", - "title": "View Wednesday", + "title": "View Wednesday, Drizzly weather. Highest temperature 50 degrees. Lowest temperature 32 degrees.", "url": "https://www.microsoft.com" } }, @@ -136,7 +136,7 @@ ], "selectAction": { "type": "Action.OpenUrl", - "title": "View Thursday", + "title": "View Thursday, Mostly cloudy weather. Highest temperature 50 degrees. Lowest temperature 32 degrees.", "url": "https://www.microsoft.com" } }, @@ -175,7 +175,7 @@ ], "selectAction": { "type": "Action.OpenUrl", - "title": "View Friday", + "title": "View Friday, Mostly cloudy weather. Highest temperature 59 degrees. Lowest temperature 32 degrees.", "url": "https://www.microsoft.com" } }, @@ -214,7 +214,7 @@ ], "selectAction": { "type": "Action.OpenUrl", - "title": "View Saturday", + "title": "View Saturday, Mostly cloudy weather. Highest temperature 50 degrees. Lowest temperature 32 degrees.", "url": "https://www.microsoft.com" } } diff --git a/samples/v1.5/Tests/Image.SelectAction.IsEnabled.json b/samples/v1.5/Tests/Image.SelectAction.IsEnabled.json index 4d5d12c7d5..b23e2d7191 100644 --- a/samples/v1.5/Tests/Image.SelectAction.IsEnabled.json +++ b/samples/v1.5/Tests/Image.SelectAction.IsEnabled.json @@ -1,7 +1,7 @@ { "type": "AdaptiveCard", "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", - "version": "1.3", + "version": "1.5", "body": [ { "type": "Image", diff --git a/samples/v1.5/Tests/Image.Svg.json b/samples/v1.5/Tests/Image.Svg.json new file mode 100644 index 0000000000..2b79c89ff4 --- /dev/null +++ b/samples/v1.5/Tests/Image.Svg.json @@ -0,0 +1,65 @@ +{ + "type": "AdaptiveCard", + "version": "1.5", + "body": [ + { + "type": "Image", + "url": "https://adaptivecards.io/content/adaptive-card.svg", + "size": "small" + }, + { + "type": "Image", + "url": "https://adaptivecards.io/content/adaptive-card.svg", + "height": "70px", + "width": "40px" + }, + { + "type": "Image", + "url": "symbol:adaptive-card-fixed-height.svg", + "backgroundColor": "#000000", + "horizontalAlignment": "right", + "width": "50px", + "style": "person" + }, + { + "type": "Image", + "url": "symbol:adaptive-card-fixed-height.svg", + "backgroundColor": "#000000", + "horizontalAlignment": "right", + "size": "medium" + }, + { + "type": "Image", + "url": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MDAiICBoZWlnaHQ9IjI5NC40IiB2aWV3Qm94PSIwIDAgNzAwLjAwMDAxIDI5NC40MjI1OCI+IAo8c3R5bGU+CiAgCiAgLnRlc3QgewogICAgYW5pbWF0aW9uOiBmYWRlIDNzIGluZmluaXRlIGFsdGVybmF0ZTsgCiAgICAKICB9CiAgCiAgQGtleWZyYW1lcyBmYWRlIHsKICAgIAogICAgZnJvbSB7CiAgICAgIG9wYWNpdHk6IDAKICAgIH0KICAgIAogICAgdG8gewogICAgICAKICAgICAgb3BhY2l0eToxCiAgICB9CiAgICAKICB9CiAgCiAgPC9zdHlsZT4KICAKICA8cGF0aCBjbGFzcz0idGVzdCIgZD0iTTYwMi4yIDEyOC42Yy0xMS43IDIuNy00Mi42IDQuMi00Mi42IDQuMmwtMy44IDEyLjJzMTUuMy0xLjMgMjYuNS0uMmMwIDAgMy42LS4zIDQgNCAuMiA0LjQtLjMgOS0uMyA5cy0uMyAyLjctNCAzLjRjLTQuMy43LTMzLjMgMi0zMy4zIDJMNTQ0IDE3OXMtMS43IDMuNiAyLjIgMi42YzMuNi0xIDM0LTYuOCAzOC02IDQuMiAxIDkgNi44IDcuNiAxMi0xLjYgNi4zLTMyIDI1LjctNTAuNCAyNC40IDAgMC05LjcuNi0xNy44LTEyLjUtNy44LTEyLjUgMi43LTM2IDIuNy0zNnMtNC43LTExLTEuMi0xNWMwIDAgMi0xLjcgOC0yLjJsNy41LTE1LjRzLTguNS41LTEzLjUtNS43Yy00LjYtNi01LTguNi0xLjQtMTAuMiAzLjgtMiAzOS04LjMgNjMuMi03LjUgMCAwIDguNS0xIDE2IDEzLjcgMCAwIDMuNCA2LTIuNiA3LjRNNTExIDE4Ny44Yy0zIDcuMy0xMS4zIDE1LTIxLjMgMTAuMy0xMC4yLTQuOC0yNi4zLTM3LjYtMjYuMy0zNy42cy02LTEyLjItNy4yLTExLjhjMCAwLTEuMy0yLjQtMiAxMS0xIDEzLjMuMiAzOS4yLTUuMyA0My4zLTUgNC0xMSAyLjMtMTQuNC0yLjQtMi44LTQuNy00LTE2LTIuNC0zNS43IDEuOC0xOS43IDYuMy00MC43IDEyLTQ3LjIgNi02LjYgMTAuOC0xLjggMTIuNiAwIDAgMCA3LjcgNyAyMC43IDI3LjdsMi4yIDMuOHMxMS44IDE5LjcgMTMgMTkuNmMwIDAgMSAxIDEuOC4yIDEuMi0uMy44LTYuNy44LTYuN1M0OTMgMTQxIDQ4MiAxMDVjMCAwLTEuNi00LjYtLjUtOSAxLTQgNS4zLTIgNS4zLTJzMTYuNiA4IDI0LjcgMzVjOCAyNyAyLjYgNTEuNS0uNCA1OC44TTQyOS42IDExOC41Yy0xLjYgMi44LTIuMyA2LjctOS4yIDcuOCAwIDAtNjcgNC43LTcwLjMgOS40IDAgMC0yLjIgMi44IDEuNCAzLjUgMy44LjggMTkgMi44IDI2LjIgMy4yIDcuOCAwIDM0IC4yIDQzLjYgMTIgMCAwIDUuNSA1LjYgNS4zIDE4LjMtLjIgMTMtMi41IDE3LjYtNy42IDIyLjMtNS4zIDQuNC01MC43IDI0LjgtODAtNi40IDAgMC0xMy40LTE1IDQuNy0yNi40IDAgMCAxMy04IDQ2LjMgMS4zIDAgMCAxMCAzLjYgOS42IDcuMy0uNiA0LTguMyA4LTE5LjUgNy44LTEwLjgtLjMtMTguOC01LjUtMTcuMi00LjYgMS41LjUtMTEuNy02LjQtMTUuOC0xLjctNCA0LjQtMyA3IDEgOS43IDEwIDUuOCA0OS4zIDMuNyA2MS05LjQgMCAwIDQuNy01LjMtMi40LTkuNi03LTQtMjcuNC02LjUtMzUuMy02LjgtNy41LS40LTM1LjYgMC0zOS44LTcuMyAwIDAtNC01LjIuNC0xOS40IDQuNi0xNSAzNy4zLTIwLjggNTEuNS0yMiAwIDAgMzktMS42IDQ2LjMgNi40IDAgMCAxIDEuOC0uMiA0LjVNMzE5IDIwNi40Yy00LjcgMy41LTE0LjcgMi0xNy42LTItMi44LTMuNS0zLjgtMTcuMy0zLjMtMzkgLjctMjIuMiAxLTQ5LjQgNi01My44IDUtNC4zIDgtLjUgMTAgMi40IDIgMyA0LjYgNi4zIDUgMTMuMi42IDcgMi4zIDQzIDIuMyA0M3MyLjIgMzIuOC0yLjMgMzYuMk0zMjkgODkuNGMtMTMuOCA0LjctMjMuMiAzLjItMzEuMi0uMy0zLjUgNi4zLTUuNiA4LjItOC4yIDguNi00IC40LTcuNS02LTgtOC0uOC0xLjUtMi43LTQuMi0uNC0xMC4zLTcuOC03LTguNC0xNi40LTctMjIuNyAxLjgtNy40IDE1LTM1LjIgNTUtMzguNSAwIDAgMTkuNi0xLjQgMjMgOWguNnMxOSAwIDE4LjYgMTdjMCAxNy0yMSAzOC4yLTQyLjQgNDUuNW0xNy44LTQ4LjdjLTEyLjYgMi0zMiAxOC44LTQxLjMgMzIuNyAxNC4zIDIuNiAzOS4zIDEuNiA1MC41LTIxIDAgMCA1LjMtMTQuMi05LjItMTEuN20tNTUuMyAxMWMtNCA2LjUtNC4yIDEwLjQtMi4zIDEzIDQuNy03IDEzLTE4IDI1LjUtMjYuNi05LjYgMS0xNy43IDUtMjMuMiAxMy42TTYzMi4yIDIwNS43Yy05LjIgMjIuNi0xNyA0NS41LTIxLjUgNzkuOCAwIDAtMSA2LjctNi41IDQuNS01LjUtMi0xNC41LTExLTE2LjUtMjMuNy0yLTE2LjYgNS40LTQ0LjYgMjAuNS03Ni44LTQuNC03LTcuNS0xNy40LTUtMzIgMCAwIDQtMjcgMzEtNTEuNCAwIDAgMy4yLTIuNyA1LTEuOCAyLjIgMSAxLjMgOS42LS41IDE0LTEuNiA0LjItMTMuNiAyNS0xMy42IDI1cy03LjUgMTQuMi01LjQgMjUuM2MxNC4yLTIxLjggNDYuNS02NiA2Ni41LTUyIDEyLjcgOSAxMi43IDM4IDMuMiA1NC44LTcuNSAxMy4zLTI4LjcgNDAuOC01NyAzNC40bTQxLjYtNjhjLTcuNCA4LTIwLjYgMjMuMi0zMSA0My44IDExLTEuMiAyMS43LTcuMyAyNS0xMC40IDUuMy00LjcgMTcuNS0xNy40IDE1LjYtMzQuMiAwIDAtMS4yLTguOC05LjYuOE0yMjYgMjE3LjVjLTM1LjQgMTAuOC02OC44IDUuOC04NyAxLS41IDcuNC0xLjMgMTAuNS0yLjUgMTEuNy0xLjQgMS42LTEzIDguMi0xOS40LTEuMi0yLjgtNC41LTQuMi0xMi42LTUtMjAtNDEtMTguNi02MC00Ni02MC42LTQ3LTEtMS0xMC4zLTEwLjctMS0yMi43IDguNy0xMC44IDM3LjUtMjEuNyA2My4zLTI2IDEtMjIgMy40LTM5IDYuNS00Ni41IDMuNy05IDguNC0xIDEyLjYgNSAzLjQgNC41IDUuNSAyMy44IDUuNyAzOS4yIDE2LjgtLjggMjcgLjQgNDUuNyA0IDI0LjYgNC4yIDQxIDE2LjggMzkuNyAzMS0xLjIgMTQtMTQgMTkuOC0xOSAyMC4yLTUgLjQtMTMtMy4zLTEzLTMuMy01LjYtMi42LS41LTUgNi03LjggNy4yLTMuNSA1LjYtNyA1LjYtNy0yLjYtOC0zNC41LTEzLjMtNjYuMi0xMy4zIDAgMTcuNS43IDQ2LjUgMS4yIDYzLjQgMjIuMiA0LjIgMzguOCAzLjMgMzguOCAzLjNzODEtMi4zIDgzLjMtNTRjMi41LTUxLjgtODEtMTAxLjQtMTQyLjUtMTE3QzU2LjggMTQuNCAyMiAyNS44IDE5IDI3LjNjLTMuMyAxLjYtLjMgMi4yLS4zIDIuMlMyMiAzMCAyOCAzMmM2IDIgMS4yIDUgMS4yIDVDMTguNyA0MC42IDcgMzguNSA0LjcgMzMuN2MtMi4zLTQuNyAxLjUtOSA2LTE1LjMgNC4yLTYuNSA5LTYuMyA5LTYuMyA3Ni0yNi41IDE2OC44IDIxIDE2OC44IDIxIDg2LjggNDMuOCAxMDEuNiA5NS4zIDEwMCAxMTUuMy0xLjQgMTkuNy05IDUzLTYyLjUgNjkuMk01OSAxNDZjLTguNiA0LTIuNiAxMC40LTIuNiAxMC40IDE2LjIgMTcuMyAzNiAyOC4yIDU1IDM1IDIuMi0zMCAyLTQwLjcgMi01NS44Qzg0IDEzNy42IDY3IDE0Mi40IDU5IDE0NiIvPiA8L3N2Zz4=", + "size": "medium" + }, + { + "type": "Image", + "url": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MDAiICBoZWlnaHQ9IjI5NC40IiB2aWV3Qm94PSIwIDAgNzAwLjAwMDAxIDI5NC40MjI1OCI+IAo8c3R5bGU+CiAgCiAgLnRlc3QgewogICAgYW5pbWF0aW9uOiBmYWRlIDNzIGluZmluaXRlIGFsdGVybmF0ZTsgCiAgICAKICB9CiAgCiAgQGtleWZyYW1lcyBmYWRlIHsKICAgIAogICAgZnJvbSB7CiAgICAgIG9wYWNpdHk6IDAKICAgIH0KICAgIAogICAgdG8gewogICAgICAKICAgICAgb3BhY2l0eToxCiAgICB9CiAgICAKICB9CiAgCiAgPC9zdHlsZT4KICAKICA8cGF0aCBjbGFzcz0idGVzdCIgZD0iTTYwMi4yIDEyOC42Yy0xMS43IDIuNy00Mi42IDQuMi00Mi42IDQuMmwtMy44IDEyLjJzMTUuMy0xLjMgMjYuNS0uMmMwIDAgMy42LS4zIDQgNCAuMiA0LjQtLjMgOS0uMyA5cy0uMyAyLjctNCAzLjRjLTQuMy43LTMzLjMgMi0zMy4zIDJMNTQ0IDE3OXMtMS43IDMuNiAyLjIgMi42YzMuNi0xIDM0LTYuOCAzOC02IDQuMiAxIDkgNi44IDcuNiAxMi0xLjYgNi4zLTMyIDI1LjctNTAuNCAyNC40IDAgMC05LjcuNi0xNy44LTEyLjUtNy44LTEyLjUgMi43LTM2IDIuNy0zNnMtNC43LTExLTEuMi0xNWMwIDAgMi0xLjcgOC0yLjJsNy41LTE1LjRzLTguNS41LTEzLjUtNS43Yy00LjYtNi01LTguNi0xLjQtMTAuMiAzLjgtMiAzOS04LjMgNjMuMi03LjUgMCAwIDguNS0xIDE2IDEzLjcgMCAwIDMuNCA2LTIuNiA3LjRNNTExIDE4Ny44Yy0zIDcuMy0xMS4zIDE1LTIxLjMgMTAuMy0xMC4yLTQuOC0yNi4zLTM3LjYtMjYuMy0zNy42cy02LTEyLjItNy4yLTExLjhjMCAwLTEuMy0yLjQtMiAxMS0xIDEzLjMuMiAzOS4yLTUuMyA0My4zLTUgNC0xMSAyLjMtMTQuNC0yLjQtMi44LTQuNy00LTE2LTIuNC0zNS43IDEuOC0xOS43IDYuMy00MC43IDEyLTQ3LjIgNi02LjYgMTAuOC0xLjggMTIuNiAwIDAgMCA3LjcgNyAyMC43IDI3LjdsMi4yIDMuOHMxMS44IDE5LjcgMTMgMTkuNmMwIDAgMSAxIDEuOC4yIDEuMi0uMy44LTYuNy44LTYuN1M0OTMgMTQxIDQ4MiAxMDVjMCAwLTEuNi00LjYtLjUtOSAxLTQgNS4zLTIgNS4zLTJzMTYuNiA4IDI0LjcgMzVjOCAyNyAyLjYgNTEuNS0uNCA1OC44TTQyOS42IDExOC41Yy0xLjYgMi44LTIuMyA2LjctOS4yIDcuOCAwIDAtNjcgNC43LTcwLjMgOS40IDAgMC0yLjIgMi44IDEuNCAzLjUgMy44LjggMTkgMi44IDI2LjIgMy4yIDcuOCAwIDM0IC4yIDQzLjYgMTIgMCAwIDUuNSA1LjYgNS4zIDE4LjMtLjIgMTMtMi41IDE3LjYtNy42IDIyLjMtNS4zIDQuNC01MC43IDI0LjgtODAtNi40IDAgMC0xMy40LTE1IDQuNy0yNi40IDAgMCAxMy04IDQ2LjMgMS4zIDAgMCAxMCAzLjYgOS42IDcuMy0uNiA0LTguMyA4LTE5LjUgNy44LTEwLjgtLjMtMTguOC01LjUtMTcuMi00LjYgMS41LjUtMTEuNy02LjQtMTUuOC0xLjctNCA0LjQtMyA3IDEgOS43IDEwIDUuOCA0OS4zIDMuNyA2MS05LjQgMCAwIDQuNy01LjMtMi40LTkuNi03LTQtMjcuNC02LjUtMzUuMy02LjgtNy41LS40LTM1LjYgMC0zOS44LTcuMyAwIDAtNC01LjIuNC0xOS40IDQuNi0xNSAzNy4zLTIwLjggNTEuNS0yMiAwIDAgMzktMS42IDQ2LjMgNi40IDAgMCAxIDEuOC0uMiA0LjVNMzE5IDIwNi40Yy00LjcgMy41LTE0LjcgMi0xNy42LTItMi44LTMuNS0zLjgtMTcuMy0zLjMtMzkgLjctMjIuMiAxLTQ5LjQgNi01My44IDUtNC4zIDgtLjUgMTAgMi40IDIgMyA0LjYgNi4zIDUgMTMuMi42IDcgMi4zIDQzIDIuMyA0M3MyLjIgMzIuOC0yLjMgMzYuMk0zMjkgODkuNGMtMTMuOCA0LjctMjMuMiAzLjItMzEuMi0uMy0zLjUgNi4zLTUuNiA4LjItOC4yIDguNi00IC40LTcuNS02LTgtOC0uOC0xLjUtMi43LTQuMi0uNC0xMC4zLTcuOC03LTguNC0xNi40LTctMjIuNyAxLjgtNy40IDE1LTM1LjIgNTUtMzguNSAwIDAgMTkuNi0xLjQgMjMgOWguNnMxOSAwIDE4LjYgMTdjMCAxNy0yMSAzOC4yLTQyLjQgNDUuNW0xNy44LTQ4LjdjLTEyLjYgMi0zMiAxOC44LTQxLjMgMzIuNyAxNC4zIDIuNiAzOS4zIDEuNiA1MC41LTIxIDAgMCA1LjMtMTQuMi05LjItMTEuN20tNTUuMyAxMWMtNCA2LjUtNC4yIDEwLjQtMi4zIDEzIDQuNy03IDEzLTE4IDI1LjUtMjYuNi05LjYgMS0xNy43IDUtMjMuMiAxMy42TTYzMi4yIDIwNS43Yy05LjIgMjIuNi0xNyA0NS41LTIxLjUgNzkuOCAwIDAtMSA2LjctNi41IDQuNS01LjUtMi0xNC41LTExLTE2LjUtMjMuNy0yLTE2LjYgNS40LTQ0LjYgMjAuNS03Ni44LTQuNC03LTcuNS0xNy40LTUtMzIgMCAwIDQtMjcgMzEtNTEuNCAwIDAgMy4yLTIuNyA1LTEuOCAyLjIgMSAxLjMgOS42LS41IDE0LTEuNiA0LjItMTMuNiAyNS0xMy42IDI1cy03LjUgMTQuMi01LjQgMjUuM2MxNC4yLTIxLjggNDYuNS02NiA2Ni41LTUyIDEyLjcgOSAxMi43IDM4IDMuMiA1NC44LTcuNSAxMy4zLTI4LjcgNDAuOC01NyAzNC40bTQxLjYtNjhjLTcuNCA4LTIwLjYgMjMuMi0zMSA0My44IDExLTEuMiAyMS43LTcuMyAyNS0xMC40IDUuMy00LjcgMTcuNS0xNy40IDE1LjYtMzQuMiAwIDAtMS4yLTguOC05LjYuOE0yMjYgMjE3LjVjLTM1LjQgMTAuOC02OC44IDUuOC04NyAxLS41IDcuNC0xLjMgMTAuNS0yLjUgMTEuNy0xLjQgMS42LTEzIDguMi0xOS40LTEuMi0yLjgtNC41LTQuMi0xMi42LTUtMjAtNDEtMTguNi02MC00Ni02MC42LTQ3LTEtMS0xMC4zLTEwLjctMS0yMi43IDguNy0xMC44IDM3LjUtMjEuNyA2My4zLTI2IDEtMjIgMy40LTM5IDYuNS00Ni41IDMuNy05IDguNC0xIDEyLjYgNSAzLjQgNC41IDUuNSAyMy44IDUuNyAzOS4yIDE2LjgtLjggMjcgLjQgNDUuNyA0IDI0LjYgNC4yIDQxIDE2LjggMzkuNyAzMS0xLjIgMTQtMTQgMTkuOC0xOSAyMC4yLTUgLjQtMTMtMy4zLTEzLTMuMy01LjYtMi42LS41LTUgNi03LjggNy4yLTMuNSA1LjYtNyA1LjYtNy0yLjYtOC0zNC41LTEzLjMtNjYuMi0xMy4zIDAgMTcuNS43IDQ2LjUgMS4yIDYzLjQgMjIuMiA0LjIgMzguOCAzLjMgMzguOCAzLjNzODEtMi4zIDgzLjMtNTRjMi41LTUxLjgtODEtMTAxLjQtMTQyLjUtMTE3QzU2LjggMTQuNCAyMiAyNS44IDE5IDI3LjNjLTMuMyAxLjYtLjMgMi4yLS4zIDIuMlMyMiAzMCAyOCAzMmM2IDIgMS4yIDUgMS4yIDVDMTguNyA0MC42IDcgMzguNSA0LjcgMzMuN2MtMi4zLTQuNyAxLjUtOSA2LTE1LjMgNC4yLTYuNSA5LTYuMyA5LTYuMyA3Ni0yNi41IDE2OC44IDIxIDE2OC44IDIxIDg2LjggNDMuOCAxMDEuNiA5NS4zIDEwMCAxMTUuMy0xLjQgMTkuNy05IDUzLTYyLjUgNjkuMk01OSAxNDZjLTguNiA0LTIuNiAxMC40LTIuNiAxMC40IDE2LjIgMTcuMyAzNiAyOC4yIDU1IDM1IDIuMi0zMCAyLTQwLjcgMi01NS44Qzg0IDEzNy42IDY3IDE0Mi40IDU5IDE0NiIvPiA8L3N2Zz4=", + "height": "300px", + "width": "300px" + }, + { + "type": "Image", + "url": "symbol:adaptive-card.svg", + "backgroundColor": "#000000", + "horizontalAlignment": "right", + "width": "100px" + }, + { + "type": "Image", + "size": "medium", + "url": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSJhdXRvIiAgaGVpZ2h0PSJhdXRvIiB2aWV3Qm94PSIwIDAgNzAwLjAwMDAxIDI5NC40MjI1OCI+IAo8c3R5bGU+CiAgCiAgLnRlc3QgewogICAgYW5pbWF0aW9uOiBmYWRlIDNzIGluZmluaXRlIGFsdGVybmF0ZTsgCiAgICAKICB9CiAgCiAgQGtleWZyYW1lcyBmYWRlIHsKICAgIAogICAgZnJvbSB7CiAgICAgIG9wYWNpdHk6IDAKICAgIH0KICAgIAogICAgdG8gewogICAgICAKICAgICAgb3BhY2l0eToxCiAgICB9CiAgICAKICB9CiAgCiAgPC9zdHlsZT4KICAKICA8cGF0aCBjbGFzcz0idGVzdCIgZD0iTTYwMi4yIDEyOC42Yy0xMS43IDIuNy00Mi42IDQuMi00Mi42IDQuMmwtMy44IDEyLjJzMTUuMy0xLjMgMjYuNS0uMmMwIDAgMy42LS4zIDQgNCAuMiA0LjQtLjMgOS0uMyA5cy0uMyAyLjctNCAzLjRjLTQuMy43LTMzLjMgMi0zMy4zIDJMNTQ0IDE3OXMtMS43IDMuNiAyLjIgMi42YzMuNi0xIDM0LTYuOCAzOC02IDQuMiAxIDkgNi44IDcuNiAxMi0xLjYgNi4zLTMyIDI1LjctNTAuNCAyNC40IDAgMC05LjcuNi0xNy44LTEyLjUtNy44LTEyLjUgMi43LTM2IDIuNy0zNnMtNC43LTExLTEuMi0xNWMwIDAgMi0xLjcgOC0yLjJsNy41LTE1LjRzLTguNS41LTEzLjUtNS43Yy00LjYtNi01LTguNi0xLjQtMTAuMiAzLjgtMiAzOS04LjMgNjMuMi03LjUgMCAwIDguNS0xIDE2IDEzLjcgMCAwIDMuNCA2LTIuNiA3LjRNNTExIDE4Ny44Yy0zIDcuMy0xMS4zIDE1LTIxLjMgMTAuMy0xMC4yLTQuOC0yNi4zLTM3LjYtMjYuMy0zNy42cy02LTEyLjItNy4yLTExLjhjMCAwLTEuMy0yLjQtMiAxMS0xIDEzLjMuMiAzOS4yLTUuMyA0My4zLTUgNC0xMSAyLjMtMTQuNC0yLjQtMi44LTQuNy00LTE2LTIuNC0zNS43IDEuOC0xOS43IDYuMy00MC43IDEyLTQ3LjIgNi02LjYgMTAuOC0xLjggMTIuNiAwIDAgMCA3LjcgNyAyMC43IDI3LjdsMi4yIDMuOHMxMS44IDE5LjcgMTMgMTkuNmMwIDAgMSAxIDEuOC4yIDEuMi0uMy44LTYuNy44LTYuN1M0OTMgMTQxIDQ4MiAxMDVjMCAwLTEuNi00LjYtLjUtOSAxLTQgNS4zLTIgNS4zLTJzMTYuNiA4IDI0LjcgMzVjOCAyNyAyLjYgNTEuNS0uNCA1OC44TTQyOS42IDExOC41Yy0xLjYgMi44LTIuMyA2LjctOS4yIDcuOCAwIDAtNjcgNC43LTcwLjMgOS40IDAgMC0yLjIgMi44IDEuNCAzLjUgMy44LjggMTkgMi44IDI2LjIgMy4yIDcuOCAwIDM0IC4yIDQzLjYgMTIgMCAwIDUuNSA1LjYgNS4zIDE4LjMtLjIgMTMtMi41IDE3LjYtNy42IDIyLjMtNS4zIDQuNC01MC43IDI0LjgtODAtNi40IDAgMC0xMy40LTE1IDQuNy0yNi40IDAgMCAxMy04IDQ2LjMgMS4zIDAgMCAxMCAzLjYgOS42IDcuMy0uNiA0LTguMyA4LTE5LjUgNy44LTEwLjgtLjMtMTguOC01LjUtMTcuMi00LjYgMS41LjUtMTEuNy02LjQtMTUuOC0xLjctNCA0LjQtMyA3IDEgOS43IDEwIDUuOCA0OS4zIDMuNyA2MS05LjQgMCAwIDQuNy01LjMtMi40LTkuNi03LTQtMjcuNC02LjUtMzUuMy02LjgtNy41LS40LTM1LjYgMC0zOS44LTcuMyAwIDAtNC01LjIuNC0xOS40IDQuNi0xNSAzNy4zLTIwLjggNTEuNS0yMiAwIDAgMzktMS42IDQ2LjMgNi40IDAgMCAxIDEuOC0uMiA0LjVNMzE5IDIwNi40Yy00LjcgMy41LTE0LjcgMi0xNy42LTItMi44LTMuNS0zLjgtMTcuMy0zLjMtMzkgLjctMjIuMiAxLTQ5LjQgNi01My44IDUtNC4zIDgtLjUgMTAgMi40IDIgMyA0LjYgNi4zIDUgMTMuMi42IDcgMi4zIDQzIDIuMyA0M3MyLjIgMzIuOC0yLjMgMzYuMk0zMjkgODkuNGMtMTMuOCA0LjctMjMuMiAzLjItMzEuMi0uMy0zLjUgNi4zLTUuNiA4LjItOC4yIDguNi00IC40LTcuNS02LTgtOC0uOC0xLjUtMi43LTQuMi0uNC0xMC4zLTcuOC03LTguNC0xNi40LTctMjIuNyAxLjgtNy40IDE1LTM1LjIgNTUtMzguNSAwIDAgMTkuNi0xLjQgMjMgOWguNnMxOSAwIDE4LjYgMTdjMCAxNy0yMSAzOC4yLTQyLjQgNDUuNW0xNy44LTQ4LjdjLTEyLjYgMi0zMiAxOC44LTQxLjMgMzIuNyAxNC4zIDIuNiAzOS4zIDEuNiA1MC41LTIxIDAgMCA1LjMtMTQuMi05LjItMTEuN20tNTUuMyAxMWMtNCA2LjUtNC4yIDEwLjQtMi4zIDEzIDQuNy03IDEzLTE4IDI1LjUtMjYuNi05LjYgMS0xNy43IDUtMjMuMiAxMy42TTYzMi4yIDIwNS43Yy05LjIgMjIuNi0xNyA0NS41LTIxLjUgNzkuOCAwIDAtMSA2LjctNi41IDQuNS01LjUtMi0xNC41LTExLTE2LjUtMjMuNy0yLTE2LjYgNS40LTQ0LjYgMjAuNS03Ni44LTQuNC03LTcuNS0xNy40LTUtMzIgMCAwIDQtMjcgMzEtNTEuNCAwIDAgMy4yLTIuNyA1LTEuOCAyLjIgMSAxLjMgOS42LS41IDE0LTEuNiA0LjItMTMuNiAyNS0xMy42IDI1cy03LjUgMTQuMi01LjQgMjUuM2MxNC4yLTIxLjggNDYuNS02NiA2Ni41LTUyIDEyLjcgOSAxMi43IDM4IDMuMiA1NC44LTcuNSAxMy4zLTI4LjcgNDAuOC01NyAzNC40bTQxLjYtNjhjLTcuNCA4LTIwLjYgMjMuMi0zMSA0My44IDExLTEuMiAyMS43LTcuMyAyNS0xMC40IDUuMy00LjcgMTcuNS0xNy40IDE1LjYtMzQuMiAwIDAtMS4yLTguOC05LjYuOE0yMjYgMjE3LjVjLTM1LjQgMTAuOC02OC44IDUuOC04NyAxLS41IDcuNC0xLjMgMTAuNS0yLjUgMTEuNy0xLjQgMS42LTEzIDguMi0xOS40LTEuMi0yLjgtNC41LTQuMi0xMi42LTUtMjAtNDEtMTguNi02MC00Ni02MC42LTQ3LTEtMS0xMC4zLTEwLjctMS0yMi43IDguNy0xMC44IDM3LjUtMjEuNyA2My4zLTI2IDEtMjIgMy40LTM5IDYuNS00Ni41IDMuNy05IDguNC0xIDEyLjYgNSAzLjQgNC41IDUuNSAyMy44IDUuNyAzOS4yIDE2LjgtLjggMjcgLjQgNDUuNyA0IDI0LjYgNC4yIDQxIDE2LjggMzkuNyAzMS0xLjIgMTQtMTQgMTkuOC0xOSAyMC4yLTUgLjQtMTMtMy4zLTEzLTMuMy01LjYtMi42LS41LTUgNi03LjggNy4yLTMuNSA1LjYtNyA1LjYtNy0yLjYtOC0zNC41LTEzLjMtNjYuMi0xMy4zIDAgMTcuNS43IDQ2LjUgMS4yIDYzLjQgMjIuMiA0LjIgMzguOCAzLjMgMzguOCAzLjNzODEtMi4zIDgzLjMtNTRjMi41LTUxLjgtODEtMTAxLjQtMTQyLjUtMTE3QzU2LjggMTQuNCAyMiAyNS44IDE5IDI3LjNjLTMuMyAxLjYtLjMgMi4yLS4zIDIuMlMyMiAzMCAyOCAzMmM2IDIgMS4yIDUgMS4yIDVDMTguNyA0MC42IDcgMzguNSA0LjcgMzMuN2MtMi4zLTQuNyAxLjUtOSA2LTE1LjMgNC4yLTYuNSA5LTYuMyA5LTYuMyA3Ni0yNi41IDE2OC44IDIxIDE2OC44IDIxIDg2LjggNDMuOCAxMDEuNiA5NS4zIDEwMCAxMTUuMy0xLjQgMTkuNy05IDUzLTYyLjUgNjkuMk01OSAxNDZjLTguNiA0LTIuNiAxMC40LTIuNiAxMC40IDE2LjIgMTcuMyAzNiAyOC4yIDU1IDM1IDIuMi0zMCAyLTQwLjcgMi01NS44Qzg0IDEzNy42IDY3IDE0Mi40IDU5IDE0NiIvPiA8L3N2Zz4=" + }, + { + "type": "Image", + "url": "https://adaptivecards.io/content/adaptive-card.svg" + }, + { + "type": "Image", + "backgroundColor": "#eeeeee", + "style": "person", + "url": "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSJhdXRvIiAgaGVpZ2h0PSJhdXRvIiB2aWV3Qm94PSIwIDAgNzAwLjAwMDAxIDI5NC40MjI1OCI+IAo8c3R5bGU+CiAgCiAgLnRlc3QgewogICAgYW5pbWF0aW9uOiBmYWRlIDNzIGluZmluaXRlIGFsdGVybmF0ZTsgCiAgICAKICB9CiAgCiAgQGtleWZyYW1lcyBmYWRlIHsKICAgIAogICAgZnJvbSB7CiAgICAgIG9wYWNpdHk6IDAKICAgIH0KICAgIAogICAgdG8gewogICAgICAKICAgICAgb3BhY2l0eToxCiAgICB9CiAgICAKICB9CiAgCiAgPC9zdHlsZT4KICAKICA8cGF0aCBjbGFzcz0idGVzdCIgZD0iTTYwMi4yIDEyOC42Yy0xMS43IDIuNy00Mi42IDQuMi00Mi42IDQuMmwtMy44IDEyLjJzMTUuMy0xLjMgMjYuNS0uMmMwIDAgMy42LS4zIDQgNCAuMiA0LjQtLjMgOS0uMyA5cy0uMyAyLjctNCAzLjRjLTQuMy43LTMzLjMgMi0zMy4zIDJMNTQ0IDE3OXMtMS43IDMuNiAyLjIgMi42YzMuNi0xIDM0LTYuOCAzOC02IDQuMiAxIDkgNi44IDcuNiAxMi0xLjYgNi4zLTMyIDI1LjctNTAuNCAyNC40IDAgMC05LjcuNi0xNy44LTEyLjUtNy44LTEyLjUgMi43LTM2IDIuNy0zNnMtNC43LTExLTEuMi0xNWMwIDAgMi0xLjcgOC0yLjJsNy41LTE1LjRzLTguNS41LTEzLjUtNS43Yy00LjYtNi01LTguNi0xLjQtMTAuMiAzLjgtMiAzOS04LjMgNjMuMi03LjUgMCAwIDguNS0xIDE2IDEzLjcgMCAwIDMuNCA2LTIuNiA3LjRNNTExIDE4Ny44Yy0zIDcuMy0xMS4zIDE1LTIxLjMgMTAuMy0xMC4yLTQuOC0yNi4zLTM3LjYtMjYuMy0zNy42cy02LTEyLjItNy4yLTExLjhjMCAwLTEuMy0yLjQtMiAxMS0xIDEzLjMuMiAzOS4yLTUuMyA0My4zLTUgNC0xMSAyLjMtMTQuNC0yLjQtMi44LTQuNy00LTE2LTIuNC0zNS43IDEuOC0xOS43IDYuMy00MC43IDEyLTQ3LjIgNi02LjYgMTAuOC0xLjggMTIuNiAwIDAgMCA3LjcgNyAyMC43IDI3LjdsMi4yIDMuOHMxMS44IDE5LjcgMTMgMTkuNmMwIDAgMSAxIDEuOC4yIDEuMi0uMy44LTYuNy44LTYuN1M0OTMgMTQxIDQ4MiAxMDVjMCAwLTEuNi00LjYtLjUtOSAxLTQgNS4zLTIgNS4zLTJzMTYuNiA4IDI0LjcgMzVjOCAyNyAyLjYgNTEuNS0uNCA1OC44TTQyOS42IDExOC41Yy0xLjYgMi44LTIuMyA2LjctOS4yIDcuOCAwIDAtNjcgNC43LTcwLjMgOS40IDAgMC0yLjIgMi44IDEuNCAzLjUgMy44LjggMTkgMi44IDI2LjIgMy4yIDcuOCAwIDM0IC4yIDQzLjYgMTIgMCAwIDUuNSA1LjYgNS4zIDE4LjMtLjIgMTMtMi41IDE3LjYtNy42IDIyLjMtNS4zIDQuNC01MC43IDI0LjgtODAtNi40IDAgMC0xMy40LTE1IDQuNy0yNi40IDAgMCAxMy04IDQ2LjMgMS4zIDAgMCAxMCAzLjYgOS42IDcuMy0uNiA0LTguMyA4LTE5LjUgNy44LTEwLjgtLjMtMTguOC01LjUtMTcuMi00LjYgMS41LjUtMTEuNy02LjQtMTUuOC0xLjctNCA0LjQtMyA3IDEgOS43IDEwIDUuOCA0OS4zIDMuNyA2MS05LjQgMCAwIDQuNy01LjMtMi40LTkuNi03LTQtMjcuNC02LjUtMzUuMy02LjgtNy41LS40LTM1LjYgMC0zOS44LTcuMyAwIDAtNC01LjIuNC0xOS40IDQuNi0xNSAzNy4zLTIwLjggNTEuNS0yMiAwIDAgMzktMS42IDQ2LjMgNi40IDAgMCAxIDEuOC0uMiA0LjVNMzE5IDIwNi40Yy00LjcgMy41LTE0LjcgMi0xNy42LTItMi44LTMuNS0zLjgtMTcuMy0zLjMtMzkgLjctMjIuMiAxLTQ5LjQgNi01My44IDUtNC4zIDgtLjUgMTAgMi40IDIgMyA0LjYgNi4zIDUgMTMuMi42IDcgMi4zIDQzIDIuMyA0M3MyLjIgMzIuOC0yLjMgMzYuMk0zMjkgODkuNGMtMTMuOCA0LjctMjMuMiAzLjItMzEuMi0uMy0zLjUgNi4zLTUuNiA4LjItOC4yIDguNi00IC40LTcuNS02LTgtOC0uOC0xLjUtMi43LTQuMi0uNC0xMC4zLTcuOC03LTguNC0xNi40LTctMjIuNyAxLjgtNy40IDE1LTM1LjIgNTUtMzguNSAwIDAgMTkuNi0xLjQgMjMgOWguNnMxOSAwIDE4LjYgMTdjMCAxNy0yMSAzOC4yLTQyLjQgNDUuNW0xNy44LTQ4LjdjLTEyLjYgMi0zMiAxOC44LTQxLjMgMzIuNyAxNC4zIDIuNiAzOS4zIDEuNiA1MC41LTIxIDAgMCA1LjMtMTQuMi05LjItMTEuN20tNTUuMyAxMWMtNCA2LjUtNC4yIDEwLjQtMi4zIDEzIDQuNy03IDEzLTE4IDI1LjUtMjYuNi05LjYgMS0xNy43IDUtMjMuMiAxMy42TTYzMi4yIDIwNS43Yy05LjIgMjIuNi0xNyA0NS41LTIxLjUgNzkuOCAwIDAtMSA2LjctNi41IDQuNS01LjUtMi0xNC41LTExLTE2LjUtMjMuNy0yLTE2LjYgNS40LTQ0LjYgMjAuNS03Ni44LTQuNC03LTcuNS0xNy40LTUtMzIgMCAwIDQtMjcgMzEtNTEuNCAwIDAgMy4yLTIuNyA1LTEuOCAyLjIgMSAxLjMgOS42LS41IDE0LTEuNiA0LjItMTMuNiAyNS0xMy42IDI1cy03LjUgMTQuMi01LjQgMjUuM2MxNC4yLTIxLjggNDYuNS02NiA2Ni41LTUyIDEyLjcgOSAxMi43IDM4IDMuMiA1NC44LTcuNSAxMy4zLTI4LjcgNDAuOC01NyAzNC40bTQxLjYtNjhjLTcuNCA4LTIwLjYgMjMuMi0zMSA0My44IDExLTEuMiAyMS43LTcuMyAyNS0xMC40IDUuMy00LjcgMTcuNS0xNy40IDE1LjYtMzQuMiAwIDAtMS4yLTguOC05LjYuOE0yMjYgMjE3LjVjLTM1LjQgMTAuOC02OC44IDUuOC04NyAxLS41IDcuNC0xLjMgMTAuNS0yLjUgMTEuNy0xLjQgMS42LTEzIDguMi0xOS40LTEuMi0yLjgtNC41LTQuMi0xMi42LTUtMjAtNDEtMTguNi02MC00Ni02MC42LTQ3LTEtMS0xMC4zLTEwLjctMS0yMi43IDguNy0xMC44IDM3LjUtMjEuNyA2My4zLTI2IDEtMjIgMy40LTM5IDYuNS00Ni41IDMuNy05IDguNC0xIDEyLjYgNSAzLjQgNC41IDUuNSAyMy44IDUuNyAzOS4yIDE2LjgtLjggMjcgLjQgNDUuNyA0IDI0LjYgNC4yIDQxIDE2LjggMzkuNyAzMS0xLjIgMTQtMTQgMTkuOC0xOSAyMC4yLTUgLjQtMTMtMy4zLTEzLTMuMy01LjYtMi42LS41LTUgNi03LjggNy4yLTMuNSA1LjYtNyA1LjYtNy0yLjYtOC0zNC41LTEzLjMtNjYuMi0xMy4zIDAgMTcuNS43IDQ2LjUgMS4yIDYzLjQgMjIuMiA0LjIgMzguOCAzLjMgMzguOCAzLjNzODEtMi4zIDgzLjMtNTRjMi41LTUxLjgtODEtMTAxLjQtMTQyLjUtMTE3QzU2LjggMTQuNCAyMiAyNS44IDE5IDI3LjNjLTMuMyAxLjYtLjMgMi4yLS4zIDIuMlMyMiAzMCAyOCAzMmM2IDIgMS4yIDUgMS4yIDVDMTguNyA0MC42IDcgMzguNSA0LjcgMzMuN2MtMi4zLTQuNyAxLjUtOSA2LTE1LjMgNC4yLTYuNSA5LTYuMyA5LTYuMyA3Ni0yNi41IDE2OC44IDIxIDE2OC44IDIxIDg2LjggNDMuOCAxMDEuNiA5NS4zIDEwMCAxMTUuMy0xLjQgMTkuNy05IDUzLTYyLjUgNjkuMk01OSAxNDZjLTguNiA0LTIuNiAxMC40LTIuNiAxMC40IDE2LjIgMTcuMyAzNiAyOC4yIDU1IDM1IDIuMi0zMCAyLTQwLjcgMi01NS44Qzg0IDEzNy42IDY3IDE0Mi40IDU5IDE0NiIvPiA8L3N2Zz4=" + } + ] +} diff --git a/samples/v1.6/Elements/Action.Role.json b/samples/v1.6/Elements/Action.Role.json new file mode 100644 index 0000000000..f635234454 --- /dev/null +++ b/samples/v1.6/Elements/Action.Role.json @@ -0,0 +1,86 @@ +{ + "type": "AdaptiveCard", + "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", + "version": "1.6", + "body": [ + { + "type": "TextBlock", + "text": "The actions below should use the enum role values", + "wrap": true + }, + { + "type": "ActionSet", + "actions": [ + { + "type": "Action.OpenUrl", + "title": "Action.OpenUrl", + "role": "button", + "url": "https://adaptivecards.io" + }, + { + "type": "Action.Submit", + "title": "Action.Submit", + "role": "tab" + }, + { + "type": "Action.ShowCard", + "title": "Action.ShowCard", + "card": { + "type": "AdaptiveCard" + }, + "role": "menu" + }, + { + "type": "Action.Submit", + "title": "Action.Submit", + "role": "menuItem" + }, + { + "type": "Action.Execute", + "title": "Action.Execute", + "role": "link" + } + ] + }, + { + "type": "TextBlock", + "text": "The actions below have invalid role values and should default to link and button", + "wrap": true + }, + { + "type": "ActionSet", + "actions": [ + { + "type": "Action.OpenUrl", + "title": "Action.OpenUrl", + "role": "invalidrole", + "url": "https://adaptivecards.io" + }, + { + "type": "Action.Submit", + "title": "Action.Submit", + "role": "invalidrole" + } + ] + }, + { + "type": "TextBlock", + "text": "The actions below do not have role values and should be link and button", + "wrap": true + }, + { + "type": "ActionSet", + "actions": [ + { + "type": "Action.OpenUrl", + "title": "Action.OpenUrl", + "url": "https://adaptivecards.io" + }, + { + "type": "Action.Submit", + "title": "Action.Submit" + } + ] + } + ] +} diff --git a/samples/v1.6/Elements/ImageSet.Stacked.Style.json b/samples/v1.6/Elements/ImageSet.Stacked.Style.json index e67e406c38..19f48750b2 100644 --- a/samples/v1.6/Elements/ImageSet.Stacked.Style.json +++ b/samples/v1.6/Elements/ImageSet.Stacked.Style.json @@ -50,6 +50,7 @@ } ], "backgroundImage": { + "url": "https://adaptivecards.io/content/cats/1.png", "verticalAlignment": "Center", "horizontalAlignment": "Center" }, diff --git a/samples/v1.6/Elements/Input.ChoiceSet.DynamicTypeahead.json b/samples/v1.6/Elements/Input.ChoiceSet.DynamicTypeahead.json new file mode 100644 index 0000000000..7075431963 --- /dev/null +++ b/samples/v1.6/Elements/Input.ChoiceSet.DynamicTypeahead.json @@ -0,0 +1,34 @@ +{ + "type": "AdaptiveCard", + "version": "1.6", + "body": [ + { + "type": "Input.ChoiceSet", + "id": "dynamicChoiceSet", + "label": "Enter the name of your team", + "placeholder": "AdaptiveCards", + "isRequired": true, + "errorMessage": "You must select a valid team", + "choices": [ + { + "title": "Office", + "value": "1" + }, + { + "title": "Teams", + "value": "2" + }, + { + "title": "Outlook", + "value": "3" + } + ], + "choices.data": { + "type": "Data.Query", + "dataset": "teamScopeInOrg", + "count": 15, + "skip": 0 + } + } + ] +} \ No newline at end of file diff --git a/samples/v1.6/Tests/Carousel.SelectAction.In.ParentContainer.json b/samples/v1.6/Tests/Carousel.SelectAction.In.ParentContainer.json index e66475fb61..e73beb5416 100644 --- a/samples/v1.6/Tests/Carousel.SelectAction.In.ParentContainer.json +++ b/samples/v1.6/Tests/Carousel.SelectAction.In.ParentContainer.json @@ -40,6 +40,7 @@ ], "selectAction": { "type": "Action.OpenUrl", + "url": "https://adaptivecards.io", "title": "Container Level 2 Select Action" } } diff --git a/samples/v1.6/Tests/Carousel.ShowCard.json b/samples/v1.6/Tests/Carousel.ShowCard.json index 907a7db266..eedd0d095e 100644 --- a/samples/v1.6/Tests/Carousel.ShowCard.json +++ b/samples/v1.6/Tests/Carousel.ShowCard.json @@ -57,6 +57,7 @@ ], "selectAction": { "type": "Action.OpenUrl", + "url": "https://adaptivecards.io", "title": "Container Level 2 Select Action" } } diff --git a/samples/v1.6/Tests/Input.ChoiceSet.DynamicTypeahead.json b/samples/v1.6/Tests/Input.ChoiceSet.DynamicTypeahead.json new file mode 100644 index 0000000000..7ee8256d23 --- /dev/null +++ b/samples/v1.6/Tests/Input.ChoiceSet.DynamicTypeahead.json @@ -0,0 +1,29 @@ +{ + "version": "1.6", + "type": "AdaptiveCard", + "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", + "body": [ + { + "type": "Input.ChoiceSet", + "isMultiSelect": false, + "label": "Please select a package", + "style": "filtered", + "id": "chosenPackage", + "isRequired": true, + "errorMessage": "Please select a package", + "choices.data": + { + "type": "Data.Query", + "dataset": "packagesInScope", + "count": 1, + "skip": 2 + } + } + ], + "actions": [ + { + "title": "OK", + "type": "Action.Submit" + } + ] +} diff --git a/samples/v1.6/Tests/Input.ChoiceSet.Static&DynamicTypeahead.json b/samples/v1.6/Tests/Input.ChoiceSet.Static&DynamicTypeahead.json new file mode 100644 index 0000000000..95cbba03bb --- /dev/null +++ b/samples/v1.6/Tests/Input.ChoiceSet.Static&DynamicTypeahead.json @@ -0,0 +1,51 @@ +{ + "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", + "type": "AdaptiveCard", + "version": "1.6", + "body": [ + { + "type": "TextBlock", + "text": "Select package" + }, + { + "type": "Input.ChoiceSet", + "id": "choiceset1", + "value": "4", + "choices": [ + { + "title": "Microsoft.IdentityModel.Tokens.static", + "value": "1" + }, + { + "title": "Microsoft.IdentityModel.Logging.static", + "value": "2" + }, + { + "title": "Microsoft.IdentityModel.Auth.static", + "value": "3" + }, + { + "title": "Ms.IdentityModel.static", + "value": "4" + }, + { + "title": "Ms.IdentityModel.tokens.static", + "value": "5" + } + ], + "choices.data": + { + "type": "Data.Query", + "dataset": "graph.microsoft.com/users", + "count": 1, + "skip": 2 + } + } + ], + "actions": [ + { + "type": "Action.Submit", + "title": "Submit" + } + ] +} diff --git a/schemas/1.6.0/adaptive-card.json b/schemas/1.6.0/adaptive-card.json index 1d4ffb949d..390fb585cf 100644 --- a/schemas/1.6.0/adaptive-card.json +++ b/schemas/1.6.0/adaptive-card.json @@ -1071,6 +1071,37 @@ } ] }, + "Data.Query": { + "description": "The data populated in the event payload for fetching dynamic choices, sent to the card-author to help identify the dataset from which choices might be fetched to be displayed in the dropdown. It might contain auxillary data to limit the maximum number of choices that can be sent and to support pagination.", + "properties": { + "type": { + "enum": [ + "Data.Query" + ], + "description": "Must be `Data.Query`" + }, + "dataset": { + "type": "string", + "description": "The dataset to be queried to get the choices.", + "version": "1.6" + }, + "count": { + "type": "number", + "description": "The maximum number of choices that should be returned by the query. It can be ignored if the card-author wants to send a different number.", + "version": "1.6" + }, + "skip": { + "type": "number", + "description": "The number of choices to be skipped in the list of choices returned by the query. It can be ignored if the card-author does not want pagination.", + "version": "1.6" + } + }, + "type": "object", + "additionalProperties": false, + "required": [ + "dataset" + ] + }, "Input.Choice": { "description": "Describes a choice for use in a ChoiceSet.", "properties": { @@ -1112,6 +1143,11 @@ }, "description": "`Choice` options." }, + "choices.data": { + "$ref": "#/definitions/Data.Query", + "description": "Allows dynamic fetching of choices from the bot to be displayed as suggestions in the dropdown when the user types in the input field.", + "version": "1.6" + }, "isMultiSelect": { "type": "boolean", "description": "Allow multiple choices to be selected.", @@ -1137,6 +1173,9 @@ "errorMessage": {}, "isRequired": {}, "label": {}, + "labelPosition": {}, + "labelWidth": {}, + "inputStyle": {}, "fallback": {}, "height": {}, "separator": {}, @@ -1181,6 +1220,9 @@ "errorMessage": {}, "isRequired": {}, "label": {}, + "labelPosition": {}, + "labelWidth": {}, + "inputStyle": {}, "fallback": {}, "height": {}, "separator": {}, @@ -1225,6 +1267,9 @@ "errorMessage": {}, "isRequired": {}, "label": {}, + "labelPosition": {}, + "labelWidth": {}, + "inputStyle": {}, "fallback": {}, "height": {}, "separator": {}, @@ -1284,6 +1329,9 @@ "errorMessage": {}, "isRequired": {}, "label": {}, + "labelPosition": {}, + "labelWidth": {}, + "inputStyle": {}, "fallback": {}, "height": {}, "separator": {}, @@ -1328,6 +1376,9 @@ "errorMessage": {}, "isRequired": {}, "label": {}, + "labelPosition": {}, + "labelWidth": {}, + "inputStyle": {}, "fallback": {}, "height": {}, "separator": {}, @@ -1380,6 +1431,9 @@ "errorMessage": {}, "isRequired": {}, "label": {}, + "labelPosition": {}, + "labelWidth": {}, + "inputStyle": {}, "fallback": {}, "height": {}, "separator": {}, @@ -2168,6 +2222,34 @@ } ] }, + "InputLabelPosition": { + "description": "Specifies position of the label with respect to input.", + "anyOf": [ + { + "enum": [ + "inline", + "above" + ] + }, + { + "pattern": "^([i|I][n|N][l|L][i|I][n|N][e|E])|([a|A][b|B][o|O][v|V][e|E])$" + } + ] + }, + "InputStyle": { + "description": "`revealOnHover`: Show input fields in read only view unless user takes any action. `default`: Show the default editable state for input controls", + "anyOf": [ + { + "enum": [ + "revealOnHover", + "default" + ] + }, + { + "pattern": "^([r|R][e|E][v|V][e|E][a|A][l|L][o|O][n|N][h|H][o|O][v|V][e|E][r|R])|([d|D][e|E][f|F][a|A][u|U][l|L][t|T])$" + } + ] + }, "Spacing": { "description": "Specifies how much spacing. Hosts pick the exact pixel amounts for each of these.", "anyOf": [ @@ -3279,6 +3361,28 @@ "description": "Label for this input", "version": "1.3" }, + "labelPosition": { + "$ref": "#/definitions/InputLabelPosition", + "description": "[SUPPORTED ONLY IN JAVASCRIPT SDK] Determines the position of the label. It can take 'inline' and 'above' values. By default, the label is placed 'above' when label position is not specified.", + "version": "1.6" + }, + "labelWidth": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ], + "description": "[SUPPORTED ONLY IN JAVASCRIPT SDK] Determines the width of the label in percent like 40 or a specific pixel width like '40px' when label is placed inline with the input. labelWidth would be ignored when the label is displayed above the input.", + "version": "1.6" + }, + "inputStyle": { + "$ref": "#/definitions/InputStyle", + "description": "[SUPPORTED ONLY IN JAVASCRIPT SDK] Style hint for input fields. Allows input fields to appear as read-only but when user clicks/focuses on the field, it allows them to update those fields.", + "version": "1.6" + }, "fallback": { "anyOf": [ { diff --git a/schemas/src/elements/inputs/Data.Query.json b/schemas/src/elements/inputs/Data.Query.json new file mode 100644 index 0000000000..71aba46ab6 --- /dev/null +++ b/schemas/src/elements/inputs/Data.Query.json @@ -0,0 +1,22 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/AdaptiveCards/6f39aedce45864ae1067ed44a5551dc973790bb5/source/nodejs/typed-schema/schema/lib/Type.json", + "description": "The data populated in the event payload for fetching dynamic choices, sent to the card-author to help identify the dataset from which choices might be fetched to be displayed in the dropdown. It might contain auxillary data to limit the maximum number of choices that can be sent and to support pagination.", + "properties": { + "dataset": { + "type": "string", + "description": "The dataset to be queried to get the choices.", + "required": true, + "version": "1.6" + }, + "count": { + "type": "number", + "description": "The maximum number of choices that should be returned by the query. It can be ignored if the card-author wants to send a different number.", + "version": "1.6" + }, + "skip": { + "type": "number", + "description": "The number of choices to be skipped in the list of choices returned by the query. It can be ignored if the card-author does not want pagination.", + "version": "1.6" + } + } +} diff --git a/schemas/src/elements/inputs/Input.ChoiceSet.json b/schemas/src/elements/inputs/Input.ChoiceSet.json index 76aaf94e83..07c306e7c3 100644 --- a/schemas/src/elements/inputs/Input.ChoiceSet.json +++ b/schemas/src/elements/inputs/Input.ChoiceSet.json @@ -7,6 +7,11 @@ "type": "Input.Choice[]", "description": "`Choice` options." }, + "choices.data": { + "type": "Data.Query", + "description": "Allows dynamic fetching of choices from the bot to be displayed as suggestions in the dropdown when the user types in the input field.", + "version": "1.6" + }, "isMultiSelect": { "type": "boolean", "description": "Allow multiple choices to be selected.", diff --git a/schemas/src/elements/inputs/Input.json b/schemas/src/elements/inputs/Input.json index 89eaacb903..b0d441d6e4 100644 --- a/schemas/src/elements/inputs/Input.json +++ b/schemas/src/elements/inputs/Input.json @@ -24,6 +24,21 @@ "type": "string", "description": "Label for this input", "version": "1.3" + }, + "labelPosition": { + "type": "InputLabelPosition", + "description": "[SUPPORTED ONLY IN JAVASCRIPT SDK] Determines the position of the label. It can take 'inline' and 'above' values. By default, the label is placed 'above' when label position is not specified.", + "version": "1.6" + }, + "labelWidth": { + "type": "string|number", + "description": "[SUPPORTED ONLY IN JAVASCRIPT SDK] Determines the width of the label in percent like 40 or a specific pixel width like '40px' when label is placed inline with the input. labelWidth would be ignored when the label is displayed above the input.", + "version": "1.6" + }, + "inputStyle": { + "type": "InputStyle", + "description": "[SUPPORTED ONLY IN JAVASCRIPT SDK] Style hint for input fields. Allows input fields to appear as read-only but when user clicks/focuses on the field, it allows them to update those fields.", + "version": "1.6" } } } diff --git a/schemas/src/enums/InputLabelPosition.json b/schemas/src/enums/InputLabelPosition.json new file mode 100644 index 0000000000..c3af3ed306 --- /dev/null +++ b/schemas/src/enums/InputLabelPosition.json @@ -0,0 +1,9 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/AdaptiveCards/6f39aedce45864ae1067ed44a5551dc973790bb5/source/nodejs/typed-schema/schema/lib/Type.json", + "classType": "Enum", + "description": "Specifies position of the label with respect to input.", + "values": [ + "inline", + "above" + ] +} diff --git a/schemas/src/enums/InputStyle.json b/schemas/src/enums/InputStyle.json new file mode 100644 index 0000000000..5321ba3327 --- /dev/null +++ b/schemas/src/enums/InputStyle.json @@ -0,0 +1,9 @@ +{ + "$schema": "https://raw.githubusercontent.com/microsoft/AdaptiveCards/6f39aedce45864ae1067ed44a5551dc973790bb5/source/nodejs/typed-schema/schema/lib/Type.json", + "classType": "Enum", + "description": "`revealOnHover`: Show input fields in read only view unless user takes any action. `default`: Show the default editable state for input controls", + "values": [ + "revealOnHover", + "default" + ] +} diff --git a/source/NuGet.config b/source/NuGet.config index bc826a7412..04b4b6ac94 100644 --- a/source/NuGet.config +++ b/source/NuGet.config @@ -3,7 +3,7 @@ - + diff --git a/source/android/adaptivecards/build.gradle b/source/android/adaptivecards/build.gradle index 448a159698..adb19b1d51 100644 --- a/source/android/adaptivecards/build.gradle +++ b/source/android/adaptivecards/build.gradle @@ -6,7 +6,7 @@ plugins { apply from: '../constants.gradle' apply plugin: 'com.android.library' apply plugin: 'kotlin-android' -apply plugin: 'maven' +apply plugin: 'kotlin-kapt' apply plugin: 'maven-publish' android { @@ -15,8 +15,6 @@ android { defaultConfig { minSdkVersion project.ext.minSdkVersion targetSdkVersion project.ext.targetSdkVersion - versionCode 1 - versionName "1.0" multiDexEnabled true testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' externalNativeBuild { @@ -41,7 +39,11 @@ android { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } - ndkVersion '24.0.8215888' + ndkVersion '23.1.7779620' + + lintOptions { + abortOnError false + } } task sourceJar(type: Jar) { diff --git a/source/android/adaptivecards/src/main/java/io/adaptivecards/objectmodel/AdaptiveCardSchemaKey.java b/source/android/adaptivecards/src/main/java/io/adaptivecards/objectmodel/AdaptiveCardSchemaKey.java index 897c9d8358..e9f26da7eb 100644 --- a/source/android/adaptivecards/src/main/java/io/adaptivecards/objectmodel/AdaptiveCardSchemaKey.java +++ b/source/android/adaptivecards/src/main/java/io/adaptivecards/objectmodel/AdaptiveCardSchemaKey.java @@ -130,6 +130,7 @@ public enum AdaptiveCardSchemaKey { MaxWidth, Media, Medium, + MetaData, Method, MimeType, Min, @@ -204,6 +205,7 @@ public enum AdaptiveCardSchemaKey { VerticalCellContentAlignment, VerticalContentAlignment, Warning, + WebUrl, Weight, Width, Wrap; diff --git a/source/android/adaptivecards/src/main/java/io/adaptivecards/objectmodel/RichTextElementProperties.java b/source/android/adaptivecards/src/main/java/io/adaptivecards/objectmodel/RichTextElementProperties.java index 53e72d27fe..921340679a 100644 --- a/source/android/adaptivecards/src/main/java/io/adaptivecards/objectmodel/RichTextElementProperties.java +++ b/source/android/adaptivecards/src/main/java/io/adaptivecards/objectmodel/RichTextElementProperties.java @@ -1,8 +1,8 @@ /* ---------------------------------------------------------------------------- - * This file was automatically generated by SWIG (http://www.swig.org). - * Version 4.0.2 + * This file was automatically generated by SWIG (https://www.swig.org). + * Version 4.1.1 * - * Do not make changes to this file unless you know what you are doing--modify + * Do not make changes to this file unless you know what you are doing - modify * the SWIG interface file instead. * ----------------------------------------------------------------------------- */ diff --git a/source/android/adaptivecards/src/main/java/io/adaptivecards/renderer/AdaptiveCardRenderer.java b/source/android/adaptivecards/src/main/java/io/adaptivecards/renderer/AdaptiveCardRenderer.java index 93bd9112ae..e531d660a0 100644 --- a/source/android/adaptivecards/src/main/java/io/adaptivecards/renderer/AdaptiveCardRenderer.java +++ b/source/android/adaptivecards/src/main/java/io/adaptivecards/renderer/AdaptiveCardRenderer.java @@ -24,7 +24,7 @@ public class AdaptiveCardRenderer { - public static final String VERSION = "1.5"; + public static final String VERSION = "1.6"; protected AdaptiveCardRenderer() { diff --git a/source/android/adaptivecards/src/main/java/io/adaptivecards/renderer/input/InputUtil.java b/source/android/adaptivecards/src/main/java/io/adaptivecards/renderer/input/InputUtil.java index aefa8cf85b..174d0309f1 100644 --- a/source/android/adaptivecards/src/main/java/io/adaptivecards/renderer/input/InputUtil.java +++ b/source/android/adaptivecards/src/main/java/io/adaptivecards/renderer/input/InputUtil.java @@ -27,6 +27,8 @@ public static TextView RenderInputLabel(String label, boolean isRequired, Contex CharSequence text = RendererUtil.handleSpecialText(label); paragraph.append(text); + CharSequence labelContentDescription = text; + InputLabelConfig inputLabelConfig; if (isRequired) { @@ -46,6 +48,13 @@ public static TextView RenderInputLabel(String label, boolean isRequired, Contex if (requiredLabelSuffix == null || requiredLabelSuffix.isEmpty()) { requiredLabelSuffix = " *"; + + // TalkBack should read "required" instead of "asterisk" + labelContentDescription += " required"; + } + else + { + labelContentDescription += requiredLabelSuffix; } paragraph.append(requiredLabelSuffix); @@ -55,6 +64,7 @@ public static TextView RenderInputLabel(String label, boolean isRequired, Contex TextView labelView = new TextView(context); labelView.setText(paragraph); labelView.setTextAlignment(View.TEXT_ALIGNMENT_VIEW_START); + labelView.setContentDescription(labelContentDescription); TextBlockRenderer.applyTextFormat(labelView, hostConfig, TextStyle.Default, FontType.Default, inputLabelConfig.getWeight(), renderArgs); TextBlockRenderer.applyTextSize(labelView, hostConfig, TextStyle.Default, FontType.Default, inputLabelConfig.getSize(), renderArgs); diff --git a/source/android/adaptivecards/src/main/java/io/adaptivecards/renderer/readonly/RichTextBlockRenderer.java b/source/android/adaptivecards/src/main/java/io/adaptivecards/renderer/readonly/RichTextBlockRenderer.java index 7f65fa9731..7322689087 100644 --- a/source/android/adaptivecards/src/main/java/io/adaptivecards/renderer/readonly/RichTextBlockRenderer.java +++ b/source/android/adaptivecards/src/main/java/io/adaptivecards/renderer/readonly/RichTextBlockRenderer.java @@ -24,6 +24,8 @@ import androidx.annotation.NonNull; import androidx.fragment.app.FragmentManager; +import java.util.Locale; + import io.adaptivecards.objectmodel.BaseActionElement; import io.adaptivecards.objectmodel.BaseCardElement; import io.adaptivecards.objectmodel.FontType; @@ -131,7 +133,10 @@ else if ((textRun = TextRun.dynamic_cast(inline)) == null) TextWeight textWeight = TextRendererUtil.computeTextWeight(hostConfig, TextStyle.Default, textRun.GetTextWeight(), renderArgs); boolean isSubtle = TextRendererUtil.computeIsSubtle(hostConfig, TextStyle.Default, textRun.GetIsSubtle(), renderArgs); FontType fontType = TextRendererUtil.computeFontType(hostConfig, TextStyle.Default, textRun.GetFontType(), renderArgs); - + if (textRun.GetLanguage() == null || textRun.GetLanguage().isEmpty()) + { + textRun.SetLanguage(Locale.getDefault().getLanguage()); + } DateTimeParser parser = new DateTimeParser(textRun.GetLanguage()); String formattedText = parser.GenerateString(textRun.GetTextForDateParsing()); diff --git a/source/android/build.gradle b/source/android/build.gradle index 2eb546fb63..7b62a5d36d 100644 --- a/source/android/build.gradle +++ b/source/android/build.gradle @@ -1,14 +1,14 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { - ext.kotlin_version = '1.5.10' + ext.kotlin_version = '1.6.21' repositories { google() mavenCentral() jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:4.1.3' + classpath 'com.android.tools.build:gradle:7.3.1' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong diff --git a/source/android/constants.gradle b/source/android/constants.gradle index fd5ddfd243..0858d45d0f 100644 --- a/source/android/constants.gradle +++ b/source/android/constants.gradle @@ -16,7 +16,7 @@ project.ext { // Packages versions androidxMultidexVersion = '2.0.1' - kotlinAnnotationsVersion = '1.5.31' + kotlinAnnotationsVersion = '1.6.21' androidxAnnotationVersion = '1.3.0' androidxAppCompatVersion = '1.3.1' androidxCollectionVersion = '1.1.0' diff --git a/source/android/gradle/wrapper/gradle-wrapper.properties b/source/android/gradle/wrapper/gradle-wrapper.properties index 117aaef648..ffd053e7a6 100644 --- a/source/android/gradle/wrapper/gradle-wrapper.properties +++ b/source/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.4-all.zip diff --git a/source/android/mobile/build.gradle b/source/android/mobile/build.gradle index 77199deb5e..6eb24ac10c 100644 --- a/source/android/mobile/build.gradle +++ b/source/android/mobile/build.gradle @@ -36,6 +36,9 @@ android { } } } + lintOptions { + abortOnError false + } } dependencies { @@ -53,5 +56,6 @@ dependencies { implementation 'org.webrtc:google-webrtc:1.0.27306' implementation 'androidx.core:core-ktx:1.6.0' testImplementation 'junit:junit:4.12' + implementation 'com.android.support.constraint:constraint-layout:2.0.4' implementation project(':adaptivecards') } diff --git a/source/android/mobile/src/main/res/raw/importer_card.json b/source/android/mobile/src/main/res/raw/importer_card.json index 78574d8285..2bd200367f 100644 --- a/source/android/mobile/src/main/res/raw/importer_card.json +++ b/source/android/mobile/src/main/res/raw/importer_card.json @@ -1,203 +1,205 @@ { - "type": "AdaptiveCard", - "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", - "version": "1.2", - "body": [ - { - "type": "ActionSet", - "actions": [ - { - "type": "Action.ShowCard", - "title": "Sample Cards", - "card": { - "type": "AdaptiveCard", - "body": [ - { - "type": "Input.ChoiceSet", - "choices": [ - { - "title": "ActivityUpdate", - "value": "v1.5/Scenarios/ActivityUpdate.json" - }, - { - "title": "CalendarReminder", - "value": "v1.5/Scenarios/CalendarReminder.json" - }, - { - "title": "FlightItinerary", - "value": "v1.5/Scenarios/FlightItinerary.json" - }, - { - "title": "FlightUpdate", - "value": "v1.5/Scenarios/FlightUpdate.json" - }, - { - "title": "FoodOrder", - "value": "v1.5/Scenarios/FoodOrder.json" - }, - { - "title": "ImageGallery", - "value": "v1.5/Scenarios/ImageGallery.json" - }, - { - "title": "InputForm", - "value": "v1.5/Scenarios/InputForm.json" - }, - { - "title": "Inputs", - "value": "v1.5/Scenarios/InputsWithValidation.json" - }, - { - "title": "Restaurant", - "value": "v1.5/Scenarios/Restaurant.json" - }, - { - "title": "SportingEvent", - "value": "v1.5/Scenarios/SportingEvent.json" - }, - { - "title": "StockUpdate", - "value": "v1.5/Scenarios/StockUpdate.json" - }, - { - "title": "WeatherCompact", - "value": "v1.5/Scenarios/WeatherCompact.json" - }, - { - "title": "WeatherLarge", - "value": "v1.5/Scenarios/WeatherLarge.json" - }, - { - "title": "Agenda", - "value": "v1.5/Scenarios/Agenda.json" - }, - { - "title": "ExpenseReport", - "value": "v1.5/Scenarios/ExpenseReport.json" - }, - { - "title": "FlightDetails", - "value": "v1.5/Scenarios/FlightDetails.json" - } - ], - "placeholder": "(choose sample)", - "id": "sampleCardName" - } - ] - } - }, - { - "type": "Action.ShowCard", - "title": "Import Card", - "card": { - "type": "AdaptiveCard", - "body": [ - { - "type": "ActionSet", - "actions": [ - { - "type": "Action.Submit", - "title": "Choose File", - "id": "cardFileAction" - } - ] - } - ] - } - } - ] - }, - { - "type": "ActionSet", - "actions": [ - { - "type": "Action.ShowCard", - "title": "Sample Configs", - "card": { - "type": "AdaptiveCard", - "body": [ - { - "type": "Input.ChoiceSet", - "choices": [ - { - "title": "cortana-skills-classic", - "value": "HostConfig/cortana-skills-classic.json" - }, - { - "title": "cortana-skills-dark", - "value": "HostConfig/cortana-skills-dark.json" - }, - { - "title": "cortana-skills-light", - "value": "HostConfig/cortana-skills-light.json" - }, - { - "title": "microsoft-teams-dark", - "value": "HostConfig/microsoft-teams-dark.json" - }, - { - "title": "microsoft-teams-light", - "value": "HostConfig/microsoft-teams-light.json" - }, - { - "title": "outlook-desktop", - "value": "HostConfig/outlook-desktop.json" - }, - { - "title": "render-to-image", - "value": "HostConfig/render-to-image.json" - }, - { - "title": "sample", - "value": "HostConfig/sample.json" - }, - { - "title": "skype", - "value": "HostConfig/skype.json" - }, - { - "title": "testVariantHostConfig", - "value": "HostConfig/testVariantHostConfig.json" - }, - { - "title": "webchat", - "value": "HostConfig/webchat.json" - }, - { - "title": "windows-notification", - "value": "HostConfig/windows-notification.json" - }, - { - "title": "windows-timeline", - "value": "HostConfig/windows-timeline.json" - } - ], - "placeholder": "(default)", - "id": "sampleHostConfigName" - } - ] - } - }, - { - "type": "Action.ShowCard", - "title": "Import Config", - "card": { - "type": "AdaptiveCard", - "body": [ - { - "type": "ActionSet", - "actions": [ - { - "type": "Action.Submit", - "title": "Choose File", - "id": "hostConfigFileAction" - } - ] - } - ] - } - } - ] - } - ] + "type": "AdaptiveCard", + "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", + "version": "1.5", + "body": [ + { + "type": "ActionSet", + "actions": [ + { + "type": "Action.ShowCard", + "title": "Sample Cards", + "card": { + "type": "AdaptiveCard", + "body": [ + { + "type": "Input.ChoiceSet", + "choices": [ + { + "title": "ActivityUpdate", + "value": "v1.5/Scenarios/ActivityUpdate.json" + }, + { + "title": "CalendarReminder", + "value": "v1.5/Scenarios/CalendarReminder.json" + }, + { + "title": "FlightItinerary", + "value": "v1.5/Scenarios/FlightItinerary.json" + }, + { + "title": "FlightUpdate", + "value": "v1.5/Scenarios/FlightUpdate.json" + }, + { + "title": "FoodOrder", + "value": "v1.5/Scenarios/FoodOrder.json" + }, + { + "title": "ImageGallery", + "value": "v1.5/Scenarios/ImageGallery.json" + }, + { + "title": "InputForm", + "value": "v1.5/Scenarios/InputForm.json" + }, + { + "title": "Inputs", + "value": "v1.5/Scenarios/InputsWithValidation.json" + }, + { + "title": "Restaurant", + "value": "v1.5/Scenarios/Restaurant.json" + }, + { + "title": "SportingEvent", + "value": "v1.5/Scenarios/SportingEvent.json" + }, + { + "title": "StockUpdate", + "value": "v1.5/Scenarios/StockUpdate.json" + }, + { + "title": "WeatherCompact", + "value": "v1.5/Scenarios/WeatherCompact.json" + }, + { + "title": "WeatherLarge", + "value": "v1.5/Scenarios/WeatherLarge.json" + }, + { + "title": "Agenda", + "value": "v1.5/Scenarios/Agenda.json" + }, + { + "title": "ExpenseReport", + "value": "v1.5/Scenarios/ExpenseReport.json" + }, + { + "title": "FlightDetails", + "value": "v1.5/Scenarios/FlightDetails.json" + } + ], + "placeholder": "(choose sample)", + "id": "sampleCardName" + } + ] + } + }, + { + "type": "Action.ShowCard", + "title": "Import Card", + "card": { + "type": "AdaptiveCard", + "body": [ + { + "type": "ActionSet", + "actions": [ + { + "type": "Action.Submit", + "title": "Choose File", + "id": "cardFileAction" + } + ] + } + ] + } + } + ] + }, + { + "type": "ActionSet", + "actions": [ + { + "type": "Action.ShowCard", + "title": "Sample Configs", + "card": { + "type": "AdaptiveCard", + "body": [ + { + "type": "Input.ChoiceSet", + "choices": [ + { + "title": "cortana-skills-classic", + "value": "HostConfig/cortana-skills-classic.json" + }, + { + "title": "cortana-skills-dark", + "value": "HostConfig/cortana-skills-dark.json" + }, + { + "title": "cortana-skills-light", + "value": "HostConfig/cortana-skills-light.json" + }, + { + "title": "microsoft-teams-dark", + "value": "HostConfig/microsoft-teams-dark.json" + }, + { + "title": "microsoft-teams-light", + "value": "HostConfig/microsoft-teams-light.json" + }, + { + "title": "outlook-desktop", + "value": "HostConfig/outlook-desktop.json" + }, + { + "title": "render-to-image", + "value": "HostConfig/render-to-image.json" + }, + { + "title": "sample", + "value": "HostConfig/sample.json" + }, + { + "title": "skype", + "value": "HostConfig/skype.json" + }, + { + "title": "testVariantHostConfig", + "value": "HostConfig/testVariantHostConfig.json" + }, + { + "title": "webchat", + "value": "HostConfig/webchat.json" + }, + { + "title": "windows-notification", + "value": "HostConfig/windows-notification.json" + }, + { + "title": "windows-timeline", + "value": "HostConfig/windows-timeline.json" + } + ], + "placeholder": "(default)", + "id": "sampleHostConfigName" + } + ] + }, + "isEnabled": false + }, + { + "type": "Action.ShowCard", + "title": "Import Config", + "card": { + "type": "AdaptiveCard", + "body": [ + { + "type": "ActionSet", + "actions": [ + { + "type": "Action.Submit", + "title": "Choose File", + "id": "hostConfigFileAction" + } + ] + } + ] + }, + "isEnabled": false + } + ] + } + ] } diff --git a/source/android/mobilechatapp/build.gradle b/source/android/mobilechatapp/build.gradle index b559df4598..609698fa55 100644 --- a/source/android/mobilechatapp/build.gradle +++ b/source/android/mobilechatapp/build.gradle @@ -28,6 +28,9 @@ android { sourceCompatibility 1.8 targetCompatibility 1.8 } + lintOptions { + abortOnError false + } } @@ -45,7 +48,7 @@ dependencies { implementation project(path: ':adaptivecards') } -task copyTestFiles(type: Copy) +task copyTestFiles(type: Copy) { duplicatesStrategy = DuplicatesStrategy.INCLUDE } copyTestFiles { description = 'Copies test files to the assets folder' diff --git a/source/android/uitestapp/build.gradle b/source/android/uitestapp/build.gradle index 59eef8279a..32075d820d 100644 --- a/source/android/uitestapp/build.gradle +++ b/source/android/uitestapp/build.gradle @@ -3,6 +3,7 @@ apply from: '../constants.gradle' apply plugin: 'com.android.application' apply plugin: 'kotlin-android' +apply plugin: 'kotlin-kapt' android { compileSdkVersion project.ext.compileSdkVersion diff --git a/source/community/reactnative/android/app/debug.keystore b/source/community/reactnative/android/app/debug.keystore deleted file mode 100644 index a3ba7c9c19..0000000000 Binary files a/source/community/reactnative/android/app/debug.keystore and /dev/null differ diff --git a/source/dotnet/AdaptiveCards.sln b/source/dotnet/AdaptiveCards.sln index c1aef475aa..33051cff66 100644 --- a/source/dotnet/AdaptiveCards.sln +++ b/source/dotnet/AdaptiveCards.sln @@ -17,8 +17,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AdaptiveCards.Rendering.Wpf EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AdaptiveCards.Rendering.Wpf.Xceed", "Library\AdaptiveCards.Rendering.Wpf.Xceed\AdaptiveCards.Rendering.Wpf.Xceed.csproj", "{4741ABEC-33B0-424F-B5F1-464EC31AEEBD}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AdaptiveCards.Sample.Html", "Samples\AdaptiveCards.Sample.Html\AdaptiveCards.Sample.Html.csproj", "{C015DC5F-E523-4828-8E46-118A8242B51A}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AdaptiveCards.Test", "Test\AdaptiveCards.Test\AdaptiveCards.Test.csproj", "{4DB2C1D1-630A-4445-95F3-4E342ABD9342}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AdaptiveCards.Sample.ImageRender", "samples\AdaptiveCards.Sample.ImageRender\AdaptiveCards.Sample.ImageRender.csproj", "{BCFC1329-903B-4440-ABE1-160C22A3AE23}" diff --git a/source/dotnet/AdaptiveCardsNet6.sln b/source/dotnet/AdaptiveCardsNet6.sln new file mode 100644 index 0000000000..d09b11cd76 --- /dev/null +++ b/source/dotnet/AdaptiveCardsNet6.sln @@ -0,0 +1,306 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.6.33815.320 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Samples", "Samples", "{C443BF0A-C616-4E98-8994-C5BAE76AE556}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Library", "Library", "{C7727147-4AD9-4005-A8D0-EEEED82347D3}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AdaptiveCards.Net6", "Library\AdaptiveCards.Net6\AdaptiveCards.csproj", "{FC4A3527-05A2-4297-98D3-CB1CB512FFDA}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AdaptiveCards.Rendering.Wpf.Net6", "Library\AdaptiveCards.Rendering.Wpf.Net6\AdaptiveCards.Rendering.Wpf.Net6.csproj", "{34F849F9-E349-4237-B7CB-A63884DAB39D}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AdaptiveCards.Net6.Sample.ImageRender", "Samples\AdaptiveCards.Net6.Sample.ImageRender\AdaptiveCards.Net6.Sample.ImageRender.csproj", "{925EA86A-0B9F-4277-B05C-A3586DA3CA4D}" + ProjectSection(ProjectDependencies) = postProject + {34F849F9-E349-4237-B7CB-A63884DAB39D} = {34F849F9-E349-4237-B7CB-A63884DAB39D} + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA} = {FC4A3527-05A2-4297-98D3-CB1CB512FFDA} + EndProjectSection +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AdaptiveCards.Sample.WPFVisualizer.Net6", "Samples\WPFVisualizerNet6\AdaptiveCards.Sample.WPFVisualizer.Net6.csproj", "{96144C6C-2E37-4A84-95AB-7F01D9222F2F}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AdaptiveCards.Templating.Net6", "Library\AdaptiveCards.Templating.Net6\AdaptiveCards.Templating.Net6.csproj", "{615381C8-0ADC-4CBE-B827-2E71497B1970}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Ad-Hoc|Any CPU = Ad-Hoc|Any CPU + Ad-Hoc|ARM = Ad-Hoc|ARM + Ad-Hoc|iPhone = Ad-Hoc|iPhone + Ad-Hoc|iPhoneSimulator = Ad-Hoc|iPhoneSimulator + Ad-Hoc|x64 = Ad-Hoc|x64 + Ad-Hoc|x86 = Ad-Hoc|x86 + AppStore|Any CPU = AppStore|Any CPU + AppStore|ARM = AppStore|ARM + AppStore|iPhone = AppStore|iPhone + AppStore|iPhoneSimulator = AppStore|iPhoneSimulator + AppStore|x64 = AppStore|x64 + AppStore|x86 = AppStore|x86 + Debug|Any CPU = Debug|Any CPU + Debug|ARM = Debug|ARM + Debug|iPhone = Debug|iPhone + Debug|iPhoneSimulator = Debug|iPhoneSimulator + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|ARM = Release|ARM + Release|iPhone = Release|iPhone + Release|iPhoneSimulator = Release|iPhoneSimulator + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Ad-Hoc|x64.Build.0 = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Ad-Hoc|x86.Build.0 = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.AppStore|Any CPU.Build.0 = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.AppStore|ARM.ActiveCfg = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.AppStore|ARM.Build.0 = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.AppStore|iPhone.ActiveCfg = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.AppStore|iPhone.Build.0 = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.AppStore|x64.ActiveCfg = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.AppStore|x64.Build.0 = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.AppStore|x86.ActiveCfg = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.AppStore|x86.Build.0 = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Debug|ARM.ActiveCfg = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Debug|ARM.Build.0 = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Debug|iPhone.Build.0 = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Debug|x64.ActiveCfg = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Debug|x64.Build.0 = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Debug|x86.ActiveCfg = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Debug|x86.Build.0 = Debug|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Release|Any CPU.Build.0 = Release|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Release|ARM.ActiveCfg = Release|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Release|ARM.Build.0 = Release|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Release|iPhone.ActiveCfg = Release|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Release|iPhone.Build.0 = Release|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Release|x64.ActiveCfg = Release|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Release|x64.Build.0 = Release|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Release|x86.ActiveCfg = Release|Any CPU + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA}.Release|x86.Build.0 = Release|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Ad-Hoc|x64.Build.0 = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Ad-Hoc|x86.Build.0 = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.AppStore|Any CPU.Build.0 = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.AppStore|ARM.ActiveCfg = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.AppStore|ARM.Build.0 = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.AppStore|iPhone.ActiveCfg = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.AppStore|iPhone.Build.0 = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.AppStore|x64.ActiveCfg = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.AppStore|x64.Build.0 = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.AppStore|x86.ActiveCfg = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.AppStore|x86.Build.0 = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Debug|ARM.ActiveCfg = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Debug|ARM.Build.0 = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Debug|iPhone.Build.0 = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Debug|x64.ActiveCfg = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Debug|x64.Build.0 = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Debug|x86.ActiveCfg = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Debug|x86.Build.0 = Debug|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Release|Any CPU.Build.0 = Release|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Release|ARM.ActiveCfg = Release|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Release|ARM.Build.0 = Release|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Release|iPhone.ActiveCfg = Release|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Release|iPhone.Build.0 = Release|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Release|x64.ActiveCfg = Release|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Release|x64.Build.0 = Release|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Release|x86.ActiveCfg = Release|Any CPU + {34F849F9-E349-4237-B7CB-A63884DAB39D}.Release|x86.Build.0 = Release|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Ad-Hoc|x64.Build.0 = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Ad-Hoc|x86.Build.0 = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.AppStore|Any CPU.Build.0 = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.AppStore|ARM.ActiveCfg = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.AppStore|ARM.Build.0 = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.AppStore|iPhone.ActiveCfg = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.AppStore|iPhone.Build.0 = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.AppStore|x64.ActiveCfg = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.AppStore|x64.Build.0 = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.AppStore|x86.ActiveCfg = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.AppStore|x86.Build.0 = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Debug|ARM.ActiveCfg = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Debug|ARM.Build.0 = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Debug|iPhone.Build.0 = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Debug|x64.ActiveCfg = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Debug|x64.Build.0 = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Debug|x86.ActiveCfg = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Debug|x86.Build.0 = Debug|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Release|Any CPU.Build.0 = Release|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Release|ARM.ActiveCfg = Release|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Release|ARM.Build.0 = Release|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Release|iPhone.ActiveCfg = Release|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Release|iPhone.Build.0 = Release|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Release|x64.ActiveCfg = Release|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Release|x64.Build.0 = Release|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Release|x86.ActiveCfg = Release|Any CPU + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D}.Release|x86.Build.0 = Release|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Ad-Hoc|x64.Build.0 = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Ad-Hoc|x86.Build.0 = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.AppStore|Any CPU.Build.0 = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.AppStore|ARM.ActiveCfg = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.AppStore|ARM.Build.0 = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.AppStore|iPhone.ActiveCfg = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.AppStore|iPhone.Build.0 = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.AppStore|x64.ActiveCfg = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.AppStore|x64.Build.0 = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.AppStore|x86.ActiveCfg = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.AppStore|x86.Build.0 = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Debug|ARM.ActiveCfg = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Debug|ARM.Build.0 = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Debug|iPhone.Build.0 = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Debug|x64.ActiveCfg = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Debug|x64.Build.0 = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Debug|x86.ActiveCfg = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Debug|x86.Build.0 = Debug|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Release|Any CPU.Build.0 = Release|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Release|ARM.ActiveCfg = Release|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Release|ARM.Build.0 = Release|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Release|iPhone.ActiveCfg = Release|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Release|iPhone.Build.0 = Release|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Release|x64.ActiveCfg = Release|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Release|x64.Build.0 = Release|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Release|x86.ActiveCfg = Release|Any CPU + {96144C6C-2E37-4A84-95AB-7F01D9222F2F}.Release|x86.Build.0 = Release|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Ad-Hoc|Any CPU.ActiveCfg = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Ad-Hoc|Any CPU.Build.0 = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Ad-Hoc|ARM.ActiveCfg = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Ad-Hoc|ARM.Build.0 = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Ad-Hoc|iPhone.ActiveCfg = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Ad-Hoc|iPhone.Build.0 = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Ad-Hoc|iPhoneSimulator.Build.0 = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Ad-Hoc|x64.ActiveCfg = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Ad-Hoc|x64.Build.0 = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Ad-Hoc|x86.ActiveCfg = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Ad-Hoc|x86.Build.0 = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.AppStore|Any CPU.ActiveCfg = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.AppStore|Any CPU.Build.0 = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.AppStore|ARM.ActiveCfg = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.AppStore|ARM.Build.0 = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.AppStore|iPhone.ActiveCfg = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.AppStore|iPhone.Build.0 = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.AppStore|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.AppStore|iPhoneSimulator.Build.0 = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.AppStore|x64.ActiveCfg = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.AppStore|x64.Build.0 = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.AppStore|x86.ActiveCfg = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.AppStore|x86.Build.0 = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Debug|Any CPU.Build.0 = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Debug|ARM.ActiveCfg = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Debug|ARM.Build.0 = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Debug|iPhone.ActiveCfg = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Debug|iPhone.Build.0 = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Debug|x64.ActiveCfg = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Debug|x64.Build.0 = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Debug|x86.ActiveCfg = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Debug|x86.Build.0 = Debug|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Release|Any CPU.ActiveCfg = Release|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Release|Any CPU.Build.0 = Release|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Release|ARM.ActiveCfg = Release|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Release|ARM.Build.0 = Release|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Release|iPhone.ActiveCfg = Release|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Release|iPhone.Build.0 = Release|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Release|iPhoneSimulator.Build.0 = Release|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Release|x64.ActiveCfg = Release|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Release|x64.Build.0 = Release|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Release|x86.ActiveCfg = Release|Any CPU + {615381C8-0ADC-4CBE-B827-2E71497B1970}.Release|x86.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {FC4A3527-05A2-4297-98D3-CB1CB512FFDA} = {C7727147-4AD9-4005-A8D0-EEEED82347D3} + {34F849F9-E349-4237-B7CB-A63884DAB39D} = {C7727147-4AD9-4005-A8D0-EEEED82347D3} + {925EA86A-0B9F-4277-B05C-A3586DA3CA4D} = {C443BF0A-C616-4E98-8994-C5BAE76AE556} + {96144C6C-2E37-4A84-95AB-7F01D9222F2F} = {C443BF0A-C616-4E98-8994-C5BAE76AE556} + {615381C8-0ADC-4CBE-B827-2E71497B1970} = {C7727147-4AD9-4005-A8D0-EEEED82347D3} + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {252F0196-794B-4F99-967E-81962ADF58DD} + EndGlobalSection +EndGlobal diff --git a/source/dotnet/Library/AdaptiveCards.Net6/AdaptiveCards.csproj b/source/dotnet/Library/AdaptiveCards.Net6/AdaptiveCards.csproj new file mode 100644 index 0000000000..69fd38d1f2 --- /dev/null +++ b/source/dotnet/Library/AdaptiveCards.Net6/AdaptiveCards.csproj @@ -0,0 +1,66 @@ + + + net6.0 + Microsoft + Adaptive Card object model for .NET 6.0 + This library implements classes for building and serializing adaptive card objects + AdaptiveCards.Net6 + false + adaptivecards;adaptive-cards + https://adaptivecards.io + https://adaptivecards.io/content/icons_blue/blue-48.png + https://github.com/Microsoft/AdaptiveCards + EULA-Windows.txt + true + $(DefineConstants);$(AdditionalConstants) + © Microsoft Corporation. All rights reserved. + $(MSBuildProjectDirectory)/docs/AdaptiveCards.xml + True + false + + + + + + + + false + UAP,Version=v10.0 + UAP + 10.0.17763.0 + 10.0.15063.0 + .NETCore + v5.0 + en-US + $(MSBuildExtensionsPath)\Microsoft\WindowsXaml\v$(VisualStudioVersion)\Microsoft.Windows.UI.Xaml.CSharp.targets + + + + + + + + + + + + + + + + full + True + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + \ No newline at end of file diff --git a/source/dotnet/Library/AdaptiveCards.Net6/docs/.gitignore b/source/dotnet/Library/AdaptiveCards.Net6/docs/.gitignore new file mode 100644 index 0000000000..b81c7954b7 --- /dev/null +++ b/source/dotnet/Library/AdaptiveCards.Net6/docs/.gitignore @@ -0,0 +1 @@ +*.xml \ No newline at end of file diff --git a/source/dotnet/Library/AdaptiveCards.Net6/docs/AdaptiveCards.md b/source/dotnet/Library/AdaptiveCards.Net6/docs/AdaptiveCards.md new file mode 100644 index 0000000000..af7a618ce9 --- /dev/null +++ b/source/dotnet/Library/AdaptiveCards.Net6/docs/AdaptiveCards.md @@ -0,0 +1,7679 @@ + +# AdaptiveCards + +## Contents + +- [ActionsConfig](#T-AdaptiveCards-Rendering-ActionsConfig 'AdaptiveCards.Rendering.ActionsConfig') + - [ActionAlignment](#P-AdaptiveCards-Rendering-ActionsConfig-ActionAlignment 'AdaptiveCards.Rendering.ActionsConfig.ActionAlignment') + - [ActionsOrientation](#P-AdaptiveCards-Rendering-ActionsConfig-ActionsOrientation 'AdaptiveCards.Rendering.ActionsConfig.ActionsOrientation') + - [ButtonSpacing](#P-AdaptiveCards-Rendering-ActionsConfig-ButtonSpacing 'AdaptiveCards.Rendering.ActionsConfig.ButtonSpacing') + - [IconPlacement](#P-AdaptiveCards-Rendering-ActionsConfig-IconPlacement 'AdaptiveCards.Rendering.ActionsConfig.IconPlacement') + - [IconSize](#P-AdaptiveCards-Rendering-ActionsConfig-IconSize 'AdaptiveCards.Rendering.ActionsConfig.IconSize') + - [MaxActions](#P-AdaptiveCards-Rendering-ActionsConfig-MaxActions 'AdaptiveCards.Rendering.ActionsConfig.MaxActions') + - [ShowCard](#P-AdaptiveCards-Rendering-ActionsConfig-ShowCard 'AdaptiveCards.Rendering.ActionsConfig.ShowCard') + - [Spacing](#P-AdaptiveCards-Rendering-ActionsConfig-Spacing 'AdaptiveCards.Rendering.ActionsConfig.Spacing') +- [ActionsOrientation](#T-AdaptiveCards-Rendering-ActionsOrientation 'AdaptiveCards.Rendering.ActionsOrientation') + - [Horizontal](#F-AdaptiveCards-Rendering-ActionsOrientation-Horizontal 'AdaptiveCards.Rendering.ActionsOrientation.Horizontal') + - [Vertical](#F-AdaptiveCards-Rendering-ActionsOrientation-Vertical 'AdaptiveCards.Rendering.ActionsOrientation.Vertical') +- [AdaptiveAction](#T-AdaptiveCards-AdaptiveAction 'AdaptiveCards.AdaptiveAction') + - [IconUrl](#P-AdaptiveCards-AdaptiveAction-IconUrl 'AdaptiveCards.AdaptiveAction.IconUrl') + - [IsEnabled](#P-AdaptiveCards-AdaptiveAction-IsEnabled 'AdaptiveCards.AdaptiveAction.IsEnabled') + - [Mode](#P-AdaptiveCards-AdaptiveAction-Mode 'AdaptiveCards.AdaptiveAction.Mode') + - [Speak](#P-AdaptiveCards-AdaptiveAction-Speak 'AdaptiveCards.AdaptiveAction.Speak') + - [Style](#P-AdaptiveCards-AdaptiveAction-Style 'AdaptiveCards.AdaptiveAction.Style') + - [Title](#P-AdaptiveCards-AdaptiveAction-Title 'AdaptiveCards.AdaptiveAction.Title') + - [Tooltip](#P-AdaptiveCards-AdaptiveAction-Tooltip 'AdaptiveCards.AdaptiveAction.Tooltip') +- [AdaptiveActionHandlers](#T-AdaptiveCards-Rendering-AdaptiveActionHandlers 'AdaptiveCards.Rendering.AdaptiveActionHandlers') + - [AddSupportedAction\`\`1()](#M-AdaptiveCards-Rendering-AdaptiveActionHandlers-AddSupportedAction``1 'AdaptiveCards.Rendering.AdaptiveActionHandlers.AddSupportedAction``1') + - [IsSupported(type)](#M-AdaptiveCards-Rendering-AdaptiveActionHandlers-IsSupported-System-Type- 'AdaptiveCards.Rendering.AdaptiveActionHandlers.IsSupported(System.Type)') + - [RemoveSupportedAction\`\`1()](#M-AdaptiveCards-Rendering-AdaptiveActionHandlers-RemoveSupportedAction``1 'AdaptiveCards.Rendering.AdaptiveActionHandlers.RemoveSupportedAction``1') +- [AdaptiveActionMode](#T-AdaptiveCards-AdaptiveActionMode 'AdaptiveCards.AdaptiveActionMode') + - [Primary](#F-AdaptiveCards-AdaptiveActionMode-Primary 'AdaptiveCards.AdaptiveActionMode.Primary') + - [Secondary](#F-AdaptiveCards-AdaptiveActionMode-Secondary 'AdaptiveCards.AdaptiveActionMode.Secondary') +- [AdaptiveActionSet](#T-AdaptiveCards-AdaptiveActionSet 'AdaptiveCards.AdaptiveActionSet') + - [TypeName](#F-AdaptiveCards-AdaptiveActionSet-TypeName 'AdaptiveCards.AdaptiveActionSet.TypeName') + - [Actions](#P-AdaptiveCards-AdaptiveActionSet-Actions 'AdaptiveCards.AdaptiveActionSet.Actions') + - [Type](#P-AdaptiveCards-AdaptiveActionSet-Type 'AdaptiveCards.AdaptiveActionSet.Type') +- [AdaptiveAssociatedInputs](#T-AdaptiveCards-AdaptiveAssociatedInputs 'AdaptiveCards.AdaptiveAssociatedInputs') + - [Auto](#F-AdaptiveCards-AdaptiveAssociatedInputs-Auto 'AdaptiveCards.AdaptiveAssociatedInputs.Auto') + - [None](#F-AdaptiveCards-AdaptiveAssociatedInputs-None 'AdaptiveCards.AdaptiveAssociatedInputs.None') +- [AdaptiveAuthCardButton](#T-AdaptiveCards-AdaptiveAuthCardButton 'AdaptiveCards.AdaptiveAuthCardButton') + - [Image](#P-AdaptiveCards-AdaptiveAuthCardButton-Image 'AdaptiveCards.AdaptiveAuthCardButton.Image') + - [Title](#P-AdaptiveCards-AdaptiveAuthCardButton-Title 'AdaptiveCards.AdaptiveAuthCardButton.Title') + - [Type](#P-AdaptiveCards-AdaptiveAuthCardButton-Type 'AdaptiveCards.AdaptiveAuthCardButton.Type') + - [Value](#P-AdaptiveCards-AdaptiveAuthCardButton-Value 'AdaptiveCards.AdaptiveAuthCardButton.Value') +- [AdaptiveAuthentication](#T-AdaptiveCards-AdaptiveAuthentication 'AdaptiveCards.AdaptiveAuthentication') + - [Buttons](#P-AdaptiveCards-AdaptiveAuthentication-Buttons 'AdaptiveCards.AdaptiveAuthentication.Buttons') + - [ConnectionName](#P-AdaptiveCards-AdaptiveAuthentication-ConnectionName 'AdaptiveCards.AdaptiveAuthentication.ConnectionName') + - [Text](#P-AdaptiveCards-AdaptiveAuthentication-Text 'AdaptiveCards.AdaptiveAuthentication.Text') + - [TokenExchangeResource](#P-AdaptiveCards-AdaptiveAuthentication-TokenExchangeResource 'AdaptiveCards.AdaptiveAuthentication.TokenExchangeResource') +- [AdaptiveBackgroundImage](#T-AdaptiveCards-AdaptiveBackgroundImage 'AdaptiveCards.AdaptiveBackgroundImage') + - [#ctor()](#M-AdaptiveCards-AdaptiveBackgroundImage-#ctor 'AdaptiveCards.AdaptiveBackgroundImage.#ctor') + - [#ctor(url)](#M-AdaptiveCards-AdaptiveBackgroundImage-#ctor-System-String- 'AdaptiveCards.AdaptiveBackgroundImage.#ctor(System.String)') + - [#ctor(url)](#M-AdaptiveCards-AdaptiveBackgroundImage-#ctor-System-Uri- 'AdaptiveCards.AdaptiveBackgroundImage.#ctor(System.Uri)') + - [#ctor(url,fillMode,hAlignment,vAlignment)](#M-AdaptiveCards-AdaptiveBackgroundImage-#ctor-System-String,AdaptiveCards-AdaptiveImageFillMode,AdaptiveCards-AdaptiveHorizontalAlignment,AdaptiveCards-AdaptiveVerticalAlignment- 'AdaptiveCards.AdaptiveBackgroundImage.#ctor(System.String,AdaptiveCards.AdaptiveImageFillMode,AdaptiveCards.AdaptiveHorizontalAlignment,AdaptiveCards.AdaptiveVerticalAlignment)') + - [#ctor(url,fillMode,hAlignment,vAlignment)](#M-AdaptiveCards-AdaptiveBackgroundImage-#ctor-System-Uri,AdaptiveCards-AdaptiveImageFillMode,AdaptiveCards-AdaptiveHorizontalAlignment,AdaptiveCards-AdaptiveVerticalAlignment- 'AdaptiveCards.AdaptiveBackgroundImage.#ctor(System.Uri,AdaptiveCards.AdaptiveImageFillMode,AdaptiveCards.AdaptiveHorizontalAlignment,AdaptiveCards.AdaptiveVerticalAlignment)') + - [TypeName](#F-AdaptiveCards-AdaptiveBackgroundImage-TypeName 'AdaptiveCards.AdaptiveBackgroundImage.TypeName') + - [FillMode](#P-AdaptiveCards-AdaptiveBackgroundImage-FillMode 'AdaptiveCards.AdaptiveBackgroundImage.FillMode') + - [HorizontalAlignment](#P-AdaptiveCards-AdaptiveBackgroundImage-HorizontalAlignment 'AdaptiveCards.AdaptiveBackgroundImage.HorizontalAlignment') + - [Url](#P-AdaptiveCards-AdaptiveBackgroundImage-Url 'AdaptiveCards.AdaptiveBackgroundImage.Url') + - [UrlString](#P-AdaptiveCards-AdaptiveBackgroundImage-UrlString 'AdaptiveCards.AdaptiveBackgroundImage.UrlString') + - [VerticalAlignment](#P-AdaptiveCards-AdaptiveBackgroundImage-VerticalAlignment 'AdaptiveCards.AdaptiveBackgroundImage.VerticalAlignment') + - [HasDefaultValues()](#M-AdaptiveCards-AdaptiveBackgroundImage-HasDefaultValues 'AdaptiveCards.AdaptiveBackgroundImage.HasDefaultValues') + - [op_Implicit(backgroundImageUrl)](#M-AdaptiveCards-AdaptiveBackgroundImage-op_Implicit-System-Uri-~AdaptiveCards-AdaptiveBackgroundImage 'AdaptiveCards.AdaptiveBackgroundImage.op_Implicit(System.Uri)~AdaptiveCards.AdaptiveBackgroundImage') +- [AdaptiveBackgroundImageConverter](#T-AdaptiveCards-AdaptiveBackgroundImageConverter 'AdaptiveCards.AdaptiveBackgroundImageConverter') + - [CanWrite](#P-AdaptiveCards-AdaptiveBackgroundImageConverter-CanWrite 'AdaptiveCards.AdaptiveBackgroundImageConverter.CanWrite') + - [Warnings](#P-AdaptiveCards-AdaptiveBackgroundImageConverter-Warnings 'AdaptiveCards.AdaptiveBackgroundImageConverter.Warnings') + - [CanConvert(objectType)](#M-AdaptiveCards-AdaptiveBackgroundImageConverter-CanConvert-System-Type- 'AdaptiveCards.AdaptiveBackgroundImageConverter.CanConvert(System.Type)') + - [ReadJson(reader,objectType,existingValue,serializer)](#M-AdaptiveCards-AdaptiveBackgroundImageConverter-ReadJson-Newtonsoft-Json-JsonReader,System-Type,System-Object,Newtonsoft-Json-JsonSerializer- 'AdaptiveCards.AdaptiveBackgroundImageConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)') + - [WriteJson(writer,backgroundImage,serializer)](#M-AdaptiveCards-AdaptiveBackgroundImageConverter-WriteJson-Newtonsoft-Json-JsonWriter,System-Object,Newtonsoft-Json-JsonSerializer- 'AdaptiveCards.AdaptiveBackgroundImageConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)') +- [AdaptiveCard](#T-AdaptiveCards-AdaptiveCard 'AdaptiveCards.AdaptiveCard') + - [#ctor(schemaVersion)](#M-AdaptiveCards-AdaptiveCard-#ctor-AdaptiveCards-AdaptiveSchemaVersion- 'AdaptiveCards.AdaptiveCard.#ctor(AdaptiveCards.AdaptiveSchemaVersion)') + - [#ctor(schemaVersion)](#M-AdaptiveCards-AdaptiveCard-#ctor-System-String- 'AdaptiveCards.AdaptiveCard.#ctor(System.String)') + - [#ctor()](#M-AdaptiveCards-AdaptiveCard-#ctor 'AdaptiveCards.AdaptiveCard.#ctor') + - [ContentType](#F-AdaptiveCards-AdaptiveCard-ContentType 'AdaptiveCards.AdaptiveCard.ContentType') + - [KnownSchemaVersion](#F-AdaptiveCards-AdaptiveCard-KnownSchemaVersion 'AdaptiveCards.AdaptiveCard.KnownSchemaVersion') + - [TypeName](#F-AdaptiveCards-AdaptiveCard-TypeName 'AdaptiveCards.AdaptiveCard.TypeName') + - [Actions](#P-AdaptiveCards-AdaptiveCard-Actions 'AdaptiveCards.AdaptiveCard.Actions') + - [Authentication](#P-AdaptiveCards-AdaptiveCard-Authentication 'AdaptiveCards.AdaptiveCard.Authentication') + - [BackgroundImage](#P-AdaptiveCards-AdaptiveCard-BackgroundImage 'AdaptiveCards.AdaptiveCard.BackgroundImage') + - [Body](#P-AdaptiveCards-AdaptiveCard-Body 'AdaptiveCards.AdaptiveCard.Body') + - [FallbackText](#P-AdaptiveCards-AdaptiveCard-FallbackText 'AdaptiveCards.AdaptiveCard.FallbackText') + - [Height](#P-AdaptiveCards-AdaptiveCard-Height 'AdaptiveCards.AdaptiveCard.Height') + - [JsonSchema](#P-AdaptiveCards-AdaptiveCard-JsonSchema 'AdaptiveCards.AdaptiveCard.JsonSchema') + - [Lang](#P-AdaptiveCards-AdaptiveCard-Lang 'AdaptiveCards.AdaptiveCard.Lang') + - [MinVersion](#P-AdaptiveCards-AdaptiveCard-MinVersion 'AdaptiveCards.AdaptiveCard.MinVersion') + - [OnDeserializingMissingVersion](#P-AdaptiveCards-AdaptiveCard-OnDeserializingMissingVersion 'AdaptiveCards.AdaptiveCard.OnDeserializingMissingVersion') + - [PixelMinHeight](#P-AdaptiveCards-AdaptiveCard-PixelMinHeight 'AdaptiveCards.AdaptiveCard.PixelMinHeight') + - [Refresh](#P-AdaptiveCards-AdaptiveCard-Refresh 'AdaptiveCards.AdaptiveCard.Refresh') + - [SelectAction](#P-AdaptiveCards-AdaptiveCard-SelectAction 'AdaptiveCards.AdaptiveCard.SelectAction') + - [Speak](#P-AdaptiveCards-AdaptiveCard-Speak 'AdaptiveCards.AdaptiveCard.Speak') + - [Title](#P-AdaptiveCards-AdaptiveCard-Title 'AdaptiveCards.AdaptiveCard.Title') + - [Type](#P-AdaptiveCards-AdaptiveCard-Type 'AdaptiveCards.AdaptiveCard.Type') + - [Version](#P-AdaptiveCards-AdaptiveCard-Version 'AdaptiveCards.AdaptiveCard.Version') + - [VerticalContentAlignment](#P-AdaptiveCards-AdaptiveCard-VerticalContentAlignment 'AdaptiveCards.AdaptiveCard.VerticalContentAlignment') + - [FromJson(json)](#M-AdaptiveCards-AdaptiveCard-FromJson-System-String- 'AdaptiveCards.AdaptiveCard.FromJson(System.String)') + - [GetResourceInformation()](#M-AdaptiveCards-AdaptiveCard-GetResourceInformation 'AdaptiveCards.AdaptiveCard.GetResourceInformation') + - [ShouldSerializeActions()](#M-AdaptiveCards-AdaptiveCard-ShouldSerializeActions 'AdaptiveCards.AdaptiveCard.ShouldSerializeActions') + - [ShouldSerializeBody()](#M-AdaptiveCards-AdaptiveCard-ShouldSerializeBody 'AdaptiveCards.AdaptiveCard.ShouldSerializeBody') + - [ShouldSerializeHeight()](#M-AdaptiveCards-AdaptiveCard-ShouldSerializeHeight 'AdaptiveCards.AdaptiveCard.ShouldSerializeHeight') + - [ShouldSerializeJsonSchema()](#M-AdaptiveCards-AdaptiveCard-ShouldSerializeJsonSchema 'AdaptiveCards.AdaptiveCard.ShouldSerializeJsonSchema') + - [ToJson()](#M-AdaptiveCards-AdaptiveCard-ToJson 'AdaptiveCards.AdaptiveCard.ToJson') +- [AdaptiveCardConfig](#T-AdaptiveCards-Rendering-AdaptiveCardConfig 'AdaptiveCards.Rendering.AdaptiveCardConfig') + - [AllowCustomStyle](#P-AdaptiveCards-Rendering-AdaptiveCardConfig-AllowCustomStyle 'AdaptiveCards.Rendering.AdaptiveCardConfig.AllowCustomStyle') +- [AdaptiveCardConverter](#T-AdaptiveCards-AdaptiveCardConverter 'AdaptiveCards.AdaptiveCardConverter') + - [CanWrite](#P-AdaptiveCards-AdaptiveCardConverter-CanWrite 'AdaptiveCards.AdaptiveCardConverter.CanWrite') + - [Warnings](#P-AdaptiveCards-AdaptiveCardConverter-Warnings 'AdaptiveCards.AdaptiveCardConverter.Warnings') + - [CanConvert()](#M-AdaptiveCards-AdaptiveCardConverter-CanConvert-System-Type- 'AdaptiveCards.AdaptiveCardConverter.CanConvert(System.Type)') + - [ReadJson(reader,objectType,existingValue,serializer)](#M-AdaptiveCards-AdaptiveCardConverter-ReadJson-Newtonsoft-Json-JsonReader,System-Type,System-Object,Newtonsoft-Json-JsonSerializer- 'AdaptiveCards.AdaptiveCardConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)') + - [WriteJson()](#M-AdaptiveCards-AdaptiveCardConverter-WriteJson-Newtonsoft-Json-JsonWriter,System-Object,Newtonsoft-Json-JsonSerializer- 'AdaptiveCards.AdaptiveCardConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)') +- [AdaptiveCardParseResult](#T-AdaptiveCards-AdaptiveCardParseResult 'AdaptiveCards.AdaptiveCardParseResult') + - [Card](#P-AdaptiveCards-AdaptiveCardParseResult-Card 'AdaptiveCards.AdaptiveCardParseResult.Card') + - [Warnings](#P-AdaptiveCards-AdaptiveCardParseResult-Warnings 'AdaptiveCards.AdaptiveCardParseResult.Warnings') +- [AdaptiveCardRendererBase\`2](#T-AdaptiveCards-Rendering-AdaptiveCardRendererBase`2 'AdaptiveCards.Rendering.AdaptiveCardRendererBase`2') + - [ElementRenderers](#P-AdaptiveCards-Rendering-AdaptiveCardRendererBase`2-ElementRenderers 'AdaptiveCards.Rendering.AdaptiveCardRendererBase`2.ElementRenderers') + - [HostConfig](#P-AdaptiveCards-Rendering-AdaptiveCardRendererBase`2-HostConfig 'AdaptiveCards.Rendering.AdaptiveCardRendererBase`2.HostConfig') + - [SupportedSchemaVersion](#P-AdaptiveCards-Rendering-AdaptiveCardRendererBase`2-SupportedSchemaVersion 'AdaptiveCards.Rendering.AdaptiveCardRendererBase`2.SupportedSchemaVersion') + - [GetSupportedSchemaVersion()](#M-AdaptiveCards-Rendering-AdaptiveCardRendererBase`2-GetSupportedSchemaVersion 'AdaptiveCards.Rendering.AdaptiveCardRendererBase`2.GetSupportedSchemaVersion') +- [AdaptiveChoice](#T-AdaptiveCards-AdaptiveChoice 'AdaptiveCards.AdaptiveChoice') + - [IsSelected](#P-AdaptiveCards-AdaptiveChoice-IsSelected 'AdaptiveCards.AdaptiveChoice.IsSelected') + - [Speak](#P-AdaptiveCards-AdaptiveChoice-Speak 'AdaptiveCards.AdaptiveChoice.Speak') + - [Title](#P-AdaptiveCards-AdaptiveChoice-Title 'AdaptiveCards.AdaptiveChoice.Title') + - [Value](#P-AdaptiveCards-AdaptiveChoice-Value 'AdaptiveCards.AdaptiveChoice.Value') +- [AdaptiveChoiceInputStyle](#T-AdaptiveCards-AdaptiveChoiceInputStyle 'AdaptiveCards.AdaptiveChoiceInputStyle') + - [Compact](#F-AdaptiveCards-AdaptiveChoiceInputStyle-Compact 'AdaptiveCards.AdaptiveChoiceInputStyle.Compact') + - [Expanded](#F-AdaptiveCards-AdaptiveChoiceInputStyle-Expanded 'AdaptiveCards.AdaptiveChoiceInputStyle.Expanded') + - [Filtered](#F-AdaptiveCards-AdaptiveChoiceInputStyle-Filtered 'AdaptiveCards.AdaptiveChoiceInputStyle.Filtered') +- [AdaptiveChoiceSetInput](#T-AdaptiveCards-AdaptiveChoiceSetInput 'AdaptiveCards.AdaptiveChoiceSetInput') + - [TypeName](#F-AdaptiveCards-AdaptiveChoiceSetInput-TypeName 'AdaptiveCards.AdaptiveChoiceSetInput.TypeName') + - [Choices](#P-AdaptiveCards-AdaptiveChoiceSetInput-Choices 'AdaptiveCards.AdaptiveChoiceSetInput.Choices') + - [IsMultiSelect](#P-AdaptiveCards-AdaptiveChoiceSetInput-IsMultiSelect 'AdaptiveCards.AdaptiveChoiceSetInput.IsMultiSelect') + - [Placeholder](#P-AdaptiveCards-AdaptiveChoiceSetInput-Placeholder 'AdaptiveCards.AdaptiveChoiceSetInput.Placeholder') + - [Style](#P-AdaptiveCards-AdaptiveChoiceSetInput-Style 'AdaptiveCards.AdaptiveChoiceSetInput.Style') + - [Type](#P-AdaptiveCards-AdaptiveChoiceSetInput-Type 'AdaptiveCards.AdaptiveChoiceSetInput.Type') + - [Value](#P-AdaptiveCards-AdaptiveChoiceSetInput-Value 'AdaptiveCards.AdaptiveChoiceSetInput.Value') + - [Wrap](#P-AdaptiveCards-AdaptiveChoiceSetInput-Wrap 'AdaptiveCards.AdaptiveChoiceSetInput.Wrap') + - [GetNonInteractiveValue()](#M-AdaptiveCards-AdaptiveChoiceSetInput-GetNonInteractiveValue 'AdaptiveCards.AdaptiveChoiceSetInput.GetNonInteractiveValue') +- [AdaptiveCollectionElement](#T-AdaptiveCards-AdaptiveCollectionElement 'AdaptiveCards.AdaptiveCollectionElement') + - [Bleed](#P-AdaptiveCards-AdaptiveCollectionElement-Bleed 'AdaptiveCards.AdaptiveCollectionElement.Bleed') + - [PixelMinHeight](#P-AdaptiveCards-AdaptiveCollectionElement-PixelMinHeight 'AdaptiveCards.AdaptiveCollectionElement.PixelMinHeight') + - [SelectAction](#P-AdaptiveCards-AdaptiveCollectionElement-SelectAction 'AdaptiveCards.AdaptiveCollectionElement.SelectAction') + - [Style](#P-AdaptiveCards-AdaptiveCollectionElement-Style 'AdaptiveCards.AdaptiveCollectionElement.Style') + - [StyleXml](#P-AdaptiveCards-AdaptiveCollectionElement-StyleXml 'AdaptiveCards.AdaptiveCollectionElement.StyleXml') + - [VerticalContentAlignment](#P-AdaptiveCards-AdaptiveCollectionElement-VerticalContentAlignment 'AdaptiveCards.AdaptiveCollectionElement.VerticalContentAlignment') + - [ShouldSerializeStyleXml()](#M-AdaptiveCards-AdaptiveCollectionElement-ShouldSerializeStyleXml 'AdaptiveCards.AdaptiveCollectionElement.ShouldSerializeStyleXml') +- [AdaptiveCollectionWithContentAlignment](#T-AdaptiveCards-AdaptiveCollectionWithContentAlignment 'AdaptiveCards.AdaptiveCollectionWithContentAlignment') + - [HorizontalContentAlignment](#P-AdaptiveCards-AdaptiveCollectionWithContentAlignment-HorizontalContentAlignment 'AdaptiveCards.AdaptiveCollectionWithContentAlignment.HorizontalContentAlignment') + - [VerticalContentAlignment](#P-AdaptiveCards-AdaptiveCollectionWithContentAlignment-VerticalContentAlignment 'AdaptiveCards.AdaptiveCollectionWithContentAlignment.VerticalContentAlignment') + - [GetEnumerator()](#M-AdaptiveCards-AdaptiveCollectionWithContentAlignment-GetEnumerator 'AdaptiveCards.AdaptiveCollectionWithContentAlignment.GetEnumerator') +- [AdaptiveColumn](#T-AdaptiveCards-AdaptiveColumn 'AdaptiveCards.AdaptiveColumn') + - [TypeName](#F-AdaptiveCards-AdaptiveColumn-TypeName 'AdaptiveCards.AdaptiveColumn.TypeName') + - [Rtl](#P-AdaptiveCards-AdaptiveColumn-Rtl 'AdaptiveCards.AdaptiveColumn.Rtl') + - [Size](#P-AdaptiveCards-AdaptiveColumn-Size 'AdaptiveCards.AdaptiveColumn.Size') + - [Type](#P-AdaptiveCards-AdaptiveColumn-Type 'AdaptiveCards.AdaptiveColumn.Type') + - [Width](#P-AdaptiveCards-AdaptiveColumn-Width 'AdaptiveCards.AdaptiveColumn.Width') +- [AdaptiveColumnSet](#T-AdaptiveCards-AdaptiveColumnSet 'AdaptiveCards.AdaptiveColumnSet') + - [TypeName](#F-AdaptiveCards-AdaptiveColumnSet-TypeName 'AdaptiveCards.AdaptiveColumnSet.TypeName') + - [Columns](#P-AdaptiveCards-AdaptiveColumnSet-Columns 'AdaptiveCards.AdaptiveColumnSet.Columns') + - [Type](#P-AdaptiveCards-AdaptiveColumnSet-Type 'AdaptiveCards.AdaptiveColumnSet.Type') +- [AdaptiveColumnSize](#T-AdaptiveCards-AdaptiveColumnSize 'AdaptiveCards.AdaptiveColumnSize') + - [Auto](#F-AdaptiveCards-AdaptiveColumnSize-Auto 'AdaptiveCards.AdaptiveColumnSize.Auto') + - [Stretch](#F-AdaptiveCards-AdaptiveColumnSize-Stretch 'AdaptiveCards.AdaptiveColumnSize.Stretch') +- [AdaptiveColumnWidth](#T-AdaptiveCards-AdaptiveColumnWidth 'AdaptiveCards.AdaptiveColumnWidth') + - [Auto](#F-AdaptiveCards-AdaptiveColumnWidth-Auto 'AdaptiveCards.AdaptiveColumnWidth.Auto') + - [Stretch](#F-AdaptiveCards-AdaptiveColumnWidth-Stretch 'AdaptiveCards.AdaptiveColumnWidth.Stretch') +- [AdaptiveConfigBase](#T-AdaptiveCards-Rendering-AdaptiveConfigBase 'AdaptiveCards.Rendering.AdaptiveConfigBase') + - [AdditionalData](#P-AdaptiveCards-Rendering-AdaptiveConfigBase-AdditionalData 'AdaptiveCards.Rendering.AdaptiveConfigBase.AdditionalData') +- [AdaptiveContainer](#T-AdaptiveCards-AdaptiveContainer 'AdaptiveCards.AdaptiveContainer') + - [TypeName](#F-AdaptiveCards-AdaptiveContainer-TypeName 'AdaptiveCards.AdaptiveContainer.TypeName') + - [BackgroundImage](#P-AdaptiveCards-AdaptiveContainer-BackgroundImage 'AdaptiveCards.AdaptiveContainer.BackgroundImage') + - [Items](#P-AdaptiveCards-AdaptiveContainer-Items 'AdaptiveCards.AdaptiveContainer.Items') + - [Rtl](#P-AdaptiveCards-AdaptiveContainer-Rtl 'AdaptiveCards.AdaptiveContainer.Rtl') + - [Type](#P-AdaptiveCards-AdaptiveContainer-Type 'AdaptiveCards.AdaptiveContainer.Type') +- [AdaptiveContainerStyle](#T-AdaptiveCards-AdaptiveContainerStyle 'AdaptiveCards.AdaptiveContainerStyle') + - [Accent](#F-AdaptiveCards-AdaptiveContainerStyle-Accent 'AdaptiveCards.AdaptiveContainerStyle.Accent') + - [Attention](#F-AdaptiveCards-AdaptiveContainerStyle-Attention 'AdaptiveCards.AdaptiveContainerStyle.Attention') + - [Default](#F-AdaptiveCards-AdaptiveContainerStyle-Default 'AdaptiveCards.AdaptiveContainerStyle.Default') + - [Emphasis](#F-AdaptiveCards-AdaptiveContainerStyle-Emphasis 'AdaptiveCards.AdaptiveContainerStyle.Emphasis') + - [Good](#F-AdaptiveCards-AdaptiveContainerStyle-Good 'AdaptiveCards.AdaptiveContainerStyle.Good') + - [Normal](#F-AdaptiveCards-AdaptiveContainerStyle-Normal 'AdaptiveCards.AdaptiveContainerStyle.Normal') + - [Warning](#F-AdaptiveCards-AdaptiveContainerStyle-Warning 'AdaptiveCards.AdaptiveContainerStyle.Warning') +- [AdaptiveDateInput](#T-AdaptiveCards-AdaptiveDateInput 'AdaptiveCards.AdaptiveDateInput') + - [TypeName](#F-AdaptiveCards-AdaptiveDateInput-TypeName 'AdaptiveCards.AdaptiveDateInput.TypeName') + - [Max](#P-AdaptiveCards-AdaptiveDateInput-Max 'AdaptiveCards.AdaptiveDateInput.Max') + - [Min](#P-AdaptiveCards-AdaptiveDateInput-Min 'AdaptiveCards.AdaptiveDateInput.Min') + - [Placeholder](#P-AdaptiveCards-AdaptiveDateInput-Placeholder 'AdaptiveCards.AdaptiveDateInput.Placeholder') + - [Type](#P-AdaptiveCards-AdaptiveDateInput-Type 'AdaptiveCards.AdaptiveDateInput.Type') + - [Value](#P-AdaptiveCards-AdaptiveDateInput-Value 'AdaptiveCards.AdaptiveDateInput.Value') + - [GetNonInteractiveValue()](#M-AdaptiveCards-AdaptiveDateInput-GetNonInteractiveValue 'AdaptiveCards.AdaptiveDateInput.GetNonInteractiveValue') +- [AdaptiveElement](#T-AdaptiveCards-AdaptiveElement 'AdaptiveCards.AdaptiveElement') + - [Height](#P-AdaptiveCards-AdaptiveElement-Height 'AdaptiveCards.AdaptiveElement.Height') + - [IsVisible](#P-AdaptiveCards-AdaptiveElement-IsVisible 'AdaptiveCards.AdaptiveElement.IsVisible') + - [Separator](#P-AdaptiveCards-AdaptiveElement-Separator 'AdaptiveCards.AdaptiveElement.Separator') + - [Spacing](#P-AdaptiveCards-AdaptiveElement-Spacing 'AdaptiveCards.AdaptiveElement.Spacing') + - [Speak](#P-AdaptiveCards-AdaptiveElement-Speak 'AdaptiveCards.AdaptiveElement.Speak') + - [ShouldSerializeHeight()](#M-AdaptiveCards-AdaptiveElement-ShouldSerializeHeight 'AdaptiveCards.AdaptiveElement.ShouldSerializeHeight') +- [AdaptiveElementRenderers\`2](#T-AdaptiveCards-Rendering-AdaptiveElementRenderers`2 'AdaptiveCards.Rendering.AdaptiveElementRenderers`2') + - [Get(type)](#M-AdaptiveCards-Rendering-AdaptiveElementRenderers`2-Get-System-Type- 'AdaptiveCards.Rendering.AdaptiveElementRenderers`2.Get(System.Type)') + - [Get\`\`1()](#M-AdaptiveCards-Rendering-AdaptiveElementRenderers`2-Get``1 'AdaptiveCards.Rendering.AdaptiveElementRenderers`2.Get``1') + - [Remove\`\`1()](#M-AdaptiveCards-Rendering-AdaptiveElementRenderers`2-Remove``1 'AdaptiveCards.Rendering.AdaptiveElementRenderers`2.Remove``1') + - [Set\`\`1(renderer)](#M-AdaptiveCards-Rendering-AdaptiveElementRenderers`2-Set``1-System-Func{``0,`1,`0}- 'AdaptiveCards.Rendering.AdaptiveElementRenderers`2.Set``1(System.Func{``0,`1,`0})') +- [AdaptiveException](#T-AdaptiveCards-AdaptiveException 'AdaptiveCards.AdaptiveException') + - [#ctor()](#M-AdaptiveCards-AdaptiveException-#ctor 'AdaptiveCards.AdaptiveException.#ctor') + - [#ctor()](#M-AdaptiveCards-AdaptiveException-#ctor-System-String- 'AdaptiveCards.AdaptiveException.#ctor(System.String)') + - [#ctor()](#M-AdaptiveCards-AdaptiveException-#ctor-System-String,System-Exception- 'AdaptiveCards.AdaptiveException.#ctor(System.String,System.Exception)') +- [AdaptiveExecuteAction](#T-AdaptiveCards-AdaptiveExecuteAction 'AdaptiveCards.AdaptiveExecuteAction') + - [TypeName](#F-AdaptiveCards-AdaptiveExecuteAction-TypeName 'AdaptiveCards.AdaptiveExecuteAction.TypeName') + - [AssociatedInputs](#P-AdaptiveCards-AdaptiveExecuteAction-AssociatedInputs 'AdaptiveCards.AdaptiveExecuteAction.AssociatedInputs') + - [Data](#P-AdaptiveCards-AdaptiveExecuteAction-Data 'AdaptiveCards.AdaptiveExecuteAction.Data') + - [DataJson](#P-AdaptiveCards-AdaptiveExecuteAction-DataJson 'AdaptiveCards.AdaptiveExecuteAction.DataJson') + - [Type](#P-AdaptiveCards-AdaptiveExecuteAction-Type 'AdaptiveCards.AdaptiveExecuteAction.Type') + - [Verb](#P-AdaptiveCards-AdaptiveExecuteAction-Verb 'AdaptiveCards.AdaptiveExecuteAction.Verb') +- [AdaptiveFact](#T-AdaptiveCards-AdaptiveFact 'AdaptiveCards.AdaptiveFact') + - [#ctor()](#M-AdaptiveCards-AdaptiveFact-#ctor 'AdaptiveCards.AdaptiveFact.#ctor') + - [#ctor(title,value)](#M-AdaptiveCards-AdaptiveFact-#ctor-System-String,System-String- 'AdaptiveCards.AdaptiveFact.#ctor(System.String,System.String)') + - [Speak](#P-AdaptiveCards-AdaptiveFact-Speak 'AdaptiveCards.AdaptiveFact.Speak') + - [Title](#P-AdaptiveCards-AdaptiveFact-Title 'AdaptiveCards.AdaptiveFact.Title') + - [Value](#P-AdaptiveCards-AdaptiveFact-Value 'AdaptiveCards.AdaptiveFact.Value') +- [AdaptiveFactSet](#T-AdaptiveCards-AdaptiveFactSet 'AdaptiveCards.AdaptiveFactSet') + - [TypeName](#F-AdaptiveCards-AdaptiveFactSet-TypeName 'AdaptiveCards.AdaptiveFactSet.TypeName') + - [Facts](#P-AdaptiveCards-AdaptiveFactSet-Facts 'AdaptiveCards.AdaptiveFactSet.Facts') + - [Type](#P-AdaptiveCards-AdaptiveFactSet-Type 'AdaptiveCards.AdaptiveFactSet.Type') +- [AdaptiveFallbackConverter](#T-AdaptiveCards-AdaptiveFallbackConverter 'AdaptiveCards.AdaptiveFallbackConverter') + - [IsInFallback](#F-AdaptiveCards-AdaptiveFallbackConverter-IsInFallback 'AdaptiveCards.AdaptiveFallbackConverter.IsInFallback') + - [CanRead](#P-AdaptiveCards-AdaptiveFallbackConverter-CanRead 'AdaptiveCards.AdaptiveFallbackConverter.CanRead') + - [CanWrite](#P-AdaptiveCards-AdaptiveFallbackConverter-CanWrite 'AdaptiveCards.AdaptiveFallbackConverter.CanWrite') + - [Warnings](#P-AdaptiveCards-AdaptiveFallbackConverter-Warnings 'AdaptiveCards.AdaptiveFallbackConverter.Warnings') + - [CanConvert(objectType)](#M-AdaptiveCards-AdaptiveFallbackConverter-CanConvert-System-Type- 'AdaptiveCards.AdaptiveFallbackConverter.CanConvert(System.Type)') + - [ParseFallback()](#M-AdaptiveCards-AdaptiveFallbackConverter-ParseFallback-Newtonsoft-Json-Linq-JToken,Newtonsoft-Json-JsonSerializer,System-String,AdaptiveCards-AdaptiveInternalID- 'AdaptiveCards.AdaptiveFallbackConverter.ParseFallback(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.JsonSerializer,System.String,AdaptiveCards.AdaptiveInternalID)') + - [ReadJson()](#M-AdaptiveCards-AdaptiveFallbackConverter-ReadJson-Newtonsoft-Json-JsonReader,System-Type,System-Object,Newtonsoft-Json-JsonSerializer- 'AdaptiveCards.AdaptiveFallbackConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)') + - [WriteJson(writer,cardElement,serializer)](#M-AdaptiveCards-AdaptiveFallbackConverter-WriteJson-Newtonsoft-Json-JsonWriter,System-Object,Newtonsoft-Json-JsonSerializer- 'AdaptiveCards.AdaptiveFallbackConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)') +- [AdaptiveFallbackElement](#T-AdaptiveCards-AdaptiveFallbackElement 'AdaptiveCards.AdaptiveFallbackElement') + - [#ctor(fallbackType)](#M-AdaptiveCards-AdaptiveFallbackElement-#ctor-AdaptiveCards-AdaptiveFallbackElement-AdaptiveFallbackType- 'AdaptiveCards.AdaptiveFallbackElement.#ctor(AdaptiveCards.AdaptiveFallbackElement.AdaptiveFallbackType)') + - [#ctor(fallbackContent)](#M-AdaptiveCards-AdaptiveFallbackElement-#ctor-AdaptiveCards-AdaptiveTypedElement- 'AdaptiveCards.AdaptiveFallbackElement.#ctor(AdaptiveCards.AdaptiveTypedElement)') + - [#ctor()](#M-AdaptiveCards-AdaptiveFallbackElement-#ctor 'AdaptiveCards.AdaptiveFallbackElement.#ctor') + - [drop](#F-AdaptiveCards-AdaptiveFallbackElement-drop 'AdaptiveCards.AdaptiveFallbackElement.drop') + - [Content](#P-AdaptiveCards-AdaptiveFallbackElement-Content 'AdaptiveCards.AdaptiveFallbackElement.Content') + - [Type](#P-AdaptiveCards-AdaptiveFallbackElement-Type 'AdaptiveCards.AdaptiveFallbackElement.Type') +- [AdaptiveFallbackException](#T-AdaptiveCards-AdaptiveFallbackException 'AdaptiveCards.AdaptiveFallbackException') + - [#ctor()](#M-AdaptiveCards-AdaptiveFallbackException-#ctor 'AdaptiveCards.AdaptiveFallbackException.#ctor') + - [#ctor()](#M-AdaptiveCards-AdaptiveFallbackException-#ctor-System-String- 'AdaptiveCards.AdaptiveFallbackException.#ctor(System.String)') + - [#ctor()](#M-AdaptiveCards-AdaptiveFallbackException-#ctor-System-String,System-Exception- 'AdaptiveCards.AdaptiveFallbackException.#ctor(System.String,System.Exception)') +- [AdaptiveFallbackType](#T-AdaptiveCards-AdaptiveFallbackElement-AdaptiveFallbackType 'AdaptiveCards.AdaptiveFallbackElement.AdaptiveFallbackType') + - [Content](#F-AdaptiveCards-AdaptiveFallbackElement-AdaptiveFallbackType-Content 'AdaptiveCards.AdaptiveFallbackElement.AdaptiveFallbackType.Content') + - [Drop](#F-AdaptiveCards-AdaptiveFallbackElement-AdaptiveFallbackType-Drop 'AdaptiveCards.AdaptiveFallbackElement.AdaptiveFallbackType.Drop') + - [None](#F-AdaptiveCards-AdaptiveFallbackElement-AdaptiveFallbackType-None 'AdaptiveCards.AdaptiveFallbackElement.AdaptiveFallbackType.None') +- [AdaptiveFeatureRegistration](#T-AdaptiveCards-AdaptiveFeatureRegistration 'AdaptiveCards.AdaptiveFeatureRegistration') + - [#ctor()](#M-AdaptiveCards-AdaptiveFeatureRegistration-#ctor 'AdaptiveCards.AdaptiveFeatureRegistration.#ctor') + - [Get(feature)](#M-AdaptiveCards-AdaptiveFeatureRegistration-Get-System-String- 'AdaptiveCards.AdaptiveFeatureRegistration.Get(System.String)') + - [Remove(feature)](#M-AdaptiveCards-AdaptiveFeatureRegistration-Remove-System-String- 'AdaptiveCards.AdaptiveFeatureRegistration.Remove(System.String)') + - [Set(feature,version)](#M-AdaptiveCards-AdaptiveFeatureRegistration-Set-System-String,System-String- 'AdaptiveCards.AdaptiveFeatureRegistration.Set(System.String,System.String)') +- [AdaptiveFontType](#T-AdaptiveCards-AdaptiveFontType 'AdaptiveCards.AdaptiveFontType') + - [Default](#F-AdaptiveCards-AdaptiveFontType-Default 'AdaptiveCards.AdaptiveFontType.Default') + - [Monospace](#F-AdaptiveCards-AdaptiveFontType-Monospace 'AdaptiveCards.AdaptiveFontType.Monospace') +- [AdaptiveHeight](#T-AdaptiveCards-AdaptiveHeight 'AdaptiveCards.AdaptiveHeight') + - [#ctor()](#M-AdaptiveCards-AdaptiveHeight-#ctor 'AdaptiveCards.AdaptiveHeight.#ctor') + - [#ctor(px)](#M-AdaptiveCards-AdaptiveHeight-#ctor-System-UInt32- 'AdaptiveCards.AdaptiveHeight.#ctor(System.UInt32)') + - [#ctor(heightType)](#M-AdaptiveCards-AdaptiveHeight-#ctor-AdaptiveCards-AdaptiveHeightType- 'AdaptiveCards.AdaptiveHeight.#ctor(AdaptiveCards.AdaptiveHeightType)') + - [Auto](#P-AdaptiveCards-AdaptiveHeight-Auto 'AdaptiveCards.AdaptiveHeight.Auto') + - [HeightType](#P-AdaptiveCards-AdaptiveHeight-HeightType 'AdaptiveCards.AdaptiveHeight.HeightType') + - [Stretch](#P-AdaptiveCards-AdaptiveHeight-Stretch 'AdaptiveCards.AdaptiveHeight.Stretch') + - [Unit](#P-AdaptiveCards-AdaptiveHeight-Unit 'AdaptiveCards.AdaptiveHeight.Unit') + - [UnitXml](#P-AdaptiveCards-AdaptiveHeight-UnitXml 'AdaptiveCards.AdaptiveHeight.UnitXml') + - [Equals()](#M-AdaptiveCards-AdaptiveHeight-Equals-System-Object- 'AdaptiveCards.AdaptiveHeight.Equals(System.Object)') + - [Equals()](#M-AdaptiveCards-AdaptiveHeight-Equals-AdaptiveCards-AdaptiveHeight- 'AdaptiveCards.AdaptiveHeight.Equals(AdaptiveCards.AdaptiveHeight)') + - [GetHashCode()](#M-AdaptiveCards-AdaptiveHeight-GetHashCode 'AdaptiveCards.AdaptiveHeight.GetHashCode') + - [IsPixel()](#M-AdaptiveCards-AdaptiveHeight-IsPixel 'AdaptiveCards.AdaptiveHeight.IsPixel') + - [ShouldSerializeAdaptiveHeight()](#M-AdaptiveCards-AdaptiveHeight-ShouldSerializeAdaptiveHeight 'AdaptiveCards.AdaptiveHeight.ShouldSerializeAdaptiveHeight') + - [ShouldSerializeUnitXml()](#M-AdaptiveCards-AdaptiveHeight-ShouldSerializeUnitXml 'AdaptiveCards.AdaptiveHeight.ShouldSerializeUnitXml') + - [op_Equality()](#M-AdaptiveCards-AdaptiveHeight-op_Equality-AdaptiveCards-AdaptiveHeight,AdaptiveCards-AdaptiveHeight- 'AdaptiveCards.AdaptiveHeight.op_Equality(AdaptiveCards.AdaptiveHeight,AdaptiveCards.AdaptiveHeight)') + - [op_Inequality()](#M-AdaptiveCards-AdaptiveHeight-op_Inequality-AdaptiveCards-AdaptiveHeight,AdaptiveCards-AdaptiveHeight- 'AdaptiveCards.AdaptiveHeight.op_Inequality(AdaptiveCards.AdaptiveHeight,AdaptiveCards.AdaptiveHeight)') +- [AdaptiveHeightType](#T-AdaptiveCards-AdaptiveHeightType 'AdaptiveCards.AdaptiveHeightType') + - [Auto](#F-AdaptiveCards-AdaptiveHeightType-Auto 'AdaptiveCards.AdaptiveHeightType.Auto') + - [Pixel](#F-AdaptiveCards-AdaptiveHeightType-Pixel 'AdaptiveCards.AdaptiveHeightType.Pixel') + - [Stretch](#F-AdaptiveCards-AdaptiveHeightType-Stretch 'AdaptiveCards.AdaptiveHeightType.Stretch') +- [AdaptiveHorizontalAlignment](#T-AdaptiveCards-AdaptiveHorizontalAlignment 'AdaptiveCards.AdaptiveHorizontalAlignment') + - [Center](#F-AdaptiveCards-AdaptiveHorizontalAlignment-Center 'AdaptiveCards.AdaptiveHorizontalAlignment.Center') + - [Left](#F-AdaptiveCards-AdaptiveHorizontalAlignment-Left 'AdaptiveCards.AdaptiveHorizontalAlignment.Left') + - [Right](#F-AdaptiveCards-AdaptiveHorizontalAlignment-Right 'AdaptiveCards.AdaptiveHorizontalAlignment.Right') + - [Stretch](#F-AdaptiveCards-AdaptiveHorizontalAlignment-Stretch 'AdaptiveCards.AdaptiveHorizontalAlignment.Stretch') +- [AdaptiveHorizontalContentAlignment](#T-AdaptiveCards-AdaptiveHorizontalContentAlignment 'AdaptiveCards.AdaptiveHorizontalContentAlignment') + - [Center](#F-AdaptiveCards-AdaptiveHorizontalContentAlignment-Center 'AdaptiveCards.AdaptiveHorizontalContentAlignment.Center') + - [Left](#F-AdaptiveCards-AdaptiveHorizontalContentAlignment-Left 'AdaptiveCards.AdaptiveHorizontalContentAlignment.Left') + - [Right](#F-AdaptiveCards-AdaptiveHorizontalContentAlignment-Right 'AdaptiveCards.AdaptiveHorizontalContentAlignment.Right') +- [AdaptiveHostConfig](#T-AdaptiveCards-Rendering-AdaptiveHostConfig 'AdaptiveCards.Rendering.AdaptiveHostConfig') + - [Actions](#P-AdaptiveCards-Rendering-AdaptiveHostConfig-Actions 'AdaptiveCards.Rendering.AdaptiveHostConfig.Actions') + - [AdaptiveCard](#P-AdaptiveCards-Rendering-AdaptiveHostConfig-AdaptiveCard 'AdaptiveCards.Rendering.AdaptiveHostConfig.AdaptiveCard') + - [ContainerStyles](#P-AdaptiveCards-Rendering-AdaptiveHostConfig-ContainerStyles 'AdaptiveCards.Rendering.AdaptiveHostConfig.ContainerStyles') + - [FactSet](#P-AdaptiveCards-Rendering-AdaptiveHostConfig-FactSet 'AdaptiveCards.Rendering.AdaptiveHostConfig.FactSet') + - [FontFamily](#P-AdaptiveCards-Rendering-AdaptiveHostConfig-FontFamily 'AdaptiveCards.Rendering.AdaptiveHostConfig.FontFamily') + - [FontSizes](#P-AdaptiveCards-Rendering-AdaptiveHostConfig-FontSizes 'AdaptiveCards.Rendering.AdaptiveHostConfig.FontSizes') + - [FontTypes](#P-AdaptiveCards-Rendering-AdaptiveHostConfig-FontTypes 'AdaptiveCards.Rendering.AdaptiveHostConfig.FontTypes') + - [FontWeights](#P-AdaptiveCards-Rendering-AdaptiveHostConfig-FontWeights 'AdaptiveCards.Rendering.AdaptiveHostConfig.FontWeights') + - [Headings](#P-AdaptiveCards-Rendering-AdaptiveHostConfig-Headings 'AdaptiveCards.Rendering.AdaptiveHostConfig.Headings') + - [ImageBaseUrl](#P-AdaptiveCards-Rendering-AdaptiveHostConfig-ImageBaseUrl 'AdaptiveCards.Rendering.AdaptiveHostConfig.ImageBaseUrl') + - [ImageSet](#P-AdaptiveCards-Rendering-AdaptiveHostConfig-ImageSet 'AdaptiveCards.Rendering.AdaptiveHostConfig.ImageSet') + - [ImageSizes](#P-AdaptiveCards-Rendering-AdaptiveHostConfig-ImageSizes 'AdaptiveCards.Rendering.AdaptiveHostConfig.ImageSizes') + - [Inputs](#P-AdaptiveCards-Rendering-AdaptiveHostConfig-Inputs 'AdaptiveCards.Rendering.AdaptiveHostConfig.Inputs') + - [Media](#P-AdaptiveCards-Rendering-AdaptiveHostConfig-Media 'AdaptiveCards.Rendering.AdaptiveHostConfig.Media') + - [Separator](#P-AdaptiveCards-Rendering-AdaptiveHostConfig-Separator 'AdaptiveCards.Rendering.AdaptiveHostConfig.Separator') + - [Spacing](#P-AdaptiveCards-Rendering-AdaptiveHostConfig-Spacing 'AdaptiveCards.Rendering.AdaptiveHostConfig.Spacing') + - [SupportsInteractivity](#P-AdaptiveCards-Rendering-AdaptiveHostConfig-SupportsInteractivity 'AdaptiveCards.Rendering.AdaptiveHostConfig.SupportsInteractivity') + - [FromJson()](#M-AdaptiveCards-Rendering-AdaptiveHostConfig-FromJson-System-String- 'AdaptiveCards.Rendering.AdaptiveHostConfig.FromJson(System.String)') + - [GetFontFamily()](#M-AdaptiveCards-Rendering-AdaptiveHostConfig-GetFontFamily-AdaptiveCards-AdaptiveFontType- 'AdaptiveCards.Rendering.AdaptiveHostConfig.GetFontFamily(AdaptiveCards.AdaptiveFontType)') + - [GetFontSize()](#M-AdaptiveCards-Rendering-AdaptiveHostConfig-GetFontSize-AdaptiveCards-AdaptiveFontType,AdaptiveCards-AdaptiveTextSize- 'AdaptiveCards.Rendering.AdaptiveHostConfig.GetFontSize(AdaptiveCards.AdaptiveFontType,AdaptiveCards.AdaptiveTextSize)') + - [GetFontWeight()](#M-AdaptiveCards-Rendering-AdaptiveHostConfig-GetFontWeight-AdaptiveCards-AdaptiveFontType,AdaptiveCards-AdaptiveTextWeight- 'AdaptiveCards.Rendering.AdaptiveHostConfig.GetFontWeight(AdaptiveCards.AdaptiveFontType,AdaptiveCards.AdaptiveTextWeight)') + - [GetSpacing(spacing)](#M-AdaptiveCards-Rendering-AdaptiveHostConfig-GetSpacing-AdaptiveCards-AdaptiveSpacing- 'AdaptiveCards.Rendering.AdaptiveHostConfig.GetSpacing(AdaptiveCards.AdaptiveSpacing)') + - [ResolveFinalAbsoluteUri(uriString)](#M-AdaptiveCards-Rendering-AdaptiveHostConfig-ResolveFinalAbsoluteUri-System-String- 'AdaptiveCards.Rendering.AdaptiveHostConfig.ResolveFinalAbsoluteUri(System.String)') + - [ResolveFinalAbsoluteUri(uri)](#M-AdaptiveCards-Rendering-AdaptiveHostConfig-ResolveFinalAbsoluteUri-System-Uri- 'AdaptiveCards.Rendering.AdaptiveHostConfig.ResolveFinalAbsoluteUri(System.Uri)') + - [ToJson()](#M-AdaptiveCards-Rendering-AdaptiveHostConfig-ToJson 'AdaptiveCards.Rendering.AdaptiveHostConfig.ToJson') +- [AdaptiveImage](#T-AdaptiveCards-AdaptiveImage 'AdaptiveCards.AdaptiveImage') + - [#ctor()](#M-AdaptiveCards-AdaptiveImage-#ctor 'AdaptiveCards.AdaptiveImage.#ctor') + - [#ctor(url)](#M-AdaptiveCards-AdaptiveImage-#ctor-System-String- 'AdaptiveCards.AdaptiveImage.#ctor(System.String)') + - [#ctor(url)](#M-AdaptiveCards-AdaptiveImage-#ctor-System-Uri- 'AdaptiveCards.AdaptiveImage.#ctor(System.Uri)') + - [TypeName](#F-AdaptiveCards-AdaptiveImage-TypeName 'AdaptiveCards.AdaptiveImage.TypeName') + - [AltText](#P-AdaptiveCards-AdaptiveImage-AltText 'AdaptiveCards.AdaptiveImage.AltText') + - [BackgroundColor](#P-AdaptiveCards-AdaptiveImage-BackgroundColor 'AdaptiveCards.AdaptiveImage.BackgroundColor') + - [HorizontalAlignment](#P-AdaptiveCards-AdaptiveImage-HorizontalAlignment 'AdaptiveCards.AdaptiveImage.HorizontalAlignment') + - [PixelHeight](#P-AdaptiveCards-AdaptiveImage-PixelHeight 'AdaptiveCards.AdaptiveImage.PixelHeight') + - [PixelWidth](#P-AdaptiveCards-AdaptiveImage-PixelWidth 'AdaptiveCards.AdaptiveImage.PixelWidth') + - [SelectAction](#P-AdaptiveCards-AdaptiveImage-SelectAction 'AdaptiveCards.AdaptiveImage.SelectAction') + - [Size](#P-AdaptiveCards-AdaptiveImage-Size 'AdaptiveCards.AdaptiveImage.Size') + - [Style](#P-AdaptiveCards-AdaptiveImage-Style 'AdaptiveCards.AdaptiveImage.Style') + - [Type](#P-AdaptiveCards-AdaptiveImage-Type 'AdaptiveCards.AdaptiveImage.Type') + - [Url](#P-AdaptiveCards-AdaptiveImage-Url 'AdaptiveCards.AdaptiveImage.Url') + - [UrlString](#P-AdaptiveCards-AdaptiveImage-UrlString 'AdaptiveCards.AdaptiveImage.UrlString') +- [AdaptiveImageFillMode](#T-AdaptiveCards-AdaptiveImageFillMode 'AdaptiveCards.AdaptiveImageFillMode') + - [Cover](#F-AdaptiveCards-AdaptiveImageFillMode-Cover 'AdaptiveCards.AdaptiveImageFillMode.Cover') + - [Repeat](#F-AdaptiveCards-AdaptiveImageFillMode-Repeat 'AdaptiveCards.AdaptiveImageFillMode.Repeat') + - [RepeatHorizontally](#F-AdaptiveCards-AdaptiveImageFillMode-RepeatHorizontally 'AdaptiveCards.AdaptiveImageFillMode.RepeatHorizontally') + - [RepeatVertically](#F-AdaptiveCards-AdaptiveImageFillMode-RepeatVertically 'AdaptiveCards.AdaptiveImageFillMode.RepeatVertically') +- [AdaptiveImageSet](#T-AdaptiveCards-AdaptiveImageSet 'AdaptiveCards.AdaptiveImageSet') + - [TypeName](#F-AdaptiveCards-AdaptiveImageSet-TypeName 'AdaptiveCards.AdaptiveImageSet.TypeName') + - [ImageSize](#P-AdaptiveCards-AdaptiveImageSet-ImageSize 'AdaptiveCards.AdaptiveImageSet.ImageSize') + - [Images](#P-AdaptiveCards-AdaptiveImageSet-Images 'AdaptiveCards.AdaptiveImageSet.Images') + - [Type](#P-AdaptiveCards-AdaptiveImageSet-Type 'AdaptiveCards.AdaptiveImageSet.Type') +- [AdaptiveImageSize](#T-AdaptiveCards-AdaptiveImageSize 'AdaptiveCards.AdaptiveImageSize') + - [Auto](#F-AdaptiveCards-AdaptiveImageSize-Auto 'AdaptiveCards.AdaptiveImageSize.Auto') + - [Large](#F-AdaptiveCards-AdaptiveImageSize-Large 'AdaptiveCards.AdaptiveImageSize.Large') + - [Medium](#F-AdaptiveCards-AdaptiveImageSize-Medium 'AdaptiveCards.AdaptiveImageSize.Medium') + - [Small](#F-AdaptiveCards-AdaptiveImageSize-Small 'AdaptiveCards.AdaptiveImageSize.Small') + - [Stretch](#F-AdaptiveCards-AdaptiveImageSize-Stretch 'AdaptiveCards.AdaptiveImageSize.Stretch') +- [AdaptiveImageStyle](#T-AdaptiveCards-AdaptiveImageStyle 'AdaptiveCards.AdaptiveImageStyle') + - [Default](#F-AdaptiveCards-AdaptiveImageStyle-Default 'AdaptiveCards.AdaptiveImageStyle.Default') + - [Normal](#F-AdaptiveCards-AdaptiveImageStyle-Normal 'AdaptiveCards.AdaptiveImageStyle.Normal') + - [Person](#F-AdaptiveCards-AdaptiveImageStyle-Person 'AdaptiveCards.AdaptiveImageStyle.Person') +- [AdaptiveInline](#T-AdaptiveCards-AdaptiveInline 'AdaptiveCards.AdaptiveInline') + - [AdditionalProperties](#P-AdaptiveCards-AdaptiveInline-AdditionalProperties 'AdaptiveCards.AdaptiveInline.AdditionalProperties') + - [Type](#P-AdaptiveCards-AdaptiveInline-Type 'AdaptiveCards.AdaptiveInline.Type') + - [ShouldSerializeAdditionalProperties()](#M-AdaptiveCards-AdaptiveInline-ShouldSerializeAdditionalProperties 'AdaptiveCards.AdaptiveInline.ShouldSerializeAdditionalProperties') +- [AdaptiveInput](#T-AdaptiveCards-AdaptiveInput 'AdaptiveCards.AdaptiveInput') + - [ErrorMessage](#P-AdaptiveCards-AdaptiveInput-ErrorMessage 'AdaptiveCards.AdaptiveInput.ErrorMessage') + - [IsRequired](#P-AdaptiveCards-AdaptiveInput-IsRequired 'AdaptiveCards.AdaptiveInput.IsRequired') + - [Label](#P-AdaptiveCards-AdaptiveInput-Label 'AdaptiveCards.AdaptiveInput.Label') + - [GetNonInteractiveValue()](#M-AdaptiveCards-AdaptiveInput-GetNonInteractiveValue 'AdaptiveCards.AdaptiveInput.GetNonInteractiveValue') +- [AdaptiveInternalID](#T-AdaptiveCards-AdaptiveInternalID 'AdaptiveCards.AdaptiveInternalID') + - [#ctor()](#M-AdaptiveCards-AdaptiveInternalID-#ctor 'AdaptiveCards.AdaptiveInternalID.#ctor') + - [#ctor(id)](#M-AdaptiveCards-AdaptiveInternalID-#ctor-System-UInt32- 'AdaptiveCards.AdaptiveInternalID.#ctor(System.UInt32)') + - [Invalid](#F-AdaptiveCards-AdaptiveInternalID-Invalid 'AdaptiveCards.AdaptiveInternalID.Invalid') + - [Current()](#M-AdaptiveCards-AdaptiveInternalID-Current 'AdaptiveCards.AdaptiveInternalID.Current') + - [Equals()](#M-AdaptiveCards-AdaptiveInternalID-Equals-System-Object- 'AdaptiveCards.AdaptiveInternalID.Equals(System.Object)') + - [GetHashCode()](#M-AdaptiveCards-AdaptiveInternalID-GetHashCode 'AdaptiveCards.AdaptiveInternalID.GetHashCode') + - [Next()](#M-AdaptiveCards-AdaptiveInternalID-Next 'AdaptiveCards.AdaptiveInternalID.Next') + - [ToString()](#M-AdaptiveCards-AdaptiveInternalID-ToString 'AdaptiveCards.AdaptiveInternalID.ToString') +- [AdaptiveMedia](#T-AdaptiveCards-AdaptiveMedia 'AdaptiveCards.AdaptiveMedia') + - [TypeName](#F-AdaptiveCards-AdaptiveMedia-TypeName 'AdaptiveCards.AdaptiveMedia.TypeName') + - [AltText](#P-AdaptiveCards-AdaptiveMedia-AltText 'AdaptiveCards.AdaptiveMedia.AltText') + - [Poster](#P-AdaptiveCards-AdaptiveMedia-Poster 'AdaptiveCards.AdaptiveMedia.Poster') + - [Sources](#P-AdaptiveCards-AdaptiveMedia-Sources 'AdaptiveCards.AdaptiveMedia.Sources') + - [Type](#P-AdaptiveCards-AdaptiveMedia-Type 'AdaptiveCards.AdaptiveMedia.Type') +- [AdaptiveMediaSource](#T-AdaptiveCards-AdaptiveMediaSource 'AdaptiveCards.AdaptiveMediaSource') + - [#ctor()](#M-AdaptiveCards-AdaptiveMediaSource-#ctor 'AdaptiveCards.AdaptiveMediaSource.#ctor') + - [#ctor(mimeType,url)](#M-AdaptiveCards-AdaptiveMediaSource-#ctor-System-String,System-String- 'AdaptiveCards.AdaptiveMediaSource.#ctor(System.String,System.String)') + - [MimeType](#P-AdaptiveCards-AdaptiveMediaSource-MimeType 'AdaptiveCards.AdaptiveMediaSource.MimeType') + - [Url](#P-AdaptiveCards-AdaptiveMediaSource-Url 'AdaptiveCards.AdaptiveMediaSource.Url') +- [AdaptiveNumberInput](#T-AdaptiveCards-AdaptiveNumberInput 'AdaptiveCards.AdaptiveNumberInput') + - [TypeName](#F-AdaptiveCards-AdaptiveNumberInput-TypeName 'AdaptiveCards.AdaptiveNumberInput.TypeName') + - [Max](#P-AdaptiveCards-AdaptiveNumberInput-Max 'AdaptiveCards.AdaptiveNumberInput.Max') + - [Min](#P-AdaptiveCards-AdaptiveNumberInput-Min 'AdaptiveCards.AdaptiveNumberInput.Min') + - [Placeholder](#P-AdaptiveCards-AdaptiveNumberInput-Placeholder 'AdaptiveCards.AdaptiveNumberInput.Placeholder') + - [Type](#P-AdaptiveCards-AdaptiveNumberInput-Type 'AdaptiveCards.AdaptiveNumberInput.Type') + - [Value](#P-AdaptiveCards-AdaptiveNumberInput-Value 'AdaptiveCards.AdaptiveNumberInput.Value') + - [GetNonInteractiveValue()](#M-AdaptiveCards-AdaptiveNumberInput-GetNonInteractiveValue 'AdaptiveCards.AdaptiveNumberInput.GetNonInteractiveValue') +- [AdaptiveOpenUrlAction](#T-AdaptiveCards-AdaptiveOpenUrlAction 'AdaptiveCards.AdaptiveOpenUrlAction') + - [TypeName](#F-AdaptiveCards-AdaptiveOpenUrlAction-TypeName 'AdaptiveCards.AdaptiveOpenUrlAction.TypeName') + - [Type](#P-AdaptiveCards-AdaptiveOpenUrlAction-Type 'AdaptiveCards.AdaptiveOpenUrlAction.Type') + - [Url](#P-AdaptiveCards-AdaptiveOpenUrlAction-Url 'AdaptiveCards.AdaptiveOpenUrlAction.Url') + - [UrlString](#P-AdaptiveCards-AdaptiveOpenUrlAction-UrlString 'AdaptiveCards.AdaptiveOpenUrlAction.UrlString') +- [AdaptiveRefresh](#T-AdaptiveCards-AdaptiveRefresh 'AdaptiveCards.AdaptiveRefresh') + - [Action](#P-AdaptiveCards-AdaptiveRefresh-Action 'AdaptiveCards.AdaptiveRefresh.Action') + - [UserIds](#P-AdaptiveCards-AdaptiveRefresh-UserIds 'AdaptiveCards.AdaptiveRefresh.UserIds') +- [AdaptiveRenderException](#T-AdaptiveCards-Rendering-AdaptiveRenderException 'AdaptiveCards.Rendering.AdaptiveRenderException') + - [CardFallbackText](#P-AdaptiveCards-Rendering-AdaptiveRenderException-CardFallbackText 'AdaptiveCards.Rendering.AdaptiveRenderException.CardFallbackText') +- [AdaptiveRichTextBlock](#T-AdaptiveCards-AdaptiveRichTextBlock 'AdaptiveCards.AdaptiveRichTextBlock') + - [#ctor()](#M-AdaptiveCards-AdaptiveRichTextBlock-#ctor 'AdaptiveCards.AdaptiveRichTextBlock.#ctor') + - [TypeName](#F-AdaptiveCards-AdaptiveRichTextBlock-TypeName 'AdaptiveCards.AdaptiveRichTextBlock.TypeName') + - [HorizontalAlignment](#P-AdaptiveCards-AdaptiveRichTextBlock-HorizontalAlignment 'AdaptiveCards.AdaptiveRichTextBlock.HorizontalAlignment') + - [Inlines](#P-AdaptiveCards-AdaptiveRichTextBlock-Inlines 'AdaptiveCards.AdaptiveRichTextBlock.Inlines') + - [Type](#P-AdaptiveCards-AdaptiveRichTextBlock-Type 'AdaptiveCards.AdaptiveRichTextBlock.Type') +- [AdaptiveSchemaVersion](#T-AdaptiveCards-AdaptiveSchemaVersion 'AdaptiveCards.AdaptiveSchemaVersion') + - [#ctor()](#M-AdaptiveCards-AdaptiveSchemaVersion-#ctor 'AdaptiveCards.AdaptiveSchemaVersion.#ctor') + - [#ctor(versionString)](#M-AdaptiveCards-AdaptiveSchemaVersion-#ctor-System-String- 'AdaptiveCards.AdaptiveSchemaVersion.#ctor(System.String)') + - [#ctor(major,minor)](#M-AdaptiveCards-AdaptiveSchemaVersion-#ctor-System-Int32,System-Int32- 'AdaptiveCards.AdaptiveSchemaVersion.#ctor(System.Int32,System.Int32)') + - [Major](#P-AdaptiveCards-AdaptiveSchemaVersion-Major 'AdaptiveCards.AdaptiveSchemaVersion.Major') + - [Minor](#P-AdaptiveCards-AdaptiveSchemaVersion-Minor 'AdaptiveCards.AdaptiveSchemaVersion.Minor') + - [CompareTo(other)](#M-AdaptiveCards-AdaptiveSchemaVersion-CompareTo-AdaptiveCards-AdaptiveSchemaVersion- 'AdaptiveCards.AdaptiveSchemaVersion.CompareTo(AdaptiveCards.AdaptiveSchemaVersion)') + - [Equals()](#M-AdaptiveCards-AdaptiveSchemaVersion-Equals-System-Object- 'AdaptiveCards.AdaptiveSchemaVersion.Equals(System.Object)') + - [GetHashCode()](#M-AdaptiveCards-AdaptiveSchemaVersion-GetHashCode 'AdaptiveCards.AdaptiveSchemaVersion.GetHashCode') + - [ToString()](#M-AdaptiveCards-AdaptiveSchemaVersion-ToString 'AdaptiveCards.AdaptiveSchemaVersion.ToString') + - [op_Equality()](#M-AdaptiveCards-AdaptiveSchemaVersion-op_Equality-AdaptiveCards-AdaptiveSchemaVersion,AdaptiveCards-AdaptiveSchemaVersion- 'AdaptiveCards.AdaptiveSchemaVersion.op_Equality(AdaptiveCards.AdaptiveSchemaVersion,AdaptiveCards.AdaptiveSchemaVersion)') + - [op_GreaterThan()](#M-AdaptiveCards-AdaptiveSchemaVersion-op_GreaterThan-AdaptiveCards-AdaptiveSchemaVersion,AdaptiveCards-AdaptiveSchemaVersion- 'AdaptiveCards.AdaptiveSchemaVersion.op_GreaterThan(AdaptiveCards.AdaptiveSchemaVersion,AdaptiveCards.AdaptiveSchemaVersion)') + - [op_GreaterThanOrEqual()](#M-AdaptiveCards-AdaptiveSchemaVersion-op_GreaterThanOrEqual-AdaptiveCards-AdaptiveSchemaVersion,AdaptiveCards-AdaptiveSchemaVersion- 'AdaptiveCards.AdaptiveSchemaVersion.op_GreaterThanOrEqual(AdaptiveCards.AdaptiveSchemaVersion,AdaptiveCards.AdaptiveSchemaVersion)') + - [op_Implicit(versionString)](#M-AdaptiveCards-AdaptiveSchemaVersion-op_Implicit-System-String-~AdaptiveCards-AdaptiveSchemaVersion 'AdaptiveCards.AdaptiveSchemaVersion.op_Implicit(System.String)~AdaptiveCards.AdaptiveSchemaVersion') + - [op_Inequality()](#M-AdaptiveCards-AdaptiveSchemaVersion-op_Inequality-AdaptiveCards-AdaptiveSchemaVersion,AdaptiveCards-AdaptiveSchemaVersion- 'AdaptiveCards.AdaptiveSchemaVersion.op_Inequality(AdaptiveCards.AdaptiveSchemaVersion,AdaptiveCards.AdaptiveSchemaVersion)') + - [op_LessThan()](#M-AdaptiveCards-AdaptiveSchemaVersion-op_LessThan-AdaptiveCards-AdaptiveSchemaVersion,AdaptiveCards-AdaptiveSchemaVersion- 'AdaptiveCards.AdaptiveSchemaVersion.op_LessThan(AdaptiveCards.AdaptiveSchemaVersion,AdaptiveCards.AdaptiveSchemaVersion)') + - [op_LessThanOrEqual()](#M-AdaptiveCards-AdaptiveSchemaVersion-op_LessThanOrEqual-AdaptiveCards-AdaptiveSchemaVersion,AdaptiveCards-AdaptiveSchemaVersion- 'AdaptiveCards.AdaptiveSchemaVersion.op_LessThanOrEqual(AdaptiveCards.AdaptiveSchemaVersion,AdaptiveCards.AdaptiveSchemaVersion)') +- [AdaptiveSerializationException](#T-AdaptiveCards-AdaptiveSerializationException 'AdaptiveCards.AdaptiveSerializationException') + - [#ctor()](#M-AdaptiveCards-AdaptiveSerializationException-#ctor 'AdaptiveCards.AdaptiveSerializationException.#ctor') + - [#ctor()](#M-AdaptiveCards-AdaptiveSerializationException-#ctor-System-String- 'AdaptiveCards.AdaptiveSerializationException.#ctor(System.String)') + - [#ctor()](#M-AdaptiveCards-AdaptiveSerializationException-#ctor-System-String,System-Exception- 'AdaptiveCards.AdaptiveSerializationException.#ctor(System.String,System.Exception)') +- [AdaptiveShowCardAction](#T-AdaptiveCards-AdaptiveShowCardAction 'AdaptiveCards.AdaptiveShowCardAction') + - [TypeName](#F-AdaptiveCards-AdaptiveShowCardAction-TypeName 'AdaptiveCards.AdaptiveShowCardAction.TypeName') + - [Card](#P-AdaptiveCards-AdaptiveShowCardAction-Card 'AdaptiveCards.AdaptiveShowCardAction.Card') + - [Type](#P-AdaptiveCards-AdaptiveShowCardAction-Type 'AdaptiveCards.AdaptiveShowCardAction.Type') +- [AdaptiveSpacing](#T-AdaptiveCards-AdaptiveSpacing 'AdaptiveCards.AdaptiveSpacing') + - [Default](#F-AdaptiveCards-AdaptiveSpacing-Default 'AdaptiveCards.AdaptiveSpacing.Default') + - [ExtraLarge](#F-AdaptiveCards-AdaptiveSpacing-ExtraLarge 'AdaptiveCards.AdaptiveSpacing.ExtraLarge') + - [Large](#F-AdaptiveCards-AdaptiveSpacing-Large 'AdaptiveCards.AdaptiveSpacing.Large') + - [Medium](#F-AdaptiveCards-AdaptiveSpacing-Medium 'AdaptiveCards.AdaptiveSpacing.Medium') + - [None](#F-AdaptiveCards-AdaptiveSpacing-None 'AdaptiveCards.AdaptiveSpacing.None') + - [Padding](#F-AdaptiveCards-AdaptiveSpacing-Padding 'AdaptiveCards.AdaptiveSpacing.Padding') + - [Small](#F-AdaptiveCards-AdaptiveSpacing-Small 'AdaptiveCards.AdaptiveSpacing.Small') +- [AdaptiveSubmitAction](#T-AdaptiveCards-AdaptiveSubmitAction 'AdaptiveCards.AdaptiveSubmitAction') + - [TypeName](#F-AdaptiveCards-AdaptiveSubmitAction-TypeName 'AdaptiveCards.AdaptiveSubmitAction.TypeName') + - [AssociatedInputs](#P-AdaptiveCards-AdaptiveSubmitAction-AssociatedInputs 'AdaptiveCards.AdaptiveSubmitAction.AssociatedInputs') + - [Data](#P-AdaptiveCards-AdaptiveSubmitAction-Data 'AdaptiveCards.AdaptiveSubmitAction.Data') + - [DataJson](#P-AdaptiveCards-AdaptiveSubmitAction-DataJson 'AdaptiveCards.AdaptiveSubmitAction.DataJson') + - [Type](#P-AdaptiveCards-AdaptiveSubmitAction-Type 'AdaptiveCards.AdaptiveSubmitAction.Type') +- [AdaptiveTable](#T-AdaptiveCards-AdaptiveTable 'AdaptiveCards.AdaptiveTable') + - [TypeName](#F-AdaptiveCards-AdaptiveTable-TypeName 'AdaptiveCards.AdaptiveTable.TypeName') + - [Columns](#P-AdaptiveCards-AdaptiveTable-Columns 'AdaptiveCards.AdaptiveTable.Columns') + - [FirstRowAsHeaders](#P-AdaptiveCards-AdaptiveTable-FirstRowAsHeaders 'AdaptiveCards.AdaptiveTable.FirstRowAsHeaders') + - [GridStyle](#P-AdaptiveCards-AdaptiveTable-GridStyle 'AdaptiveCards.AdaptiveTable.GridStyle') + - [GridStyleXml](#P-AdaptiveCards-AdaptiveTable-GridStyleXml 'AdaptiveCards.AdaptiveTable.GridStyleXml') + - [Rows](#P-AdaptiveCards-AdaptiveTable-Rows 'AdaptiveCards.AdaptiveTable.Rows') + - [ShowGridLines](#P-AdaptiveCards-AdaptiveTable-ShowGridLines 'AdaptiveCards.AdaptiveTable.ShowGridLines') + - [Type](#P-AdaptiveCards-AdaptiveTable-Type 'AdaptiveCards.AdaptiveTable.Type') + - [Add(element)](#M-AdaptiveCards-AdaptiveTable-Add-AdaptiveCards-AdaptiveElement- 'AdaptiveCards.AdaptiveTable.Add(AdaptiveCards.AdaptiveElement)') + - [GetEnumerator()](#M-AdaptiveCards-AdaptiveTable-GetEnumerator 'AdaptiveCards.AdaptiveTable.GetEnumerator') + - [ShouldSerializeStyleXml()](#M-AdaptiveCards-AdaptiveTable-ShouldSerializeStyleXml 'AdaptiveCards.AdaptiveTable.ShouldSerializeStyleXml') +- [AdaptiveTableCell](#T-AdaptiveCards-AdaptiveTableCell 'AdaptiveCards.AdaptiveTableCell') + - [TypeName](#F-AdaptiveCards-AdaptiveTableCell-TypeName 'AdaptiveCards.AdaptiveTableCell.TypeName') +- [AdaptiveTableColumnDefinition](#T-AdaptiveCards-AdaptiveTableColumnDefinition 'AdaptiveCards.AdaptiveTableColumnDefinition') + - [TypeName](#F-AdaptiveCards-AdaptiveTableColumnDefinition-TypeName 'AdaptiveCards.AdaptiveTableColumnDefinition.TypeName') + - [HorizontalContentAlignment](#P-AdaptiveCards-AdaptiveTableColumnDefinition-HorizontalContentAlignment 'AdaptiveCards.AdaptiveTableColumnDefinition.HorizontalContentAlignment') + - [VerticalContentAlignment](#P-AdaptiveCards-AdaptiveTableColumnDefinition-VerticalContentAlignment 'AdaptiveCards.AdaptiveTableColumnDefinition.VerticalContentAlignment') +- [AdaptiveTableRow](#T-AdaptiveCards-AdaptiveTableRow 'AdaptiveCards.AdaptiveTableRow') + - [TypeName](#F-AdaptiveCards-AdaptiveTableRow-TypeName 'AdaptiveCards.AdaptiveTableRow.TypeName') + - [Cells](#P-AdaptiveCards-AdaptiveTableRow-Cells 'AdaptiveCards.AdaptiveTableRow.Cells') + - [Rtl](#P-AdaptiveCards-AdaptiveTableRow-Rtl 'AdaptiveCards.AdaptiveTableRow.Rtl') + - [Style](#P-AdaptiveCards-AdaptiveTableRow-Style 'AdaptiveCards.AdaptiveTableRow.Style') + - [StyleXml](#P-AdaptiveCards-AdaptiveTableRow-StyleXml 'AdaptiveCards.AdaptiveTableRow.StyleXml') + - [Type](#P-AdaptiveCards-AdaptiveTableRow-Type 'AdaptiveCards.AdaptiveTableRow.Type') + - [GetEnumerator()](#M-AdaptiveCards-AdaptiveTableRow-GetEnumerator 'AdaptiveCards.AdaptiveTableRow.GetEnumerator') + - [ShouldSerializeStyleXml()](#M-AdaptiveCards-AdaptiveTableRow-ShouldSerializeStyleXml 'AdaptiveCards.AdaptiveTableRow.ShouldSerializeStyleXml') +- [AdaptiveTargetElement](#T-AdaptiveCards-AdaptiveTargetElement 'AdaptiveCards.AdaptiveTargetElement') + - [#ctor()](#M-AdaptiveCards-AdaptiveTargetElement-#ctor 'AdaptiveCards.AdaptiveTargetElement.#ctor') + - [#ctor(elementId)](#M-AdaptiveCards-AdaptiveTargetElement-#ctor-System-String- 'AdaptiveCards.AdaptiveTargetElement.#ctor(System.String)') + - [#ctor(elementId,isVisible)](#M-AdaptiveCards-AdaptiveTargetElement-#ctor-System-String,System-Boolean- 'AdaptiveCards.AdaptiveTargetElement.#ctor(System.String,System.Boolean)') + - [ElementId](#P-AdaptiveCards-AdaptiveTargetElement-ElementId 'AdaptiveCards.AdaptiveTargetElement.ElementId') + - [IsVisible](#P-AdaptiveCards-AdaptiveTargetElement-IsVisible 'AdaptiveCards.AdaptiveTargetElement.IsVisible') + - [IsVisibleXml](#P-AdaptiveCards-AdaptiveTargetElement-IsVisibleXml 'AdaptiveCards.AdaptiveTargetElement.IsVisibleXml') + - [ShouldSerializeIsVisibleXml()](#M-AdaptiveCards-AdaptiveTargetElement-ShouldSerializeIsVisibleXml 'AdaptiveCards.AdaptiveTargetElement.ShouldSerializeIsVisibleXml') + - [op_Implicit(elementId)](#M-AdaptiveCards-AdaptiveTargetElement-op_Implicit-System-String-~AdaptiveCards-AdaptiveTargetElement 'AdaptiveCards.AdaptiveTargetElement.op_Implicit(System.String)~AdaptiveCards.AdaptiveTargetElement') +- [AdaptiveTextBlock](#T-AdaptiveCards-AdaptiveTextBlock 'AdaptiveCards.AdaptiveTextBlock') + - [#ctor()](#M-AdaptiveCards-AdaptiveTextBlock-#ctor 'AdaptiveCards.AdaptiveTextBlock.#ctor') + - [#ctor(text)](#M-AdaptiveCards-AdaptiveTextBlock-#ctor-System-String- 'AdaptiveCards.AdaptiveTextBlock.#ctor(System.String)') + - [TypeName](#F-AdaptiveCards-AdaptiveTextBlock-TypeName 'AdaptiveCards.AdaptiveTextBlock.TypeName') + - [Color](#P-AdaptiveCards-AdaptiveTextBlock-Color 'AdaptiveCards.AdaptiveTextBlock.Color') + - [FontType](#P-AdaptiveCards-AdaptiveTextBlock-FontType 'AdaptiveCards.AdaptiveTextBlock.FontType') + - [HorizontalAlignment](#P-AdaptiveCards-AdaptiveTextBlock-HorizontalAlignment 'AdaptiveCards.AdaptiveTextBlock.HorizontalAlignment') + - [IsSubtle](#P-AdaptiveCards-AdaptiveTextBlock-IsSubtle 'AdaptiveCards.AdaptiveTextBlock.IsSubtle') + - [Italic](#P-AdaptiveCards-AdaptiveTextBlock-Italic 'AdaptiveCards.AdaptiveTextBlock.Italic') + - [MaxLines](#P-AdaptiveCards-AdaptiveTextBlock-MaxLines 'AdaptiveCards.AdaptiveTextBlock.MaxLines') + - [MaxWidth](#P-AdaptiveCards-AdaptiveTextBlock-MaxWidth 'AdaptiveCards.AdaptiveTextBlock.MaxWidth') + - [Size](#P-AdaptiveCards-AdaptiveTextBlock-Size 'AdaptiveCards.AdaptiveTextBlock.Size') + - [Strikethrough](#P-AdaptiveCards-AdaptiveTextBlock-Strikethrough 'AdaptiveCards.AdaptiveTextBlock.Strikethrough') + - [Style](#P-AdaptiveCards-AdaptiveTextBlock-Style 'AdaptiveCards.AdaptiveTextBlock.Style') + - [Text](#P-AdaptiveCards-AdaptiveTextBlock-Text 'AdaptiveCards.AdaptiveTextBlock.Text') + - [Type](#P-AdaptiveCards-AdaptiveTextBlock-Type 'AdaptiveCards.AdaptiveTextBlock.Type') + - [Weight](#P-AdaptiveCards-AdaptiveTextBlock-Weight 'AdaptiveCards.AdaptiveTextBlock.Weight') + - [Wrap](#P-AdaptiveCards-AdaptiveTextBlock-Wrap 'AdaptiveCards.AdaptiveTextBlock.Wrap') +- [AdaptiveTextBlockStyle](#T-AdaptiveCards-AdaptiveTextBlockStyle 'AdaptiveCards.AdaptiveTextBlockStyle') + - [Heading](#F-AdaptiveCards-AdaptiveTextBlockStyle-Heading 'AdaptiveCards.AdaptiveTextBlockStyle.Heading') + - [Paragraph](#F-AdaptiveCards-AdaptiveTextBlockStyle-Paragraph 'AdaptiveCards.AdaptiveTextBlockStyle.Paragraph') +- [AdaptiveTextColor](#T-AdaptiveCards-AdaptiveTextColor 'AdaptiveCards.AdaptiveTextColor') + - [Accent](#F-AdaptiveCards-AdaptiveTextColor-Accent 'AdaptiveCards.AdaptiveTextColor.Accent') + - [Attention](#F-AdaptiveCards-AdaptiveTextColor-Attention 'AdaptiveCards.AdaptiveTextColor.Attention') + - [Dark](#F-AdaptiveCards-AdaptiveTextColor-Dark 'AdaptiveCards.AdaptiveTextColor.Dark') + - [Default](#F-AdaptiveCards-AdaptiveTextColor-Default 'AdaptiveCards.AdaptiveTextColor.Default') + - [Good](#F-AdaptiveCards-AdaptiveTextColor-Good 'AdaptiveCards.AdaptiveTextColor.Good') + - [Light](#F-AdaptiveCards-AdaptiveTextColor-Light 'AdaptiveCards.AdaptiveTextColor.Light') + - [Warning](#F-AdaptiveCards-AdaptiveTextColor-Warning 'AdaptiveCards.AdaptiveTextColor.Warning') +- [AdaptiveTextInput](#T-AdaptiveCards-AdaptiveTextInput 'AdaptiveCards.AdaptiveTextInput') + - [TypeName](#F-AdaptiveCards-AdaptiveTextInput-TypeName 'AdaptiveCards.AdaptiveTextInput.TypeName') + - [InlineAction](#P-AdaptiveCards-AdaptiveTextInput-InlineAction 'AdaptiveCards.AdaptiveTextInput.InlineAction') + - [IsMultiline](#P-AdaptiveCards-AdaptiveTextInput-IsMultiline 'AdaptiveCards.AdaptiveTextInput.IsMultiline') + - [MaxLength](#P-AdaptiveCards-AdaptiveTextInput-MaxLength 'AdaptiveCards.AdaptiveTextInput.MaxLength') + - [Placeholder](#P-AdaptiveCards-AdaptiveTextInput-Placeholder 'AdaptiveCards.AdaptiveTextInput.Placeholder') + - [Regex](#P-AdaptiveCards-AdaptiveTextInput-Regex 'AdaptiveCards.AdaptiveTextInput.Regex') + - [Style](#P-AdaptiveCards-AdaptiveTextInput-Style 'AdaptiveCards.AdaptiveTextInput.Style') + - [Type](#P-AdaptiveCards-AdaptiveTextInput-Type 'AdaptiveCards.AdaptiveTextInput.Type') + - [Value](#P-AdaptiveCards-AdaptiveTextInput-Value 'AdaptiveCards.AdaptiveTextInput.Value') + - [GetNonInteractiveValue()](#M-AdaptiveCards-AdaptiveTextInput-GetNonInteractiveValue 'AdaptiveCards.AdaptiveTextInput.GetNonInteractiveValue') +- [AdaptiveTextInputStyle](#T-AdaptiveCards-AdaptiveTextInputStyle 'AdaptiveCards.AdaptiveTextInputStyle') + - [Email](#F-AdaptiveCards-AdaptiveTextInputStyle-Email 'AdaptiveCards.AdaptiveTextInputStyle.Email') + - [Password](#F-AdaptiveCards-AdaptiveTextInputStyle-Password 'AdaptiveCards.AdaptiveTextInputStyle.Password') + - [Tel](#F-AdaptiveCards-AdaptiveTextInputStyle-Tel 'AdaptiveCards.AdaptiveTextInputStyle.Tel') + - [Text](#F-AdaptiveCards-AdaptiveTextInputStyle-Text 'AdaptiveCards.AdaptiveTextInputStyle.Text') + - [Url](#F-AdaptiveCards-AdaptiveTextInputStyle-Url 'AdaptiveCards.AdaptiveTextInputStyle.Url') +- [AdaptiveTextRun](#T-AdaptiveCards-AdaptiveTextRun 'AdaptiveCards.AdaptiveTextRun') + - [#ctor()](#M-AdaptiveCards-AdaptiveTextRun-#ctor 'AdaptiveCards.AdaptiveTextRun.#ctor') + - [#ctor(text)](#M-AdaptiveCards-AdaptiveTextRun-#ctor-System-String- 'AdaptiveCards.AdaptiveTextRun.#ctor(System.String)') + - [TypeName](#F-AdaptiveCards-AdaptiveTextRun-TypeName 'AdaptiveCards.AdaptiveTextRun.TypeName') + - [Color](#P-AdaptiveCards-AdaptiveTextRun-Color 'AdaptiveCards.AdaptiveTextRun.Color') + - [FontType](#P-AdaptiveCards-AdaptiveTextRun-FontType 'AdaptiveCards.AdaptiveTextRun.FontType') + - [Highlight](#P-AdaptiveCards-AdaptiveTextRun-Highlight 'AdaptiveCards.AdaptiveTextRun.Highlight') + - [IsSubtle](#P-AdaptiveCards-AdaptiveTextRun-IsSubtle 'AdaptiveCards.AdaptiveTextRun.IsSubtle') + - [Italic](#P-AdaptiveCards-AdaptiveTextRun-Italic 'AdaptiveCards.AdaptiveTextRun.Italic') + - [SelectAction](#P-AdaptiveCards-AdaptiveTextRun-SelectAction 'AdaptiveCards.AdaptiveTextRun.SelectAction') + - [Size](#P-AdaptiveCards-AdaptiveTextRun-Size 'AdaptiveCards.AdaptiveTextRun.Size') + - [Strikethrough](#P-AdaptiveCards-AdaptiveTextRun-Strikethrough 'AdaptiveCards.AdaptiveTextRun.Strikethrough') + - [Text](#P-AdaptiveCards-AdaptiveTextRun-Text 'AdaptiveCards.AdaptiveTextRun.Text') + - [Type](#P-AdaptiveCards-AdaptiveTextRun-Type 'AdaptiveCards.AdaptiveTextRun.Type') + - [Underline](#P-AdaptiveCards-AdaptiveTextRun-Underline 'AdaptiveCards.AdaptiveTextRun.Underline') + - [Weight](#P-AdaptiveCards-AdaptiveTextRun-Weight 'AdaptiveCards.AdaptiveTextRun.Weight') +- [AdaptiveTextSize](#T-AdaptiveCards-AdaptiveTextSize 'AdaptiveCards.AdaptiveTextSize') + - [Default](#F-AdaptiveCards-AdaptiveTextSize-Default 'AdaptiveCards.AdaptiveTextSize.Default') + - [ExtraLarge](#F-AdaptiveCards-AdaptiveTextSize-ExtraLarge 'AdaptiveCards.AdaptiveTextSize.ExtraLarge') + - [Large](#F-AdaptiveCards-AdaptiveTextSize-Large 'AdaptiveCards.AdaptiveTextSize.Large') + - [Medium](#F-AdaptiveCards-AdaptiveTextSize-Medium 'AdaptiveCards.AdaptiveTextSize.Medium') + - [Normal](#F-AdaptiveCards-AdaptiveTextSize-Normal 'AdaptiveCards.AdaptiveTextSize.Normal') + - [Small](#F-AdaptiveCards-AdaptiveTextSize-Small 'AdaptiveCards.AdaptiveTextSize.Small') +- [AdaptiveTextWeight](#T-AdaptiveCards-AdaptiveTextWeight 'AdaptiveCards.AdaptiveTextWeight') + - [Bolder](#F-AdaptiveCards-AdaptiveTextWeight-Bolder 'AdaptiveCards.AdaptiveTextWeight.Bolder') + - [Default](#F-AdaptiveCards-AdaptiveTextWeight-Default 'AdaptiveCards.AdaptiveTextWeight.Default') + - [Lighter](#F-AdaptiveCards-AdaptiveTextWeight-Lighter 'AdaptiveCards.AdaptiveTextWeight.Lighter') + - [Normal](#F-AdaptiveCards-AdaptiveTextWeight-Normal 'AdaptiveCards.AdaptiveTextWeight.Normal') +- [AdaptiveTimeInput](#T-AdaptiveCards-AdaptiveTimeInput 'AdaptiveCards.AdaptiveTimeInput') + - [TypeName](#F-AdaptiveCards-AdaptiveTimeInput-TypeName 'AdaptiveCards.AdaptiveTimeInput.TypeName') + - [Max](#P-AdaptiveCards-AdaptiveTimeInput-Max 'AdaptiveCards.AdaptiveTimeInput.Max') + - [Min](#P-AdaptiveCards-AdaptiveTimeInput-Min 'AdaptiveCards.AdaptiveTimeInput.Min') + - [Placeholder](#P-AdaptiveCards-AdaptiveTimeInput-Placeholder 'AdaptiveCards.AdaptiveTimeInput.Placeholder') + - [Type](#P-AdaptiveCards-AdaptiveTimeInput-Type 'AdaptiveCards.AdaptiveTimeInput.Type') + - [Value](#P-AdaptiveCards-AdaptiveTimeInput-Value 'AdaptiveCards.AdaptiveTimeInput.Value') + - [GetNonInteractiveValue()](#M-AdaptiveCards-AdaptiveTimeInput-GetNonInteractiveValue 'AdaptiveCards.AdaptiveTimeInput.GetNonInteractiveValue') +- [AdaptiveToggleInput](#T-AdaptiveCards-AdaptiveToggleInput 'AdaptiveCards.AdaptiveToggleInput') + - [TypeName](#F-AdaptiveCards-AdaptiveToggleInput-TypeName 'AdaptiveCards.AdaptiveToggleInput.TypeName') + - [Title](#P-AdaptiveCards-AdaptiveToggleInput-Title 'AdaptiveCards.AdaptiveToggleInput.Title') + - [Type](#P-AdaptiveCards-AdaptiveToggleInput-Type 'AdaptiveCards.AdaptiveToggleInput.Type') + - [Value](#P-AdaptiveCards-AdaptiveToggleInput-Value 'AdaptiveCards.AdaptiveToggleInput.Value') + - [ValueOff](#P-AdaptiveCards-AdaptiveToggleInput-ValueOff 'AdaptiveCards.AdaptiveToggleInput.ValueOff') + - [ValueOn](#P-AdaptiveCards-AdaptiveToggleInput-ValueOn 'AdaptiveCards.AdaptiveToggleInput.ValueOn') + - [Wrap](#P-AdaptiveCards-AdaptiveToggleInput-Wrap 'AdaptiveCards.AdaptiveToggleInput.Wrap') + - [GetNonInteractiveValue()](#M-AdaptiveCards-AdaptiveToggleInput-GetNonInteractiveValue 'AdaptiveCards.AdaptiveToggleInput.GetNonInteractiveValue') +- [AdaptiveToggleVisibilityAction](#T-AdaptiveCards-AdaptiveToggleVisibilityAction 'AdaptiveCards.AdaptiveToggleVisibilityAction') + - [TypeName](#F-AdaptiveCards-AdaptiveToggleVisibilityAction-TypeName 'AdaptiveCards.AdaptiveToggleVisibilityAction.TypeName') + - [TargetElements](#P-AdaptiveCards-AdaptiveToggleVisibilityAction-TargetElements 'AdaptiveCards.AdaptiveToggleVisibilityAction.TargetElements') + - [Type](#P-AdaptiveCards-AdaptiveToggleVisibilityAction-Type 'AdaptiveCards.AdaptiveToggleVisibilityAction.Type') +- [AdaptiveTokenExchangeResource](#T-AdaptiveCards-AdaptiveTokenExchangeResource 'AdaptiveCards.AdaptiveTokenExchangeResource') + - [Id](#P-AdaptiveCards-AdaptiveTokenExchangeResource-Id 'AdaptiveCards.AdaptiveTokenExchangeResource.Id') + - [ProviderId](#P-AdaptiveCards-AdaptiveTokenExchangeResource-ProviderId 'AdaptiveCards.AdaptiveTokenExchangeResource.ProviderId') + - [Uri](#P-AdaptiveCards-AdaptiveTokenExchangeResource-Uri 'AdaptiveCards.AdaptiveTokenExchangeResource.Uri') +- [AdaptiveTypedBaseElementConverter](#T-AdaptiveCards-AdaptiveTypedBaseElementConverter 'AdaptiveCards.AdaptiveTypedBaseElementConverter') + - [ParseContext](#P-AdaptiveCards-AdaptiveTypedBaseElementConverter-ParseContext 'AdaptiveCards.AdaptiveTypedBaseElementConverter.ParseContext') +- [AdaptiveTypedElement](#T-AdaptiveCards-AdaptiveTypedElement 'AdaptiveCards.AdaptiveTypedElement') + - [Requires](#F-AdaptiveCards-AdaptiveTypedElement-Requires 'AdaptiveCards.AdaptiveTypedElement.Requires') + - [AdditionalProperties](#P-AdaptiveCards-AdaptiveTypedElement-AdditionalProperties 'AdaptiveCards.AdaptiveTypedElement.AdditionalProperties') + - [Fallback](#P-AdaptiveCards-AdaptiveTypedElement-Fallback 'AdaptiveCards.AdaptiveTypedElement.Fallback') + - [Id](#P-AdaptiveCards-AdaptiveTypedElement-Id 'AdaptiveCards.AdaptiveTypedElement.Id') + - [InternalID](#P-AdaptiveCards-AdaptiveTypedElement-InternalID 'AdaptiveCards.AdaptiveTypedElement.InternalID') + - [Type](#P-AdaptiveCards-AdaptiveTypedElement-Type 'AdaptiveCards.AdaptiveTypedElement.Type') + - [MeetsRequirements(featureRegistration)](#M-AdaptiveCards-AdaptiveTypedElement-MeetsRequirements-AdaptiveCards-AdaptiveFeatureRegistration- 'AdaptiveCards.AdaptiveTypedElement.MeetsRequirements(AdaptiveCards.AdaptiveFeatureRegistration)') + - [ShouldSerializeAdditionalProperties()](#M-AdaptiveCards-AdaptiveTypedElement-ShouldSerializeAdditionalProperties 'AdaptiveCards.AdaptiveTypedElement.ShouldSerializeAdditionalProperties') +- [AdaptiveTypedElementConverter](#T-AdaptiveCards-AdaptiveTypedElementConverter 'AdaptiveCards.AdaptiveTypedElementConverter') + - [TypedElementTypes](#F-AdaptiveCards-AdaptiveTypedElementConverter-TypedElementTypes 'AdaptiveCards.AdaptiveTypedElementConverter.TypedElementTypes') + - [CanRead](#P-AdaptiveCards-AdaptiveTypedElementConverter-CanRead 'AdaptiveCards.AdaptiveTypedElementConverter.CanRead') + - [CanWrite](#P-AdaptiveCards-AdaptiveTypedElementConverter-CanWrite 'AdaptiveCards.AdaptiveTypedElementConverter.CanWrite') + - [Warnings](#P-AdaptiveCards-AdaptiveTypedElementConverter-Warnings 'AdaptiveCards.AdaptiveTypedElementConverter.Warnings') + - [CanConvert()](#M-AdaptiveCards-AdaptiveTypedElementConverter-CanConvert-System-Type- 'AdaptiveCards.AdaptiveTypedElementConverter.CanConvert(System.Type)') + - [CreateElement\`\`1()](#M-AdaptiveCards-AdaptiveTypedElementConverter-CreateElement``1-System-String- 'AdaptiveCards.AdaptiveTypedElementConverter.CreateElement``1(System.String)') + - [GetElementTypeName()](#M-AdaptiveCards-AdaptiveTypedElementConverter-GetElementTypeName-System-Type,Newtonsoft-Json-Linq-JObject- 'AdaptiveCards.AdaptiveTypedElementConverter.GetElementTypeName(System.Type,Newtonsoft.Json.Linq.JObject)') + - [ReadJson()](#M-AdaptiveCards-AdaptiveTypedElementConverter-ReadJson-Newtonsoft-Json-JsonReader,System-Type,System-Object,Newtonsoft-Json-JsonSerializer- 'AdaptiveCards.AdaptiveTypedElementConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)') + - [RegisterTypedElement\`\`1(typeName)](#M-AdaptiveCards-AdaptiveTypedElementConverter-RegisterTypedElement``1-System-String- 'AdaptiveCards.AdaptiveTypedElementConverter.RegisterTypedElement``1(System.String)') + - [WriteJson()](#M-AdaptiveCards-AdaptiveTypedElementConverter-WriteJson-Newtonsoft-Json-JsonWriter,System-Object,Newtonsoft-Json-JsonSerializer- 'AdaptiveCards.AdaptiveTypedElementConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)') +- [AdaptiveUnknownAction](#T-AdaptiveCards-AdaptiveUnknownAction 'AdaptiveCards.AdaptiveUnknownAction') + - [Type](#P-AdaptiveCards-AdaptiveUnknownAction-Type 'AdaptiveCards.AdaptiveUnknownAction.Type') +- [AdaptiveUnknownElement](#T-AdaptiveCards-AdaptiveUnknownElement 'AdaptiveCards.AdaptiveUnknownElement') + - [Type](#P-AdaptiveCards-AdaptiveUnknownElement-Type 'AdaptiveCards.AdaptiveUnknownElement.Type') +- [AdaptiveVerticalAlignment](#T-AdaptiveCards-AdaptiveVerticalAlignment 'AdaptiveCards.AdaptiveVerticalAlignment') + - [Bottom](#F-AdaptiveCards-AdaptiveVerticalAlignment-Bottom 'AdaptiveCards.AdaptiveVerticalAlignment.Bottom') + - [Center](#F-AdaptiveCards-AdaptiveVerticalAlignment-Center 'AdaptiveCards.AdaptiveVerticalAlignment.Center') + - [Top](#F-AdaptiveCards-AdaptiveVerticalAlignment-Top 'AdaptiveCards.AdaptiveVerticalAlignment.Top') +- [AdaptiveVerticalContentAlignment](#T-AdaptiveCards-AdaptiveVerticalContentAlignment 'AdaptiveCards.AdaptiveVerticalContentAlignment') + - [Bottom](#F-AdaptiveCards-AdaptiveVerticalContentAlignment-Bottom 'AdaptiveCards.AdaptiveVerticalContentAlignment.Bottom') + - [Center](#F-AdaptiveCards-AdaptiveVerticalContentAlignment-Center 'AdaptiveCards.AdaptiveVerticalContentAlignment.Center') + - [Top](#F-AdaptiveCards-AdaptiveVerticalContentAlignment-Top 'AdaptiveCards.AdaptiveVerticalContentAlignment.Top') +- [AdaptiveVisitor](#T-AdaptiveCards-Rendering-AdaptiveVisitor 'AdaptiveCards.Rendering.AdaptiveVisitor') +- [AdaptiveWarning](#T-AdaptiveCards-AdaptiveWarning 'AdaptiveCards.AdaptiveWarning') + - [#ctor(code,message)](#M-AdaptiveCards-AdaptiveWarning-#ctor-System-Int32,System-String- 'AdaptiveCards.AdaptiveWarning.#ctor(System.Int32,System.String)') + - [Code](#P-AdaptiveCards-AdaptiveWarning-Code 'AdaptiveCards.AdaptiveWarning.Code') + - [Message](#P-AdaptiveCards-AdaptiveWarning-Message 'AdaptiveCards.AdaptiveWarning.Message') + - [ToString()](#M-AdaptiveCards-AdaptiveWarning-ToString 'AdaptiveCards.AdaptiveWarning.ToString') +- [BlockRules](#T-Microsoft-MarkedNet-BlockRules 'Microsoft.MarkedNet.BlockRules') +- [BreaksInlineRules](#T-Microsoft-MarkedNet-BreaksInlineRules 'Microsoft.MarkedNet.BreaksInlineRules') +- [ColorUtil](#T-AdaptiveCards-ColorUtil 'AdaptiveCards.ColorUtil') + - [alphaColorLength](#F-AdaptiveCards-ColorUtil-alphaColorLength 'AdaptiveCards.ColorUtil.alphaColorLength') + - [colorStringLength](#F-AdaptiveCards-ColorUtil-colorStringLength 'AdaptiveCards.ColorUtil.colorStringLength') + - [GenerateLighterColor(hexColor)](#M-AdaptiveCards-ColorUtil-GenerateLighterColor-System-String- 'AdaptiveCards.ColorUtil.GenerateLighterColor(System.String)') + - [IsValidColor(color)](#M-AdaptiveCards-ColorUtil-IsValidColor-System-String- 'AdaptiveCards.ColorUtil.IsValidColor(System.String)') + - [TryParseColor(color,result)](#M-AdaptiveCards-ColorUtil-TryParseColor-System-String,System-Int32@- 'AdaptiveCards.ColorUtil.TryParseColor(System.String,System.Int32@)') +- [ContainerStyleConfig](#T-AdaptiveCards-Rendering-ContainerStyleConfig 'AdaptiveCards.Rendering.ContainerStyleConfig') + - [BackgroundColor](#P-AdaptiveCards-Rendering-ContainerStyleConfig-BackgroundColor 'AdaptiveCards.Rendering.ContainerStyleConfig.BackgroundColor') + - [ForegroundColors](#P-AdaptiveCards-Rendering-ContainerStyleConfig-ForegroundColors 'AdaptiveCards.Rendering.ContainerStyleConfig.ForegroundColors') +- [ContextType](#T-AdaptiveCards-ParseContext-ContextType 'AdaptiveCards.ParseContext.ContextType') + - [Action](#F-AdaptiveCards-ParseContext-ContextType-Action 'AdaptiveCards.ParseContext.ContextType.Action') + - [Element](#F-AdaptiveCards-ParseContext-ContextType-Element 'AdaptiveCards.ParseContext.ContextType.Element') +- [EmojiMarkdownRenderer](#T-Microsoft-MarkedNet-EmojiMarkdownRenderer 'Microsoft.MarkedNet.EmojiMarkdownRenderer') +- [ErrorMessageConfig](#T-AdaptiveCards-Rendering-ErrorMessageConfig 'AdaptiveCards.Rendering.ErrorMessageConfig') + - [Size](#P-AdaptiveCards-Rendering-ErrorMessageConfig-Size 'AdaptiveCards.Rendering.ErrorMessageConfig.Size') + - [Spacing](#P-AdaptiveCards-Rendering-ErrorMessageConfig-Spacing 'AdaptiveCards.Rendering.ErrorMessageConfig.Spacing') + - [Weight](#P-AdaptiveCards-Rendering-ErrorMessageConfig-Weight 'AdaptiveCards.Rendering.ErrorMessageConfig.Weight') +- [FactSetConfig](#T-AdaptiveCards-Rendering-FactSetConfig 'AdaptiveCards.Rendering.FactSetConfig') + - [Spacing](#P-AdaptiveCards-Rendering-FactSetConfig-Spacing 'AdaptiveCards.Rendering.FactSetConfig.Spacing') + - [Title](#P-AdaptiveCards-Rendering-FactSetConfig-Title 'AdaptiveCards.Rendering.FactSetConfig.Title') + - [Value](#P-AdaptiveCards-Rendering-FactSetConfig-Value 'AdaptiveCards.Rendering.FactSetConfig.Value') +- [FontColorConfig](#T-AdaptiveCards-Rendering-FontColorConfig 'AdaptiveCards.Rendering.FontColorConfig') + - [Default](#P-AdaptiveCards-Rendering-FontColorConfig-Default 'AdaptiveCards.Rendering.FontColorConfig.Default') +- [GfmBlockRules](#T-Microsoft-MarkedNet-GfmBlockRules 'Microsoft.MarkedNet.GfmBlockRules') +- [GfmInlineRules](#T-Microsoft-MarkedNet-GfmInlineRules 'Microsoft.MarkedNet.GfmInlineRules') +- [HashColorConverter](#T-AdaptiveCards-HashColorConverter 'AdaptiveCards.HashColorConverter') + - [CanWrite](#P-AdaptiveCards-HashColorConverter-CanWrite 'AdaptiveCards.HashColorConverter.CanWrite') + - [Warnings](#P-AdaptiveCards-HashColorConverter-Warnings 'AdaptiveCards.HashColorConverter.Warnings') + - [CanConvert()](#M-AdaptiveCards-HashColorConverter-CanConvert-System-Type- 'AdaptiveCards.HashColorConverter.CanConvert(System.Type)') + - [ReadJson()](#M-AdaptiveCards-HashColorConverter-ReadJson-Newtonsoft-Json-JsonReader,System-Type,System-Object,Newtonsoft-Json-JsonSerializer- 'AdaptiveCards.HashColorConverter.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)') + - [WriteJson()](#M-AdaptiveCards-HashColorConverter-WriteJson-Newtonsoft-Json-JsonWriter,System-Object,Newtonsoft-Json-JsonSerializer- 'AdaptiveCards.HashColorConverter.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)') +- [HeadingsConfig](#T-AdaptiveCards-Rendering-HeadingsConfig 'AdaptiveCards.Rendering.HeadingsConfig') + - [Level](#P-AdaptiveCards-Rendering-HeadingsConfig-Level 'AdaptiveCards.Rendering.HeadingsConfig.Level') +- [HighlightColorConfig](#T-AdaptiveCards-Rendering-HighlightColorConfig 'AdaptiveCards.Rendering.HighlightColorConfig') + - [Default](#P-AdaptiveCards-Rendering-HighlightColorConfig-Default 'AdaptiveCards.Rendering.HighlightColorConfig.Default') +- [HtmlRenderer](#T-Microsoft-MarkedNet-HtmlRenderer 'Microsoft.MarkedNet.HtmlRenderer') +- [IAdaptiveTextElement](#T-AdaptiveCards-IAdaptiveTextElement 'AdaptiveCards.IAdaptiveTextElement') + - [Color](#P-AdaptiveCards-IAdaptiveTextElement-Color 'AdaptiveCards.IAdaptiveTextElement.Color') + - [FontType](#P-AdaptiveCards-IAdaptiveTextElement-FontType 'AdaptiveCards.IAdaptiveTextElement.FontType') + - [IsSubtle](#P-AdaptiveCards-IAdaptiveTextElement-IsSubtle 'AdaptiveCards.IAdaptiveTextElement.IsSubtle') + - [Italic](#P-AdaptiveCards-IAdaptiveTextElement-Italic 'AdaptiveCards.IAdaptiveTextElement.Italic') + - [Size](#P-AdaptiveCards-IAdaptiveTextElement-Size 'AdaptiveCards.IAdaptiveTextElement.Size') + - [Strikethrough](#P-AdaptiveCards-IAdaptiveTextElement-Strikethrough 'AdaptiveCards.IAdaptiveTextElement.Strikethrough') + - [Text](#P-AdaptiveCards-IAdaptiveTextElement-Text 'AdaptiveCards.IAdaptiveTextElement.Text') + - [Weight](#P-AdaptiveCards-IAdaptiveTextElement-Weight 'AdaptiveCards.IAdaptiveTextElement.Weight') +- [IconPlacement](#T-AdaptiveCards-Rendering-IconPlacement 'AdaptiveCards.Rendering.IconPlacement') + - [AboveTitle](#F-AdaptiveCards-Rendering-IconPlacement-AboveTitle 'AdaptiveCards.Rendering.IconPlacement.AboveTitle') + - [LeftOfTitle](#F-AdaptiveCards-Rendering-IconPlacement-LeftOfTitle 'AdaptiveCards.Rendering.IconPlacement.LeftOfTitle') +- [IgnoreEmptyItemsConverter\`1](#T-AdaptiveCards-IgnoreEmptyItemsConverter`1 'AdaptiveCards.IgnoreEmptyItemsConverter`1') + - [CanWrite](#P-AdaptiveCards-IgnoreEmptyItemsConverter`1-CanWrite 'AdaptiveCards.IgnoreEmptyItemsConverter`1.CanWrite') + - [CanConvert()](#M-AdaptiveCards-IgnoreEmptyItemsConverter`1-CanConvert-System-Type- 'AdaptiveCards.IgnoreEmptyItemsConverter`1.CanConvert(System.Type)') + - [ReadJson()](#M-AdaptiveCards-IgnoreEmptyItemsConverter`1-ReadJson-Newtonsoft-Json-JsonReader,System-Type,System-Object,Newtonsoft-Json-JsonSerializer- 'AdaptiveCards.IgnoreEmptyItemsConverter`1.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)') + - [WriteJson()](#M-AdaptiveCards-IgnoreEmptyItemsConverter`1-WriteJson-Newtonsoft-Json-JsonWriter,System-Object,Newtonsoft-Json-JsonSerializer- 'AdaptiveCards.IgnoreEmptyItemsConverter`1.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)') +- [IgnoreNullEnumConverter\`1](#T-AdaptiveCards-IgnoreNullEnumConverter`1 'AdaptiveCards.IgnoreNullEnumConverter`1') + - [#ctor()](#M-AdaptiveCards-IgnoreNullEnumConverter`1-#ctor 'AdaptiveCards.IgnoreNullEnumConverter`1.#ctor') + - [#ctor()](#M-AdaptiveCards-IgnoreNullEnumConverter`1-#ctor-System-Boolean- 'AdaptiveCards.IgnoreNullEnumConverter`1.#ctor(System.Boolean)') + - [Warnings](#P-AdaptiveCards-IgnoreNullEnumConverter`1-Warnings 'AdaptiveCards.IgnoreNullEnumConverter`1.Warnings') + - [ReadJson()](#M-AdaptiveCards-IgnoreNullEnumConverter`1-ReadJson-Newtonsoft-Json-JsonReader,System-Type,System-Object,Newtonsoft-Json-JsonSerializer- 'AdaptiveCards.IgnoreNullEnumConverter`1.ReadJson(Newtonsoft.Json.JsonReader,System.Type,System.Object,Newtonsoft.Json.JsonSerializer)') + - [WriteJson()](#M-AdaptiveCards-IgnoreNullEnumConverter`1-WriteJson-Newtonsoft-Json-JsonWriter,System-Object,Newtonsoft-Json-JsonSerializer- 'AdaptiveCards.IgnoreNullEnumConverter`1.WriteJson(Newtonsoft.Json.JsonWriter,System.Object,Newtonsoft.Json.JsonSerializer)') +- [InlineLexer](#T-Microsoft-MarkedNet-InlineLexer 'Microsoft.MarkedNet.InlineLexer') + - [Mangle()](#M-Microsoft-MarkedNet-InlineLexer-Mangle-System-String- 'Microsoft.MarkedNet.InlineLexer.Mangle(System.String)') + - [Output()](#M-Microsoft-MarkedNet-InlineLexer-Output-System-String- 'Microsoft.MarkedNet.InlineLexer.Output(System.String)') + - [OutputLink()](#M-Microsoft-MarkedNet-InlineLexer-OutputLink-System-Collections-Generic-IList{System-String},Microsoft-MarkedNet-LinkObj- 'Microsoft.MarkedNet.InlineLexer.OutputLink(System.Collections.Generic.IList{System.String},Microsoft.MarkedNet.LinkObj)') + - [Smartypants()](#M-Microsoft-MarkedNet-InlineLexer-Smartypants-System-String- 'Microsoft.MarkedNet.InlineLexer.Smartypants(System.String)') +- [InlineRules](#T-Microsoft-MarkedNet-InlineRules 'Microsoft.MarkedNet.InlineRules') +- [InputLabelConfig](#T-AdaptiveCards-Rendering-InputLabelConfig 'AdaptiveCards.Rendering.InputLabelConfig') + - [Color](#P-AdaptiveCards-Rendering-InputLabelConfig-Color 'AdaptiveCards.Rendering.InputLabelConfig.Color') + - [IsSubtle](#P-AdaptiveCards-Rendering-InputLabelConfig-IsSubtle 'AdaptiveCards.Rendering.InputLabelConfig.IsSubtle') + - [Size](#P-AdaptiveCards-Rendering-InputLabelConfig-Size 'AdaptiveCards.Rendering.InputLabelConfig.Size') + - [Suffix](#P-AdaptiveCards-Rendering-InputLabelConfig-Suffix 'AdaptiveCards.Rendering.InputLabelConfig.Suffix') + - [Weight](#P-AdaptiveCards-Rendering-InputLabelConfig-Weight 'AdaptiveCards.Rendering.InputLabelConfig.Weight') +- [InputsConfig](#T-AdaptiveCards-Rendering-InputsConfig 'AdaptiveCards.Rendering.InputsConfig') +- [JsonExtensions](#T-AdaptiveCards-JsonExtensions 'AdaptiveCards.JsonExtensions') + - [IsHexDigit(c)](#M-AdaptiveCards-JsonExtensions-IsHexDigit-System-Char- 'AdaptiveCards.JsonExtensions.IsHexDigit(System.Char)') +- [LabelConfig](#T-AdaptiveCards-Rendering-LabelConfig 'AdaptiveCards.Rendering.LabelConfig') + - [InputSpacing](#P-AdaptiveCards-Rendering-LabelConfig-InputSpacing 'AdaptiveCards.Rendering.LabelConfig.InputSpacing') +- [Lexer](#T-Microsoft-MarkedNet-Lexer 'Microsoft.MarkedNet.Lexer') + - [Lex()](#M-Microsoft-MarkedNet-Lexer-Lex-System-String,Microsoft-MarkedNet-Options- 'Microsoft.MarkedNet.Lexer.Lex(System.String,Microsoft.MarkedNet.Options)') + - [Lex()](#M-Microsoft-MarkedNet-Lexer-Lex-System-String- 'Microsoft.MarkedNet.Lexer.Lex(System.String)') + - [Token()](#M-Microsoft-MarkedNet-Lexer-Token-System-String,System-Boolean,Microsoft-MarkedNet-TokensResult- 'Microsoft.MarkedNet.Lexer.Token(System.String,System.Boolean,Microsoft.MarkedNet.TokensResult)') +- [MarkdownRenderer](#T-Microsoft-MarkedNet-MarkdownRenderer 'Microsoft.MarkedNet.MarkdownRenderer') + - [Postprocess(text)](#M-Microsoft-MarkedNet-MarkdownRenderer-Postprocess-System-String- 'Microsoft.MarkedNet.MarkdownRenderer.Postprocess(System.String)') + - [Preprocess(text)](#M-Microsoft-MarkedNet-MarkdownRenderer-Preprocess-System-String- 'Microsoft.MarkedNet.MarkdownRenderer.Preprocess(System.String)') +- [MediaConfig](#T-AdaptiveCards-Rendering-MediaConfig 'AdaptiveCards.Rendering.MediaConfig') + - [AllowInlinePlayback](#P-AdaptiveCards-Rendering-MediaConfig-AllowInlinePlayback 'AdaptiveCards.Rendering.MediaConfig.AllowInlinePlayback') + - [DefaultPoster](#P-AdaptiveCards-Rendering-MediaConfig-DefaultPoster 'AdaptiveCards.Rendering.MediaConfig.DefaultPoster') + - [PlayButton](#P-AdaptiveCards-Rendering-MediaConfig-PlayButton 'AdaptiveCards.Rendering.MediaConfig.PlayButton') +- [NormalBlockRules](#T-Microsoft-MarkedNet-NormalBlockRules 'Microsoft.MarkedNet.NormalBlockRules') +- [NormalInlineRules](#T-Microsoft-MarkedNet-NormalInlineRules 'Microsoft.MarkedNet.NormalInlineRules') +- [ParseContext](#T-AdaptiveCards-ParseContext 'AdaptiveCards.ParseContext') + - [Type](#P-AdaptiveCards-ParseContext-Type 'AdaptiveCards.ParseContext.Type') + - [GetNearestFallbackID(skipID)](#M-AdaptiveCards-ParseContext-GetNearestFallbackID-AdaptiveCards-AdaptiveInternalID- 'AdaptiveCards.ParseContext.GetNearestFallbackID(AdaptiveCards.AdaptiveInternalID)') + - [PopElement()](#M-AdaptiveCards-ParseContext-PopElement 'AdaptiveCards.ParseContext.PopElement') + - [PushElement(idJsonProperty,internalId)](#M-AdaptiveCards-ParseContext-PushElement-System-String,AdaptiveCards-AdaptiveInternalID- 'AdaptiveCards.ParseContext.PushElement(System.String,AdaptiveCards.AdaptiveInternalID)') +- [Parser](#T-Microsoft-MarkedNet-Parser 'Microsoft.MarkedNet.Parser') + - [Next()](#M-Microsoft-MarkedNet-Parser-Next 'Microsoft.MarkedNet.Parser.Next') + - [Parse()](#M-Microsoft-MarkedNet-Parser-Parse-Microsoft-MarkedNet-TokensResult,Microsoft-MarkedNet-Options- 'Microsoft.MarkedNet.Parser.Parse(Microsoft.MarkedNet.TokensResult,Microsoft.MarkedNet.Options)') + - [Parse()](#M-Microsoft-MarkedNet-Parser-Parse-Microsoft-MarkedNet-TokensResult- 'Microsoft.MarkedNet.Parser.Parse(Microsoft.MarkedNet.TokensResult)') + - [ParseText()](#M-Microsoft-MarkedNet-Parser-ParseText 'Microsoft.MarkedNet.Parser.ParseText') + - [Peek()](#M-Microsoft-MarkedNet-Parser-Peek 'Microsoft.MarkedNet.Parser.Peek') + - [Tok()](#M-Microsoft-MarkedNet-Parser-Tok 'Microsoft.MarkedNet.Parser.Tok') +- [PedanticInlineRules](#T-Microsoft-MarkedNet-PedanticInlineRules 'Microsoft.MarkedNet.PedanticInlineRules') +- [RemoteResourceInformation](#T-AdaptiveCards-RemoteResourceInformation 'AdaptiveCards.RemoteResourceInformation') + - [#ctor(url,mimeType)](#M-AdaptiveCards-RemoteResourceInformation-#ctor-System-String,System-String- 'AdaptiveCards.RemoteResourceInformation.#ctor(System.String,System.String)') +- [RenderedAdaptiveCardBase](#T-AdaptiveCards-Rendering-RenderedAdaptiveCardBase 'AdaptiveCards.Rendering.RenderedAdaptiveCardBase') + - [OriginatingCard](#P-AdaptiveCards-Rendering-RenderedAdaptiveCardBase-OriginatingCard 'AdaptiveCards.Rendering.RenderedAdaptiveCardBase.OriginatingCard') + - [UserInputs](#P-AdaptiveCards-Rendering-RenderedAdaptiveCardBase-UserInputs 'AdaptiveCards.Rendering.RenderedAdaptiveCardBase.UserInputs') + - [Warnings](#P-AdaptiveCards-Rendering-RenderedAdaptiveCardBase-Warnings 'AdaptiveCards.Rendering.RenderedAdaptiveCardBase.Warnings') +- [RenderedAdaptiveCardInputs](#T-AdaptiveCards-Rendering-RenderedAdaptiveCardInputs 'AdaptiveCards.Rendering.RenderedAdaptiveCardInputs') + - [AsDictionary()](#M-AdaptiveCards-Rendering-RenderedAdaptiveCardInputs-AsDictionary 'AdaptiveCards.Rendering.RenderedAdaptiveCardInputs.AsDictionary') + - [AsJson()](#M-AdaptiveCards-Rendering-RenderedAdaptiveCardInputs-AsJson 'AdaptiveCards.Rendering.RenderedAdaptiveCardInputs.AsJson') +- [RendererUtilities](#T-AdaptiveCards-Rendering-RendererUtilities 'AdaptiveCards.Rendering.RendererUtilities') + - [ApplyTextFunctions(text)](#M-AdaptiveCards-Rendering-RendererUtilities-ApplyTextFunctions-System-String,System-String- 'AdaptiveCards.Rendering.RendererUtilities.ApplyTextFunctions(System.String,System.String)') +- [SeparatorConfig](#T-AdaptiveCards-Rendering-SeparatorConfig 'AdaptiveCards.Rendering.SeparatorConfig') + - [LineColor](#P-AdaptiveCards-Rendering-SeparatorConfig-LineColor 'AdaptiveCards.Rendering.SeparatorConfig.LineColor') + - [LineThickness](#P-AdaptiveCards-Rendering-SeparatorConfig-LineThickness 'AdaptiveCards.Rendering.SeparatorConfig.LineThickness') +- [ShowCardActionMode](#T-AdaptiveCards-Rendering-ShowCardActionMode 'AdaptiveCards.Rendering.ShowCardActionMode') + - [Inline](#F-AdaptiveCards-Rendering-ShowCardActionMode-Inline 'AdaptiveCards.Rendering.ShowCardActionMode.Inline') + - [Popup](#F-AdaptiveCards-Rendering-ShowCardActionMode-Popup 'AdaptiveCards.Rendering.ShowCardActionMode.Popup') +- [ShowCardConfig](#T-AdaptiveCards-Rendering-ShowCardConfig 'AdaptiveCards.Rendering.ShowCardConfig') + - [#ctor()](#M-AdaptiveCards-Rendering-ShowCardConfig-#ctor 'AdaptiveCards.Rendering.ShowCardConfig.#ctor') + - [ActionMode](#P-AdaptiveCards-Rendering-ShowCardConfig-ActionMode 'AdaptiveCards.Rendering.ShowCardConfig.ActionMode') + - [InlineTopMargin](#P-AdaptiveCards-Rendering-ShowCardConfig-InlineTopMargin 'AdaptiveCards.Rendering.ShowCardConfig.InlineTopMargin') + - [Style](#P-AdaptiveCards-Rendering-ShowCardConfig-Style 'AdaptiveCards.Rendering.ShowCardConfig.Style') +- [SpacingsConfig](#T-AdaptiveCards-Rendering-SpacingsConfig 'AdaptiveCards.Rendering.SpacingsConfig') +- [TablesBlockRules](#T-Microsoft-MarkedNet-TablesBlockRules 'Microsoft.MarkedNet.TablesBlockRules') +- [TextBlockConfig](#T-AdaptiveCards-Rendering-TextBlockConfig 'AdaptiveCards.Rendering.TextBlockConfig') + - [Color](#P-AdaptiveCards-Rendering-TextBlockConfig-Color 'AdaptiveCards.Rendering.TextBlockConfig.Color') + - [IsSubtle](#P-AdaptiveCards-Rendering-TextBlockConfig-IsSubtle 'AdaptiveCards.Rendering.TextBlockConfig.IsSubtle') + - [MaxWidth](#P-AdaptiveCards-Rendering-TextBlockConfig-MaxWidth 'AdaptiveCards.Rendering.TextBlockConfig.MaxWidth') + - [Size](#P-AdaptiveCards-Rendering-TextBlockConfig-Size 'AdaptiveCards.Rendering.TextBlockConfig.Size') + - [Weight](#P-AdaptiveCards-Rendering-TextBlockConfig-Weight 'AdaptiveCards.Rendering.TextBlockConfig.Weight') + - [Wrap](#P-AdaptiveCards-Rendering-TextBlockConfig-Wrap 'AdaptiveCards.Rendering.TextBlockConfig.Wrap') +- [TextMarkdownRenderer](#T-Microsoft-MarkedNet-TextMarkdownRenderer 'Microsoft.MarkedNet.TextMarkdownRenderer') +- [WarningLoggingContractResolver](#T-AdaptiveCards-WarningLoggingContractResolver 'AdaptiveCards.WarningLoggingContractResolver') + - [CreateProperty(member,memberSerialization)](#M-AdaptiveCards-WarningLoggingContractResolver-CreateProperty-System-Reflection-MemberInfo,Newtonsoft-Json-MemberSerialization- 'AdaptiveCards.WarningLoggingContractResolver.CreateProperty(System.Reflection.MemberInfo,Newtonsoft.Json.MemberSerialization)') +- [WarningStatusCode](#T-AdaptiveCards-AdaptiveWarning-WarningStatusCode 'AdaptiveCards.AdaptiveWarning.WarningStatusCode') + - [EmptyLabelInRequiredInput](#F-AdaptiveCards-AdaptiveWarning-WarningStatusCode-EmptyLabelInRequiredInput 'AdaptiveCards.AdaptiveWarning.WarningStatusCode.EmptyLabelInRequiredInput') + - [InvalidLanguage](#F-AdaptiveCards-AdaptiveWarning-WarningStatusCode-InvalidLanguage 'AdaptiveCards.AdaptiveWarning.WarningStatusCode.InvalidLanguage') + - [MaxActionsExceeded](#F-AdaptiveCards-AdaptiveWarning-WarningStatusCode-MaxActionsExceeded 'AdaptiveCards.AdaptiveWarning.WarningStatusCode.MaxActionsExceeded') + - [NoErrorMessageForValidatedInput](#F-AdaptiveCards-AdaptiveWarning-WarningStatusCode-NoErrorMessageForValidatedInput 'AdaptiveCards.AdaptiveWarning.WarningStatusCode.NoErrorMessageForValidatedInput') + - [UnsupportedSchemaVersion](#F-AdaptiveCards-AdaptiveWarning-WarningStatusCode-UnsupportedSchemaVersion 'AdaptiveCards.AdaptiveWarning.WarningStatusCode.UnsupportedSchemaVersion') +- [XamlRenderer](#T-Microsoft-MarkedNet-XamlRenderer 'Microsoft.MarkedNet.XamlRenderer') + - [BlockQuoteStyle](#P-Microsoft-MarkedNet-XamlRenderer-BlockQuoteStyle 'Microsoft.MarkedNet.XamlRenderer.BlockQuoteStyle') + - [CellHeaderStyle](#P-Microsoft-MarkedNet-XamlRenderer-CellHeaderStyle 'Microsoft.MarkedNet.XamlRenderer.CellHeaderStyle') + - [CellStyle](#P-Microsoft-MarkedNet-XamlRenderer-CellStyle 'Microsoft.MarkedNet.XamlRenderer.CellStyle') + - [CodeSpanStyle](#P-Microsoft-MarkedNet-XamlRenderer-CodeSpanStyle 'Microsoft.MarkedNet.XamlRenderer.CodeSpanStyle') + - [CodeStyle](#P-Microsoft-MarkedNet-XamlRenderer-CodeStyle 'Microsoft.MarkedNet.XamlRenderer.CodeStyle') + - [CodespanStyle](#P-Microsoft-MarkedNet-XamlRenderer-CodespanStyle 'Microsoft.MarkedNet.XamlRenderer.CodespanStyle') + - [HeadingStyles](#P-Microsoft-MarkedNet-XamlRenderer-HeadingStyles 'Microsoft.MarkedNet.XamlRenderer.HeadingStyles') + - [ImageStyle](#P-Microsoft-MarkedNet-XamlRenderer-ImageStyle 'Microsoft.MarkedNet.XamlRenderer.ImageStyle') + - [ImageTitleStyle](#P-Microsoft-MarkedNet-XamlRenderer-ImageTitleStyle 'Microsoft.MarkedNet.XamlRenderer.ImageTitleStyle') + - [ListItemStyle](#P-Microsoft-MarkedNet-XamlRenderer-ListItemStyle 'Microsoft.MarkedNet.XamlRenderer.ListItemStyle') + - [OrderedListStyle](#P-Microsoft-MarkedNet-XamlRenderer-OrderedListStyle 'Microsoft.MarkedNet.XamlRenderer.OrderedListStyle') + - [ParagraphStyle](#P-Microsoft-MarkedNet-XamlRenderer-ParagraphStyle 'Microsoft.MarkedNet.XamlRenderer.ParagraphStyle') + - [UnorderedListStyle](#P-Microsoft-MarkedNet-XamlRenderer-UnorderedListStyle 'Microsoft.MarkedNet.XamlRenderer.UnorderedListStyle') + + +## ActionsConfig `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +Properties which control rendering and behavior of actions. + + +### ActionAlignment `property` + +##### Summary + +Control horizontal alignment behavior. + + +### ActionsOrientation `property` + +##### Summary + +Arrange actions horizontally or vertically. + + +### ButtonSpacing `property` + +##### Summary + +Controls the amount of space between actions. + + +### IconPlacement `property` + +##### Summary + +Controls where action icons are placed relative to titles. + + +### IconSize `property` + +##### Summary + +Defines the size at which to render icons. + + +### MaxActions `property` + +##### Summary + +Max number of actions to allow in parsed cards. + + +### ShowCard `property` + +##### Summary + +Controls the behavior of Action.ShowCard. + + +### Spacing `property` + +##### Summary + +Controls spacing between card elements. + + +## ActionsOrientation `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +Controls the layout of actions. + + +### Horizontal `constants` + +##### Summary + +Actions should be laid out horizontally. + + +### Vertical `constants` + +##### Summary + +Actions should be laid out vertically. + + +## AdaptiveAction `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Base of Action types + + +### IconUrl `property` + +##### Summary + +IconUrl that can be specified for actions + + +### IsEnabled `property` + +##### Summary + +When set false, action is disabled + + +### Mode `property` + +##### Summary + +Determines whether the action should be displayed as a button or in the overflow menu. + + +### Speak `property` + +##### Summary + +Speak phrase for this action + + +### Style `property` + +##### Summary + +Style that can be specified for actions + + +### Title `property` + +##### Summary + +Title of the action + + +### Tooltip `property` + +##### Summary + +Defines text that should be displayed to the end user as they hover the mouse over the action, and read when using narration software. + + +## AdaptiveActionHandlers `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +A collection of actions known by the host. + + +### AddSupportedAction\`\`1() `method` + +##### Summary + +Adds a given action type. Any action in a payload not specified here will be dropped from the rendered card. + +##### Parameters + +This method has no parameters. + +##### Generic Types + +| Name | Description | +| ---- | ----------- | +| TAction | The type of the action to add. | + + +### IsSupported(type) `method` + +##### Summary + +Determines whether or not the action is supported by the renderer. + +##### Returns + +true iff the Type is supported. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| type | [System.Type](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Type 'System.Type') | The Type for which to determine support. | + + +### RemoveSupportedAction\`\`1() `method` + +##### Summary + +Remove support for an action type. This will prevent these actions from appearing in the rendered card. + +##### Parameters + +This method has no parameters. + +##### Generic Types + +| Name | Description | +| ---- | ----------- | +| TAction | The type of the action to remove. | + + +## AdaptiveActionMode `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Determines whether the action should be displayed as a button or in the overflow menu. + + +### Primary `constants` + +##### Summary + +Action is displayed as a button. + + +### Secondary `constants` + +##### Summary + +Action is placed in an overflow menu (typically a popup menu under a ... button). + + +## AdaptiveActionSet `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the ActionSet element. + + +### TypeName `constants` + +##### Summary + +The AdaptiveCard element that this class implements. + + +### Actions `property` + +##### Summary + +The actions contained within this ActionSet. + + +### Type `property` + +##### Summary + +The JSON property name that this class implements. + + +## AdaptiveAssociatedInputs `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Controls which inputs are associated with a given submit action + + +### Auto `constants` + +##### Summary + +Gathers and validates inputs from the current card and any parent cards + + +### None `constants` + +##### Summary + +Does not gather or validate any inputs on submit + + +## AdaptiveAuthCardButton `type` + +##### Namespace + +AdaptiveCards + + +### Image `property` + +##### Summary + +A URL to an image to display alongside the button's caption. + + +### Title `property` + +##### Summary + +The caption of the button. + + +### Type `property` + +##### Summary + +The type of the button. + + +### Value `property` + +##### Summary + +The value associated with the button. The meaning of value depends on the button's type. + + +## AdaptiveAuthentication `type` + +##### Namespace + +AdaptiveCards + + +### Buttons `property` + +##### Summary + +Buttons that should be displayed to the user when prompting for authentication. The array MUST contain one button of type \"signin\". Other button types are not currently supported. + + +### ConnectionName `property` + +##### Summary + +The identifier for registered OAuth connection setting information. + + +### Text `property` + +##### Summary + +Text that can be displayed to the end user when prompting them to authenticate. + + +### TokenExchangeResource `property` + +##### Summary + +Provides information required to enable on-behalf-of single sign-on user authentication. + + +## AdaptiveBackgroundImage `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the backgroundImage property + + +### #ctor() `constructor` + +##### Summary + +Initializes a new AdaptiveBackgroundImage instance. + +##### Parameters + +This constructor has no parameters. + + +### #ctor(url) `constructor` + +##### Summary + +Initializes a new AdaptiveBackgroundImage instance using the specified URL. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| url | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The background image URL expressed as a string. | + + +### #ctor(url) `constructor` + +##### Summary + +Initializes a new AdaptiveBackgroundImage instance using the specified URL. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| url | [System.Uri](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Uri 'System.Uri') | The background image URL represented as a Uri object. | + + +### #ctor(url,fillMode,hAlignment,vAlignment) `constructor` + +##### Summary + +Initializes a new AdaptiveBackgroundImage instance using the specified parameters. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| url | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The background image URL expressed as a string. | +| fillMode | [AdaptiveCards.AdaptiveImageFillMode](#T-AdaptiveCards-AdaptiveImageFillMode 'AdaptiveCards.AdaptiveImageFillMode') | Controls how the background image should be displayed. | +| hAlignment | [AdaptiveCards.AdaptiveHorizontalAlignment](#T-AdaptiveCards-AdaptiveHorizontalAlignment 'AdaptiveCards.AdaptiveHorizontalAlignment') | Controls horizontal alignment. | +| vAlignment | [AdaptiveCards.AdaptiveVerticalAlignment](#T-AdaptiveCards-AdaptiveVerticalAlignment 'AdaptiveCards.AdaptiveVerticalAlignment') | Controls vertical alignment. | + + +### #ctor(url,fillMode,hAlignment,vAlignment) `constructor` + +##### Summary + +Initializes a new AdaptiveBackgroundImage instance using the specified parameters. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| url | [System.Uri](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Uri 'System.Uri') | The background image URL represented as a Uri object. | +| fillMode | [AdaptiveCards.AdaptiveImageFillMode](#T-AdaptiveCards-AdaptiveImageFillMode 'AdaptiveCards.AdaptiveImageFillMode') | Controls how the background image should be displayed. | +| hAlignment | [AdaptiveCards.AdaptiveHorizontalAlignment](#T-AdaptiveCards-AdaptiveHorizontalAlignment 'AdaptiveCards.AdaptiveHorizontalAlignment') | Controls horizontal alignment. | +| vAlignment | [AdaptiveCards.AdaptiveVerticalAlignment](#T-AdaptiveCards-AdaptiveVerticalAlignment 'AdaptiveCards.AdaptiveVerticalAlignment') | Controls vertical alignment. | + + +### TypeName `constants` + +##### Summary + +The JSON property name that this class implements. + + +### FillMode `property` + +##### Summary + +Controls how the image is tiled or stretched. + + +### HorizontalAlignment `property` + +##### Summary + +Determines how to align the background image horizontally. + + +### Url `property` + +##### Summary + +The Url of the background image. + + +### UrlString `property` + +##### Summary + +The Url of the background image as a string. + + +### VerticalAlignment `property` + +##### Summary + +Determines how to align the background image vertically. + + +### HasDefaultValues() `method` + +##### Summary + +Determines if this instance only has default property values set (aside from [Url](#P-AdaptiveCards-AdaptiveBackgroundImage-Url 'AdaptiveCards.AdaptiveBackgroundImage.Url')). + +##### Returns + +true iff this instance has only default property values. + +##### Parameters + +This method has no parameters. + + +### op_Implicit(backgroundImageUrl) `method` + +##### Summary + +Implicitly create an AdaptiveBackgroundImage from a Uri + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| backgroundImageUrl | [System.Uri)~AdaptiveCards.AdaptiveBackgroundImage](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Uri)~AdaptiveCards.AdaptiveBackgroundImage 'System.Uri)~AdaptiveCards.AdaptiveBackgroundImage') | | + + +## AdaptiveBackgroundImageConverter `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Helper class used by Newtonsoft.Json to convert the backgroundImage property to/from JSON. + + +### CanWrite `property` + +##### Summary + +Lets Newtonsoft.Json know that this class supports writing. + + +### Warnings `property` + +##### Summary + +A list of warnings generated by the converter. + + +### CanConvert(objectType) `method` + +##### Summary + +Called by Newtonsoft.Json to determine if this converter knows how to convert an object of type `objectType`. + +##### Returns + + + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| objectType | [System.Type](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Type 'System.Type') | The type of object to convert. | + + +### ReadJson(reader,objectType,existingValue,serializer) `method` + +##### Summary + +Generates a new [AdaptiveBackgroundImage](#T-AdaptiveCards-AdaptiveBackgroundImage 'AdaptiveCards.AdaptiveBackgroundImage') instance from JSON. + +##### Returns + +A new [AdaptiveBackgroundImage](#T-AdaptiveCards-AdaptiveBackgroundImage 'AdaptiveCards.AdaptiveBackgroundImage') instance. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| reader | [Newtonsoft.Json.JsonReader](#T-Newtonsoft-Json-JsonReader 'Newtonsoft.Json.JsonReader') | JsonReader from which to read. | +| objectType | [System.Type](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Type 'System.Type') | Not used. | +| existingValue | [System.Object](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Object 'System.Object') | Not used. | +| serializer | [Newtonsoft.Json.JsonSerializer](#T-Newtonsoft-Json-JsonSerializer 'Newtonsoft.Json.JsonSerializer') | Not used. | + + +### WriteJson(writer,backgroundImage,serializer) `method` + +##### Summary + +Writes the object to JSON. If the supplied `backgroundImage` is all default values and a URL, will write as a simple string. Otherwise, serialize the supplied `backgroundImage` as a JSON object via the `serializer`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| writer | [Newtonsoft.Json.JsonWriter](#T-Newtonsoft-Json-JsonWriter 'Newtonsoft.Json.JsonWriter') | JsonWriter to write to. | +| backgroundImage | [System.Object](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Object 'System.Object') | The AdaptiveBackgroundImage object to write. | +| serializer | [Newtonsoft.Json.JsonSerializer](#T-Newtonsoft-Json-JsonSerializer 'Newtonsoft.Json.JsonSerializer') | JsonSerializer to use for serialization. | + + +## AdaptiveCard `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Adaptive card which has flexible container + + +### #ctor(schemaVersion) `constructor` + +##### Summary + +Creates an AdaptiveCard using a specific schema version. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| schemaVersion | [AdaptiveCards.AdaptiveSchemaVersion](#T-AdaptiveCards-AdaptiveSchemaVersion 'AdaptiveCards.AdaptiveSchemaVersion') | The schema version to use | + + +### #ctor(schemaVersion) `constructor` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| schemaVersion | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The schema version to use | + + +### #ctor() `constructor` + +##### Summary + +*Inherit from parent.* + +##### Summary + +Creates an AdaptiveCard using the [KnownSchemaVersion](#F-AdaptiveCards-AdaptiveCard-KnownSchemaVersion 'AdaptiveCards.AdaptiveCard.KnownSchemaVersion') of this library. + +##### Parameters + +This constructor has no parameters. + + +### ContentType `constants` + +##### Summary + +AdaptiveCard mimetype. + + +### KnownSchemaVersion `constants` + +##### Summary + +The latest known schema version supported by this library. + + +### TypeName `constants` + +##### Summary + +The AdaptiveCard element that this class implements. + + +### Actions `property` + +##### Summary + +The Actions for this card. + + +### Authentication `property` + +##### Summary + +Defines authentication information to enable on-behalf-of single sign on or just-in-time OAuth. + + +### BackgroundImage `property` + +##### Summary + +Background image for card. + + +### Body `property` + +##### Summary + +The Body elements for this card. + + +### FallbackText `property` + +##### Summary + +Text shown when the client doesn’t support the version specified. This can be in markdown format. + + +### Height `property` + +##### Summary + +Value that denotes if the card must use all the vertical space that is set to it. Default value is [Auto](#F-AdaptiveCards-AdaptiveHeightType-Auto 'AdaptiveCards.AdaptiveHeightType.Auto'). + + +### JsonSchema `property` + +##### Summary + +This makes sure the $schema property doesn't show up in AdditionalProperties + + +### Lang `property` + +##### Summary + +The 2-letter ISO-639-1 language used in the card. Used to localize any date/time functions. + + +### MinVersion `property` + +##### Summary + +This is obsolete. Use the [Version](#P-AdaptiveCards-AdaptiveCard-Version 'AdaptiveCards.AdaptiveCard.Version') property instead. + + +### OnDeserializingMissingVersion `property` + +##### Summary + +Callback that will be invoked should a null or empty version string is encountered. The callback may return an alternate version to use for parsing. + +##### Example + +AdaptiveCard.OnDeserializingMissingVersion = () => new AdaptiveSchemaVersion(0, 5); + + +### PixelMinHeight `property` + +##### Summary + +Explicit card minimum height in pixels. + + +### Refresh `property` + +##### Summary + +Defines how the card can be refreshed by making a request to the target Bot. + + +### SelectAction `property` + +##### Summary + +Action for the card (this allows a default action at the card level) + + +### Speak `property` + +##### Summary + +Speak annotation for the card. + + +### Title `property` + +##### Summary + +Title for the card (used when displayed in a dialog). + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +### Version `property` + +##### Summary + +Schema version that this card requires. If a client is lower than this version the fallbackText will be rendered. + + +### VerticalContentAlignment `property` + +##### Summary + +The content alignment for the element inside the container. + + +### FromJson(json) `method` + +##### Summary + +Parse an AdaptiveCard from a JSON string. + +##### Returns + +The result of parsing `json`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| json | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | A JSON-serialized Adaptive Card. | + + +### GetResourceInformation() `method` + +##### Summary + +Get resource information for all images and media present in this card. + +##### Returns + +Resource information for the entire card. + +##### Parameters + +This method has no parameters. + + +### ShouldSerializeActions() `method` + +##### Summary + +Determines whether the actions portion of an AdaptiveCard should be serialized. + +##### Returns + +true iff actions should be serialized. + +##### Parameters + +This method has no parameters. + + +### ShouldSerializeBody() `method` + +##### Summary + +Determines whether the body portion of an AdaptiveCard should be serialized. + +##### Returns + +true iff the body should be serialized. + +##### Parameters + +This method has no parameters. + + +### ShouldSerializeHeight() `method` + +##### Summary + +Determines whether the height property of an AdaptiveCard should be serialized. + +##### Returns + +true iff the height property should be serialized. + +##### Parameters + +This method has no parameters. + + +### ShouldSerializeJsonSchema() `method` + +##### Summary + +Determines whether the schema entry in an AdaptiveCard should be serialized. + +##### Returns + +false + +##### Parameters + +This method has no parameters. + + +### ToJson() `method` + +##### Summary + +Serialize this AdaptiveCard to JSON. + +##### Returns + +The JSON representation of this AdaptiveCard. + +##### Parameters + +This method has no parameters. + + +## AdaptiveCardConfig `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +Contains options for the AdaptiveCard element. + + +### AllowCustomStyle `property` + +##### Summary + +Determines whether custom styles should be honored. + + +## AdaptiveCardConverter `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Helper class used by Newtonsoft.Json to convert an AdaptiveCard to/from JSON. + + +### CanWrite `property` + +##### Summary + +*Inherit from parent.* + + +### Warnings `property` + +##### Summary + +A list of warnings generated by the converter. + + +### CanConvert() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +### ReadJson(reader,objectType,existingValue,serializer) `method` + +##### Summary + +Generates a new [AdaptiveCard](#T-AdaptiveCards-AdaptiveCard 'AdaptiveCards.AdaptiveCard') instance from JSON. + +##### Returns + +A new AdaptiveCard instance on success. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| reader | [Newtonsoft.Json.JsonReader](#T-Newtonsoft-Json-JsonReader 'Newtonsoft.Json.JsonReader') | JsonReader from which to read. | +| objectType | [System.Type](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Type 'System.Type') | | +| existingValue | [System.Object](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Object 'System.Object') | | +| serializer | [Newtonsoft.Json.JsonSerializer](#T-Newtonsoft-Json-JsonSerializer 'Newtonsoft.Json.JsonSerializer') | | + + +### WriteJson() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +## AdaptiveCardParseResult `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +The result of parsing an AdaptiveCard from JSON. + + +### Card `property` + +##### Summary + +The parsed card object. + + +### Warnings `property` + +##### Summary + +A collection of any warnings that might have been encountered when parsing the card. + + +## AdaptiveCardRendererBase\`2 `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +Abstract base class that every AdaptiveCards renderer must implement. + +##### Generic Types + +| Name | Description | +| ---- | ----------- | +| TUIElement | The base UI element type the renderer implements (e.g. "HTMLElement" or +"FrameworkElement"). | +| TContext | The type of the renderer context to use (e.g. "AdaptiveRenderContext"). | + + +### ElementRenderers `property` + +##### Summary + +The dictionary of supported element types and their associated rendering functions + + +### HostConfig `property` + +##### Summary + +A Host Configuration object to determine base styling and behavior of the rendered card + + +### SupportedSchemaVersion `property` + +##### Summary + +Provides the highest schema version that this renderer supports. + + +### GetSupportedSchemaVersion() `method` + +##### Summary + +Provides the highest schema version that this renderer supports. + +##### Parameters + +This method has no parameters. + + +## AdaptiveChoice `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Choice as part of a Input.AdaptiveChoiceSetInput element + + +### IsSelected `property` + +##### Summary + +Is this choice selected? + + +### Speak `property` + +##### Summary + +(OPTIONAL) Speech description of the choice + + +### Title `property` + +##### Summary + +Display text for the choice + + +### Value `property` + +##### Summary + +Internal value which will be collected as input if the choice is selected + + +## AdaptiveChoiceInputStyle `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +The style of ChoiceInput to display. + + +### Compact `constants` + +##### Summary + +Compact display similar to a ComboBox. + + +### Expanded `constants` + +##### Summary + +Expanded display i.e. Checkbox or Radio buttons. + + +### Filtered `constants` + +##### Summary + +Allows users to filter choices in a choice set. + + +## AdaptiveChoiceSetInput `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the Input.ChoiceSet element. + + +### TypeName `constants` + +##### Summary + +The AdaptiveCard element that this class implements. + + +### Choices `property` + +##### Summary + +A collection of available choices. + + +### IsMultiSelect `property` + +##### Summary + +Determines whether multiple selections are allowed. + + +### Placeholder `property` + +##### Summary + +Text to display as a placeholder. + + +### Style `property` + +##### Summary + +The style to use when displaying this Input.ChoiceSet. + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +### Value `property` + +##### Summary + +Comma separated string of selected Choice values. + + +### Wrap `property` + +##### Summary + +Controls text wrapping behavior. + + +### GetNonInteractiveValue() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +## AdaptiveCollectionElement `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Base class for all elements that contain other elements. + + +### Bleed `property` + +##### Summary + +Defines if the element can bleed through its parent's padding. + + +### PixelMinHeight `property` + +##### Summary + +Explicit container element minimum height. + + +### SelectAction `property` + +##### Summary + +Action for this container. This allows for setting a default action at the container level. + + +### Style `property` + +##### Summary + +The style used to display this element. See [AdaptiveContainerStyle](#T-AdaptiveCards-AdaptiveContainerStyle 'AdaptiveCards.AdaptiveContainerStyle'). + + +### StyleXml `property` + +##### Summary + +Controls XML serialization of style. + + +### VerticalContentAlignment `property` + +##### Summary + +The content alignment for the element inside the container. + + +### ShouldSerializeStyleXml() `method` + +##### Summary + +Determines whether to serialize the style for XML. + +##### Parameters + +This method has no parameters. + + +## AdaptiveCollectionWithContentAlignment `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +AdaptiveCard element with content alignment properties + + +### HorizontalContentAlignment `property` + +##### Summary + +The content alignment for the TableCells inside the TableRow. + + +### VerticalContentAlignment `property` + +##### Summary + +The content alignment for the TableCells inside the TableRow. + + +### GetEnumerator() `method` + +##### Summary + +Returns enumerator + +##### Returns + + + +##### Parameters + +This method has no parameters. + + +## AdaptiveColumn `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the Column element. + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### Rtl `property` + +##### Summary + +Sets the text flow direction + + +### Size `property` + +##### Summary + +Size for the column (either ColumnSize string or number which is relative size of the column). + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +### Width `property` + +##### Summary + +Width for the column (either ColumnWidth string or number which is relative size of the column). + + +## AdaptiveColumnSet `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the ColumnSet element. + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### Columns `property` + +##### Summary + +Collection of Columns that this ColumnSet contains. + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +## AdaptiveColumnSize `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Controls the horizontal size (width) of Column. + + +### Auto `constants` + +##### Summary + +The width of the Column is optimally chosen depending on the space available in the element's container + + +### Stretch `constants` + +##### Summary + +The width of the Column adjusts to match that of its container + + +## AdaptiveColumnWidth `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Controls the horizontal size (width) of Column. + + +### Auto `constants` + +##### Summary + +The width of the Column is optimally chosen depending on the space available in the element's container + + +### Stretch `constants` + +##### Summary + +The width of the Column adjusts to match that of its container + + +## AdaptiveConfigBase `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +Base class for configuration-holding renderer classes. + + +### AdditionalData `property` + +##### Summary + +Holds additional data in a configuration that doesn't map to known properties. + + +## AdaptiveContainer `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the Container element. + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### BackgroundImage `property` + +##### Summary + +Background image to use when displaying this container. + + +### Items `property` + +##### Summary + +Elements within this container. + + +### Rtl `property` + +##### Summary + +Sets the text flow direction + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +## AdaptiveContainerStyle `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Controls which style to apply to a container. + + +### Accent `constants` + +##### Summary + +The container should be displayed using the accent style + + +### Attention `constants` + +##### Summary + +The container should be displayed using the attention style + + +### Default `constants` + +##### Summary + +The container should be displayed using the default style + + +### Emphasis `constants` + +##### Summary + +The container should be displayed using the emphasis style + + +### Good `constants` + +##### Summary + +The container should be displayed using the good style + + +### Normal `constants` + +##### Summary + +The container is a normal container + + +### Warning `constants` + +##### Summary + +The container should be displayed using the warning style + + +## AdaptiveDateInput `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the Input.Date element. + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### Max `property` + +##### Summary + +Hint of maximum value (note: may be ignored by some clients). + + +### Min `property` + +##### Summary + +Hint of minimum value (note: may be ignored by some clients). + + +### Placeholder `property` + +##### Summary + +Placeholder text to display. + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +### Value `property` + +##### Summary + +The initial value for the field. + + +### GetNonInteractiveValue() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +## AdaptiveElement `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents an element in Adaptive Cards. + + +### Height `property` + +##### Summary + +The amount of space the element should be separated from the previous element. Default value is [Auto](#P-AdaptiveCards-AdaptiveHeight-Auto 'AdaptiveCards.AdaptiveHeight.Auto'). + + +### IsVisible `property` + +##### Summary + +Indicates whether the element should be visible when the card has been rendered. + + +### Separator `property` + +##### Summary + +Indicates whether there should be a visible separator (e.g. a line) between this element and the one before it. + + +### Spacing `property` + +##### Summary + +The amount of space the element should be separated from the previous element. Default value is [Default](#F-AdaptiveCards-AdaptiveSpacing-Default 'AdaptiveCards.AdaptiveSpacing.Default'). + + +### Speak `property` + +##### Summary + +SSML fragment for spoken interaction. + + +### ShouldSerializeHeight() `method` + +##### Summary + +Determines whether the height property should be serialized or not. + +##### Parameters + +This method has no parameters. + + +## AdaptiveElementRenderers\`2 `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +Encapsulates information needed to map from element types to factory methods for instantiating them. + +##### Generic Types + +| Name | Description | +| ---- | ----------- | +| TUIElement | The base UI element type the renderer implements (e.g. "HTMLElement" or +"FrameworkElement"). | +| TContext | The type of the renderer context to use (e.g. "AdaptiveRenderContext"). | + + +### Get(type) `method` + +##### Summary + +Gets the factory method for an element type. + +##### Returns + +The factory method for the element object. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| type | [System.Type](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Type 'System.Type') | The type of object for which to retrieve the factory method. | + + +### Get\`\`1() `method` + +##### Summary + +Gets the factory method for an element type. + +##### Returns + +The factory method for the element object of type TElement. + +##### Parameters + +This method has no parameters. + +##### Generic Types + +| Name | Description | +| ---- | ----------- | +| TElement | The type of element object to get. | + + +### Remove\`\`1() `method` + +##### Summary + +Removes the registration for the element type. + +##### Parameters + +This method has no parameters. + +##### Generic Types + +| Name | Description | +| ---- | ----------- | +| TElement | The type of element object to remove. | + + +### Set\`\`1(renderer) `method` + +##### Summary + +Registers or replaces a factory method for the given element type. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| renderer | [System.Func{\`\`0,\`1,\`0}](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Func 'System.Func{``0,`1,`0}') | Factory method for instantiating an element object of type TElement. | + +##### Generic Types + +| Name | Description | +| ---- | ----------- | +| TElement | The type of the element object. | + + +## AdaptiveException `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents an exception thrown by Adaptive Cards itself. + + +### #ctor() `constructor` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This constructor has no parameters. + + +### #ctor() `constructor` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This constructor has no parameters. + + +### #ctor() `constructor` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This constructor has no parameters. + + +## AdaptiveExecuteAction `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Execute action gathers up input fields, merges with optional data field and generates event to client + asking for data to be submitted. + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### AssociatedInputs `property` + +##### Summary + +Controls which inputs are associated with the execute action + + +### Data `property` + +##### Summary + +initial data that input fields will be combined with. This is essentially 'hidden' properties, Example: + {"id":"123123123"} + + +### DataJson `property` + +##### Summary + +Get or set the data as a JSON string. + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +### Verb `property` + +##### Summary + +The card author-defined verb associated with this action. + + +## AdaptiveFact `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents a "fact" in a FactSet element. + + +### #ctor() `constructor` + +##### Summary + +Initializes an empty Fact. + +##### Parameters + +This constructor has no parameters. + + +### #ctor(title,value) `constructor` + +##### Summary + +Initializes a Fact with the given properties. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| title | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The title of the Fact. | +| value | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The value of the Fact. | + + +### Speak `property` + +##### Summary + +(Optional) Specifies what should be spoken for this entire element. This is simple text or SSML fragment. + + +### Title `property` + +##### Summary + +The Fact's title. + + +### Value `property` + +##### Summary + +The Fact's value. + + +## AdaptiveFactSet `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the FactSet element. + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### Facts `property` + +##### Summary + +A collection of Facts to this FactSet contains. + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +## AdaptiveFallbackConverter `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +A converter to use with Newtonsoft.Json that handles fallback scenarios. + + +### IsInFallback `constants` + +##### Summary + +State tracking to determine whether we're currently processing a fallback request. + + +### CanRead `property` + +##### Summary + +Lets Newtonsoft.Json know that this converter knows how to read JSON. + + +### CanWrite `property` + +##### Summary + +Lets Newtonsoft.Json know that this converter knows how to write JSON. + + +### Warnings `property` + +##### Summary + +A list of warnings generated by this converter. + + +### CanConvert(objectType) `method` + +##### Summary + +Called by Newtonsoft.Json to determine if an object is recognized by this converter. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| objectType | [System.Type](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Type 'System.Type') | Type of object. | + + +### ParseFallback() `method` + +##### Summary + +Helper to handle instantiating an [AdaptiveFallbackElement](#T-AdaptiveCards-AdaptiveFallbackElement 'AdaptiveCards.AdaptiveFallbackElement') during JSON parsing. + +##### Parameters + +This method has no parameters. + + +### ReadJson() `method` + +##### Summary + +Called by Newtonsoft.Json to convert the given JSON to an object instance. + +##### Parameters + +This method has no parameters. + + +### WriteJson(writer,cardElement,serializer) `method` + +##### Summary + +Called by Newtonsoft.Json to write the given element as JSON. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| writer | [Newtonsoft.Json.JsonWriter](#T-Newtonsoft-Json-JsonWriter 'Newtonsoft.Json.JsonWriter') | Destination for serialized content. | +| cardElement | [System.Object](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Object 'System.Object') | Element to serialize. | +| serializer | [Newtonsoft.Json.JsonSerializer](#T-Newtonsoft-Json-JsonSerializer 'Newtonsoft.Json.JsonSerializer') | Serializer to use. | + + +## AdaptiveFallbackElement `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the fallback property. + + +### #ctor(fallbackType) `constructor` + +##### Summary + +Initializes an AdaptiveFallbackElement with the given `fallbackType`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| fallbackType | [AdaptiveCards.AdaptiveFallbackElement.AdaptiveFallbackType](#T-AdaptiveCards-AdaptiveFallbackElement-AdaptiveFallbackType 'AdaptiveCards.AdaptiveFallbackElement.AdaptiveFallbackType') | The type of fallback this instance represents. | + + +### #ctor(fallbackContent) `constructor` + +##### Summary + +Initializes an AdaptiveFallbackElement with the given `fallbackContent`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| fallbackContent | [AdaptiveCards.AdaptiveTypedElement](#T-AdaptiveCards-AdaptiveTypedElement 'AdaptiveCards.AdaptiveTypedElement') | The content to show in the event of fallback. | + + +### #ctor() `constructor` + +##### Summary + +Initializes an AdaptiveFallbackElement with no fallback type. + +##### Parameters + +This constructor has no parameters. + + +### drop `constants` + +##### Summary + +String that represents "drop" fallback type + + +### Content `property` + +##### Summary + +The content to show in the event of fallback. + + +### Type `property` + +##### Summary + +Represents the type of fallback to perform. + + +## AdaptiveFallbackException `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +An exception thrown while processing fallback. + +##### Remarks + +This exception is intended to be caught and handled by an element that has a fallback action. + + +### #ctor() `constructor` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This constructor has no parameters. + + +### #ctor() `constructor` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This constructor has no parameters. + + +### #ctor() `constructor` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This constructor has no parameters. + + +## AdaptiveFallbackType `type` + +##### Namespace + +AdaptiveCards.AdaptiveFallbackElement + +##### Summary + +Enumeration describing an object's fallback type. + + +### Content `constants` + +##### Summary + +This element has content to show in the event of fallback being triggered. + + +### Drop `constants` + +##### Summary + +Drop this element during fallback. + + +### None `constants` + +##### Summary + +This object does not have fallback specified. + + +## AdaptiveFeatureRegistration `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Tracks features supported by a host. When an Adaptive Cards element declares "requires", this is the collection +that gets used. + + +### #ctor() `constructor` + +##### Summary + +Initializes a new AdaptiveFeatureRegistration instance. + +##### Parameters + +This constructor has no parameters. + + +### Get(feature) `method` + +##### Summary + +Retrieves the version of a registered feature. + +##### Returns + +The version of the feature if it is registered. Otherwise, the empty string. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| feature | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The feature whose version is being requested. | + + +### Remove(feature) `method` + +##### Summary + +Removes (or unregisters) a feature. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| feature | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The feature to remove. | + + +### Set(feature,version) `method` + +##### Summary + +Sets (or registers) a feature to a particular version. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| feature | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The feature upon which to set a version. | +| version | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The version to set. | + + +## AdaptiveFontType `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Controls the font type of the TextBlock Elements + + +### Default `constants` + +##### Summary + +The default font type for general use + + +### Monospace `constants` + +##### Summary + +The monospace font type + + +## AdaptiveHeight `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the height property in Adaptive Cards. + + +### #ctor() `constructor` + +##### Summary + +Initializes an empty AdaptiveHeight instance. + +##### Parameters + +This constructor has no parameters. + + +### #ctor(px) `constructor` + +##### Summary + +Initializes an AdaptiveHeight instance with the given pixel size. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| px | [System.UInt32](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.UInt32 'System.UInt32') | The device-independent pixel size to use. | + + +### #ctor(heightType) `constructor` + +##### Summary + +Initializes an AdaptiveHeight instance with the given [AdaptiveHeightType](#T-AdaptiveCards-AdaptiveHeightType 'AdaptiveCards.AdaptiveHeightType'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| heightType | [AdaptiveCards.AdaptiveHeightType](#T-AdaptiveCards-AdaptiveHeightType 'AdaptiveCards.AdaptiveHeightType') | The AdaptiveHeightType to use. | + + +### Auto `property` + +##### Summary + +Returns a new AdaptiveHeight instance initialized for the [Auto](#F-AdaptiveCards-AdaptiveHeightType-Auto 'AdaptiveCards.AdaptiveHeightType.Auto') height type. + + +### HeightType `property` + +##### Summary + +The [AdaptiveHeightType](#T-AdaptiveCards-AdaptiveHeightType 'AdaptiveCards.AdaptiveHeightType') this instance represents. + + +### Stretch `property` + +##### Summary + +Returns a new AdaptiveHeight instance initialized for the [Stretch](#F-AdaptiveCards-AdaptiveHeightType-Stretch 'AdaptiveCards.AdaptiveHeightType.Stretch') height type. + + +### Unit `property` + +##### Summary + +The specific height to use (only valid for the [Pixel](#F-AdaptiveCards-AdaptiveHeightType-Pixel 'AdaptiveCards.AdaptiveHeightType.Pixel') type). + + +### UnitXml `property` + +##### Summary + +Helper to aid in XML serialization of the [Unit](#P-AdaptiveCards-AdaptiveHeight-Unit 'AdaptiveCards.AdaptiveHeight.Unit') property. + + +### Equals() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +### Equals() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +### GetHashCode() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +### IsPixel() `method` + +##### Summary + +Returns true if this [AdaptiveHeight](#T-AdaptiveCards-AdaptiveHeight 'AdaptiveCards.AdaptiveHeight') instance represents the [Pixel](#F-AdaptiveCards-AdaptiveHeightType-Pixel 'AdaptiveCards.AdaptiveHeightType.Pixel')[AdaptiveHeightType](#T-AdaptiveCards-AdaptiveHeightType 'AdaptiveCards.AdaptiveHeightType'). + +##### Parameters + +This method has no parameters. + + +### ShouldSerializeAdaptiveHeight() `method` + +##### Summary + +Determines whether this [AdaptiveHeight](#T-AdaptiveCards-AdaptiveHeight 'AdaptiveCards.AdaptiveHeight') instance should be serialized. + +##### Parameters + +This method has no parameters. + + +### ShouldSerializeUnitXml() `method` + +##### Summary + +Determines whether to serialize the [UnitXml](#P-AdaptiveCards-AdaptiveHeight-UnitXml 'AdaptiveCards.AdaptiveHeight.UnitXml') property. + +##### Parameters + +This method has no parameters. + + +### op_Equality() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +### op_Inequality() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +## AdaptiveHeightType `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Controls the vertical size (height) of element. + + +### Auto `constants` + +##### Summary + +The height of the element matches element content. + + +### Pixel `constants` + +##### Summary + +The height of the element was explicitly specified (only for Image elements). + + +### Stretch `constants` + +##### Summary + +The height of the element uses as much space as it is able to. + + +## AdaptiveHorizontalAlignment `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Controls how elements are horizontally positioned within their container. + + +### Center `constants` + +##### Summary + +The element is centered inside its container + + +### Left `constants` + +##### Summary + +The element is left aligned + + +### Right `constants` + +##### Summary + +The element is right aligned + + +### Stretch `constants` + +##### Summary + +Stretch the actions to fit the containerhrit + + +## AdaptiveHorizontalContentAlignment `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Controls the horizontal alignment of child elements within a container. + + +### Center `constants` + +##### Summary + +Center within the container. + + +### Left `constants` + +##### Summary + +Align to the leading edge of the container. + + +### Right `constants` + +##### Summary + +Align to the trailing edge of the container. + + +## AdaptiveHostConfig `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +Contains host-configurable options for controlling rendering behavior. + + +### Actions `property` + +##### Summary + +Properties which control rendering and behavior of actions. + + +### AdaptiveCard `property` + +##### Summary + +Properties that control the rendering and behavior of the toplevel Adaptive Card. + + +### ContainerStyles `property` + +##### Summary + +Definitions of the various styles that can be applied to containers and container-like elements. + + +### FactSet `property` + +##### Summary + +Controls the rendering of the FactSet element. + + +### FontFamily `property` + +##### Summary + +Defines which font families to use during rendering. (Obsolete) + + +### FontSizes `property` + +##### Summary + +Defines which font sizes to use during rendering. (Obsolete) + + +### FontTypes `property` + +##### Summary + +Defines font families, sizes, and weights to use during rendering. + + +### FontWeights `property` + +##### Summary + +Defines which font weights to use during rendering. (Obsolete) + + +### Headings `property` + +##### Summary + +Controls the rendering of heading text. + + +### ImageBaseUrl `property` + +##### Summary + +Image Base URL for relative URLs. + + +### ImageSet `property` + +##### Summary + +Controls the default size at which images in an ImageSet are rendered. + + +### ImageSizes `property` + +##### Summary + +Controls the sizes at which images render. + + +### Inputs `property` + +##### Summary + +Controls the rendering and behavior of input elements. + + +### Media `property` + +##### Summary + +Controls the rendering and behavior of media elements. + + +### Separator `property` + +##### Summary + +Controls the appearance of the separator. + + +### Spacing `property` + +##### Summary + +Defines the various values to use for spacing. + + +### SupportsInteractivity `property` + +##### Summary + +Toggles whether or not to render inputs and actions. + + +### FromJson() `method` + +##### Summary + +Constructs an [AdaptiveHostConfig](#T-AdaptiveCards-Rendering-AdaptiveHostConfig 'AdaptiveCards.Rendering.AdaptiveHostConfig') instance from the given JSON. + +##### Parameters + +This method has no parameters. + + +### GetFontFamily() `method` + +##### Summary + +Retrieves the name of the font family given the desired AdaptiveFontType. + +##### Parameters + +This method has no parameters. + + +### GetFontSize() `method` + +##### Summary + +Retrieves a font size for an AdaptiveFontType. + +##### Parameters + +This method has no parameters. + + +### GetFontWeight() `method` + +##### Summary + +Retrieves a font weight for an AdaptiveFontType. + +##### Parameters + +This method has no parameters. + + +### GetSpacing(spacing) `method` + +##### Summary + +Get the numeric value of spacing to use for a given spacing type. + +##### Returns + +The numeric value for the type of spacing. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| spacing | [AdaptiveCards.AdaptiveSpacing](#T-AdaptiveCards-AdaptiveSpacing 'AdaptiveCards.AdaptiveSpacing') | The spacing to look up. | + + +### ResolveFinalAbsoluteUri(uriString) `method` + +##### Summary + +Resolves a URI string in an absolute [Uri](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Uri 'System.Uri'). + +##### Returns + +The absolute Uri that uriString represents. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| uriString | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The URI to resolve. | + + +### ResolveFinalAbsoluteUri(uri) `method` + +##### Summary + +Converts a Uri into absolute form using [ImageBaseUrl](#P-AdaptiveCards-Rendering-AdaptiveHostConfig-ImageBaseUrl 'AdaptiveCards.Rendering.AdaptiveHostConfig.ImageBaseUrl') as needed. + +##### Returns + +An absolute URI for uri. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| uri | [System.Uri](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Uri 'System.Uri') | URI to resolve. | + + +### ToJson() `method` + +##### Summary + +Serialize this Host Config to JSON. + +##### Returns + +A JSON string representation of this Host Config. + +##### Parameters + +This method has no parameters. + + +## AdaptiveImage `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the Adaptive Cards Image element type. + + +### #ctor() `constructor` + +##### Summary + +Initializes an empty [AdaptiveImage](#T-AdaptiveCards-AdaptiveImage 'AdaptiveCards.AdaptiveImage') instance. + +##### Parameters + +This constructor has no parameters. + + +### #ctor(url) `constructor` + +##### Summary + +Initializes an [AdaptiveImage](#T-AdaptiveCards-AdaptiveImage 'AdaptiveCards.AdaptiveImage') instance with the given URL. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| url | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The URL of the image as a string. | + + +### #ctor(url) `constructor` + +##### Summary + +Initializes an [AdaptiveImage](#T-AdaptiveCards-AdaptiveImage 'AdaptiveCards.AdaptiveImage') instance with the given URL. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| url | [System.Uri](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Uri 'System.Uri') | The URL of the image. | + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### AltText `property` + +##### Summary + +Alternate text (alttext) to display for this image. + + +### BackgroundColor `property` + +##### Summary + +A background color for the image specified as #AARRGGBB or #RRGGBB. + + +### HorizontalAlignment `property` + +##### Summary + +Horizontal alignment ([AdaptiveHorizontalAlignment](#T-AdaptiveCards-AdaptiveHorizontalAlignment 'AdaptiveCards.AdaptiveHorizontalAlignment')) to use. + + +### PixelHeight `property` + +##### Summary + +Explicit image height. + + +### PixelWidth `property` + +##### Summary + +Explicit image width. + + +### SelectAction `property` + +##### Summary + +Action to execute when image is invoked. + + +### Size `property` + +##### Summary + +Controls the sizing ([AdaptiveImageSize](#T-AdaptiveCards-AdaptiveImageSize 'AdaptiveCards.AdaptiveImageSize')) of the displayed image. + + +### Style `property` + +##### Summary + +The style ([AdaptiveImageStyle](#T-AdaptiveCards-AdaptiveImageStyle 'AdaptiveCards.AdaptiveImageStyle')) in which the image is displayed. + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +### Url `property` + +##### Summary + +The URL of the image. + + +### UrlString `property` + +##### Summary + +This is necessary for XML serialization. You should use the [Url](#F-Url 'Url') property directly. + + +## AdaptiveImageFillMode `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Controls how an image fills a space. + + +### Cover `constants` + +##### Summary + +Image covers the entire width of its container (preserving aspect ratio). The image may be clipped if the +aspect ratio of the image doesn't match the aspect ratio of its container. [AdaptiveVerticalAlignment](#T-AdaptiveCards-AdaptiveVerticalAlignment 'AdaptiveCards.AdaptiveVerticalAlignment') is respected, but [AdaptiveHorizontalAlignment](#T-AdaptiveCards-AdaptiveHorizontalAlignment 'AdaptiveCards.AdaptiveHorizontalAlignment') is ignored +(as it's irrelevant). + + +### Repeat `constants` + +##### Summary + +The image isn't stretched. Rather, it's repeated on the x-axis and then on the y-axis as many +times as needed to cover the container's width. Both [AdaptiveHorizontalAlignment](#T-AdaptiveCards-AdaptiveHorizontalAlignment 'AdaptiveCards.AdaptiveHorizontalAlignment') and [Left](#F-AdaptiveCards-AdaptiveHorizontalAlignment-Left 'AdaptiveCards.AdaptiveHorizontalAlignment.Left')) are respected. (defaults to [Top](#F-AdaptiveCards-AdaptiveVerticalAlignment-Top 'AdaptiveCards.AdaptiveVerticalAlignment.Top') and [Left](#F-AdaptiveCards-AdaptiveHorizontalAlignment-Left 'AdaptiveCards.AdaptiveHorizontalAlignment.Left') + + +### RepeatHorizontally `constants` + +##### Summary + +The image isn't stretched. Rather, it's repeated on the x-axis as many times as needed to cover the +container's width. [AdaptiveVerticalAlignment](#T-AdaptiveCards-AdaptiveVerticalAlignment 'AdaptiveCards.AdaptiveVerticalAlignment') is respected (defaults to [Top](#F-AdaptiveCards-AdaptiveVerticalAlignment-Top 'AdaptiveCards.AdaptiveVerticalAlignment.Top')). [AdaptiveHorizontalAlignment](#T-AdaptiveCards-AdaptiveHorizontalAlignment 'AdaptiveCards.AdaptiveHorizontalAlignment') is ignored. + + +### RepeatVertically `constants` + +##### Summary + +The image isn't stretched. Rather, it's repeated on the y-axis as many times as needed to cover the +container's width. [AdaptiveHorizontalAlignment](#T-AdaptiveCards-AdaptiveHorizontalAlignment 'AdaptiveCards.AdaptiveHorizontalAlignment') is respected (defaults to [Left](#F-AdaptiveCards-AdaptiveHorizontalAlignment-Left 'AdaptiveCards.AdaptiveHorizontalAlignment.Left')). [AdaptiveVerticalAlignment](#T-AdaptiveCards-AdaptiveVerticalAlignment 'AdaptiveCards.AdaptiveVerticalAlignment') is ignored. + + +## AdaptiveImageSet `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents an ImageSet element. + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### ImageSize `property` + +##### Summary + +Specifies the [AdaptiveImageSize](#T-AdaptiveCards-AdaptiveImageSize 'AdaptiveCards.AdaptiveImageSize') of each image in the set. + + +### Images `property` + +##### Summary + +Collection of images to display. + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +## AdaptiveImageSize `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Controls the horizontal size (width) of element. + + +### Auto `constants` + +##### Summary + +The width of the element is optimally chosen depending on the space available in the element's container + + +### Large `constants` + +##### Summary + +Large width + + +### Medium `constants` + +##### Summary + +Medium width + + +### Small `constants` + +##### Summary + +Small width + + +### Stretch `constants` + +##### Summary + +The width of the element adjusts to match that of its container + + +## AdaptiveImageStyle `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Controls the way Image elements are displayed. + + +### Default `constants` + +##### Summary + +The image is displayed within a rectangle. + + +### Normal `constants` + +##### Summary + +The image is displayed within a rectangle. + + +### Person `constants` + +##### Summary + +The image is cropped to a circle, a common way to represent people photos. + + +## AdaptiveInline `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents a single inline text entry. + + +### AdditionalProperties `property` + +##### Summary + +*Inherit from parent.* + + +### Type `property` + +##### Summary + +The type name of the inline. + + +### ShouldSerializeAdditionalProperties() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +## AdaptiveInput `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents any input element. + + +### ErrorMessage `property` + +##### Summary + +Error message to be shown when validation fails. + + +### IsRequired `property` + +##### Summary + +Sets the input as required for triggering Submit actions. + + +### Label `property` + +##### Summary + +Label to be shown next to input. + + +### GetNonInteractiveValue() `method` + +##### Summary + +The string that will be rendered on a a host with "SupportsInteractivity" set to false. + +##### Parameters + +This method has no parameters. + + +## AdaptiveInternalID `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents a unique identifier. + + +### #ctor() `constructor` + +##### Summary + +Initializes an invalid AdaptiveInternalID + +##### Parameters + +This constructor has no parameters. + + +### #ctor(id) `constructor` + +##### Summary + +Initializes an AdaptiveInternalID with the supplied `id`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| id | [System.UInt32](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.UInt32 'System.UInt32') | The id with which to initialize. | + + +### Invalid `constants` + +##### Summary + +Value representing an invalid (or unset) AdaptiveInternalID + + +### Current() `method` + +##### Summary + +Retrieves the current AdaptiveInternalID + +##### Parameters + +This method has no parameters. + + +### Equals() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +### GetHashCode() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +### Next() `method` + +##### Summary + +Advances to the next AdaptiveInternalID. + +##### Returns + +The next AdaptiveInternalID. + +##### Parameters + +This method has no parameters. + + +### ToString() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +## AdaptiveMedia `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the Media element. + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### AltText `property` + +##### Summary + +Alternate text to display for this media element. + + +### Poster `property` + +##### Summary + +URL for the poster image to show for this media element. + + +### Sources `property` + +##### Summary + +A collection of source from which to retrieve the media. + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +## AdaptiveMediaSource `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents a "media source" for a Media element. + + +### #ctor() `constructor` + +##### Summary + +Initializes an empty [AdaptiveMediaSource](#T-AdaptiveCards-AdaptiveMediaSource 'AdaptiveCards.AdaptiveMediaSource'). + +##### Parameters + +This constructor has no parameters. + + +### #ctor(mimeType,url) `constructor` + +##### Summary + +Initializes an [AdaptiveMediaSource](#T-AdaptiveCards-AdaptiveMediaSource 'AdaptiveCards.AdaptiveMediaSource') instance with the given properties. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| mimeType | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The mime type of the media. | +| url | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The url from which to load the media. | + + +### MimeType `property` + +##### Summary + +The mime type of this media source. + + +### Url `property` + +##### Summary + +The URL of this media source. + + +## AdaptiveNumberInput `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the Input.Number element. + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### Max `property` + +##### Summary + +Hint of maximum value (may be ignored by some clients). + + +### Min `property` + +##### Summary + +Hint of minimum value (may be ignored by some clients). + + +### Placeholder `property` + +##### Summary + +Text to display as a placeholder. + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +### Value `property` + +##### Summary + +The initial value for the field. + + +### GetNonInteractiveValue() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +## AdaptiveOpenUrlAction `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +When ActionOpenUrl is invoked it will show the given url, either by launching it to an external web +browser or showing in-situ with embedded web browser. + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +### Url `property` + +##### Summary + +Url to open using default operating system browser. + + +### UrlString `property` + +##### Summary + +This is necessary for XML serialization. You should use the [Url](#F-Url 'Url') property directly. + + +## AdaptiveRefresh `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents how a card can be refreshed by making a request to the target Bot + + +### Action `property` + +##### Summary + +The action to be executed to refresh the card. + Clients can run this refresh action automatically or can provide an affordance for users to trigger it manually. + + +### UserIds `property` + +##### Summary + +A list of user Ids informing the client for which users should the refresh action should be run automatically. + Some clients will not run the refresh action automatically unless this property is specified. + Some clients may ignore this property and always run the refresh action automatically. + + +## AdaptiveRenderException `type` + +##### Namespace + +AdaptiveCards.Rendering + + +### CardFallbackText `property` + +##### Summary + +The fallback text associated with this card, if provided by the card author + + +## AdaptiveRichTextBlock `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the RichTextBlock element. + + +### #ctor() `constructor` + +##### Summary + +Initializes an empty [AdaptiveRichTextBlock](#T-AdaptiveCards-AdaptiveRichTextBlock 'AdaptiveCards.AdaptiveRichTextBlock'). + +##### Parameters + +This constructor has no parameters. + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### HorizontalAlignment `property` + +##### Summary + +Horizontal alignment for element. + + +### Inlines `property` + +##### Summary + +A list of text inlines in this RichTextBlock. + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +## AdaptiveSchemaVersion `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the AdaptiveCards schema version. + + +### #ctor() `constructor` + +##### Summary + +Initializes an empty [AdaptiveSchemaVersion](#T-AdaptiveCards-AdaptiveSchemaVersion 'AdaptiveCards.AdaptiveSchemaVersion'). + +##### Parameters + +This constructor has no parameters. + + +### #ctor(versionString) `constructor` + +##### Summary + +Initializes an [AdaptiveSchemaVersion](#T-AdaptiveCards-AdaptiveSchemaVersion 'AdaptiveCards.AdaptiveSchemaVersion') instance. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| versionString | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | A string representing the schema version. | + + +### #ctor(major,minor) `constructor` + +##### Summary + +Iniializes an [AdaptiveSchemaVersion](#T-AdaptiveCards-AdaptiveSchemaVersion 'AdaptiveCards.AdaptiveSchemaVersion') instance. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| major | [System.Int32](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Int32 'System.Int32') | The schema major version. | +| minor | [System.Int32](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Int32 'System.Int32') | The schema minor version. | + + +### Major `property` + +##### Summary + +Major version number. + + +### Minor `property` + +##### Summary + +Minor version number. + + +### CompareTo(other) `method` + +##### Summary + +Compares this instance to another instance. + +##### Returns + +0 iff the other AdaptiveSchemaVersion is equal to this one. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| other | [AdaptiveCards.AdaptiveSchemaVersion](#T-AdaptiveCards-AdaptiveSchemaVersion 'AdaptiveCards.AdaptiveSchemaVersion') | AdaptiveSchemaVersion instance to compare to. | + + +### Equals() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +### GetHashCode() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +### ToString() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +### op_Equality() `method` + +##### Summary + +Equality comparison operator. + +##### Parameters + +This method has no parameters. + + +### op_GreaterThan() `method` + +##### Summary + +Greater-than operator. + +##### Parameters + +This method has no parameters. + + +### op_GreaterThanOrEqual() `method` + +##### Summary + +Greater-than-or-equal operator. + +##### Parameters + +This method has no parameters. + + +### op_Implicit(versionString) `method` + +##### Summary + +Implicit conversion operator from [String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') to [AdaptiveSchemaVersion](#T-AdaptiveCards-AdaptiveSchemaVersion 'AdaptiveCards.AdaptiveSchemaVersion'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| versionString | [System.String)~AdaptiveCards.AdaptiveSchemaVersion](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String)~AdaptiveCards.AdaptiveSchemaVersion 'System.String)~AdaptiveCards.AdaptiveSchemaVersion') | A string representing the schema version. | + + +### op_Inequality() `method` + +##### Summary + +Inequality comparison operator. + +##### Parameters + +This method has no parameters. + + +### op_LessThan() `method` + +##### Summary + +Less-than operator. + +##### Parameters + +This method has no parameters. + + +### op_LessThanOrEqual() `method` + +##### Summary + +Less-than-or-equal operator. + +##### Parameters + +This method has no parameters. + + +## AdaptiveSerializationException `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents an exception that occurs during serialization. + + +### #ctor() `constructor` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This constructor has no parameters. + + +### #ctor() `constructor` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This constructor has no parameters. + + +### #ctor() `constructor` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This constructor has no parameters. + + +## AdaptiveShowCardAction `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the Action.ShowCard element. + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### Card `property` + +##### Summary + +[AdaptiveCard](#T-AdaptiveCards-AdaptiveCard 'AdaptiveCards.AdaptiveCard') to show when the action is invoked. + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +## AdaptiveSpacing `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Controls the spacing of an element. + + +### Default `constants` + +##### Summary + +Use the default spacing. + + +### ExtraLarge `constants` + +##### Summary + +Use extra large spacing. + + +### Large `constants` + +##### Summary + +Use large spacing. + + +### Medium `constants` + +##### Summary + +Use medium spacing. + + +### None `constants` + +##### Summary + +Use no spacing. + + +### Padding `constants` + +##### Summary + +This results in the same padding that's applied to the card itself. + + +### Small `constants` + +##### Summary + +Use small spacing. + + +## AdaptiveSubmitAction `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Submit action gathers up input fields, merges with optional data field and generates event to client + asking for data to be submitted. It is up to the client to determine how that data is processed. For + example: With BotFramework bots the client would send an activity through the messaging medium to the bot. + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### AssociatedInputs `property` + +##### Summary + +Controls which inputs are associated with the submit action + + +### Data `property` + +##### Summary + +initial data that input fields will be combined with. This is essentially 'hidden' properties, Example: + {"id":"123123123"} + + +### DataJson `property` + +##### Summary + +Get or set the data as a JSON string. + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +## AdaptiveTable `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents a table + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### Columns `property` + +##### Summary + +Collection of TableColumnDefinitions + + +### FirstRowAsHeaders `property` + +##### Summary + +Specifies whether the first row of the table should be treated as a header row, and be announced as such by accessibility software. + + +### GridStyle `property` + +##### Summary + +Defines the style of the grid. This property currently only controls the grid’s color + + +### GridStyleXml `property` + +##### Summary + +Controls XML serialization of style. + + +### Rows `property` + +##### Summary + +Collection of TableRows + + +### ShowGridLines `property` + +##### Summary + +Specifies whether grid lines should be displayed. + + +### Type `property` + +##### Summary + +type name + + +### Add(element) `method` + +##### Summary + +Add an AdpativeTableRow + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| element | [AdaptiveCards.AdaptiveElement](#T-AdaptiveCards-AdaptiveElement 'AdaptiveCards.AdaptiveElement') | | + + +### GetEnumerator() `method` + +##### Summary + +Return a enumerator for TableRows + +##### Returns + + + +##### Parameters + +This method has no parameters. + + +### ShouldSerializeStyleXml() `method` + +##### Summary + +Determines whether to serialize the style for XML. + +##### Parameters + +This method has no parameters. + + +## AdaptiveTableCell `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents a cell within a row of a Table element. + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +## AdaptiveTableColumnDefinition `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the backgroundImage property + + +### TypeName `constants` + +##### Summary + +The JSON property name that this class implements. + + +### HorizontalContentAlignment `property` + +##### Summary + +The content alignment for the TableCells inside the TableRow. + + +### VerticalContentAlignment `property` + +##### Summary + +The content alignment for the TableCells inside the TableRow. + + +## AdaptiveTableRow `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents TableRow element. + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### Cells `property` + +##### Summary + +Collection of TableCells that this TableRow contains. + + +### Rtl `property` + +##### Summary + +Sets the content flow direction + + +### Style `property` + +##### Summary + +The style used to display this element. See [AdaptiveContainerStyle](#T-AdaptiveCards-AdaptiveContainerStyle 'AdaptiveCards.AdaptiveContainerStyle'). + + +### StyleXml `property` + +##### Summary + +Controls XML serialization of style. + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +### GetEnumerator() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +### ShouldSerializeStyleXml() `method` + +##### Summary + +Determines whether to serialize the style for XML. + +##### Parameters + +This method has no parameters. + + +## AdaptiveTargetElement `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the target of an Action.ToggleVisibility element. + + +### #ctor() `constructor` + +##### Summary + +Initializes an empty [AdaptiveTargetElement](#T-AdaptiveCards-AdaptiveTargetElement 'AdaptiveCards.AdaptiveTargetElement'). + +##### Parameters + +This constructor has no parameters. + + +### #ctor(elementId) `constructor` + +##### Summary + +Initializes an [AdaptiveTargetElement](#T-AdaptiveCards-AdaptiveTargetElement 'AdaptiveCards.AdaptiveTargetElement') instance with the supplied properties. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| elementId | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The id of the target element. | + + +### #ctor(elementId,isVisible) `constructor` + +##### Summary + +Initializes an [AdaptiveTargetElement](#T-AdaptiveCards-AdaptiveTargetElement 'AdaptiveCards.AdaptiveTargetElement') instance with the supplied properties. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| elementId | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The Id of the target element. | +| isVisible | [System.Boolean](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Boolean 'System.Boolean') | Initial visible state. | + + +### ElementId `property` + +##### Summary + +Target element Id. + + +### IsVisible `property` + +##### Summary + +Target element visibility. + + +### IsVisibleXml `property` + +##### Summary + +Helper to do custom serialization of [IsVisible](#P-AdaptiveCards-AdaptiveTargetElement-IsVisible 'AdaptiveCards.AdaptiveTargetElement.IsVisible') property for XML. + + +### ShouldSerializeIsVisibleXml() `method` + +##### Summary + +Determines whether the [IsVisibleXml](#P-AdaptiveCards-AdaptiveTargetElement-IsVisibleXml 'AdaptiveCards.AdaptiveTargetElement.IsVisibleXml') property should be serialized. + +##### Parameters + +This method has no parameters. + + +### op_Implicit(elementId) `method` + +##### Summary + +Implicit conversion from [String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') to [AdaptiveTargetElement](#T-AdaptiveCards-AdaptiveTargetElement 'AdaptiveCards.AdaptiveTargetElement'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| elementId | [System.String)~AdaptiveCards.AdaptiveTargetElement](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String)~AdaptiveCards.AdaptiveTargetElement 'System.String)~AdaptiveCards.AdaptiveTargetElement') | | + + +## AdaptiveTextBlock `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the TextBlock element. + + +### #ctor() `constructor` + +##### Summary + +Initializes an empty [AdaptiveTextBlock](#T-AdaptiveCards-AdaptiveTextBlock 'AdaptiveCards.AdaptiveTextBlock') instance. + +##### Parameters + +This constructor has no parameters. + + +### #ctor(text) `constructor` + +##### Summary + +Initializes an [AdaptiveTextBlock](#T-AdaptiveCards-AdaptiveTextBlock 'AdaptiveCards.AdaptiveTextBlock') instance with the supplied text. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| text | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The text of this TextBlock. | + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### Color `property` + +##### Summary + +*Inherit from parent.* + + +### FontType `property` + +##### Summary + +*Inherit from parent.* + + +### HorizontalAlignment `property` + +##### Summary + +*Inherit from parent.* + + +### IsSubtle `property` + +##### Summary + +*Inherit from parent.* + + +### Italic `property` + +##### Summary + +*Inherit from parent.* + + +### MaxLines `property` + +##### Summary + +When [Wrap](#P-AdaptiveCards-AdaptiveTextBlock-Wrap 'AdaptiveCards.AdaptiveTextBlock.Wrap') is true, this controls the maximum number of lines of text to display. + + +### MaxWidth `property` + +##### Summary + +The maximum width of the TextBlock. + + +### Size `property` + +##### Summary + +*Inherit from parent.* + + +### Strikethrough `property` + +##### Summary + +*Inherit from parent.* + + +### Style `property` + +##### Summary + +The style ([AdaptiveTextBlockStyle](#T-AdaptiveCards-AdaptiveTextBlockStyle 'AdaptiveCards.AdaptiveTextBlockStyle')) of text. + + +### Text `property` + +##### Summary + +*Inherit from parent.* + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +### Weight `property` + +##### Summary + +*Inherit from parent.* + + +### Wrap `property` + +##### Summary + +Controls text wrapping behavior. + + +## AdaptiveTextBlockStyle `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Indicates TextBlock element's content type. + + +### Heading `constants` + +##### Summary + +The content is a heading. + + +### Paragraph `constants` + +##### Summary + +The content is a paragraph (default). + + +## AdaptiveTextColor `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Controls the color style of TextBlock Elements + + +### Accent `constants` + +##### Summary + +Accent the text + + +### Attention `constants` + +##### Summary + +Highlight as needing attention (such as red) + + +### Dark `constants` + +##### Summary + +Forces the text to be rendered in a dark color which is suitable when displayed over a light background + + +### Default `constants` + +##### Summary + +The default color which guarentees appropriate contrast + + +### Good `constants` + +##### Summary + +Good (such as green) + + +### Light `constants` + +##### Summary + +Forces the text to be rendered in a light color which is suitable when displayed over a dark background + + +### Warning `constants` + +##### Summary + +Warning (such as yellow) + + +## AdaptiveTextInput `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents an Input.Text element. + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### InlineAction `property` + +##### Summary + +[AdaptiveAction](#T-AdaptiveCards-AdaptiveAction 'AdaptiveCards.AdaptiveAction') to invoke inline. + + +### IsMultiline `property` + +##### Summary + +Controls whether multiple lines of text are allowed. + + +### MaxLength `property` + +##### Summary + +Hint of maximum number of characters to collect (may be ignored by some clients). + + +### Placeholder `property` + +##### Summary + +Placeholder text to display when the input is empty. + + +### Regex `property` + +##### Summary + +Regular expression used for validating the input. + + +### Style `property` + +##### Summary + +Hint of style of input, if client doesn't support the style it will become simple text input. + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +### Value `property` + +##### Summary + +The initial value for the field. + + +### GetNonInteractiveValue() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +## AdaptiveTextInputStyle `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Style of text input. + + +### Email `constants` + +##### Summary + +Input is an email address. The client may use this information to provide optimized keyboard input for the user. + + +### Password `constants` + +##### Summary + +Display input text with password masking + + +### Tel `constants` + +##### Summary + +Input is a telephone number. The client may use this information to provide optimized keyboard input for the +user. + + +### Text `constants` + +##### Summary + +Unstructured plain text. + + +### Url `constants` + +##### Summary + +Input is a url. The client may use this information to provide optimized keyboard input for the user. + + +## AdaptiveTextRun `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents a TextRun. + + +### #ctor() `constructor` + +##### Summary + +Initializes an empty [AdaptiveTextRun](#T-AdaptiveCards-AdaptiveTextRun 'AdaptiveCards.AdaptiveTextRun'). + +##### Parameters + +This constructor has no parameters. + + +### #ctor(text) `constructor` + +##### Summary + +Initializes an [AdaptiveTextRun](#T-AdaptiveCards-AdaptiveTextRun 'AdaptiveCards.AdaptiveTextRun') with the given text. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| text | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The initial text for this TextRun. | + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### Color `property` + +##### Summary + +*Inherit from parent.* + + +### FontType `property` + +##### Summary + +*Inherit from parent.* + + +### Highlight `property` + +##### Summary + +*Inherit from parent.* + + +### IsSubtle `property` + +##### Summary + +*Inherit from parent.* + + +### Italic `property` + +##### Summary + +*Inherit from parent.* + + +### SelectAction `property` + +##### Summary + +Action for this text run + + +### Size `property` + +##### Summary + +*Inherit from parent.* + + +### Strikethrough `property` + +##### Summary + +*Inherit from parent.* + + +### Text `property` + +##### Summary + +*Inherit from parent.* + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +### Underline `property` + +##### Summary + +Display this text underlined. + + +### Weight `property` + +##### Summary + +*Inherit from parent.* + + +## AdaptiveTextSize `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Controls the relative size of TextBlock elements + + +### Default `constants` + +##### Summary + +Default text size + + +### ExtraLarge `constants` + +##### Summary + +The largest text size + + +### Large `constants` + +##### Summary + +Slightly larger then medium + + +### Medium `constants` + +##### Summary + +Slightly larger than default + + +### Normal `constants` + +##### Summary + +Default text size + + +### Small `constants` + +##### Summary + +Smallest text size + + +## AdaptiveTextWeight `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Controls the weight of TextBock Elements + + +### Bolder `constants` + +##### Summary + +Bolder text (wider stroke) + + +### Default `constants` + +##### Summary + +The default text weight + + +### Lighter `constants` + +##### Summary + +Lighter text (thinner stroke) + + +### Normal `constants` + +##### Summary + +The default text weight + + +## AdaptiveTimeInput `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the Input.Time element. + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### Max `property` + +##### Summary + +Hint of maximum value (may be ignored by some clients) + + +### Min `property` + +##### Summary + +Hint of minimum value (may be ignored by some clients). + + +### Placeholder `property` + +##### Summary + +Placeholder text to display when the input is empty. + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +### Value `property` + +##### Summary + +The initial value for the field. + + +### GetNonInteractiveValue() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +## AdaptiveToggleInput `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the Input.Toggle element. + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### Title `property` + +##### Summary + +Title text for this element. + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +### Value `property` + +##### Summary + +The value for the field. + + +### ValueOff `property` + +##### Summary + +Value to use when toggle is off. + + +### ValueOn `property` + +##### Summary + +Value to use when toggle is on. + + +### Wrap `property` + +##### Summary + +Controls text wrapping behavior. + + +### GetNonInteractiveValue() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +## AdaptiveToggleVisibilityAction `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents the Action.ToggleVisibility element. + + +### TypeName `constants` + +##### Summary + +*Inherit from parent.* + + +### TargetElements `property` + +##### Summary + +Ids of elements whose visibility this element should change. + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +## AdaptiveTokenExchangeResource `type` + +##### Namespace + +AdaptiveCards + + +### Id `property` + +##### Summary + +The unique identifier of this token exchange instance. + + +### ProviderId `property` + +##### Summary + +An identifier for the identity provider with which to attempt a token exchange. + + +### Uri `property` + +##### Summary + +An application ID or resource identifier with which to exchange a token on behalf of. + This property is identity provider- and application-specific. + + +## AdaptiveTypedBaseElementConverter `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +JsonConverters that deserialize to AdaptiveCards elements and use ParseContext must inherit this class. +ParseContext provides id generation, id collision detections, and other useful services during deserialization. + + +### ParseContext `property` + +##### Summary + +The [ParseContext](#P-AdaptiveCards-AdaptiveTypedBaseElementConverter-ParseContext 'AdaptiveCards.AdaptiveTypedBaseElementConverter.ParseContext') to use while parsing in AdaptiveCards. + + +## AdaptiveTypedElement `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Base for almost all representable elements in AdaptiveCards. + + +### Requires `constants` + +##### Summary + +A collection representing features and feature versions that this element requires. + + +### AdditionalProperties `property` + +##### Summary + +Additional properties not found on the default schema. + + +### Fallback `property` + +##### Summary + +The fallback property controls behavior when an unexpected element or error is encountered. + + +### Id `property` + +##### Summary + +A unique ID associated with the element. For Inputs, the ID will be used as the key for Action.Submit response. + + +### InternalID `property` + +##### Summary + +The [AdaptiveInternalID](#T-AdaptiveCards-AdaptiveInternalID 'AdaptiveCards.AdaptiveInternalID') for this element. + + +### Type `property` + +##### Summary + +The AdaptiveCard element that this class implements. + + +### MeetsRequirements(featureRegistration) `method` + +##### Summary + +Determines if this element's requirements are satisfied. + +##### Returns + +true iff this element's requirements are met. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| featureRegistration | [AdaptiveCards.AdaptiveFeatureRegistration](#T-AdaptiveCards-AdaptiveFeatureRegistration 'AdaptiveCards.AdaptiveFeatureRegistration') | The host's [AdaptiveFeatureRegistration](#T-AdaptiveCards-AdaptiveFeatureRegistration 'AdaptiveCards.AdaptiveFeatureRegistration'). | + + +### ShouldSerializeAdditionalProperties() `method` + +##### Summary + +Determines whether the [AdditionalProperties](#P-AdaptiveCards-AdaptiveTypedElement-AdditionalProperties 'AdaptiveCards.AdaptiveTypedElement.AdditionalProperties') property should be serialized. + +##### Parameters + +This method has no parameters. + + +## AdaptiveTypedElementConverter `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +This handles using the type field to instantiate strongly typed objects on deserialization. + + +### TypedElementTypes `constants` + +##### Summary + +Default types to support, register any new types to this list + + +### CanRead `property` + +##### Summary + +*Inherit from parent.* + + +### CanWrite `property` + +##### Summary + +*Inherit from parent.* + + +### Warnings `property` + +##### Summary + +The list of warnings generated while converting. + + +### CanConvert() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +### CreateElement\`\`1() `method` + +##### Summary + +Instantiates a new strongly-typed element of the given type. + +##### Parameters + +This method has no parameters. + + +### GetElementTypeName() `method` + +##### Summary + +Retrieves the type name of an AdaptiveCards object. + +##### Parameters + +This method has no parameters. + + +### ReadJson() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +### RegisterTypedElement\`\`1(typeName) `method` + +##### Summary + +Registers a new element with the element converter. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| typeName | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The [Type](#P-AdaptiveCards-AdaptiveTypedElement-Type 'AdaptiveCards.AdaptiveTypedElement.Type') of the element to register. | + + +### WriteJson() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +## AdaptiveUnknownAction `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents an unknown action encountered while parsing. + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +## AdaptiveUnknownElement `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents an unknown element encountered while parsing. + + +### Type `property` + +##### Summary + +*Inherit from parent.* + + +## AdaptiveVerticalAlignment `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Defines the vertical alignment behavior of an element. + + +### Bottom `constants` + +##### Summary + +Align to the bottom. + + +### Center `constants` + +##### Summary + +Centered. + + +### Top `constants` + +##### Summary + +Align to the top. + + +## AdaptiveVerticalContentAlignment `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Controls the vertical alignment of child elements within a container. + + +### Bottom `constants` + +##### Summary + +Align to the bottom of the container. + + +### Center `constants` + +##### Summary + +Center within the container. + + +### Top `constants` + +##### Summary + +Align to the top. + + +## AdaptiveVisitor `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +Utility class which allows you to visit every node + + +## AdaptiveWarning `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Represents a warning generated while parsing. + + +### #ctor(code,message) `constructor` + +##### Summary + +Initializes an [AdaptiveWarning](#T-AdaptiveCards-AdaptiveWarning 'AdaptiveCards.AdaptiveWarning') instance with the given properties. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| code | [System.Int32](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Int32 'System.Int32') | The [WarningStatusCode](#T-AdaptiveCards-AdaptiveWarning-WarningStatusCode 'AdaptiveCards.AdaptiveWarning.WarningStatusCode') encountered. | +| message | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The warning message. | + + +### Code `property` + +##### Summary + +The [WarningStatusCode](#T-AdaptiveCards-AdaptiveWarning-WarningStatusCode 'AdaptiveCards.AdaptiveWarning.WarningStatusCode'). + + +### Message `property` + +##### Summary + +The warning message. + + +### ToString() `method` + +##### Summary + +Convinience method that provides same string as Message + +##### Returns + + + +##### Parameters + +This method has no parameters. + + +## BlockRules `type` + +##### Namespace + +Microsoft.MarkedNet + +##### Summary + +Block-Level Grammar + + +## BreaksInlineRules `type` + +##### Namespace + +Microsoft.MarkedNet + +##### Summary + +GFM + Line Breaks Inline Grammar + + +## ColorUtil `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +A collection of utilities for processing colors. + + +### alphaColorLength `constants` + +##### Summary + +The length of a string in the "#AARRGGBB" format. + + +### colorStringLength `constants` + +##### Summary + +The length of a string in the "#RRGGBB" format. + + +### GenerateLighterColor(hexColor) `method` + +##### Summary + +Create a color that's 25% lighter than the given color. + +##### Returns + +A 25% brighter version of the supplied color, or "#FF000000" if hexColor is an invalid format. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| hexColor | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | A string in the format of #AARRGGBB or #RRGGBB to lighten. | + + +### IsValidColor(color) `method` + +##### Summary + +Determines if a string is a valid string of the format #AARRGGBB or #RRGGBB. + +##### Returns + +true iff the string is of the format #AARRGGBB or #RRGGBB. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| color | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The string to test for color format. | + + +### TryParseColor(color,result) `method` + +##### Summary + +Attempts to parse the supplied string as an integer if it is a valid color format. + +##### Returns + +true iff the string was successfully converted. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| color | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The string to convert to an int. | +| result | [System.Int32@](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Int32@ 'System.Int32@') | The result of converting the string. | + + +## ContainerStyleConfig `type` + +##### Namespace + +AdaptiveCards.Rendering + + +### BackgroundColor `property` + +##### Summary + +The background color to use for this container + + +### ForegroundColors `property` + +##### Summary + +The font colors to use for this container + + +## ContextType `type` + +##### Namespace + +AdaptiveCards.ParseContext + +##### Summary + +Denotes what type of AdaptiveCard element this ParseContext represents. + + +### Action `constants` + +##### Summary + +Represents an Action (i.e. something that belongs in an ActionSet or in the actions of a card). + + +### Element `constants` + +##### Summary + +Represents an Element (i.e. something that belongs in the body of a card). + + +## EmojiMarkdownRenderer `type` + +##### Namespace + +Microsoft.MarkedNet + +##### Summary + +Renderer which renders emoji markdown to unicode + + +## ErrorMessageConfig `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +Properties which control rendering of media + + +### Size `property` + +##### Summary + +The text size of the label + + +### Spacing `property` + +##### Summary + +The text color of the label + + +### Weight `property` + +##### Summary + +The text weight of the label + + +## FactSetConfig `type` + +##### Namespace + +AdaptiveCards.Rendering + + +### Spacing `property` + +##### Summary + +Spacing between facts and values + + +### Title `property` + +##### Summary + +TextBlock to use for Titles in factsets + + +### Value `property` + +##### Summary + +TextBlock to use for Values in fact sets + + +## FontColorConfig `type` + +##### Namespace + +AdaptiveCards.Rendering + + +### Default `property` + +##### Summary + +Color in #RRGGBB format + + +## GfmBlockRules `type` + +##### Namespace + +Microsoft.MarkedNet + +##### Summary + +GFM Block Grammar + + +## GfmInlineRules `type` + +##### Namespace + +Microsoft.MarkedNet + +##### Summary + +GFM Inline Grammar + + +## HashColorConverter `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Helper class to validate and convert color strings. + + +### CanWrite `property` + +##### Summary + +*Inherit from parent.* + + +### Warnings `property` + +##### Summary + +A list of warnings encountered during processing. + + +### CanConvert() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +### ReadJson() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +### WriteJson() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +## HeadingsConfig `type` + +##### Namespace + +AdaptiveCards.Rendering + + +### Level `property` + +##### Summary + +Level of heading text, used only if underlying platform requires it. + + +## HighlightColorConfig `type` + +##### Namespace + +AdaptiveCards.Rendering + + +### Default `property` + +##### Summary + +Color in #RRGGBB format + + +## HtmlRenderer `type` + +##### Namespace + +Microsoft.MarkedNet + +##### Summary + +Renderer which renders to HTML with Emoji Support + + +## IAdaptiveTextElement `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Interface encapsulating the properties of an AdaptiveCards element that displays text. + + +### Color `property` + +##### Summary + +The color to use while displaying the text. + + +### FontType `property` + +##### Summary + +Controls which [AdaptiveFontType](#T-AdaptiveCards-AdaptiveFontType 'AdaptiveCards.AdaptiveFontType') is used to display the text. + + +### IsSubtle `property` + +##### Summary + +Make the text less prominent when displayed. + + +### Italic `property` + +##### Summary + +Display the text using italics. + + +### Size `property` + +##### Summary + +The size to use while displaying the text. + + +### Strikethrough `property` + +##### Summary + +Display this text with strikethrough. + + +### Text `property` + +##### Summary + +The text to display. + + +### Weight `property` + +##### Summary + +The weight to use while displaying the text. + + +## IconPlacement `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +Controls where to place icons in actions. + + +### AboveTitle `constants` + +##### Summary + +Display icons above text. + + +### LeftOfTitle `constants` + +##### Summary + +Display icons to the left of the text. + + +## IgnoreEmptyItemsConverter\`1 `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +JSON converter that will drop empty element items. + +##### Generic Types + +| Name | Description | +| ---- | ----------- | +| T | Type of the objects to be converted. | + + +### CanWrite `property` + +##### Summary + +*Inherit from parent.* + + +### CanConvert() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +### ReadJson() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +### WriteJson() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +## IgnoreNullEnumConverter\`1 `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +JSON converter that will ignore enum values that can't be parsed correctly. + + +### #ctor() `constructor` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This constructor has no parameters. + + +### #ctor() `constructor` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This constructor has no parameters. + + +### Warnings `property` + +##### Summary + +*Inherit from parent.* + + +### ReadJson() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +### WriteJson() `method` + +##### Summary + +*Inherit from parent.* + +##### Parameters + +This method has no parameters. + + +## InlineLexer `type` + +##### Namespace + +Microsoft.MarkedNet + + +### Mangle() `method` + +##### Summary + +Mangle Links + +##### Parameters + +This method has no parameters. + + +### Output() `method` + +##### Summary + +Lexing/Compiling + +##### Parameters + +This method has no parameters. + + +### OutputLink() `method` + +##### Summary + +Compile Link + +##### Parameters + +This method has no parameters. + + +### Smartypants() `method` + +##### Summary + +Smartypants Transformations + +##### Parameters + +This method has no parameters. + + +## InlineRules `type` + +##### Namespace + +Microsoft.MarkedNet + +##### Summary + +Inline-Level Grammar + + +## InputLabelConfig `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +Properties which control rendering of media + + +### Color `property` + +##### Summary + +The text color of the label + + +### IsSubtle `property` + +##### Summary + +Make the label less prominent + + +### Size `property` + +##### Summary + +The text size of the label + + +### Suffix `property` + +##### Summary + +Suffix to be displayed next to the label. Only respected for required inputs + + +### Weight `property` + +##### Summary + +The text weight of the label + + +## InputsConfig `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +Properties which control rendering of media + + +## JsonExtensions `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Helper class for color validation. + + +### IsHexDigit(c) `method` + +##### Summary + +Determines if a character is a valid hex digit. + +##### Returns + +true iff c is a valid hex digit. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| c | [System.Char](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Char 'System.Char') | Character to check. | + + +## LabelConfig `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +Properties which control rendering of input labels + + +### InputSpacing `property` + +##### Summary + +Specifies the spacing between the label and the input + + +## Lexer `type` + +##### Namespace + +Microsoft.MarkedNet + + +### Lex() `method` + +##### Summary + +Static Lex Method + +##### Parameters + +This method has no parameters. + + +### Lex() `method` + +##### Summary + +Preprocessing + +##### Parameters + +This method has no parameters. + + +### Token() `method` + +##### Summary + +Lexing + +##### Parameters + +This method has no parameters. + + +## MarkdownRenderer `type` + +##### Namespace + +Microsoft.MarkedNet + + +### Postprocess(text) `method` + +##### Summary + +ppostprocess entire output before returning + +##### Returns + + + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| text | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | | + + +### Preprocess(text) `method` + +##### Summary + +Preprocess entire input before parsing + +##### Returns + + + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| text | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | | + + +## MediaConfig `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +Properties which control rendering of media + + +### AllowInlinePlayback `property` + +##### Summary + +Controls whether the media is played in the card or sent to host + + +### DefaultPoster `property` + +##### Summary + +Default poster URL to use for media thumbnail + + +### PlayButton `property` + +##### Summary + +Play button URL to use for media thumbnail + + +## NormalBlockRules `type` + +##### Namespace + +Microsoft.MarkedNet + +##### Summary + +Normal Block Grammar + + +## NormalInlineRules `type` + +##### Namespace + +Microsoft.MarkedNet + +##### Summary + +Normal Inline Grammar + + +## ParseContext `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Encapsulates state necessary to correctly parse an AdaptiveCard. + + +### Type `property` + +##### Summary + +Tracks the most recently encountered element type. + + +### GetNearestFallbackID(skipID) `method` + +##### Summary + +Walk stack looking for first element to be marked fallback (which isn't the ID we're supposed to +skip), then return its internal ID. If none, return an invalid ID. + +##### Returns + +The [AdaptiveInternalID](#T-AdaptiveCards-AdaptiveInternalID 'AdaptiveCards.AdaptiveInternalID') of the nearest element with fallback, or an invalid [AdaptiveInternalID](#T-AdaptiveCards-AdaptiveInternalID 'AdaptiveCards.AdaptiveInternalID') if there is no element with fallback. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| skipID | [AdaptiveCards.AdaptiveInternalID](#T-AdaptiveCards-AdaptiveInternalID 'AdaptiveCards.AdaptiveInternalID') | [AdaptiveInternalID](#T-AdaptiveCards-AdaptiveInternalID 'AdaptiveCards.AdaptiveInternalID') of the element to ignore. | + + +### PopElement() `method` + +##### Summary + +Pops an element off of the context stack. + +##### Parameters + +This method has no parameters. + + +### PushElement(idJsonProperty,internalId) `method` + +##### Summary + +Pushes the supplied element state on to the context stack. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| idJsonProperty | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The value of the current element's "id" property. | +| internalId | [AdaptiveCards.AdaptiveInternalID](#T-AdaptiveCards-AdaptiveInternalID 'AdaptiveCards.AdaptiveInternalID') | The current element's [AdaptiveInternalID](#T-AdaptiveCards-AdaptiveInternalID 'AdaptiveCards.AdaptiveInternalID'). | + +##### Remarks + +Used by element converters to determine how to perform element fallback. + + +## Parser `type` + +##### Namespace + +Microsoft.MarkedNet + + +### Next() `method` + +##### Summary + +Next Token + +##### Parameters + +This method has no parameters. + + +### Parse() `method` + +##### Summary + +Static Parse Method + +##### Parameters + +This method has no parameters. + + +### Parse() `method` + +##### Summary + +Parse Loop + +##### Parameters + +This method has no parameters. + + +### ParseText() `method` + +##### Summary + +Parse Text Tokens + +##### Parameters + +This method has no parameters. + + +### Peek() `method` + +##### Summary + +Preview Next Token + +##### Parameters + +This method has no parameters. + + +### Tok() `method` + +##### Summary + +Parse Current Token + +##### Parameters + +This method has no parameters. + + +## PedanticInlineRules `type` + +##### Namespace + +Microsoft.MarkedNet + +##### Summary + +Pedantic Inline Grammar + + +## RemoteResourceInformation `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +Contains information about a remote source. + + +### #ctor(url,mimeType) `constructor` + +##### Summary + +Initializes a [RemoteResourceInformation](#T-AdaptiveCards-RemoteResourceInformation 'AdaptiveCards.RemoteResourceInformation') with the given properties. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| url | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The URL of the remote resource. | +| mimeType | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The mimetype of the remote resource. | + + +## RenderedAdaptiveCardBase `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +The base class for RenderedAdaptiveCard. Renderers extend this class to provide their native UI element property. + + +### OriginatingCard `property` + +##### Summary + +The card that the visual was rendered from. + + +### UserInputs `property` + +##### Summary + +Provides access to the input fields on a card + + +### Warnings `property` + +##### Summary + +If any modifications were done to the rendered card they will be reported here + + +## RenderedAdaptiveCardInputs `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +Provides access to the input fields on a card + + +### AsDictionary() `method` + +##### Summary + +Read the input fields as a Dictionary. All input values will serialize the strings + +##### Returns + + + +##### Parameters + +This method has no parameters. + + +### AsJson() `method` + +##### Summary + +Read the input fields as a JSON object. All input values will serialize to strings + +##### Returns + + + +##### Parameters + +This method has no parameters. + + +## RendererUtilities `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +Utility methods for dealing with body and binding + + +### ApplyTextFunctions(text) `method` + +##### Summary + +This funct will return modified text replacing {{DATE|TIME()}} style functions as the formatted text + +##### Returns + + + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| text | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | | + + +## SeparatorConfig `type` + +##### Namespace + +AdaptiveCards.Rendering + + +### LineColor `property` + +##### Summary + +If there is a visible color, what color to use + + +### LineThickness `property` + +##### Summary + +If there is a visible line, how thick should the line be + + +## ShowCardActionMode `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +Controls the behavior of an invoked Action.ShowCard. + + +### Inline `constants` + +##### Summary + +Expand the Action.ShowCard in-place. + + +### Popup `constants` + +##### Summary + +Display the Action.ShowCard in a popup window. + + +## ShowCardConfig `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +Configuration for Action.ShowCard elements. + + +### #ctor() `constructor` + +##### Summary + +Initializes a default [ShowCardConfig](#T-AdaptiveCards-Rendering-ShowCardConfig 'AdaptiveCards.Rendering.ShowCardConfig'). + +##### Parameters + +This constructor has no parameters. + + +### ActionMode `property` + +##### Summary + +Controls how Action.ShowCard elements behave when invoked. + + +### InlineTopMargin `property` + +##### Summary + +Controls the margin to use when showing an inline Action.ShowCard. + + +### Style `property` + +##### Summary + +Determines what style to use when displaying an inline Action.ShowCard. + + +## SpacingsConfig `type` + +##### Namespace + +AdaptiveCards.Rendering + +##### Summary + +Specifies how much spacing should be used for the various spacing options + + +## TablesBlockRules `type` + +##### Namespace + +Microsoft.MarkedNet + +##### Summary + +GFM + Tables Block Grammar + + +## TextBlockConfig `type` + +##### Namespace + +AdaptiveCards.Rendering + + +### Color `property` + +##### Summary + +The color of the text + + +### IsSubtle `property` + +##### Summary + +Should it be subtle? + + +### MaxWidth `property` + +##### Summary + +The maximum width for text + + +### Size `property` + +##### Summary + +The size of the text + + +### Weight `property` + +##### Summary + +The weight of the text + + +### Wrap `property` + +##### Summary + +Is it allowed for the text to wrap + + +## TextMarkdownRenderer `type` + +##### Namespace + +Microsoft.MarkedNet + +##### Summary + +Renderer which renders to pure text environments like SMS + + +## WarningLoggingContractResolver `type` + +##### Namespace + +AdaptiveCards + +##### Summary + +This JSON contract resolver checks if the JsonConverter can log warnings, and if so sets the Warnings property + + +### CreateProperty(member,memberSerialization) `method` + +##### Summary + +Override when a member property is being instantiated. At this point we know what converter + is being used for the property. If the converter can log warnings, then give it our collection + +##### Returns + + + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| member | [System.Reflection.MemberInfo](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Reflection.MemberInfo 'System.Reflection.MemberInfo') | | +| memberSerialization | [Newtonsoft.Json.MemberSerialization](#T-Newtonsoft-Json-MemberSerialization 'Newtonsoft.Json.MemberSerialization') | | + + +## WarningStatusCode `type` + +##### Namespace + +AdaptiveCards.AdaptiveWarning + +##### Summary + +Status code representing the type of warning encountered. + + +### EmptyLabelInRequiredInput `constants` + +##### Summary + +An input was marked as requiring input, but didn't have a label. + + +### InvalidLanguage `constants` + +##### Summary + +The supplied language was not valid. + + +### MaxActionsExceeded `constants` + +##### Summary + +The maximum number of [AdaptiveAction](#T-AdaptiveCards-AdaptiveAction 'AdaptiveCards.AdaptiveAction')s was exceeded. + + +### NoErrorMessageForValidatedInput `constants` + +##### Summary + +An input has validation properties set, but no error message to display to users + + +### UnsupportedSchemaVersion `constants` + +##### Summary + +The supplied schema version wasn't recognized. + + +## XamlRenderer `type` + +##### Namespace + +Microsoft.MarkedNet + +##### Summary + +Renderer which renders to pure text environments like SMS + + +### BlockQuoteStyle `property` + +##### Summary + +set style as string -> Style=\"..." + + +### CellHeaderStyle `property` + +##### Summary + +set style as string -> Style=\"..." + + +### CellStyle `property` + +##### Summary + +set style as string -> Style=\"..." + + +### CodeSpanStyle `property` + +##### Summary + +set style as string -> Style=\"..." + + +### CodeStyle `property` + +##### Summary + +set style as string -> Style=\"..." + + +### CodespanStyle `property` + +##### Summary + +set style as string -> Style=\"..." + + +### HeadingStyles `property` + +##### Summary + +set style as string -> Style=\"..." + + +### ImageStyle `property` + +##### Summary + +set style as string -> Style=\"..." + + +### ImageTitleStyle `property` + +##### Summary + +set style as string -> Style=\"..." + + +### ListItemStyle `property` + +##### Summary + +set style as string -> Style=\"..." + + +### OrderedListStyle `property` + +##### Summary + +set style as string -> Style=\"..." + + +### ParagraphStyle `property` + +##### Summary + +set style as string -> Style=\"..." + + +### UnorderedListStyle `property` + +##### Summary + +set style as string -> Style=\"..." diff --git a/source/dotnet/Library/AdaptiveCards.Rendering.Wpf.Net6/AdaptiveCards.Rendering.Wpf.Net6.csproj b/source/dotnet/Library/AdaptiveCards.Rendering.Wpf.Net6/AdaptiveCards.Rendering.Wpf.Net6.csproj new file mode 100644 index 0000000000..ad3dbb149f --- /dev/null +++ b/source/dotnet/Library/AdaptiveCards.Rendering.Wpf.Net6/AdaptiveCards.Rendering.Wpf.Net6.csproj @@ -0,0 +1,47 @@ + + + Library + net6.0-windows + true + true + AdaptiveCards.Rendering.Wpf.Net6 + AdaptiveCards.Rendering.Wpf + + Microsoft + Adaptive Card renderer for WPF .Net6 + This library implements classes for rendering Adaptive Cards into WPF controls + AdaptiveCards.Rendering.Wpf.Net6 + false + adaptivecards;adaptive-cards + https://adaptivecards.io + https://adaptivecards.io/content/icons_blue/blue-48.png + https://github.com/Microsoft/AdaptiveCards + EULA-Windows.txt + © Microsoft Corporation. All rights reserved. + True + True + ../../../../35MSSharedLib1024.snk + + + + + + + + + + + + + + + + + + + + + MSBuild:Compile + + + \ No newline at end of file diff --git a/source/dotnet/Library/AdaptiveCards.Rendering.Wpf/AdaptiveCardRenderer.cs b/source/dotnet/Library/AdaptiveCards.Rendering.Wpf/AdaptiveCardRenderer.cs index 4437f461cf..3a836b61fa 100644 --- a/source/dotnet/Library/AdaptiveCards.Rendering.Wpf/AdaptiveCardRenderer.cs +++ b/source/dotnet/Library/AdaptiveCards.Rendering.Wpf/AdaptiveCardRenderer.cs @@ -288,5 +288,15 @@ private async Task RenderCardToImageInternalAsync(Ada await visitor.GetAllImages(card).WithCancellation(cancellationToken).ConfigureAwait(false); return visitor.LoadedImages; } + + public void UseXceedElementRenderers() + { + throw new NotImplementedException(); + } + + public void UseDefaultElementRenderers() + { + throw new NotImplementedException(); + } } } diff --git a/source/dotnet/Library/AdaptiveCards.Templating.Net6/AdaptiveCards.Templating.Net6.csproj b/source/dotnet/Library/AdaptiveCards.Templating.Net6/AdaptiveCards.Templating.Net6.csproj new file mode 100644 index 0000000000..1ec7710f55 --- /dev/null +++ b/source/dotnet/Library/AdaptiveCards.Templating.Net6/AdaptiveCards.Templating.Net6.csproj @@ -0,0 +1,67 @@ + + + net6.0 + 1.0.0 + $(VersionSuffix) + Microsoft + Adaptive Cards + JSON templating library + This library implements a JSON-to-JSON templating/data-binding engine. While it is designed to be used with Adaptive Cards, it is not dependent on Adaptive Cards and can therefore be used in many contexts and applications. + AdaptiveCards.Templating.Net6 + © Microsoft Corporation. All rights reserved. + https://github.com/Microsoft/AdaptiveCards + https://adaptivecards.io/content/icons_blue/blue-48.png + EULA-Windows.txt + https://github.com/microsoft/AdaptiveCards/issues/2448 + true + $(DefineConstants);$(AdditionalConstants) + + + $(MSBuildProjectDirectory)\docs\AdaptiveCardsTemplate.xml + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + false + + + false + + + \ No newline at end of file diff --git a/source/dotnet/Library/AdaptiveCards.Templating.Net6/README.md b/source/dotnet/Library/AdaptiveCards.Templating.Net6/README.md new file mode 100644 index 0000000000..ba63c8628a --- /dev/null +++ b/source/dotnet/Library/AdaptiveCards.Templating.Net6/README.md @@ -0,0 +1,84 @@ +# Adaptive Cards Templating Engine for .NET (Preview) + +This library implements a JSON-to-JSON templating/data-binding. While it is designed to be used with Adaptive Cards, it is not dependent on Adaptive Cards and can therefore be used in many contexts and applications. + +For more information about the data binding language implemented by this library, [please refer to GitHub](https://github.com/microsoft/AdaptiveCards/issues/2448) + +## Install via NuGet + +Coming soon + +## Usage + +### Hello World example + +Here is a simplistic "Hello World" example on how to use the library to generate an Adaptive Card using a template bound to a data object. + +```csharp +string jsonTemplate = @"{ + ""type"": ""AdaptiveCard"", + ""version"": ""1.0"", + ""body"": [ + { + ""type"": ""TextBlock"", + ""text"": ""Hello, ${person.firstName}!"" + } + ] +}"; + +string jsonData = @"{ + ""person"": { + ""firstName"": ""Andrew"", + ""lastName"": ""Leader"" + } +}"; + +// The final JSON, it'll have "text": "Hello, Andrew!" in it! +var template = new AdaptiveCardsTemplate(jsonTemplate); +var context = new AdaptiveCardsEvaluationContext() { + Root = jsonData +}; + +string cardJson = template.Expand(context); +``` + +### AdaptiveExpression + +This library provides a set of built-in functions via AdaptiveExpression. [please refer to GitHub](https://github.com/Microsoft/BotBuilder-Samples/tree/master/experimental/common-expression-language) + +Here is an example of simple use case +```json +{ + "type": "AdaptiveCard", + "version": "1.0", + "body": [ + { + "type": "TextBlock", + "text": "Game Score: {if( score >= 70, 'Excellent', 'Try Again')}" + } + ], + "$schema": "http://adaptivecards.io/schemas/adaptive-card.json" +} + +{ + "score" : 95 +} +``` + +With given template and data, expanded json will be an adaptive cards as shown. + +```json +{ + "type": "AdaptiveCard", + "version": "1.0", + "body": [ + { + "type": "TextBlock", + "text": "Game Score: Excellent" + } + ], + "$schema": "http://adaptivecards.io/schemas/adaptive-card.json" +} +``` + + diff --git a/source/dotnet/Library/AdaptiveCards.Templating.Net6/docs/.gitignore b/source/dotnet/Library/AdaptiveCards.Templating.Net6/docs/.gitignore new file mode 100644 index 0000000000..b81c7954b7 --- /dev/null +++ b/source/dotnet/Library/AdaptiveCards.Templating.Net6/docs/.gitignore @@ -0,0 +1 @@ +*.xml \ No newline at end of file diff --git a/source/dotnet/Library/AdaptiveCards.Templating.Net6/docs/AdaptiveCardsTemplate.md b/source/dotnet/Library/AdaptiveCards.Templating.Net6/docs/AdaptiveCardsTemplate.md new file mode 100644 index 0000000000..499ff9c7e9 --- /dev/null +++ b/source/dotnet/Library/AdaptiveCards.Templating.Net6/docs/AdaptiveCardsTemplate.md @@ -0,0 +1,1700 @@ + +# AdaptiveCards.Templating.Net6 + +## Contents + +- [AdaptiveCardTemplate](#T-AdaptiveCards-Templating-AdaptiveCardTemplate 'AdaptiveCards.Templating.AdaptiveCardTemplate') + - [#ctor(jsonTemplate)](#M-AdaptiveCards-Templating-AdaptiveCardTemplate-#ctor-System-Object- 'AdaptiveCards.Templating.AdaptiveCardTemplate.#ctor(System.Object)') + - [Expand(context,nullSubstitutionOption)](#M-AdaptiveCards-Templating-AdaptiveCardTemplate-Expand-AdaptiveCards-Templating-EvaluationContext,System-Func{System-String,System-Object}- 'AdaptiveCards.Templating.AdaptiveCardTemplate.Expand(AdaptiveCards.Templating.EvaluationContext,System.Func{System.String,System.Object})') + - [Expand(rootData,nullSubstitutionOption)](#M-AdaptiveCards-Templating-AdaptiveCardTemplate-Expand-System-Object,System-Func{System-String,System-Object}- 'AdaptiveCards.Templating.AdaptiveCardTemplate.Expand(System.Object,System.Func{System.String,System.Object})') + - [GetLastTemplateExpansionWarnings()](#M-AdaptiveCards-Templating-AdaptiveCardTemplate-GetLastTemplateExpansionWarnings 'AdaptiveCards.Templating.AdaptiveCardTemplate.GetLastTemplateExpansionWarnings') +- [AdaptiveCardsTemplateParserBaseVisitor\`1](#T-AdaptiveCardsTemplateParserBaseVisitor`1 'AdaptiveCardsTemplateParserBaseVisitor`1') + - [VisitArray(context)](#M-AdaptiveCardsTemplateParserBaseVisitor`1-VisitArray-AdaptiveCardsTemplateParser-ArrayContext- 'AdaptiveCardsTemplateParserBaseVisitor`1.VisitArray(AdaptiveCardsTemplateParser.ArrayContext)') + - [VisitJson(context)](#M-AdaptiveCardsTemplateParserBaseVisitor`1-VisitJson-AdaptiveCardsTemplateParser-JsonContext- 'AdaptiveCardsTemplateParserBaseVisitor`1.VisitJson(AdaptiveCardsTemplateParser.JsonContext)') + - [VisitJsonPair(context)](#M-AdaptiveCardsTemplateParserBaseVisitor`1-VisitJsonPair-AdaptiveCardsTemplateParser-JsonPairContext- 'AdaptiveCardsTemplateParserBaseVisitor`1.VisitJsonPair(AdaptiveCardsTemplateParser.JsonPairContext)') + - [VisitObj(context)](#M-AdaptiveCardsTemplateParserBaseVisitor`1-VisitObj-AdaptiveCardsTemplateParser-ObjContext- 'AdaptiveCardsTemplateParserBaseVisitor`1.VisitObj(AdaptiveCardsTemplateParser.ObjContext)') + - [VisitTemplateData(context)](#M-AdaptiveCardsTemplateParserBaseVisitor`1-VisitTemplateData-AdaptiveCardsTemplateParser-TemplateDataContext- 'AdaptiveCardsTemplateParserBaseVisitor`1.VisitTemplateData(AdaptiveCardsTemplateParser.TemplateDataContext)') + - [VisitTemplateRootData(context)](#M-AdaptiveCardsTemplateParserBaseVisitor`1-VisitTemplateRootData-AdaptiveCardsTemplateParser-TemplateRootDataContext- 'AdaptiveCardsTemplateParserBaseVisitor`1.VisitTemplateRootData(AdaptiveCardsTemplateParser.TemplateRootDataContext)') + - [VisitTemplateStringWithRoot(context)](#M-AdaptiveCardsTemplateParserBaseVisitor`1-VisitTemplateStringWithRoot-AdaptiveCardsTemplateParser-TemplateStringWithRootContext- 'AdaptiveCardsTemplateParserBaseVisitor`1.VisitTemplateStringWithRoot(AdaptiveCardsTemplateParser.TemplateStringWithRootContext)') + - [VisitTemplateWhen(context)](#M-AdaptiveCardsTemplateParserBaseVisitor`1-VisitTemplateWhen-AdaptiveCardsTemplateParser-TemplateWhenContext- 'AdaptiveCardsTemplateParserBaseVisitor`1.VisitTemplateWhen(AdaptiveCardsTemplateParser.TemplateWhenContext)') + - [VisitTemplatedString(context)](#M-AdaptiveCardsTemplateParserBaseVisitor`1-VisitTemplatedString-AdaptiveCardsTemplateParser-TemplatedStringContext- 'AdaptiveCardsTemplateParserBaseVisitor`1.VisitTemplatedString(AdaptiveCardsTemplateParser.TemplatedStringContext)') + - [VisitValueArray(context)](#M-AdaptiveCardsTemplateParserBaseVisitor`1-VisitValueArray-AdaptiveCardsTemplateParser-ValueArrayContext- 'AdaptiveCardsTemplateParserBaseVisitor`1.VisitValueArray(AdaptiveCardsTemplateParser.ValueArrayContext)') + - [VisitValueFalse(context)](#M-AdaptiveCardsTemplateParserBaseVisitor`1-VisitValueFalse-AdaptiveCardsTemplateParser-ValueFalseContext- 'AdaptiveCardsTemplateParserBaseVisitor`1.VisitValueFalse(AdaptiveCardsTemplateParser.ValueFalseContext)') + - [VisitValueNull(context)](#M-AdaptiveCardsTemplateParserBaseVisitor`1-VisitValueNull-AdaptiveCardsTemplateParser-ValueNullContext- 'AdaptiveCardsTemplateParserBaseVisitor`1.VisitValueNull(AdaptiveCardsTemplateParser.ValueNullContext)') + - [VisitValueNumber(context)](#M-AdaptiveCardsTemplateParserBaseVisitor`1-VisitValueNumber-AdaptiveCardsTemplateParser-ValueNumberContext- 'AdaptiveCardsTemplateParserBaseVisitor`1.VisitValueNumber(AdaptiveCardsTemplateParser.ValueNumberContext)') + - [VisitValueObject(context)](#M-AdaptiveCardsTemplateParserBaseVisitor`1-VisitValueObject-AdaptiveCardsTemplateParser-ValueObjectContext- 'AdaptiveCardsTemplateParserBaseVisitor`1.VisitValueObject(AdaptiveCardsTemplateParser.ValueObjectContext)') + - [VisitValueString(context)](#M-AdaptiveCardsTemplateParserBaseVisitor`1-VisitValueString-AdaptiveCardsTemplateParser-ValueStringContext- 'AdaptiveCardsTemplateParserBaseVisitor`1.VisitValueString(AdaptiveCardsTemplateParser.ValueStringContext)') + - [VisitValueTemplateExpression(context)](#M-AdaptiveCardsTemplateParserBaseVisitor`1-VisitValueTemplateExpression-AdaptiveCardsTemplateParser-ValueTemplateExpressionContext- 'AdaptiveCardsTemplateParserBaseVisitor`1.VisitValueTemplateExpression(AdaptiveCardsTemplateParser.ValueTemplateExpressionContext)') + - [VisitValueTemplateString(context)](#M-AdaptiveCardsTemplateParserBaseVisitor`1-VisitValueTemplateString-AdaptiveCardsTemplateParser-ValueTemplateStringContext- 'AdaptiveCardsTemplateParserBaseVisitor`1.VisitValueTemplateString(AdaptiveCardsTemplateParser.ValueTemplateStringContext)') + - [VisitValueTemplateStringWithRoot(context)](#M-AdaptiveCardsTemplateParserBaseVisitor`1-VisitValueTemplateStringWithRoot-AdaptiveCardsTemplateParser-ValueTemplateStringWithRootContext- 'AdaptiveCardsTemplateParserBaseVisitor`1.VisitValueTemplateStringWithRoot(AdaptiveCardsTemplateParser.ValueTemplateStringWithRootContext)') + - [VisitValueTrue(context)](#M-AdaptiveCardsTemplateParserBaseVisitor`1-VisitValueTrue-AdaptiveCardsTemplateParser-ValueTrueContext- 'AdaptiveCardsTemplateParserBaseVisitor`1.VisitValueTrue(AdaptiveCardsTemplateParser.ValueTrueContext)') +- [AdaptiveCardsTemplateResult](#T-AdaptiveCards-Templating-AdaptiveCardsTemplateResult 'AdaptiveCards.Templating.AdaptiveCardsTemplateResult') + - [#ctor()](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateResult-#ctor 'AdaptiveCards.Templating.AdaptiveCardsTemplateResult.#ctor') + - [#ctor(capturedString)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateResult-#ctor-System-String- 'AdaptiveCards.Templating.AdaptiveCardsTemplateResult.#ctor(System.String)') + - [#ctor(capturedString,predicate)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateResult-#ctor-System-String,System-String- 'AdaptiveCards.Templating.AdaptiveCardsTemplateResult.#ctor(System.String,System.String)') + - [HasItBeenDropped](#P-AdaptiveCards-Templating-AdaptiveCardsTemplateResult-HasItBeenDropped 'AdaptiveCards.Templating.AdaptiveCardsTemplateResult.HasItBeenDropped') + - [IsWhen](#P-AdaptiveCards-Templating-AdaptiveCardsTemplateResult-IsWhen 'AdaptiveCards.Templating.AdaptiveCardsTemplateResult.IsWhen') + - [Predicate](#P-AdaptiveCards-Templating-AdaptiveCardsTemplateResult-Predicate 'AdaptiveCards.Templating.AdaptiveCardsTemplateResult.Predicate') + - [WhenEvaluationResult](#P-AdaptiveCards-Templating-AdaptiveCardsTemplateResult-WhenEvaluationResult 'AdaptiveCards.Templating.AdaptiveCardsTemplateResult.WhenEvaluationResult') + - [Append(capturedString)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateResult-Append-System-String- 'AdaptiveCards.Templating.AdaptiveCardsTemplateResult.Append(System.String)') + - [Append(result)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateResult-Append-AdaptiveCards-Templating-AdaptiveCardsTemplateResult- 'AdaptiveCards.Templating.AdaptiveCardsTemplateResult.Append(AdaptiveCards.Templating.AdaptiveCardsTemplateResult)') + - [ToString()](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateResult-ToString 'AdaptiveCards.Templating.AdaptiveCardsTemplateResult.ToString') +- [AdaptiveCardsTemplateSimpleObjectMemory](#T-AdaptiveCards-Templating-AdaptiveCardsTemplateSimpleObjectMemory 'AdaptiveCards.Templating.AdaptiveCardsTemplateSimpleObjectMemory') + - [#ctor(memory)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateSimpleObjectMemory-#ctor-System-Object- 'AdaptiveCards.Templating.AdaptiveCardsTemplateSimpleObjectMemory.#ctor(System.Object)') + - [SetValue(path,value)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateSimpleObjectMemory-SetValue-System-String,System-Object- 'AdaptiveCards.Templating.AdaptiveCardsTemplateSimpleObjectMemory.SetValue(System.String,System.Object)') + - [TryGetValue(path,value)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateSimpleObjectMemory-TryGetValue-System-String,System-Object@- 'AdaptiveCards.Templating.AdaptiveCardsTemplateSimpleObjectMemory.TryGetValue(System.String,System.Object@)') + - [Version()](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateSimpleObjectMemory-Version 'AdaptiveCards.Templating.AdaptiveCardsTemplateSimpleObjectMemory.Version') +- [AdaptiveCardsTemplateVisitor](#T-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor') + - [#ctor(nullSubstitutionOption,data,hostData)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-#ctor-System-Func{System-String,System-Object},System-String,System-String- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.#ctor(System.Func{System.String,System.Object},System.String,System.String)') + - [Expand(unboundString,data,isTemplatedString,options)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-Expand-System-String,AdaptiveExpressions-Memory-IMemory,System-Boolean,AdaptiveExpressions-Options- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.Expand(System.String,AdaptiveExpressions.Memory.IMemory,System.Boolean,AdaptiveExpressions.Options)') + - [ExpandTemplatedString(node,isExpanded)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-ExpandTemplatedString-Antlr4-Runtime-Tree-ITerminalNode,System-Boolean- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.ExpandTemplatedString(Antlr4.Runtime.Tree.ITerminalNode,System.Boolean)') + - [GetCurrentDataContext()](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-GetCurrentDataContext 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.GetCurrentDataContext') + - [HasDataContext()](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-HasDataContext 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.HasDataContext') + - [IsTrue(predicate,data)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-IsTrue-System-String,Newtonsoft-Json-Linq-JToken- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.IsTrue(System.String,Newtonsoft.Json.Linq.JToken)') + - [PopDataContext()](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-PopDataContext 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.PopDataContext') + - [PushDataContext(stringToParse,rootDataContext)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-PushDataContext-System-String,Newtonsoft-Json-Linq-JToken- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.PushDataContext(System.String,Newtonsoft.Json.Linq.JToken)') + - [PushDataContext(context)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-PushDataContext-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-DataContext- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.PushDataContext(AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.DataContext)') + - [PushTemplatedDataContext(jpath)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-PushTemplatedDataContext-System-String- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.PushTemplatedDataContext(System.String)') + - [VisitArray(context)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-VisitArray-AdaptiveCardsTemplateParser-ArrayContext- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.VisitArray(AdaptiveCardsTemplateParser.ArrayContext)') + - [VisitChildren(node)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-VisitChildren-Antlr4-Runtime-Tree-IRuleNode- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)') + - [VisitObj(context)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-VisitObj-AdaptiveCardsTemplateParser-ObjContext- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.VisitObj(AdaptiveCardsTemplateParser.ObjContext)') + - [VisitTemplateData(context)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-VisitTemplateData-AdaptiveCardsTemplateParser-TemplateDataContext- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.VisitTemplateData(AdaptiveCardsTemplateParser.TemplateDataContext)') + - [VisitTemplateRootData(context)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-VisitTemplateRootData-AdaptiveCardsTemplateParser-TemplateRootDataContext- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.VisitTemplateRootData(AdaptiveCardsTemplateParser.TemplateRootDataContext)') + - [VisitTemplateStringWithRoot(context)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-VisitTemplateStringWithRoot-AdaptiveCardsTemplateParser-TemplateStringWithRootContext- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.VisitTemplateStringWithRoot(AdaptiveCardsTemplateParser.TemplateStringWithRootContext)') + - [VisitTemplateWhen(context)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-VisitTemplateWhen-AdaptiveCardsTemplateParser-TemplateWhenContext- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.VisitTemplateWhen(AdaptiveCardsTemplateParser.TemplateWhenContext)') + - [VisitTerminal(node)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-VisitTerminal-Antlr4-Runtime-Tree-ITerminalNode- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.VisitTerminal(Antlr4.Runtime.Tree.ITerminalNode)') + - [VisitValueObject(context)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-VisitValueObject-AdaptiveCardsTemplateParser-ValueObjectContext- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.VisitValueObject(AdaptiveCardsTemplateParser.ValueObjectContext)') + - [VisitValueTemplateExpression(context)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-VisitValueTemplateExpression-AdaptiveCardsTemplateParser-ValueTemplateExpressionContext- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.VisitValueTemplateExpression(AdaptiveCardsTemplateParser.ValueTemplateExpressionContext)') + - [VisitValueTemplateString(context)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-VisitValueTemplateString-AdaptiveCardsTemplateParser-ValueTemplateStringContext- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.VisitValueTemplateString(AdaptiveCardsTemplateParser.ValueTemplateStringContext)') + - [getTemplateVisitorWarnings()](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-getTemplateVisitorWarnings 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.getTemplateVisitorWarnings') +- [AdaptiveTemplateException](#T-AdaptiveCards-Templating-AdaptiveTemplateException 'AdaptiveCards.Templating.AdaptiveTemplateException') + - [#ctor()](#M-AdaptiveCards-Templating-AdaptiveTemplateException-#ctor 'AdaptiveCards.Templating.AdaptiveTemplateException.#ctor') + - [#ctor(message)](#M-AdaptiveCards-Templating-AdaptiveTemplateException-#ctor-System-String- 'AdaptiveCards.Templating.AdaptiveTemplateException.#ctor(System.String)') + - [#ctor(message,innerException)](#M-AdaptiveCards-Templating-AdaptiveTemplateException-#ctor-System-String,System-Exception- 'AdaptiveCards.Templating.AdaptiveTemplateException.#ctor(System.String,System.Exception)') +- [DataContext](#T-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-DataContext 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.DataContext') + - [#ctor(jtoken,rootDataContext,hostDataContext)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-DataContext-#ctor-Newtonsoft-Json-Linq-JToken,Newtonsoft-Json-Linq-JToken,Newtonsoft-Json-Linq-JToken- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.DataContext.#ctor(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken)') + - [#ctor(text,rootDataContext,hostDataContext)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-DataContext-#ctor-System-String,Newtonsoft-Json-Linq-JToken,Newtonsoft-Json-Linq-JToken- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.DataContext.#ctor(System.String,Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken)') + - [GetDataContextAtIndex(index)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-DataContext-GetDataContextAtIndex-System-Int32- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.DataContext.GetDataContextAtIndex(System.Int32)') + - [Init(jtoken,rootDataContext,hostDataContext)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-DataContext-Init-Newtonsoft-Json-Linq-JToken,Newtonsoft-Json-Linq-JToken,Newtonsoft-Json-Linq-JToken- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.DataContext.Init(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken)') +- [EvaluationContext](#T-AdaptiveCards-Templating-EvaluationContext 'AdaptiveCards.Templating.EvaluationContext') + - [#ctor()](#M-AdaptiveCards-Templating-EvaluationContext-#ctor 'AdaptiveCards.Templating.EvaluationContext.#ctor') + - [#ctor(rootData,hostData)](#M-AdaptiveCards-Templating-EvaluationContext-#ctor-System-Object,System-Object- 'AdaptiveCards.Templating.EvaluationContext.#ctor(System.Object,System.Object)') + - [Host](#P-AdaptiveCards-Templating-EvaluationContext-Host 'AdaptiveCards.Templating.EvaluationContext.Host') + - [Root](#P-AdaptiveCards-Templating-EvaluationContext-Root 'AdaptiveCards.Templating.EvaluationContext.Root') +- [EvaluationResult](#T-AdaptiveCards-Templating-AdaptiveCardsTemplateResult-EvaluationResult 'AdaptiveCards.Templating.AdaptiveCardsTemplateResult.EvaluationResult') + - [EvaluatedToFalse](#F-AdaptiveCards-Templating-AdaptiveCardsTemplateResult-EvaluationResult-EvaluatedToFalse 'AdaptiveCards.Templating.AdaptiveCardsTemplateResult.EvaluationResult.EvaluatedToFalse') + - [EvaluatedToTrue](#F-AdaptiveCards-Templating-AdaptiveCardsTemplateResult-EvaluationResult-EvaluatedToTrue 'AdaptiveCards.Templating.AdaptiveCardsTemplateResult.EvaluationResult.EvaluatedToTrue') + - [NotEvaluated](#F-AdaptiveCards-Templating-AdaptiveCardsTemplateResult-EvaluationResult-NotEvaluated 'AdaptiveCards.Templating.AdaptiveCardsTemplateResult.EvaluationResult.NotEvaluated') +- [IAdaptiveCardsTemplateParserVisitor\`1](#T-IAdaptiveCardsTemplateParserVisitor`1 'IAdaptiveCardsTemplateParserVisitor`1') + - [VisitArray(context)](#M-IAdaptiveCardsTemplateParserVisitor`1-VisitArray-AdaptiveCardsTemplateParser-ArrayContext- 'IAdaptiveCardsTemplateParserVisitor`1.VisitArray(AdaptiveCardsTemplateParser.ArrayContext)') + - [VisitJson(context)](#M-IAdaptiveCardsTemplateParserVisitor`1-VisitJson-AdaptiveCardsTemplateParser-JsonContext- 'IAdaptiveCardsTemplateParserVisitor`1.VisitJson(AdaptiveCardsTemplateParser.JsonContext)') + - [VisitJsonPair(context)](#M-IAdaptiveCardsTemplateParserVisitor`1-VisitJsonPair-AdaptiveCardsTemplateParser-JsonPairContext- 'IAdaptiveCardsTemplateParserVisitor`1.VisitJsonPair(AdaptiveCardsTemplateParser.JsonPairContext)') + - [VisitObj(context)](#M-IAdaptiveCardsTemplateParserVisitor`1-VisitObj-AdaptiveCardsTemplateParser-ObjContext- 'IAdaptiveCardsTemplateParserVisitor`1.VisitObj(AdaptiveCardsTemplateParser.ObjContext)') + - [VisitTemplateData(context)](#M-IAdaptiveCardsTemplateParserVisitor`1-VisitTemplateData-AdaptiveCardsTemplateParser-TemplateDataContext- 'IAdaptiveCardsTemplateParserVisitor`1.VisitTemplateData(AdaptiveCardsTemplateParser.TemplateDataContext)') + - [VisitTemplateRootData(context)](#M-IAdaptiveCardsTemplateParserVisitor`1-VisitTemplateRootData-AdaptiveCardsTemplateParser-TemplateRootDataContext- 'IAdaptiveCardsTemplateParserVisitor`1.VisitTemplateRootData(AdaptiveCardsTemplateParser.TemplateRootDataContext)') + - [VisitTemplateStringWithRoot(context)](#M-IAdaptiveCardsTemplateParserVisitor`1-VisitTemplateStringWithRoot-AdaptiveCardsTemplateParser-TemplateStringWithRootContext- 'IAdaptiveCardsTemplateParserVisitor`1.VisitTemplateStringWithRoot(AdaptiveCardsTemplateParser.TemplateStringWithRootContext)') + - [VisitTemplateWhen(context)](#M-IAdaptiveCardsTemplateParserVisitor`1-VisitTemplateWhen-AdaptiveCardsTemplateParser-TemplateWhenContext- 'IAdaptiveCardsTemplateParserVisitor`1.VisitTemplateWhen(AdaptiveCardsTemplateParser.TemplateWhenContext)') + - [VisitTemplatedString(context)](#M-IAdaptiveCardsTemplateParserVisitor`1-VisitTemplatedString-AdaptiveCardsTemplateParser-TemplatedStringContext- 'IAdaptiveCardsTemplateParserVisitor`1.VisitTemplatedString(AdaptiveCardsTemplateParser.TemplatedStringContext)') + - [VisitValueArray(context)](#M-IAdaptiveCardsTemplateParserVisitor`1-VisitValueArray-AdaptiveCardsTemplateParser-ValueArrayContext- 'IAdaptiveCardsTemplateParserVisitor`1.VisitValueArray(AdaptiveCardsTemplateParser.ValueArrayContext)') + - [VisitValueFalse(context)](#M-IAdaptiveCardsTemplateParserVisitor`1-VisitValueFalse-AdaptiveCardsTemplateParser-ValueFalseContext- 'IAdaptiveCardsTemplateParserVisitor`1.VisitValueFalse(AdaptiveCardsTemplateParser.ValueFalseContext)') + - [VisitValueNull(context)](#M-IAdaptiveCardsTemplateParserVisitor`1-VisitValueNull-AdaptiveCardsTemplateParser-ValueNullContext- 'IAdaptiveCardsTemplateParserVisitor`1.VisitValueNull(AdaptiveCardsTemplateParser.ValueNullContext)') + - [VisitValueNumber(context)](#M-IAdaptiveCardsTemplateParserVisitor`1-VisitValueNumber-AdaptiveCardsTemplateParser-ValueNumberContext- 'IAdaptiveCardsTemplateParserVisitor`1.VisitValueNumber(AdaptiveCardsTemplateParser.ValueNumberContext)') + - [VisitValueObject(context)](#M-IAdaptiveCardsTemplateParserVisitor`1-VisitValueObject-AdaptiveCardsTemplateParser-ValueObjectContext- 'IAdaptiveCardsTemplateParserVisitor`1.VisitValueObject(AdaptiveCardsTemplateParser.ValueObjectContext)') + - [VisitValueString(context)](#M-IAdaptiveCardsTemplateParserVisitor`1-VisitValueString-AdaptiveCardsTemplateParser-ValueStringContext- 'IAdaptiveCardsTemplateParserVisitor`1.VisitValueString(AdaptiveCardsTemplateParser.ValueStringContext)') + - [VisitValueTemplateExpression(context)](#M-IAdaptiveCardsTemplateParserVisitor`1-VisitValueTemplateExpression-AdaptiveCardsTemplateParser-ValueTemplateExpressionContext- 'IAdaptiveCardsTemplateParserVisitor`1.VisitValueTemplateExpression(AdaptiveCardsTemplateParser.ValueTemplateExpressionContext)') + - [VisitValueTemplateString(context)](#M-IAdaptiveCardsTemplateParserVisitor`1-VisitValueTemplateString-AdaptiveCardsTemplateParser-ValueTemplateStringContext- 'IAdaptiveCardsTemplateParserVisitor`1.VisitValueTemplateString(AdaptiveCardsTemplateParser.ValueTemplateStringContext)') + - [VisitValueTemplateStringWithRoot(context)](#M-IAdaptiveCardsTemplateParserVisitor`1-VisitValueTemplateStringWithRoot-AdaptiveCardsTemplateParser-ValueTemplateStringWithRootContext- 'IAdaptiveCardsTemplateParserVisitor`1.VisitValueTemplateStringWithRoot(AdaptiveCardsTemplateParser.ValueTemplateStringWithRootContext)') + - [VisitValueTrue(context)](#M-IAdaptiveCardsTemplateParserVisitor`1-VisitValueTrue-AdaptiveCardsTemplateParser-ValueTrueContext- 'IAdaptiveCardsTemplateParserVisitor`1.VisitValueTrue(AdaptiveCardsTemplateParser.ValueTrueContext)') + + +## AdaptiveCardTemplate `type` + +##### Namespace + +AdaptiveCards.Templating + +##### Summary + +The main `AdaptiveCardTemplate` class +Contain all methods for performaing data binding to `AdaptiveCardTemplate` + + +### #ctor(jsonTemplate) `constructor` + +##### Summary + +Creates an instance of AdaptiveCardTemplate + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| jsonTemplate | [System.Object](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Object 'System.Object') | string in json or seriazable object | + +##### Example + +``` + var jsonTemplate = " + { + "type": "AdaptiveCard", + "version": "1.0", + "body": [ + { + "type": "TextBlock", + "text": "Hello ${person.firstName}" + } + ] +}" + var template = new AdaptiveCardTemplate(jsonTemplate); + +``` + +##### Remarks + +Once created, it will contain a parsed tree based on jsonTemplate + +Data is bound by calling `Expand` on the object + +The intance can be rebound with different data by calling `Expand` + +[Expand](#M-AdaptiveCards-Templating-AdaptiveCardTemplate-Expand-AdaptiveCards-Templating-EvaluationContext,System-Func{System-String,System-Object}- 'AdaptiveCards.Templating.AdaptiveCardTemplate.Expand(AdaptiveCards.Templating.EvaluationContext,System.Func{System.String,System.Object})') + + +### Expand(context,nullSubstitutionOption) `method` + +##### Summary + +Bind data in `context` to the instance of AdaptiveCardTemplate + +##### Returns + +json as string + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCards.Templating.EvaluationContext](#T-AdaptiveCards-Templating-EvaluationContext 'AdaptiveCards.Templating.EvaluationContext') | provides data context | +| nullSubstitutionOption | [System.Func{System.String,System.Object}](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Func 'System.Func{System.String,System.Object}') | defines behavior when no suitable data is found for a template entry | + +##### Example + +``` +var template = new AdaptiveCardTemplate(jsonTemplate); +var context = new AdaptiveCardsEvaluationContext(jsonData); +template.Expand(context); +``` + +##### Remarks + +Data can be also inlined in AdaptiveCardTemplate payload + +Expand can be called multiple times with different or same `context` + +Returned string can be invalid AdaptiveCards, such validation will be performed by AdaptiveCards Parser + +`nullSubstitutionOption` defines behavior when no suitable data is found for a template entry + +Default behavior is leaving templated string unchanged + +##### See Also + +- [AdaptiveCards.Templating.EvaluationContext](#T-AdaptiveCards-Templating-EvaluationContext 'AdaptiveCards.Templating.EvaluationContext') + + +### Expand(rootData,nullSubstitutionOption) `method` + +##### Summary + +Create a root data context using `rootData`, and bind it to the instance of AdaptiveCardTemplate + +##### Returns + +json as string + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| rootData | [System.Object](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Object 'System.Object') | Serializable object or a string in valid json format that will be used as data context | +| nullSubstitutionOption | [System.Func{System.String,System.Object}](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Func 'System.Func{System.String,System.Object}') | Defines behavior when no suitable data is found for a template entry | + +##### Example + +``` +var template = new AdaptiveCardTemplate(jsonTemplate); +template.Expand(rootData); +``` + +##### Remarks + +Data can be also inlined in AdaptiveCardTemplate payload + +Expand can be called multiple times with different or same `rootData` + +Returned string can be invalid AdaptiveCards, such validation will be performed by AdaptiveCards Parser + +`nullSubstitutionOption` defines behavior when no suitable data is found for a template entry + +Default behavior is leaving templated string unchanged + +##### See Also + +- [AdaptiveCards.Templating.EvaluationContext](#T-AdaptiveCards-Templating-EvaluationContext 'AdaptiveCards.Templating.EvaluationContext') + + +### GetLastTemplateExpansionWarnings() `method` + +##### Summary + +Getter method for the array of warning strings from the last template expansion + +##### Returns + +ArrayList + +##### Parameters + +This method has no parameters. + + +## AdaptiveCardsTemplateParserBaseVisitor\`1 `type` + +##### Namespace + + + +##### Summary + +This class provides an empty implementation of [IAdaptiveCardsTemplateParserVisitor\`1](#T-IAdaptiveCardsTemplateParserVisitor`1 'IAdaptiveCardsTemplateParserVisitor`1'), +which can be extended to create a visitor which only needs to handle a subset +of the available methods. + +##### Generic Types + +| Name | Description | +| ---- | ----------- | +| Result | The return type of the visit operation. | + + +### VisitArray(context) `method` + +##### Summary + +Visit a parse tree produced by [array](#M-AdaptiveCardsTemplateParser-array 'AdaptiveCardsTemplateParser.array'). + +The default implementation returns the result of calling [VisitChildren](#M-Antlr4-Runtime-Tree-AbstractParseTreeVisitor`1-VisitChildren-Antlr4-Runtime-Tree-IRuleNode- 'Antlr4.Runtime.Tree.AbstractParseTreeVisitor`1.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)') +on `context`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ArrayContext](#T-AdaptiveCardsTemplateParser-ArrayContext 'AdaptiveCardsTemplateParser.ArrayContext') | The parse tree. | + + +### VisitJson(context) `method` + +##### Summary + +Visit a parse tree produced by [json](#M-AdaptiveCardsTemplateParser-json 'AdaptiveCardsTemplateParser.json'). + +The default implementation returns the result of calling [VisitChildren](#M-Antlr4-Runtime-Tree-AbstractParseTreeVisitor`1-VisitChildren-Antlr4-Runtime-Tree-IRuleNode- 'Antlr4.Runtime.Tree.AbstractParseTreeVisitor`1.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)') +on `context`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.JsonContext](#T-AdaptiveCardsTemplateParser-JsonContext 'AdaptiveCardsTemplateParser.JsonContext') | The parse tree. | + + +### VisitJsonPair(context) `method` + +##### Summary + +Visit a parse tree produced by the `jsonPair` +labeled alternative in [pair](#M-AdaptiveCardsTemplateParser-pair 'AdaptiveCardsTemplateParser.pair'). + +The default implementation returns the result of calling [VisitChildren](#M-Antlr4-Runtime-Tree-AbstractParseTreeVisitor`1-VisitChildren-Antlr4-Runtime-Tree-IRuleNode- 'Antlr4.Runtime.Tree.AbstractParseTreeVisitor`1.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)') +on `context`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.JsonPairContext](#T-AdaptiveCardsTemplateParser-JsonPairContext 'AdaptiveCardsTemplateParser.JsonPairContext') | The parse tree. | + + +### VisitObj(context) `method` + +##### Summary + +Visit a parse tree produced by [obj](#M-AdaptiveCardsTemplateParser-obj 'AdaptiveCardsTemplateParser.obj'). + +The default implementation returns the result of calling [VisitChildren](#M-Antlr4-Runtime-Tree-AbstractParseTreeVisitor`1-VisitChildren-Antlr4-Runtime-Tree-IRuleNode- 'Antlr4.Runtime.Tree.AbstractParseTreeVisitor`1.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)') +on `context`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ObjContext](#T-AdaptiveCardsTemplateParser-ObjContext 'AdaptiveCardsTemplateParser.ObjContext') | The parse tree. | + + +### VisitTemplateData(context) `method` + +##### Summary + +Visit a parse tree produced by the `templateData` +labeled alternative in [pair](#M-AdaptiveCardsTemplateParser-pair 'AdaptiveCardsTemplateParser.pair'). + +The default implementation returns the result of calling [VisitChildren](#M-Antlr4-Runtime-Tree-AbstractParseTreeVisitor`1-VisitChildren-Antlr4-Runtime-Tree-IRuleNode- 'Antlr4.Runtime.Tree.AbstractParseTreeVisitor`1.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)') +on `context`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.TemplateDataContext](#T-AdaptiveCardsTemplateParser-TemplateDataContext 'AdaptiveCardsTemplateParser.TemplateDataContext') | The parse tree. | + + +### VisitTemplateRootData(context) `method` + +##### Summary + +Visit a parse tree produced by the `templateRootData` +labeled alternative in [pair](#M-AdaptiveCardsTemplateParser-pair 'AdaptiveCardsTemplateParser.pair'). + +The default implementation returns the result of calling [VisitChildren](#M-Antlr4-Runtime-Tree-AbstractParseTreeVisitor`1-VisitChildren-Antlr4-Runtime-Tree-IRuleNode- 'Antlr4.Runtime.Tree.AbstractParseTreeVisitor`1.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)') +on `context`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.TemplateRootDataContext](#T-AdaptiveCardsTemplateParser-TemplateRootDataContext 'AdaptiveCardsTemplateParser.TemplateRootDataContext') | The parse tree. | + + +### VisitTemplateStringWithRoot(context) `method` + +##### Summary + +Visit a parse tree produced by the `templateStringWithRoot` +labeled alternative in [templateRoot](#M-AdaptiveCardsTemplateParser-templateRoot 'AdaptiveCardsTemplateParser.templateRoot'). + +The default implementation returns the result of calling [VisitChildren](#M-Antlr4-Runtime-Tree-AbstractParseTreeVisitor`1-VisitChildren-Antlr4-Runtime-Tree-IRuleNode- 'Antlr4.Runtime.Tree.AbstractParseTreeVisitor`1.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)') +on `context`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.TemplateStringWithRootContext](#T-AdaptiveCardsTemplateParser-TemplateStringWithRootContext 'AdaptiveCardsTemplateParser.TemplateStringWithRootContext') | The parse tree. | + + +### VisitTemplateWhen(context) `method` + +##### Summary + +Visit a parse tree produced by the `templateWhen` +labeled alternative in [pair](#M-AdaptiveCardsTemplateParser-pair 'AdaptiveCardsTemplateParser.pair'). + +The default implementation returns the result of calling [VisitChildren](#M-Antlr4-Runtime-Tree-AbstractParseTreeVisitor`1-VisitChildren-Antlr4-Runtime-Tree-IRuleNode- 'Antlr4.Runtime.Tree.AbstractParseTreeVisitor`1.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)') +on `context`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.TemplateWhenContext](#T-AdaptiveCardsTemplateParser-TemplateWhenContext 'AdaptiveCardsTemplateParser.TemplateWhenContext') | The parse tree. | + + +### VisitTemplatedString(context) `method` + +##### Summary + +Visit a parse tree produced by the `templatedString` +labeled alternative in [templateString](#M-AdaptiveCardsTemplateParser-templateString 'AdaptiveCardsTemplateParser.templateString'). + +The default implementation returns the result of calling [VisitChildren](#M-Antlr4-Runtime-Tree-AbstractParseTreeVisitor`1-VisitChildren-Antlr4-Runtime-Tree-IRuleNode- 'Antlr4.Runtime.Tree.AbstractParseTreeVisitor`1.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)') +on `context`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.TemplatedStringContext](#T-AdaptiveCardsTemplateParser-TemplatedStringContext 'AdaptiveCardsTemplateParser.TemplatedStringContext') | The parse tree. | + + +### VisitValueArray(context) `method` + +##### Summary + +Visit a parse tree produced by the `valueArray` +labeled alternative in [value](#M-AdaptiveCardsTemplateParser-value 'AdaptiveCardsTemplateParser.value'). + +The default implementation returns the result of calling [VisitChildren](#M-Antlr4-Runtime-Tree-AbstractParseTreeVisitor`1-VisitChildren-Antlr4-Runtime-Tree-IRuleNode- 'Antlr4.Runtime.Tree.AbstractParseTreeVisitor`1.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)') +on `context`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueArrayContext](#T-AdaptiveCardsTemplateParser-ValueArrayContext 'AdaptiveCardsTemplateParser.ValueArrayContext') | The parse tree. | + + +### VisitValueFalse(context) `method` + +##### Summary + +Visit a parse tree produced by the `valueFalse` +labeled alternative in [value](#M-AdaptiveCardsTemplateParser-value 'AdaptiveCardsTemplateParser.value'). + +The default implementation returns the result of calling [VisitChildren](#M-Antlr4-Runtime-Tree-AbstractParseTreeVisitor`1-VisitChildren-Antlr4-Runtime-Tree-IRuleNode- 'Antlr4.Runtime.Tree.AbstractParseTreeVisitor`1.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)') +on `context`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueFalseContext](#T-AdaptiveCardsTemplateParser-ValueFalseContext 'AdaptiveCardsTemplateParser.ValueFalseContext') | The parse tree. | + + +### VisitValueNull(context) `method` + +##### Summary + +Visit a parse tree produced by the `valueNull` +labeled alternative in [value](#M-AdaptiveCardsTemplateParser-value 'AdaptiveCardsTemplateParser.value'). + +The default implementation returns the result of calling [VisitChildren](#M-Antlr4-Runtime-Tree-AbstractParseTreeVisitor`1-VisitChildren-Antlr4-Runtime-Tree-IRuleNode- 'Antlr4.Runtime.Tree.AbstractParseTreeVisitor`1.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)') +on `context`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueNullContext](#T-AdaptiveCardsTemplateParser-ValueNullContext 'AdaptiveCardsTemplateParser.ValueNullContext') | The parse tree. | + + +### VisitValueNumber(context) `method` + +##### Summary + +Visit a parse tree produced by the `valueNumber` +labeled alternative in [value](#M-AdaptiveCardsTemplateParser-value 'AdaptiveCardsTemplateParser.value'). + +The default implementation returns the result of calling [VisitChildren](#M-Antlr4-Runtime-Tree-AbstractParseTreeVisitor`1-VisitChildren-Antlr4-Runtime-Tree-IRuleNode- 'Antlr4.Runtime.Tree.AbstractParseTreeVisitor`1.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)') +on `context`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueNumberContext](#T-AdaptiveCardsTemplateParser-ValueNumberContext 'AdaptiveCardsTemplateParser.ValueNumberContext') | The parse tree. | + + +### VisitValueObject(context) `method` + +##### Summary + +Visit a parse tree produced by the `valueObject` +labeled alternative in [value](#M-AdaptiveCardsTemplateParser-value 'AdaptiveCardsTemplateParser.value'). + +The default implementation returns the result of calling [VisitChildren](#M-Antlr4-Runtime-Tree-AbstractParseTreeVisitor`1-VisitChildren-Antlr4-Runtime-Tree-IRuleNode- 'Antlr4.Runtime.Tree.AbstractParseTreeVisitor`1.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)') +on `context`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueObjectContext](#T-AdaptiveCardsTemplateParser-ValueObjectContext 'AdaptiveCardsTemplateParser.ValueObjectContext') | The parse tree. | + + +### VisitValueString(context) `method` + +##### Summary + +Visit a parse tree produced by the `valueString` +labeled alternative in [value](#M-AdaptiveCardsTemplateParser-value 'AdaptiveCardsTemplateParser.value'). + +The default implementation returns the result of calling [VisitChildren](#M-Antlr4-Runtime-Tree-AbstractParseTreeVisitor`1-VisitChildren-Antlr4-Runtime-Tree-IRuleNode- 'Antlr4.Runtime.Tree.AbstractParseTreeVisitor`1.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)') +on `context`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueStringContext](#T-AdaptiveCardsTemplateParser-ValueStringContext 'AdaptiveCardsTemplateParser.ValueStringContext') | The parse tree. | + + +### VisitValueTemplateExpression(context) `method` + +##### Summary + +Visit a parse tree produced by the `valueTemplateExpression` +labeled alternative in [templateExpression](#M-AdaptiveCardsTemplateParser-templateExpression 'AdaptiveCardsTemplateParser.templateExpression'). + +The default implementation returns the result of calling [VisitChildren](#M-Antlr4-Runtime-Tree-AbstractParseTreeVisitor`1-VisitChildren-Antlr4-Runtime-Tree-IRuleNode- 'Antlr4.Runtime.Tree.AbstractParseTreeVisitor`1.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)') +on `context`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueTemplateExpressionContext](#T-AdaptiveCardsTemplateParser-ValueTemplateExpressionContext 'AdaptiveCardsTemplateParser.ValueTemplateExpressionContext') | The parse tree. | + + +### VisitValueTemplateString(context) `method` + +##### Summary + +Visit a parse tree produced by the `valueTemplateString` +labeled alternative in [value](#M-AdaptiveCardsTemplateParser-value 'AdaptiveCardsTemplateParser.value'). + +The default implementation returns the result of calling [VisitChildren](#M-Antlr4-Runtime-Tree-AbstractParseTreeVisitor`1-VisitChildren-Antlr4-Runtime-Tree-IRuleNode- 'Antlr4.Runtime.Tree.AbstractParseTreeVisitor`1.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)') +on `context`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueTemplateStringContext](#T-AdaptiveCardsTemplateParser-ValueTemplateStringContext 'AdaptiveCardsTemplateParser.ValueTemplateStringContext') | The parse tree. | + + +### VisitValueTemplateStringWithRoot(context) `method` + +##### Summary + +Visit a parse tree produced by the `valueTemplateStringWithRoot` +labeled alternative in [value](#M-AdaptiveCardsTemplateParser-value 'AdaptiveCardsTemplateParser.value'). + +The default implementation returns the result of calling [VisitChildren](#M-Antlr4-Runtime-Tree-AbstractParseTreeVisitor`1-VisitChildren-Antlr4-Runtime-Tree-IRuleNode- 'Antlr4.Runtime.Tree.AbstractParseTreeVisitor`1.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)') +on `context`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueTemplateStringWithRootContext](#T-AdaptiveCardsTemplateParser-ValueTemplateStringWithRootContext 'AdaptiveCardsTemplateParser.ValueTemplateStringWithRootContext') | The parse tree. | + + +### VisitValueTrue(context) `method` + +##### Summary + +Visit a parse tree produced by the `valueTrue` +labeled alternative in [value](#M-AdaptiveCardsTemplateParser-value 'AdaptiveCardsTemplateParser.value'). + +The default implementation returns the result of calling [VisitChildren](#M-Antlr4-Runtime-Tree-AbstractParseTreeVisitor`1-VisitChildren-Antlr4-Runtime-Tree-IRuleNode- 'Antlr4.Runtime.Tree.AbstractParseTreeVisitor`1.VisitChildren(Antlr4.Runtime.Tree.IRuleNode)') +on `context`. + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueTrueContext](#T-AdaptiveCardsTemplateParser-ValueTrueContext 'AdaptiveCardsTemplateParser.ValueTrueContext') | The parse tree. | + + +## AdaptiveCardsTemplateResult `type` + +##### Namespace + +AdaptiveCards.Templating + +##### Summary + +Used by AdaptiveCardsTemplateVisitorClass to return result from its visitor methods + + +### #ctor() `constructor` + +##### Summary + +constructor for `AdaptiveCardsTemplateResult` class + +##### Parameters + +This constructor has no parameters. + + +### #ctor(capturedString) `constructor` + +##### Summary + +constructs a result instance with `capturedString` + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| capturedString | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | | + + +### #ctor(capturedString,predicate) `constructor` + +##### Summary + +construct a result instance for $when expression + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| capturedString | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | result string after parsing $when expression | +| predicate | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | predicate of $when | + + +### HasItBeenDropped `property` + +##### Summary + +Indicates that parsing Context has been dropped + + +### IsWhen `property` + +##### Summary + +Indicates that this instance captures the result of $when + + +### Predicate `property` + +##### Summary + +Predicate of $when expression + + +### WhenEvaluationResult `property` + +##### Summary + +Indicates the result of evaluation result of $when expression + + +### Append(capturedString) `method` + +##### Summary + +Appends `capturedString` to its result + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| capturedString | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | | + + +### Append(result) `method` + +##### Summary + +Appends another `result` instance to its result + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| result | [AdaptiveCards.Templating.AdaptiveCardsTemplateResult](#T-AdaptiveCards-Templating-AdaptiveCardsTemplateResult 'AdaptiveCards.Templating.AdaptiveCardsTemplateResult') | | + + +### ToString() `method` + +##### Summary + +returns string representation + +##### Returns + +`string` + +##### Parameters + +This method has no parameters. + + +## AdaptiveCardsTemplateSimpleObjectMemory `type` + +##### Namespace + +AdaptiveCards.Templating + +##### Summary + +Implements AEL's IMemory interface + + +### #ctor(memory) `constructor` + +##### Summary + +Simple implementation of AEL.Memory.IMemory +It serves as an entry points to additional customazation and optimazation + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| memory | [System.Object](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Object 'System.Object') | | + + +### SetValue(path,value) `method` + +##### Summary + +Set value to a given path + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| path | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | Memory path | +| value | [System.Object](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Object 'System.Object') | Value to set | + + +### TryGetValue(path,value) `method` + +##### Summary + +Try get value from a given path. +Expansion of the template is done in the context of serialized json payload, +However, the memory that bounds to the template is in deserialized form. +This is normally not an issue for types other than string +This override serializes the value if it's string + +##### Returns + +True if the memory contains an element with the specified key; otherwise, false + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| path | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | Given path | +| value | [System.Object@](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Object@ 'System.Object@') | Resolved value | + + +### Version() `method` + +##### Summary + + + +##### Returns + + + +##### Parameters + +This method has no parameters. + + +## AdaptiveCardsTemplateVisitor `type` + +##### Namespace + +AdaptiveCards.Templating + +##### Summary + +an intance of this class is used in visiting a parse tree that's been generated by antlr4 parser + + +### #ctor(nullSubstitutionOption,data,hostData) `constructor` + +##### Summary + +a constructor for AdaptiveCardsTemplateVisitor + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| nullSubstitutionOption | [System.Func{System.String,System.Object}](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Func 'System.Func{System.String,System.Object}') | it will called upon when AEL finds no suitable functions registered in given AEL expression during evaluation the expression | +| data | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | json data as string which will be set as a root data context | +| hostData | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | json data as string which will be set as the host data context | + + +### Expand(unboundString,data,isTemplatedString,options) `method` + +##### Summary + +Expands template expression using Adaptive Expression Library (AEL) + +##### Returns + +`string` + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| unboundString | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | | +| data | [AdaptiveExpressions.Memory.IMemory](#T-AdaptiveExpressions-Memory-IMemory 'AdaptiveExpressions.Memory.IMemory') | | +| isTemplatedString | [System.Boolean](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Boolean 'System.Boolean') | | +| options | [AdaptiveExpressions.Options](#T-AdaptiveExpressions-Options 'AdaptiveExpressions.Options') | | + + +### ExpandTemplatedString(node,isExpanded) `method` + +##### Summary + +Visitor method for `templatdString` label in `AdaptiveCardsTemplateParser.g4` + +##### Returns + +`AdaptiveCardsTemplateResult` + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| node | [Antlr4.Runtime.Tree.ITerminalNode](#T-Antlr4-Runtime-Tree-ITerminalNode 'Antlr4.Runtime.Tree.ITerminalNode') | | +| isExpanded | [System.Boolean](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Boolean 'System.Boolean') | | + + +### GetCurrentDataContext() `method` + +##### Summary + +returns current data context + +##### Returns + +[DataContext](#T-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-DataContext 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.DataContext') + +##### Parameters + +This method has no parameters. + + +### HasDataContext() `method` + +##### Summary + +Checks if there is a data context + +##### Returns + + + +##### Parameters + +This method has no parameters. + + +### IsTrue(predicate,data) `method` + +##### Summary + +Evaluates a predicate + +##### Returns + +`true` if predicate is evaluated to `true` + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| predicate | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | | +| data | [Newtonsoft.Json.Linq.JToken](#T-Newtonsoft-Json-Linq-JToken 'Newtonsoft.Json.Linq.JToken') | | + + +### PopDataContext() `method` + +##### Summary + +Pops a data context + +##### Parameters + +This method has no parameters. + + +### PushDataContext(stringToParse,rootDataContext) `method` + +##### Summary + +creates [JToken](#T-Newtonsoft-Json-Linq-JToken 'Newtonsoft.Json.Linq.JToken') object based on stringToParse, and pushes the object onto a stack + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| stringToParse | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | | +| rootDataContext | [Newtonsoft.Json.Linq.JToken](#T-Newtonsoft-Json-Linq-JToken 'Newtonsoft.Json.Linq.JToken') | current root data context | + + +### PushDataContext(context) `method` + +##### Summary + +push a `DataContext` onto a stack + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.DataContext](#T-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-DataContext 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.DataContext') | `context` to push | + + +### PushTemplatedDataContext(jpath) `method` + +##### Summary + +Given a `jpath`, create a new [DataContext](#T-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-DataContext 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.DataContext') based on a current [DataContext](#T-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-DataContext 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.DataContext') + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| jpath | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | a json selection path | + + +### VisitArray(context) `method` + +##### Summary + +Visit method for `array` grammar in `AdaptiveCardsTemplateParser.g4` + +##### Returns + +AdaptiveCardsTemplateResult + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ArrayContext](#T-AdaptiveCardsTemplateParser-ArrayContext 'AdaptiveCardsTemplateParser.ArrayContext') | | + + +### VisitChildren(node) `method` + +##### Summary + +Visits each children in IRuleNode + +##### Returns + + + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| node | [Antlr4.Runtime.Tree.IRuleNode](#T-Antlr4-Runtime-Tree-IRuleNode 'Antlr4.Runtime.Tree.IRuleNode') | | + + +### VisitObj(context) `method` + +##### Summary + +Visitor method for `obj` grammar rule `AdaptiveCardsTemplateParser.g4` + +##### Returns + +`AdaptiveCardsTemplateResult` + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ObjContext](#T-AdaptiveCardsTemplateParser-ObjContext 'AdaptiveCardsTemplateParser.ObjContext') | | + + +### VisitTemplateData(context) `method` + +##### Summary + +antlr runtime will call this method when parse tree's context is [TemplateDataContext](#T-AdaptiveCardsTemplateParser-TemplateDataContext 'AdaptiveCardsTemplateParser.TemplateDataContext') + +It is used in parsing a pair that has $data as key + +It creates new data context, and set it as current memory scope + +##### Returns + + + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.TemplateDataContext](#T-AdaptiveCardsTemplateParser-TemplateDataContext 'AdaptiveCardsTemplateParser.TemplateDataContext') | | + + +### VisitTemplateRootData(context) `method` + +##### Summary + +Visitor method for `templateRootData` grammar rule in `AdaptiveCardsTemplateParser.g4` + +##### Returns + +[AdaptiveCardsTemplateResult](#T-AdaptiveCards-Templating-AdaptiveCardsTemplateResult 'AdaptiveCards.Templating.AdaptiveCardsTemplateResult') + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.TemplateRootDataContext](#T-AdaptiveCardsTemplateParser-TemplateRootDataContext 'AdaptiveCardsTemplateParser.TemplateRootDataContext') | | + + +### VisitTemplateStringWithRoot(context) `method` + +##### Summary + +Visitor method for `templateRoot` grammar in `AdaptiveCardsTemplateParser.g4` + +##### Returns + +[AdaptiveCardsTemplateResult](#T-AdaptiveCards-Templating-AdaptiveCardsTemplateResult 'AdaptiveCards.Templating.AdaptiveCardsTemplateResult') + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.TemplateStringWithRootContext](#T-AdaptiveCardsTemplateParser-TemplateStringWithRootContext 'AdaptiveCardsTemplateParser.TemplateStringWithRootContext') | | + + +### VisitTemplateWhen(context) `method` + +##### Summary + +return the parsed result of $when from pair context + +##### Returns + + + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.TemplateWhenContext](#T-AdaptiveCardsTemplateParser-TemplateWhenContext 'AdaptiveCardsTemplateParser.TemplateWhenContext') | | + + +### VisitTerminal(node) `method` + +##### Summary + +Visitor method for `ITernminalNode` + +collects token as string and expand template if needed + +##### Returns + +`AdaptiveCardsTemplateResult` + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| node | [Antlr4.Runtime.Tree.ITerminalNode](#T-Antlr4-Runtime-Tree-ITerminalNode 'Antlr4.Runtime.Tree.ITerminalNode') | | + + +### VisitValueObject(context) `method` + +##### Summary + +Visitor method for `valueObject` grammar rule `AdaptiveCardsTemplateParser.g4` + +##### Returns + +`AdaptiveCardsTemplateResult` + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueObjectContext](#T-AdaptiveCardsTemplateParser-ValueObjectContext 'AdaptiveCardsTemplateParser.ValueObjectContext') | | + + +### VisitValueTemplateExpression(context) `method` + +##### Summary + +Visitor method for `valueTemplateExpresssion` grammar rule `AdaptiveCardsTemplateParser.g4` + +##### Returns + +AdaptiveCardsTemplateResult + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueTemplateExpressionContext](#T-AdaptiveCardsTemplateParser-ValueTemplateExpressionContext 'AdaptiveCardsTemplateParser.ValueTemplateExpressionContext') | | + +##### Remarks + +parsed string has a form of "$when" : ${} + + +### VisitValueTemplateString(context) `method` + +##### Summary + +Visitor method for `valueTemplateString` grammar rule `AdaptiveCardsTemplateParser.g4` + +##### Returns + +`AdaptiveCardsTemplateResult` + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueTemplateStringContext](#T-AdaptiveCardsTemplateParser-ValueTemplateStringContext 'AdaptiveCardsTemplateParser.ValueTemplateStringContext') | | + + +### getTemplateVisitorWarnings() `method` + +##### Summary + +Getter for templateVisitorWarnings + +##### Returns + +ArrayList + +##### Parameters + +This method has no parameters. + + +## AdaptiveTemplateException `type` + +##### Namespace + +AdaptiveCards.Templating + +##### Summary + +AdaptiveCardTemplate Library's Exception class + + +### #ctor() `constructor` + +##### Summary + +Default constructor + +##### Parameters + +This constructor has no parameters. + + +### #ctor(message) `constructor` + +##### Summary + +Constructor that takes single argument that is exception message + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| message | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The error message that explains the reason for the exception | + + +### #ctor(message,innerException) `constructor` + +##### Summary + +Constructor that takes message and inner exception to pass + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| message | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | The error message that explains the reason for the exception | +| innerException | [System.Exception](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Exception 'System.Exception') | The exception that is the cause of the current exception | + + +## DataContext `type` + +##### Namespace + +AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor + +##### Summary + +maintains data context + + +### #ctor(jtoken,rootDataContext,hostDataContext) `constructor` + +##### Summary + +constructs a data context of which current data is jtoken + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| jtoken | [Newtonsoft.Json.Linq.JToken](#T-Newtonsoft-Json-Linq-JToken 'Newtonsoft.Json.Linq.JToken') | new data to kept as data context | +| rootDataContext | [Newtonsoft.Json.Linq.JToken](#T-Newtonsoft-Json-Linq-JToken 'Newtonsoft.Json.Linq.JToken') | root data context | +| hostDataContext | [Newtonsoft.Json.Linq.JToken](#T-Newtonsoft-Json-Linq-JToken 'Newtonsoft.Json.Linq.JToken') | optional host data context | + + +### #ctor(text,rootDataContext,hostDataContext) `constructor` + +##### Summary + +overload contructor that takes `text` which is `string` + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| text | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | json in string | +| rootDataContext | [Newtonsoft.Json.Linq.JToken](#T-Newtonsoft-Json-Linq-JToken 'Newtonsoft.Json.Linq.JToken') | a root data context | +| hostDataContext | [Newtonsoft.Json.Linq.JToken](#T-Newtonsoft-Json-Linq-JToken 'Newtonsoft.Json.Linq.JToken') | optional host data context | + +##### Exceptions + +| Name | Description | +| ---- | ----------- | +| [Newtonsoft.Json.JsonException](#T-Newtonsoft-Json-JsonException 'Newtonsoft.Json.JsonException') | `JToken.Parse(text)` can throw JsonException if `text` is invalid json | + + +### GetDataContextAtIndex(index) `method` + +##### Summary + +retrieve a [JObject](#T-Newtonsoft-Json-Linq-JObject 'Newtonsoft.Json.Linq.JObject') from this DataContext instance if [JToken](#T-Newtonsoft-Json-Linq-JToken 'Newtonsoft.Json.Linq.JToken') is a [JArray](#T-Newtonsoft-Json-Linq-JArray 'Newtonsoft.Json.Linq.JArray') at `index` + +##### Returns + +[JObject](#T-Newtonsoft-Json-Linq-JObject 'Newtonsoft.Json.Linq.JObject') at`index` of a [JArray](#T-Newtonsoft-Json-Linq-JArray 'Newtonsoft.Json.Linq.JArray') + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| index | [System.Int32](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Int32 'System.Int32') | | + + +### Init(jtoken,rootDataContext,hostDataContext) `method` + +##### Summary + +Initializer method that takes jtoken and root data context to initialize a data context object + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| jtoken | [Newtonsoft.Json.Linq.JToken](#T-Newtonsoft-Json-Linq-JToken 'Newtonsoft.Json.Linq.JToken') | current data context | +| rootDataContext | [Newtonsoft.Json.Linq.JToken](#T-Newtonsoft-Json-Linq-JToken 'Newtonsoft.Json.Linq.JToken') | root data context | +| hostDataContext | [Newtonsoft.Json.Linq.JToken](#T-Newtonsoft-Json-Linq-JToken 'Newtonsoft.Json.Linq.JToken') | optional host data context | + + +## EvaluationContext `type` + +##### Namespace + +AdaptiveCards.Templating + +##### Summary + +Provides Data Context to AdaptiveCardsTemplate Parser + + +### #ctor() `constructor` + +##### Summary + +default consturctor + +##### Parameters + +This constructor has no parameters. + + +### #ctor(rootData,hostData) `constructor` + +##### Summary + +constructor for `EvaluationContext` that takes one required argument used for root data context and one optional argument supplying host data + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| rootData | [System.Object](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Object 'System.Object') | Data to use while binding | +| hostData | [System.Object](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Object 'System.Object') | Data supplied by the host for use while binding | + + +### Host `property` + +##### Summary + +Provides Host Data Context + +##### Example + +``` + + string jsonData = @"{ + ""person"": { + ""firstName"": ""Hello"", + ""lastName"": ""World"" + } + }"; + string hostData = @"{ + ""applicationName"": ""Contoso AdaptiveCards Host", + ""platform"": ""mobile"" + }"; + var context = new EvaluationContext() + { + Root = jsonData, + Host = hostData + }; + +``` + +##### Remarks + +Typically this is supplied by the host application providing additional context for template binding. For example, the host might supply language or theming information that the template can use for layout. + + +### Root `property` + +##### Summary + +Provides Root Data Context + +##### Example + +``` + + string jsonData = @"{ + ""person"": { + ""firstName"": ""Hello"", + ""lastName"": ""World"" + } + }"; + var context = new EvaluationContext() + { + Root = jsonData + }; + +``` + + +## EvaluationResult `type` + +##### Namespace + +AdaptiveCards.Templating.AdaptiveCardsTemplateResult + +##### Summary + +Indicates evaluation result of $when expression + + +### EvaluatedToFalse `constants` + +##### Summary + +Expression evaluated false + + +### EvaluatedToTrue `constants` + +##### Summary + +Expression evaluated true + + +### NotEvaluated `constants` + +##### Summary + +Expression has not been evaluated + + +## IAdaptiveCardsTemplateParserVisitor\`1 `type` + +##### Namespace + + + +##### Summary + +This interface defines a complete generic visitor for a parse tree produced +by [AdaptiveCardsTemplateParser](#T-AdaptiveCardsTemplateParser 'AdaptiveCardsTemplateParser'). + +##### Generic Types + +| Name | Description | +| ---- | ----------- | +| Result | The return type of the visit operation. | + + +### VisitArray(context) `method` + +##### Summary + +Visit a parse tree produced by [array](#M-AdaptiveCardsTemplateParser-array 'AdaptiveCardsTemplateParser.array'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ArrayContext](#T-AdaptiveCardsTemplateParser-ArrayContext 'AdaptiveCardsTemplateParser.ArrayContext') | The parse tree. | + + +### VisitJson(context) `method` + +##### Summary + +Visit a parse tree produced by [json](#M-AdaptiveCardsTemplateParser-json 'AdaptiveCardsTemplateParser.json'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.JsonContext](#T-AdaptiveCardsTemplateParser-JsonContext 'AdaptiveCardsTemplateParser.JsonContext') | The parse tree. | + + +### VisitJsonPair(context) `method` + +##### Summary + +Visit a parse tree produced by the `jsonPair` +labeled alternative in [pair](#M-AdaptiveCardsTemplateParser-pair 'AdaptiveCardsTemplateParser.pair'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.JsonPairContext](#T-AdaptiveCardsTemplateParser-JsonPairContext 'AdaptiveCardsTemplateParser.JsonPairContext') | The parse tree. | + + +### VisitObj(context) `method` + +##### Summary + +Visit a parse tree produced by [obj](#M-AdaptiveCardsTemplateParser-obj 'AdaptiveCardsTemplateParser.obj'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ObjContext](#T-AdaptiveCardsTemplateParser-ObjContext 'AdaptiveCardsTemplateParser.ObjContext') | The parse tree. | + + +### VisitTemplateData(context) `method` + +##### Summary + +Visit a parse tree produced by the `templateData` +labeled alternative in [pair](#M-AdaptiveCardsTemplateParser-pair 'AdaptiveCardsTemplateParser.pair'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.TemplateDataContext](#T-AdaptiveCardsTemplateParser-TemplateDataContext 'AdaptiveCardsTemplateParser.TemplateDataContext') | The parse tree. | + + +### VisitTemplateRootData(context) `method` + +##### Summary + +Visit a parse tree produced by the `templateRootData` +labeled alternative in [pair](#M-AdaptiveCardsTemplateParser-pair 'AdaptiveCardsTemplateParser.pair'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.TemplateRootDataContext](#T-AdaptiveCardsTemplateParser-TemplateRootDataContext 'AdaptiveCardsTemplateParser.TemplateRootDataContext') | The parse tree. | + + +### VisitTemplateStringWithRoot(context) `method` + +##### Summary + +Visit a parse tree produced by the `templateStringWithRoot` +labeled alternative in [templateRoot](#M-AdaptiveCardsTemplateParser-templateRoot 'AdaptiveCardsTemplateParser.templateRoot'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.TemplateStringWithRootContext](#T-AdaptiveCardsTemplateParser-TemplateStringWithRootContext 'AdaptiveCardsTemplateParser.TemplateStringWithRootContext') | The parse tree. | + + +### VisitTemplateWhen(context) `method` + +##### Summary + +Visit a parse tree produced by the `templateWhen` +labeled alternative in [pair](#M-AdaptiveCardsTemplateParser-pair 'AdaptiveCardsTemplateParser.pair'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.TemplateWhenContext](#T-AdaptiveCardsTemplateParser-TemplateWhenContext 'AdaptiveCardsTemplateParser.TemplateWhenContext') | The parse tree. | + + +### VisitTemplatedString(context) `method` + +##### Summary + +Visit a parse tree produced by the `templatedString` +labeled alternative in [templateString](#M-AdaptiveCardsTemplateParser-templateString 'AdaptiveCardsTemplateParser.templateString'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.TemplatedStringContext](#T-AdaptiveCardsTemplateParser-TemplatedStringContext 'AdaptiveCardsTemplateParser.TemplatedStringContext') | The parse tree. | + + +### VisitValueArray(context) `method` + +##### Summary + +Visit a parse tree produced by the `valueArray` +labeled alternative in [value](#M-AdaptiveCardsTemplateParser-value 'AdaptiveCardsTemplateParser.value'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueArrayContext](#T-AdaptiveCardsTemplateParser-ValueArrayContext 'AdaptiveCardsTemplateParser.ValueArrayContext') | The parse tree. | + + +### VisitValueFalse(context) `method` + +##### Summary + +Visit a parse tree produced by the `valueFalse` +labeled alternative in [value](#M-AdaptiveCardsTemplateParser-value 'AdaptiveCardsTemplateParser.value'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueFalseContext](#T-AdaptiveCardsTemplateParser-ValueFalseContext 'AdaptiveCardsTemplateParser.ValueFalseContext') | The parse tree. | + + +### VisitValueNull(context) `method` + +##### Summary + +Visit a parse tree produced by the `valueNull` +labeled alternative in [value](#M-AdaptiveCardsTemplateParser-value 'AdaptiveCardsTemplateParser.value'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueNullContext](#T-AdaptiveCardsTemplateParser-ValueNullContext 'AdaptiveCardsTemplateParser.ValueNullContext') | The parse tree. | + + +### VisitValueNumber(context) `method` + +##### Summary + +Visit a parse tree produced by the `valueNumber` +labeled alternative in [value](#M-AdaptiveCardsTemplateParser-value 'AdaptiveCardsTemplateParser.value'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueNumberContext](#T-AdaptiveCardsTemplateParser-ValueNumberContext 'AdaptiveCardsTemplateParser.ValueNumberContext') | The parse tree. | + + +### VisitValueObject(context) `method` + +##### Summary + +Visit a parse tree produced by the `valueObject` +labeled alternative in [value](#M-AdaptiveCardsTemplateParser-value 'AdaptiveCardsTemplateParser.value'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueObjectContext](#T-AdaptiveCardsTemplateParser-ValueObjectContext 'AdaptiveCardsTemplateParser.ValueObjectContext') | The parse tree. | + + +### VisitValueString(context) `method` + +##### Summary + +Visit a parse tree produced by the `valueString` +labeled alternative in [value](#M-AdaptiveCardsTemplateParser-value 'AdaptiveCardsTemplateParser.value'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueStringContext](#T-AdaptiveCardsTemplateParser-ValueStringContext 'AdaptiveCardsTemplateParser.ValueStringContext') | The parse tree. | + + +### VisitValueTemplateExpression(context) `method` + +##### Summary + +Visit a parse tree produced by the `valueTemplateExpression` +labeled alternative in [templateExpression](#M-AdaptiveCardsTemplateParser-templateExpression 'AdaptiveCardsTemplateParser.templateExpression'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueTemplateExpressionContext](#T-AdaptiveCardsTemplateParser-ValueTemplateExpressionContext 'AdaptiveCardsTemplateParser.ValueTemplateExpressionContext') | The parse tree. | + + +### VisitValueTemplateString(context) `method` + +##### Summary + +Visit a parse tree produced by the `valueTemplateString` +labeled alternative in [value](#M-AdaptiveCardsTemplateParser-value 'AdaptiveCardsTemplateParser.value'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueTemplateStringContext](#T-AdaptiveCardsTemplateParser-ValueTemplateStringContext 'AdaptiveCardsTemplateParser.ValueTemplateStringContext') | The parse tree. | + + +### VisitValueTemplateStringWithRoot(context) `method` + +##### Summary + +Visit a parse tree produced by the `valueTemplateStringWithRoot` +labeled alternative in [value](#M-AdaptiveCardsTemplateParser-value 'AdaptiveCardsTemplateParser.value'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueTemplateStringWithRootContext](#T-AdaptiveCardsTemplateParser-ValueTemplateStringWithRootContext 'AdaptiveCardsTemplateParser.ValueTemplateStringWithRootContext') | The parse tree. | + + +### VisitValueTrue(context) `method` + +##### Summary + +Visit a parse tree produced by the `valueTrue` +labeled alternative in [value](#M-AdaptiveCardsTemplateParser-value 'AdaptiveCardsTemplateParser.value'). + +##### Parameters + +| Name | Type | Description | +| ---- | ---- | ----------- | +| context | [AdaptiveCardsTemplateParser.ValueTrueContext](#T-AdaptiveCardsTemplateParser-ValueTrueContext 'AdaptiveCardsTemplateParser.ValueTrueContext') | The parse tree. | diff --git a/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardTemplate.cs b/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardTemplate.cs index b8cb6a8c45..777d610534 100644 --- a/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardTemplate.cs +++ b/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardTemplate.cs @@ -96,21 +96,33 @@ public string Expand(EvaluationContext context, Func nullSubstit return jsonTemplateString; } - string jsonData = ""; + string rootJsonData = ""; + if (context?.Root != null) + { + if (context.Root is string root) + { + rootJsonData = root; + } + else + { + rootJsonData = JsonConvert.SerializeObject(context.Root); + } + } - if (context != null && context.Root != null) + string hostJsonData = ""; + if (context?.Host != null) { - if (context.Root is string) + if (context.Host is string host) { - jsonData = context.Root as string; + hostJsonData = host; } else { - jsonData = JsonConvert.SerializeObject(context.Root); + hostJsonData = JsonConvert.SerializeObject(context.Host); } } - AdaptiveCardsTemplateVisitor eval = new AdaptiveCardsTemplateVisitor(nullSubstitutionOption, jsonData); + AdaptiveCardsTemplateVisitor eval = new AdaptiveCardsTemplateVisitor(nullSubstitutionOption, rootJsonData, hostJsonData); AdaptiveCardsTemplateResult result = eval.Visit(parseTree); templateExpansionWarnings = eval.getTemplateVisitorWarnings(); diff --git a/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCards.Templating.csproj b/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCards.Templating.csproj index ba9da1970d..e1a2cc3f4f 100644 --- a/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCards.Templating.csproj +++ b/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCards.Templating.csproj @@ -1,7 +1,7 @@ - netstandard2.0 + netstandard2.0 1.0.0 $(VersionSuffix) Microsoft @@ -11,7 +11,7 @@ © Microsoft Corporation. All rights reserved. https://github.com/Microsoft/AdaptiveCards https://adaptivecards.io/content/icons_blue/blue-48.png - EULA-Windows.txt + MIT https://github.com/microsoft/AdaptiveCards/issues/2448 true $(DefineConstants);$(AdditionalConstants) @@ -25,7 +25,6 @@ - @@ -44,8 +43,8 @@ - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive @@ -54,7 +53,7 @@ all runtime; build; native; contentfiles; analyzers; buildtransitive - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateLexer.cs b/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateLexer.cs index 8fbf8ae216..8bd3131383 100644 --- a/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateLexer.cs +++ b/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateLexer.cs @@ -1,14 +1,14 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// ANTLR Version: 4.8 +// ANTLR Version: 4.11.1 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ -// Generated from AdaptiveCardsTemplateLexer.g4 by ANTLR 4.8 +// Generated from AdaptiveCardsTemplateLexer.g4 by ANTLR 4.11.1 // Unreachable code detected #pragma warning disable 0162 @@ -27,250 +27,149 @@ using Antlr4.Runtime.Misc; using DFA = Antlr4.Runtime.Dfa.DFA; -[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.8")] +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.11.1")] [System.CLSCompliant(false)] public partial class AdaptiveCardsTemplateLexer : Lexer { - protected static DFA[] decisionToDFA; - protected static PredictionContextCache sharedContextCache = new PredictionContextCache(); - public const int - COMMA=1, COLON=2, LCB=3, RCB=4, LSB=5, RSB=6, TRUE=7, FALSE=8, NULL=9, - StringDeclOpen=10, NUMBER=11, WS=12, CLOSE=13, TEMPLATEDATA=14, TEMPLATEWHEN=15, - JPATH=16, TEMPLATELITERAL=17, TEMPLATEROOT=18, STRING=19; - public const int - INSIDE=1; - public static string[] channelNames = { - "DEFAULT_TOKEN_CHANNEL", "HIDDEN" - }; + protected static DFA[] decisionToDFA; + protected static PredictionContextCache sharedContextCache = new PredictionContextCache(); + public const int + COMMA=1, COLON=2, LCB=3, RCB=4, LSB=5, RSB=6, TRUE=7, FALSE=8, NULL=9, + StringDeclOpen=10, NUMBER=11, WS=12, CLOSE=13, TEMPLATEDATA=14, TEMPLATEWHEN=15, + JPATH=16, TEMPLATELITERAL=17, TEMPLATEROOT=18, STRING=19; + public const int + INSIDE=1; + public static string[] channelNames = { + "DEFAULT_TOKEN_CHANNEL", "HIDDEN" + }; + + public static string[] modeNames = { + "DEFAULT_MODE", "INSIDE" + }; + + public static readonly string[] ruleNames = { + "COMMA", "COLON", "LCB", "RCB", "LSB", "RSB", "TRUE", "FALSE", "NULL", + "StringDeclOpen", "NUMBER", "INT", "EXP", "WS", "CLOSE", "TEMPLATEDATA", + "TEMPLATEWHEN", "JPATH", "TEMPLATELITERAL", "TEMPLATEROOT", "STRING", + "ESC", "UNICODE", "HEX", "SAFECODEPOINT" + }; + + + public AdaptiveCardsTemplateLexer(ICharStream input) + : this(input, Console.Out, Console.Error) { } + + public AdaptiveCardsTemplateLexer(ICharStream input, TextWriter output, TextWriter errorOutput) + : base(input, output, errorOutput) + { + Interpreter = new LexerATNSimulator(this, _ATN, decisionToDFA, sharedContextCache); + } + + private static readonly string[] _LiteralNames = { + null, "','", "':'", "'{'", "'}'", "'['", "']'", "'true'", "'false'", "'null'", + null, null, null, null, "'$data'", "'$when'" + }; + private static readonly string[] _SymbolicNames = { + null, "COMMA", "COLON", "LCB", "RCB", "LSB", "RSB", "TRUE", "FALSE", "NULL", + "StringDeclOpen", "NUMBER", "WS", "CLOSE", "TEMPLATEDATA", "TEMPLATEWHEN", + "JPATH", "TEMPLATELITERAL", "TEMPLATEROOT", "STRING" + }; + public static readonly IVocabulary DefaultVocabulary = new Vocabulary(_LiteralNames, _SymbolicNames); + + [NotNull] + public override IVocabulary Vocabulary + { + get + { + return DefaultVocabulary; + } + } + + public override string GrammarFileName { get { return "AdaptiveCardsTemplateLexer.g4"; } } + + public override string[] RuleNames { get { return ruleNames; } } + + public override string[] ChannelNames { get { return channelNames; } } + + public override string[] ModeNames { get { return modeNames; } } + + public override int[] SerializedAtn { get { return _serializedATN; } } + + static AdaptiveCardsTemplateLexer() { + decisionToDFA = new DFA[_ATN.NumberOfDecisions]; + for (int i = 0; i < _ATN.NumberOfDecisions; i++) { + decisionToDFA[i] = new DFA(_ATN.GetDecisionState(i), i); + } + } + private static int[] _serializedATN = { + 4,0,19,196,6,-1,6,-1,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2, + 6,7,6,2,7,7,7,2,8,7,8,2,9,7,9,2,10,7,10,2,11,7,11,2,12,7,12,2,13,7,13, + 2,14,7,14,2,15,7,15,2,16,7,16,2,17,7,17,2,18,7,18,2,19,7,19,2,20,7,20, + 2,21,7,21,2,22,7,22,2,23,7,23,2,24,7,24,1,0,1,0,1,1,1,1,1,2,1,2,1,3,1, + 3,1,4,1,4,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,8,1,8, + 1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,10,3,10,86,8,10,1,10,1,10,1,10,4,10,91,8, + 10,11,10,12,10,92,3,10,95,8,10,1,10,3,10,98,8,10,1,11,1,11,1,11,5,11,103, + 8,11,10,11,12,11,106,9,11,3,11,108,8,11,1,12,1,12,3,12,112,8,12,1,12,1, + 12,1,13,4,13,117,8,13,11,13,12,13,118,1,13,1,13,1,14,1,14,1,14,1,14,1, + 15,1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,16,1,17,1,17,1, + 17,1,17,1,17,1,17,4,17,145,8,17,11,17,12,17,146,1,17,1,17,1,18,1,18,1, + 18,1,18,1,18,5,18,156,8,18,10,18,12,18,159,9,18,1,18,1,18,1,19,1,19,1, + 19,1,19,1,19,1,19,1,19,1,19,1,19,1,19,1,20,1,20,4,20,175,8,20,11,20,12, + 20,176,1,20,3,20,180,8,20,1,21,1,21,1,21,3,21,185,8,21,1,22,1,22,1,22, + 1,22,1,22,1,22,1,23,1,23,1,24,1,24,1,157,0,25,2,1,4,2,6,3,8,4,10,5,12, + 6,14,7,16,8,18,9,20,10,22,11,24,0,26,0,28,12,30,13,32,14,34,15,36,16,38, + 17,40,18,42,19,44,0,46,0,48,0,50,0,2,0,1,9,1,0,48,57,1,0,49,57,2,0,69, + 69,101,101,2,0,43,43,45,45,3,0,9,10,13,13,32,32,1,0,34,34,8,0,34,34,47, + 47,92,92,98,98,102,102,110,110,114,114,116,116,3,0,48,57,65,70,97,102, + 4,0,0,31,34,34,36,36,92,92,204,0,2,1,0,0,0,0,4,1,0,0,0,0,6,1,0,0,0,0,8, + 1,0,0,0,0,10,1,0,0,0,0,12,1,0,0,0,0,14,1,0,0,0,0,16,1,0,0,0,0,18,1,0,0, + 0,0,20,1,0,0,0,0,22,1,0,0,0,0,28,1,0,0,0,1,30,1,0,0,0,1,32,1,0,0,0,1,34, + 1,0,0,0,1,36,1,0,0,0,1,38,1,0,0,0,1,40,1,0,0,0,1,42,1,0,0,0,2,52,1,0,0, + 0,4,54,1,0,0,0,6,56,1,0,0,0,8,58,1,0,0,0,10,60,1,0,0,0,12,62,1,0,0,0,14, + 64,1,0,0,0,16,69,1,0,0,0,18,75,1,0,0,0,20,80,1,0,0,0,22,85,1,0,0,0,24, + 107,1,0,0,0,26,109,1,0,0,0,28,116,1,0,0,0,30,122,1,0,0,0,32,126,1,0,0, + 0,34,132,1,0,0,0,36,144,1,0,0,0,38,150,1,0,0,0,40,162,1,0,0,0,42,179,1, + 0,0,0,44,181,1,0,0,0,46,186,1,0,0,0,48,192,1,0,0,0,50,194,1,0,0,0,52,53, + 5,44,0,0,53,3,1,0,0,0,54,55,5,58,0,0,55,5,1,0,0,0,56,57,5,123,0,0,57,7, + 1,0,0,0,58,59,5,125,0,0,59,9,1,0,0,0,60,61,5,91,0,0,61,11,1,0,0,0,62,63, + 5,93,0,0,63,13,1,0,0,0,64,65,5,116,0,0,65,66,5,114,0,0,66,67,5,117,0,0, + 67,68,5,101,0,0,68,15,1,0,0,0,69,70,5,102,0,0,70,71,5,97,0,0,71,72,5,108, + 0,0,72,73,5,115,0,0,73,74,5,101,0,0,74,17,1,0,0,0,75,76,5,110,0,0,76,77, + 5,117,0,0,77,78,5,108,0,0,78,79,5,108,0,0,79,19,1,0,0,0,80,81,5,34,0,0, + 81,82,1,0,0,0,82,83,6,9,0,0,83,21,1,0,0,0,84,86,5,45,0,0,85,84,1,0,0,0, + 85,86,1,0,0,0,86,87,1,0,0,0,87,94,3,24,11,0,88,90,5,46,0,0,89,91,7,0,0, + 0,90,89,1,0,0,0,91,92,1,0,0,0,92,90,1,0,0,0,92,93,1,0,0,0,93,95,1,0,0, + 0,94,88,1,0,0,0,94,95,1,0,0,0,95,97,1,0,0,0,96,98,3,26,12,0,97,96,1,0, + 0,0,97,98,1,0,0,0,98,23,1,0,0,0,99,108,5,48,0,0,100,104,7,1,0,0,101,103, + 7,0,0,0,102,101,1,0,0,0,103,106,1,0,0,0,104,102,1,0,0,0,104,105,1,0,0, + 0,105,108,1,0,0,0,106,104,1,0,0,0,107,99,1,0,0,0,107,100,1,0,0,0,108,25, + 1,0,0,0,109,111,7,2,0,0,110,112,7,3,0,0,111,110,1,0,0,0,111,112,1,0,0, + 0,112,113,1,0,0,0,113,114,3,24,11,0,114,27,1,0,0,0,115,117,7,4,0,0,116, + 115,1,0,0,0,117,118,1,0,0,0,118,116,1,0,0,0,118,119,1,0,0,0,119,120,1, + 0,0,0,120,121,6,13,1,0,121,29,1,0,0,0,122,123,5,34,0,0,123,124,1,0,0,0, + 124,125,6,14,2,0,125,31,1,0,0,0,126,127,5,36,0,0,127,128,5,100,0,0,128, + 129,5,97,0,0,129,130,5,116,0,0,130,131,5,97,0,0,131,33,1,0,0,0,132,133, + 5,36,0,0,133,134,5,119,0,0,134,135,5,104,0,0,135,136,5,101,0,0,136,137, + 5,110,0,0,137,35,1,0,0,0,138,139,5,46,0,0,139,145,3,42,20,0,140,141,5, + 91,0,0,141,142,3,24,11,0,142,143,5,93,0,0,143,145,1,0,0,0,144,138,1,0, + 0,0,144,140,1,0,0,0,145,146,1,0,0,0,146,144,1,0,0,0,146,147,1,0,0,0,147, + 148,1,0,0,0,148,149,5,125,0,0,149,37,1,0,0,0,150,151,5,36,0,0,151,152, + 5,123,0,0,152,157,1,0,0,0,153,156,8,5,0,0,154,156,3,44,21,0,155,153,1, + 0,0,0,155,154,1,0,0,0,156,159,1,0,0,0,157,158,1,0,0,0,157,155,1,0,0,0, + 158,160,1,0,0,0,159,157,1,0,0,0,160,161,5,125,0,0,161,39,1,0,0,0,162,163, + 5,36,0,0,163,164,5,123,0,0,164,165,5,36,0,0,165,166,5,114,0,0,166,167, + 5,111,0,0,167,168,5,111,0,0,168,169,5,116,0,0,169,170,1,0,0,0,170,171, + 3,36,17,0,171,41,1,0,0,0,172,175,3,44,21,0,173,175,3,50,24,0,174,172,1, + 0,0,0,174,173,1,0,0,0,175,176,1,0,0,0,176,174,1,0,0,0,176,177,1,0,0,0, + 177,180,1,0,0,0,178,180,5,36,0,0,179,174,1,0,0,0,179,178,1,0,0,0,180,43, + 1,0,0,0,181,184,5,92,0,0,182,185,7,6,0,0,183,185,3,46,22,0,184,182,1,0, + 0,0,184,183,1,0,0,0,185,45,1,0,0,0,186,187,5,117,0,0,187,188,3,48,23,0, + 188,189,3,48,23,0,189,190,3,48,23,0,190,191,3,48,23,0,191,47,1,0,0,0,192, + 193,7,7,0,0,193,49,1,0,0,0,194,195,8,8,0,0,195,51,1,0,0,0,18,0,1,85,92, + 94,97,104,107,111,118,144,146,155,157,174,176,179,184,3,5,1,0,6,0,0,4, + 0,0 + }; + + public static readonly ATN _ATN = + new ATNDeserializer().Deserialize(_serializedATN); - public static string[] modeNames = { - "DEFAULT_MODE", "INSIDE" - }; - public static readonly string[] ruleNames = { - "COMMA", "COLON", "LCB", "RCB", "LSB", "RSB", "TRUE", "FALSE", "NULL", - "StringDeclOpen", "NUMBER", "INT", "EXP", "WS", "CLOSE", "TEMPLATEDATA", - "TEMPLATEWHEN", "JPATH", "TEMPLATELITERAL", "TEMPLATEROOT", "STRING", - "ESC", "UNICODE", "HEX", "SAFECODEPOINT" - }; - - - public AdaptiveCardsTemplateLexer(ICharStream input) - : this(input, Console.Out, Console.Error) { } - - public AdaptiveCardsTemplateLexer(ICharStream input, TextWriter output, TextWriter errorOutput) - : base(input, output, errorOutput) - { - Interpreter = new LexerATNSimulator(this, _ATN, decisionToDFA, sharedContextCache); - } - - private static readonly string[] _LiteralNames = { - null, "','", "':'", "'{'", "'}'", "'['", "']'", "'true'", "'false'", "'null'", - null, null, null, null, "'$data'", "'$when'" - }; - private static readonly string[] _SymbolicNames = { - null, "COMMA", "COLON", "LCB", "RCB", "LSB", "RSB", "TRUE", "FALSE", "NULL", - "StringDeclOpen", "NUMBER", "WS", "CLOSE", "TEMPLATEDATA", "TEMPLATEWHEN", - "JPATH", "TEMPLATELITERAL", "TEMPLATEROOT", "STRING" - }; - public static readonly IVocabulary DefaultVocabulary = new Vocabulary(_LiteralNames, _SymbolicNames); - - [NotNull] - public override IVocabulary Vocabulary - { - get - { - return DefaultVocabulary; - } - } - - public override string GrammarFileName { get { return "AdaptiveCardsTemplateLexer.g4"; } } - - public override string[] RuleNames { get { return ruleNames; } } - - public override string[] ChannelNames { get { return channelNames; } } - - public override string[] ModeNames { get { return modeNames; } } - - public override string SerializedAtn { get { return new string(_serializedATN); } } - - static AdaptiveCardsTemplateLexer() { - decisionToDFA = new DFA[_ATN.NumberOfDecisions]; - for (int i = 0; i < _ATN.NumberOfDecisions; i++) { - decisionToDFA[i] = new DFA(_ATN.GetDecisionState(i), i); - } - } - private static char[] _serializedATN = { - '\x3', '\x608B', '\xA72A', '\x8133', '\xB9ED', '\x417C', '\x3BE7', '\x7786', - '\x5964', '\x2', '\x15', '\xC6', '\b', '\x1', '\b', '\x1', '\x4', '\x2', - '\t', '\x2', '\x4', '\x3', '\t', '\x3', '\x4', '\x4', '\t', '\x4', '\x4', - '\x5', '\t', '\x5', '\x4', '\x6', '\t', '\x6', '\x4', '\a', '\t', '\a', - '\x4', '\b', '\t', '\b', '\x4', '\t', '\t', '\t', '\x4', '\n', '\t', '\n', - '\x4', '\v', '\t', '\v', '\x4', '\f', '\t', '\f', '\x4', '\r', '\t', '\r', - '\x4', '\xE', '\t', '\xE', '\x4', '\xF', '\t', '\xF', '\x4', '\x10', '\t', - '\x10', '\x4', '\x11', '\t', '\x11', '\x4', '\x12', '\t', '\x12', '\x4', - '\x13', '\t', '\x13', '\x4', '\x14', '\t', '\x14', '\x4', '\x15', '\t', - '\x15', '\x4', '\x16', '\t', '\x16', '\x4', '\x17', '\t', '\x17', '\x4', - '\x18', '\t', '\x18', '\x4', '\x19', '\t', '\x19', '\x4', '\x1A', '\t', - '\x1A', '\x3', '\x2', '\x3', '\x2', '\x3', '\x3', '\x3', '\x3', '\x3', - '\x4', '\x3', '\x4', '\x3', '\x5', '\x3', '\x5', '\x3', '\x6', '\x3', - '\x6', '\x3', '\a', '\x3', '\a', '\x3', '\b', '\x3', '\b', '\x3', '\b', - '\x3', '\b', '\x3', '\b', '\x3', '\t', '\x3', '\t', '\x3', '\t', '\x3', - '\t', '\x3', '\t', '\x3', '\t', '\x3', '\n', '\x3', '\n', '\x3', '\n', - '\x3', '\n', '\x3', '\n', '\x3', '\v', '\x3', '\v', '\x3', '\v', '\x3', - '\v', '\x3', '\f', '\x5', '\f', 'X', '\n', '\f', '\x3', '\f', '\x3', '\f', - '\x3', '\f', '\x6', '\f', ']', '\n', '\f', '\r', '\f', '\xE', '\f', '^', - '\x5', '\f', '\x61', '\n', '\f', '\x3', '\f', '\x5', '\f', '\x64', '\n', - '\f', '\x3', '\r', '\x3', '\r', '\x3', '\r', '\a', '\r', 'i', '\n', '\r', - '\f', '\r', '\xE', '\r', 'l', '\v', '\r', '\x5', '\r', 'n', '\n', '\r', - '\x3', '\xE', '\x3', '\xE', '\x5', '\xE', 'r', '\n', '\xE', '\x3', '\xE', - '\x3', '\xE', '\x3', '\xF', '\x6', '\xF', 'w', '\n', '\xF', '\r', '\xF', - '\xE', '\xF', 'x', '\x3', '\xF', '\x3', '\xF', '\x3', '\x10', '\x3', '\x10', - '\x3', '\x10', '\x3', '\x10', '\x3', '\x11', '\x3', '\x11', '\x3', '\x11', - '\x3', '\x11', '\x3', '\x11', '\x3', '\x11', '\x3', '\x12', '\x3', '\x12', - '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x12', '\x3', '\x13', - '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', '\x3', '\x13', - '\x6', '\x13', '\x93', '\n', '\x13', '\r', '\x13', '\xE', '\x13', '\x94', - '\x3', '\x13', '\x3', '\x13', '\x3', '\x14', '\x3', '\x14', '\x3', '\x14', - '\x3', '\x14', '\x3', '\x14', '\a', '\x14', '\x9E', '\n', '\x14', '\f', - '\x14', '\xE', '\x14', '\xA1', '\v', '\x14', '\x3', '\x14', '\x3', '\x14', - '\x3', '\x15', '\x3', '\x15', '\x3', '\x15', '\x3', '\x15', '\x3', '\x15', - '\x3', '\x15', '\x3', '\x15', '\x3', '\x15', '\x3', '\x15', '\x3', '\x15', - '\x3', '\x16', '\x3', '\x16', '\x6', '\x16', '\xB1', '\n', '\x16', '\r', - '\x16', '\xE', '\x16', '\xB2', '\x3', '\x16', '\x5', '\x16', '\xB6', '\n', - '\x16', '\x3', '\x17', '\x3', '\x17', '\x3', '\x17', '\x5', '\x17', '\xBB', - '\n', '\x17', '\x3', '\x18', '\x3', '\x18', '\x3', '\x18', '\x3', '\x18', - '\x3', '\x18', '\x3', '\x18', '\x3', '\x19', '\x3', '\x19', '\x3', '\x1A', - '\x3', '\x1A', '\x3', '\x9F', '\x2', '\x1B', '\x4', '\x3', '\x6', '\x4', - '\b', '\x5', '\n', '\x6', '\f', '\a', '\xE', '\b', '\x10', '\t', '\x12', - '\n', '\x14', '\v', '\x16', '\f', '\x18', '\r', '\x1A', '\x2', '\x1C', - '\x2', '\x1E', '\xE', ' ', '\xF', '\"', '\x10', '$', '\x11', '&', '\x12', - '(', '\x13', '*', '\x14', ',', '\x15', '.', '\x2', '\x30', '\x2', '\x32', - '\x2', '\x34', '\x2', '\x4', '\x2', '\x3', '\v', '\x3', '\x2', '\x32', - ';', '\x3', '\x2', '\x33', ';', '\x4', '\x2', 'G', 'G', 'g', 'g', '\x4', - '\x2', '-', '-', '/', '/', '\x5', '\x2', '\v', '\f', '\xF', '\xF', '\"', - '\"', '\x3', '\x2', '$', '$', '\n', '\x2', '$', '$', '\x31', '\x31', '^', - '^', '\x64', '\x64', 'h', 'h', 'p', 'p', 't', 't', 'v', 'v', '\x5', '\x2', - '\x32', ';', '\x43', 'H', '\x63', 'h', '\x6', '\x2', '\x2', '!', '$', - '$', '&', '&', '^', '^', '\x2', '\xCE', '\x2', '\x4', '\x3', '\x2', '\x2', - '\x2', '\x2', '\x6', '\x3', '\x2', '\x2', '\x2', '\x2', '\b', '\x3', '\x2', - '\x2', '\x2', '\x2', '\n', '\x3', '\x2', '\x2', '\x2', '\x2', '\f', '\x3', - '\x2', '\x2', '\x2', '\x2', '\xE', '\x3', '\x2', '\x2', '\x2', '\x2', - '\x10', '\x3', '\x2', '\x2', '\x2', '\x2', '\x12', '\x3', '\x2', '\x2', - '\x2', '\x2', '\x14', '\x3', '\x2', '\x2', '\x2', '\x2', '\x16', '\x3', - '\x2', '\x2', '\x2', '\x2', '\x18', '\x3', '\x2', '\x2', '\x2', '\x2', - '\x1E', '\x3', '\x2', '\x2', '\x2', '\x3', ' ', '\x3', '\x2', '\x2', '\x2', - '\x3', '\"', '\x3', '\x2', '\x2', '\x2', '\x3', '$', '\x3', '\x2', '\x2', - '\x2', '\x3', '&', '\x3', '\x2', '\x2', '\x2', '\x3', '(', '\x3', '\x2', - '\x2', '\x2', '\x3', '*', '\x3', '\x2', '\x2', '\x2', '\x3', ',', '\x3', - '\x2', '\x2', '\x2', '\x4', '\x36', '\x3', '\x2', '\x2', '\x2', '\x6', - '\x38', '\x3', '\x2', '\x2', '\x2', '\b', ':', '\x3', '\x2', '\x2', '\x2', - '\n', '<', '\x3', '\x2', '\x2', '\x2', '\f', '>', '\x3', '\x2', '\x2', - '\x2', '\xE', '@', '\x3', '\x2', '\x2', '\x2', '\x10', '\x42', '\x3', - '\x2', '\x2', '\x2', '\x12', 'G', '\x3', '\x2', '\x2', '\x2', '\x14', - 'M', '\x3', '\x2', '\x2', '\x2', '\x16', 'R', '\x3', '\x2', '\x2', '\x2', - '\x18', 'W', '\x3', '\x2', '\x2', '\x2', '\x1A', 'm', '\x3', '\x2', '\x2', - '\x2', '\x1C', 'o', '\x3', '\x2', '\x2', '\x2', '\x1E', 'v', '\x3', '\x2', - '\x2', '\x2', ' ', '|', '\x3', '\x2', '\x2', '\x2', '\"', '\x80', '\x3', - '\x2', '\x2', '\x2', '$', '\x86', '\x3', '\x2', '\x2', '\x2', '&', '\x92', - '\x3', '\x2', '\x2', '\x2', '(', '\x98', '\x3', '\x2', '\x2', '\x2', '*', - '\xA4', '\x3', '\x2', '\x2', '\x2', ',', '\xB5', '\x3', '\x2', '\x2', - '\x2', '.', '\xB7', '\x3', '\x2', '\x2', '\x2', '\x30', '\xBC', '\x3', - '\x2', '\x2', '\x2', '\x32', '\xC2', '\x3', '\x2', '\x2', '\x2', '\x34', - '\xC4', '\x3', '\x2', '\x2', '\x2', '\x36', '\x37', '\a', '.', '\x2', - '\x2', '\x37', '\x5', '\x3', '\x2', '\x2', '\x2', '\x38', '\x39', '\a', - '<', '\x2', '\x2', '\x39', '\a', '\x3', '\x2', '\x2', '\x2', ':', ';', - '\a', '}', '\x2', '\x2', ';', '\t', '\x3', '\x2', '\x2', '\x2', '<', '=', - '\a', '\x7F', '\x2', '\x2', '=', '\v', '\x3', '\x2', '\x2', '\x2', '>', - '?', '\a', ']', '\x2', '\x2', '?', '\r', '\x3', '\x2', '\x2', '\x2', '@', - '\x41', '\a', '_', '\x2', '\x2', '\x41', '\xF', '\x3', '\x2', '\x2', '\x2', - '\x42', '\x43', '\a', 'v', '\x2', '\x2', '\x43', '\x44', '\a', 't', '\x2', - '\x2', '\x44', '\x45', '\a', 'w', '\x2', '\x2', '\x45', '\x46', '\a', - 'g', '\x2', '\x2', '\x46', '\x11', '\x3', '\x2', '\x2', '\x2', 'G', 'H', - '\a', 'h', '\x2', '\x2', 'H', 'I', '\a', '\x63', '\x2', '\x2', 'I', 'J', - '\a', 'n', '\x2', '\x2', 'J', 'K', '\a', 'u', '\x2', '\x2', 'K', 'L', - '\a', 'g', '\x2', '\x2', 'L', '\x13', '\x3', '\x2', '\x2', '\x2', 'M', - 'N', '\a', 'p', '\x2', '\x2', 'N', 'O', '\a', 'w', '\x2', '\x2', 'O', - 'P', '\a', 'n', '\x2', '\x2', 'P', 'Q', '\a', 'n', '\x2', '\x2', 'Q', - '\x15', '\x3', '\x2', '\x2', '\x2', 'R', 'S', '\a', '$', '\x2', '\x2', - 'S', 'T', '\x3', '\x2', '\x2', '\x2', 'T', 'U', '\b', '\v', '\x2', '\x2', - 'U', '\x17', '\x3', '\x2', '\x2', '\x2', 'V', 'X', '\a', '/', '\x2', '\x2', - 'W', 'V', '\x3', '\x2', '\x2', '\x2', 'W', 'X', '\x3', '\x2', '\x2', '\x2', - 'X', 'Y', '\x3', '\x2', '\x2', '\x2', 'Y', '`', '\x5', '\x1A', '\r', '\x2', - 'Z', '\\', '\a', '\x30', '\x2', '\x2', '[', ']', '\t', '\x2', '\x2', '\x2', - '\\', '[', '\x3', '\x2', '\x2', '\x2', ']', '^', '\x3', '\x2', '\x2', - '\x2', '^', '\\', '\x3', '\x2', '\x2', '\x2', '^', '_', '\x3', '\x2', - '\x2', '\x2', '_', '\x61', '\x3', '\x2', '\x2', '\x2', '`', 'Z', '\x3', - '\x2', '\x2', '\x2', '`', '\x61', '\x3', '\x2', '\x2', '\x2', '\x61', - '\x63', '\x3', '\x2', '\x2', '\x2', '\x62', '\x64', '\x5', '\x1C', '\xE', - '\x2', '\x63', '\x62', '\x3', '\x2', '\x2', '\x2', '\x63', '\x64', '\x3', - '\x2', '\x2', '\x2', '\x64', '\x19', '\x3', '\x2', '\x2', '\x2', '\x65', - 'n', '\a', '\x32', '\x2', '\x2', '\x66', 'j', '\t', '\x3', '\x2', '\x2', - 'g', 'i', '\t', '\x2', '\x2', '\x2', 'h', 'g', '\x3', '\x2', '\x2', '\x2', - 'i', 'l', '\x3', '\x2', '\x2', '\x2', 'j', 'h', '\x3', '\x2', '\x2', '\x2', - 'j', 'k', '\x3', '\x2', '\x2', '\x2', 'k', 'n', '\x3', '\x2', '\x2', '\x2', - 'l', 'j', '\x3', '\x2', '\x2', '\x2', 'm', '\x65', '\x3', '\x2', '\x2', - '\x2', 'm', '\x66', '\x3', '\x2', '\x2', '\x2', 'n', '\x1B', '\x3', '\x2', - '\x2', '\x2', 'o', 'q', '\t', '\x4', '\x2', '\x2', 'p', 'r', '\t', '\x5', - '\x2', '\x2', 'q', 'p', '\x3', '\x2', '\x2', '\x2', 'q', 'r', '\x3', '\x2', - '\x2', '\x2', 'r', 's', '\x3', '\x2', '\x2', '\x2', 's', 't', '\x5', '\x1A', - '\r', '\x2', 't', '\x1D', '\x3', '\x2', '\x2', '\x2', 'u', 'w', '\t', - '\x6', '\x2', '\x2', 'v', 'u', '\x3', '\x2', '\x2', '\x2', 'w', 'x', '\x3', - '\x2', '\x2', '\x2', 'x', 'v', '\x3', '\x2', '\x2', '\x2', 'x', 'y', '\x3', - '\x2', '\x2', '\x2', 'y', 'z', '\x3', '\x2', '\x2', '\x2', 'z', '{', '\b', - '\xF', '\x3', '\x2', '{', '\x1F', '\x3', '\x2', '\x2', '\x2', '|', '}', - '\a', '$', '\x2', '\x2', '}', '~', '\x3', '\x2', '\x2', '\x2', '~', '\x7F', - '\b', '\x10', '\x4', '\x2', '\x7F', '!', '\x3', '\x2', '\x2', '\x2', '\x80', - '\x81', '\a', '&', '\x2', '\x2', '\x81', '\x82', '\a', '\x66', '\x2', - '\x2', '\x82', '\x83', '\a', '\x63', '\x2', '\x2', '\x83', '\x84', '\a', - 'v', '\x2', '\x2', '\x84', '\x85', '\a', '\x63', '\x2', '\x2', '\x85', - '#', '\x3', '\x2', '\x2', '\x2', '\x86', '\x87', '\a', '&', '\x2', '\x2', - '\x87', '\x88', '\a', 'y', '\x2', '\x2', '\x88', '\x89', '\a', 'j', '\x2', - '\x2', '\x89', '\x8A', '\a', 'g', '\x2', '\x2', '\x8A', '\x8B', '\a', - 'p', '\x2', '\x2', '\x8B', '%', '\x3', '\x2', '\x2', '\x2', '\x8C', '\x8D', - '\a', '\x30', '\x2', '\x2', '\x8D', '\x93', '\x5', ',', '\x16', '\x2', - '\x8E', '\x8F', '\a', ']', '\x2', '\x2', '\x8F', '\x90', '\x5', '\x1A', - '\r', '\x2', '\x90', '\x91', '\a', '_', '\x2', '\x2', '\x91', '\x93', - '\x3', '\x2', '\x2', '\x2', '\x92', '\x8C', '\x3', '\x2', '\x2', '\x2', - '\x92', '\x8E', '\x3', '\x2', '\x2', '\x2', '\x93', '\x94', '\x3', '\x2', - '\x2', '\x2', '\x94', '\x92', '\x3', '\x2', '\x2', '\x2', '\x94', '\x95', - '\x3', '\x2', '\x2', '\x2', '\x95', '\x96', '\x3', '\x2', '\x2', '\x2', - '\x96', '\x97', '\a', '\x7F', '\x2', '\x2', '\x97', '\'', '\x3', '\x2', - '\x2', '\x2', '\x98', '\x99', '\a', '&', '\x2', '\x2', '\x99', '\x9A', - '\a', '}', '\x2', '\x2', '\x9A', '\x9F', '\x3', '\x2', '\x2', '\x2', '\x9B', - '\x9E', '\n', '\a', '\x2', '\x2', '\x9C', '\x9E', '\x5', '.', '\x17', - '\x2', '\x9D', '\x9B', '\x3', '\x2', '\x2', '\x2', '\x9D', '\x9C', '\x3', - '\x2', '\x2', '\x2', '\x9E', '\xA1', '\x3', '\x2', '\x2', '\x2', '\x9F', - '\xA0', '\x3', '\x2', '\x2', '\x2', '\x9F', '\x9D', '\x3', '\x2', '\x2', - '\x2', '\xA0', '\xA2', '\x3', '\x2', '\x2', '\x2', '\xA1', '\x9F', '\x3', - '\x2', '\x2', '\x2', '\xA2', '\xA3', '\a', '\x7F', '\x2', '\x2', '\xA3', - ')', '\x3', '\x2', '\x2', '\x2', '\xA4', '\xA5', '\a', '&', '\x2', '\x2', - '\xA5', '\xA6', '\a', '}', '\x2', '\x2', '\xA6', '\xA7', '\a', '&', '\x2', - '\x2', '\xA7', '\xA8', '\a', 't', '\x2', '\x2', '\xA8', '\xA9', '\a', - 'q', '\x2', '\x2', '\xA9', '\xAA', '\a', 'q', '\x2', '\x2', '\xAA', '\xAB', - '\a', 'v', '\x2', '\x2', '\xAB', '\xAC', '\x3', '\x2', '\x2', '\x2', '\xAC', - '\xAD', '\x5', '&', '\x13', '\x2', '\xAD', '+', '\x3', '\x2', '\x2', '\x2', - '\xAE', '\xB1', '\x5', '.', '\x17', '\x2', '\xAF', '\xB1', '\x5', '\x34', - '\x1A', '\x2', '\xB0', '\xAE', '\x3', '\x2', '\x2', '\x2', '\xB0', '\xAF', - '\x3', '\x2', '\x2', '\x2', '\xB1', '\xB2', '\x3', '\x2', '\x2', '\x2', - '\xB2', '\xB0', '\x3', '\x2', '\x2', '\x2', '\xB2', '\xB3', '\x3', '\x2', - '\x2', '\x2', '\xB3', '\xB6', '\x3', '\x2', '\x2', '\x2', '\xB4', '\xB6', - '\a', '&', '\x2', '\x2', '\xB5', '\xB0', '\x3', '\x2', '\x2', '\x2', '\xB5', - '\xB4', '\x3', '\x2', '\x2', '\x2', '\xB6', '-', '\x3', '\x2', '\x2', - '\x2', '\xB7', '\xBA', '\a', '^', '\x2', '\x2', '\xB8', '\xBB', '\t', - '\b', '\x2', '\x2', '\xB9', '\xBB', '\x5', '\x30', '\x18', '\x2', '\xBA', - '\xB8', '\x3', '\x2', '\x2', '\x2', '\xBA', '\xB9', '\x3', '\x2', '\x2', - '\x2', '\xBB', '/', '\x3', '\x2', '\x2', '\x2', '\xBC', '\xBD', '\a', - 'w', '\x2', '\x2', '\xBD', '\xBE', '\x5', '\x32', '\x19', '\x2', '\xBE', - '\xBF', '\x5', '\x32', '\x19', '\x2', '\xBF', '\xC0', '\x5', '\x32', '\x19', - '\x2', '\xC0', '\xC1', '\x5', '\x32', '\x19', '\x2', '\xC1', '\x31', '\x3', - '\x2', '\x2', '\x2', '\xC2', '\xC3', '\t', '\t', '\x2', '\x2', '\xC3', - '\x33', '\x3', '\x2', '\x2', '\x2', '\xC4', '\xC5', '\n', '\n', '\x2', - '\x2', '\xC5', '\x35', '\x3', '\x2', '\x2', '\x2', '\x14', '\x2', '\x3', - 'W', '^', '`', '\x63', 'j', 'm', 'q', 'x', '\x92', '\x94', '\x9D', '\x9F', - '\xB0', '\xB2', '\xB5', '\xBA', '\x5', '\a', '\x3', '\x2', '\b', '\x2', - '\x2', '\x6', '\x2', '\x2', - }; - - public static readonly ATN _ATN = - new ATNDeserializer().Deserialize(_serializedATN); } diff --git a/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateLexer.interp b/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateLexer.interp index c3644ceb8b..a8f8388277 100644 --- a/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateLexer.interp +++ b/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateLexer.interp @@ -78,4 +78,4 @@ DEFAULT_MODE INSIDE atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 21, 198, 8, 1, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 3, 11, 3, 11, 3, 12, 5, 12, 88, 10, 12, 3, 12, 3, 12, 3, 12, 6, 12, 93, 10, 12, 13, 12, 14, 12, 94, 5, 12, 97, 10, 12, 3, 12, 5, 12, 100, 10, 12, 3, 13, 3, 13, 3, 13, 7, 13, 105, 10, 13, 12, 13, 14, 13, 108, 11, 13, 5, 13, 110, 10, 13, 3, 14, 3, 14, 5, 14, 114, 10, 14, 3, 14, 3, 14, 3, 15, 6, 15, 119, 10, 15, 13, 15, 14, 15, 120, 3, 15, 3, 15, 3, 16, 3, 16, 3, 16, 3, 16, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 3, 19, 6, 19, 147, 10, 19, 13, 19, 14, 19, 148, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 7, 20, 158, 10, 20, 12, 20, 14, 20, 161, 11, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 21, 3, 22, 3, 22, 6, 22, 177, 10, 22, 13, 22, 14, 22, 178, 3, 22, 5, 22, 182, 10, 22, 3, 23, 3, 23, 3, 23, 5, 23, 187, 10, 23, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 26, 3, 26, 3, 159, 2, 27, 4, 3, 6, 4, 8, 5, 10, 6, 12, 7, 14, 8, 16, 9, 18, 10, 20, 11, 22, 12, 24, 13, 26, 2, 28, 2, 30, 14, 32, 15, 34, 16, 36, 17, 38, 18, 40, 19, 42, 20, 44, 21, 46, 2, 48, 2, 50, 2, 52, 2, 4, 2, 3, 11, 3, 2, 50, 59, 3, 2, 51, 59, 4, 2, 71, 71, 103, 103, 4, 2, 45, 45, 47, 47, 5, 2, 11, 12, 15, 15, 34, 34, 3, 2, 36, 36, 10, 2, 36, 36, 49, 49, 94, 94, 100, 100, 104, 104, 112, 112, 116, 116, 118, 118, 5, 2, 50, 59, 67, 72, 99, 104, 6, 2, 2, 33, 36, 36, 38, 38, 94, 94, 2, 206, 2, 4, 3, 2, 2, 2, 2, 6, 3, 2, 2, 2, 2, 8, 3, 2, 2, 2, 2, 10, 3, 2, 2, 2, 2, 12, 3, 2, 2, 2, 2, 14, 3, 2, 2, 2, 2, 16, 3, 2, 2, 2, 2, 18, 3, 2, 2, 2, 2, 20, 3, 2, 2, 2, 2, 22, 3, 2, 2, 2, 2, 24, 3, 2, 2, 2, 2, 30, 3, 2, 2, 2, 3, 32, 3, 2, 2, 2, 3, 34, 3, 2, 2, 2, 3, 36, 3, 2, 2, 2, 3, 38, 3, 2, 2, 2, 3, 40, 3, 2, 2, 2, 3, 42, 3, 2, 2, 2, 3, 44, 3, 2, 2, 2, 4, 54, 3, 2, 2, 2, 6, 56, 3, 2, 2, 2, 8, 58, 3, 2, 2, 2, 10, 60, 3, 2, 2, 2, 12, 62, 3, 2, 2, 2, 14, 64, 3, 2, 2, 2, 16, 66, 3, 2, 2, 2, 18, 71, 3, 2, 2, 2, 20, 77, 3, 2, 2, 2, 22, 82, 3, 2, 2, 2, 24, 87, 3, 2, 2, 2, 26, 109, 3, 2, 2, 2, 28, 111, 3, 2, 2, 2, 30, 118, 3, 2, 2, 2, 32, 124, 3, 2, 2, 2, 34, 128, 3, 2, 2, 2, 36, 134, 3, 2, 2, 2, 38, 146, 3, 2, 2, 2, 40, 152, 3, 2, 2, 2, 42, 164, 3, 2, 2, 2, 44, 181, 3, 2, 2, 2, 46, 183, 3, 2, 2, 2, 48, 188, 3, 2, 2, 2, 50, 194, 3, 2, 2, 2, 52, 196, 3, 2, 2, 2, 54, 55, 7, 46, 2, 2, 55, 5, 3, 2, 2, 2, 56, 57, 7, 60, 2, 2, 57, 7, 3, 2, 2, 2, 58, 59, 7, 125, 2, 2, 59, 9, 3, 2, 2, 2, 60, 61, 7, 127, 2, 2, 61, 11, 3, 2, 2, 2, 62, 63, 7, 93, 2, 2, 63, 13, 3, 2, 2, 2, 64, 65, 7, 95, 2, 2, 65, 15, 3, 2, 2, 2, 66, 67, 7, 118, 2, 2, 67, 68, 7, 116, 2, 2, 68, 69, 7, 119, 2, 2, 69, 70, 7, 103, 2, 2, 70, 17, 3, 2, 2, 2, 71, 72, 7, 104, 2, 2, 72, 73, 7, 99, 2, 2, 73, 74, 7, 110, 2, 2, 74, 75, 7, 117, 2, 2, 75, 76, 7, 103, 2, 2, 76, 19, 3, 2, 2, 2, 77, 78, 7, 112, 2, 2, 78, 79, 7, 119, 2, 2, 79, 80, 7, 110, 2, 2, 80, 81, 7, 110, 2, 2, 81, 21, 3, 2, 2, 2, 82, 83, 7, 36, 2, 2, 83, 84, 3, 2, 2, 2, 84, 85, 8, 11, 2, 2, 85, 23, 3, 2, 2, 2, 86, 88, 7, 47, 2, 2, 87, 86, 3, 2, 2, 2, 87, 88, 3, 2, 2, 2, 88, 89, 3, 2, 2, 2, 89, 96, 5, 26, 13, 2, 90, 92, 7, 48, 2, 2, 91, 93, 9, 2, 2, 2, 92, 91, 3, 2, 2, 2, 93, 94, 3, 2, 2, 2, 94, 92, 3, 2, 2, 2, 94, 95, 3, 2, 2, 2, 95, 97, 3, 2, 2, 2, 96, 90, 3, 2, 2, 2, 96, 97, 3, 2, 2, 2, 97, 99, 3, 2, 2, 2, 98, 100, 5, 28, 14, 2, 99, 98, 3, 2, 2, 2, 99, 100, 3, 2, 2, 2, 100, 25, 3, 2, 2, 2, 101, 110, 7, 50, 2, 2, 102, 106, 9, 3, 2, 2, 103, 105, 9, 2, 2, 2, 104, 103, 3, 2, 2, 2, 105, 108, 3, 2, 2, 2, 106, 104, 3, 2, 2, 2, 106, 107, 3, 2, 2, 2, 107, 110, 3, 2, 2, 2, 108, 106, 3, 2, 2, 2, 109, 101, 3, 2, 2, 2, 109, 102, 3, 2, 2, 2, 110, 27, 3, 2, 2, 2, 111, 113, 9, 4, 2, 2, 112, 114, 9, 5, 2, 2, 113, 112, 3, 2, 2, 2, 113, 114, 3, 2, 2, 2, 114, 115, 3, 2, 2, 2, 115, 116, 5, 26, 13, 2, 116, 29, 3, 2, 2, 2, 117, 119, 9, 6, 2, 2, 118, 117, 3, 2, 2, 2, 119, 120, 3, 2, 2, 2, 120, 118, 3, 2, 2, 2, 120, 121, 3, 2, 2, 2, 121, 122, 3, 2, 2, 2, 122, 123, 8, 15, 3, 2, 123, 31, 3, 2, 2, 2, 124, 125, 7, 36, 2, 2, 125, 126, 3, 2, 2, 2, 126, 127, 8, 16, 4, 2, 127, 33, 3, 2, 2, 2, 128, 129, 7, 38, 2, 2, 129, 130, 7, 102, 2, 2, 130, 131, 7, 99, 2, 2, 131, 132, 7, 118, 2, 2, 132, 133, 7, 99, 2, 2, 133, 35, 3, 2, 2, 2, 134, 135, 7, 38, 2, 2, 135, 136, 7, 121, 2, 2, 136, 137, 7, 106, 2, 2, 137, 138, 7, 103, 2, 2, 138, 139, 7, 112, 2, 2, 139, 37, 3, 2, 2, 2, 140, 141, 7, 48, 2, 2, 141, 147, 5, 44, 22, 2, 142, 143, 7, 93, 2, 2, 143, 144, 5, 26, 13, 2, 144, 145, 7, 95, 2, 2, 145, 147, 3, 2, 2, 2, 146, 140, 3, 2, 2, 2, 146, 142, 3, 2, 2, 2, 147, 148, 3, 2, 2, 2, 148, 146, 3, 2, 2, 2, 148, 149, 3, 2, 2, 2, 149, 150, 3, 2, 2, 2, 150, 151, 7, 127, 2, 2, 151, 39, 3, 2, 2, 2, 152, 153, 7, 38, 2, 2, 153, 154, 7, 125, 2, 2, 154, 159, 3, 2, 2, 2, 155, 158, 10, 7, 2, 2, 156, 158, 5, 46, 23, 2, 157, 155, 3, 2, 2, 2, 157, 156, 3, 2, 2, 2, 158, 161, 3, 2, 2, 2, 159, 160, 3, 2, 2, 2, 159, 157, 3, 2, 2, 2, 160, 162, 3, 2, 2, 2, 161, 159, 3, 2, 2, 2, 162, 163, 7, 127, 2, 2, 163, 41, 3, 2, 2, 2, 164, 165, 7, 38, 2, 2, 165, 166, 7, 125, 2, 2, 166, 167, 7, 38, 2, 2, 167, 168, 7, 116, 2, 2, 168, 169, 7, 113, 2, 2, 169, 170, 7, 113, 2, 2, 170, 171, 7, 118, 2, 2, 171, 172, 3, 2, 2, 2, 172, 173, 5, 38, 19, 2, 173, 43, 3, 2, 2, 2, 174, 177, 5, 46, 23, 2, 175, 177, 5, 52, 26, 2, 176, 174, 3, 2, 2, 2, 176, 175, 3, 2, 2, 2, 177, 178, 3, 2, 2, 2, 178, 176, 3, 2, 2, 2, 178, 179, 3, 2, 2, 2, 179, 182, 3, 2, 2, 2, 180, 182, 7, 38, 2, 2, 181, 176, 3, 2, 2, 2, 181, 180, 3, 2, 2, 2, 182, 45, 3, 2, 2, 2, 183, 186, 7, 94, 2, 2, 184, 187, 9, 8, 2, 2, 185, 187, 5, 48, 24, 2, 186, 184, 3, 2, 2, 2, 186, 185, 3, 2, 2, 2, 187, 47, 3, 2, 2, 2, 188, 189, 7, 119, 2, 2, 189, 190, 5, 50, 25, 2, 190, 191, 5, 50, 25, 2, 191, 192, 5, 50, 25, 2, 192, 193, 5, 50, 25, 2, 193, 49, 3, 2, 2, 2, 194, 195, 9, 9, 2, 2, 195, 51, 3, 2, 2, 2, 196, 197, 10, 10, 2, 2, 197, 53, 3, 2, 2, 2, 20, 2, 3, 87, 94, 96, 99, 106, 109, 113, 120, 146, 148, 157, 159, 176, 178, 181, 186, 5, 7, 3, 2, 8, 2, 2, 6, 2, 2] \ No newline at end of file +[4, 0, 19, 196, 6, -1, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 3, 10, 86, 8, 10, 1, 10, 1, 10, 1, 10, 4, 10, 91, 8, 10, 11, 10, 12, 10, 92, 3, 10, 95, 8, 10, 1, 10, 3, 10, 98, 8, 10, 1, 11, 1, 11, 1, 11, 5, 11, 103, 8, 11, 10, 11, 12, 11, 106, 9, 11, 3, 11, 108, 8, 11, 1, 12, 1, 12, 3, 12, 112, 8, 12, 1, 12, 1, 12, 1, 13, 4, 13, 117, 8, 13, 11, 13, 12, 13, 118, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 4, 17, 145, 8, 17, 11, 17, 12, 17, 146, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 18, 5, 18, 156, 8, 18, 10, 18, 12, 18, 159, 9, 18, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 19, 1, 20, 1, 20, 4, 20, 175, 8, 20, 11, 20, 12, 20, 176, 1, 20, 3, 20, 180, 8, 20, 1, 21, 1, 21, 1, 21, 3, 21, 185, 8, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 24, 1, 24, 1, 157, 0, 25, 2, 1, 4, 2, 6, 3, 8, 4, 10, 5, 12, 6, 14, 7, 16, 8, 18, 9, 20, 10, 22, 11, 24, 0, 26, 0, 28, 12, 30, 13, 32, 14, 34, 15, 36, 16, 38, 17, 40, 18, 42, 19, 44, 0, 46, 0, 48, 0, 50, 0, 2, 0, 1, 9, 1, 0, 48, 57, 1, 0, 49, 57, 2, 0, 69, 69, 101, 101, 2, 0, 43, 43, 45, 45, 3, 0, 9, 10, 13, 13, 32, 32, 1, 0, 34, 34, 8, 0, 34, 34, 47, 47, 92, 92, 98, 98, 102, 102, 110, 110, 114, 114, 116, 116, 3, 0, 48, 57, 65, 70, 97, 102, 4, 0, 0, 31, 34, 34, 36, 36, 92, 92, 204, 0, 2, 1, 0, 0, 0, 0, 4, 1, 0, 0, 0, 0, 6, 1, 0, 0, 0, 0, 8, 1, 0, 0, 0, 0, 10, 1, 0, 0, 0, 0, 12, 1, 0, 0, 0, 0, 14, 1, 0, 0, 0, 0, 16, 1, 0, 0, 0, 0, 18, 1, 0, 0, 0, 0, 20, 1, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 28, 1, 0, 0, 0, 1, 30, 1, 0, 0, 0, 1, 32, 1, 0, 0, 0, 1, 34, 1, 0, 0, 0, 1, 36, 1, 0, 0, 0, 1, 38, 1, 0, 0, 0, 1, 40, 1, 0, 0, 0, 1, 42, 1, 0, 0, 0, 2, 52, 1, 0, 0, 0, 4, 54, 1, 0, 0, 0, 6, 56, 1, 0, 0, 0, 8, 58, 1, 0, 0, 0, 10, 60, 1, 0, 0, 0, 12, 62, 1, 0, 0, 0, 14, 64, 1, 0, 0, 0, 16, 69, 1, 0, 0, 0, 18, 75, 1, 0, 0, 0, 20, 80, 1, 0, 0, 0, 22, 85, 1, 0, 0, 0, 24, 107, 1, 0, 0, 0, 26, 109, 1, 0, 0, 0, 28, 116, 1, 0, 0, 0, 30, 122, 1, 0, 0, 0, 32, 126, 1, 0, 0, 0, 34, 132, 1, 0, 0, 0, 36, 144, 1, 0, 0, 0, 38, 150, 1, 0, 0, 0, 40, 162, 1, 0, 0, 0, 42, 179, 1, 0, 0, 0, 44, 181, 1, 0, 0, 0, 46, 186, 1, 0, 0, 0, 48, 192, 1, 0, 0, 0, 50, 194, 1, 0, 0, 0, 52, 53, 5, 44, 0, 0, 53, 3, 1, 0, 0, 0, 54, 55, 5, 58, 0, 0, 55, 5, 1, 0, 0, 0, 56, 57, 5, 123, 0, 0, 57, 7, 1, 0, 0, 0, 58, 59, 5, 125, 0, 0, 59, 9, 1, 0, 0, 0, 60, 61, 5, 91, 0, 0, 61, 11, 1, 0, 0, 0, 62, 63, 5, 93, 0, 0, 63, 13, 1, 0, 0, 0, 64, 65, 5, 116, 0, 0, 65, 66, 5, 114, 0, 0, 66, 67, 5, 117, 0, 0, 67, 68, 5, 101, 0, 0, 68, 15, 1, 0, 0, 0, 69, 70, 5, 102, 0, 0, 70, 71, 5, 97, 0, 0, 71, 72, 5, 108, 0, 0, 72, 73, 5, 115, 0, 0, 73, 74, 5, 101, 0, 0, 74, 17, 1, 0, 0, 0, 75, 76, 5, 110, 0, 0, 76, 77, 5, 117, 0, 0, 77, 78, 5, 108, 0, 0, 78, 79, 5, 108, 0, 0, 79, 19, 1, 0, 0, 0, 80, 81, 5, 34, 0, 0, 81, 82, 1, 0, 0, 0, 82, 83, 6, 9, 0, 0, 83, 21, 1, 0, 0, 0, 84, 86, 5, 45, 0, 0, 85, 84, 1, 0, 0, 0, 85, 86, 1, 0, 0, 0, 86, 87, 1, 0, 0, 0, 87, 94, 3, 24, 11, 0, 88, 90, 5, 46, 0, 0, 89, 91, 7, 0, 0, 0, 90, 89, 1, 0, 0, 0, 91, 92, 1, 0, 0, 0, 92, 90, 1, 0, 0, 0, 92, 93, 1, 0, 0, 0, 93, 95, 1, 0, 0, 0, 94, 88, 1, 0, 0, 0, 94, 95, 1, 0, 0, 0, 95, 97, 1, 0, 0, 0, 96, 98, 3, 26, 12, 0, 97, 96, 1, 0, 0, 0, 97, 98, 1, 0, 0, 0, 98, 23, 1, 0, 0, 0, 99, 108, 5, 48, 0, 0, 100, 104, 7, 1, 0, 0, 101, 103, 7, 0, 0, 0, 102, 101, 1, 0, 0, 0, 103, 106, 1, 0, 0, 0, 104, 102, 1, 0, 0, 0, 104, 105, 1, 0, 0, 0, 105, 108, 1, 0, 0, 0, 106, 104, 1, 0, 0, 0, 107, 99, 1, 0, 0, 0, 107, 100, 1, 0, 0, 0, 108, 25, 1, 0, 0, 0, 109, 111, 7, 2, 0, 0, 110, 112, 7, 3, 0, 0, 111, 110, 1, 0, 0, 0, 111, 112, 1, 0, 0, 0, 112, 113, 1, 0, 0, 0, 113, 114, 3, 24, 11, 0, 114, 27, 1, 0, 0, 0, 115, 117, 7, 4, 0, 0, 116, 115, 1, 0, 0, 0, 117, 118, 1, 0, 0, 0, 118, 116, 1, 0, 0, 0, 118, 119, 1, 0, 0, 0, 119, 120, 1, 0, 0, 0, 120, 121, 6, 13, 1, 0, 121, 29, 1, 0, 0, 0, 122, 123, 5, 34, 0, 0, 123, 124, 1, 0, 0, 0, 124, 125, 6, 14, 2, 0, 125, 31, 1, 0, 0, 0, 126, 127, 5, 36, 0, 0, 127, 128, 5, 100, 0, 0, 128, 129, 5, 97, 0, 0, 129, 130, 5, 116, 0, 0, 130, 131, 5, 97, 0, 0, 131, 33, 1, 0, 0, 0, 132, 133, 5, 36, 0, 0, 133, 134, 5, 119, 0, 0, 134, 135, 5, 104, 0, 0, 135, 136, 5, 101, 0, 0, 136, 137, 5, 110, 0, 0, 137, 35, 1, 0, 0, 0, 138, 139, 5, 46, 0, 0, 139, 145, 3, 42, 20, 0, 140, 141, 5, 91, 0, 0, 141, 142, 3, 24, 11, 0, 142, 143, 5, 93, 0, 0, 143, 145, 1, 0, 0, 0, 144, 138, 1, 0, 0, 0, 144, 140, 1, 0, 0, 0, 145, 146, 1, 0, 0, 0, 146, 144, 1, 0, 0, 0, 146, 147, 1, 0, 0, 0, 147, 148, 1, 0, 0, 0, 148, 149, 5, 125, 0, 0, 149, 37, 1, 0, 0, 0, 150, 151, 5, 36, 0, 0, 151, 152, 5, 123, 0, 0, 152, 157, 1, 0, 0, 0, 153, 156, 8, 5, 0, 0, 154, 156, 3, 44, 21, 0, 155, 153, 1, 0, 0, 0, 155, 154, 1, 0, 0, 0, 156, 159, 1, 0, 0, 0, 157, 158, 1, 0, 0, 0, 157, 155, 1, 0, 0, 0, 158, 160, 1, 0, 0, 0, 159, 157, 1, 0, 0, 0, 160, 161, 5, 125, 0, 0, 161, 39, 1, 0, 0, 0, 162, 163, 5, 36, 0, 0, 163, 164, 5, 123, 0, 0, 164, 165, 5, 36, 0, 0, 165, 166, 5, 114, 0, 0, 166, 167, 5, 111, 0, 0, 167, 168, 5, 111, 0, 0, 168, 169, 5, 116, 0, 0, 169, 170, 1, 0, 0, 0, 170, 171, 3, 36, 17, 0, 171, 41, 1, 0, 0, 0, 172, 175, 3, 44, 21, 0, 173, 175, 3, 50, 24, 0, 174, 172, 1, 0, 0, 0, 174, 173, 1, 0, 0, 0, 175, 176, 1, 0, 0, 0, 176, 174, 1, 0, 0, 0, 176, 177, 1, 0, 0, 0, 177, 180, 1, 0, 0, 0, 178, 180, 5, 36, 0, 0, 179, 174, 1, 0, 0, 0, 179, 178, 1, 0, 0, 0, 180, 43, 1, 0, 0, 0, 181, 184, 5, 92, 0, 0, 182, 185, 7, 6, 0, 0, 183, 185, 3, 46, 22, 0, 184, 182, 1, 0, 0, 0, 184, 183, 1, 0, 0, 0, 185, 45, 1, 0, 0, 0, 186, 187, 5, 117, 0, 0, 187, 188, 3, 48, 23, 0, 188, 189, 3, 48, 23, 0, 189, 190, 3, 48, 23, 0, 190, 191, 3, 48, 23, 0, 191, 47, 1, 0, 0, 0, 192, 193, 7, 7, 0, 0, 193, 49, 1, 0, 0, 0, 194, 195, 8, 8, 0, 0, 195, 51, 1, 0, 0, 0, 18, 0, 1, 85, 92, 94, 97, 104, 107, 111, 118, 144, 146, 155, 157, 174, 176, 179, 184, 3, 5, 1, 0, 6, 0, 0, 4, 0, 0] diff --git a/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateParser.cs b/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateParser.cs index 2ceb6d43a1..9849388051 100644 --- a/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateParser.cs +++ b/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateParser.cs @@ -1,14 +1,14 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// ANTLR Version: 4.8 +// ANTLR Version: 4.11.1 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ -// Generated from AdaptiveCardsTemplateParser.g4 by ANTLR 4.8 +// Generated from AdaptiveCardsTemplateParser.g4 by ANTLR 4.11.1 // Unreachable code detected #pragma warning disable 0162 @@ -30,924 +30,940 @@ using Antlr4.Runtime.Tree; using DFA = Antlr4.Runtime.Dfa.DFA; -[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.8")] +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.11.1")] [System.CLSCompliant(false)] public partial class AdaptiveCardsTemplateParser : Parser { - protected static DFA[] decisionToDFA; - protected static PredictionContextCache sharedContextCache = new PredictionContextCache(); - public const int - COMMA=1, COLON=2, LCB=3, RCB=4, LSB=5, RSB=6, TRUE=7, FALSE=8, NULL=9, - StringDeclOpen=10, NUMBER=11, WS=12, CLOSE=13, TEMPLATEDATA=14, TEMPLATEWHEN=15, - JPATH=16, TEMPLATELITERAL=17, TEMPLATEROOT=18, STRING=19; - public const int - RULE_json = 0, RULE_obj = 1, RULE_pair = 2, RULE_array = 3, RULE_value = 4, - RULE_templateString = 5, RULE_templateRoot = 6, RULE_templateExpression = 7; - public static readonly string[] ruleNames = { - "json", "obj", "pair", "array", "value", "templateString", "templateRoot", - "templateExpression" - }; - - private static readonly string[] _LiteralNames = { - null, "','", "':'", "'{'", "'}'", "'['", "']'", "'true'", "'false'", "'null'", - null, null, null, null, "'$data'", "'$when'" - }; - private static readonly string[] _SymbolicNames = { - null, "COMMA", "COLON", "LCB", "RCB", "LSB", "RSB", "TRUE", "FALSE", "NULL", - "StringDeclOpen", "NUMBER", "WS", "CLOSE", "TEMPLATEDATA", "TEMPLATEWHEN", - "JPATH", "TEMPLATELITERAL", "TEMPLATEROOT", "STRING" - }; - public static readonly IVocabulary DefaultVocabulary = new Vocabulary(_LiteralNames, _SymbolicNames); - - [NotNull] - public override IVocabulary Vocabulary - { - get - { - return DefaultVocabulary; - } - } - - public override string GrammarFileName { get { return "AdaptiveCardsTemplateParser.g4"; } } - - public override string[] RuleNames { get { return ruleNames; } } - - public override string SerializedAtn { get { return new string(_serializedATN); } } - - static AdaptiveCardsTemplateParser() { - decisionToDFA = new DFA[_ATN.NumberOfDecisions]; - for (int i = 0; i < _ATN.NumberOfDecisions; i++) { - decisionToDFA[i] = new DFA(_ATN.GetDecisionState(i), i); - } - } - - public AdaptiveCardsTemplateParser(ITokenStream input) : this(input, Console.Out, Console.Error) { } - - public AdaptiveCardsTemplateParser(ITokenStream input, TextWriter output, TextWriter errorOutput) - : base(input, output, errorOutput) - { - Interpreter = new ParserATNSimulator(this, _ATN, decisionToDFA, sharedContextCache); - } - - public partial class JsonContext : ParserRuleContext { - public ValueContext value() { - return GetRuleContext(0); - } - public JsonContext(ParserRuleContext parent, int invokingState) - : base(parent, invokingState) - { - } - public override int RuleIndex { get { return RULE_json; } } - public override TResult Accept(IParseTreeVisitor visitor) { - IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitJson(this); - else return visitor.VisitChildren(this); - } - } - - [RuleVersion(0)] - public JsonContext json() { - JsonContext _localctx = new JsonContext(Context, State); - EnterRule(_localctx, 0, RULE_json); - try { - EnterOuterAlt(_localctx, 1); - { - State = 16; value(); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - ErrorHandler.ReportError(this, re); - ErrorHandler.Recover(this, re); - } - finally { - ExitRule(); - } - return _localctx; - } - - public partial class ObjContext : ParserRuleContext { - public ITerminalNode LCB() { return GetToken(AdaptiveCardsTemplateParser.LCB, 0); } - public PairContext[] pair() { - return GetRuleContexts(); - } - public PairContext pair(int i) { - return GetRuleContext(i); - } - public ITerminalNode RCB() { return GetToken(AdaptiveCardsTemplateParser.RCB, 0); } - public ITerminalNode[] COMMA() { return GetTokens(AdaptiveCardsTemplateParser.COMMA); } - public ITerminalNode COMMA(int i) { - return GetToken(AdaptiveCardsTemplateParser.COMMA, i); - } - public ObjContext(ParserRuleContext parent, int invokingState) - : base(parent, invokingState) - { - } - public override int RuleIndex { get { return RULE_obj; } } - public override TResult Accept(IParseTreeVisitor visitor) { - IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitObj(this); - else return visitor.VisitChildren(this); - } - } - - [RuleVersion(0)] - public ObjContext obj() { - ObjContext _localctx = new ObjContext(Context, State); - EnterRule(_localctx, 2, RULE_obj); - int _la; - try { - State = 31; - ErrorHandler.Sync(this); - switch ( Interpreter.AdaptivePredict(TokenStream,1,Context) ) { - case 1: - EnterOuterAlt(_localctx, 1); - { - State = 18; Match(LCB); - State = 19; pair(); - State = 24; - ErrorHandler.Sync(this); - _la = TokenStream.LA(1); - while (_la==COMMA) { - { - { - State = 20; Match(COMMA); - State = 21; pair(); - } - } - State = 26; - ErrorHandler.Sync(this); - _la = TokenStream.LA(1); - } - State = 27; Match(RCB); - } - break; - case 2: - EnterOuterAlt(_localctx, 2); - { - State = 29; Match(LCB); - State = 30; Match(RCB); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - ErrorHandler.ReportError(this, re); - ErrorHandler.Recover(this, re); - } - finally { - ExitRule(); - } - return _localctx; - } - - public partial class PairContext : ParserRuleContext { - public PairContext(ParserRuleContext parent, int invokingState) - : base(parent, invokingState) - { - } - public override int RuleIndex { get { return RULE_pair; } } - - public PairContext() { } - public virtual void CopyFrom(PairContext context) { - base.CopyFrom(context); - } - } - public partial class TemplateWhenContext : PairContext { - public ITerminalNode StringDeclOpen() { return GetToken(AdaptiveCardsTemplateParser.StringDeclOpen, 0); } - public ITerminalNode TEMPLATEWHEN() { return GetToken(AdaptiveCardsTemplateParser.TEMPLATEWHEN, 0); } - public ITerminalNode CLOSE() { return GetToken(AdaptiveCardsTemplateParser.CLOSE, 0); } - public ITerminalNode COLON() { return GetToken(AdaptiveCardsTemplateParser.COLON, 0); } - public TemplateExpressionContext templateExpression() { - return GetRuleContext(0); - } - public TemplateWhenContext(PairContext context) { CopyFrom(context); } - public override TResult Accept(IParseTreeVisitor visitor) { - IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitTemplateWhen(this); - else return visitor.VisitChildren(this); - } - } - public partial class JsonPairContext : PairContext { - public ITerminalNode StringDeclOpen() { return GetToken(AdaptiveCardsTemplateParser.StringDeclOpen, 0); } - public ITerminalNode CLOSE() { return GetToken(AdaptiveCardsTemplateParser.CLOSE, 0); } - public ITerminalNode COLON() { return GetToken(AdaptiveCardsTemplateParser.COLON, 0); } - public ValueContext value() { - return GetRuleContext(0); - } - public ITerminalNode[] STRING() { return GetTokens(AdaptiveCardsTemplateParser.STRING); } - public ITerminalNode STRING(int i) { - return GetToken(AdaptiveCardsTemplateParser.STRING, i); - } - public JsonPairContext(PairContext context) { CopyFrom(context); } - public override TResult Accept(IParseTreeVisitor visitor) { - IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitJsonPair(this); - else return visitor.VisitChildren(this); - } - } - public partial class TemplateDataContext : PairContext { - public ITerminalNode StringDeclOpen() { return GetToken(AdaptiveCardsTemplateParser.StringDeclOpen, 0); } - public ITerminalNode TEMPLATEDATA() { return GetToken(AdaptiveCardsTemplateParser.TEMPLATEDATA, 0); } - public ITerminalNode CLOSE() { return GetToken(AdaptiveCardsTemplateParser.CLOSE, 0); } - public ITerminalNode COLON() { return GetToken(AdaptiveCardsTemplateParser.COLON, 0); } - public ValueContext value() { - return GetRuleContext(0); - } - public TemplateDataContext(PairContext context) { CopyFrom(context); } - public override TResult Accept(IParseTreeVisitor visitor) { - IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitTemplateData(this); - else return visitor.VisitChildren(this); - } - } - public partial class TemplateRootDataContext : PairContext { - public ITerminalNode[] StringDeclOpen() { return GetTokens(AdaptiveCardsTemplateParser.StringDeclOpen); } - public ITerminalNode StringDeclOpen(int i) { - return GetToken(AdaptiveCardsTemplateParser.StringDeclOpen, i); - } - public ITerminalNode TEMPLATEDATA() { return GetToken(AdaptiveCardsTemplateParser.TEMPLATEDATA, 0); } - public ITerminalNode[] CLOSE() { return GetTokens(AdaptiveCardsTemplateParser.CLOSE); } - public ITerminalNode CLOSE(int i) { - return GetToken(AdaptiveCardsTemplateParser.CLOSE, i); - } - public ITerminalNode COLON() { return GetToken(AdaptiveCardsTemplateParser.COLON, 0); } - public TemplateRootContext templateRoot() { - return GetRuleContext(0); - } - public TemplateRootDataContext(PairContext context) { CopyFrom(context); } - public override TResult Accept(IParseTreeVisitor visitor) { - IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitTemplateRootData(this); - else return visitor.VisitChildren(this); - } - } - - [RuleVersion(0)] - public PairContext pair() { - PairContext _localctx = new PairContext(Context, State); - EnterRule(_localctx, 4, RULE_pair); - int _la; - try { - State = 61; - ErrorHandler.Sync(this); - switch ( Interpreter.AdaptivePredict(TokenStream,3,Context) ) { - case 1: - _localctx = new JsonPairContext(_localctx); - EnterOuterAlt(_localctx, 1); - { - State = 33; Match(StringDeclOpen); - State = 37; - ErrorHandler.Sync(this); - _la = TokenStream.LA(1); - while (_la==STRING) { - { - { - State = 34; Match(STRING); - } - } - State = 39; - ErrorHandler.Sync(this); - _la = TokenStream.LA(1); - } - State = 40; Match(CLOSE); - State = 41; Match(COLON); - State = 42; value(); - } - break; - case 2: - _localctx = new TemplateRootDataContext(_localctx); - EnterOuterAlt(_localctx, 2); - { - State = 43; Match(StringDeclOpen); - State = 44; Match(TEMPLATEDATA); - State = 45; Match(CLOSE); - State = 46; Match(COLON); - State = 47; Match(StringDeclOpen); - State = 48; templateRoot(); - State = 49; Match(CLOSE); - } - break; - case 3: - _localctx = new TemplateDataContext(_localctx); - EnterOuterAlt(_localctx, 3); - { - State = 51; Match(StringDeclOpen); - State = 52; Match(TEMPLATEDATA); - State = 53; Match(CLOSE); - State = 54; Match(COLON); - State = 55; value(); - } - break; - case 4: - _localctx = new TemplateWhenContext(_localctx); - EnterOuterAlt(_localctx, 4); - { - State = 56; Match(StringDeclOpen); - State = 57; Match(TEMPLATEWHEN); - State = 58; Match(CLOSE); - State = 59; Match(COLON); - State = 60; templateExpression(); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - ErrorHandler.ReportError(this, re); - ErrorHandler.Recover(this, re); - } - finally { - ExitRule(); - } - return _localctx; - } - - public partial class ArrayContext : ParserRuleContext { - public ITerminalNode LSB() { return GetToken(AdaptiveCardsTemplateParser.LSB, 0); } - public ValueContext[] value() { - return GetRuleContexts(); - } - public ValueContext value(int i) { - return GetRuleContext(i); - } - public ITerminalNode RSB() { return GetToken(AdaptiveCardsTemplateParser.RSB, 0); } - public ITerminalNode[] COMMA() { return GetTokens(AdaptiveCardsTemplateParser.COMMA); } - public ITerminalNode COMMA(int i) { - return GetToken(AdaptiveCardsTemplateParser.COMMA, i); - } - public ArrayContext(ParserRuleContext parent, int invokingState) - : base(parent, invokingState) - { - } - public override int RuleIndex { get { return RULE_array; } } - public override TResult Accept(IParseTreeVisitor visitor) { - IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitArray(this); - else return visitor.VisitChildren(this); - } - } - - [RuleVersion(0)] - public ArrayContext array() { - ArrayContext _localctx = new ArrayContext(Context, State); - EnterRule(_localctx, 6, RULE_array); - int _la; - try { - State = 76; - ErrorHandler.Sync(this); - switch ( Interpreter.AdaptivePredict(TokenStream,5,Context) ) { - case 1: - EnterOuterAlt(_localctx, 1); - { - State = 63; Match(LSB); - State = 64; value(); - State = 69; - ErrorHandler.Sync(this); - _la = TokenStream.LA(1); - while (_la==COMMA) { - { - { - State = 65; Match(COMMA); - State = 66; value(); - } - } - State = 71; - ErrorHandler.Sync(this); - _la = TokenStream.LA(1); - } - State = 72; Match(RSB); - } - break; - case 2: - EnterOuterAlt(_localctx, 2); - { - State = 74; Match(LSB); - State = 75; Match(RSB); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - ErrorHandler.ReportError(this, re); - ErrorHandler.Recover(this, re); - } - finally { - ExitRule(); - } - return _localctx; - } - - public partial class ValueContext : ParserRuleContext { - public ValueContext(ParserRuleContext parent, int invokingState) - : base(parent, invokingState) - { - } - public override int RuleIndex { get { return RULE_value; } } - - public ValueContext() { } - public virtual void CopyFrom(ValueContext context) { - base.CopyFrom(context); - } - } - public partial class ValueObjectContext : ValueContext { - public ObjContext obj() { - return GetRuleContext(0); - } - public ValueObjectContext(ValueContext context) { CopyFrom(context); } - public override TResult Accept(IParseTreeVisitor visitor) { - IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitValueObject(this); - else return visitor.VisitChildren(this); - } - } - public partial class ValueNullContext : ValueContext { - public ITerminalNode NULL() { return GetToken(AdaptiveCardsTemplateParser.NULL, 0); } - public ValueNullContext(ValueContext context) { CopyFrom(context); } - public override TResult Accept(IParseTreeVisitor visitor) { - IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitValueNull(this); - else return visitor.VisitChildren(this); - } - } - public partial class ValueTemplateStringContext : ValueContext { - public ITerminalNode StringDeclOpen() { return GetToken(AdaptiveCardsTemplateParser.StringDeclOpen, 0); } - public TemplateStringContext[] templateString() { - return GetRuleContexts(); - } - public TemplateStringContext templateString(int i) { - return GetRuleContext(i); - } - public ITerminalNode CLOSE() { return GetToken(AdaptiveCardsTemplateParser.CLOSE, 0); } - public ValueTemplateStringContext(ValueContext context) { CopyFrom(context); } - public override TResult Accept(IParseTreeVisitor visitor) { - IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitValueTemplateString(this); - else return visitor.VisitChildren(this); - } - } - public partial class ValueNumberContext : ValueContext { - public ITerminalNode NUMBER() { return GetToken(AdaptiveCardsTemplateParser.NUMBER, 0); } - public ValueNumberContext(ValueContext context) { CopyFrom(context); } - public override TResult Accept(IParseTreeVisitor visitor) { - IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitValueNumber(this); - else return visitor.VisitChildren(this); - } - } - public partial class ValueTrueContext : ValueContext { - public ITerminalNode TRUE() { return GetToken(AdaptiveCardsTemplateParser.TRUE, 0); } - public ValueTrueContext(ValueContext context) { CopyFrom(context); } - public override TResult Accept(IParseTreeVisitor visitor) { - IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitValueTrue(this); - else return visitor.VisitChildren(this); - } - } - public partial class ValueFalseContext : ValueContext { - public ITerminalNode FALSE() { return GetToken(AdaptiveCardsTemplateParser.FALSE, 0); } - public ValueFalseContext(ValueContext context) { CopyFrom(context); } - public override TResult Accept(IParseTreeVisitor visitor) { - IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitValueFalse(this); - else return visitor.VisitChildren(this); - } - } - public partial class ValueStringContext : ValueContext { - public ITerminalNode StringDeclOpen() { return GetToken(AdaptiveCardsTemplateParser.StringDeclOpen, 0); } - public ITerminalNode CLOSE() { return GetToken(AdaptiveCardsTemplateParser.CLOSE, 0); } - public ITerminalNode[] STRING() { return GetTokens(AdaptiveCardsTemplateParser.STRING); } - public ITerminalNode STRING(int i) { - return GetToken(AdaptiveCardsTemplateParser.STRING, i); - } - public ValueStringContext(ValueContext context) { CopyFrom(context); } - public override TResult Accept(IParseTreeVisitor visitor) { - IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitValueString(this); - else return visitor.VisitChildren(this); - } - } - public partial class ValueTemplateStringWithRootContext : ValueContext { - public ITerminalNode StringDeclOpen() { return GetToken(AdaptiveCardsTemplateParser.StringDeclOpen, 0); } - public TemplateRootContext templateRoot() { - return GetRuleContext(0); - } - public ITerminalNode CLOSE() { return GetToken(AdaptiveCardsTemplateParser.CLOSE, 0); } - public ValueTemplateStringWithRootContext(ValueContext context) { CopyFrom(context); } - public override TResult Accept(IParseTreeVisitor visitor) { - IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitValueTemplateStringWithRoot(this); - else return visitor.VisitChildren(this); - } - } - public partial class ValueArrayContext : ValueContext { - public ArrayContext array() { - return GetRuleContext(0); - } - public ValueArrayContext(ValueContext context) { CopyFrom(context); } - public override TResult Accept(IParseTreeVisitor visitor) { - IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitValueArray(this); - else return visitor.VisitChildren(this); - } - } - - [RuleVersion(0)] - public ValueContext value() { - ValueContext _localctx = new ValueContext(Context, State); - EnterRule(_localctx, 8, RULE_value); - int _la; - try { - State = 106; - ErrorHandler.Sync(this); - switch ( Interpreter.AdaptivePredict(TokenStream,8,Context) ) { - case 1: - _localctx = new ValueTemplateStringContext(_localctx); - EnterOuterAlt(_localctx, 1); - { - State = 78; Match(StringDeclOpen); - State = 79; templateString(); - State = 83; - ErrorHandler.Sync(this); - _la = TokenStream.LA(1); - while (_la==TEMPLATELITERAL || _la==STRING) { - { - { - State = 80; templateString(); - } - } - State = 85; - ErrorHandler.Sync(this); - _la = TokenStream.LA(1); - } - State = 86; Match(CLOSE); - } - break; - case 2: - _localctx = new ValueTemplateStringWithRootContext(_localctx); - EnterOuterAlt(_localctx, 2); - { - State = 88; Match(StringDeclOpen); - State = 89; templateRoot(); - State = 90; Match(CLOSE); - } - break; - case 3: - _localctx = new ValueStringContext(_localctx); - EnterOuterAlt(_localctx, 3); - { - State = 92; Match(StringDeclOpen); - State = 96; - ErrorHandler.Sync(this); - _la = TokenStream.LA(1); - while (_la==STRING) { - { - { - State = 93; Match(STRING); - } - } - State = 98; - ErrorHandler.Sync(this); - _la = TokenStream.LA(1); - } - State = 99; Match(CLOSE); - } - break; - case 4: - _localctx = new ValueNumberContext(_localctx); - EnterOuterAlt(_localctx, 4); - { - State = 100; Match(NUMBER); - } - break; - case 5: - _localctx = new ValueObjectContext(_localctx); - EnterOuterAlt(_localctx, 5); - { - State = 101; obj(); - } - break; - case 6: - _localctx = new ValueArrayContext(_localctx); - EnterOuterAlt(_localctx, 6); - { - State = 102; array(); - } - break; - case 7: - _localctx = new ValueTrueContext(_localctx); - EnterOuterAlt(_localctx, 7); - { - State = 103; Match(TRUE); - } - break; - case 8: - _localctx = new ValueFalseContext(_localctx); - EnterOuterAlt(_localctx, 8); - { - State = 104; Match(FALSE); - } - break; - case 9: - _localctx = new ValueNullContext(_localctx); - EnterOuterAlt(_localctx, 9); - { - State = 105; Match(NULL); - } - break; - } - } - catch (RecognitionException re) { - _localctx.exception = re; - ErrorHandler.ReportError(this, re); - ErrorHandler.Recover(this, re); - } - finally { - ExitRule(); - } - return _localctx; - } - - public partial class TemplateStringContext : ParserRuleContext { - public TemplateStringContext(ParserRuleContext parent, int invokingState) - : base(parent, invokingState) - { - } - public override int RuleIndex { get { return RULE_templateString; } } - - public TemplateStringContext() { } - public virtual void CopyFrom(TemplateStringContext context) { - base.CopyFrom(context); - } - } - public partial class TemplatedStringContext : TemplateStringContext { - public ITerminalNode TEMPLATELITERAL() { return GetToken(AdaptiveCardsTemplateParser.TEMPLATELITERAL, 0); } - public ITerminalNode[] STRING() { return GetTokens(AdaptiveCardsTemplateParser.STRING); } - public ITerminalNode STRING(int i) { - return GetToken(AdaptiveCardsTemplateParser.STRING, i); - } - public TemplatedStringContext(TemplateStringContext context) { CopyFrom(context); } - public override TResult Accept(IParseTreeVisitor visitor) { - IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitTemplatedString(this); - else return visitor.VisitChildren(this); - } - } - - [RuleVersion(0)] - public TemplateStringContext templateString() { - TemplateStringContext _localctx = new TemplateStringContext(Context, State); - EnterRule(_localctx, 10, RULE_templateString); - int _la; - try { - int _alt; - _localctx = new TemplatedStringContext(_localctx); - EnterOuterAlt(_localctx, 1); - { - { - State = 111; - ErrorHandler.Sync(this); - _la = TokenStream.LA(1); - while (_la==STRING) { - { - { - State = 108; Match(STRING); - } - } - State = 113; - ErrorHandler.Sync(this); - _la = TokenStream.LA(1); - } - State = 114; Match(TEMPLATELITERAL); - State = 118; - ErrorHandler.Sync(this); - _alt = Interpreter.AdaptivePredict(TokenStream,10,Context); - while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { - if ( _alt==1 ) { - { - { - State = 115; Match(STRING); - } - } - } - State = 120; - ErrorHandler.Sync(this); - _alt = Interpreter.AdaptivePredict(TokenStream,10,Context); - } - } - } - } - catch (RecognitionException re) { - _localctx.exception = re; - ErrorHandler.ReportError(this, re); - ErrorHandler.Recover(this, re); - } - finally { - ExitRule(); - } - return _localctx; - } - - public partial class TemplateRootContext : ParserRuleContext { - public TemplateRootContext(ParserRuleContext parent, int invokingState) - : base(parent, invokingState) - { - } - public override int RuleIndex { get { return RULE_templateRoot; } } - - public TemplateRootContext() { } - public virtual void CopyFrom(TemplateRootContext context) { - base.CopyFrom(context); - } - } - public partial class TemplateStringWithRootContext : TemplateRootContext { - public ITerminalNode TEMPLATEROOT() { return GetToken(AdaptiveCardsTemplateParser.TEMPLATEROOT, 0); } - public TemplateStringWithRootContext(TemplateRootContext context) { CopyFrom(context); } - public override TResult Accept(IParseTreeVisitor visitor) { - IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitTemplateStringWithRoot(this); - else return visitor.VisitChildren(this); - } - } - - [RuleVersion(0)] - public TemplateRootContext templateRoot() { - TemplateRootContext _localctx = new TemplateRootContext(Context, State); - EnterRule(_localctx, 12, RULE_templateRoot); - try { - _localctx = new TemplateStringWithRootContext(_localctx); - EnterOuterAlt(_localctx, 1); - { - State = 121; Match(TEMPLATEROOT); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - ErrorHandler.ReportError(this, re); - ErrorHandler.Recover(this, re); - } - finally { - ExitRule(); - } - return _localctx; - } - - public partial class TemplateExpressionContext : ParserRuleContext { - public TemplateExpressionContext(ParserRuleContext parent, int invokingState) - : base(parent, invokingState) - { - } - public override int RuleIndex { get { return RULE_templateExpression; } } - - public TemplateExpressionContext() { } - public virtual void CopyFrom(TemplateExpressionContext context) { - base.CopyFrom(context); - } - } - public partial class ValueTemplateExpressionContext : TemplateExpressionContext { - public ITerminalNode StringDeclOpen() { return GetToken(AdaptiveCardsTemplateParser.StringDeclOpen, 0); } - public ITerminalNode TEMPLATELITERAL() { return GetToken(AdaptiveCardsTemplateParser.TEMPLATELITERAL, 0); } - public ITerminalNode CLOSE() { return GetToken(AdaptiveCardsTemplateParser.CLOSE, 0); } - public ValueTemplateExpressionContext(TemplateExpressionContext context) { CopyFrom(context); } - public override TResult Accept(IParseTreeVisitor visitor) { - IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; - if (typedVisitor != null) return typedVisitor.VisitValueTemplateExpression(this); - else return visitor.VisitChildren(this); - } - } - - [RuleVersion(0)] - public TemplateExpressionContext templateExpression() { - TemplateExpressionContext _localctx = new TemplateExpressionContext(Context, State); - EnterRule(_localctx, 14, RULE_templateExpression); - try { - _localctx = new ValueTemplateExpressionContext(_localctx); - EnterOuterAlt(_localctx, 1); - { - State = 123; Match(StringDeclOpen); - State = 124; Match(TEMPLATELITERAL); - State = 125; Match(CLOSE); - } - } - catch (RecognitionException re) { - _localctx.exception = re; - ErrorHandler.ReportError(this, re); - ErrorHandler.Recover(this, re); - } - finally { - ExitRule(); - } - return _localctx; - } - - private static char[] _serializedATN = { - '\x3', '\x608B', '\xA72A', '\x8133', '\xB9ED', '\x417C', '\x3BE7', '\x7786', - '\x5964', '\x3', '\x15', '\x82', '\x4', '\x2', '\t', '\x2', '\x4', '\x3', - '\t', '\x3', '\x4', '\x4', '\t', '\x4', '\x4', '\x5', '\t', '\x5', '\x4', - '\x6', '\t', '\x6', '\x4', '\a', '\t', '\a', '\x4', '\b', '\t', '\b', - '\x4', '\t', '\t', '\t', '\x3', '\x2', '\x3', '\x2', '\x3', '\x3', '\x3', - '\x3', '\x3', '\x3', '\x3', '\x3', '\a', '\x3', '\x19', '\n', '\x3', '\f', - '\x3', '\xE', '\x3', '\x1C', '\v', '\x3', '\x3', '\x3', '\x3', '\x3', - '\x3', '\x3', '\x3', '\x3', '\x5', '\x3', '\"', '\n', '\x3', '\x3', '\x4', - '\x3', '\x4', '\a', '\x4', '&', '\n', '\x4', '\f', '\x4', '\xE', '\x4', - ')', '\v', '\x4', '\x3', '\x4', '\x3', '\x4', '\x3', '\x4', '\x3', '\x4', - '\x3', '\x4', '\x3', '\x4', '\x3', '\x4', '\x3', '\x4', '\x3', '\x4', - '\x3', '\x4', '\x3', '\x4', '\x3', '\x4', '\x3', '\x4', '\x3', '\x4', - '\x3', '\x4', '\x3', '\x4', '\x3', '\x4', '\x3', '\x4', '\x3', '\x4', - '\x3', '\x4', '\x3', '\x4', '\x5', '\x4', '@', '\n', '\x4', '\x3', '\x5', - '\x3', '\x5', '\x3', '\x5', '\x3', '\x5', '\a', '\x5', '\x46', '\n', '\x5', - '\f', '\x5', '\xE', '\x5', 'I', '\v', '\x5', '\x3', '\x5', '\x3', '\x5', - '\x3', '\x5', '\x3', '\x5', '\x5', '\x5', 'O', '\n', '\x5', '\x3', '\x6', - '\x3', '\x6', '\x3', '\x6', '\a', '\x6', 'T', '\n', '\x6', '\f', '\x6', - '\xE', '\x6', 'W', '\v', '\x6', '\x3', '\x6', '\x3', '\x6', '\x3', '\x6', - '\x3', '\x6', '\x3', '\x6', '\x3', '\x6', '\x3', '\x6', '\x3', '\x6', - '\a', '\x6', '\x61', '\n', '\x6', '\f', '\x6', '\xE', '\x6', '\x64', '\v', - '\x6', '\x3', '\x6', '\x3', '\x6', '\x3', '\x6', '\x3', '\x6', '\x3', - '\x6', '\x3', '\x6', '\x3', '\x6', '\x5', '\x6', 'm', '\n', '\x6', '\x3', - '\a', '\a', '\a', 'p', '\n', '\a', '\f', '\a', '\xE', '\a', 's', '\v', - '\a', '\x3', '\a', '\x3', '\a', '\a', '\a', 'w', '\n', '\a', '\f', '\a', - '\xE', '\a', 'z', '\v', '\a', '\x3', '\b', '\x3', '\b', '\x3', '\t', '\x3', - '\t', '\x3', '\t', '\x3', '\t', '\x3', '\t', '\x2', '\x2', '\n', '\x2', - '\x4', '\x6', '\b', '\n', '\f', '\xE', '\x10', '\x2', '\x2', '\x2', '\x8D', - '\x2', '\x12', '\x3', '\x2', '\x2', '\x2', '\x4', '!', '\x3', '\x2', '\x2', - '\x2', '\x6', '?', '\x3', '\x2', '\x2', '\x2', '\b', 'N', '\x3', '\x2', - '\x2', '\x2', '\n', 'l', '\x3', '\x2', '\x2', '\x2', '\f', 'q', '\x3', - '\x2', '\x2', '\x2', '\xE', '{', '\x3', '\x2', '\x2', '\x2', '\x10', '}', - '\x3', '\x2', '\x2', '\x2', '\x12', '\x13', '\x5', '\n', '\x6', '\x2', - '\x13', '\x3', '\x3', '\x2', '\x2', '\x2', '\x14', '\x15', '\a', '\x5', - '\x2', '\x2', '\x15', '\x1A', '\x5', '\x6', '\x4', '\x2', '\x16', '\x17', - '\a', '\x3', '\x2', '\x2', '\x17', '\x19', '\x5', '\x6', '\x4', '\x2', - '\x18', '\x16', '\x3', '\x2', '\x2', '\x2', '\x19', '\x1C', '\x3', '\x2', - '\x2', '\x2', '\x1A', '\x18', '\x3', '\x2', '\x2', '\x2', '\x1A', '\x1B', - '\x3', '\x2', '\x2', '\x2', '\x1B', '\x1D', '\x3', '\x2', '\x2', '\x2', - '\x1C', '\x1A', '\x3', '\x2', '\x2', '\x2', '\x1D', '\x1E', '\a', '\x6', - '\x2', '\x2', '\x1E', '\"', '\x3', '\x2', '\x2', '\x2', '\x1F', ' ', '\a', - '\x5', '\x2', '\x2', ' ', '\"', '\a', '\x6', '\x2', '\x2', '!', '\x14', - '\x3', '\x2', '\x2', '\x2', '!', '\x1F', '\x3', '\x2', '\x2', '\x2', '\"', - '\x5', '\x3', '\x2', '\x2', '\x2', '#', '\'', '\a', '\f', '\x2', '\x2', - '$', '&', '\a', '\x15', '\x2', '\x2', '%', '$', '\x3', '\x2', '\x2', '\x2', - '&', ')', '\x3', '\x2', '\x2', '\x2', '\'', '%', '\x3', '\x2', '\x2', - '\x2', '\'', '(', '\x3', '\x2', '\x2', '\x2', '(', '*', '\x3', '\x2', - '\x2', '\x2', ')', '\'', '\x3', '\x2', '\x2', '\x2', '*', '+', '\a', '\xF', - '\x2', '\x2', '+', ',', '\a', '\x4', '\x2', '\x2', ',', '@', '\x5', '\n', - '\x6', '\x2', '-', '.', '\a', '\f', '\x2', '\x2', '.', '/', '\a', '\x10', - '\x2', '\x2', '/', '\x30', '\a', '\xF', '\x2', '\x2', '\x30', '\x31', - '\a', '\x4', '\x2', '\x2', '\x31', '\x32', '\a', '\f', '\x2', '\x2', '\x32', - '\x33', '\x5', '\xE', '\b', '\x2', '\x33', '\x34', '\a', '\xF', '\x2', - '\x2', '\x34', '@', '\x3', '\x2', '\x2', '\x2', '\x35', '\x36', '\a', - '\f', '\x2', '\x2', '\x36', '\x37', '\a', '\x10', '\x2', '\x2', '\x37', - '\x38', '\a', '\xF', '\x2', '\x2', '\x38', '\x39', '\a', '\x4', '\x2', - '\x2', '\x39', '@', '\x5', '\n', '\x6', '\x2', ':', ';', '\a', '\f', '\x2', - '\x2', ';', '<', '\a', '\x11', '\x2', '\x2', '<', '=', '\a', '\xF', '\x2', - '\x2', '=', '>', '\a', '\x4', '\x2', '\x2', '>', '@', '\x5', '\x10', '\t', - '\x2', '?', '#', '\x3', '\x2', '\x2', '\x2', '?', '-', '\x3', '\x2', '\x2', - '\x2', '?', '\x35', '\x3', '\x2', '\x2', '\x2', '?', ':', '\x3', '\x2', - '\x2', '\x2', '@', '\a', '\x3', '\x2', '\x2', '\x2', '\x41', '\x42', '\a', - '\a', '\x2', '\x2', '\x42', 'G', '\x5', '\n', '\x6', '\x2', '\x43', '\x44', - '\a', '\x3', '\x2', '\x2', '\x44', '\x46', '\x5', '\n', '\x6', '\x2', - '\x45', '\x43', '\x3', '\x2', '\x2', '\x2', '\x46', 'I', '\x3', '\x2', - '\x2', '\x2', 'G', '\x45', '\x3', '\x2', '\x2', '\x2', 'G', 'H', '\x3', - '\x2', '\x2', '\x2', 'H', 'J', '\x3', '\x2', '\x2', '\x2', 'I', 'G', '\x3', - '\x2', '\x2', '\x2', 'J', 'K', '\a', '\b', '\x2', '\x2', 'K', 'O', '\x3', - '\x2', '\x2', '\x2', 'L', 'M', '\a', '\a', '\x2', '\x2', 'M', 'O', '\a', - '\b', '\x2', '\x2', 'N', '\x41', '\x3', '\x2', '\x2', '\x2', 'N', 'L', - '\x3', '\x2', '\x2', '\x2', 'O', '\t', '\x3', '\x2', '\x2', '\x2', 'P', - 'Q', '\a', '\f', '\x2', '\x2', 'Q', 'U', '\x5', '\f', '\a', '\x2', 'R', - 'T', '\x5', '\f', '\a', '\x2', 'S', 'R', '\x3', '\x2', '\x2', '\x2', 'T', - 'W', '\x3', '\x2', '\x2', '\x2', 'U', 'S', '\x3', '\x2', '\x2', '\x2', - 'U', 'V', '\x3', '\x2', '\x2', '\x2', 'V', 'X', '\x3', '\x2', '\x2', '\x2', - 'W', 'U', '\x3', '\x2', '\x2', '\x2', 'X', 'Y', '\a', '\xF', '\x2', '\x2', - 'Y', 'm', '\x3', '\x2', '\x2', '\x2', 'Z', '[', '\a', '\f', '\x2', '\x2', - '[', '\\', '\x5', '\xE', '\b', '\x2', '\\', ']', '\a', '\xF', '\x2', '\x2', - ']', 'm', '\x3', '\x2', '\x2', '\x2', '^', '\x62', '\a', '\f', '\x2', - '\x2', '_', '\x61', '\a', '\x15', '\x2', '\x2', '`', '_', '\x3', '\x2', - '\x2', '\x2', '\x61', '\x64', '\x3', '\x2', '\x2', '\x2', '\x62', '`', - '\x3', '\x2', '\x2', '\x2', '\x62', '\x63', '\x3', '\x2', '\x2', '\x2', - '\x63', '\x65', '\x3', '\x2', '\x2', '\x2', '\x64', '\x62', '\x3', '\x2', - '\x2', '\x2', '\x65', 'm', '\a', '\xF', '\x2', '\x2', '\x66', 'm', '\a', - '\r', '\x2', '\x2', 'g', 'm', '\x5', '\x4', '\x3', '\x2', 'h', 'm', '\x5', - '\b', '\x5', '\x2', 'i', 'm', '\a', '\t', '\x2', '\x2', 'j', 'm', '\a', - '\n', '\x2', '\x2', 'k', 'm', '\a', '\v', '\x2', '\x2', 'l', 'P', '\x3', - '\x2', '\x2', '\x2', 'l', 'Z', '\x3', '\x2', '\x2', '\x2', 'l', '^', '\x3', - '\x2', '\x2', '\x2', 'l', '\x66', '\x3', '\x2', '\x2', '\x2', 'l', 'g', - '\x3', '\x2', '\x2', '\x2', 'l', 'h', '\x3', '\x2', '\x2', '\x2', 'l', - 'i', '\x3', '\x2', '\x2', '\x2', 'l', 'j', '\x3', '\x2', '\x2', '\x2', - 'l', 'k', '\x3', '\x2', '\x2', '\x2', 'm', '\v', '\x3', '\x2', '\x2', - '\x2', 'n', 'p', '\a', '\x15', '\x2', '\x2', 'o', 'n', '\x3', '\x2', '\x2', - '\x2', 'p', 's', '\x3', '\x2', '\x2', '\x2', 'q', 'o', '\x3', '\x2', '\x2', - '\x2', 'q', 'r', '\x3', '\x2', '\x2', '\x2', 'r', 't', '\x3', '\x2', '\x2', - '\x2', 's', 'q', '\x3', '\x2', '\x2', '\x2', 't', 'x', '\a', '\x13', '\x2', - '\x2', 'u', 'w', '\a', '\x15', '\x2', '\x2', 'v', 'u', '\x3', '\x2', '\x2', - '\x2', 'w', 'z', '\x3', '\x2', '\x2', '\x2', 'x', 'v', '\x3', '\x2', '\x2', - '\x2', 'x', 'y', '\x3', '\x2', '\x2', '\x2', 'y', '\r', '\x3', '\x2', - '\x2', '\x2', 'z', 'x', '\x3', '\x2', '\x2', '\x2', '{', '|', '\a', '\x14', - '\x2', '\x2', '|', '\xF', '\x3', '\x2', '\x2', '\x2', '}', '~', '\a', - '\f', '\x2', '\x2', '~', '\x7F', '\a', '\x13', '\x2', '\x2', '\x7F', '\x80', - '\a', '\xF', '\x2', '\x2', '\x80', '\x11', '\x3', '\x2', '\x2', '\x2', - '\r', '\x1A', '!', '\'', '?', 'G', 'N', 'U', '\x62', 'l', 'q', 'x', - }; - - public static readonly ATN _ATN = - new ATNDeserializer().Deserialize(_serializedATN); + protected static DFA[] decisionToDFA; + protected static PredictionContextCache sharedContextCache = new PredictionContextCache(); + public const int + COMMA=1, COLON=2, LCB=3, RCB=4, LSB=5, RSB=6, TRUE=7, FALSE=8, NULL=9, + StringDeclOpen=10, NUMBER=11, WS=12, CLOSE=13, TEMPLATEDATA=14, TEMPLATEWHEN=15, + JPATH=16, TEMPLATELITERAL=17, TEMPLATEROOT=18, STRING=19; + public const int + RULE_json = 0, RULE_obj = 1, RULE_pair = 2, RULE_array = 3, RULE_value = 4, + RULE_templateString = 5, RULE_templateRoot = 6, RULE_templateExpression = 7; + public static readonly string[] ruleNames = { + "json", "obj", "pair", "array", "value", "templateString", "templateRoot", + "templateExpression" + }; + + private static readonly string[] _LiteralNames = { + null, "','", "':'", "'{'", "'}'", "'['", "']'", "'true'", "'false'", "'null'", + null, null, null, null, "'$data'", "'$when'" + }; + private static readonly string[] _SymbolicNames = { + null, "COMMA", "COLON", "LCB", "RCB", "LSB", "RSB", "TRUE", "FALSE", "NULL", + "StringDeclOpen", "NUMBER", "WS", "CLOSE", "TEMPLATEDATA", "TEMPLATEWHEN", + "JPATH", "TEMPLATELITERAL", "TEMPLATEROOT", "STRING" + }; + public static readonly IVocabulary DefaultVocabulary = new Vocabulary(_LiteralNames, _SymbolicNames); + + [NotNull] + public override IVocabulary Vocabulary + { + get + { + return DefaultVocabulary; + } + } + + public override string GrammarFileName { get { return "AdaptiveCardsTemplateParser.g4"; } } + + public override string[] RuleNames { get { return ruleNames; } } + + public override int[] SerializedAtn { get { return _serializedATN; } } + + static AdaptiveCardsTemplateParser() { + decisionToDFA = new DFA[_ATN.NumberOfDecisions]; + for (int i = 0; i < _ATN.NumberOfDecisions; i++) { + decisionToDFA[i] = new DFA(_ATN.GetDecisionState(i), i); + } + } + + public AdaptiveCardsTemplateParser(ITokenStream input) : this(input, Console.Out, Console.Error) { } + + public AdaptiveCardsTemplateParser(ITokenStream input, TextWriter output, TextWriter errorOutput) + : base(input, output, errorOutput) + { + Interpreter = new ParserATNSimulator(this, _ATN, decisionToDFA, sharedContextCache); + } + + public partial class JsonContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ValueContext value() { + return GetRuleContext(0); + } + public JsonContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_json; } } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitJson(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public JsonContext json() { + JsonContext _localctx = new JsonContext(Context, State); + EnterRule(_localctx, 0, RULE_json); + try { + EnterOuterAlt(_localctx, 1); + { + State = 16; + value(); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ObjContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LCB() { return GetToken(AdaptiveCardsTemplateParser.LCB, 0); } + [System.Diagnostics.DebuggerNonUserCode] public PairContext[] pair() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public PairContext pair(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RCB() { return GetToken(AdaptiveCardsTemplateParser.RCB, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(AdaptiveCardsTemplateParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(AdaptiveCardsTemplateParser.COMMA, i); + } + public ObjContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_obj; } } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitObj(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ObjContext obj() { + ObjContext _localctx = new ObjContext(Context, State); + EnterRule(_localctx, 2, RULE_obj); + int _la; + try { + State = 31; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,1,Context) ) { + case 1: + EnterOuterAlt(_localctx, 1); + { + State = 18; + Match(LCB); + State = 19; + pair(); + State = 24; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==COMMA) { + { + { + State = 20; + Match(COMMA); + State = 21; + pair(); + } + } + State = 26; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 27; + Match(RCB); + } + break; + case 2: + EnterOuterAlt(_localctx, 2); + { + State = 29; + Match(LCB); + State = 30; + Match(RCB); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class PairContext : ParserRuleContext { + public PairContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_pair; } } + + public PairContext() { } + public virtual void CopyFrom(PairContext context) { + base.CopyFrom(context); + } + } + public partial class TemplateWhenContext : PairContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode StringDeclOpen() { return GetToken(AdaptiveCardsTemplateParser.StringDeclOpen, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TEMPLATEWHEN() { return GetToken(AdaptiveCardsTemplateParser.TEMPLATEWHEN, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CLOSE() { return GetToken(AdaptiveCardsTemplateParser.CLOSE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COLON() { return GetToken(AdaptiveCardsTemplateParser.COLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TemplateExpressionContext templateExpression() { + return GetRuleContext(0); + } + public TemplateWhenContext(PairContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTemplateWhen(this); + else return visitor.VisitChildren(this); + } + } + public partial class JsonPairContext : PairContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode StringDeclOpen() { return GetToken(AdaptiveCardsTemplateParser.StringDeclOpen, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CLOSE() { return GetToken(AdaptiveCardsTemplateParser.CLOSE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COLON() { return GetToken(AdaptiveCardsTemplateParser.COLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueContext value() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] STRING() { return GetTokens(AdaptiveCardsTemplateParser.STRING); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STRING(int i) { + return GetToken(AdaptiveCardsTemplateParser.STRING, i); + } + public JsonPairContext(PairContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitJsonPair(this); + else return visitor.VisitChildren(this); + } + } + public partial class TemplateDataContext : PairContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode StringDeclOpen() { return GetToken(AdaptiveCardsTemplateParser.StringDeclOpen, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TEMPLATEDATA() { return GetToken(AdaptiveCardsTemplateParser.TEMPLATEDATA, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CLOSE() { return GetToken(AdaptiveCardsTemplateParser.CLOSE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COLON() { return GetToken(AdaptiveCardsTemplateParser.COLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueContext value() { + return GetRuleContext(0); + } + public TemplateDataContext(PairContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTemplateData(this); + else return visitor.VisitChildren(this); + } + } + public partial class TemplateRootDataContext : PairContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] StringDeclOpen() { return GetTokens(AdaptiveCardsTemplateParser.StringDeclOpen); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode StringDeclOpen(int i) { + return GetToken(AdaptiveCardsTemplateParser.StringDeclOpen, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TEMPLATEDATA() { return GetToken(AdaptiveCardsTemplateParser.TEMPLATEDATA, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] CLOSE() { return GetTokens(AdaptiveCardsTemplateParser.CLOSE); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CLOSE(int i) { + return GetToken(AdaptiveCardsTemplateParser.CLOSE, i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COLON() { return GetToken(AdaptiveCardsTemplateParser.COLON, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TemplateRootContext templateRoot() { + return GetRuleContext(0); + } + public TemplateRootDataContext(PairContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTemplateRootData(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public PairContext pair() { + PairContext _localctx = new PairContext(Context, State); + EnterRule(_localctx, 4, RULE_pair); + int _la; + try { + State = 61; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,3,Context) ) { + case 1: + _localctx = new JsonPairContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 33; + Match(StringDeclOpen); + State = 37; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==STRING) { + { + { + State = 34; + Match(STRING); + } + } + State = 39; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 40; + Match(CLOSE); + State = 41; + Match(COLON); + State = 42; + value(); + } + break; + case 2: + _localctx = new TemplateRootDataContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 43; + Match(StringDeclOpen); + State = 44; + Match(TEMPLATEDATA); + State = 45; + Match(CLOSE); + State = 46; + Match(COLON); + State = 47; + Match(StringDeclOpen); + State = 48; + templateRoot(); + State = 49; + Match(CLOSE); + } + break; + case 3: + _localctx = new TemplateDataContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 51; + Match(StringDeclOpen); + State = 52; + Match(TEMPLATEDATA); + State = 53; + Match(CLOSE); + State = 54; + Match(COLON); + State = 55; + value(); + } + break; + case 4: + _localctx = new TemplateWhenContext(_localctx); + EnterOuterAlt(_localctx, 4); + { + State = 56; + Match(StringDeclOpen); + State = 57; + Match(TEMPLATEWHEN); + State = 58; + Match(CLOSE); + State = 59; + Match(COLON); + State = 60; + templateExpression(); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ArrayContext : ParserRuleContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode LSB() { return GetToken(AdaptiveCardsTemplateParser.LSB, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ValueContext[] value() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public ValueContext value(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode RSB() { return GetToken(AdaptiveCardsTemplateParser.RSB, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] COMMA() { return GetTokens(AdaptiveCardsTemplateParser.COMMA); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode COMMA(int i) { + return GetToken(AdaptiveCardsTemplateParser.COMMA, i); + } + public ArrayContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_array; } } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitArray(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ArrayContext array() { + ArrayContext _localctx = new ArrayContext(Context, State); + EnterRule(_localctx, 6, RULE_array); + int _la; + try { + State = 76; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,5,Context) ) { + case 1: + EnterOuterAlt(_localctx, 1); + { + State = 63; + Match(LSB); + State = 64; + value(); + State = 69; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==COMMA) { + { + { + State = 65; + Match(COMMA); + State = 66; + value(); + } + } + State = 71; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 72; + Match(RSB); + } + break; + case 2: + EnterOuterAlt(_localctx, 2); + { + State = 74; + Match(LSB); + State = 75; + Match(RSB); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class ValueContext : ParserRuleContext { + public ValueContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_value; } } + + public ValueContext() { } + public virtual void CopyFrom(ValueContext context) { + base.CopyFrom(context); + } + } + public partial class ValueObjectContext : ValueContext { + [System.Diagnostics.DebuggerNonUserCode] public ObjContext obj() { + return GetRuleContext(0); + } + public ValueObjectContext(ValueContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitValueObject(this); + else return visitor.VisitChildren(this); + } + } + public partial class ValueNullContext : ValueContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NULL() { return GetToken(AdaptiveCardsTemplateParser.NULL, 0); } + public ValueNullContext(ValueContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitValueNull(this); + else return visitor.VisitChildren(this); + } + } + public partial class ValueTemplateStringContext : ValueContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode StringDeclOpen() { return GetToken(AdaptiveCardsTemplateParser.StringDeclOpen, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TemplateStringContext[] templateString() { + return GetRuleContexts(); + } + [System.Diagnostics.DebuggerNonUserCode] public TemplateStringContext templateString(int i) { + return GetRuleContext(i); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CLOSE() { return GetToken(AdaptiveCardsTemplateParser.CLOSE, 0); } + public ValueTemplateStringContext(ValueContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitValueTemplateString(this); + else return visitor.VisitChildren(this); + } + } + public partial class ValueNumberContext : ValueContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode NUMBER() { return GetToken(AdaptiveCardsTemplateParser.NUMBER, 0); } + public ValueNumberContext(ValueContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitValueNumber(this); + else return visitor.VisitChildren(this); + } + } + public partial class ValueTrueContext : ValueContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TRUE() { return GetToken(AdaptiveCardsTemplateParser.TRUE, 0); } + public ValueTrueContext(ValueContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitValueTrue(this); + else return visitor.VisitChildren(this); + } + } + public partial class ValueFalseContext : ValueContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode FALSE() { return GetToken(AdaptiveCardsTemplateParser.FALSE, 0); } + public ValueFalseContext(ValueContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitValueFalse(this); + else return visitor.VisitChildren(this); + } + } + public partial class ValueStringContext : ValueContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode StringDeclOpen() { return GetToken(AdaptiveCardsTemplateParser.StringDeclOpen, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CLOSE() { return GetToken(AdaptiveCardsTemplateParser.CLOSE, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] STRING() { return GetTokens(AdaptiveCardsTemplateParser.STRING); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STRING(int i) { + return GetToken(AdaptiveCardsTemplateParser.STRING, i); + } + public ValueStringContext(ValueContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitValueString(this); + else return visitor.VisitChildren(this); + } + } + public partial class ValueTemplateStringWithRootContext : ValueContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode StringDeclOpen() { return GetToken(AdaptiveCardsTemplateParser.StringDeclOpen, 0); } + [System.Diagnostics.DebuggerNonUserCode] public TemplateRootContext templateRoot() { + return GetRuleContext(0); + } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CLOSE() { return GetToken(AdaptiveCardsTemplateParser.CLOSE, 0); } + public ValueTemplateStringWithRootContext(ValueContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitValueTemplateStringWithRoot(this); + else return visitor.VisitChildren(this); + } + } + public partial class ValueArrayContext : ValueContext { + [System.Diagnostics.DebuggerNonUserCode] public ArrayContext array() { + return GetRuleContext(0); + } + public ValueArrayContext(ValueContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitValueArray(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public ValueContext value() { + ValueContext _localctx = new ValueContext(Context, State); + EnterRule(_localctx, 8, RULE_value); + int _la; + try { + State = 106; + ErrorHandler.Sync(this); + switch ( Interpreter.AdaptivePredict(TokenStream,8,Context) ) { + case 1: + _localctx = new ValueTemplateStringContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 78; + Match(StringDeclOpen); + State = 79; + templateString(); + State = 83; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==TEMPLATELITERAL || _la==STRING) { + { + { + State = 80; + templateString(); + } + } + State = 85; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 86; + Match(CLOSE); + } + break; + case 2: + _localctx = new ValueTemplateStringWithRootContext(_localctx); + EnterOuterAlt(_localctx, 2); + { + State = 88; + Match(StringDeclOpen); + State = 89; + templateRoot(); + State = 90; + Match(CLOSE); + } + break; + case 3: + _localctx = new ValueStringContext(_localctx); + EnterOuterAlt(_localctx, 3); + { + State = 92; + Match(StringDeclOpen); + State = 96; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==STRING) { + { + { + State = 93; + Match(STRING); + } + } + State = 98; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 99; + Match(CLOSE); + } + break; + case 4: + _localctx = new ValueNumberContext(_localctx); + EnterOuterAlt(_localctx, 4); + { + State = 100; + Match(NUMBER); + } + break; + case 5: + _localctx = new ValueObjectContext(_localctx); + EnterOuterAlt(_localctx, 5); + { + State = 101; + obj(); + } + break; + case 6: + _localctx = new ValueArrayContext(_localctx); + EnterOuterAlt(_localctx, 6); + { + State = 102; + array(); + } + break; + case 7: + _localctx = new ValueTrueContext(_localctx); + EnterOuterAlt(_localctx, 7); + { + State = 103; + Match(TRUE); + } + break; + case 8: + _localctx = new ValueFalseContext(_localctx); + EnterOuterAlt(_localctx, 8); + { + State = 104; + Match(FALSE); + } + break; + case 9: + _localctx = new ValueNullContext(_localctx); + EnterOuterAlt(_localctx, 9); + { + State = 105; + Match(NULL); + } + break; + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class TemplateStringContext : ParserRuleContext { + public TemplateStringContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_templateString; } } + + public TemplateStringContext() { } + public virtual void CopyFrom(TemplateStringContext context) { + base.CopyFrom(context); + } + } + public partial class TemplatedStringContext : TemplateStringContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TEMPLATELITERAL() { return GetToken(AdaptiveCardsTemplateParser.TEMPLATELITERAL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode[] STRING() { return GetTokens(AdaptiveCardsTemplateParser.STRING); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode STRING(int i) { + return GetToken(AdaptiveCardsTemplateParser.STRING, i); + } + public TemplatedStringContext(TemplateStringContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTemplatedString(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public TemplateStringContext templateString() { + TemplateStringContext _localctx = new TemplateStringContext(Context, State); + EnterRule(_localctx, 10, RULE_templateString); + int _la; + try { + int _alt; + _localctx = new TemplatedStringContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + { + State = 111; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + while (_la==STRING) { + { + { + State = 108; + Match(STRING); + } + } + State = 113; + ErrorHandler.Sync(this); + _la = TokenStream.LA(1); + } + State = 114; + Match(TEMPLATELITERAL); + State = 118; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,10,Context); + while ( _alt!=2 && _alt!=global::Antlr4.Runtime.Atn.ATN.INVALID_ALT_NUMBER ) { + if ( _alt==1 ) { + { + { + State = 115; + Match(STRING); + } + } + } + State = 120; + ErrorHandler.Sync(this); + _alt = Interpreter.AdaptivePredict(TokenStream,10,Context); + } + } + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class TemplateRootContext : ParserRuleContext { + public TemplateRootContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_templateRoot; } } + + public TemplateRootContext() { } + public virtual void CopyFrom(TemplateRootContext context) { + base.CopyFrom(context); + } + } + public partial class TemplateStringWithRootContext : TemplateRootContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TEMPLATEROOT() { return GetToken(AdaptiveCardsTemplateParser.TEMPLATEROOT, 0); } + public TemplateStringWithRootContext(TemplateRootContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitTemplateStringWithRoot(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public TemplateRootContext templateRoot() { + TemplateRootContext _localctx = new TemplateRootContext(Context, State); + EnterRule(_localctx, 12, RULE_templateRoot); + try { + _localctx = new TemplateStringWithRootContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 121; + Match(TEMPLATEROOT); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + public partial class TemplateExpressionContext : ParserRuleContext { + public TemplateExpressionContext(ParserRuleContext parent, int invokingState) + : base(parent, invokingState) + { + } + public override int RuleIndex { get { return RULE_templateExpression; } } + + public TemplateExpressionContext() { } + public virtual void CopyFrom(TemplateExpressionContext context) { + base.CopyFrom(context); + } + } + public partial class ValueTemplateExpressionContext : TemplateExpressionContext { + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode StringDeclOpen() { return GetToken(AdaptiveCardsTemplateParser.StringDeclOpen, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode TEMPLATELITERAL() { return GetToken(AdaptiveCardsTemplateParser.TEMPLATELITERAL, 0); } + [System.Diagnostics.DebuggerNonUserCode] public ITerminalNode CLOSE() { return GetToken(AdaptiveCardsTemplateParser.CLOSE, 0); } + public ValueTemplateExpressionContext(TemplateExpressionContext context) { CopyFrom(context); } + [System.Diagnostics.DebuggerNonUserCode] + public override TResult Accept(IParseTreeVisitor visitor) { + IAdaptiveCardsTemplateParserVisitor typedVisitor = visitor as IAdaptiveCardsTemplateParserVisitor; + if (typedVisitor != null) return typedVisitor.VisitValueTemplateExpression(this); + else return visitor.VisitChildren(this); + } + } + + [RuleVersion(0)] + public TemplateExpressionContext templateExpression() { + TemplateExpressionContext _localctx = new TemplateExpressionContext(Context, State); + EnterRule(_localctx, 14, RULE_templateExpression); + try { + _localctx = new ValueTemplateExpressionContext(_localctx); + EnterOuterAlt(_localctx, 1); + { + State = 123; + Match(StringDeclOpen); + State = 124; + Match(TEMPLATELITERAL); + State = 125; + Match(CLOSE); + } + } + catch (RecognitionException re) { + _localctx.exception = re; + ErrorHandler.ReportError(this, re); + ErrorHandler.Recover(this, re); + } + finally { + ExitRule(); + } + return _localctx; + } + + private static int[] _serializedATN = { + 4,1,19,128,2,0,7,0,2,1,7,1,2,2,7,2,2,3,7,3,2,4,7,4,2,5,7,5,2,6,7,6,2,7, + 7,7,1,0,1,0,1,1,1,1,1,1,1,1,5,1,23,8,1,10,1,12,1,26,9,1,1,1,1,1,1,1,1, + 1,3,1,32,8,1,1,2,1,2,5,2,36,8,2,10,2,12,2,39,9,2,1,2,1,2,1,2,1,2,1,2,1, + 2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,3,2,62,8, + 2,1,3,1,3,1,3,1,3,5,3,68,8,3,10,3,12,3,71,9,3,1,3,1,3,1,3,1,3,3,3,77,8, + 3,1,4,1,4,1,4,5,4,82,8,4,10,4,12,4,85,9,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4, + 1,4,5,4,95,8,4,10,4,12,4,98,9,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,3,4,107,8, + 4,1,5,5,5,110,8,5,10,5,12,5,113,9,5,1,5,1,5,5,5,117,8,5,10,5,12,5,120, + 9,5,1,6,1,6,1,7,1,7,1,7,1,7,1,7,0,0,8,0,2,4,6,8,10,12,14,0,0,139,0,16, + 1,0,0,0,2,31,1,0,0,0,4,61,1,0,0,0,6,76,1,0,0,0,8,106,1,0,0,0,10,111,1, + 0,0,0,12,121,1,0,0,0,14,123,1,0,0,0,16,17,3,8,4,0,17,1,1,0,0,0,18,19,5, + 3,0,0,19,24,3,4,2,0,20,21,5,1,0,0,21,23,3,4,2,0,22,20,1,0,0,0,23,26,1, + 0,0,0,24,22,1,0,0,0,24,25,1,0,0,0,25,27,1,0,0,0,26,24,1,0,0,0,27,28,5, + 4,0,0,28,32,1,0,0,0,29,30,5,3,0,0,30,32,5,4,0,0,31,18,1,0,0,0,31,29,1, + 0,0,0,32,3,1,0,0,0,33,37,5,10,0,0,34,36,5,19,0,0,35,34,1,0,0,0,36,39,1, + 0,0,0,37,35,1,0,0,0,37,38,1,0,0,0,38,40,1,0,0,0,39,37,1,0,0,0,40,41,5, + 13,0,0,41,42,5,2,0,0,42,62,3,8,4,0,43,44,5,10,0,0,44,45,5,14,0,0,45,46, + 5,13,0,0,46,47,5,2,0,0,47,48,5,10,0,0,48,49,3,12,6,0,49,50,5,13,0,0,50, + 62,1,0,0,0,51,52,5,10,0,0,52,53,5,14,0,0,53,54,5,13,0,0,54,55,5,2,0,0, + 55,62,3,8,4,0,56,57,5,10,0,0,57,58,5,15,0,0,58,59,5,13,0,0,59,60,5,2,0, + 0,60,62,3,14,7,0,61,33,1,0,0,0,61,43,1,0,0,0,61,51,1,0,0,0,61,56,1,0,0, + 0,62,5,1,0,0,0,63,64,5,5,0,0,64,69,3,8,4,0,65,66,5,1,0,0,66,68,3,8,4,0, + 67,65,1,0,0,0,68,71,1,0,0,0,69,67,1,0,0,0,69,70,1,0,0,0,70,72,1,0,0,0, + 71,69,1,0,0,0,72,73,5,6,0,0,73,77,1,0,0,0,74,75,5,5,0,0,75,77,5,6,0,0, + 76,63,1,0,0,0,76,74,1,0,0,0,77,7,1,0,0,0,78,79,5,10,0,0,79,83,3,10,5,0, + 80,82,3,10,5,0,81,80,1,0,0,0,82,85,1,0,0,0,83,81,1,0,0,0,83,84,1,0,0,0, + 84,86,1,0,0,0,85,83,1,0,0,0,86,87,5,13,0,0,87,107,1,0,0,0,88,89,5,10,0, + 0,89,90,3,12,6,0,90,91,5,13,0,0,91,107,1,0,0,0,92,96,5,10,0,0,93,95,5, + 19,0,0,94,93,1,0,0,0,95,98,1,0,0,0,96,94,1,0,0,0,96,97,1,0,0,0,97,99,1, + 0,0,0,98,96,1,0,0,0,99,107,5,13,0,0,100,107,5,11,0,0,101,107,3,2,1,0,102, + 107,3,6,3,0,103,107,5,7,0,0,104,107,5,8,0,0,105,107,5,9,0,0,106,78,1,0, + 0,0,106,88,1,0,0,0,106,92,1,0,0,0,106,100,1,0,0,0,106,101,1,0,0,0,106, + 102,1,0,0,0,106,103,1,0,0,0,106,104,1,0,0,0,106,105,1,0,0,0,107,9,1,0, + 0,0,108,110,5,19,0,0,109,108,1,0,0,0,110,113,1,0,0,0,111,109,1,0,0,0,111, + 112,1,0,0,0,112,114,1,0,0,0,113,111,1,0,0,0,114,118,5,17,0,0,115,117,5, + 19,0,0,116,115,1,0,0,0,117,120,1,0,0,0,118,116,1,0,0,0,118,119,1,0,0,0, + 119,11,1,0,0,0,120,118,1,0,0,0,121,122,5,18,0,0,122,13,1,0,0,0,123,124, + 5,10,0,0,124,125,5,17,0,0,125,126,5,13,0,0,126,15,1,0,0,0,11,24,31,37, + 61,69,76,83,96,106,111,118 + }; + + public static readonly ATN _ATN = + new ATNDeserializer().Deserialize(_serializedATN); + + } diff --git a/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateParser.interp b/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateParser.interp index 69a5836316..abe29b7703 100644 --- a/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateParser.interp +++ b/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateParser.interp @@ -54,4 +54,4 @@ templateExpression atn: -[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 21, 130, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 25, 10, 3, 12, 3, 14, 3, 28, 11, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 34, 10, 3, 3, 4, 3, 4, 7, 4, 38, 10, 4, 12, 4, 14, 4, 41, 11, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 64, 10, 4, 3, 5, 3, 5, 3, 5, 3, 5, 7, 5, 70, 10, 5, 12, 5, 14, 5, 73, 11, 5, 3, 5, 3, 5, 3, 5, 3, 5, 5, 5, 79, 10, 5, 3, 6, 3, 6, 3, 6, 7, 6, 84, 10, 6, 12, 6, 14, 6, 87, 11, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 7, 6, 97, 10, 6, 12, 6, 14, 6, 100, 11, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 5, 6, 109, 10, 6, 3, 7, 7, 7, 112, 10, 7, 12, 7, 14, 7, 115, 11, 7, 3, 7, 3, 7, 7, 7, 119, 10, 7, 12, 7, 14, 7, 122, 11, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 2, 2, 10, 2, 4, 6, 8, 10, 12, 14, 16, 2, 2, 2, 141, 2, 18, 3, 2, 2, 2, 4, 33, 3, 2, 2, 2, 6, 63, 3, 2, 2, 2, 8, 78, 3, 2, 2, 2, 10, 108, 3, 2, 2, 2, 12, 113, 3, 2, 2, 2, 14, 123, 3, 2, 2, 2, 16, 125, 3, 2, 2, 2, 18, 19, 5, 10, 6, 2, 19, 3, 3, 2, 2, 2, 20, 21, 7, 5, 2, 2, 21, 26, 5, 6, 4, 2, 22, 23, 7, 3, 2, 2, 23, 25, 5, 6, 4, 2, 24, 22, 3, 2, 2, 2, 25, 28, 3, 2, 2, 2, 26, 24, 3, 2, 2, 2, 26, 27, 3, 2, 2, 2, 27, 29, 3, 2, 2, 2, 28, 26, 3, 2, 2, 2, 29, 30, 7, 6, 2, 2, 30, 34, 3, 2, 2, 2, 31, 32, 7, 5, 2, 2, 32, 34, 7, 6, 2, 2, 33, 20, 3, 2, 2, 2, 33, 31, 3, 2, 2, 2, 34, 5, 3, 2, 2, 2, 35, 39, 7, 12, 2, 2, 36, 38, 7, 21, 2, 2, 37, 36, 3, 2, 2, 2, 38, 41, 3, 2, 2, 2, 39, 37, 3, 2, 2, 2, 39, 40, 3, 2, 2, 2, 40, 42, 3, 2, 2, 2, 41, 39, 3, 2, 2, 2, 42, 43, 7, 15, 2, 2, 43, 44, 7, 4, 2, 2, 44, 64, 5, 10, 6, 2, 45, 46, 7, 12, 2, 2, 46, 47, 7, 16, 2, 2, 47, 48, 7, 15, 2, 2, 48, 49, 7, 4, 2, 2, 49, 50, 7, 12, 2, 2, 50, 51, 5, 14, 8, 2, 51, 52, 7, 15, 2, 2, 52, 64, 3, 2, 2, 2, 53, 54, 7, 12, 2, 2, 54, 55, 7, 16, 2, 2, 55, 56, 7, 15, 2, 2, 56, 57, 7, 4, 2, 2, 57, 64, 5, 10, 6, 2, 58, 59, 7, 12, 2, 2, 59, 60, 7, 17, 2, 2, 60, 61, 7, 15, 2, 2, 61, 62, 7, 4, 2, 2, 62, 64, 5, 16, 9, 2, 63, 35, 3, 2, 2, 2, 63, 45, 3, 2, 2, 2, 63, 53, 3, 2, 2, 2, 63, 58, 3, 2, 2, 2, 64, 7, 3, 2, 2, 2, 65, 66, 7, 7, 2, 2, 66, 71, 5, 10, 6, 2, 67, 68, 7, 3, 2, 2, 68, 70, 5, 10, 6, 2, 69, 67, 3, 2, 2, 2, 70, 73, 3, 2, 2, 2, 71, 69, 3, 2, 2, 2, 71, 72, 3, 2, 2, 2, 72, 74, 3, 2, 2, 2, 73, 71, 3, 2, 2, 2, 74, 75, 7, 8, 2, 2, 75, 79, 3, 2, 2, 2, 76, 77, 7, 7, 2, 2, 77, 79, 7, 8, 2, 2, 78, 65, 3, 2, 2, 2, 78, 76, 3, 2, 2, 2, 79, 9, 3, 2, 2, 2, 80, 81, 7, 12, 2, 2, 81, 85, 5, 12, 7, 2, 82, 84, 5, 12, 7, 2, 83, 82, 3, 2, 2, 2, 84, 87, 3, 2, 2, 2, 85, 83, 3, 2, 2, 2, 85, 86, 3, 2, 2, 2, 86, 88, 3, 2, 2, 2, 87, 85, 3, 2, 2, 2, 88, 89, 7, 15, 2, 2, 89, 109, 3, 2, 2, 2, 90, 91, 7, 12, 2, 2, 91, 92, 5, 14, 8, 2, 92, 93, 7, 15, 2, 2, 93, 109, 3, 2, 2, 2, 94, 98, 7, 12, 2, 2, 95, 97, 7, 21, 2, 2, 96, 95, 3, 2, 2, 2, 97, 100, 3, 2, 2, 2, 98, 96, 3, 2, 2, 2, 98, 99, 3, 2, 2, 2, 99, 101, 3, 2, 2, 2, 100, 98, 3, 2, 2, 2, 101, 109, 7, 15, 2, 2, 102, 109, 7, 13, 2, 2, 103, 109, 5, 4, 3, 2, 104, 109, 5, 8, 5, 2, 105, 109, 7, 9, 2, 2, 106, 109, 7, 10, 2, 2, 107, 109, 7, 11, 2, 2, 108, 80, 3, 2, 2, 2, 108, 90, 3, 2, 2, 2, 108, 94, 3, 2, 2, 2, 108, 102, 3, 2, 2, 2, 108, 103, 3, 2, 2, 2, 108, 104, 3, 2, 2, 2, 108, 105, 3, 2, 2, 2, 108, 106, 3, 2, 2, 2, 108, 107, 3, 2, 2, 2, 109, 11, 3, 2, 2, 2, 110, 112, 7, 21, 2, 2, 111, 110, 3, 2, 2, 2, 112, 115, 3, 2, 2, 2, 113, 111, 3, 2, 2, 2, 113, 114, 3, 2, 2, 2, 114, 116, 3, 2, 2, 2, 115, 113, 3, 2, 2, 2, 116, 120, 7, 19, 2, 2, 117, 119, 7, 21, 2, 2, 118, 117, 3, 2, 2, 2, 119, 122, 3, 2, 2, 2, 120, 118, 3, 2, 2, 2, 120, 121, 3, 2, 2, 2, 121, 13, 3, 2, 2, 2, 122, 120, 3, 2, 2, 2, 123, 124, 7, 20, 2, 2, 124, 15, 3, 2, 2, 2, 125, 126, 7, 12, 2, 2, 126, 127, 7, 19, 2, 2, 127, 128, 7, 15, 2, 2, 128, 17, 3, 2, 2, 2, 13, 26, 33, 39, 63, 71, 78, 85, 98, 108, 113, 120] \ No newline at end of file +[4, 1, 19, 128, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 23, 8, 1, 10, 1, 12, 1, 26, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 32, 8, 1, 1, 2, 1, 2, 5, 2, 36, 8, 2, 10, 2, 12, 2, 39, 9, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 62, 8, 2, 1, 3, 1, 3, 1, 3, 1, 3, 5, 3, 68, 8, 3, 10, 3, 12, 3, 71, 9, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 77, 8, 3, 1, 4, 1, 4, 1, 4, 5, 4, 82, 8, 4, 10, 4, 12, 4, 85, 9, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 5, 4, 95, 8, 4, 10, 4, 12, 4, 98, 9, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 3, 4, 107, 8, 4, 1, 5, 5, 5, 110, 8, 5, 10, 5, 12, 5, 113, 9, 5, 1, 5, 1, 5, 5, 5, 117, 8, 5, 10, 5, 12, 5, 120, 9, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 0, 0, 8, 0, 2, 4, 6, 8, 10, 12, 14, 0, 0, 139, 0, 16, 1, 0, 0, 0, 2, 31, 1, 0, 0, 0, 4, 61, 1, 0, 0, 0, 6, 76, 1, 0, 0, 0, 8, 106, 1, 0, 0, 0, 10, 111, 1, 0, 0, 0, 12, 121, 1, 0, 0, 0, 14, 123, 1, 0, 0, 0, 16, 17, 3, 8, 4, 0, 17, 1, 1, 0, 0, 0, 18, 19, 5, 3, 0, 0, 19, 24, 3, 4, 2, 0, 20, 21, 5, 1, 0, 0, 21, 23, 3, 4, 2, 0, 22, 20, 1, 0, 0, 0, 23, 26, 1, 0, 0, 0, 24, 22, 1, 0, 0, 0, 24, 25, 1, 0, 0, 0, 25, 27, 1, 0, 0, 0, 26, 24, 1, 0, 0, 0, 27, 28, 5, 4, 0, 0, 28, 32, 1, 0, 0, 0, 29, 30, 5, 3, 0, 0, 30, 32, 5, 4, 0, 0, 31, 18, 1, 0, 0, 0, 31, 29, 1, 0, 0, 0, 32, 3, 1, 0, 0, 0, 33, 37, 5, 10, 0, 0, 34, 36, 5, 19, 0, 0, 35, 34, 1, 0, 0, 0, 36, 39, 1, 0, 0, 0, 37, 35, 1, 0, 0, 0, 37, 38, 1, 0, 0, 0, 38, 40, 1, 0, 0, 0, 39, 37, 1, 0, 0, 0, 40, 41, 5, 13, 0, 0, 41, 42, 5, 2, 0, 0, 42, 62, 3, 8, 4, 0, 43, 44, 5, 10, 0, 0, 44, 45, 5, 14, 0, 0, 45, 46, 5, 13, 0, 0, 46, 47, 5, 2, 0, 0, 47, 48, 5, 10, 0, 0, 48, 49, 3, 12, 6, 0, 49, 50, 5, 13, 0, 0, 50, 62, 1, 0, 0, 0, 51, 52, 5, 10, 0, 0, 52, 53, 5, 14, 0, 0, 53, 54, 5, 13, 0, 0, 54, 55, 5, 2, 0, 0, 55, 62, 3, 8, 4, 0, 56, 57, 5, 10, 0, 0, 57, 58, 5, 15, 0, 0, 58, 59, 5, 13, 0, 0, 59, 60, 5, 2, 0, 0, 60, 62, 3, 14, 7, 0, 61, 33, 1, 0, 0, 0, 61, 43, 1, 0, 0, 0, 61, 51, 1, 0, 0, 0, 61, 56, 1, 0, 0, 0, 62, 5, 1, 0, 0, 0, 63, 64, 5, 5, 0, 0, 64, 69, 3, 8, 4, 0, 65, 66, 5, 1, 0, 0, 66, 68, 3, 8, 4, 0, 67, 65, 1, 0, 0, 0, 68, 71, 1, 0, 0, 0, 69, 67, 1, 0, 0, 0, 69, 70, 1, 0, 0, 0, 70, 72, 1, 0, 0, 0, 71, 69, 1, 0, 0, 0, 72, 73, 5, 6, 0, 0, 73, 77, 1, 0, 0, 0, 74, 75, 5, 5, 0, 0, 75, 77, 5, 6, 0, 0, 76, 63, 1, 0, 0, 0, 76, 74, 1, 0, 0, 0, 77, 7, 1, 0, 0, 0, 78, 79, 5, 10, 0, 0, 79, 83, 3, 10, 5, 0, 80, 82, 3, 10, 5, 0, 81, 80, 1, 0, 0, 0, 82, 85, 1, 0, 0, 0, 83, 81, 1, 0, 0, 0, 83, 84, 1, 0, 0, 0, 84, 86, 1, 0, 0, 0, 85, 83, 1, 0, 0, 0, 86, 87, 5, 13, 0, 0, 87, 107, 1, 0, 0, 0, 88, 89, 5, 10, 0, 0, 89, 90, 3, 12, 6, 0, 90, 91, 5, 13, 0, 0, 91, 107, 1, 0, 0, 0, 92, 96, 5, 10, 0, 0, 93, 95, 5, 19, 0, 0, 94, 93, 1, 0, 0, 0, 95, 98, 1, 0, 0, 0, 96, 94, 1, 0, 0, 0, 96, 97, 1, 0, 0, 0, 97, 99, 1, 0, 0, 0, 98, 96, 1, 0, 0, 0, 99, 107, 5, 13, 0, 0, 100, 107, 5, 11, 0, 0, 101, 107, 3, 2, 1, 0, 102, 107, 3, 6, 3, 0, 103, 107, 5, 7, 0, 0, 104, 107, 5, 8, 0, 0, 105, 107, 5, 9, 0, 0, 106, 78, 1, 0, 0, 0, 106, 88, 1, 0, 0, 0, 106, 92, 1, 0, 0, 0, 106, 100, 1, 0, 0, 0, 106, 101, 1, 0, 0, 0, 106, 102, 1, 0, 0, 0, 106, 103, 1, 0, 0, 0, 106, 104, 1, 0, 0, 0, 106, 105, 1, 0, 0, 0, 107, 9, 1, 0, 0, 0, 108, 110, 5, 19, 0, 0, 109, 108, 1, 0, 0, 0, 110, 113, 1, 0, 0, 0, 111, 109, 1, 0, 0, 0, 111, 112, 1, 0, 0, 0, 112, 114, 1, 0, 0, 0, 113, 111, 1, 0, 0, 0, 114, 118, 5, 17, 0, 0, 115, 117, 5, 19, 0, 0, 116, 115, 1, 0, 0, 0, 117, 120, 1, 0, 0, 0, 118, 116, 1, 0, 0, 0, 118, 119, 1, 0, 0, 0, 119, 11, 1, 0, 0, 0, 120, 118, 1, 0, 0, 0, 121, 122, 5, 18, 0, 0, 122, 13, 1, 0, 0, 0, 123, 124, 5, 10, 0, 0, 124, 125, 5, 17, 0, 0, 125, 126, 5, 13, 0, 0, 126, 15, 1, 0, 0, 0, 11, 24, 31, 37, 61, 69, 76, 83, 96, 106, 111, 118] diff --git a/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateParserBaseVisitor.cs b/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateParserBaseVisitor.cs index 356cc06e9e..51a69f23ac 100644 --- a/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateParserBaseVisitor.cs +++ b/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateParserBaseVisitor.cs @@ -1,14 +1,14 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// ANTLR Version: 4.8 +// ANTLR Version: 4.11.1 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ -// Generated from AdaptiveCardsTemplateParser.g4 by ANTLR 4.8 +// Generated from AdaptiveCardsTemplateParser.g4 by ANTLR 4.11.1 // Unreachable code detected #pragma warning disable 0162 @@ -30,213 +30,214 @@ /// of the available methods. /// /// The return type of the visit operation. -[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.8")] +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.11.1")] +[System.Diagnostics.DebuggerNonUserCode] [System.CLSCompliant(false)] public partial class AdaptiveCardsTemplateParserBaseVisitor : AbstractParseTreeVisitor, IAdaptiveCardsTemplateParserVisitor { - /// - /// Visit a parse tree produced by . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitJson([NotNull] AdaptiveCardsTemplateParser.JsonContext context) { return VisitChildren(context); } - /// - /// Visit a parse tree produced by . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitObj([NotNull] AdaptiveCardsTemplateParser.ObjContext context) { return VisitChildren(context); } - /// - /// Visit a parse tree produced by the jsonPair - /// labeled alternative in . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitJsonPair([NotNull] AdaptiveCardsTemplateParser.JsonPairContext context) { return VisitChildren(context); } - /// - /// Visit a parse tree produced by the templateRootData - /// labeled alternative in . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitTemplateRootData([NotNull] AdaptiveCardsTemplateParser.TemplateRootDataContext context) { return VisitChildren(context); } - /// - /// Visit a parse tree produced by the templateData - /// labeled alternative in . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitTemplateData([NotNull] AdaptiveCardsTemplateParser.TemplateDataContext context) { return VisitChildren(context); } - /// - /// Visit a parse tree produced by the templateWhen - /// labeled alternative in . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitTemplateWhen([NotNull] AdaptiveCardsTemplateParser.TemplateWhenContext context) { return VisitChildren(context); } - /// - /// Visit a parse tree produced by . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitArray([NotNull] AdaptiveCardsTemplateParser.ArrayContext context) { return VisitChildren(context); } - /// - /// Visit a parse tree produced by the valueTemplateString - /// labeled alternative in . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitValueTemplateString([NotNull] AdaptiveCardsTemplateParser.ValueTemplateStringContext context) { return VisitChildren(context); } - /// - /// Visit a parse tree produced by the valueTemplateStringWithRoot - /// labeled alternative in . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitValueTemplateStringWithRoot([NotNull] AdaptiveCardsTemplateParser.ValueTemplateStringWithRootContext context) { return VisitChildren(context); } - /// - /// Visit a parse tree produced by the valueString - /// labeled alternative in . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitValueString([NotNull] AdaptiveCardsTemplateParser.ValueStringContext context) { return VisitChildren(context); } - /// - /// Visit a parse tree produced by the valueNumber - /// labeled alternative in . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitValueNumber([NotNull] AdaptiveCardsTemplateParser.ValueNumberContext context) { return VisitChildren(context); } - /// - /// Visit a parse tree produced by the valueObject - /// labeled alternative in . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitValueObject([NotNull] AdaptiveCardsTemplateParser.ValueObjectContext context) { return VisitChildren(context); } - /// - /// Visit a parse tree produced by the valueArray - /// labeled alternative in . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitValueArray([NotNull] AdaptiveCardsTemplateParser.ValueArrayContext context) { return VisitChildren(context); } - /// - /// Visit a parse tree produced by the valueTrue - /// labeled alternative in . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitValueTrue([NotNull] AdaptiveCardsTemplateParser.ValueTrueContext context) { return VisitChildren(context); } - /// - /// Visit a parse tree produced by the valueFalse - /// labeled alternative in . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitValueFalse([NotNull] AdaptiveCardsTemplateParser.ValueFalseContext context) { return VisitChildren(context); } - /// - /// Visit a parse tree produced by the valueNull - /// labeled alternative in . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitValueNull([NotNull] AdaptiveCardsTemplateParser.ValueNullContext context) { return VisitChildren(context); } - /// - /// Visit a parse tree produced by the templatedString - /// labeled alternative in . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitTemplatedString([NotNull] AdaptiveCardsTemplateParser.TemplatedStringContext context) { return VisitChildren(context); } - /// - /// Visit a parse tree produced by the templateStringWithRoot - /// labeled alternative in . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitTemplateStringWithRoot([NotNull] AdaptiveCardsTemplateParser.TemplateStringWithRootContext context) { return VisitChildren(context); } - /// - /// Visit a parse tree produced by the valueTemplateExpression - /// labeled alternative in . - /// - /// The default implementation returns the result of calling - /// on . - /// - /// - /// The parse tree. - /// The visitor result. - public virtual Result VisitValueTemplateExpression([NotNull] AdaptiveCardsTemplateParser.ValueTemplateExpressionContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitJson([NotNull] AdaptiveCardsTemplateParser.JsonContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitObj([NotNull] AdaptiveCardsTemplateParser.ObjContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the jsonPair + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitJsonPair([NotNull] AdaptiveCardsTemplateParser.JsonPairContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the templateRootData + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTemplateRootData([NotNull] AdaptiveCardsTemplateParser.TemplateRootDataContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the templateData + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTemplateData([NotNull] AdaptiveCardsTemplateParser.TemplateDataContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the templateWhen + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTemplateWhen([NotNull] AdaptiveCardsTemplateParser.TemplateWhenContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitArray([NotNull] AdaptiveCardsTemplateParser.ArrayContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the valueTemplateString + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitValueTemplateString([NotNull] AdaptiveCardsTemplateParser.ValueTemplateStringContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the valueTemplateStringWithRoot + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitValueTemplateStringWithRoot([NotNull] AdaptiveCardsTemplateParser.ValueTemplateStringWithRootContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the valueString + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitValueString([NotNull] AdaptiveCardsTemplateParser.ValueStringContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the valueNumber + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitValueNumber([NotNull] AdaptiveCardsTemplateParser.ValueNumberContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the valueObject + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitValueObject([NotNull] AdaptiveCardsTemplateParser.ValueObjectContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the valueArray + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitValueArray([NotNull] AdaptiveCardsTemplateParser.ValueArrayContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the valueTrue + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitValueTrue([NotNull] AdaptiveCardsTemplateParser.ValueTrueContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the valueFalse + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitValueFalse([NotNull] AdaptiveCardsTemplateParser.ValueFalseContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the valueNull + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitValueNull([NotNull] AdaptiveCardsTemplateParser.ValueNullContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the templatedString + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTemplatedString([NotNull] AdaptiveCardsTemplateParser.TemplatedStringContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the templateStringWithRoot + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitTemplateStringWithRoot([NotNull] AdaptiveCardsTemplateParser.TemplateStringWithRootContext context) { return VisitChildren(context); } + /// + /// Visit a parse tree produced by the valueTemplateExpression + /// labeled alternative in . + /// + /// The default implementation returns the result of calling + /// on . + /// + /// + /// The parse tree. + /// The visitor result. + public virtual Result VisitValueTemplateExpression([NotNull] AdaptiveCardsTemplateParser.ValueTemplateExpressionContext context) { return VisitChildren(context); } } diff --git a/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateParserVisitor.cs b/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateParserVisitor.cs index b3f31b4f20..17765c6ffc 100644 --- a/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateParserVisitor.cs +++ b/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateParserVisitor.cs @@ -1,14 +1,14 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// ANTLR Version: 4.8 +// ANTLR Version: 4.11.1 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // //------------------------------------------------------------------------------ -// Generated from AdaptiveCardsTemplateParser.g4 by ANTLR 4.8 +// Generated from AdaptiveCardsTemplateParser.g4 by ANTLR 4.11.1 // Unreachable code detected #pragma warning disable 0162 @@ -28,137 +28,137 @@ /// by . /// /// The return type of the visit operation. -[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.8")] +[System.CodeDom.Compiler.GeneratedCode("ANTLR", "4.11.1")] [System.CLSCompliant(false)] public interface IAdaptiveCardsTemplateParserVisitor : IParseTreeVisitor { - /// - /// Visit a parse tree produced by . - /// - /// The parse tree. - /// The visitor result. - Result VisitJson([NotNull] AdaptiveCardsTemplateParser.JsonContext context); - /// - /// Visit a parse tree produced by . - /// - /// The parse tree. - /// The visitor result. - Result VisitObj([NotNull] AdaptiveCardsTemplateParser.ObjContext context); - /// - /// Visit a parse tree produced by the jsonPair - /// labeled alternative in . - /// - /// The parse tree. - /// The visitor result. - Result VisitJsonPair([NotNull] AdaptiveCardsTemplateParser.JsonPairContext context); - /// - /// Visit a parse tree produced by the templateRootData - /// labeled alternative in . - /// - /// The parse tree. - /// The visitor result. - Result VisitTemplateRootData([NotNull] AdaptiveCardsTemplateParser.TemplateRootDataContext context); - /// - /// Visit a parse tree produced by the templateData - /// labeled alternative in . - /// - /// The parse tree. - /// The visitor result. - Result VisitTemplateData([NotNull] AdaptiveCardsTemplateParser.TemplateDataContext context); - /// - /// Visit a parse tree produced by the templateWhen - /// labeled alternative in . - /// - /// The parse tree. - /// The visitor result. - Result VisitTemplateWhen([NotNull] AdaptiveCardsTemplateParser.TemplateWhenContext context); - /// - /// Visit a parse tree produced by . - /// - /// The parse tree. - /// The visitor result. - Result VisitArray([NotNull] AdaptiveCardsTemplateParser.ArrayContext context); - /// - /// Visit a parse tree produced by the valueTemplateString - /// labeled alternative in . - /// - /// The parse tree. - /// The visitor result. - Result VisitValueTemplateString([NotNull] AdaptiveCardsTemplateParser.ValueTemplateStringContext context); - /// - /// Visit a parse tree produced by the valueTemplateStringWithRoot - /// labeled alternative in . - /// - /// The parse tree. - /// The visitor result. - Result VisitValueTemplateStringWithRoot([NotNull] AdaptiveCardsTemplateParser.ValueTemplateStringWithRootContext context); - /// - /// Visit a parse tree produced by the valueString - /// labeled alternative in . - /// - /// The parse tree. - /// The visitor result. - Result VisitValueString([NotNull] AdaptiveCardsTemplateParser.ValueStringContext context); - /// - /// Visit a parse tree produced by the valueNumber - /// labeled alternative in . - /// - /// The parse tree. - /// The visitor result. - Result VisitValueNumber([NotNull] AdaptiveCardsTemplateParser.ValueNumberContext context); - /// - /// Visit a parse tree produced by the valueObject - /// labeled alternative in . - /// - /// The parse tree. - /// The visitor result. - Result VisitValueObject([NotNull] AdaptiveCardsTemplateParser.ValueObjectContext context); - /// - /// Visit a parse tree produced by the valueArray - /// labeled alternative in . - /// - /// The parse tree. - /// The visitor result. - Result VisitValueArray([NotNull] AdaptiveCardsTemplateParser.ValueArrayContext context); - /// - /// Visit a parse tree produced by the valueTrue - /// labeled alternative in . - /// - /// The parse tree. - /// The visitor result. - Result VisitValueTrue([NotNull] AdaptiveCardsTemplateParser.ValueTrueContext context); - /// - /// Visit a parse tree produced by the valueFalse - /// labeled alternative in . - /// - /// The parse tree. - /// The visitor result. - Result VisitValueFalse([NotNull] AdaptiveCardsTemplateParser.ValueFalseContext context); - /// - /// Visit a parse tree produced by the valueNull - /// labeled alternative in . - /// - /// The parse tree. - /// The visitor result. - Result VisitValueNull([NotNull] AdaptiveCardsTemplateParser.ValueNullContext context); - /// - /// Visit a parse tree produced by the templatedString - /// labeled alternative in . - /// - /// The parse tree. - /// The visitor result. - Result VisitTemplatedString([NotNull] AdaptiveCardsTemplateParser.TemplatedStringContext context); - /// - /// Visit a parse tree produced by the templateStringWithRoot - /// labeled alternative in . - /// - /// The parse tree. - /// The visitor result. - Result VisitTemplateStringWithRoot([NotNull] AdaptiveCardsTemplateParser.TemplateStringWithRootContext context); - /// - /// Visit a parse tree produced by the valueTemplateExpression - /// labeled alternative in . - /// - /// The parse tree. - /// The visitor result. - Result VisitValueTemplateExpression([NotNull] AdaptiveCardsTemplateParser.ValueTemplateExpressionContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitJson([NotNull] AdaptiveCardsTemplateParser.JsonContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitObj([NotNull] AdaptiveCardsTemplateParser.ObjContext context); + /// + /// Visit a parse tree produced by the jsonPair + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitJsonPair([NotNull] AdaptiveCardsTemplateParser.JsonPairContext context); + /// + /// Visit a parse tree produced by the templateRootData + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitTemplateRootData([NotNull] AdaptiveCardsTemplateParser.TemplateRootDataContext context); + /// + /// Visit a parse tree produced by the templateData + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitTemplateData([NotNull] AdaptiveCardsTemplateParser.TemplateDataContext context); + /// + /// Visit a parse tree produced by the templateWhen + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitTemplateWhen([NotNull] AdaptiveCardsTemplateParser.TemplateWhenContext context); + /// + /// Visit a parse tree produced by . + /// + /// The parse tree. + /// The visitor result. + Result VisitArray([NotNull] AdaptiveCardsTemplateParser.ArrayContext context); + /// + /// Visit a parse tree produced by the valueTemplateString + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitValueTemplateString([NotNull] AdaptiveCardsTemplateParser.ValueTemplateStringContext context); + /// + /// Visit a parse tree produced by the valueTemplateStringWithRoot + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitValueTemplateStringWithRoot([NotNull] AdaptiveCardsTemplateParser.ValueTemplateStringWithRootContext context); + /// + /// Visit a parse tree produced by the valueString + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitValueString([NotNull] AdaptiveCardsTemplateParser.ValueStringContext context); + /// + /// Visit a parse tree produced by the valueNumber + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitValueNumber([NotNull] AdaptiveCardsTemplateParser.ValueNumberContext context); + /// + /// Visit a parse tree produced by the valueObject + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitValueObject([NotNull] AdaptiveCardsTemplateParser.ValueObjectContext context); + /// + /// Visit a parse tree produced by the valueArray + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitValueArray([NotNull] AdaptiveCardsTemplateParser.ValueArrayContext context); + /// + /// Visit a parse tree produced by the valueTrue + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitValueTrue([NotNull] AdaptiveCardsTemplateParser.ValueTrueContext context); + /// + /// Visit a parse tree produced by the valueFalse + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitValueFalse([NotNull] AdaptiveCardsTemplateParser.ValueFalseContext context); + /// + /// Visit a parse tree produced by the valueNull + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitValueNull([NotNull] AdaptiveCardsTemplateParser.ValueNullContext context); + /// + /// Visit a parse tree produced by the templatedString + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitTemplatedString([NotNull] AdaptiveCardsTemplateParser.TemplatedStringContext context); + /// + /// Visit a parse tree produced by the templateStringWithRoot + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitTemplateStringWithRoot([NotNull] AdaptiveCardsTemplateParser.TemplateStringWithRootContext context); + /// + /// Visit a parse tree produced by the valueTemplateExpression + /// labeled alternative in . + /// + /// The parse tree. + /// The visitor result. + Result VisitValueTemplateExpression([NotNull] AdaptiveCardsTemplateParser.ValueTemplateExpressionContext context); } diff --git a/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateVisitor.cs b/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateVisitor.cs index 2de812447c..f8fda932a1 100644 --- a/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateVisitor.cs +++ b/source/dotnet/Library/AdaptiveCards.Templating/AdaptiveCardsTemplateVisitor.cs @@ -23,6 +23,7 @@ public sealed class AdaptiveCardsTemplateVisitor : AdaptiveCardsTemplateParserBa { private Stack dataContext = new Stack(); private readonly JToken root; + private readonly JToken host; private readonly Options options; private ArrayList templateVisitorWarnings; @@ -33,10 +34,12 @@ private sealed class DataContext { public JToken token; public AdaptiveCardsTemplateSimpleObjectMemory AELMemory; - public bool IsArrayType = false; + public bool IsArrayType; public JToken RootDataContext; + public JToken HostDataContext; public const string rootKeyword = "$root"; + public const string hostKeyword = "$host"; public const string dataKeyword = "$data"; public const string indexKeyword = "$index"; @@ -45,9 +48,10 @@ private sealed class DataContext /// /// new data to kept as data context /// root data context - public DataContext(JToken jtoken, JToken rootDataContext) + /// optional host data context + public DataContext(JToken jtoken, JToken rootDataContext, JToken hostDataContext = null) { - Init(jtoken, rootDataContext); + Init(jtoken, rootDataContext, hostDataContext); } /// @@ -56,12 +60,15 @@ public DataContext(JToken jtoken, JToken rootDataContext) /// JToken.Parse(text) can throw JsonException if is invalid json /// json in string /// a root data context - public DataContext(string text, JToken rootDataContext) + /// optional host data context + public DataContext(string text, JToken rootDataContext, JToken hostDataContext = null) { // disable date parsing handling - var jsonReader = new JsonTextReader(new StringReader(text)) { DateParseHandling = DateParseHandling.None }; - var jtoken = JToken.Load(jsonReader); - Init(jtoken, rootDataContext); + using (var jsonReader = new JsonTextReader(new StringReader(text)) { DateParseHandling = DateParseHandling.None }) + { + var jtoken = JToken.Load(jsonReader); + Init(jtoken, rootDataContext, hostDataContext); + } } /// @@ -69,12 +76,14 @@ public DataContext(string text, JToken rootDataContext) /// /// current data context /// root data context - private void Init(JToken jtoken, JToken rootDataContext) + /// optional host data context + private void Init(JToken jtoken, JToken rootDataContext, JToken hostDataContext) { AELMemory = (jtoken is JObject) ? new AdaptiveCardsTemplateSimpleObjectMemory(jtoken) : new AdaptiveCardsTemplateSimpleObjectMemory(new JObject()); token = jtoken; RootDataContext = rootDataContext; + HostDataContext = hostDataContext; if (jtoken is JArray) { @@ -83,6 +92,7 @@ private void Init(JToken jtoken, JToken rootDataContext) AELMemory.SetValue(dataKeyword, token); AELMemory.SetValue(rootKeyword, rootDataContext); + AELMemory.SetValue(hostKeyword, hostDataContext); } /// @@ -94,7 +104,7 @@ public DataContext GetDataContextAtIndex(int index) { var jarray = token as JArray; var jtokenAtIndex = jarray[index]; - var dataContext = new DataContext(jtokenAtIndex, RootDataContext); + var dataContext = new DataContext(jtokenAtIndex, RootDataContext, HostDataContext); dataContext.AELMemory.SetValue(indexKeyword, index); return dataContext; } @@ -104,23 +114,41 @@ public DataContext GetDataContextAtIndex(int index) /// a constructor for AdaptiveCardsTemplateVisitor /// /// it will called upon when AEL finds no suitable functions registered in given AEL expression during evaluation the expression - /// json data in string which will be set as a root data context - public AdaptiveCardsTemplateVisitor(Func nullSubstitutionOption, string data = null) + /// json data as string which will be set as a root data context + /// json data as string which will be set as the host data context + public AdaptiveCardsTemplateVisitor(Func nullSubstitutionOption, string data = null, string hostData = null) { - if (data?.Length != 0) + if (!String.IsNullOrEmpty(hostData)) + { + // parse and save host context + try + { + using (var jsonReader = new JsonTextReader(new StringReader(hostData)) { DateParseHandling = DateParseHandling.None }) + { + host = JToken.Load(jsonReader); + } + } + catch (JsonException innerException) + { + throw new AdaptiveTemplateException("Setting host data failed", innerException); + } + } + + if (!String.IsNullOrEmpty(data)) { // set data as root data context try { - var jsonReader = new JsonTextReader(new StringReader(data)) { DateParseHandling = DateParseHandling.None }; - root = JToken.Load(jsonReader); - PushDataContext(data, root); + using (var jsonReader = new JsonTextReader(new StringReader(data)) { DateParseHandling = DateParseHandling.None }) + { + root = JToken.Load(jsonReader); + PushDataContext(data, root); + } } catch (JsonException innerException) { throw new AdaptiveTemplateException("Setting root data failed with given data context", innerException); } - } // if null, set default option @@ -148,7 +176,7 @@ private DataContext GetCurrentDataContext() /// current root data context private void PushDataContext(string stringToParse, JToken rootDataContext) { - dataContext.Push(new DataContext(stringToParse, rootDataContext)); + dataContext.Push(new DataContext(stringToParse, rootDataContext, host)); } /// @@ -177,13 +205,13 @@ private void PushTemplatedDataContext(string jpath) { if (value is JToken jvalue) { - dataContext.Push(new DataContext(jvalue, parentDataContext.RootDataContext)); + dataContext.Push(new DataContext(jvalue, parentDataContext.RootDataContext, parentDataContext.HostDataContext)); } else { var serializedValue = JsonConvert.SerializeObject(value); - dataContext.Push(new DataContext(serializedValue, parentDataContext.RootDataContext)); + dataContext.Push(new DataContext(serializedValue, parentDataContext.RootDataContext, parentDataContext.HostDataContext)); } } else @@ -220,7 +248,7 @@ public ArrayList getTemplateVisitorWarnings() } /// - /// antlr runtime wil call this method when parse tree's context is + /// antlr runtime will call this method when parse tree's context is /// It is used in parsing a pair that has $data as key /// It creates new data context, and set it as current memory scope /// @@ -254,7 +282,7 @@ public override AdaptiveCardsTemplateResult VisitTemplateData([NotNull] Adaptive var templateLiteral = (templateStrings[0] as AdaptiveCardsTemplateParser.TemplatedStringContext).TEMPLATELITERAL(); try { - string templateLiteralExpression = templateLiteral.GetText(); + string templateLiteralExpression = templateLiteral.GetText(); PushTemplatedDataContext(templateLiteralExpression.Substring(2, templateLiteralExpression.Length - 3)); } catch (ArgumentNullException) @@ -268,7 +296,7 @@ public override AdaptiveCardsTemplateResult VisitTemplateData([NotNull] Adaptive } } else - // else clause handles all of the ordinary json values + // else clause handles all of the ordinary json values { string childJson = templateDataValueNode.GetText(); try @@ -535,7 +563,6 @@ public override AdaptiveCardsTemplateResult VisitObj([NotNull] AdaptiveCardsTemp templateVisitorWarnings.Add($"WARN: Could not evaluate {returnedResult} because it is not an expression or the " + $"expression is invalid. The $when condition has been set to false by default."); - } else { @@ -579,7 +606,7 @@ public override AdaptiveCardsTemplateResult VisitObj([NotNull] AdaptiveCardsTemp PopDataContext(); } - // all existing json obj in input and repeated json obj if any have been removed + // all existing json obj in input and repeated json obj if any have been removed if (removedCounts == repeatsCounts) { combinedResult.HasItBeenDropped = true; @@ -589,7 +616,7 @@ public override AdaptiveCardsTemplateResult VisitObj([NotNull] AdaptiveCardsTemp } /// - /// Visitor method for ITernminalNode + /// Visitor method for ITernminalNode /// collects token as string and expand template if needed /// /// @@ -651,7 +678,7 @@ public static string Expand(string unboundString, IMemory data, bool isTemplated { exp = Expression.Parse(unboundString.Substring(2, unboundString.Length - 3)); } - // AEL can throw any errors, for example, System.Data.Syntax error will be thrown from AEL's ANTLR + // AEL can throw any errors, for example, System.Data.Syntax error will be thrown from AEL's ANTLR // when AEL encounters unknown functions. // We can't possibly know all errors and we simply want to leave the expression as it is when there are any exceptions #pragma warning disable CA1031 // Do not catch general exception types @@ -701,9 +728,9 @@ public override AdaptiveCardsTemplateResult VisitTemplateWhen([NotNull] Adaptive { throw new ArgumentNullException(nameof(context)); } - // when this node is visited, the children of this node is shown as below: + // when this node is visited, the children of this node is shown as below: // this node is visited only when parsing was correctly done - // [ '{', '$when', ':', ',', 'expression'] + // [ '{', '$when', ':', ',', 'expression'] var result = Visit(context.templateExpression()); if (!result.IsWhen) diff --git a/source/dotnet/Library/AdaptiveCards.Templating/EvaluationContext.cs b/source/dotnet/Library/AdaptiveCards.Templating/EvaluationContext.cs index f199fa4b7b..ee0dc169af 100644 --- a/source/dotnet/Library/AdaptiveCards.Templating/EvaluationContext.cs +++ b/source/dotnet/Library/AdaptiveCards.Templating/EvaluationContext.cs @@ -17,6 +17,7 @@ public sealed class EvaluationContext /// ""person"": { /// ""firstName"": ""Hello"", /// ""lastName"": ""World"" + /// } /// }"; /// /// var context = new EvaluationContext() @@ -29,22 +30,56 @@ public sealed class EvaluationContext public object Root { get; set; } + /// + /// Provides Host Data Context + /// + /// + /// Typically this is supplied by the host application providing additional context for template binding. For example, the host might supply language or theming information that the template can use for layout. + /// + /// + /// + /// + /// string jsonData = @"{ + /// ""person"": { + /// ""firstName"": ""Hello"", + /// ""lastName"": ""World"" + /// } + /// }"; + /// + /// string hostData = @"{ + /// ""applicationName"": ""Contoso AdaptiveCards Host", + /// ""platform"": ""mobile"" + /// }"; + /// + /// var context = new EvaluationContext() + /// { + /// Root = jsonData, + /// Host = hostData + /// }; + /// + /// + /// + public object Host + { get; set; } + /// /// default consturctor /// public EvaluationContext() { Root = null; + Host = null; } /// - /// constructor for EvaluationContext that takes one argument that will be used for root data context + /// constructor for EvaluationContext that takes one required argument used for root data context and one optional argument supplying host data /// - /// - public EvaluationContext(object rootData) + /// Data to use while binding + /// Data supplied by the host for use while binding + public EvaluationContext(object rootData, object hostData = null) { Root = rootData; + Host = hostData; } - } } diff --git a/source/dotnet/Library/AdaptiveCards.Templating/docs/AdaptiveCardsTemplate.md b/source/dotnet/Library/AdaptiveCards.Templating/docs/AdaptiveCardsTemplate.md index bd80a82e04..66cfafa373 100644 --- a/source/dotnet/Library/AdaptiveCards.Templating/docs/AdaptiveCardsTemplate.md +++ b/source/dotnet/Library/AdaptiveCards.Templating/docs/AdaptiveCardsTemplate.md @@ -45,7 +45,7 @@ - [TryGetValue(path,value)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateSimpleObjectMemory-TryGetValue-System-String,System-Object@- 'AdaptiveCards.Templating.AdaptiveCardsTemplateSimpleObjectMemory.TryGetValue(System.String,System.Object@)') - [Version()](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateSimpleObjectMemory-Version 'AdaptiveCards.Templating.AdaptiveCardsTemplateSimpleObjectMemory.Version') - [AdaptiveCardsTemplateVisitor](#T-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor') - - [#ctor(nullSubstitutionOption,data)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-#ctor-System-Func{System-String,System-Object},System-String- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.#ctor(System.Func{System.String,System.Object},System.String)') + - [#ctor(nullSubstitutionOption,data,hostData)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-#ctor-System-Func{System-String,System-Object},System-String,System-String- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.#ctor(System.Func{System.String,System.Object},System.String,System.String)') - [Expand(unboundString,data,isTemplatedString,options)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-Expand-System-String,AdaptiveExpressions-Memory-IMemory,System-Boolean,AdaptiveExpressions-Options- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.Expand(System.String,AdaptiveExpressions.Memory.IMemory,System.Boolean,AdaptiveExpressions.Options)') - [ExpandTemplatedString(node,isExpanded)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-ExpandTemplatedString-Antlr4-Runtime-Tree-ITerminalNode,System-Boolean- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.ExpandTemplatedString(Antlr4.Runtime.Tree.ITerminalNode,System.Boolean)') - [GetCurrentDataContext()](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-GetCurrentDataContext 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.GetCurrentDataContext') @@ -72,13 +72,14 @@ - [#ctor(message)](#M-AdaptiveCards-Templating-AdaptiveTemplateException-#ctor-System-String- 'AdaptiveCards.Templating.AdaptiveTemplateException.#ctor(System.String)') - [#ctor(message,innerException)](#M-AdaptiveCards-Templating-AdaptiveTemplateException-#ctor-System-String,System-Exception- 'AdaptiveCards.Templating.AdaptiveTemplateException.#ctor(System.String,System.Exception)') - [DataContext](#T-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-DataContext 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.DataContext') - - [#ctor(jtoken,rootDataContext)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-DataContext-#ctor-Newtonsoft-Json-Linq-JToken,Newtonsoft-Json-Linq-JToken- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.DataContext.#ctor(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken)') - - [#ctor(text,rootDataContext)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-DataContext-#ctor-System-String,Newtonsoft-Json-Linq-JToken- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.DataContext.#ctor(System.String,Newtonsoft.Json.Linq.JToken)') + - [#ctor(jtoken,rootDataContext,hostDataContext)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-DataContext-#ctor-Newtonsoft-Json-Linq-JToken,Newtonsoft-Json-Linq-JToken,Newtonsoft-Json-Linq-JToken- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.DataContext.#ctor(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken)') + - [#ctor(text,rootDataContext,hostDataContext)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-DataContext-#ctor-System-String,Newtonsoft-Json-Linq-JToken,Newtonsoft-Json-Linq-JToken- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.DataContext.#ctor(System.String,Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken)') - [GetDataContextAtIndex(index)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-DataContext-GetDataContextAtIndex-System-Int32- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.DataContext.GetDataContextAtIndex(System.Int32)') - - [Init(jtoken,rootDataContext)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-DataContext-Init-Newtonsoft-Json-Linq-JToken,Newtonsoft-Json-Linq-JToken- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.DataContext.Init(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken)') + - [Init(jtoken,rootDataContext,hostDataContext)](#M-AdaptiveCards-Templating-AdaptiveCardsTemplateVisitor-DataContext-Init-Newtonsoft-Json-Linq-JToken,Newtonsoft-Json-Linq-JToken,Newtonsoft-Json-Linq-JToken- 'AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor.DataContext.Init(Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken,Newtonsoft.Json.Linq.JToken)') - [EvaluationContext](#T-AdaptiveCards-Templating-EvaluationContext 'AdaptiveCards.Templating.EvaluationContext') - [#ctor()](#M-AdaptiveCards-Templating-EvaluationContext-#ctor 'AdaptiveCards.Templating.EvaluationContext.#ctor') - - [#ctor(rootData)](#M-AdaptiveCards-Templating-EvaluationContext-#ctor-System-Object- 'AdaptiveCards.Templating.EvaluationContext.#ctor(System.Object)') + - [#ctor(rootData,hostData)](#M-AdaptiveCards-Templating-EvaluationContext-#ctor-System-Object,System-Object- 'AdaptiveCards.Templating.EvaluationContext.#ctor(System.Object,System.Object)') + - [Host](#P-AdaptiveCards-Templating-EvaluationContext-Host 'AdaptiveCards.Templating.EvaluationContext.Host') - [Root](#P-AdaptiveCards-Templating-EvaluationContext-Root 'AdaptiveCards.Templating.EvaluationContext.Root') - [EvaluationResult](#T-AdaptiveCards-Templating-AdaptiveCardsTemplateResult-EvaluationResult 'AdaptiveCards.Templating.AdaptiveCardsTemplateResult.EvaluationResult') - [EvaluatedToFalse](#F-AdaptiveCards-Templating-AdaptiveCardsTemplateResult-EvaluationResult-EvaluatedToFalse 'AdaptiveCards.Templating.AdaptiveCardsTemplateResult.EvaluationResult.EvaluatedToFalse') @@ -800,8 +801,8 @@ AdaptiveCards.Templating an intance of this class is used in visiting a parse tree that's been generated by antlr4 parser - -### #ctor(nullSubstitutionOption,data) `constructor` + +### #ctor(nullSubstitutionOption,data,hostData) `constructor` ##### Summary @@ -812,7 +813,8 @@ a constructor for AdaptiveCardsTemplateVisitor | Name | Type | Description | | ---- | ---- | ----------- | | nullSubstitutionOption | [System.Func{System.String,System.Object}](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Func 'System.Func{System.String,System.Object}') | it will called upon when AEL finds no suitable functions registered in given AEL expression during evaluation the expression | -| data | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | json data in string which will be set as a root data context | +| data | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | json data as string which will be set as a root data context | +| hostData | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | json data as string which will be set as the host data context | ### Expand(unboundString,data,isTemplatedString,options) `method` @@ -1007,7 +1009,7 @@ Visitor method for `obj` grammar rule `AdaptiveCardsTemplateParser.g4` ##### Summary -antlr runtime wil call this method when parse tree's context is [TemplateDataContext](#T-AdaptiveCardsTemplateParser-TemplateDataContext 'AdaptiveCardsTemplateParser.TemplateDataContext') +antlr runtime will call this method when parse tree's context is [TemplateDataContext](#T-AdaptiveCardsTemplateParser-TemplateDataContext 'AdaptiveCardsTemplateParser.TemplateDataContext') It is used in parsing a pair that has $data as key @@ -1223,8 +1225,8 @@ AdaptiveCards.Templating.AdaptiveCardsTemplateVisitor maintains data context - -### #ctor(jtoken,rootDataContext) `constructor` + +### #ctor(jtoken,rootDataContext,hostDataContext) `constructor` ##### Summary @@ -1236,9 +1238,10 @@ constructs a data context of which current data is jtoken | ---- | ---- | ----------- | | jtoken | [Newtonsoft.Json.Linq.JToken](#T-Newtonsoft-Json-Linq-JToken 'Newtonsoft.Json.Linq.JToken') | new data to kept as data context | | rootDataContext | [Newtonsoft.Json.Linq.JToken](#T-Newtonsoft-Json-Linq-JToken 'Newtonsoft.Json.Linq.JToken') | root data context | +| hostDataContext | [Newtonsoft.Json.Linq.JToken](#T-Newtonsoft-Json-Linq-JToken 'Newtonsoft.Json.Linq.JToken') | optional host data context | - -### #ctor(text,rootDataContext) `constructor` + +### #ctor(text,rootDataContext,hostDataContext) `constructor` ##### Summary @@ -1250,6 +1253,7 @@ overload contructor that takes `text` which is `string` | ---- | ---- | ----------- | | text | [System.String](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.String 'System.String') | json in string | | rootDataContext | [Newtonsoft.Json.Linq.JToken](#T-Newtonsoft-Json-Linq-JToken 'Newtonsoft.Json.Linq.JToken') | a root data context | +| hostDataContext | [Newtonsoft.Json.Linq.JToken](#T-Newtonsoft-Json-Linq-JToken 'Newtonsoft.Json.Linq.JToken') | optional host data context | ##### Exceptions @@ -1274,8 +1278,8 @@ retrieve a [JObject](#T-Newtonsoft-Json-Linq-JObject 'Newtonsoft.Json.Linq.JObje | ---- | ---- | ----------- | | index | [System.Int32](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Int32 'System.Int32') | | - -### Init(jtoken,rootDataContext) `method` + +### Init(jtoken,rootDataContext,hostDataContext) `method` ##### Summary @@ -1287,6 +1291,7 @@ Initializer method that takes jtoken and root data context to initialize a data | ---- | ---- | ----------- | | jtoken | [Newtonsoft.Json.Linq.JToken](#T-Newtonsoft-Json-Linq-JToken 'Newtonsoft.Json.Linq.JToken') | current data context | | rootDataContext | [Newtonsoft.Json.Linq.JToken](#T-Newtonsoft-Json-Linq-JToken 'Newtonsoft.Json.Linq.JToken') | root data context | +| hostDataContext | [Newtonsoft.Json.Linq.JToken](#T-Newtonsoft-Json-Linq-JToken 'Newtonsoft.Json.Linq.JToken') | optional host data context | ## EvaluationContext `type` @@ -1310,18 +1315,52 @@ default consturctor This constructor has no parameters. - -### #ctor(rootData) `constructor` + +### #ctor(rootData,hostData) `constructor` ##### Summary -constructor for `EvaluationContext` that takes one argument that will be used for root data context +constructor for `EvaluationContext` that takes one required argument used for root data context and one optional argument supplying host data ##### Parameters | Name | Type | Description | | ---- | ---- | ----------- | -| rootData | [System.Object](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Object 'System.Object') | | +| rootData | [System.Object](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Object 'System.Object') | Data to use while binding | +| hostData | [System.Object](http://msdn.microsoft.com/query/dev14.query?appId=Dev14IDEF1&l=EN-US&k=k:System.Object 'System.Object') | Data supplied by the host for use while binding | + + +### Host `property` + +##### Summary + +Provides Host Data Context + +##### Example + +``` + + string jsonData = @"{ + ""person"": { + ""firstName"": ""Hello"", + ""lastName"": ""World"" + } + }"; + string hostData = @"{ + ""applicationName"": ""Contoso AdaptiveCards Host", + ""platform"": ""mobile"" + }"; + var context = new EvaluationContext() + { + Root = jsonData, + Host = hostData + }; + +``` + +##### Remarks + +Typically this is supplied by the host application providing additional context for template binding. For example, the host might supply language or theming information that the template can use for layout. ### Root `property` @@ -1338,6 +1377,7 @@ Provides Root Data Context ""person"": { ""firstName"": ""Hello"", ""lastName"": ""World"" + } }"; var context = new EvaluationContext() { diff --git a/source/dotnet/Library/AdaptiveCards.Templating/tool/makefile b/source/dotnet/Library/AdaptiveCards.Templating/tool/makefile index eeb23c3b82..60159f7d5b 100644 --- a/source/dotnet/Library/AdaptiveCards.Templating/tool/makefile +++ b/source/dotnet/Library/AdaptiveCards.Templating/tool/makefile @@ -1,6 +1,6 @@ sources = $(wildcard *.java) classes = $(wildcard *.class) -JAR=/usr/local/lib/antlr-4.8-complete.jar +JAR=/usr/local/lib/antlr-4.11.1-complete.jar JAVA=/usr/bin/java LEXER=../AdaptiveCardsTemplateLexer.g4 PARSER=../AdaptiveCardsTemplateParser.g4 diff --git a/source/dotnet/Library/AdaptiveCards/MarkedNet/EmojiMarkup.cs b/source/dotnet/Library/AdaptiveCards/MarkedNet/EmojiMarkup.cs index 92add937c9..0a37317cd2 100644 --- a/source/dotnet/Library/AdaptiveCards/MarkedNet/EmojiMarkup.cs +++ b/source/dotnet/Library/AdaptiveCards/MarkedNet/EmojiMarkup.cs @@ -169,7 +169,7 @@ public static class EmojiMarkup public const string wavy_dash = ":wavy_dash:"; public const string part_alternation_mark = ":part_alternation_mark:"; public const string congratulations = ":congratulations:"; - public const string secret = ":secret:"; + public const string secret = ":secret:"; // [SuppressMessage("Microsoft.Security", "CS001:SecretInline", Justification="This is just the emoji name")] public const string mahjong = ":mahjong:"; public const string black_joker = ":black_joker:"; public const string a = ":a:"; diff --git a/source/dotnet/Library/AdaptiveCards/docs/AdaptiveCards.md b/source/dotnet/Library/AdaptiveCards/docs/AdaptiveCards.md index a02ca99553..af7a618ce9 100644 --- a/source/dotnet/Library/AdaptiveCards/docs/AdaptiveCards.md +++ b/source/dotnet/Library/AdaptiveCards/docs/AdaptiveCards.md @@ -4784,7 +4784,7 @@ Collection of TableRows ##### Summary -Specifies whether the first row of the table should be treated as a header row, and be announced as such by accessibility software. +Specifies whether grid lines should be displayed. ### Type `property` diff --git a/source/dotnet/NuGet.config b/source/dotnet/NuGet.config new file mode 100644 index 0000000000..7a8b484c38 --- /dev/null +++ b/source/dotnet/NuGet.config @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/source/dotnet/NuGet/AdaptiveCards.Rendering.Wpf.nuspec b/source/dotnet/NuGet/AdaptiveCards.Rendering.Wpf.nuspec new file mode 100644 index 0000000000..662b18edc0 --- /dev/null +++ b/source/dotnet/NuGet/AdaptiveCards.Rendering.Wpf.nuspec @@ -0,0 +1,45 @@ + + + + AdaptiveCards.Rendering.Wpf + 2.8.0 + Microsoft + EULA-Windows.txt + https://aka.ms/deprecateLicenseUrl + https://adaptivecards.io/ + https://adaptivecards.io/content/icons_blue/blue-48.png + This library implements classes for rendering Adaptive Cards into WPF controls + © Microsoft Corporation. All rights reserved. + adaptivecards adaptive-cards + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/source/dotnet/NuGet/AdaptiveCards.Templating.nuspec b/source/dotnet/NuGet/AdaptiveCards.Templating.nuspec new file mode 100644 index 0000000000..293fa6c9db --- /dev/null +++ b/source/dotnet/NuGet/AdaptiveCards.Templating.nuspec @@ -0,0 +1,34 @@ + + + + AdaptiveCards.Templating + 1.5.0 + Microsoft + EULA-Windows.txt + https://aka.ms/deprecateLicenseUrl + https://github.com/microsoft/AdaptiveCards/issues/2448 + https://adaptivecards.io/content/icons_blue/blue-48.png + This library implements a JSON-to-JSON templating/data-binding engine. While it is designed to be used with Adaptive Cards, it is not dependent on Adaptive Cards and can therefore be used in many contexts and applications. + © Microsoft Corporation. All rights reserved. + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/source/dotnet/NuGet/AdaptiveCards.nuspec b/source/dotnet/NuGet/AdaptiveCards.nuspec new file mode 100644 index 0000000000..dc7fc66815 --- /dev/null +++ b/source/dotnet/NuGet/AdaptiveCards.nuspec @@ -0,0 +1,53 @@ + + + + AdaptiveCards + 3.1.0 + Microsoft + EULA-Windows.txt + https://aka.ms/deprecateLicenseUrl + https://adaptivecards.io/ + https://adaptivecards.io/content/icons_blue/blue-48.png + This library implements classes for building and serializing adaptive card objects + © Microsoft Corporation. All rights reserved. + adaptivecards adaptive-cards + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/source/dotnet/Library/AdaptiveCards.Templating/EULA-Windows.txt b/source/dotnet/NuGet/EULA-Windows.txt similarity index 100% rename from source/dotnet/Library/AdaptiveCards.Templating/EULA-Windows.txt rename to source/dotnet/NuGet/EULA-Windows.txt diff --git a/source/dotnet/Samples/AdaptiveCards.Net6.Sample.ImageRender/AdaptiveCards.Net6.Sample.ImageRender.csproj b/source/dotnet/Samples/AdaptiveCards.Net6.Sample.ImageRender/AdaptiveCards.Net6.Sample.ImageRender.csproj new file mode 100644 index 0000000000..5ca01ce326 --- /dev/null +++ b/source/dotnet/Samples/AdaptiveCards.Net6.Sample.ImageRender/AdaptiveCards.Net6.Sample.ImageRender.csproj @@ -0,0 +1,19 @@ + + + Exe + net6.0-windows7.0 + + + + + x86 + false + + + + + + + + + \ No newline at end of file diff --git a/source/dotnet/Samples/AdaptiveCards.Net6.Sample.ImageRender/Program.cs b/source/dotnet/Samples/AdaptiveCards.Net6.Sample.ImageRender/Program.cs new file mode 100644 index 0000000000..e583de2b15 --- /dev/null +++ b/source/dotnet/Samples/AdaptiveCards.Net6.Sample.ImageRender/Program.cs @@ -0,0 +1,138 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using AdaptiveCards.Rendering; +using AdaptiveCards.Rendering.Wpf; +using Microsoft.Extensions.CommandLineUtils; + +namespace AdaptiveCards.Core.Sample.ImageRender +{ + class Program + { + static void Main(string[] args) + { + var app = new CommandLineApplication(); + + app.HelpOption("-h|--help"); + + var pathArg = app.Argument("path", "The path that contains JSON card payloads"); + var optionRecurse = app.Option("-r|--recursive", "Recurse the directory for all JSON files", CommandOptionType.NoValue); + var optionOutput = app.Option("-o|--out", "The directory to output the image(s) to", CommandOptionType.SingleValue); + var optionSupportsInteracitivty = app.Option("-i|--supports-interactivity", "Include actions and inputs in the output", CommandOptionType.NoValue); + var hostConfigOption = app.Option("--host-config", "Specify a host config file", CommandOptionType.SingleValue); + + app.OnExecute(() => + { + var outPath = optionOutput.HasValue() + ? optionOutput.Value() + : Environment.CurrentDirectory; + + if (!Directory.Exists(outPath)) + Directory.CreateDirectory(outPath); + + // Get payload search path + var payloadPath = pathArg.Value ?? "..\\..\\..\\..\\samples\\v1.0\\Scenarios"; + if (pathArg.Value == null) + { + Console.WriteLine($"No path argument specified, trying {payloadPath}..."); + } + + var files = new List(); + + if (File.Exists(payloadPath)) + { + files.Add(payloadPath); + } + else if (Directory.Exists(payloadPath)) + { + var recurse = optionRecurse.HasValue() + ? SearchOption.AllDirectories + : SearchOption.TopDirectoryOnly; + + files = Directory.GetFiles(payloadPath, "*.json", recurse).ToList(); + Console.WriteLine($"Found {files.Count} card payloads..."); + } + else + { + Console.WriteLine($"{payloadPath} does not contain any JSON files. Nothing to do."); + return 1; + } + + AdaptiveHostConfig hostConfig = new AdaptiveHostConfig() + { + SupportsInteractivity = optionSupportsInteracitivty.HasValue() + }; + + + if (hostConfigOption.HasValue()) + { + hostConfig = AdaptiveHostConfig.FromJson(File.ReadAllText(hostConfigOption.Value())); + } + + AdaptiveCardRenderer renderer = new AdaptiveCardRenderer(hostConfig); + + foreach (var file in files) + { + RenderCard(file, renderer, outPath).Wait(); + } + + Console.WriteLine($"All cards were written to {Path.GetFullPath(outPath)}"); + return 0; + }); + + app.Execute(args); + + + // if output, launch the file + if (Debugger.IsAttached) + { + Console.ReadLine(); + } + } + + private static async Task RenderCard(string file, AdaptiveCardRenderer renderer, string outPath) + { + try + { + var watch = new Stopwatch(); + watch.Start(); + + AdaptiveCardParseResult parseResult = AdaptiveCard.FromJson(File.ReadAllText(file, Encoding.UTF8)); + AdaptiveCard card = parseResult.Card; + + // Timeout after 30 seconds + var cts = new CancellationTokenSource(TimeSpan.FromSeconds(30)); + + // Render the card to an image + RenderedAdaptiveCardImage renderedCard = await renderer.RenderCardToImageAsync(card, true, 400, cts.Token); + + // Report any warnings + foreach (var warning in parseResult.Warnings.Union(renderedCard.Warnings)) + { + Console.WriteLine($"[{Path.GetFileName(file)}] WARNING: {warning.Message}"); + } + + // Write to a png file with the same name as the json file + var outputFile = Path.Combine(outPath, + Path.ChangeExtension(Path.GetFileName(file), ".png")); + + using (var fileStream = new FileStream(outputFile, FileMode.Create)) + { + renderedCard.ImageStream.CopyTo(fileStream); + Console.WriteLine($"[{watch.ElapsedMilliseconds}ms T{Thread.CurrentThread.ManagedThreadId}]\t{Path.GetFileName(file)} => {Path.GetFileName(outputFile)}"); + } + } + catch (Exception ex) + { + Console.Error.WriteLine($"[FAILED]\t{Path.GetFileName(file)} => {ex.Message}"); + } + } + } +} diff --git a/source/dotnet/Samples/AdaptiveCards.Net6.Sample.ImageRender/Properties/launchSettings.json b/source/dotnet/Samples/AdaptiveCards.Net6.Sample.ImageRender/Properties/launchSettings.json new file mode 100644 index 0000000000..7ca96cd073 --- /dev/null +++ b/source/dotnet/Samples/AdaptiveCards.Net6.Sample.ImageRender/Properties/launchSettings.json @@ -0,0 +1,8 @@ +{ + "profiles": { + "AdaptiveCards.Core.Sample.ImageRender": { + "commandName": "Project", + "commandLineArgs": "..\\..\\..\\..\\..\\..\\..\\samples\\v1.0\\Scenarios -r -i -o ./out --host-config ..\\..\\..\\..\\..\\..\\..\\samples\\HostConfig\\windows-notification.json" + } + } +} \ No newline at end of file diff --git a/source/dotnet/Samples/AdaptiveCards.Net6.Sample.ImageRender/README.md b/source/dotnet/Samples/AdaptiveCards.Net6.Sample.ImageRender/README.md new file mode 100644 index 0000000000..acafdb1c06 --- /dev/null +++ b/source/dotnet/Samples/AdaptiveCards.Net6.Sample.ImageRender/README.md @@ -0,0 +1,44 @@ +# AdaptiveCards Image Renderer Sample + +This provides a CLI to exercise the .NETCore Renderer to render to images (`AdaptiveCards.Rendering.Wpf.Core`) + +## Usage + +If you cloned this repo, run the following command to generate images from the Scenario samples. The tool scans a directory for .json files that contain Adaptive Card payloads. + +```console +Usage: dotnet run [payload-path] [options] +``` + +```console +$ dotnet run +``` + +Or output to a specific directory + +```console +$ dotnet run -- -o ./out +``` + + +### Arguments + +Name | Description +---|--- +path | The path that contains JSON card payloads + +### Options + +Short | Long | Description +---|---|--- +-h |--help | Show help information +-r |--recursive | Recurse the directory for all JSON files +-o |--out | The directory to output the image(s) to +-i | --supports-interactivity | Include actions and inputs in the output +n/a | --host-config | Specify a host config file + +## Example to use Windows Notification host config + +```console +dotnet run -- ../../../../samples -r -i -o ./out --host-config ../../../../samples/hostconfig/windows-notification.json +``` \ No newline at end of file diff --git a/source/dotnet/Samples/WPFVisualizer.PackageProject/AdaptiveCards.Sample.WPFVisualizer.PackageProject.wapproj b/source/dotnet/Samples/WPFVisualizer.PackageProject/AdaptiveCards.Sample.WPFVisualizer.PackageProject.wapproj index bab073157e..c8f52d6db4 100644 --- a/source/dotnet/Samples/WPFVisualizer.PackageProject/AdaptiveCards.Sample.WPFVisualizer.PackageProject.wapproj +++ b/source/dotnet/Samples/WPFVisualizer.PackageProject/AdaptiveCards.Sample.WPFVisualizer.PackageProject.wapproj @@ -43,7 +43,7 @@ en-US AdaptiveCards.Sample.WPFVisualizer.PackageProject_TemporaryKey.pfx ..\WPFVisualizer\AdaptiveCards.Sample.WPFVisualizer.csproj - 1213BE02687F2D36BA29BFD78D27C2D6F1432842 + CDB52BC1A7F93B2E7D980BD9C235BDD6BFA59ECB True diff --git a/source/dotnet/Samples/WPFVisualizer.PackageProject/AdaptiveCards.Sample.WPFVisualizer.PackageProject_TemporaryKey.pfx b/source/dotnet/Samples/WPFVisualizer.PackageProject/AdaptiveCards.Sample.WPFVisualizer.PackageProject_TemporaryKey.pfx index ce66aa8dcd..f7a7db6edb 100644 Binary files a/source/dotnet/Samples/WPFVisualizer.PackageProject/AdaptiveCards.Sample.WPFVisualizer.PackageProject_TemporaryKey.pfx and b/source/dotnet/Samples/WPFVisualizer.PackageProject/AdaptiveCards.Sample.WPFVisualizer.PackageProject_TemporaryKey.pfx differ diff --git a/source/dotnet/Samples/WPFVisualizer/AdaptiveCards.Sample.WPFVisualizer.csproj b/source/dotnet/Samples/WPFVisualizer/AdaptiveCards.Sample.WPFVisualizer.csproj index 56400b1972..adccb90305 100644 --- a/source/dotnet/Samples/WPFVisualizer/AdaptiveCards.Sample.WPFVisualizer.csproj +++ b/source/dotnet/Samples/WPFVisualizer/AdaptiveCards.Sample.WPFVisualizer.csproj @@ -9,7 +9,7 @@ Properties WpfVisualizer WpfVisualizer - v4.6.1 + v4.8 win 512 {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} @@ -191,7 +191,7 @@ 4.0.1 - 12.0.3 + 13.0.3 5.7.0 diff --git a/source/dotnet/Samples/WPFVisualizer/App.config b/source/dotnet/Samples/WPFVisualizer/App.config index d7b3d514cd..63c21fb389 100644 --- a/source/dotnet/Samples/WPFVisualizer/App.config +++ b/source/dotnet/Samples/WPFVisualizer/App.config @@ -1,17 +1,17 @@ - + - + - - + + - - + + diff --git a/source/dotnet/Samples/WPFVisualizer/Properties/Resources.Designer.cs b/source/dotnet/Samples/WPFVisualizer/Properties/Resources.Designer.cs index 9cb3d67391..56b68acbdc 100644 --- a/source/dotnet/Samples/WPFVisualizer/Properties/Resources.Designer.cs +++ b/source/dotnet/Samples/WPFVisualizer/Properties/Resources.Designer.cs @@ -1,6 +1,4 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT License. -//------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ // // This code was generated by a tool. // Runtime Version:4.0.30319.42000 @@ -10,10 +8,10 @@ // //------------------------------------------------------------------------------ -namespace WpfVisualizer.Properties -{ - - +namespace WpfVisualizer.Properties { + using System; + + /// /// A strongly-typed resource class, for looking up localized strings, etc. /// @@ -21,51 +19,43 @@ namespace WpfVisualizer.Properties // class via a tool like ResGen or Visual Studio. // To add or remove a member, edit your .ResX file then rerun ResGen // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources - { - + internal class Resources { + private static global::System.Resources.ResourceManager resourceMan; - + private static global::System.Globalization.CultureInfo resourceCulture; - + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() - { + internal Resources() { } - + /// /// Returns the cached ResourceManager instance used by this class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager - { - get - { - if ((resourceMan == null)) - { + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("WpfVisualizer.Properties.Resources", typeof(Resources).Assembly); resourceMan = temp; } return resourceMan; } } - + /// /// Overrides the current thread's CurrentUICulture property for all /// resource lookups using this strongly typed resource class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture - { - get - { + internal static global::System.Globalization.CultureInfo Culture { + get { return resourceCulture; } - set - { + set { resourceCulture = value; } } diff --git a/source/dotnet/Samples/WPFVisualizerNet6/AdaptiveCards.Sample.WPFVisualizer.Net6.csproj b/source/dotnet/Samples/WPFVisualizerNet6/AdaptiveCards.Sample.WPFVisualizer.Net6.csproj new file mode 100644 index 0000000000..f0a3152a59 --- /dev/null +++ b/source/dotnet/Samples/WPFVisualizerNet6/AdaptiveCards.Sample.WPFVisualizer.Net6.csproj @@ -0,0 +1,119 @@ + + + net6.0-windows + WinExe + WpfVisualizer + WpfVisualizer + win10-x64 + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + CurrentArchitecture + false + true + true + true + + + true + CurrentArchitecture + + + CurrentArchitecture + + + + + + + + + + + + HostConfigs\%(Filename)%(Extension) + PreserveNewest + + + PreserveNewest + + + + + Samples\ActivityUpdate.json + PreserveNewest + + + + + + + + + + False + Microsoft .NET Framework 4.5.2 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 + false + + + + + 6.0.1 + + + 4.5.0 + + + + 5.7.0 + runtime; build; native; contentfiles; analyzers + all + + + + + + + + + + + + + + + + + + MSBuild:Compile + + + MSBuild:Compile + + + + + SettingsSingleFileGenerator + + + + + + \ No newline at end of file diff --git a/source/dotnet/Samples/WPFVisualizerNet6/App.config b/source/dotnet/Samples/WPFVisualizerNet6/App.config new file mode 100644 index 0000000000..d7b3d514cd --- /dev/null +++ b/source/dotnet/Samples/WPFVisualizerNet6/App.config @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/source/dotnet/Samples/WPFVisualizerNet6/App.xaml b/source/dotnet/Samples/WPFVisualizerNet6/App.xaml new file mode 100644 index 0000000000..4b09900c30 --- /dev/null +++ b/source/dotnet/Samples/WPFVisualizerNet6/App.xaml @@ -0,0 +1,11 @@ + + + + + + diff --git a/source/dotnet/Samples/WPFVisualizerNet6/App.xaml.cs b/source/dotnet/Samples/WPFVisualizerNet6/App.xaml.cs new file mode 100644 index 0000000000..99396bc008 --- /dev/null +++ b/source/dotnet/Samples/WPFVisualizerNet6/App.xaml.cs @@ -0,0 +1,36 @@ +// Copyright (c) Microsoft Corporation. All rights reserved. +// Licensed under the MIT License. +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.IO; +using System.Linq; +using System.Threading.Tasks; +using System.Windows; + +namespace WpfVisualizer +{ + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { + public App() + { + SetCurrentDirectory(); + } + + /// + /// Sets the current directory to the app's output directory. This is needed for Desktop Bridge, which + /// defaults to the Windows directory. + /// + private void SetCurrentDirectory() + { + // Gets the location of the EXE, including the EXE name + var exePath = typeof(App).Assembly.Location; + var outputDir = Path.GetDirectoryName(exePath); + Directory.SetCurrentDirectory(outputDir); + } + } +} diff --git a/source/dotnet/Samples/WPFVisualizerNet6/FodyWeavers.xml b/source/dotnet/Samples/WPFVisualizerNet6/FodyWeavers.xml new file mode 100644 index 0000000000..6e2fa02e64 --- /dev/null +++ b/source/dotnet/Samples/WPFVisualizerNet6/FodyWeavers.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/source/dotnet/Samples/WPFVisualizerNet6/MainWindow.xaml b/source/dotnet/Samples/WPFVisualizerNet6/MainWindow.xaml new file mode 100644 index 0000000000..78590ce30f --- /dev/null +++ b/source/dotnet/Samples/WPFVisualizerNet6/MainWindow.xaml @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + +