{"version":3,"file":"static/js/vendor.initial~c8e6f47e.8812b79a.js","mappings":"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","sources":["../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/activity-request.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/adaptive-applet.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/adaptivecards.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/card-elements.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/card-object.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/channel-adapter.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/controls/collection.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/controls/constants.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/controls/index.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/controls/menu-item.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/controls/popup-control.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/controls/popup-menu.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/enums.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/host-capabilities.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/host-config.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/registry.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/serialization.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/shared.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/strings.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/table.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/text-formatters.js","../../../../node_modules/.pnpm/adaptivecards@2.11.0-ci.202109.29001.0/node_modules/adaptivecards/lib/utils.js"],"sourcesContent":["\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LoginRequestResponse = exports.ErrorResponse = exports.SuccessResponse = exports.ActivityResponse = exports.ActivityRequestError = exports.ActivityRequestTrigger = void 0;\r\nvar ActivityRequestTrigger;\r\n(function (ActivityRequestTrigger) {\r\n ActivityRequestTrigger[\"Automatic\"] = \"automatic\";\r\n ActivityRequestTrigger[\"Manual\"] = \"manual\";\r\n})(ActivityRequestTrigger = exports.ActivityRequestTrigger || (exports.ActivityRequestTrigger = {}));\r\nvar ActivityRequestError = /** @class */ (function () {\r\n function ActivityRequestError(code, message) {\r\n this.code = code;\r\n this.message = message;\r\n }\r\n return ActivityRequestError;\r\n}());\r\nexports.ActivityRequestError = ActivityRequestError;\r\nvar ActivityResponse = /** @class */ (function () {\r\n function ActivityResponse(request) {\r\n this.request = request;\r\n }\r\n return ActivityResponse;\r\n}());\r\nexports.ActivityResponse = ActivityResponse;\r\nvar SuccessResponse = /** @class */ (function (_super) {\r\n __extends(SuccessResponse, _super);\r\n function SuccessResponse(request, rawContent) {\r\n var _this = _super.call(this, request) || this;\r\n _this.request = request;\r\n _this.rawContent = rawContent;\r\n return _this;\r\n }\r\n return SuccessResponse;\r\n}(ActivityResponse));\r\nexports.SuccessResponse = SuccessResponse;\r\nvar ErrorResponse = /** @class */ (function (_super) {\r\n __extends(ErrorResponse, _super);\r\n function ErrorResponse(request, error) {\r\n var _this = _super.call(this, request) || this;\r\n _this.request = request;\r\n _this.error = error;\r\n return _this;\r\n }\r\n return ErrorResponse;\r\n}(ActivityResponse));\r\nexports.ErrorResponse = ErrorResponse;\r\nvar LoginRequestResponse = /** @class */ (function (_super) {\r\n __extends(LoginRequestResponse, _super);\r\n function LoginRequestResponse(request, _auth) {\r\n var _this = _super.call(this, request) || this;\r\n _this.request = request;\r\n _this._auth = _auth;\r\n for (var _i = 0, _a = _this._auth.buttons; _i < _a.length; _i++) {\r\n var button = _a[_i];\r\n if (button.type === \"signin\" && button.value !== undefined) {\r\n try {\r\n new URL(button.value);\r\n _this.signinButton = button;\r\n break;\r\n }\r\n catch (e) {\r\n // Ignore parsing error\r\n }\r\n }\r\n }\r\n return _this;\r\n }\r\n Object.defineProperty(LoginRequestResponse.prototype, \"tokenExchangeResource\", {\r\n get: function () {\r\n return this._auth.tokenExchangeResource;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return LoginRequestResponse;\r\n}(ActivityResponse));\r\nexports.LoginRequestResponse = LoginRequestResponse;\r\n//# sourceMappingURL=activity-request.js.map","\"use strict\";\r\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n};\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.AdaptiveApplet = void 0;\r\nvar Enums = require(\"./enums\");\r\nvar Utils = require(\"./utils\");\r\nvar shared_1 = require(\"./shared\");\r\nvar activity_request_1 = require(\"./activity-request\");\r\nvar strings_1 = require(\"./strings\");\r\nvar card_elements_1 = require(\"./card-elements\");\r\nvar serialization_1 = require(\"./serialization\");\r\nfunction logEvent(level, message) {\r\n var optionalParams = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n optionalParams[_i - 2] = arguments[_i];\r\n }\r\n if (shared_1.GlobalSettings.applets.logEnabled) {\r\n if (shared_1.GlobalSettings.applets.onLogEvent) {\r\n shared_1.GlobalSettings.applets.onLogEvent(level, message, optionalParams);\r\n }\r\n else {\r\n switch (level) {\r\n case Enums.LogLevel.Warning:\r\n console.warn(message, optionalParams);\r\n break;\r\n case Enums.LogLevel.Error:\r\n console.error(message, optionalParams);\r\n break;\r\n default:\r\n console.log(message, optionalParams);\r\n break;\r\n }\r\n }\r\n }\r\n}\r\nvar ActivityRequest = /** @class */ (function () {\r\n function ActivityRequest(action, trigger, consecutiveRefreshes) {\r\n this.action = action;\r\n this.trigger = trigger;\r\n this.consecutiveRefreshes = consecutiveRefreshes;\r\n this.attemptNumber = 0;\r\n }\r\n ActivityRequest.prototype.retryAsync = function () {\r\n return __awaiter(this, void 0, void 0, function () {\r\n return __generator(this, function (_a) {\r\n if (this.onSend) {\r\n this.onSend(this);\r\n }\r\n return [2 /*return*/];\r\n });\r\n });\r\n };\r\n return ActivityRequest;\r\n}());\r\nvar AdaptiveApplet = /** @class */ (function () {\r\n function AdaptiveApplet() {\r\n this._allowAutomaticCardUpdate = false;\r\n this.renderedElement = document.createElement(\"div\");\r\n this.renderedElement.className = \"aaf-cardHost\";\r\n this.renderedElement.style.position = \"relative\";\r\n this.renderedElement.style.display = \"flex\";\r\n this.renderedElement.style.flexDirection = \"column\";\r\n this._cardHostElement = document.createElement(\"div\");\r\n this._refreshButtonHostElement = document.createElement(\"div\");\r\n this._refreshButtonHostElement.className = \"aaf-refreshButtonHost\";\r\n this._refreshButtonHostElement.style.display = \"none\";\r\n this.renderedElement.appendChild(this._cardHostElement);\r\n this.renderedElement.appendChild(this._refreshButtonHostElement);\r\n }\r\n AdaptiveApplet.prototype.displayCard = function (card) {\r\n if (card.renderedElement) {\r\n Utils.clearElementChildren(this._cardHostElement);\r\n this._refreshButtonHostElement.style.display = \"none\";\r\n this._cardHostElement.appendChild(card.renderedElement);\r\n }\r\n else {\r\n throw new Error(\"displayCard: undefined card.\");\r\n }\r\n };\r\n AdaptiveApplet.prototype.showManualRefreshButton = function (refreshAction) {\r\n var _this = this;\r\n var displayBuiltInManualRefreshButton = this.onShowManualRefreshButton ? this.onShowManualRefreshButton(this) : true;\r\n if (displayBuiltInManualRefreshButton) {\r\n this._refreshButtonHostElement.style.display = \"none\";\r\n var renderedRefreshButton = undefined;\r\n if (this.onRenderManualRefreshButton) {\r\n renderedRefreshButton = this.onRenderManualRefreshButton(this);\r\n }\r\n else {\r\n var message = strings_1.Strings.runtime.refreshThisCard();\r\n if (shared_1.GlobalSettings.applets.refresh.mode === Enums.RefreshMode.Automatic) {\r\n var autoRefreshPausedMessage = strings_1.Strings.runtime.automaticRefreshPaused();\r\n if (autoRefreshPausedMessage[autoRefreshPausedMessage.length - 1] !== \" \") {\r\n autoRefreshPausedMessage += \" \";\r\n }\r\n message = strings_1.Strings.runtime.clckToRestartAutomaticRefresh();\r\n }\r\n var cardPayload = {\r\n type: \"AdaptiveCard\",\r\n version: \"1.2\",\r\n body: [\r\n {\r\n type: \"RichTextBlock\",\r\n horizontalAlignment: \"right\",\r\n inlines: [\r\n {\r\n type: \"TextRun\",\r\n text: message,\r\n selectAction: {\r\n type: \"Action.Submit\",\r\n id: \"refreshCard\"\r\n }\r\n }\r\n ]\r\n }\r\n ]\r\n };\r\n var card = new card_elements_1.AdaptiveCard();\r\n card.parse(cardPayload, new card_elements_1.SerializationContext(serialization_1.Versions.v1_2));\r\n card.onExecuteAction = function (action) {\r\n if (action.id === \"refreshCard\") {\r\n Utils.clearElementChildren(_this._refreshButtonHostElement);\r\n _this.internalExecuteAction(refreshAction, activity_request_1.ActivityRequestTrigger.Automatic, 0);\r\n }\r\n };\r\n renderedRefreshButton = card.render();\r\n }\r\n if (renderedRefreshButton) {\r\n Utils.clearElementChildren(this._refreshButtonHostElement);\r\n this._refreshButtonHostElement.appendChild(renderedRefreshButton);\r\n this._refreshButtonHostElement.style.removeProperty(\"display\");\r\n }\r\n }\r\n };\r\n AdaptiveApplet.prototype.createActivityRequest = function (action, trigger, consecutiveRefreshes) {\r\n var _this = this;\r\n if (this.card) {\r\n var request_1 = new ActivityRequest(action, trigger, consecutiveRefreshes);\r\n request_1.onSend = function (sender) {\r\n sender.attemptNumber++;\r\n _this.internalSendActivityRequestAsync(request_1);\r\n };\r\n var cancel = this.onPrepareActivityRequest ? !this.onPrepareActivityRequest(this, request_1, action) : false;\r\n return cancel ? undefined : request_1;\r\n }\r\n else {\r\n throw new Error(\"createActivityRequest: no card has been set.\");\r\n }\r\n };\r\n AdaptiveApplet.prototype.createMagicCodeInputCard = function (attemptNumber) {\r\n var payload = {\r\n type: \"AdaptiveCard\",\r\n version: \"1.0\",\r\n body: [\r\n {\r\n type: \"TextBlock\",\r\n color: \"attention\",\r\n text: attemptNumber === 1 ? undefined : \"That didn't work... let's try again.\",\r\n wrap: true,\r\n horizontalAlignment: \"center\"\r\n },\r\n {\r\n type: \"TextBlock\",\r\n text: \"Please login in the popup. You will obtain a magic code. Paste that code below and select \\\"Submit\\\"\",\r\n wrap: true,\r\n horizontalAlignment: \"center\"\r\n },\r\n {\r\n type: \"Input.Text\",\r\n id: \"magicCode\",\r\n placeholder: \"Enter magic code\"\r\n },\r\n {\r\n type: \"ActionSet\",\r\n horizontalAlignment: \"center\",\r\n actions: [\r\n {\r\n type: \"Action.Submit\",\r\n id: AdaptiveApplet.submitMagicCodeActionId,\r\n title: \"Submit\"\r\n },\r\n {\r\n type: \"Action.Submit\",\r\n id: AdaptiveApplet.cancelMagicCodeAuthActionId,\r\n title: \"Cancel\"\r\n }\r\n ]\r\n }\r\n ]\r\n };\r\n var card = new card_elements_1.AdaptiveCard();\r\n card.parse(payload);\r\n return card;\r\n };\r\n AdaptiveApplet.prototype.cancelAutomaticRefresh = function () {\r\n if (this._allowAutomaticCardUpdate) {\r\n logEvent(Enums.LogLevel.Warning, \"Automatic card refresh has been cancelled as a result of the user interacting with the card.\");\r\n }\r\n this._allowAutomaticCardUpdate = false;\r\n };\r\n AdaptiveApplet.prototype.createSerializationContext = function () {\r\n return this.onCreateSerializationContext ? this.onCreateSerializationContext(this) : new card_elements_1.SerializationContext();\r\n };\r\n AdaptiveApplet.prototype.internalSetCard = function (payload, consecutiveRefreshes) {\r\n var _this = this;\r\n if (typeof payload === \"object\" && payload[\"type\"] === \"AdaptiveCard\") {\r\n this._cardPayload = payload;\r\n }\r\n if (this._cardPayload) {\r\n try {\r\n var card = new card_elements_1.AdaptiveCard();\r\n if (this.hostConfig) {\r\n card.hostConfig = this.hostConfig;\r\n }\r\n var serializationContext = this.createSerializationContext();\r\n card.parse(this._cardPayload, serializationContext);\r\n var doChangeCard = this.onCardChanging ? this.onCardChanging(this, this._cardPayload) : true;\r\n if (doChangeCard) {\r\n this._card = card;\r\n if (this._card.authentication && this._card.authentication.tokenExchangeResource && this.onPrefetchSSOToken) {\r\n this.onPrefetchSSOToken(this, this._card.authentication.tokenExchangeResource);\r\n }\r\n this._card.onExecuteAction = function (action) {\r\n // If the user takes an action, cancel any pending automatic refresh\r\n _this.cancelAutomaticRefresh();\r\n _this.internalExecuteAction(action, activity_request_1.ActivityRequestTrigger.Manual, 0);\r\n };\r\n this._card.onInputValueChanged = function (input) {\r\n // If the user modifies an input, cancel any pending automatic refresh\r\n _this.cancelAutomaticRefresh();\r\n };\r\n this._card.render();\r\n if (this._card.renderedElement) {\r\n this.displayCard(this._card);\r\n if (this.onCardChanged) {\r\n this.onCardChanged(this);\r\n }\r\n if (this._card.refresh) {\r\n if (shared_1.GlobalSettings.applets.refresh.mode === Enums.RefreshMode.Automatic && consecutiveRefreshes < shared_1.GlobalSettings.applets.refresh.maximumConsecutiveAutomaticRefreshes) {\r\n if (shared_1.GlobalSettings.applets.refresh.timeBetweenAutomaticRefreshes <= 0) {\r\n logEvent(Enums.LogLevel.Info, \"Triggering automatic card refresh number \" + (consecutiveRefreshes + 1));\r\n this.internalExecuteAction(this._card.refresh.action, activity_request_1.ActivityRequestTrigger.Automatic, consecutiveRefreshes + 1);\r\n }\r\n else {\r\n logEvent(Enums.LogLevel.Info, \"Scheduling automatic card refresh number \" + (consecutiveRefreshes + 1) + \" in \" + shared_1.GlobalSettings.applets.refresh.timeBetweenAutomaticRefreshes + \"ms\");\r\n var action_1 = this._card.refresh.action;\r\n this._allowAutomaticCardUpdate = true;\r\n window.setTimeout(function () {\r\n if (_this._allowAutomaticCardUpdate) {\r\n _this.internalExecuteAction(action_1, activity_request_1.ActivityRequestTrigger.Automatic, consecutiveRefreshes + 1);\r\n }\r\n }, shared_1.GlobalSettings.applets.refresh.timeBetweenAutomaticRefreshes);\r\n }\r\n }\r\n else if (shared_1.GlobalSettings.applets.refresh.mode !== Enums.RefreshMode.Disabled) {\r\n if (consecutiveRefreshes > 0) {\r\n logEvent(Enums.LogLevel.Warning, \"Stopping automatic refreshes after \" + consecutiveRefreshes + \" consecutive refreshes.\");\r\n }\r\n else {\r\n logEvent(Enums.LogLevel.Warning, \"The card has a refresh section, but automatic refreshes are disabled.\");\r\n }\r\n if (shared_1.GlobalSettings.applets.refresh.allowManualRefreshesAfterAutomaticRefreshes || shared_1.GlobalSettings.applets.refresh.mode === Enums.RefreshMode.Manual) {\r\n logEvent(Enums.LogLevel.Info, \"Showing manual refresh button.\");\r\n this.showManualRefreshButton(this._card.refresh.action);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n catch (error) {\r\n // Ignore all errors\r\n logEvent(Enums.LogLevel.Error, \"setCard: \" + error);\r\n }\r\n }\r\n };\r\n AdaptiveApplet.prototype.internalExecuteAction = function (action, trigger, consecutiveRefreshes) {\r\n if (action instanceof card_elements_1.ExecuteAction) {\r\n if (this.channelAdapter) {\r\n var request = this.createActivityRequest(action, trigger, consecutiveRefreshes);\r\n if (request) {\r\n request.retryAsync();\r\n }\r\n }\r\n else {\r\n throw new Error(\"internalExecuteAction: No channel adapter set.\");\r\n }\r\n }\r\n if (this.onAction) {\r\n this.onAction(this, action);\r\n }\r\n };\r\n AdaptiveApplet.prototype.createProgressOverlay = function (request) {\r\n if (!this._progressOverlay) {\r\n if (this.onCreateProgressOverlay) {\r\n this._progressOverlay = this.onCreateProgressOverlay(this, request);\r\n }\r\n else {\r\n this._progressOverlay = document.createElement(\"div\");\r\n this._progressOverlay.className = \"aaf-progress-overlay\";\r\n var spinner = document.createElement(\"div\");\r\n spinner.className = \"aaf-spinner\";\r\n spinner.style.width = \"28px\";\r\n spinner.style.height = \"28px\";\r\n this._progressOverlay.appendChild(spinner);\r\n }\r\n }\r\n return this._progressOverlay;\r\n };\r\n AdaptiveApplet.prototype.removeProgressOverlay = function (request) {\r\n if (this.onRemoveProgressOverlay) {\r\n this.onRemoveProgressOverlay(this, request);\r\n }\r\n if (this._progressOverlay !== undefined) {\r\n this.renderedElement.removeChild(this._progressOverlay);\r\n this._progressOverlay = undefined;\r\n }\r\n };\r\n AdaptiveApplet.prototype.activityRequestSucceeded = function (response, parsedContent) {\r\n if (this.onActivityRequestSucceeded) {\r\n this.onActivityRequestSucceeded(this, response, parsedContent);\r\n }\r\n };\r\n AdaptiveApplet.prototype.activityRequestFailed = function (response) {\r\n return this.onActivityRequestFailed ? this.onActivityRequestFailed(this, response) : shared_1.GlobalSettings.applets.defaultTimeBetweenRetryAttempts;\r\n };\r\n AdaptiveApplet.prototype.showAuthCodeInputDialog = function (request) {\r\n var _this = this;\r\n var showBuiltInAuthCodeInputCard = this.onShowAuthCodeInputDialog ? this.onShowAuthCodeInputDialog(this, request) : true;\r\n if (showBuiltInAuthCodeInputCard) {\r\n var authCodeInputCard = this.createMagicCodeInputCard(request.attemptNumber);\r\n authCodeInputCard.render();\r\n authCodeInputCard.onExecuteAction = function (submitMagicCodeAction) {\r\n if (_this.card && submitMagicCodeAction instanceof card_elements_1.SubmitAction) {\r\n switch (submitMagicCodeAction.id) {\r\n case AdaptiveApplet.submitMagicCodeActionId:\r\n var authCode = undefined;\r\n if (submitMagicCodeAction.data && typeof submitMagicCodeAction.data[\"magicCode\"] === \"string\") {\r\n authCode = submitMagicCodeAction.data[\"magicCode\"];\r\n }\r\n if (authCode) {\r\n _this.displayCard(_this.card);\r\n request.authCode = authCode;\r\n request.retryAsync();\r\n }\r\n else {\r\n alert(\"Please enter the magic code you received.\");\r\n }\r\n break;\r\n case AdaptiveApplet.cancelMagicCodeAuthActionId:\r\n logEvent(Enums.LogLevel.Warning, \"Authentication cancelled by user.\");\r\n _this.displayCard(_this.card);\r\n break;\r\n default:\r\n logEvent(Enums.LogLevel.Error, \"Unespected action taken from magic code input card (id = \" + submitMagicCodeAction.id + \")\");\r\n alert(strings_1.Strings.magicCodeInputCard.somethingWentWrong());\r\n break;\r\n }\r\n }\r\n };\r\n this.displayCard(authCodeInputCard);\r\n }\r\n };\r\n AdaptiveApplet.prototype.internalSendActivityRequestAsync = function (request) {\r\n return __awaiter(this, void 0, void 0, function () {\r\n var overlay, done, _loop_1, this_1, state_1;\r\n return __generator(this, function (_a) {\r\n switch (_a.label) {\r\n case 0:\r\n if (!this.channelAdapter) {\r\n throw new Error(\"internalSendActivityRequestAsync: channelAdapter is not set.\");\r\n }\r\n overlay = this.createProgressOverlay(request);\r\n if (overlay !== undefined) {\r\n this.renderedElement.appendChild(overlay);\r\n }\r\n done = false;\r\n _loop_1 = function () {\r\n var response, error_1, parsedContent, retryIn_1, attemptOAuth, left, top_1;\r\n return __generator(this, function (_b) {\r\n switch (_b.label) {\r\n case 0:\r\n response = undefined;\r\n if (request.attemptNumber === 1) {\r\n logEvent(Enums.LogLevel.Info, \"Sending activity request to channel (attempt \" + request.attemptNumber + \")\");\r\n }\r\n else {\r\n logEvent(Enums.LogLevel.Info, \"Re-sending activity request to channel (attempt \" + request.attemptNumber + \")\");\r\n }\r\n _b.label = 1;\r\n case 1:\r\n _b.trys.push([1, 3, , 4]);\r\n return [4 /*yield*/, this_1.channelAdapter.sendRequestAsync(request)];\r\n case 2:\r\n response = _b.sent();\r\n return [3 /*break*/, 4];\r\n case 3:\r\n error_1 = _b.sent();\r\n logEvent(Enums.LogLevel.Error, \"Activity request failed: \" + error_1);\r\n this_1.removeProgressOverlay(request);\r\n done = true;\r\n return [3 /*break*/, 4];\r\n case 4:\r\n if (!response) return [3 /*break*/, 10];\r\n if (!(response instanceof activity_request_1.SuccessResponse)) return [3 /*break*/, 5];\r\n this_1.removeProgressOverlay(request);\r\n if (response.rawContent === undefined) {\r\n throw new Error(\"internalSendActivityRequestAsync: Action.Execute result is undefined\");\r\n }\r\n parsedContent = response.rawContent;\r\n try {\r\n parsedContent = JSON.parse(response.rawContent);\r\n }\r\n catch (_c) {\r\n // Leave parseContent as is\r\n }\r\n if (typeof parsedContent === \"string\") {\r\n logEvent(Enums.LogLevel.Info, \"The activity request returned a string after \" + request.attemptNumber + \" attempt(s).\");\r\n this_1.activityRequestSucceeded(response, parsedContent);\r\n }\r\n else if (typeof parsedContent === \"object\" && parsedContent[\"type\"] === \"AdaptiveCard\") {\r\n logEvent(Enums.LogLevel.Info, \"The activity request returned an Adaptive Card after \" + request.attemptNumber + \" attempt(s).\");\r\n this_1.internalSetCard(parsedContent, request.consecutiveRefreshes);\r\n this_1.activityRequestSucceeded(response, this_1.card);\r\n }\r\n else {\r\n throw new Error(\"internalSendActivityRequestAsync: Action.Execute result is of unsupported type (\" + typeof response.rawContent + \")\");\r\n }\r\n done = true;\r\n return [3 /*break*/, 10];\r\n case 5:\r\n if (!(response instanceof activity_request_1.ErrorResponse)) return [3 /*break*/, 9];\r\n retryIn_1 = this_1.activityRequestFailed(response);\r\n if (!(retryIn_1 >= 0 && request.attemptNumber < shared_1.GlobalSettings.applets.maximumRetryAttempts)) return [3 /*break*/, 7];\r\n logEvent(Enums.LogLevel.Warning, \"Activity request failed: \" + response.error.message + \". Retrying in \" + retryIn_1 + \"ms\");\r\n request.attemptNumber++;\r\n return [4 /*yield*/, new Promise(function (resolve, reject) {\r\n window.setTimeout(function () { resolve(); }, retryIn_1);\r\n })];\r\n case 6:\r\n _b.sent();\r\n return [3 /*break*/, 8];\r\n case 7:\r\n logEvent(Enums.LogLevel.Error, \"Activity request failed: \" + response.error.message + \". Giving up after \" + request.attemptNumber + \" attempt(s)\");\r\n this_1.removeProgressOverlay(request);\r\n done = true;\r\n _b.label = 8;\r\n case 8: return [3 /*break*/, 10];\r\n case 9:\r\n if (response instanceof activity_request_1.LoginRequestResponse) {\r\n logEvent(Enums.LogLevel.Info, \"The activity request returned a LoginRequestResponse after \" + request.attemptNumber + \" attempt(s).\");\r\n if (request.attemptNumber <= shared_1.GlobalSettings.applets.maximumRetryAttempts) {\r\n attemptOAuth = true;\r\n if (response.tokenExchangeResource && this_1.onSSOTokenNeeded) {\r\n // Attempt to use SSO. The host will return true if it can handle SSO, in which case\r\n // we bypass OAuth\r\n attemptOAuth = !this_1.onSSOTokenNeeded(this_1, request, response.tokenExchangeResource);\r\n }\r\n if (attemptOAuth) {\r\n // Attempt to use OAuth\r\n this_1.removeProgressOverlay(request);\r\n if (response.signinButton === undefined) {\r\n throw new Error(\"internalSendActivityRequestAsync: the login request doesn't contain a valid signin URL.\");\r\n }\r\n logEvent(Enums.LogLevel.Info, \"Login required at \" + response.signinButton.value);\r\n if (this_1.onShowSigninPrompt) {\r\n // Bypass the built-in auth prompt if the host app handles it\r\n this_1.onShowSigninPrompt(this_1, request, response.signinButton);\r\n }\r\n else {\r\n this_1.showAuthCodeInputDialog(request);\r\n left = window.screenX + (window.outerWidth - shared_1.GlobalSettings.applets.authPromptWidth) / 2;\r\n top_1 = window.screenY + (window.outerHeight - shared_1.GlobalSettings.applets.authPromptHeight) / 2;\r\n window.open(response.signinButton.value, response.signinButton.title ? response.signinButton.title : \"Sign in\", \"width=\" + shared_1.GlobalSettings.applets.authPromptWidth + \",height=\" + shared_1.GlobalSettings.applets.authPromptHeight + \",left=\" + left + \",top=\" + top_1);\r\n }\r\n }\r\n }\r\n else {\r\n logEvent(Enums.LogLevel.Error, \"Authentication failed. Giving up after \" + request.attemptNumber + \" attempt(s)\");\r\n alert(strings_1.Strings.magicCodeInputCard.authenticationFailed());\r\n }\r\n return [2 /*return*/, \"break\"];\r\n }\r\n else {\r\n throw new Error(\"Unhandled response type: \" + response.toString());\r\n }\r\n _b.label = 10;\r\n case 10: return [2 /*return*/];\r\n }\r\n });\r\n };\r\n this_1 = this;\r\n _a.label = 1;\r\n case 1:\r\n if (!!done) return [3 /*break*/, 3];\r\n return [5 /*yield**/, _loop_1()];\r\n case 2:\r\n state_1 = _a.sent();\r\n if (state_1 === \"break\")\r\n return [3 /*break*/, 3];\r\n return [3 /*break*/, 1];\r\n case 3: return [2 /*return*/];\r\n }\r\n });\r\n });\r\n };\r\n AdaptiveApplet.prototype.refreshCard = function () {\r\n if (this._card && this._card.refresh) {\r\n this.internalExecuteAction(this._card.refresh.action, activity_request_1.ActivityRequestTrigger.Manual, 0);\r\n }\r\n };\r\n AdaptiveApplet.prototype.setCard = function (payload) {\r\n this.internalSetCard(payload, 0);\r\n };\r\n Object.defineProperty(AdaptiveApplet.prototype, \"card\", {\r\n get: function () {\r\n return this._card;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n AdaptiveApplet.submitMagicCodeActionId = \"submitMagicCode\";\r\n AdaptiveApplet.cancelMagicCodeAuthActionId = \"cancelMagicCodeAuth\";\r\n return AdaptiveApplet;\r\n}());\r\nexports.AdaptiveApplet = AdaptiveApplet;\r\n//# sourceMappingURL=adaptive-applet.js.map","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\n__exportStar(require(\"./strings\"), exports);\r\n__exportStar(require(\"./enums\"), exports);\r\n__exportStar(require(\"./shared\"), exports);\r\n__exportStar(require(\"./utils\"), exports);\r\n__exportStar(require(\"./serialization\"), exports);\r\n__exportStar(require(\"./host-capabilities\"), exports);\r\n__exportStar(require(\"./host-config\"), exports);\r\n__exportStar(require(\"./registry\"), exports);\r\n__exportStar(require(\"./card-object\"), exports);\r\n__exportStar(require(\"./card-elements\"), exports);\r\n__exportStar(require(\"./table\"), exports);\r\n__exportStar(require(\"./channel-adapter\"), exports);\r\n__exportStar(require(\"./activity-request\"), exports);\r\n__exportStar(require(\"./adaptive-applet\"), exports);\r\n//# sourceMappingURL=adaptivecards.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SerializationContext = exports.AdaptiveCard = exports.Authentication = exports.TokenExchangeResource = exports.AuthCardButton = exports.RefreshDefinition = exports.RefreshActionProperty = exports.ContainerWithActions = exports.ColumnSet = exports.Column = exports.Container = exports.BackgroundImage = exports.ContainerBase = exports.StylableCardElementContainer = exports.ContainerStyleProperty = exports.ActionSet = exports.ShowCardAction = exports.HttpAction = exports.HttpHeader = exports.ToggleVisibilityAction = exports.OpenUrlAction = exports.ExecuteAction = exports.SubmitAction = exports.SubmitActionBase = exports.Action = exports.TimeInput = exports.TimeProperty = exports.DateInput = exports.NumberInput = exports.ChoiceSetInput = exports.Choice = exports.ToggleInput = exports.TextInput = exports.Input = exports.Media = exports.MediaSource = exports.ImageSet = exports.CardElementContainer = exports.Image = exports.FactSet = exports.Fact = exports.RichTextBlock = exports.TextRun = exports.TextBlock = exports.BaseTextBlock = exports.ActionProperty = exports.CardElement = exports.renderSeparation = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Enums = require(\"./enums\");\r\nvar shared_1 = require(\"./shared\");\r\nvar Utils = require(\"./utils\");\r\nvar host_config_1 = require(\"./host-config\");\r\nvar TextFormatters = require(\"./text-formatters\");\r\nvar card_object_1 = require(\"./card-object\");\r\nvar serialization_1 = require(\"./serialization\");\r\nvar registry_1 = require(\"./registry\");\r\nvar strings_1 = require(\"./strings\");\r\nvar controls_1 = require(\"./controls\");\r\nfunction renderSeparation(hostConfig, separationDefinition, orientation) {\r\n if (separationDefinition.spacing > 0 || (separationDefinition.lineThickness && separationDefinition.lineThickness > 0)) {\r\n var separator = document.createElement(\"div\");\r\n separator.className = hostConfig.makeCssClassName(\"ac-\" + (orientation == Enums.Orientation.Horizontal ? \"horizontal\" : \"vertical\") + \"-separator\");\r\n separator.setAttribute(\"aria-hidden\", \"true\");\r\n var color = separationDefinition.lineColor ? Utils.stringToCssColor(separationDefinition.lineColor) : \"\";\r\n if (orientation == Enums.Orientation.Horizontal) {\r\n if (separationDefinition.lineThickness) {\r\n separator.style.paddingTop = (separationDefinition.spacing / 2) + \"px\";\r\n separator.style.marginBottom = (separationDefinition.spacing / 2) + \"px\";\r\n separator.style.borderBottom = separationDefinition.lineThickness + \"px solid \" + color;\r\n }\r\n else {\r\n separator.style.height = separationDefinition.spacing + \"px\";\r\n }\r\n }\r\n else {\r\n if (separationDefinition.lineThickness) {\r\n separator.style.paddingLeft = (separationDefinition.spacing / 2) + \"px\";\r\n separator.style.marginRight = (separationDefinition.spacing / 2) + \"px\";\r\n separator.style.borderRight = separationDefinition.lineThickness + \"px solid \" + color;\r\n }\r\n else {\r\n separator.style.width = separationDefinition.spacing + \"px\";\r\n }\r\n }\r\n separator.style.overflow = \"hidden\";\r\n separator.style.flex = \"0 0 auto\";\r\n return separator;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n}\r\nexports.renderSeparation = renderSeparation;\r\nvar CardElement = /** @class */ (function (_super) {\r\n __extends(CardElement, _super);\r\n function CardElement() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._truncatedDueToOverflow = false;\r\n return _this;\r\n }\r\n Object.defineProperty(CardElement.prototype, \"lang\", {\r\n get: function () {\r\n var lang = this.getValue(CardElement.langProperty);\r\n if (lang) {\r\n return lang;\r\n }\r\n else {\r\n if (this.parent) {\r\n return this.parent.lang;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n }\r\n },\r\n set: function (value) {\r\n this.setValue(CardElement.langProperty, value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"isVisible\", {\r\n get: function () {\r\n return this.getValue(CardElement.isVisibleProperty);\r\n },\r\n set: function (value) {\r\n // If the element is going to be hidden, reset any changes that were due\r\n // to overflow truncation (this ensures that if the element is later\r\n // un-hidden it has the right content)\r\n if (shared_1.GlobalSettings.useAdvancedCardBottomTruncation && !value) {\r\n this.undoOverflowTruncation();\r\n }\r\n if (this.isVisible !== value) {\r\n this.setValue(CardElement.isVisibleProperty, value);\r\n this.updateRenderedElementVisibility();\r\n if (this._renderedElement) {\r\n raiseElementVisibilityChangedEvent(this);\r\n }\r\n }\r\n if (this._renderedElement) {\r\n this._renderedElement.setAttribute(\"aria-expanded\", value.toString());\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n CardElement.prototype.internalRenderSeparator = function () {\r\n var renderedSeparator = renderSeparation(this.hostConfig, {\r\n spacing: this.hostConfig.getEffectiveSpacing(this.spacing),\r\n lineThickness: this.separator ? this.hostConfig.separator.lineThickness : undefined,\r\n lineColor: this.separator ? this.hostConfig.separator.lineColor : undefined\r\n }, this.separatorOrientation);\r\n if (shared_1.GlobalSettings.alwaysBleedSeparators && renderedSeparator && this.separatorOrientation == Enums.Orientation.Horizontal) {\r\n // Adjust separator's margins if the option to always bleed separators is turned on\r\n var parentContainer = this.getParentContainer();\r\n if (parentContainer && parentContainer.getEffectivePadding()) {\r\n var parentPhysicalPadding = this.hostConfig.paddingDefinitionToSpacingDefinition(parentContainer.getEffectivePadding());\r\n renderedSeparator.style.marginLeft = \"-\" + parentPhysicalPadding.left + \"px\";\r\n renderedSeparator.style.marginRight = \"-\" + parentPhysicalPadding.right + \"px\";\r\n }\r\n }\r\n return renderedSeparator;\r\n };\r\n CardElement.prototype.updateRenderedElementVisibility = function () {\r\n var displayMode = this.isDesignMode() || this.isVisible ? this._defaultRenderedElementDisplayMode : \"none\";\r\n if (this._renderedElement) {\r\n if (displayMode) {\r\n this._renderedElement.style.display = displayMode;\r\n }\r\n else {\r\n this._renderedElement.style.removeProperty(\"display\");\r\n }\r\n }\r\n if (this._separatorElement) {\r\n if (this.parent && this.parent.isFirstElement(this)) {\r\n this._separatorElement.style.display = \"none\";\r\n }\r\n else {\r\n if (displayMode) {\r\n this._separatorElement.style.display = displayMode;\r\n }\r\n else {\r\n this._separatorElement.style.removeProperty(\"display\");\r\n }\r\n }\r\n }\r\n };\r\n CardElement.prototype.hideElementDueToOverflow = function () {\r\n if (this._renderedElement && this.isVisible) {\r\n this._renderedElement.style.visibility = \"hidden\";\r\n this.isVisible = false;\r\n raiseElementVisibilityChangedEvent(this, false);\r\n }\r\n };\r\n CardElement.prototype.showElementHiddenDueToOverflow = function () {\r\n if (this._renderedElement && !this.isVisible) {\r\n this._renderedElement.style.removeProperty(\"visibility\");\r\n this.isVisible = true;\r\n raiseElementVisibilityChangedEvent(this, false);\r\n }\r\n };\r\n // Marked private to emulate internal access\r\n CardElement.prototype.handleOverflow = function (maxHeight) {\r\n if (this.isVisible || this.isHiddenDueToOverflow()) {\r\n var handled = this.truncateOverflow(maxHeight);\r\n // Even if we were unable to truncate the element to fit this time,\r\n // it still could have been previously truncated\r\n this._truncatedDueToOverflow = handled || this._truncatedDueToOverflow;\r\n if (!handled) {\r\n this.hideElementDueToOverflow();\r\n }\r\n else if (handled && !this.isVisible) {\r\n this.showElementHiddenDueToOverflow();\r\n }\r\n }\r\n };\r\n // Marked private to emulate internal access\r\n CardElement.prototype.resetOverflow = function () {\r\n var sizeChanged = false;\r\n if (this._truncatedDueToOverflow) {\r\n this.undoOverflowTruncation();\r\n this._truncatedDueToOverflow = false;\r\n sizeChanged = true;\r\n }\r\n if (this.isHiddenDueToOverflow()) {\r\n this.showElementHiddenDueToOverflow();\r\n }\r\n return sizeChanged;\r\n };\r\n CardElement.prototype.getDefaultSerializationContext = function () {\r\n return new SerializationContext();\r\n };\r\n CardElement.prototype.createPlaceholderElement = function () {\r\n var styleDefinition = this.getEffectiveStyleDefinition();\r\n var foregroundCssColor = Utils.stringToCssColor(styleDefinition.foregroundColors.default.subtle);\r\n var element = document.createElement(\"div\");\r\n element.style.border = \"1px dashed \" + foregroundCssColor;\r\n element.style.padding = \"4px\";\r\n element.style.minHeight = \"32px\";\r\n element.style.fontSize = \"10px\";\r\n element.style.color = foregroundCssColor;\r\n element.innerText = \"Empty \" + this.getJsonTypeName();\r\n return element;\r\n };\r\n CardElement.prototype.adjustRenderedElementSize = function (renderedElement) {\r\n if (this.height === \"auto\") {\r\n renderedElement.style.flex = \"0 0 auto\";\r\n }\r\n else {\r\n renderedElement.style.flex = \"1 1 auto\";\r\n }\r\n };\r\n CardElement.prototype.isDisplayed = function () {\r\n return this._renderedElement !== undefined && this.isVisible && this._renderedElement.offsetHeight > 0;\r\n };\r\n CardElement.prototype.overrideInternalRender = function () {\r\n return this.internalRender();\r\n };\r\n CardElement.prototype.applyPadding = function () {\r\n if (this.separatorElement && this.separatorOrientation === Enums.Orientation.Horizontal) {\r\n if (shared_1.GlobalSettings.alwaysBleedSeparators && !this.isBleeding()) {\r\n var padding = new shared_1.PaddingDefinition();\r\n this.getImmediateSurroundingPadding(padding);\r\n var physicalPadding = this.hostConfig.paddingDefinitionToSpacingDefinition(padding);\r\n this.separatorElement.style.marginLeft = \"-\" + physicalPadding.left + \"px\";\r\n this.separatorElement.style.marginRight = \"-\" + physicalPadding.right + \"px\";\r\n }\r\n else {\r\n this.separatorElement.style.marginRight = \"0\";\r\n this.separatorElement.style.marginLeft = \"0\";\r\n }\r\n }\r\n };\r\n /*\r\n * Called when this element overflows the bottom of the card.\r\n * maxHeight will be the amount of space still available on the card (0 if\r\n * the element is fully off the card).\r\n */\r\n CardElement.prototype.truncateOverflow = function (maxHeight) {\r\n // Child implementations should return true if the element handled\r\n // the truncation request such that its content fits within maxHeight,\r\n // false if the element should fall back to being hidden\r\n return false;\r\n };\r\n /*\r\n * This should reverse any changes performed in truncateOverflow().\r\n */\r\n CardElement.prototype.undoOverflowTruncation = function () { };\r\n CardElement.prototype.getDefaultPadding = function () {\r\n return new shared_1.PaddingDefinition();\r\n };\r\n CardElement.prototype.getHasBackground = function () {\r\n return false;\r\n };\r\n CardElement.prototype.getHasBorder = function () {\r\n return false;\r\n };\r\n CardElement.prototype.getPadding = function () {\r\n return this._padding;\r\n };\r\n CardElement.prototype.setPadding = function (value) {\r\n this._padding = value;\r\n };\r\n CardElement.prototype.shouldSerialize = function (context) {\r\n return context.elementRegistry.findByName(this.getJsonTypeName()) !== undefined;\r\n };\r\n Object.defineProperty(CardElement.prototype, \"useDefaultSizing\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"separatorOrientation\", {\r\n get: function () {\r\n return Enums.Orientation.Horizontal;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"defaultStyle\", {\r\n get: function () {\r\n return Enums.ContainerStyle.Default;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n CardElement.prototype.parse = function (source, context) {\r\n _super.prototype.parse.call(this, source, context ? context : new SerializationContext());\r\n };\r\n CardElement.prototype.asString = function () {\r\n return \"\";\r\n };\r\n CardElement.prototype.isBleeding = function () {\r\n return false;\r\n };\r\n CardElement.prototype.getEffectiveStyle = function () {\r\n if (this.parent) {\r\n return this.parent.getEffectiveStyle();\r\n }\r\n return this.defaultStyle;\r\n };\r\n CardElement.prototype.getEffectiveStyleDefinition = function () {\r\n return this.hostConfig.containerStyles.getStyleByName(this.getEffectiveStyle());\r\n };\r\n CardElement.prototype.getEffectiveTextStyleDefinition = function () {\r\n if (this.parent) {\r\n return this.parent.getEffectiveTextStyleDefinition();\r\n }\r\n return this.hostConfig.textStyles.default;\r\n };\r\n CardElement.prototype.getForbiddenActionTypes = function () {\r\n return [];\r\n };\r\n CardElement.prototype.getImmediateSurroundingPadding = function (result, processTop, processRight, processBottom, processLeft) {\r\n if (processTop === void 0) { processTop = true; }\r\n if (processRight === void 0) { processRight = true; }\r\n if (processBottom === void 0) { processBottom = true; }\r\n if (processLeft === void 0) { processLeft = true; }\r\n if (this.parent) {\r\n var doProcessTop = processTop && this.parent.isTopElement(this);\r\n var doProcessRight = processRight && this.parent.isRightMostElement(this);\r\n var doProcessBottom = processBottom && this.parent.isBottomElement(this);\r\n var doProcessLeft = processLeft && this.parent.isLeftMostElement(this);\r\n var effectivePadding = this.parent.getEffectivePadding();\r\n if (effectivePadding) {\r\n if (doProcessTop && effectivePadding.top != Enums.Spacing.None) {\r\n result.top = effectivePadding.top;\r\n doProcessTop = false;\r\n }\r\n if (doProcessRight && effectivePadding.right != Enums.Spacing.None) {\r\n result.right = effectivePadding.right;\r\n doProcessRight = false;\r\n }\r\n if (doProcessBottom && effectivePadding.bottom != Enums.Spacing.None) {\r\n result.bottom = effectivePadding.bottom;\r\n doProcessBottom = false;\r\n }\r\n if (doProcessLeft && effectivePadding.left != Enums.Spacing.None) {\r\n result.left = effectivePadding.left;\r\n doProcessLeft = false;\r\n }\r\n }\r\n if (doProcessTop || doProcessRight || doProcessBottom || doProcessLeft) {\r\n this.parent.getImmediateSurroundingPadding(result, doProcessTop, doProcessRight, doProcessBottom, doProcessLeft);\r\n }\r\n }\r\n };\r\n CardElement.prototype.getActionCount = function () {\r\n return 0;\r\n };\r\n CardElement.prototype.getActionAt = function (index) {\r\n throw new Error(strings_1.Strings.errors.indexOutOfRange(index));\r\n };\r\n CardElement.prototype.indexOfAction = function (action) {\r\n for (var i = 0; i < this.getActionCount(); i++) {\r\n if (this.getActionAt(i) === action) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n };\r\n CardElement.prototype.remove = function () {\r\n if (this.parent && this.parent instanceof CardElementContainer) {\r\n return this.parent.removeItem(this);\r\n }\r\n return false;\r\n };\r\n CardElement.prototype.render = function () {\r\n this._renderedElement = this.overrideInternalRender();\r\n this._separatorElement = this.internalRenderSeparator();\r\n if (this._renderedElement) {\r\n if (this.id) {\r\n this._renderedElement.id = this.id;\r\n }\r\n if (this.customCssSelector) {\r\n this._renderedElement.classList.add(this.customCssSelector);\r\n }\r\n this._renderedElement.style.boxSizing = \"border-box\";\r\n this._defaultRenderedElementDisplayMode = this._renderedElement.style.display ? this._renderedElement.style.display : undefined;\r\n this.adjustRenderedElementSize(this._renderedElement);\r\n this.updateLayout(false);\r\n }\r\n else if (this.isDesignMode()) {\r\n this._renderedElement = this.createPlaceholderElement();\r\n }\r\n return this._renderedElement;\r\n };\r\n CardElement.prototype.updateLayout = function (processChildren) {\r\n if (processChildren === void 0) { processChildren = true; }\r\n this.updateRenderedElementVisibility();\r\n this.applyPadding();\r\n };\r\n CardElement.prototype.indexOf = function (cardElement) {\r\n return -1;\r\n };\r\n CardElement.prototype.isDesignMode = function () {\r\n var rootElement = this.getRootElement();\r\n return rootElement instanceof AdaptiveCard && rootElement.designMode;\r\n };\r\n CardElement.prototype.isFirstElement = function (element) {\r\n return true;\r\n };\r\n CardElement.prototype.isLastElement = function (element) {\r\n return true;\r\n };\r\n CardElement.prototype.isAtTheVeryLeft = function () {\r\n return this.parent ? this.parent.isLeftMostElement(this) && this.parent.isAtTheVeryLeft() : true;\r\n };\r\n CardElement.prototype.isAtTheVeryRight = function () {\r\n return this.parent ? this.parent.isRightMostElement(this) && this.parent.isAtTheVeryRight() : true;\r\n };\r\n CardElement.prototype.isAtTheVeryTop = function () {\r\n return this.parent ? this.parent.isFirstElement(this) && this.parent.isAtTheVeryTop() : true;\r\n };\r\n CardElement.prototype.isAtTheVeryBottom = function () {\r\n return this.parent ? this.parent.isLastElement(this) && this.parent.isAtTheVeryBottom() : true;\r\n };\r\n CardElement.prototype.isBleedingAtTop = function () {\r\n return false;\r\n };\r\n CardElement.prototype.isBleedingAtBottom = function () {\r\n return false;\r\n };\r\n CardElement.prototype.isLeftMostElement = function (element) {\r\n return true;\r\n };\r\n CardElement.prototype.isRightMostElement = function (element) {\r\n return true;\r\n };\r\n CardElement.prototype.isTopElement = function (element) {\r\n return this.isFirstElement(element);\r\n };\r\n CardElement.prototype.isBottomElement = function (element) {\r\n return this.isLastElement(element);\r\n };\r\n CardElement.prototype.isHiddenDueToOverflow = function () {\r\n return this._renderedElement !== undefined && this._renderedElement.style.visibility == 'hidden';\r\n };\r\n CardElement.prototype.getRootElement = function () {\r\n return this.getRootObject();\r\n };\r\n CardElement.prototype.getParentContainer = function () {\r\n var currentElement = this.parent;\r\n while (currentElement) {\r\n if (currentElement instanceof Container) {\r\n return currentElement;\r\n }\r\n currentElement = currentElement.parent;\r\n }\r\n return undefined;\r\n };\r\n CardElement.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n return [];\r\n };\r\n CardElement.prototype.getResourceInformation = function () {\r\n return [];\r\n };\r\n CardElement.prototype.getElementById = function (id) {\r\n return this.id === id ? this : undefined;\r\n };\r\n CardElement.prototype.getActionById = function (id) {\r\n return undefined;\r\n };\r\n CardElement.prototype.getEffectivePadding = function () {\r\n var padding = this.getPadding();\r\n return padding ? padding : this.getDefaultPadding();\r\n };\r\n CardElement.prototype.getEffectiveHorizontalAlignment = function () {\r\n if (this.horizontalAlignment !== undefined) {\r\n return this.horizontalAlignment;\r\n }\r\n if (this.parent) {\r\n return this.parent.getEffectiveHorizontalAlignment();\r\n }\r\n return Enums.HorizontalAlignment.Left;\r\n };\r\n Object.defineProperty(CardElement.prototype, \"hostConfig\", {\r\n get: function () {\r\n if (this._hostConfig) {\r\n return this._hostConfig;\r\n }\r\n else {\r\n if (this.parent) {\r\n return this.parent.hostConfig;\r\n }\r\n else {\r\n return host_config_1.defaultHostConfig;\r\n }\r\n }\r\n },\r\n set: function (value) {\r\n this._hostConfig = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"index\", {\r\n get: function () {\r\n if (this.parent) {\r\n return this.parent.indexOf(this);\r\n }\r\n else {\r\n return 0;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"isInteractive\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"isStandalone\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"isInline\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"hasVisibleSeparator\", {\r\n get: function () {\r\n if (this.parent && this.separatorElement) {\r\n return !this.parent.isFirstElement(this) && (this.isVisible || this.isDesignMode());\r\n }\r\n else {\r\n return false;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"separatorElement\", {\r\n get: function () {\r\n return this._separatorElement;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardElement.prototype, \"parent\", {\r\n get: function () {\r\n return this._parent;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n CardElement.langProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"lang\", true, /^[a-z]{2,3}$/ig);\r\n CardElement.isVisibleProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"isVisible\", true);\r\n CardElement.separatorProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_0, \"separator\", false);\r\n CardElement.heightProperty = new serialization_1.ValueSetProperty(serialization_1.Versions.v1_1, \"height\", [\r\n { value: \"auto\" },\r\n { value: \"stretch\" }\r\n ], \"auto\");\r\n CardElement.horizontalAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"horizontalAlignment\", Enums.HorizontalAlignment);\r\n CardElement.spacingProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"spacing\", Enums.Spacing, Enums.Spacing.Default);\r\n __decorate([\r\n serialization_1.property(CardElement.horizontalAlignmentProperty)\r\n ], CardElement.prototype, \"horizontalAlignment\", void 0);\r\n __decorate([\r\n serialization_1.property(CardElement.spacingProperty)\r\n ], CardElement.prototype, \"spacing\", void 0);\r\n __decorate([\r\n serialization_1.property(CardElement.separatorProperty)\r\n ], CardElement.prototype, \"separator\", void 0);\r\n __decorate([\r\n serialization_1.property(CardElement.heightProperty)\r\n ], CardElement.prototype, \"height\", void 0);\r\n __decorate([\r\n serialization_1.property(CardElement.langProperty)\r\n ], CardElement.prototype, \"lang\", null);\r\n __decorate([\r\n serialization_1.property(CardElement.isVisibleProperty)\r\n ], CardElement.prototype, \"isVisible\", null);\r\n return CardElement;\r\n}(card_object_1.CardObject));\r\nexports.CardElement = CardElement;\r\nvar ActionProperty = /** @class */ (function (_super) {\r\n __extends(ActionProperty, _super);\r\n function ActionProperty(targetVersion, name, forbiddenActionTypes) {\r\n if (forbiddenActionTypes === void 0) { forbiddenActionTypes = []; }\r\n var _this = _super.call(this, targetVersion, name, undefined) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.forbiddenActionTypes = forbiddenActionTypes;\r\n return _this;\r\n }\r\n ActionProperty.prototype.parse = function (sender, source, context) {\r\n var parent = sender;\r\n return context.parseAction(parent, source[this.name], this.forbiddenActionTypes, parent.isDesignMode());\r\n };\r\n ActionProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeValue(target, this.name, value ? value.toJSON(context) : undefined, undefined, true);\r\n };\r\n return ActionProperty;\r\n}(serialization_1.PropertyDefinition));\r\nexports.ActionProperty = ActionProperty;\r\nvar BaseTextBlock = /** @class */ (function (_super) {\r\n __extends(BaseTextBlock, _super);\r\n function BaseTextBlock(text) {\r\n var _this = _super.call(this) || this;\r\n _this.ariaHidden = false;\r\n if (text) {\r\n _this.text = text;\r\n }\r\n return _this;\r\n }\r\n BaseTextBlock.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n // selectAction is declared on BaseTextBlock but is only exposed on TextRun,\r\n // so the property is removed from the BaseTextBlock schema.\r\n schema.remove(BaseTextBlock.selectActionProperty);\r\n };\r\n Object.defineProperty(BaseTextBlock.prototype, \"text\", {\r\n get: function () {\r\n return this.getValue(BaseTextBlock.textProperty);\r\n },\r\n set: function (value) {\r\n this.setText(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#endregion\r\n BaseTextBlock.prototype.getFontSize = function (fontType) {\r\n switch (this.effectiveSize) {\r\n case Enums.TextSize.Small:\r\n return fontType.fontSizes.small;\r\n case Enums.TextSize.Medium:\r\n return fontType.fontSizes.medium;\r\n case Enums.TextSize.Large:\r\n return fontType.fontSizes.large;\r\n case Enums.TextSize.ExtraLarge:\r\n return fontType.fontSizes.extraLarge;\r\n default:\r\n return fontType.fontSizes.default;\r\n }\r\n };\r\n BaseTextBlock.prototype.getColorDefinition = function (colorSet, color) {\r\n switch (color) {\r\n case Enums.TextColor.Accent:\r\n return colorSet.accent;\r\n case Enums.TextColor.Dark:\r\n return colorSet.dark;\r\n case Enums.TextColor.Light:\r\n return colorSet.light;\r\n case Enums.TextColor.Good:\r\n return colorSet.good;\r\n case Enums.TextColor.Warning:\r\n return colorSet.warning;\r\n case Enums.TextColor.Attention:\r\n return colorSet.attention;\r\n default:\r\n return colorSet.default;\r\n }\r\n };\r\n BaseTextBlock.prototype.setText = function (value) {\r\n this.setValue(BaseTextBlock.textProperty, value);\r\n };\r\n BaseTextBlock.prototype.init = function (textDefinition) {\r\n this.size = textDefinition.size;\r\n this.weight = textDefinition.weight;\r\n this.color = textDefinition.color;\r\n this.isSubtle = textDefinition.isSubtle;\r\n };\r\n BaseTextBlock.prototype.asString = function () {\r\n return this.text;\r\n };\r\n BaseTextBlock.prototype.applyStylesTo = function (targetElement) {\r\n var fontType = this.hostConfig.getFontTypeDefinition(this.effectiveFontType);\r\n if (fontType.fontFamily) {\r\n targetElement.style.fontFamily = fontType.fontFamily;\r\n }\r\n var fontSize;\r\n switch (this.effectiveSize) {\r\n case Enums.TextSize.Small:\r\n fontSize = fontType.fontSizes.small;\r\n break;\r\n case Enums.TextSize.Medium:\r\n fontSize = fontType.fontSizes.medium;\r\n break;\r\n case Enums.TextSize.Large:\r\n fontSize = fontType.fontSizes.large;\r\n break;\r\n case Enums.TextSize.ExtraLarge:\r\n fontSize = fontType.fontSizes.extraLarge;\r\n break;\r\n default:\r\n fontSize = fontType.fontSizes.default;\r\n break;\r\n }\r\n targetElement.style.fontSize = fontSize + \"px\";\r\n var colorDefinition = this.getColorDefinition(this.getEffectiveStyleDefinition().foregroundColors, this.effectiveColor);\r\n targetElement.style.color = Utils.stringToCssColor(this.effectiveIsSubtle ? colorDefinition.subtle : colorDefinition.default);\r\n var fontWeight;\r\n switch (this.effectiveWeight) {\r\n case Enums.TextWeight.Lighter:\r\n fontWeight = fontType.fontWeights.lighter;\r\n break;\r\n case Enums.TextWeight.Bolder:\r\n fontWeight = fontType.fontWeights.bolder;\r\n break;\r\n default:\r\n fontWeight = fontType.fontWeights.default;\r\n break;\r\n }\r\n targetElement.style.fontWeight = fontWeight.toString();\r\n if (this.ariaHidden) {\r\n targetElement.setAttribute(\"aria-hidden\", \"true\");\r\n }\r\n };\r\n Object.defineProperty(BaseTextBlock.prototype, \"effectiveColor\", {\r\n get: function () {\r\n return this.color !== undefined ? this.color : this.getEffectiveTextStyleDefinition().color;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(BaseTextBlock.prototype, \"effectiveFontType\", {\r\n get: function () {\r\n return this.fontType !== undefined ? this.fontType : this.getEffectiveTextStyleDefinition().fontType;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(BaseTextBlock.prototype, \"effectiveIsSubtle\", {\r\n get: function () {\r\n return this.isSubtle !== undefined ? this.isSubtle : this.getEffectiveTextStyleDefinition().isSubtle;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(BaseTextBlock.prototype, \"effectiveSize\", {\r\n get: function () {\r\n return this.size !== undefined ? this.size : this.getEffectiveTextStyleDefinition().size;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(BaseTextBlock.prototype, \"effectiveWeight\", {\r\n get: function () {\r\n return this.weight !== undefined ? this.weight : this.getEffectiveTextStyleDefinition().weight;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n BaseTextBlock.textProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"text\", true);\r\n BaseTextBlock.sizeProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"size\", Enums.TextSize);\r\n BaseTextBlock.weightProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"weight\", Enums.TextWeight);\r\n BaseTextBlock.colorProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"color\", Enums.TextColor);\r\n BaseTextBlock.isSubtleProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_0, \"isSubtle\");\r\n BaseTextBlock.fontTypeProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_2, \"fontType\", Enums.FontType);\r\n BaseTextBlock.selectActionProperty = new ActionProperty(serialization_1.Versions.v1_1, \"selectAction\", [\"Action.ShowCard\"]);\r\n __decorate([\r\n serialization_1.property(BaseTextBlock.sizeProperty)\r\n ], BaseTextBlock.prototype, \"size\", void 0);\r\n __decorate([\r\n serialization_1.property(BaseTextBlock.weightProperty)\r\n ], BaseTextBlock.prototype, \"weight\", void 0);\r\n __decorate([\r\n serialization_1.property(BaseTextBlock.colorProperty)\r\n ], BaseTextBlock.prototype, \"color\", void 0);\r\n __decorate([\r\n serialization_1.property(BaseTextBlock.fontTypeProperty)\r\n ], BaseTextBlock.prototype, \"fontType\", void 0);\r\n __decorate([\r\n serialization_1.property(BaseTextBlock.isSubtleProperty)\r\n ], BaseTextBlock.prototype, \"isSubtle\", void 0);\r\n __decorate([\r\n serialization_1.property(BaseTextBlock.textProperty)\r\n ], BaseTextBlock.prototype, \"text\", null);\r\n __decorate([\r\n serialization_1.property(BaseTextBlock.selectActionProperty)\r\n ], BaseTextBlock.prototype, \"selectAction\", void 0);\r\n return BaseTextBlock;\r\n}(CardElement));\r\nexports.BaseTextBlock = BaseTextBlock;\r\nvar TextBlock = /** @class */ (function (_super) {\r\n __extends(TextBlock, _super);\r\n function TextBlock() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.wrap = false;\r\n _this._treatAsPlainText = true;\r\n _this.useMarkdown = true;\r\n return _this;\r\n }\r\n TextBlock.prototype.restoreOriginalContent = function () {\r\n if (this.renderedElement !== undefined) {\r\n if (this.maxLines && this.maxLines > 0) {\r\n this.renderedElement.style.maxHeight = this._computedLineHeight * this.maxLines + \"px\";\r\n }\r\n this.renderedElement.innerHTML = this._originalInnerHtml;\r\n }\r\n };\r\n TextBlock.prototype.truncateIfSupported = function (maxHeight) {\r\n if (this.renderedElement !== undefined) {\r\n // For now, only truncate TextBlocks that contain just a single\r\n // paragraph -- since the maxLines calculation doesn't take into\r\n // account Markdown lists\r\n var children = this.renderedElement.children;\r\n var isTextOnly = !children.length;\r\n var truncationSupported = isTextOnly || children.length == 1 && children[0].tagName.toLowerCase() == 'p';\r\n if (truncationSupported) {\r\n var element = isTextOnly ? this.renderedElement : children[0];\r\n Utils.truncate(element, maxHeight, this._computedLineHeight);\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n TextBlock.prototype.setText = function (value) {\r\n _super.prototype.setText.call(this, value);\r\n this._processedText = undefined;\r\n };\r\n TextBlock.prototype.internalRender = function () {\r\n var _this = this;\r\n this._processedText = undefined;\r\n if (this.text) {\r\n var preProcessedText = this.preProcessPropertyValue(BaseTextBlock.textProperty);\r\n var hostConfig = this.hostConfig;\r\n var element = void 0;\r\n if (this.forElementId) {\r\n var labelElement = document.createElement(\"label\");\r\n labelElement.htmlFor = this.forElementId;\r\n element = labelElement;\r\n }\r\n else {\r\n element = document.createElement(\"div\");\r\n }\r\n element.classList.add(hostConfig.makeCssClassName(\"ac-textBlock\"));\r\n element.style.overflow = \"hidden\";\r\n this.applyStylesTo(element);\r\n if (this.style === \"heading\") {\r\n element.setAttribute(\"role\", \"heading\");\r\n var headingLevel = this.hostConfig.textBlock.headingLevel;\r\n if (headingLevel !== undefined && headingLevel > 0) {\r\n element.setAttribute(\"aria-level\", headingLevel.toString());\r\n }\r\n }\r\n if (this.selectAction && hostConfig.supportsInteractivity) {\r\n element.onclick = function (e) {\r\n if (_this.selectAction && _this.selectAction.isEnabled) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this.selectAction.execute();\r\n }\r\n };\r\n this.selectAction.setupElementForAccessibility(element);\r\n if (this.selectAction.isEnabled) {\r\n element.classList.add(hostConfig.makeCssClassName(\"ac-selectable\"));\r\n }\r\n }\r\n if (!this._processedText) {\r\n this._treatAsPlainText = true;\r\n var formattedText = TextFormatters.formatText(this.lang, preProcessedText);\r\n if (this.useMarkdown && formattedText) {\r\n if (shared_1.GlobalSettings.allowMarkForTextHighlighting) {\r\n formattedText = formattedText.replace(//g, \"===\").replace(/<\\/mark>/g, \"/==/\");\r\n }\r\n var markdownProcessingResult = AdaptiveCard.applyMarkdown(formattedText);\r\n if (markdownProcessingResult.didProcess && markdownProcessingResult.outputHtml) {\r\n this._processedText = markdownProcessingResult.outputHtml;\r\n this._treatAsPlainText = false;\r\n // Only process tag if markdown processing was applied because\r\n // markdown processing is also responsible for sanitizing the input string\r\n if (shared_1.GlobalSettings.allowMarkForTextHighlighting && this._processedText) {\r\n var markStyle = \"\";\r\n var effectiveStyle = this.getEffectiveStyleDefinition();\r\n if (effectiveStyle.highlightBackgroundColor) {\r\n markStyle += \"background-color: \" + effectiveStyle.highlightBackgroundColor + \";\";\r\n }\r\n if (effectiveStyle.highlightForegroundColor) {\r\n markStyle += \"color: \" + effectiveStyle.highlightForegroundColor + \";\";\r\n }\r\n if (markStyle) {\r\n markStyle = 'style=\"' + markStyle + '\"';\r\n }\r\n this._processedText = this._processedText.replace(/===/g, \"\").replace(/\\/==\\//g, \"\");\r\n }\r\n }\r\n else {\r\n this._processedText = formattedText;\r\n this._treatAsPlainText = true;\r\n }\r\n }\r\n else {\r\n this._processedText = formattedText;\r\n this._treatAsPlainText = true;\r\n }\r\n }\r\n if (!this._processedText) {\r\n this._processedText = \"\";\r\n }\r\n if (this._treatAsPlainText) {\r\n element.innerText = this._processedText;\r\n }\r\n else {\r\n element.innerHTML = this._processedText;\r\n }\r\n if (element.firstElementChild instanceof HTMLElement) {\r\n var firstElementChild = element.firstElementChild;\r\n firstElementChild.style.marginTop = \"0px\";\r\n firstElementChild.style.width = \"100%\";\r\n if (!this.wrap) {\r\n firstElementChild.style.overflow = \"hidden\";\r\n firstElementChild.style.textOverflow = \"ellipsis\";\r\n }\r\n }\r\n if (element.lastElementChild instanceof HTMLElement) {\r\n element.lastElementChild.style.marginBottom = \"0px\";\r\n }\r\n var anchors = element.getElementsByTagName(\"a\");\r\n for (var i = 0; i < anchors.length; i++) {\r\n var anchor = anchors[i];\r\n anchor.classList.add(hostConfig.makeCssClassName(\"ac-anchor\"));\r\n anchor.target = \"_blank\";\r\n anchor.onclick = function (e) {\r\n if (raiseAnchorClickedEvent(_this, e.target, e)) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n }\r\n };\r\n anchor.oncontextmenu = function (e) {\r\n if (raiseAnchorClickedEvent(_this, e.target, e)) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n return false;\r\n }\r\n return true;\r\n };\r\n }\r\n if (this.wrap) {\r\n element.style.wordWrap = \"break-word\";\r\n if (this.maxLines && this.maxLines > 0) {\r\n element.style.overflow = \"hidden\";\r\n if (Utils.isInternetExplorer() || !shared_1.GlobalSettings.useWebkitLineClamp) {\r\n element.style.maxHeight = (this._computedLineHeight * this.maxLines) + \"px\";\r\n }\r\n else {\r\n // While non standard, --webkit-line-clamp works in every browser (except IE)\r\n // and is a great solution to support the maxLines feature with ellipsis\r\n // truncation. With --webkit-line-clamp there is need to use explicit line heights\r\n element.style.removeProperty(\"line-height\");\r\n element.style.display = \"-webkit-box\";\r\n element.style.webkitBoxOrient = \"vertical\";\r\n element.style.webkitLineClamp = this.maxLines.toString();\r\n }\r\n }\r\n }\r\n else {\r\n element.style.whiteSpace = \"nowrap\";\r\n element.style.textOverflow = \"ellipsis\";\r\n }\r\n if (shared_1.GlobalSettings.useAdvancedTextBlockTruncation || shared_1.GlobalSettings.useAdvancedCardBottomTruncation) {\r\n this._originalInnerHtml = element.innerHTML;\r\n }\r\n return element;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n TextBlock.prototype.truncateOverflow = function (maxHeight) {\r\n if (maxHeight >= this._computedLineHeight) {\r\n return this.truncateIfSupported(maxHeight);\r\n }\r\n return false;\r\n };\r\n TextBlock.prototype.undoOverflowTruncation = function () {\r\n this.restoreOriginalContent();\r\n if (shared_1.GlobalSettings.useAdvancedTextBlockTruncation && this.maxLines) {\r\n var maxHeight = this._computedLineHeight * this.maxLines;\r\n this.truncateIfSupported(maxHeight);\r\n }\r\n };\r\n TextBlock.prototype.applyStylesTo = function (targetElement) {\r\n _super.prototype.applyStylesTo.call(this, targetElement);\r\n switch (this.getEffectiveHorizontalAlignment()) {\r\n case Enums.HorizontalAlignment.Center:\r\n targetElement.style.textAlign = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n targetElement.style.textAlign = \"end\";\r\n break;\r\n default:\r\n targetElement.style.textAlign = \"start\";\r\n break;\r\n }\r\n var lineHeights = this.hostConfig.lineHeights;\r\n if (lineHeights) {\r\n switch (this.effectiveSize) {\r\n case Enums.TextSize.Small:\r\n this._computedLineHeight = lineHeights.small;\r\n break;\r\n case Enums.TextSize.Medium:\r\n this._computedLineHeight = lineHeights.medium;\r\n break;\r\n case Enums.TextSize.Large:\r\n this._computedLineHeight = lineHeights.large;\r\n break;\r\n case Enums.TextSize.ExtraLarge:\r\n this._computedLineHeight = lineHeights.extraLarge;\r\n break;\r\n default:\r\n this._computedLineHeight = lineHeights.default;\r\n break;\r\n }\r\n }\r\n else {\r\n // Looks like 1.33 is the magic number to compute line-height\r\n // from font size.\r\n this._computedLineHeight = this.getFontSize(this.hostConfig.getFontTypeDefinition(this.effectiveFontType)) * 1.33;\r\n }\r\n targetElement.style.lineHeight = this._computedLineHeight + \"px\";\r\n };\r\n TextBlock.prototype.getJsonTypeName = function () {\r\n return \"TextBlock\";\r\n };\r\n TextBlock.prototype.getEffectiveTextStyleDefinition = function () {\r\n if (this.style) {\r\n return this.hostConfig.textStyles.getStyleByName(this.style);\r\n }\r\n return _super.prototype.getEffectiveTextStyleDefinition.call(this);\r\n };\r\n TextBlock.prototype.updateLayout = function (processChildren) {\r\n if (processChildren === void 0) { processChildren = false; }\r\n _super.prototype.updateLayout.call(this, processChildren);\r\n if (shared_1.GlobalSettings.useAdvancedTextBlockTruncation && this.maxLines && this.isDisplayed()) {\r\n // Reset the element's innerHTML in case the available room for\r\n // content has increased\r\n this.restoreOriginalContent();\r\n this.truncateIfSupported(this._computedLineHeight * this.maxLines);\r\n }\r\n };\r\n TextBlock.wrapProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_0, \"wrap\", false);\r\n TextBlock.maxLinesProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_0, \"maxLines\");\r\n TextBlock.styleProperty = new serialization_1.ValueSetProperty(serialization_1.Versions.v1_5, \"style\", [\r\n { value: \"default\" },\r\n { value: \"columnHeader\" },\r\n { value: \"heading\" }\r\n ]);\r\n __decorate([\r\n serialization_1.property(TextBlock.wrapProperty)\r\n ], TextBlock.prototype, \"wrap\", void 0);\r\n __decorate([\r\n serialization_1.property(TextBlock.maxLinesProperty)\r\n ], TextBlock.prototype, \"maxLines\", void 0);\r\n __decorate([\r\n serialization_1.property(TextBlock.styleProperty)\r\n ], TextBlock.prototype, \"style\", void 0);\r\n return TextBlock;\r\n}(BaseTextBlock));\r\nexports.TextBlock = TextBlock;\r\nvar TextRun = /** @class */ (function (_super) {\r\n __extends(TextRun, _super);\r\n function TextRun() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.italic = false;\r\n _this.strikethrough = false;\r\n _this.highlight = false;\r\n _this.underline = false;\r\n return _this;\r\n }\r\n TextRun.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n schema.add(BaseTextBlock.selectActionProperty);\r\n };\r\n //#endregion\r\n TextRun.prototype.internalRender = function () {\r\n var _this = this;\r\n if (this.text) {\r\n var preProcessedText = this.preProcessPropertyValue(BaseTextBlock.textProperty);\r\n var hostConfig = this.hostConfig;\r\n var formattedText = TextFormatters.formatText(this.lang, preProcessedText);\r\n if (!formattedText) {\r\n formattedText = \"\";\r\n }\r\n var element = document.createElement(\"span\");\r\n element.classList.add(hostConfig.makeCssClassName(\"ac-textRun\"));\r\n this.applyStylesTo(element);\r\n if (this.selectAction && hostConfig.supportsInteractivity) {\r\n var anchor = document.createElement(\"a\");\r\n anchor.classList.add(hostConfig.makeCssClassName(\"ac-anchor\"));\r\n var href = this.selectAction.getHref();\r\n anchor.href = href ? href : \"\";\r\n anchor.target = \"_blank\";\r\n anchor.onclick = function (e) {\r\n if (_this.selectAction && _this.selectAction.isEnabled) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this.selectAction.execute();\r\n }\r\n };\r\n this.selectAction.setupElementForAccessibility(anchor);\r\n anchor.innerText = formattedText;\r\n element.appendChild(anchor);\r\n }\r\n else {\r\n element.innerText = formattedText;\r\n }\r\n return element;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n TextRun.prototype.applyStylesTo = function (targetElement) {\r\n _super.prototype.applyStylesTo.call(this, targetElement);\r\n if (this.italic) {\r\n targetElement.style.fontStyle = \"italic\";\r\n }\r\n if (this.strikethrough) {\r\n targetElement.style.textDecoration = \"line-through\";\r\n }\r\n if (this.highlight) {\r\n var colorDefinition = this.getColorDefinition(this.getEffectiveStyleDefinition().foregroundColors, this.effectiveColor);\r\n targetElement.style.backgroundColor = Utils.stringToCssColor(this.effectiveIsSubtle ? colorDefinition.highlightColors.subtle : colorDefinition.highlightColors.default);\r\n }\r\n if (this.underline) {\r\n targetElement.style.textDecoration = \"underline\";\r\n }\r\n };\r\n TextRun.prototype.getJsonTypeName = function () {\r\n return \"TextRun\";\r\n };\r\n Object.defineProperty(TextRun.prototype, \"isStandalone\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(TextRun.prototype, \"isInline\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n TextRun.italicProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"italic\", false);\r\n TextRun.strikethroughProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"strikethrough\", false);\r\n TextRun.highlightProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"highlight\", false);\r\n TextRun.underlineProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_3, \"underline\", false);\r\n __decorate([\r\n serialization_1.property(TextRun.italicProperty)\r\n ], TextRun.prototype, \"italic\", void 0);\r\n __decorate([\r\n serialization_1.property(TextRun.strikethroughProperty)\r\n ], TextRun.prototype, \"strikethrough\", void 0);\r\n __decorate([\r\n serialization_1.property(TextRun.highlightProperty)\r\n ], TextRun.prototype, \"highlight\", void 0);\r\n __decorate([\r\n serialization_1.property(TextRun.underlineProperty)\r\n ], TextRun.prototype, \"underline\", void 0);\r\n return TextRun;\r\n}(BaseTextBlock));\r\nexports.TextRun = TextRun;\r\nvar RichTextBlock = /** @class */ (function (_super) {\r\n __extends(RichTextBlock, _super);\r\n function RichTextBlock() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._inlines = [];\r\n return _this;\r\n }\r\n RichTextBlock.prototype.internalAddInline = function (inline, forceAdd) {\r\n if (forceAdd === void 0) { forceAdd = false; }\r\n if (!inline.isInline) {\r\n throw new Error(strings_1.Strings.errors.elementCannotBeUsedAsInline());\r\n }\r\n var doAdd = inline.parent === undefined || forceAdd;\r\n if (!doAdd && inline.parent != this) {\r\n throw new Error(strings_1.Strings.errors.inlineAlreadyParented());\r\n }\r\n else {\r\n inline.setParent(this);\r\n this._inlines.push(inline);\r\n }\r\n };\r\n RichTextBlock.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this._inlines = [];\r\n if (Array.isArray(source[\"inlines\"])) {\r\n for (var _i = 0, _a = source[\"inlines\"]; _i < _a.length; _i++) {\r\n var jsonInline = _a[_i];\r\n var inline = void 0;\r\n if (typeof jsonInline === \"string\") {\r\n var textRun = new TextRun();\r\n textRun.text = jsonInline;\r\n inline = textRun;\r\n }\r\n else {\r\n // No fallback for inlines in 1.2\r\n inline = context.parseElement(this, jsonInline, false);\r\n }\r\n if (inline) {\r\n this.internalAddInline(inline, true);\r\n }\r\n }\r\n }\r\n };\r\n RichTextBlock.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n if (this._inlines.length > 0) {\r\n var jsonInlines = [];\r\n for (var _i = 0, _a = this._inlines; _i < _a.length; _i++) {\r\n var inline = _a[_i];\r\n jsonInlines.push(inline.toJSON(context));\r\n }\r\n context.serializeValue(target, \"inlines\", jsonInlines);\r\n }\r\n };\r\n RichTextBlock.prototype.internalRender = function () {\r\n if (this._inlines.length > 0) {\r\n var element = void 0;\r\n if (this.forElementId) {\r\n var labelElement = document.createElement(\"label\");\r\n labelElement.htmlFor = this.forElementId;\r\n element = labelElement;\r\n }\r\n else {\r\n element = document.createElement(\"div\");\r\n }\r\n element.className = this.hostConfig.makeCssClassName(\"ac-richTextBlock\");\r\n switch (this.getEffectiveHorizontalAlignment()) {\r\n case Enums.HorizontalAlignment.Center:\r\n element.style.textAlign = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n element.style.textAlign = \"end\";\r\n break;\r\n default:\r\n element.style.textAlign = \"start\";\r\n break;\r\n }\r\n var renderedInlines = 0;\r\n for (var _i = 0, _a = this._inlines; _i < _a.length; _i++) {\r\n var inline = _a[_i];\r\n var renderedInline = inline.render();\r\n if (renderedInline) {\r\n element.appendChild(renderedInline);\r\n renderedInlines++;\r\n }\r\n }\r\n if (renderedInlines > 0) {\r\n return element;\r\n }\r\n }\r\n return undefined;\r\n };\r\n RichTextBlock.prototype.asString = function () {\r\n var result = \"\";\r\n for (var _i = 0, _a = this._inlines; _i < _a.length; _i++) {\r\n var inline = _a[_i];\r\n result += inline.asString();\r\n }\r\n return result;\r\n };\r\n RichTextBlock.prototype.getJsonTypeName = function () {\r\n return \"RichTextBlock\";\r\n };\r\n RichTextBlock.prototype.getInlineCount = function () {\r\n return this._inlines.length;\r\n };\r\n RichTextBlock.prototype.getInlineAt = function (index) {\r\n if (index >= 0 && index < this._inlines.length) {\r\n return this._inlines[index];\r\n }\r\n else {\r\n throw new Error(strings_1.Strings.errors.indexOutOfRange(index));\r\n }\r\n };\r\n RichTextBlock.prototype.addInline = function (inline) {\r\n if (typeof inline === \"string\") {\r\n this.internalAddInline(new TextRun(inline));\r\n }\r\n else {\r\n this.internalAddInline(inline);\r\n }\r\n };\r\n RichTextBlock.prototype.removeInline = function (inline) {\r\n var index = this._inlines.indexOf(inline);\r\n if (index >= 0) {\r\n this._inlines[index].setParent(undefined);\r\n this._inlines.splice(index, 1);\r\n return true;\r\n }\r\n return false;\r\n };\r\n return RichTextBlock;\r\n}(CardElement));\r\nexports.RichTextBlock = RichTextBlock;\r\nvar Fact = /** @class */ (function (_super) {\r\n __extends(Fact, _super);\r\n function Fact(name, value) {\r\n var _this = _super.call(this) || this;\r\n _this.name = name;\r\n _this.value = value;\r\n return _this;\r\n }\r\n //#endregion\r\n Fact.prototype.getSchemaKey = function () {\r\n return \"Fact\";\r\n };\r\n //#region Schema\r\n Fact.titleProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"title\");\r\n Fact.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"value\");\r\n __decorate([\r\n serialization_1.property(Fact.titleProperty)\r\n ], Fact.prototype, \"name\", void 0);\r\n __decorate([\r\n serialization_1.property(Fact.valueProperty)\r\n ], Fact.prototype, \"value\", void 0);\r\n return Fact;\r\n}(serialization_1.SerializableObject));\r\nexports.Fact = Fact;\r\nvar FactSet = /** @class */ (function (_super) {\r\n __extends(FactSet, _super);\r\n function FactSet() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Object.defineProperty(FactSet.prototype, \"useDefaultSizing\", {\r\n //#endregion\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n FactSet.prototype.internalRender = function () {\r\n var element = undefined;\r\n var hostConfig = this.hostConfig;\r\n if (this.facts.length > 0) {\r\n element = document.createElement(\"table\");\r\n element.style.borderWidth = \"0px\";\r\n element.style.borderSpacing = \"0px\";\r\n element.style.borderStyle = \"none\";\r\n element.style.borderCollapse = \"collapse\";\r\n element.style.display = \"block\";\r\n element.style.overflow = \"hidden\";\r\n element.classList.add(hostConfig.makeCssClassName(\"ac-factset\"));\r\n element.setAttribute(\"role\", \"presentation\");\r\n for (var i = 0; i < this.facts.length; i++) {\r\n var trElement = document.createElement(\"tr\");\r\n if (i > 0) {\r\n trElement.style.marginTop = hostConfig.factSet.spacing + \"px\";\r\n }\r\n // Title column\r\n var tdElement = document.createElement(\"td\");\r\n tdElement.style.padding = \"0\";\r\n tdElement.classList.add(hostConfig.makeCssClassName(\"ac-fact-title\"));\r\n if (hostConfig.factSet.title.maxWidth) {\r\n tdElement.style.maxWidth = hostConfig.factSet.title.maxWidth + \"px\";\r\n }\r\n tdElement.style.verticalAlign = \"top\";\r\n var textBlock = new TextBlock();\r\n textBlock.setParent(this);\r\n textBlock.text = (!this.facts[i].name && this.isDesignMode()) ? \"Title\" : this.facts[i].name;\r\n textBlock.size = hostConfig.factSet.title.size;\r\n textBlock.color = hostConfig.factSet.title.color;\r\n textBlock.isSubtle = hostConfig.factSet.title.isSubtle;\r\n textBlock.weight = hostConfig.factSet.title.weight;\r\n textBlock.wrap = hostConfig.factSet.title.wrap;\r\n textBlock.spacing = Enums.Spacing.None;\r\n Utils.appendChild(tdElement, textBlock.render());\r\n Utils.appendChild(trElement, tdElement);\r\n // Spacer column\r\n tdElement = document.createElement(\"td\");\r\n tdElement.style.width = \"10px\";\r\n Utils.appendChild(trElement, tdElement);\r\n // Value column\r\n tdElement = document.createElement(\"td\");\r\n tdElement.style.padding = \"0\";\r\n tdElement.style.verticalAlign = \"top\";\r\n tdElement.classList.add(hostConfig.makeCssClassName(\"ac-fact-value\"));\r\n textBlock = new TextBlock();\r\n textBlock.setParent(this);\r\n textBlock.text = this.facts[i].value;\r\n textBlock.size = hostConfig.factSet.value.size;\r\n textBlock.color = hostConfig.factSet.value.color;\r\n textBlock.isSubtle = hostConfig.factSet.value.isSubtle;\r\n textBlock.weight = hostConfig.factSet.value.weight;\r\n textBlock.wrap = hostConfig.factSet.value.wrap;\r\n textBlock.spacing = Enums.Spacing.None;\r\n Utils.appendChild(tdElement, textBlock.render());\r\n Utils.appendChild(trElement, tdElement);\r\n Utils.appendChild(element, trElement);\r\n }\r\n }\r\n return element;\r\n };\r\n FactSet.prototype.getJsonTypeName = function () {\r\n return \"FactSet\";\r\n };\r\n //#region Schema\r\n FactSet.factsProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_0, \"facts\", Fact);\r\n __decorate([\r\n serialization_1.property(FactSet.factsProperty)\r\n ], FactSet.prototype, \"facts\", void 0);\r\n return FactSet;\r\n}(CardElement));\r\nexports.FactSet = FactSet;\r\nvar ImageDimensionProperty = /** @class */ (function (_super) {\r\n __extends(ImageDimensionProperty, _super);\r\n function ImageDimensionProperty(targetVersion, name, internalName, fallbackProperty) {\r\n var _this = _super.call(this, targetVersion, name) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.internalName = internalName;\r\n _this.fallbackProperty = fallbackProperty;\r\n return _this;\r\n }\r\n ImageDimensionProperty.prototype.getInternalName = function () {\r\n return this.internalName;\r\n };\r\n ImageDimensionProperty.prototype.parse = function (sender, source, context) {\r\n var result = undefined;\r\n var sourceValue = source[this.name];\r\n if (sourceValue === undefined) {\r\n return this.defaultValue;\r\n }\r\n var isValid = false;\r\n if (typeof sourceValue === \"string\") {\r\n try {\r\n var size = shared_1.SizeAndUnit.parse(sourceValue, true);\r\n if (size.unit == Enums.SizeUnit.Pixel) {\r\n result = size.physicalSize;\r\n isValid = true;\r\n }\r\n }\r\n catch (_a) {\r\n // Swallow the exception\r\n }\r\n // If the source value isn't valid per this property definition,\r\n // check its validity per the fallback property, if specified\r\n if (!isValid && this.fallbackProperty) {\r\n isValid = this.fallbackProperty.isValidValue(sourceValue, context);\r\n }\r\n }\r\n if (!isValid) {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(sourceValue, this.name));\r\n }\r\n return result;\r\n };\r\n ImageDimensionProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeValue(target, this.name, typeof value === \"number\" && !isNaN(value) ? value + \"px\" : undefined);\r\n };\r\n return ImageDimensionProperty;\r\n}(serialization_1.PropertyDefinition));\r\nvar Image = /** @class */ (function (_super) {\r\n __extends(Image, _super);\r\n function Image() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.size = Enums.Size.Auto;\r\n _this.style = Enums.ImageStyle.Default;\r\n return _this;\r\n }\r\n Image.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n schema.remove(CardElement.heightProperty);\r\n };\r\n //#endregion\r\n Image.prototype.applySize = function (element) {\r\n if (this.pixelWidth || this.pixelHeight) {\r\n if (this.pixelWidth) {\r\n element.style.width = this.pixelWidth + \"px\";\r\n }\r\n if (this.pixelHeight) {\r\n element.style.height = this.pixelHeight + \"px\";\r\n }\r\n }\r\n else {\r\n if (this.maxHeight) {\r\n // If the image is constrained in height, we set its height property and\r\n // auto and stretch are ignored (default to medium). THis is necessary for\r\n // ImageSet which uses a maximum image height as opposed to the cards width\r\n // as a constraining dimension\r\n switch (this.size) {\r\n case Enums.Size.Small:\r\n element.style.height = this.hostConfig.imageSizes.small + \"px\";\r\n break;\r\n case Enums.Size.Large:\r\n element.style.height = this.hostConfig.imageSizes.large + \"px\";\r\n break;\r\n default:\r\n element.style.height = this.hostConfig.imageSizes.medium + \"px\";\r\n break;\r\n }\r\n element.style.maxHeight = this.maxHeight + \"px\";\r\n }\r\n else {\r\n switch (this.size) {\r\n case Enums.Size.Stretch:\r\n element.style.width = \"100%\";\r\n break;\r\n case Enums.Size.Auto:\r\n element.style.maxWidth = \"100%\";\r\n break;\r\n case Enums.Size.Small:\r\n element.style.width = this.hostConfig.imageSizes.small + \"px\";\r\n break;\r\n case Enums.Size.Large:\r\n element.style.width = this.hostConfig.imageSizes.large + \"px\";\r\n break;\r\n case Enums.Size.Medium:\r\n element.style.width = this.hostConfig.imageSizes.medium + \"px\";\r\n break;\r\n }\r\n element.style.maxHeight = \"100%\";\r\n }\r\n }\r\n };\r\n Object.defineProperty(Image.prototype, \"useDefaultSizing\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Image.prototype.internalRender = function () {\r\n var _this = this;\r\n var element = undefined;\r\n if (this.url) {\r\n element = document.createElement(\"div\");\r\n element.style.display = \"flex\";\r\n element.style.alignItems = \"flex-start\";\r\n // Cache hostConfig to avoid walking the parent hierarchy multiple times\r\n var hostConfig = this.hostConfig;\r\n switch (this.getEffectiveHorizontalAlignment()) {\r\n case Enums.HorizontalAlignment.Center:\r\n element.style.justifyContent = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n element.style.justifyContent = \"flex-end\";\r\n break;\r\n default:\r\n element.style.justifyContent = \"flex-start\";\r\n break;\r\n }\r\n var imageElement = document.createElement(\"img\");\r\n imageElement.onload = function (e) {\r\n raiseImageLoadedEvent(_this);\r\n };\r\n imageElement.onerror = function (e) {\r\n if (_this.renderedElement) {\r\n var card = _this.getRootElement();\r\n _this.renderedElement.innerHTML = \"\";\r\n if (card && card.designMode) {\r\n var errorElement = document.createElement(\"div\");\r\n errorElement.style.display = \"flex\";\r\n errorElement.style.alignItems = \"center\";\r\n errorElement.style.justifyContent = \"center\";\r\n errorElement.style.backgroundColor = \"#EEEEEE\";\r\n errorElement.style.color = \"black\";\r\n errorElement.innerText = \":-(\";\r\n errorElement.style.padding = \"10px\";\r\n _this.applySize(errorElement);\r\n _this.renderedElement.appendChild(errorElement);\r\n }\r\n }\r\n raiseImageLoadedEvent(_this);\r\n };\r\n imageElement.style.minWidth = \"0\";\r\n imageElement.classList.add(hostConfig.makeCssClassName(\"ac-image\"));\r\n if (this.selectAction && hostConfig.supportsInteractivity) {\r\n imageElement.onkeypress = function (e) {\r\n if (_this.selectAction && _this.selectAction.isEnabled && (e.code == \"Enter\" || e.code == \"Space\")) { // enter or space pressed\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this.selectAction.execute();\r\n }\r\n };\r\n imageElement.onclick = function (e) {\r\n if (_this.selectAction && _this.selectAction.isEnabled) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this.selectAction.execute();\r\n }\r\n };\r\n this.selectAction.setupElementForAccessibility(imageElement);\r\n if (this.selectAction.isEnabled) {\r\n imageElement.classList.add(hostConfig.makeCssClassName(\"ac-selectable\"));\r\n }\r\n }\r\n this.applySize(imageElement);\r\n if (this.style === Enums.ImageStyle.Person) {\r\n imageElement.style.borderRadius = \"50%\";\r\n imageElement.style.backgroundPosition = \"50% 50%\";\r\n imageElement.style.backgroundRepeat = \"no-repeat\";\r\n }\r\n imageElement.style.backgroundColor = Utils.stringToCssColor(this.backgroundColor);\r\n imageElement.src = this.preProcessPropertyValue(Image.urlProperty);\r\n var altTextProperty = this.preProcessPropertyValue(Image.altTextProperty);\r\n if (altTextProperty) {\r\n imageElement.alt = altTextProperty;\r\n }\r\n element.appendChild(imageElement);\r\n }\r\n return element;\r\n };\r\n Image.prototype.getJsonTypeName = function () {\r\n return \"Image\";\r\n };\r\n Image.prototype.getActionById = function (id) {\r\n var result = _super.prototype.getActionById.call(this, id);\r\n if (!result && this.selectAction) {\r\n result = this.selectAction.getActionById(id);\r\n }\r\n return result;\r\n };\r\n Image.prototype.getResourceInformation = function () {\r\n return this.url ? [{ url: this.url, mimeType: \"image\" }] : [];\r\n };\r\n Image.urlProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"url\");\r\n Image.altTextProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"altText\");\r\n Image.backgroundColorProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"backgroundColor\");\r\n Image.styleProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"style\", Enums.ImageStyle, Enums.ImageStyle.Default);\r\n Image.sizeProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"size\", Enums.Size, Enums.Size.Auto);\r\n Image.pixelWidthProperty = new ImageDimensionProperty(serialization_1.Versions.v1_1, \"width\", \"pixelWidth\");\r\n Image.pixelHeightProperty = new ImageDimensionProperty(serialization_1.Versions.v1_1, \"height\", \"pixelHeight\", CardElement.heightProperty);\r\n Image.selectActionProperty = new ActionProperty(serialization_1.Versions.v1_1, \"selectAction\", [\"Action.ShowCard\"]);\r\n __decorate([\r\n serialization_1.property(Image.urlProperty)\r\n ], Image.prototype, \"url\", void 0);\r\n __decorate([\r\n serialization_1.property(Image.altTextProperty)\r\n ], Image.prototype, \"altText\", void 0);\r\n __decorate([\r\n serialization_1.property(Image.backgroundColorProperty)\r\n ], Image.prototype, \"backgroundColor\", void 0);\r\n __decorate([\r\n serialization_1.property(Image.sizeProperty)\r\n ], Image.prototype, \"size\", void 0);\r\n __decorate([\r\n serialization_1.property(Image.styleProperty)\r\n ], Image.prototype, \"style\", void 0);\r\n __decorate([\r\n serialization_1.property(Image.pixelWidthProperty)\r\n ], Image.prototype, \"pixelWidth\", void 0);\r\n __decorate([\r\n serialization_1.property(Image.pixelHeightProperty)\r\n ], Image.prototype, \"pixelHeight\", void 0);\r\n __decorate([\r\n serialization_1.property(Image.selectActionProperty)\r\n ], Image.prototype, \"selectAction\", void 0);\r\n return Image;\r\n}(CardElement));\r\nexports.Image = Image;\r\nvar CardElementContainer = /** @class */ (function (_super) {\r\n __extends(CardElementContainer, _super);\r\n function CardElementContainer() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.allowVerticalOverflow = false;\r\n return _this;\r\n }\r\n CardElementContainer.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n if (!this.isSelectable) {\r\n schema.remove(CardElementContainer.selectActionProperty);\r\n }\r\n };\r\n //#endregion\r\n CardElementContainer.prototype.isElementAllowed = function (element) {\r\n return this.hostConfig.supportsInteractivity || !element.isInteractive;\r\n };\r\n CardElementContainer.prototype.applyPadding = function () {\r\n _super.prototype.applyPadding.call(this);\r\n if (!this.renderedElement) {\r\n return;\r\n }\r\n var physicalPadding = new shared_1.SpacingDefinition();\r\n if (this.getEffectivePadding()) {\r\n physicalPadding = this.hostConfig.paddingDefinitionToSpacingDefinition(this.getEffectivePadding());\r\n }\r\n this.renderedElement.style.paddingTop = physicalPadding.top + \"px\";\r\n this.renderedElement.style.paddingRight = physicalPadding.right + \"px\";\r\n this.renderedElement.style.paddingBottom = physicalPadding.bottom + \"px\";\r\n this.renderedElement.style.paddingLeft = physicalPadding.left + \"px\";\r\n this.renderedElement.style.marginRight = \"0\";\r\n this.renderedElement.style.marginLeft = \"0\";\r\n };\r\n Object.defineProperty(CardElementContainer.prototype, \"isSelectable\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n CardElementContainer.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n var item = this.getItemAt(i);\r\n if (!this.hostConfig.supportsInteractivity && item.isInteractive) {\r\n context.addFailure(this, Enums.ValidationEvent.InteractivityNotAllowed, strings_1.Strings.errors.interactivityNotAllowed());\r\n }\r\n if (!this.isElementAllowed(item)) {\r\n context.addFailure(this, Enums.ValidationEvent.InteractivityNotAllowed, strings_1.Strings.errors.elementTypeNotAllowed(item.getJsonTypeName()));\r\n }\r\n item.internalValidateProperties(context);\r\n }\r\n if (this._selectAction) {\r\n this._selectAction.internalValidateProperties(context);\r\n }\r\n };\r\n CardElementContainer.prototype.render = function () {\r\n var _this = this;\r\n var element = _super.prototype.render.call(this);\r\n if (element) {\r\n var hostConfig = this.hostConfig;\r\n if (this.allowVerticalOverflow) {\r\n element.style.overflowX = \"hidden\";\r\n element.style.overflowY = \"auto\";\r\n }\r\n if (element && this.isSelectable && this._selectAction && hostConfig.supportsInteractivity) {\r\n element.onclick = function (e) {\r\n if (_this._selectAction && _this._selectAction.isEnabled) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this._selectAction.execute();\r\n }\r\n };\r\n element.onkeypress = function (e) {\r\n if (_this._selectAction && _this._selectAction.isEnabled && (e.code == \"Enter\" || e.code == \"Space\")) {\r\n // Enter or space pressed\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this._selectAction.execute();\r\n }\r\n };\r\n this._selectAction.setupElementForAccessibility(element);\r\n if (this._selectAction.isEnabled) {\r\n element.classList.add(hostConfig.makeCssClassName(\"ac-selectable\"));\r\n }\r\n }\r\n }\r\n return element;\r\n };\r\n CardElementContainer.prototype.updateLayout = function (processChildren) {\r\n if (processChildren === void 0) { processChildren = true; }\r\n _super.prototype.updateLayout.call(this, processChildren);\r\n if (processChildren) {\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n this.getItemAt(i).updateLayout();\r\n }\r\n }\r\n };\r\n CardElementContainer.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n var result = [];\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n result = result.concat(this.getItemAt(i).getAllInputs(processActions));\r\n }\r\n return result;\r\n };\r\n CardElementContainer.prototype.getResourceInformation = function () {\r\n var result = [];\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n result = result.concat(this.getItemAt(i).getResourceInformation());\r\n }\r\n return result;\r\n };\r\n CardElementContainer.prototype.getElementById = function (id) {\r\n var result = _super.prototype.getElementById.call(this, id);\r\n if (!result) {\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n result = this.getItemAt(i).getElementById(id);\r\n if (result) {\r\n break;\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n /**\r\n * @inheritdoc\r\n */\r\n CardElementContainer.prototype.findDOMNodeOwner = function (node) {\r\n var target = undefined;\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n // recur through child elements\r\n target = this.getItemAt(i).findDOMNodeOwner(node);\r\n if (target) {\r\n return target;\r\n }\r\n }\r\n // if not found in children, defer to parent implementation\r\n return _super.prototype.findDOMNodeOwner.call(this, node);\r\n };\r\n CardElementContainer.selectActionProperty = new ActionProperty(serialization_1.Versions.v1_1, \"selectAction\", [\"Action.ShowCard\"]);\r\n __decorate([\r\n serialization_1.property(CardElementContainer.selectActionProperty)\r\n ], CardElementContainer.prototype, \"_selectAction\", void 0);\r\n return CardElementContainer;\r\n}(CardElement));\r\nexports.CardElementContainer = CardElementContainer;\r\nvar ImageSet = /** @class */ (function (_super) {\r\n __extends(ImageSet, _super);\r\n function ImageSet() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._images = [];\r\n _this.imageSize = Enums.ImageSize.Medium;\r\n return _this;\r\n }\r\n //#endregion\r\n ImageSet.prototype.internalRender = function () {\r\n var element = undefined;\r\n if (this._images.length > 0) {\r\n element = document.createElement(\"div\");\r\n element.style.display = \"flex\";\r\n element.style.flexWrap = \"wrap\";\r\n for (var _i = 0, _a = this._images; _i < _a.length; _i++) {\r\n var image = _a[_i];\r\n switch (this.imageSize) {\r\n case Enums.ImageSize.Small:\r\n image.size = Enums.Size.Small;\r\n break;\r\n case Enums.ImageSize.Large:\r\n image.size = Enums.Size.Large;\r\n break;\r\n default:\r\n image.size = Enums.Size.Medium;\r\n break;\r\n }\r\n image.maxHeight = this.hostConfig.imageSet.maxImageHeight;\r\n var renderedImage = image.render();\r\n if (renderedImage) {\r\n renderedImage.style.display = \"inline-flex\";\r\n renderedImage.style.margin = \"0px\";\r\n renderedImage.style.marginRight = \"10px\";\r\n Utils.appendChild(element, renderedImage);\r\n }\r\n }\r\n }\r\n return element;\r\n };\r\n ImageSet.prototype.getItemCount = function () {\r\n return this._images.length;\r\n };\r\n ImageSet.prototype.getItemAt = function (index) {\r\n return this._images[index];\r\n };\r\n ImageSet.prototype.getFirstVisibleRenderedItem = function () {\r\n return this._images && this._images.length > 0 ? this._images[0] : undefined;\r\n };\r\n ImageSet.prototype.getLastVisibleRenderedItem = function () {\r\n return this._images && this._images.length > 0 ? this._images[this._images.length - 1] : undefined;\r\n };\r\n ImageSet.prototype.removeItem = function (item) {\r\n if (item instanceof Image) {\r\n var itemIndex = this._images.indexOf(item);\r\n if (itemIndex >= 0) {\r\n this._images.splice(itemIndex, 1);\r\n item.setParent(undefined);\r\n this.updateLayout();\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n ImageSet.prototype.getJsonTypeName = function () {\r\n return \"ImageSet\";\r\n };\r\n ImageSet.prototype.addImage = function (image) {\r\n if (!image.parent) {\r\n this._images.push(image);\r\n image.setParent(this);\r\n }\r\n else {\r\n throw new Error(\"This image already belongs to another ImageSet\");\r\n }\r\n };\r\n ImageSet.prototype.indexOf = function (cardElement) {\r\n return cardElement instanceof Image ? this._images.indexOf(cardElement) : -1;\r\n };\r\n ImageSet.imagesProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_0, \"images\", Image, function (sender, item) { item.setParent(sender); });\r\n ImageSet.imageSizeProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"imageSize\", Enums.ImageSize, Enums.ImageSize.Medium);\r\n __decorate([\r\n serialization_1.property(ImageSet.imagesProperty)\r\n ], ImageSet.prototype, \"_images\", void 0);\r\n __decorate([\r\n serialization_1.property(ImageSet.imageSizeProperty)\r\n ], ImageSet.prototype, \"imageSize\", void 0);\r\n return ImageSet;\r\n}(CardElementContainer));\r\nexports.ImageSet = ImageSet;\r\nvar MediaSource = /** @class */ (function (_super) {\r\n __extends(MediaSource, _super);\r\n function MediaSource(url, mimeType) {\r\n var _this = _super.call(this) || this;\r\n _this.url = url;\r\n _this.mimeType = mimeType;\r\n return _this;\r\n }\r\n //#endregion\r\n MediaSource.prototype.getSchemaKey = function () {\r\n return \"MediaSource\";\r\n };\r\n MediaSource.prototype.isValid = function () {\r\n return this.mimeType && this.url ? true : false;\r\n };\r\n MediaSource.prototype.render = function () {\r\n var result = undefined;\r\n if (this.isValid()) {\r\n result = document.createElement(\"source\");\r\n result.src = this.url;\r\n result.type = this.mimeType;\r\n }\r\n return result;\r\n };\r\n //#region Schema\r\n MediaSource.mimeTypeProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"mimeType\");\r\n MediaSource.urlProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"url\");\r\n __decorate([\r\n serialization_1.property(MediaSource.mimeTypeProperty)\r\n ], MediaSource.prototype, \"mimeType\", void 0);\r\n __decorate([\r\n serialization_1.property(MediaSource.urlProperty)\r\n ], MediaSource.prototype, \"url\", void 0);\r\n return MediaSource;\r\n}(serialization_1.SerializableObject));\r\nexports.MediaSource = MediaSource;\r\nvar Media = /** @class */ (function (_super) {\r\n __extends(Media, _super);\r\n function Media() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.sources = [];\r\n return _this;\r\n }\r\n Media.prototype.getPosterUrl = function () {\r\n return this.poster ? this.poster : this.hostConfig.media.defaultPoster;\r\n };\r\n Media.prototype.processSources = function () {\r\n this._selectedSources = [];\r\n this._selectedMediaType = undefined;\r\n for (var _i = 0, _a = this.sources; _i < _a.length; _i++) {\r\n var source = _a[_i];\r\n var mimeComponents = source.mimeType ? source.mimeType.split('/') : [];\r\n if (mimeComponents.length == 2) {\r\n if (!this._selectedMediaType) {\r\n var index = Media.supportedMediaTypes.indexOf(mimeComponents[0]);\r\n if (index >= 0) {\r\n this._selectedMediaType = Media.supportedMediaTypes[index];\r\n }\r\n }\r\n if (mimeComponents[0] == this._selectedMediaType) {\r\n this._selectedSources.push(source);\r\n }\r\n }\r\n }\r\n };\r\n Media.prototype.handlePlayButtonInvoke = function (event) {\r\n if (this.hostConfig.media.allowInlinePlayback) {\r\n event.preventDefault();\r\n event.cancelBubble = true;\r\n if (this.renderedElement) {\r\n var mediaPlayerElement = this.renderMediaPlayer();\r\n this.renderedElement.innerHTML = \"\";\r\n this.renderedElement.appendChild(mediaPlayerElement);\r\n mediaPlayerElement.play();\r\n mediaPlayerElement.focus();\r\n }\r\n }\r\n else {\r\n if (Media.onPlay) {\r\n event.preventDefault();\r\n event.cancelBubble = true;\r\n Media.onPlay(this);\r\n }\r\n }\r\n };\r\n Media.prototype.renderPoster = function () {\r\n var _this = this;\r\n var playButtonArrowWidth = 12;\r\n var playButtonArrowHeight = 15;\r\n var posterRootElement = document.createElement(\"div\");\r\n posterRootElement.className = this.hostConfig.makeCssClassName(\"ac-media-poster\");\r\n posterRootElement.setAttribute(\"role\", \"contentinfo\");\r\n posterRootElement.setAttribute(\"aria-label\", this.altText ? this.altText : strings_1.Strings.defaults.mediaPlayerAriaLabel());\r\n posterRootElement.style.position = \"relative\";\r\n posterRootElement.style.display = \"flex\";\r\n var posterUrl = this.getPosterUrl();\r\n if (posterUrl) {\r\n var posterImageElement_1 = document.createElement(\"img\");\r\n posterImageElement_1.style.width = \"100%\";\r\n posterImageElement_1.style.height = \"100%\";\r\n posterImageElement_1.setAttribute(\"role\", \"presentation\");\r\n posterImageElement_1.onerror = function (e) {\r\n if (posterImageElement_1.parentNode) {\r\n posterImageElement_1.parentNode.removeChild(posterImageElement_1);\r\n }\r\n posterRootElement.classList.add(\"empty\");\r\n posterRootElement.style.minHeight = \"150px\";\r\n };\r\n posterImageElement_1.src = posterUrl;\r\n posterRootElement.appendChild(posterImageElement_1);\r\n }\r\n else {\r\n posterRootElement.classList.add(\"empty\");\r\n posterRootElement.style.minHeight = \"150px\";\r\n }\r\n if (this.hostConfig.supportsInteractivity && this._selectedSources.length > 0) {\r\n var playButtonOuterElement = document.createElement(\"div\");\r\n playButtonOuterElement.tabIndex = 0;\r\n playButtonOuterElement.setAttribute(\"role\", \"button\");\r\n playButtonOuterElement.setAttribute(\"aria-label\", strings_1.Strings.defaults.mediaPlayerPlayMedia());\r\n playButtonOuterElement.className = this.hostConfig.makeCssClassName(\"ac-media-playButton\");\r\n playButtonOuterElement.style.display = \"flex\";\r\n playButtonOuterElement.style.alignItems = \"center\";\r\n playButtonOuterElement.style.justifyContent = \"center\";\r\n playButtonOuterElement.onclick = function (e) {\r\n _this.handlePlayButtonInvoke(e);\r\n };\r\n playButtonOuterElement.onkeypress = function (e) {\r\n if (e.code == \"Enter\" || e.code == \"Space\") { // space or enter\r\n _this.handlePlayButtonInvoke(e);\r\n }\r\n };\r\n var playButtonInnerElement = document.createElement(\"div\");\r\n playButtonInnerElement.className = this.hostConfig.makeCssClassName(\"ac-media-playButton-arrow\");\r\n playButtonInnerElement.style.width = playButtonArrowWidth + \"px\";\r\n playButtonInnerElement.style.height = playButtonArrowHeight + \"px\";\r\n playButtonInnerElement.style.borderTopWidth = (playButtonArrowHeight / 2) + \"px\";\r\n playButtonInnerElement.style.borderBottomWidth = (playButtonArrowHeight / 2) + \"px\";\r\n playButtonInnerElement.style.borderLeftWidth = playButtonArrowWidth + \"px\";\r\n playButtonInnerElement.style.borderRightWidth = \"0\";\r\n playButtonInnerElement.style.borderStyle = \"solid\";\r\n playButtonInnerElement.style.borderTopColor = \"transparent\";\r\n playButtonInnerElement.style.borderRightColor = \"transparent\";\r\n playButtonInnerElement.style.borderBottomColor = \"transparent\";\r\n playButtonInnerElement.style.transform = \"translate(\" + (playButtonArrowWidth / 10) + \"px,0px)\";\r\n playButtonOuterElement.appendChild(playButtonInnerElement);\r\n var playButtonContainer = document.createElement(\"div\");\r\n playButtonContainer.style.position = \"absolute\";\r\n playButtonContainer.style.left = \"0\";\r\n playButtonContainer.style.top = \"0\";\r\n playButtonContainer.style.width = \"100%\";\r\n playButtonContainer.style.height = \"100%\";\r\n playButtonContainer.style.display = \"flex\";\r\n playButtonContainer.style.justifyContent = \"center\";\r\n playButtonContainer.style.alignItems = \"center\";\r\n playButtonContainer.appendChild(playButtonOuterElement);\r\n posterRootElement.appendChild(playButtonContainer);\r\n }\r\n return posterRootElement;\r\n };\r\n Media.prototype.renderMediaPlayer = function () {\r\n var mediaElement;\r\n if (this._selectedMediaType == \"video\") {\r\n var videoPlayer = document.createElement(\"video\");\r\n var posterUrl = this.getPosterUrl();\r\n if (posterUrl) {\r\n videoPlayer.poster = posterUrl;\r\n }\r\n mediaElement = videoPlayer;\r\n }\r\n else {\r\n mediaElement = document.createElement(\"audio\");\r\n }\r\n mediaElement.setAttribute(\"aria-label\", this.altText ? this.altText : strings_1.Strings.defaults.mediaPlayerAriaLabel());\r\n mediaElement.setAttribute(\"webkit-playsinline\", \"\");\r\n mediaElement.setAttribute(\"playsinline\", \"\");\r\n mediaElement.autoplay = true;\r\n mediaElement.controls = true;\r\n if (Utils.isMobileOS()) {\r\n mediaElement.muted = true;\r\n }\r\n mediaElement.preload = \"none\";\r\n mediaElement.style.width = \"100%\";\r\n for (var _i = 0, _a = this.sources; _i < _a.length; _i++) {\r\n var source = _a[_i];\r\n var renderedSource = source.render();\r\n Utils.appendChild(mediaElement, renderedSource);\r\n }\r\n return mediaElement;\r\n };\r\n Media.prototype.internalRender = function () {\r\n var element = document.createElement(\"div\");\r\n element.className = this.hostConfig.makeCssClassName(\"ac-media\");\r\n this.processSources();\r\n element.appendChild(this.renderPoster());\r\n return element;\r\n };\r\n Media.prototype.getJsonTypeName = function () {\r\n return \"Media\";\r\n };\r\n Media.prototype.getResourceInformation = function () {\r\n var result = [];\r\n var posterUrl = this.getPosterUrl();\r\n if (posterUrl) {\r\n result.push({ url: posterUrl, mimeType: \"image\" });\r\n }\r\n for (var _i = 0, _a = this.sources; _i < _a.length; _i++) {\r\n var mediaSource = _a[_i];\r\n if (mediaSource.isValid()) {\r\n result.push({\r\n url: mediaSource.url,\r\n mimeType: mediaSource.mimeType\r\n });\r\n }\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(Media.prototype, \"selectedMediaType\", {\r\n get: function () {\r\n return this._selectedMediaType;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Media.sourcesProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_1, \"sources\", MediaSource);\r\n Media.posterProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"poster\");\r\n Media.altTextProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"altText\");\r\n //#endregion\r\n Media.supportedMediaTypes = [\"audio\", \"video\"];\r\n __decorate([\r\n serialization_1.property(Media.sourcesProperty)\r\n ], Media.prototype, \"sources\", void 0);\r\n __decorate([\r\n serialization_1.property(Media.posterProperty)\r\n ], Media.prototype, \"poster\", void 0);\r\n __decorate([\r\n serialization_1.property(Media.altTextProperty)\r\n ], Media.prototype, \"altText\", void 0);\r\n return Media;\r\n}(CardElement));\r\nexports.Media = Media;\r\nvar Input = /** @class */ (function (_super) {\r\n __extends(Input, _super);\r\n function Input() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Input.prototype.getAllLabelIds = function () {\r\n var labelIds = [];\r\n if (this.labelledBy) {\r\n labelIds.push(this.labelledBy);\r\n }\r\n if (this._renderedLabelElement) {\r\n labelIds.push(this._renderedLabelElement.id);\r\n }\r\n if (this._renderedErrorMessageElement) {\r\n labelIds.push(this._renderedErrorMessageElement.id);\r\n }\r\n return labelIds;\r\n };\r\n Input.prototype.updateInputControlAriaLabelledBy = function () {\r\n if (this._renderedInputControlElement) {\r\n var labelIds = this.getAllLabelIds();\r\n if (labelIds.length > 0) {\r\n this._renderedInputControlElement.setAttribute(\"aria-labelledby\", labelIds.join(\" \"));\r\n }\r\n else {\r\n this._renderedInputControlElement.removeAttribute(\"aria-labelledby\");\r\n }\r\n }\r\n };\r\n Object.defineProperty(Input.prototype, \"isNullable\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Input.prototype, \"renderedInputControlElement\", {\r\n get: function () {\r\n return this._renderedInputControlElement;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Input.prototype, \"inputControlContainerElement\", {\r\n get: function () {\r\n return this._inputControlContainerElement;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Input.prototype.overrideInternalRender = function () {\r\n var hostConfig = this.hostConfig;\r\n this._outerContainerElement = document.createElement(\"div\");\r\n this._outerContainerElement.style.display = \"flex\";\r\n this._outerContainerElement.style.flexDirection = \"column\";\r\n var renderedInputControlId = Utils.generateUniqueId();\r\n if (this.label) {\r\n var labelRichTextBlock = new RichTextBlock();\r\n labelRichTextBlock.setParent(this);\r\n labelRichTextBlock.forElementId = renderedInputControlId;\r\n var labelInline = new TextRun(this.label);\r\n labelRichTextBlock.addInline(labelInline);\r\n if (this.isRequired) {\r\n labelInline.init(hostConfig.inputs.label.requiredInputs);\r\n var isRequiredCueInline = new TextRun(hostConfig.inputs.label.requiredInputs.suffix);\r\n isRequiredCueInline.color = hostConfig.inputs.label.requiredInputs.suffixColor;\r\n isRequiredCueInline.ariaHidden = true;\r\n labelRichTextBlock.addInline(isRequiredCueInline);\r\n }\r\n else {\r\n labelInline.init(hostConfig.inputs.label.optionalInputs);\r\n }\r\n this._renderedLabelElement = labelRichTextBlock.render();\r\n if (this._renderedLabelElement) {\r\n this._renderedLabelElement.id = Utils.generateUniqueId();\r\n this._renderedLabelElement.style.marginBottom = hostConfig.getEffectiveSpacing(hostConfig.inputs.label.inputSpacing) + \"px\";\r\n this._outerContainerElement.appendChild(this._renderedLabelElement);\r\n }\r\n }\r\n this._inputControlContainerElement = document.createElement(\"div\");\r\n this._inputControlContainerElement.className = hostConfig.makeCssClassName(\"ac-input-container\");\r\n this._inputControlContainerElement.style.display = \"flex\";\r\n if (this.height === \"stretch\") {\r\n this._inputControlContainerElement.style.alignItems = \"stretch\";\r\n this._inputControlContainerElement.style.flex = \"1 1 auto\";\r\n }\r\n this._renderedInputControlElement = this.internalRender();\r\n if (this._renderedInputControlElement) {\r\n this._renderedInputControlElement.id = renderedInputControlId;\r\n this._renderedInputControlElement.style.minWidth = \"0px\";\r\n if (this.isNullable && this.isRequired) {\r\n this._renderedInputControlElement.setAttribute(\"aria-required\", \"true\");\r\n this._renderedInputControlElement.classList.add(hostConfig.makeCssClassName(\"ac-input-required\"));\r\n }\r\n this._inputControlContainerElement.appendChild(this._renderedInputControlElement);\r\n this._outerContainerElement.appendChild(this._inputControlContainerElement);\r\n this.updateInputControlAriaLabelledBy();\r\n return this._outerContainerElement;\r\n }\r\n return undefined;\r\n };\r\n Input.prototype.valueChanged = function () {\r\n if (this.isValid()) {\r\n this.resetValidationFailureCue();\r\n }\r\n if (this.onValueChanged) {\r\n this.onValueChanged(this);\r\n }\r\n raiseInputValueChangedEvent(this);\r\n };\r\n Input.prototype.resetValidationFailureCue = function () {\r\n if (this.renderedInputControlElement) {\r\n this.renderedInputControlElement.classList.remove(this.hostConfig.makeCssClassName(\"ac-input-validation-failed\"));\r\n this.updateInputControlAriaLabelledBy();\r\n if (this._renderedErrorMessageElement) {\r\n this._outerContainerElement.removeChild(this._renderedErrorMessageElement);\r\n this._renderedErrorMessageElement = undefined;\r\n }\r\n }\r\n };\r\n Input.prototype.showValidationErrorMessage = function () {\r\n if (this.renderedElement && this.errorMessage && shared_1.GlobalSettings.displayInputValidationErrors) {\r\n var errorMessageTextBlock = new TextBlock();\r\n errorMessageTextBlock.setParent(this);\r\n errorMessageTextBlock.text = this.errorMessage;\r\n errorMessageTextBlock.wrap = true;\r\n errorMessageTextBlock.init(this.hostConfig.inputs.errorMessage);\r\n this._renderedErrorMessageElement = errorMessageTextBlock.render();\r\n if (this._renderedErrorMessageElement) {\r\n this._renderedErrorMessageElement.id = Utils.generateUniqueId();\r\n this._outerContainerElement.appendChild(this._renderedErrorMessageElement);\r\n this.updateInputControlAriaLabelledBy();\r\n }\r\n }\r\n };\r\n Input.prototype.focus = function () {\r\n if (this._renderedInputControlElement) {\r\n this._renderedInputControlElement.focus();\r\n }\r\n };\r\n Input.prototype.isValid = function () {\r\n return true;\r\n };\r\n Input.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (!this.id) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.inputsMustHaveUniqueId());\r\n }\r\n if (this.isRequired) {\r\n if (!this.label) {\r\n context.addFailure(this, Enums.ValidationEvent.RequiredInputsShouldHaveLabel, \"Required inputs should have a label\");\r\n }\r\n if (!this.errorMessage) {\r\n context.addFailure(this, Enums.ValidationEvent.RequiredInputsShouldHaveErrorMessage, \"Required inputs should have an error message\");\r\n }\r\n }\r\n };\r\n Input.prototype.validateValue = function () {\r\n this.resetValidationFailureCue();\r\n var result = this.isRequired ? this.isSet() && this.isValid() : this.isValid();\r\n if (!result && this.renderedInputControlElement) {\r\n this.renderedInputControlElement.classList.add(this.hostConfig.makeCssClassName(\"ac-input-validation-failed\"));\r\n this.showValidationErrorMessage();\r\n }\r\n return result;\r\n };\r\n Input.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n return [this];\r\n };\r\n Object.defineProperty(Input.prototype, \"isInteractive\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n Input.labelProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_3, \"label\", true);\r\n Input.isRequiredProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_3, \"isRequired\", false);\r\n Input.errorMessageProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_3, \"errorMessage\", true);\r\n __decorate([\r\n serialization_1.property(Input.labelProperty)\r\n ], Input.prototype, \"label\", void 0);\r\n __decorate([\r\n serialization_1.property(Input.isRequiredProperty)\r\n ], Input.prototype, \"isRequired\", void 0);\r\n __decorate([\r\n serialization_1.property(Input.errorMessageProperty)\r\n ], Input.prototype, \"errorMessage\", void 0);\r\n return Input;\r\n}(CardElement));\r\nexports.Input = Input;\r\nvar TextInput = /** @class */ (function (_super) {\r\n __extends(TextInput, _super);\r\n function TextInput() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.isMultiline = false;\r\n _this.style = Enums.InputTextStyle.Text;\r\n return _this;\r\n }\r\n //#endregion\r\n TextInput.prototype.setupInput = function (input) {\r\n var _this = this;\r\n input.style.flex = \"1 1 auto\";\r\n input.tabIndex = 0;\r\n if (this.placeholder) {\r\n input.placeholder = this.placeholder;\r\n input.setAttribute(\"aria-label\", this.placeholder);\r\n }\r\n if (this.defaultValue) {\r\n input.value = this.defaultValue;\r\n }\r\n if (this.maxLength && this.maxLength > 0) {\r\n input.maxLength = this.maxLength;\r\n }\r\n input.oninput = function () { _this.valueChanged(); };\r\n input.onkeypress = function (e) {\r\n // Ctrl+Enter pressed\r\n if (e.ctrlKey && e.code === \"Enter\" && _this.inlineAction && _this.inlineAction.isEnabled) {\r\n _this.inlineAction.execute();\r\n }\r\n };\r\n };\r\n TextInput.prototype.internalRender = function () {\r\n var result;\r\n if (this.isMultiline && this.style !== Enums.InputTextStyle.Password) {\r\n result = document.createElement(\"textarea\");\r\n result.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-textInput\", \"ac-multiline\");\r\n if (this.height === \"stretch\") {\r\n result.style.height = \"initial\";\r\n }\r\n }\r\n else {\r\n result = document.createElement(\"input\");\r\n result.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-textInput\");\r\n result.type = Enums.InputTextStyle[this.style].toLowerCase();\r\n }\r\n this.setupInput(result);\r\n return result;\r\n };\r\n TextInput.prototype.overrideInternalRender = function () {\r\n var _this = this;\r\n var renderedInputControl = _super.prototype.overrideInternalRender.call(this);\r\n if (this.inlineAction) {\r\n var button_1 = document.createElement(\"button\");\r\n button_1.className = this.hostConfig.makeCssClassName(this.inlineAction.isEnabled ? \"ac-inlineActionButton\" : \"ac-inlineActionButton-disabled\");\r\n button_1.onclick = function (e) {\r\n if (_this.inlineAction && _this.inlineAction.isEnabled) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this.inlineAction.execute();\r\n }\r\n };\r\n if (this.inlineAction.iconUrl) {\r\n button_1.classList.add(\"iconOnly\");\r\n var icon_1 = document.createElement(\"img\");\r\n icon_1.style.height = \"100%\";\r\n icon_1.setAttribute(\"role\", \"presentation\");\r\n // The below trick is necessary as a workaround in Chrome where the icon is initially displayed\r\n // at its native size then resized to 100% of the button's height. This cfreates an unpleasant\r\n // flicker. On top of that, Chrome's flex implementation fails to prperly re-layout the button\r\n // after the image has loaded and been gicven its final size. The below trick also fixes that.\r\n icon_1.style.display = \"none\";\r\n icon_1.onload = function () {\r\n icon_1.style.removeProperty(\"display\");\r\n };\r\n icon_1.onerror = function () {\r\n button_1.removeChild(icon_1);\r\n button_1.classList.remove(\"iconOnly\");\r\n button_1.classList.add(\"textOnly\");\r\n button_1.textContent = _this.inlineAction && _this.inlineAction.title ? _this.inlineAction.title : strings_1.Strings.defaults.inlineActionTitle();\r\n };\r\n icon_1.src = this.inlineAction.iconUrl;\r\n button_1.appendChild(icon_1);\r\n button_1.title = this.inlineAction.title ? this.inlineAction.title : strings_1.Strings.defaults.inlineActionTitle();\r\n }\r\n else {\r\n button_1.classList.add(\"textOnly\");\r\n button_1.textContent = this.inlineAction.title ? this.inlineAction.title : strings_1.Strings.defaults.inlineActionTitle();\r\n }\r\n this.inlineAction.setupElementForAccessibility(button_1, true);\r\n button_1.style.marginLeft = \"8px\";\r\n this.inputControlContainerElement.appendChild(button_1);\r\n }\r\n return renderedInputControl;\r\n };\r\n TextInput.prototype.getJsonTypeName = function () {\r\n return \"Input.Text\";\r\n };\r\n TextInput.prototype.getActionById = function (id) {\r\n var result = _super.prototype.getActionById.call(this, id);\r\n if (!result && this.inlineAction) {\r\n result = this.inlineAction.getActionById(id);\r\n }\r\n return result;\r\n };\r\n TextInput.prototype.isSet = function () {\r\n return this.value ? true : false;\r\n };\r\n TextInput.prototype.isValid = function () {\r\n if (!this.value) {\r\n return true;\r\n }\r\n if (this.regex) {\r\n return new RegExp(this.regex, \"g\").test(this.value);\r\n }\r\n return true;\r\n };\r\n Object.defineProperty(TextInput.prototype, \"value\", {\r\n get: function () {\r\n if (this.renderedInputControlElement) {\r\n if (this.isMultiline) {\r\n return this.renderedInputControlElement.value;\r\n }\r\n else {\r\n return this.renderedInputControlElement.value;\r\n }\r\n }\r\n else {\r\n return undefined;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n TextInput.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"value\");\r\n TextInput.maxLengthProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_0, \"maxLength\");\r\n TextInput.isMultilineProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_0, \"isMultiline\", false);\r\n TextInput.placeholderProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"placeholder\");\r\n TextInput.styleProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_0, \"style\", Enums.InputTextStyle, Enums.InputTextStyle.Text, [\r\n { value: Enums.InputTextStyle.Text },\r\n { value: Enums.InputTextStyle.Tel },\r\n { value: Enums.InputTextStyle.Url },\r\n { value: Enums.InputTextStyle.Email },\r\n { value: Enums.InputTextStyle.Password, targetVersion: serialization_1.Versions.v1_5 }\r\n ]);\r\n TextInput.inlineActionProperty = new ActionProperty(serialization_1.Versions.v1_0, \"inlineAction\", [\"Action.ShowCard\"]);\r\n TextInput.regexProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_3, \"regex\", true);\r\n __decorate([\r\n serialization_1.property(TextInput.valueProperty)\r\n ], TextInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n serialization_1.property(TextInput.maxLengthProperty)\r\n ], TextInput.prototype, \"maxLength\", void 0);\r\n __decorate([\r\n serialization_1.property(TextInput.isMultilineProperty)\r\n ], TextInput.prototype, \"isMultiline\", void 0);\r\n __decorate([\r\n serialization_1.property(TextInput.placeholderProperty)\r\n ], TextInput.prototype, \"placeholder\", void 0);\r\n __decorate([\r\n serialization_1.property(TextInput.styleProperty)\r\n ], TextInput.prototype, \"style\", void 0);\r\n __decorate([\r\n serialization_1.property(TextInput.inlineActionProperty)\r\n ], TextInput.prototype, \"inlineAction\", void 0);\r\n __decorate([\r\n serialization_1.property(TextInput.regexProperty)\r\n ], TextInput.prototype, \"regex\", void 0);\r\n return TextInput;\r\n}(Input));\r\nexports.TextInput = TextInput;\r\nvar ToggleInput = /** @class */ (function (_super) {\r\n __extends(ToggleInput, _super);\r\n function ToggleInput() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.valueOn = \"true\";\r\n _this.valueOff = \"false\";\r\n _this.wrap = false;\r\n return _this;\r\n }\r\n ToggleInput.prototype.updateInputControlAriaLabelledBy = function () {\r\n if (this._checkboxInputElement) {\r\n var joinedLabelIds = this.getAllLabelIds().join(\" \");\r\n if (this._checkboxInputLabelElement && this._checkboxInputLabelElement.id) {\r\n joinedLabelIds += \" \" + this._checkboxInputLabelElement.id;\r\n }\r\n if (joinedLabelIds) {\r\n this._checkboxInputElement.setAttribute(\"aria-labelledby\", joinedLabelIds);\r\n }\r\n else {\r\n this._checkboxInputElement.removeAttribute(\"aria-labelledby\");\r\n }\r\n }\r\n };\r\n ToggleInput.prototype.internalRender = function () {\r\n var _this = this;\r\n var element = document.createElement(\"div\");\r\n element.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-toggleInput\");\r\n element.style.width = \"100%\";\r\n element.style.display = \"flex\";\r\n element.style.alignItems = \"center\";\r\n this._checkboxInputElement = document.createElement(\"input\");\r\n this._checkboxInputElement.id = Utils.generateUniqueId();\r\n this._checkboxInputElement.type = \"checkbox\";\r\n this._checkboxInputElement.style.display = \"inline-block\";\r\n this._checkboxInputElement.style.verticalAlign = \"middle\";\r\n this._checkboxInputElement.style.margin = \"0\";\r\n this._checkboxInputElement.style.flex = \"0 0 auto\";\r\n if (this.title) {\r\n this._checkboxInputElement.setAttribute(\"aria-label\", this.title);\r\n }\r\n if (this.isRequired) {\r\n this._checkboxInputElement.setAttribute(\"aria-required\", \"true\");\r\n }\r\n this._checkboxInputElement.tabIndex = 0;\r\n if (this.defaultValue == this.valueOn) {\r\n this._checkboxInputElement.checked = true;\r\n }\r\n this._checkboxInputElement.onchange = function () { _this.valueChanged(); };\r\n Utils.appendChild(element, this._checkboxInputElement);\r\n if (this.title || this.isDesignMode()) {\r\n var label = new TextBlock();\r\n label.setParent(this);\r\n label.forElementId = this._checkboxInputElement.id;\r\n label.hostConfig = this.hostConfig;\r\n label.text = !this.title ? this.getJsonTypeName() : this.title;\r\n label.useMarkdown = shared_1.GlobalSettings.useMarkdownInRadioButtonAndCheckbox;\r\n label.wrap = this.wrap;\r\n this._checkboxInputLabelElement = label.render();\r\n if (this._checkboxInputLabelElement) {\r\n this._checkboxInputLabelElement.id = Utils.generateUniqueId();\r\n this._checkboxInputLabelElement.style.display = \"inline-block\";\r\n this._checkboxInputLabelElement.style.flex = \"1 1 auto\";\r\n this._checkboxInputLabelElement.style.marginLeft = \"6px\";\r\n this._checkboxInputLabelElement.style.verticalAlign = \"middle\";\r\n var spacerElement = document.createElement(\"div\");\r\n spacerElement.style.width = \"6px\";\r\n Utils.appendChild(element, spacerElement);\r\n Utils.appendChild(element, this._checkboxInputLabelElement);\r\n }\r\n }\r\n return element;\r\n };\r\n Object.defineProperty(ToggleInput.prototype, \"isNullable\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ToggleInput.prototype.getJsonTypeName = function () {\r\n return \"Input.Toggle\";\r\n };\r\n ToggleInput.prototype.focus = function () {\r\n if (this._checkboxInputElement) {\r\n this._checkboxInputElement.focus();\r\n }\r\n };\r\n ToggleInput.prototype.isSet = function () {\r\n if (this.isRequired) {\r\n return this.value === this.valueOn;\r\n }\r\n return this.value ? true : false;\r\n };\r\n Object.defineProperty(ToggleInput.prototype, \"value\", {\r\n get: function () {\r\n if (this._checkboxInputElement) {\r\n return this._checkboxInputElement.checked ? this.valueOn : this.valueOff;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ToggleInput.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"value\");\r\n ToggleInput.titleProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"title\");\r\n ToggleInput.valueOnProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"valueOn\", true, undefined, \"true\", function (sender) { return \"true\"; });\r\n ToggleInput.valueOffProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"valueOff\", true, undefined, \"false\", function (sender) { return \"false\"; });\r\n ToggleInput.wrapProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"wrap\", false);\r\n __decorate([\r\n serialization_1.property(ToggleInput.valueProperty)\r\n ], ToggleInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n serialization_1.property(ToggleInput.titleProperty)\r\n ], ToggleInput.prototype, \"title\", void 0);\r\n __decorate([\r\n serialization_1.property(ToggleInput.valueOnProperty)\r\n ], ToggleInput.prototype, \"valueOn\", void 0);\r\n __decorate([\r\n serialization_1.property(ToggleInput.valueOffProperty)\r\n ], ToggleInput.prototype, \"valueOff\", void 0);\r\n __decorate([\r\n serialization_1.property(ToggleInput.wrapProperty)\r\n ], ToggleInput.prototype, \"wrap\", void 0);\r\n return ToggleInput;\r\n}(Input));\r\nexports.ToggleInput = ToggleInput;\r\nvar Choice = /** @class */ (function (_super) {\r\n __extends(Choice, _super);\r\n function Choice(title, value) {\r\n var _this = _super.call(this) || this;\r\n _this.title = title;\r\n _this.value = value;\r\n return _this;\r\n }\r\n //#endregion\r\n Choice.prototype.getSchemaKey = function () {\r\n return \"Choice\";\r\n };\r\n //#region Schema\r\n Choice.titleProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"title\");\r\n Choice.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"value\");\r\n __decorate([\r\n serialization_1.property(Choice.titleProperty)\r\n ], Choice.prototype, \"title\", void 0);\r\n __decorate([\r\n serialization_1.property(Choice.valueProperty)\r\n ], Choice.prototype, \"value\", void 0);\r\n return Choice;\r\n}(serialization_1.SerializableObject));\r\nexports.Choice = Choice;\r\nvar ChoiceSetInput = /** @class */ (function (_super) {\r\n __extends(ChoiceSetInput, _super);\r\n function ChoiceSetInput() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.isMultiSelect = false;\r\n _this.wrap = false;\r\n _this.choices = [];\r\n return _this;\r\n }\r\n Object.defineProperty(ChoiceSetInput.prototype, \"isCompact\", {\r\n get: function () {\r\n return !this.style || this.style === \"compact\";\r\n },\r\n set: function (value) {\r\n this.style = value ? undefined : \"expanded\";\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ChoiceSetInput.getUniqueCategoryName = function () {\r\n var uniqueCategoryName = \"__ac-category\" + ChoiceSetInput.uniqueCategoryCounter;\r\n ChoiceSetInput.uniqueCategoryCounter++;\r\n return uniqueCategoryName;\r\n };\r\n // Make sure `aria-current` is applied to the currently-selected item\r\n ChoiceSetInput.prototype.internalApplyAriaCurrent = function () {\r\n if (this._selectElement) {\r\n var options = this._selectElement.options;\r\n if (options) {\r\n for (var i = 0; i < options.length; i++) {\r\n if (options[i].selected) {\r\n options[i].setAttribute(\"aria-current\", \"true\");\r\n }\r\n else {\r\n options[i].removeAttribute(\"aria-current\");\r\n }\r\n }\r\n }\r\n }\r\n };\r\n ChoiceSetInput.prototype.renderCompoundInput = function (cssClassName, type, defaultValues) {\r\n var _this = this;\r\n var element = document.createElement(\"div\");\r\n element.className = this.hostConfig.makeCssClassName(\"ac-input\", cssClassName);\r\n element.style.width = \"100%\";\r\n this._toggleInputs = [];\r\n this._labels = [];\r\n for (var _i = 0, _a = this.choices; _i < _a.length; _i++) {\r\n var choice = _a[_i];\r\n var input = document.createElement(\"input\");\r\n input.id = Utils.generateUniqueId();\r\n input.type = type;\r\n input.style.margin = \"0\";\r\n input.style.display = \"inline-block\";\r\n input.style.verticalAlign = \"middle\";\r\n input.style.flex = \"0 0 auto\";\r\n input.name = this.id ? this.id : this._uniqueCategoryName;\r\n if (this.isRequired) {\r\n input.setAttribute(\"aria-required\", \"true\");\r\n }\r\n if (choice.value) {\r\n input.value = choice.value;\r\n }\r\n if (choice.title) {\r\n input.setAttribute(\"aria-label\", choice.title);\r\n }\r\n if (defaultValues && choice.value) {\r\n if (defaultValues.indexOf(choice.value) >= 0) {\r\n input.checked = true;\r\n }\r\n }\r\n input.onchange = function () { _this.valueChanged(); };\r\n this._toggleInputs.push(input);\r\n var compoundInput = document.createElement(\"div\");\r\n compoundInput.style.display = \"flex\";\r\n compoundInput.style.alignItems = \"center\";\r\n Utils.appendChild(compoundInput, input);\r\n var label = new TextBlock();\r\n label.setParent(this);\r\n label.forElementId = input.id;\r\n label.hostConfig = this.hostConfig;\r\n label.text = choice.title ? choice.title : \"Choice \" + this._toggleInputs.length;\r\n label.useMarkdown = shared_1.GlobalSettings.useMarkdownInRadioButtonAndCheckbox;\r\n label.wrap = this.wrap;\r\n var labelElement = label.render();\r\n this._labels.push(labelElement);\r\n if (labelElement) {\r\n labelElement.id = Utils.generateUniqueId();\r\n labelElement.style.display = \"inline-block\";\r\n labelElement.style.flex = \"1 1 auto\";\r\n labelElement.style.marginLeft = \"6px\";\r\n labelElement.style.verticalAlign = \"middle\";\r\n var spacerElement = document.createElement(\"div\");\r\n spacerElement.style.width = \"6px\";\r\n Utils.appendChild(compoundInput, spacerElement);\r\n Utils.appendChild(compoundInput, labelElement);\r\n }\r\n Utils.appendChild(element, compoundInput);\r\n }\r\n return element;\r\n };\r\n ChoiceSetInput.prototype.updateInputControlAriaLabelledBy = function () {\r\n if ((this.isMultiSelect || this.style === \"expanded\") && this._toggleInputs && this._labels) {\r\n var labelIds = this.getAllLabelIds();\r\n for (var i = 0; i < this._toggleInputs.length; i++) {\r\n var joinedLabelIds = labelIds.join(\" \");\r\n var label = this._labels[i];\r\n if (label && label.id) {\r\n joinedLabelIds += \" \" + label.id;\r\n }\r\n if (joinedLabelIds) {\r\n this._toggleInputs[i].setAttribute(\"aria-labelledby\", joinedLabelIds);\r\n }\r\n else {\r\n this._toggleInputs[i].removeAttribute(\"aria-labelledby\");\r\n }\r\n }\r\n }\r\n else {\r\n _super.prototype.updateInputControlAriaLabelledBy.call(this);\r\n }\r\n };\r\n ChoiceSetInput.prototype.internalRender = function () {\r\n var _this = this;\r\n this._uniqueCategoryName = ChoiceSetInput.getUniqueCategoryName();\r\n if (this.isMultiSelect) {\r\n // Render as a list of toggle inputs\r\n return this.renderCompoundInput(\"ac-choiceSetInput-multiSelect\", \"checkbox\", this.defaultValue ? this.defaultValue.split(this.hostConfig.choiceSetInputValueSeparator) : undefined);\r\n }\r\n else {\r\n if (this.style === \"expanded\") {\r\n // Render as a series of radio buttons\r\n return this.renderCompoundInput(\"ac-choiceSetInput-expanded\", \"radio\", this.defaultValue ? [this.defaultValue] : undefined);\r\n }\r\n else if (this.style === \"filtered\") {\r\n // Render as a text input coupled with a datalist\r\n var inputContainer = document.createElement(\"div\");\r\n inputContainer.style.width = \"100%\";\r\n this._textInput = document.createElement(\"input\");\r\n this._textInput.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-multichoiceInput\", \"ac-choiceSetInput-filtered\");\r\n this._textInput.type = \"text\";\r\n this._textInput.style.width = \"100%\";\r\n this._textInput.oninput = function () {\r\n _this.valueChanged();\r\n if (_this._textInput) {\r\n // Remove aria-label when value is not empty so narration software doesn't\r\n // read the placeholder\r\n if (_this.value) {\r\n _this._textInput.removeAttribute(\"placeholder\");\r\n _this._textInput.removeAttribute(\"aria-label\");\r\n }\r\n else if (_this.placeholder) {\r\n _this._textInput.placeholder = _this.placeholder;\r\n _this._textInput.setAttribute(\"aria-label\", _this.placeholder);\r\n }\r\n }\r\n };\r\n if (this.defaultValue) {\r\n this._textInput.value = this.defaultValue;\r\n }\r\n if (this.placeholder && !this._textInput.value) {\r\n this._textInput.placeholder = this.placeholder;\r\n this._textInput.setAttribute(\"aria-label\", this.placeholder);\r\n }\r\n var dataList = document.createElement(\"datalist\");\r\n dataList.id = Utils.generateUniqueId();\r\n for (var _i = 0, _a = this.choices; _i < _a.length; _i++) {\r\n var choice = _a[_i];\r\n var option = document.createElement(\"option\");\r\n option.value = choice.value;\r\n option.text = choice.title;\r\n option.setAttribute(\"aria-label\", choice.title);\r\n dataList.appendChild(option);\r\n }\r\n this._textInput.setAttribute(\"list\", dataList.id);\r\n inputContainer.append(this._textInput, dataList);\r\n return inputContainer;\r\n }\r\n else {\r\n // Render as a combo box\r\n this._selectElement = document.createElement(\"select\");\r\n this._selectElement.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-multichoiceInput\", \"ac-choiceSetInput-compact\");\r\n this._selectElement.style.width = \"100%\";\r\n var option = document.createElement(\"option\");\r\n option.selected = true;\r\n option.disabled = true;\r\n option.hidden = true;\r\n option.value = \"\";\r\n if (this.placeholder) {\r\n option.text = this.placeholder;\r\n }\r\n Utils.appendChild(this._selectElement, option);\r\n for (var _b = 0, _c = this.choices; _b < _c.length; _b++) {\r\n var choice = _c[_b];\r\n var option_1 = document.createElement(\"option\");\r\n option_1.value = choice.value;\r\n option_1.text = choice.title;\r\n option_1.setAttribute(\"aria-label\", choice.title);\r\n if (choice.value == this.defaultValue) {\r\n option_1.selected = true;\r\n }\r\n Utils.appendChild(this._selectElement, option_1);\r\n }\r\n this._selectElement.onchange = function () {\r\n _this.internalApplyAriaCurrent();\r\n _this.valueChanged();\r\n };\r\n this.internalApplyAriaCurrent();\r\n return this._selectElement;\r\n }\r\n }\r\n };\r\n ChoiceSetInput.prototype.getJsonTypeName = function () {\r\n return \"Input.ChoiceSet\";\r\n };\r\n ChoiceSetInput.prototype.focus = function () {\r\n if (this._toggleInputs && (this.isMultiSelect || this.style === \"expanded\")) {\r\n if (this._toggleInputs.length > 0) {\r\n this._toggleInputs[0].focus();\r\n }\r\n }\r\n else if (this._textInput) {\r\n this._textInput.focus();\r\n }\r\n else {\r\n _super.prototype.focus.call(this);\r\n }\r\n };\r\n ChoiceSetInput.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (this.choices.length == 0) {\r\n context.addFailure(this, Enums.ValidationEvent.CollectionCantBeEmpty, strings_1.Strings.errors.choiceSetMustHaveAtLeastOneChoice());\r\n }\r\n for (var _i = 0, _a = this.choices; _i < _a.length; _i++) {\r\n var choice = _a[_i];\r\n if (!choice.title || !choice.value) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.choiceSetChoicesMustHaveTitleAndValue());\r\n }\r\n }\r\n };\r\n ChoiceSetInput.prototype.isSet = function () {\r\n return this.value ? true : false;\r\n };\r\n ChoiceSetInput.prototype.isValid = function () {\r\n if (this._textInput) {\r\n for (var _i = 0, _a = this.choices; _i < _a.length; _i++) {\r\n var choice = _a[_i];\r\n if (this.value === choice.value) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n return _super.prototype.isValid.call(this);\r\n };\r\n Object.defineProperty(ChoiceSetInput.prototype, \"value\", {\r\n get: function () {\r\n if (!this.isMultiSelect) {\r\n if (this._selectElement) {\r\n return this._selectElement.selectedIndex > 0 ? this._selectElement.value : undefined;\r\n }\r\n else if (this._textInput) {\r\n return this._textInput.value;\r\n }\r\n else if (this._toggleInputs && this._toggleInputs.length > 0) {\r\n for (var _i = 0, _a = this._toggleInputs; _i < _a.length; _i++) {\r\n var toggleInput = _a[_i];\r\n if (toggleInput.checked) {\r\n return toggleInput.value;\r\n }\r\n }\r\n }\r\n return undefined;\r\n }\r\n else {\r\n if (!this._toggleInputs || this._toggleInputs.length == 0) {\r\n return undefined;\r\n }\r\n var result = \"\";\r\n for (var _b = 0, _c = this._toggleInputs; _b < _c.length; _b++) {\r\n var toggleInput = _c[_b];\r\n if (toggleInput.checked) {\r\n if (result != \"\") {\r\n result += this.hostConfig.choiceSetInputValueSeparator;\r\n }\r\n result += toggleInput.value;\r\n }\r\n }\r\n return result ? result : undefined;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ChoiceSetInput.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"value\");\r\n ChoiceSetInput.choicesProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_0, \"choices\", Choice);\r\n ChoiceSetInput.styleProperty = new serialization_1.ValueSetProperty(serialization_1.Versions.v1_0, \"style\", [\r\n { value: \"compact\" },\r\n { value: \"expanded\" },\r\n { value: \"filtered\", targetVersion: serialization_1.Versions.v1_5 }\r\n ], \"compact\");\r\n ChoiceSetInput.isMultiSelectProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_0, \"isMultiSelect\", false);\r\n ChoiceSetInput.placeholderProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"placeholder\");\r\n ChoiceSetInput.wrapProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"wrap\", false);\r\n //#endregion\r\n ChoiceSetInput.uniqueCategoryCounter = 0;\r\n __decorate([\r\n serialization_1.property(ChoiceSetInput.valueProperty)\r\n ], ChoiceSetInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n serialization_1.property(ChoiceSetInput.styleProperty)\r\n ], ChoiceSetInput.prototype, \"style\", void 0);\r\n __decorate([\r\n serialization_1.property(ChoiceSetInput.isMultiSelectProperty)\r\n ], ChoiceSetInput.prototype, \"isMultiSelect\", void 0);\r\n __decorate([\r\n serialization_1.property(ChoiceSetInput.placeholderProperty)\r\n ], ChoiceSetInput.prototype, \"placeholder\", void 0);\r\n __decorate([\r\n serialization_1.property(ChoiceSetInput.wrapProperty)\r\n ], ChoiceSetInput.prototype, \"wrap\", void 0);\r\n __decorate([\r\n serialization_1.property(ChoiceSetInput.choicesProperty)\r\n ], ChoiceSetInput.prototype, \"choices\", void 0);\r\n return ChoiceSetInput;\r\n}(Input));\r\nexports.ChoiceSetInput = ChoiceSetInput;\r\nvar NumberInput = /** @class */ (function (_super) {\r\n __extends(NumberInput, _super);\r\n function NumberInput() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n NumberInput.prototype.internalRender = function () {\r\n var _this = this;\r\n this._numberInputElement = document.createElement(\"input\");\r\n this._numberInputElement.setAttribute(\"type\", \"number\");\r\n if (this.min !== undefined) {\r\n this._numberInputElement.setAttribute(\"min\", this.min.toString());\r\n }\r\n if (this.max !== undefined) {\r\n this._numberInputElement.setAttribute(\"max\", this.max.toString());\r\n }\r\n this._numberInputElement.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-numberInput\");\r\n this._numberInputElement.style.width = \"100%\";\r\n this._numberInputElement.tabIndex = 0;\r\n if (this.defaultValue !== undefined) {\r\n this._numberInputElement.valueAsNumber = this.defaultValue;\r\n }\r\n if (this.placeholder) {\r\n this._numberInputElement.placeholder = this.placeholder;\r\n this._numberInputElement.setAttribute(\"aria-label\", this.placeholder);\r\n }\r\n this._numberInputElement.oninput = function () { _this.valueChanged(); };\r\n return this._numberInputElement;\r\n };\r\n NumberInput.prototype.getJsonTypeName = function () {\r\n return \"Input.Number\";\r\n };\r\n NumberInput.prototype.isSet = function () {\r\n return this.value !== undefined && !isNaN(this.value);\r\n };\r\n NumberInput.prototype.isValid = function () {\r\n if (this.value === undefined) {\r\n return !this.isRequired;\r\n }\r\n var result = true;\r\n if (this.min !== undefined) {\r\n result = result && (this.value >= this.min);\r\n }\r\n if (this.max !== undefined) {\r\n result = result && (this.value <= this.max);\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(NumberInput.prototype, \"value\", {\r\n get: function () {\r\n return this._numberInputElement ? this._numberInputElement.valueAsNumber : undefined;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n NumberInput.valueProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_0, \"value\");\r\n NumberInput.placeholderProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"placeholder\");\r\n NumberInput.minProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_0, \"min\");\r\n NumberInput.maxProperty = new serialization_1.NumProperty(serialization_1.Versions.v1_0, \"max\");\r\n __decorate([\r\n serialization_1.property(NumberInput.valueProperty)\r\n ], NumberInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n serialization_1.property(NumberInput.minProperty)\r\n ], NumberInput.prototype, \"min\", void 0);\r\n __decorate([\r\n serialization_1.property(NumberInput.maxProperty)\r\n ], NumberInput.prototype, \"max\", void 0);\r\n __decorate([\r\n serialization_1.property(NumberInput.placeholderProperty)\r\n ], NumberInput.prototype, \"placeholder\", void 0);\r\n return NumberInput;\r\n}(Input));\r\nexports.NumberInput = NumberInput;\r\nvar DateInput = /** @class */ (function (_super) {\r\n __extends(DateInput, _super);\r\n function DateInput() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n DateInput.prototype.internalRender = function () {\r\n var _this = this;\r\n this._dateInputElement = document.createElement(\"input\");\r\n this._dateInputElement.setAttribute(\"type\", \"date\");\r\n if (this.min) {\r\n this._dateInputElement.setAttribute(\"min\", this.min);\r\n }\r\n if (this.max) {\r\n this._dateInputElement.setAttribute(\"max\", this.max);\r\n }\r\n if (this.placeholder) {\r\n this._dateInputElement.placeholder = this.placeholder;\r\n this._dateInputElement.setAttribute(\"aria-label\", this.placeholder);\r\n }\r\n this._dateInputElement.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-dateInput\");\r\n this._dateInputElement.style.width = \"100%\";\r\n this._dateInputElement.oninput = function () { _this.valueChanged(); };\r\n if (this.defaultValue) {\r\n this._dateInputElement.value = this.defaultValue;\r\n }\r\n return this._dateInputElement;\r\n };\r\n DateInput.prototype.getJsonTypeName = function () {\r\n return \"Input.Date\";\r\n };\r\n DateInput.prototype.isSet = function () {\r\n return this.value ? true : false;\r\n };\r\n DateInput.prototype.isValid = function () {\r\n if (!this.value) {\r\n return !this.isRequired;\r\n }\r\n var valueAsDate = new Date(this.value);\r\n var result = true;\r\n if (this.min) {\r\n var minDate = new Date(this.min);\r\n result = result && (valueAsDate >= minDate);\r\n }\r\n if (this.max) {\r\n var maxDate = new Date(this.max);\r\n result = result && (valueAsDate <= maxDate);\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(DateInput.prototype, \"value\", {\r\n get: function () {\r\n return this._dateInputElement ? this._dateInputElement.value : undefined;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n DateInput.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"value\");\r\n DateInput.placeholderProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"placeholder\");\r\n DateInput.minProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"min\");\r\n DateInput.maxProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"max\");\r\n __decorate([\r\n serialization_1.property(DateInput.valueProperty)\r\n ], DateInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n serialization_1.property(DateInput.minProperty)\r\n ], DateInput.prototype, \"min\", void 0);\r\n __decorate([\r\n serialization_1.property(DateInput.maxProperty)\r\n ], DateInput.prototype, \"max\", void 0);\r\n __decorate([\r\n serialization_1.property(DateInput.placeholderProperty)\r\n ], DateInput.prototype, \"placeholder\", void 0);\r\n return DateInput;\r\n}(Input));\r\nexports.DateInput = DateInput;\r\nvar TimeProperty = /** @class */ (function (_super) {\r\n __extends(TimeProperty, _super);\r\n function TimeProperty(targetVersion, name) {\r\n var _this = _super.call(this, targetVersion, name, function (sender, property, source, context) {\r\n var value = source[property.name];\r\n if (typeof value === \"string\" && value && /^[0-9]{2}:[0-9]{2}$/.test(value)) {\r\n return value;\r\n }\r\n return undefined;\r\n }, function (sender, property, target, value, context) {\r\n context.serializeValue(target, property.name, value);\r\n }) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n return _this;\r\n }\r\n return TimeProperty;\r\n}(serialization_1.CustomProperty));\r\nexports.TimeProperty = TimeProperty;\r\nvar TimeInput = /** @class */ (function (_super) {\r\n __extends(TimeInput, _super);\r\n function TimeInput() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n TimeInput.convertTimeStringToDate = function (timeString) {\r\n return new Date(\"1973-09-04T\" + timeString + \":00Z\");\r\n };\r\n TimeInput.prototype.internalRender = function () {\r\n var _this = this;\r\n this._timeInputElement = document.createElement(\"input\");\r\n this._timeInputElement.setAttribute(\"type\", \"time\");\r\n this._timeInputElement.setAttribute(\"min\", this.min);\r\n this._timeInputElement.setAttribute(\"max\", this.max);\r\n this._timeInputElement.className = this.hostConfig.makeCssClassName(\"ac-input\", \"ac-timeInput\");\r\n this._timeInputElement.style.width = \"100%\";\r\n this._timeInputElement.oninput = function () { _this.valueChanged(); };\r\n if (this.placeholder) {\r\n this._timeInputElement.placeholder = this.placeholder;\r\n this._timeInputElement.setAttribute(\"aria-label\", this.placeholder);\r\n }\r\n if (this.defaultValue) {\r\n this._timeInputElement.value = this.defaultValue;\r\n }\r\n return this._timeInputElement;\r\n };\r\n TimeInput.prototype.getJsonTypeName = function () {\r\n return \"Input.Time\";\r\n };\r\n TimeInput.prototype.isSet = function () {\r\n return this.value ? true : false;\r\n };\r\n TimeInput.prototype.isValid = function () {\r\n if (!this.value) {\r\n return !this.isRequired;\r\n }\r\n var valueAsDate = TimeInput.convertTimeStringToDate(this.value);\r\n var result = true;\r\n if (this.min) {\r\n var minDate = TimeInput.convertTimeStringToDate(this.min);\r\n result = result && (valueAsDate >= minDate);\r\n }\r\n if (this.max) {\r\n var maxDate = TimeInput.convertTimeStringToDate(this.max);\r\n result = result && (valueAsDate <= maxDate);\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(TimeInput.prototype, \"value\", {\r\n get: function () {\r\n return this._timeInputElement ? this._timeInputElement.value : undefined;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n TimeInput.valueProperty = new TimeProperty(serialization_1.Versions.v1_0, \"value\");\r\n TimeInput.placeholderProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"placeholder\");\r\n TimeInput.minProperty = new TimeProperty(serialization_1.Versions.v1_0, \"min\");\r\n TimeInput.maxProperty = new TimeProperty(serialization_1.Versions.v1_0, \"max\");\r\n __decorate([\r\n serialization_1.property(TimeInput.valueProperty)\r\n ], TimeInput.prototype, \"defaultValue\", void 0);\r\n __decorate([\r\n serialization_1.property(TimeInput.minProperty)\r\n ], TimeInput.prototype, \"min\", void 0);\r\n __decorate([\r\n serialization_1.property(TimeInput.maxProperty)\r\n ], TimeInput.prototype, \"max\", void 0);\r\n __decorate([\r\n serialization_1.property(TimeInput.placeholderProperty)\r\n ], TimeInput.prototype, \"placeholder\", void 0);\r\n return TimeInput;\r\n}(Input));\r\nexports.TimeInput = TimeInput;\r\nvar Action = /** @class */ (function (_super) {\r\n __extends(Action, _super);\r\n function Action() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.style = Enums.ActionStyle.Default;\r\n _this.mode = Enums.ActionMode.Primary;\r\n _this._state = 0 /* Normal */;\r\n _this._isFocusable = true;\r\n return _this;\r\n }\r\n //#endregion\r\n Action.prototype.renderButtonContent = function () {\r\n if (this.renderedElement) {\r\n // Cache hostConfig for perf\r\n var hostConfig = this.hostConfig;\r\n var titleElement = document.createElement(\"div\");\r\n titleElement.style.overflow = \"hidden\";\r\n titleElement.style.textOverflow = \"ellipsis\";\r\n if (!(hostConfig.actions.iconPlacement == Enums.ActionIconPlacement.AboveTitle || hostConfig.actions.allowTitleToWrap)) {\r\n titleElement.style.whiteSpace = \"nowrap\";\r\n }\r\n if (this.title) {\r\n titleElement.innerText = this.title;\r\n }\r\n if (!this.iconUrl) {\r\n this.renderedElement.classList.add(\"noIcon\");\r\n this.renderedElement.appendChild(titleElement);\r\n }\r\n else {\r\n var iconElement = document.createElement(\"img\");\r\n iconElement.src = this.iconUrl;\r\n iconElement.style.width = hostConfig.actions.iconSize + \"px\";\r\n iconElement.style.height = hostConfig.actions.iconSize + \"px\";\r\n iconElement.style.flex = \"0 0 auto\";\r\n if (hostConfig.actions.iconPlacement == Enums.ActionIconPlacement.AboveTitle) {\r\n this.renderedElement.classList.add(\"iconAbove\");\r\n this.renderedElement.style.flexDirection = \"column\";\r\n if (this.title) {\r\n iconElement.style.marginBottom = \"6px\";\r\n }\r\n }\r\n else {\r\n this.renderedElement.classList.add(\"iconLeft\");\r\n iconElement.style.maxHeight = \"100%\";\r\n if (this.title) {\r\n iconElement.style.marginRight = \"6px\";\r\n }\r\n }\r\n this.renderedElement.appendChild(iconElement);\r\n this.renderedElement.appendChild(titleElement);\r\n }\r\n }\r\n };\r\n Action.prototype.getParentContainer = function () {\r\n if (this.parent instanceof Container) {\r\n return this.parent;\r\n }\r\n return this.parent ? this.parent.getParentContainer() : undefined;\r\n };\r\n Action.prototype.updateCssClasses = function () {\r\n var _a, _b;\r\n if (this.parent && this.renderedElement) {\r\n var hostConfig = this.parent.hostConfig;\r\n this.renderedElement.className = hostConfig.makeCssClassName(this.isEnabled ? \"ac-pushButton\" : \"ac-pushButton-disabled\");\r\n var parentContainer = this.getParentContainer();\r\n if (parentContainer) {\r\n var parentContainerStyle = parentContainer.getEffectiveStyle();\r\n if (parentContainerStyle) {\r\n this.renderedElement.classList.add(\"style-\" + parentContainerStyle);\r\n }\r\n }\r\n this.renderedElement.tabIndex = this.isFocusable ? 0 : -1;\r\n switch (this._state) {\r\n case 1 /* Expanded */:\r\n this.renderedElement.classList.add(hostConfig.makeCssClassName(\"expanded\"));\r\n break;\r\n case 2 /* Subdued */:\r\n this.renderedElement.classList.add(hostConfig.makeCssClassName(\"subdued\"));\r\n break;\r\n }\r\n if (this.style && this.isEnabled) {\r\n if (this.style === Enums.ActionStyle.Positive) {\r\n (_a = this.renderedElement.classList).add.apply(_a, hostConfig.makeCssClassNames(\"primary\", \"style-positive\"));\r\n }\r\n else {\r\n (_b = this.renderedElement.classList).add.apply(_b, hostConfig.makeCssClassNames(\"style-\" + this.style.toLowerCase()));\r\n }\r\n }\r\n }\r\n };\r\n Action.prototype.getDefaultSerializationContext = function () {\r\n return new SerializationContext();\r\n };\r\n Action.prototype.internalGetReferencedInputs = function () {\r\n return {};\r\n };\r\n Action.prototype.internalPrepareForExecution = function (inputs) {\r\n // Do nothing in base implementation\r\n };\r\n Action.prototype.internalValidateInputs = function (referencedInputs) {\r\n var result = [];\r\n if (referencedInputs) {\r\n for (var _i = 0, _a = Object.keys(referencedInputs); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n var input = referencedInputs[key];\r\n if (!input.validateValue()) {\r\n result.push(input);\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n Action.prototype.shouldSerialize = function (context) {\r\n return context.actionRegistry.findByName(this.getJsonTypeName()) !== undefined;\r\n };\r\n Action.prototype.raiseExecuteActionEvent = function () {\r\n if (this.onExecute) {\r\n this.onExecute(this);\r\n }\r\n raiseExecuteActionEvent(this);\r\n };\r\n Action.prototype.getHref = function () {\r\n return \"\";\r\n };\r\n Action.prototype.getAriaRole = function () {\r\n return \"button\";\r\n };\r\n Action.prototype.setupElementForAccessibility = function (element, promoteTooltipToLabel) {\r\n if (promoteTooltipToLabel === void 0) { promoteTooltipToLabel = false; }\r\n element.tabIndex = this.isEnabled ? 0 : -1;\r\n element.setAttribute(\"role\", this.getAriaRole());\r\n if (element instanceof HTMLButtonElement) {\r\n element.disabled = !this.isEnabled;\r\n }\r\n if (!this.isEnabled) {\r\n element.setAttribute(\"aria-disabled\", \"true\");\r\n }\r\n else {\r\n element.classList.add(this.hostConfig.makeCssClassName(\"ac-selectable\"));\r\n }\r\n if (this.title) {\r\n element.setAttribute(\"aria-label\", this.title);\r\n element.title = this.title;\r\n }\r\n if (this.tooltip) {\r\n var targetAriaAttribute = promoteTooltipToLabel ? (this.title ? \"aria-description\" : \"aria-label\") : \"aria-description\";\r\n element.setAttribute(targetAriaAttribute, this.tooltip);\r\n element.title = this.tooltip;\r\n }\r\n };\r\n Action.prototype.promoteAsPrimary = function () {\r\n if (this._actionCollection) {\r\n return this._actionCollection.promoteAsPrimary(this);\r\n }\r\n return undefined;\r\n };\r\n Action.prototype.parse = function (source, context) {\r\n return _super.prototype.parse.call(this, source, context ? context : new SerializationContext());\r\n };\r\n Action.prototype.render = function () {\r\n var _this = this;\r\n var buttonElement = document.createElement(\"button\");\r\n buttonElement.type = \"button\";\r\n buttonElement.style.display = \"flex\";\r\n buttonElement.style.alignItems = \"center\";\r\n buttonElement.style.justifyContent = \"center\";\r\n buttonElement.onclick = function (e) {\r\n if (_this.isEnabled) {\r\n e.preventDefault();\r\n e.cancelBubble = true;\r\n _this.execute();\r\n }\r\n };\r\n this._renderedElement = buttonElement;\r\n this.renderButtonContent();\r\n this.updateCssClasses();\r\n this.setupElementForAccessibility(buttonElement);\r\n };\r\n Action.prototype.execute = function () {\r\n if (this._actionCollection) {\r\n this._actionCollection.actionExecuted(this);\r\n }\r\n this.raiseExecuteActionEvent();\r\n };\r\n Action.prototype.prepareForExecution = function () {\r\n var referencedInputs = this.getReferencedInputs();\r\n var invalidInputs = this.internalValidateInputs(referencedInputs);\r\n if (invalidInputs.length > 0) {\r\n invalidInputs[0].focus();\r\n return false;\r\n }\r\n this.internalPrepareForExecution(referencedInputs);\r\n return true;\r\n };\r\n ;\r\n Action.prototype.remove = function () {\r\n if (this._actionCollection) {\r\n return this._actionCollection.removeAction(this);\r\n }\r\n return false;\r\n };\r\n Action.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n return [];\r\n };\r\n Action.prototype.getResourceInformation = function () {\r\n return this.iconUrl ? [{ url: this.iconUrl, mimeType: \"image\" }] : [];\r\n };\r\n Action.prototype.getActionById = function (id) {\r\n return this.id === id ? this : undefined;\r\n };\r\n Action.prototype.getReferencedInputs = function () {\r\n return this.internalGetReferencedInputs();\r\n };\r\n /**\r\n * Validates the inputs associated with this action.\r\n *\r\n * @returns A list of inputs that failed validation, or an empty array if no input failed validation.\r\n */\r\n Action.prototype.validateInputs = function () {\r\n return this.internalValidateInputs(this.getReferencedInputs());\r\n };\r\n Object.defineProperty(Action.prototype, \"shouldPromoteAsPrimaryOnExecute\", {\r\n get: function () {\r\n return this.mode === \"primary\";\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Action.prototype, \"isPrimary\", {\r\n get: function () {\r\n return this.style == Enums.ActionStyle.Positive;\r\n },\r\n set: function (value) {\r\n if (value) {\r\n this.style = Enums.ActionStyle.Positive;\r\n }\r\n else {\r\n if (this.style == Enums.ActionStyle.Positive) {\r\n this.style = Enums.ActionStyle.Default;\r\n }\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Action.prototype, \"hostConfig\", {\r\n get: function () {\r\n return this.parent ? this.parent.hostConfig : host_config_1.defaultHostConfig;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Action.prototype, \"parent\", {\r\n get: function () {\r\n return this._parent;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Action.prototype, \"state\", {\r\n get: function () {\r\n return this._state;\r\n },\r\n set: function (value) {\r\n if (this._state !== value) {\r\n this._state = value;\r\n this.updateCssClasses();\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Action.prototype, \"isFocusable\", {\r\n get: function () {\r\n return this._isFocusable;\r\n },\r\n set: function (value) {\r\n if (this._isFocusable !== value) {\r\n this._isFocusable = value;\r\n this.updateCssClasses();\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Action.titleProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"title\");\r\n Action.iconUrlProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_1, \"iconUrl\");\r\n Action.styleProperty = new serialization_1.ValueSetProperty(serialization_1.Versions.v1_2, \"style\", [\r\n { value: Enums.ActionStyle.Default },\r\n { value: Enums.ActionStyle.Positive },\r\n { value: Enums.ActionStyle.Destructive }\r\n ], Enums.ActionStyle.Default);\r\n Action.modeProperty = new serialization_1.ValueSetProperty(serialization_1.Versions.v1_5, \"mode\", [\r\n { value: Enums.ActionMode.Primary },\r\n { value: Enums.ActionMode.Secondary }\r\n ], Enums.ActionMode.Primary);\r\n Action.tooltipProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_5, \"tooltip\");\r\n Action.isEnabledProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_5, \"isEnabled\", true);\r\n __decorate([\r\n serialization_1.property(Action.titleProperty)\r\n ], Action.prototype, \"title\", void 0);\r\n __decorate([\r\n serialization_1.property(Action.iconUrlProperty)\r\n ], Action.prototype, \"iconUrl\", void 0);\r\n __decorate([\r\n serialization_1.property(Action.styleProperty)\r\n ], Action.prototype, \"style\", void 0);\r\n __decorate([\r\n serialization_1.property(Action.modeProperty)\r\n ], Action.prototype, \"mode\", void 0);\r\n __decorate([\r\n serialization_1.property(Action.tooltipProperty)\r\n ], Action.prototype, \"tooltip\", void 0);\r\n __decorate([\r\n serialization_1.property(Action.isEnabledProperty)\r\n ], Action.prototype, \"isEnabled\", void 0);\r\n return Action;\r\n}(card_object_1.CardObject));\r\nexports.Action = Action;\r\nvar SubmitActionBase = /** @class */ (function (_super) {\r\n __extends(SubmitActionBase, _super);\r\n function SubmitActionBase() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n //#endregion\r\n _this._isPrepared = false;\r\n return _this;\r\n }\r\n SubmitActionBase.prototype.internalGetReferencedInputs = function () {\r\n var result = {};\r\n if (this.associatedInputs !== \"none\") {\r\n var current = this.parent;\r\n var inputs = [];\r\n while (current) {\r\n inputs = inputs.concat(current.getAllInputs(false));\r\n current = current.parent;\r\n }\r\n for (var _i = 0, inputs_1 = inputs; _i < inputs_1.length; _i++) {\r\n var input = inputs_1[_i];\r\n if (input.id) {\r\n result[input.id] = input;\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n SubmitActionBase.prototype.internalPrepareForExecution = function (inputs) {\r\n if (this._originalData) {\r\n this._processedData = JSON.parse(JSON.stringify(this._originalData));\r\n }\r\n else {\r\n this._processedData = {};\r\n }\r\n if (this._processedData && inputs) {\r\n for (var _i = 0, _a = Object.keys(inputs); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n var input = inputs[key];\r\n if (input.id && input.isSet()) {\r\n this._processedData[input.id] = typeof input.value === \"string\" ? input.value : input.value.toString();\r\n }\r\n }\r\n }\r\n this._isPrepared = true;\r\n };\r\n Object.defineProperty(SubmitActionBase.prototype, \"data\", {\r\n get: function () {\r\n return this._isPrepared ? this._processedData : this._originalData;\r\n },\r\n set: function (value) {\r\n this._originalData = value;\r\n this._isPrepared = false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n SubmitActionBase.dataProperty = new serialization_1.PropertyDefinition(serialization_1.Versions.v1_0, \"data\");\r\n SubmitActionBase.associatedInputsProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_3, \"associatedInputs\", function (sender, property, source, context) {\r\n var value = source[property.name];\r\n if (value !== undefined && typeof value === \"string\") {\r\n return value.toLowerCase() === \"none\" ? \"none\" : \"auto\";\r\n }\r\n return undefined;\r\n }, function (sender, property, target, value, context) {\r\n context.serializeValue(target, property.name, value);\r\n });\r\n __decorate([\r\n serialization_1.property(SubmitActionBase.dataProperty)\r\n ], SubmitActionBase.prototype, \"_originalData\", void 0);\r\n __decorate([\r\n serialization_1.property(SubmitActionBase.associatedInputsProperty)\r\n ], SubmitActionBase.prototype, \"associatedInputs\", void 0);\r\n return SubmitActionBase;\r\n}(Action));\r\nexports.SubmitActionBase = SubmitActionBase;\r\nvar SubmitAction = /** @class */ (function (_super) {\r\n __extends(SubmitAction, _super);\r\n function SubmitAction() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n SubmitAction.prototype.getJsonTypeName = function () {\r\n return SubmitAction.JsonTypeName;\r\n };\r\n // Note the \"weird\" way this field is declared is to work around a breaking\r\n // change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n SubmitAction.JsonTypeName = \"Action.Submit\";\r\n return SubmitAction;\r\n}(SubmitActionBase));\r\nexports.SubmitAction = SubmitAction;\r\nvar ExecuteAction = /** @class */ (function (_super) {\r\n __extends(ExecuteAction, _super);\r\n function ExecuteAction() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n //#endregion\r\n ExecuteAction.prototype.getJsonTypeName = function () {\r\n return ExecuteAction.JsonTypeName;\r\n };\r\n // Note the \"weird\" way this field is declared is to work around a breaking\r\n // change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n ExecuteAction.JsonTypeName = \"Action.Execute\";\r\n //#region Schema\r\n ExecuteAction.verbProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"verb\");\r\n __decorate([\r\n serialization_1.property(ExecuteAction.verbProperty)\r\n ], ExecuteAction.prototype, \"verb\", void 0);\r\n return ExecuteAction;\r\n}(SubmitActionBase));\r\nexports.ExecuteAction = ExecuteAction;\r\nvar OpenUrlAction = /** @class */ (function (_super) {\r\n __extends(OpenUrlAction, _super);\r\n function OpenUrlAction() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n OpenUrlAction.prototype.getJsonTypeName = function () {\r\n return OpenUrlAction.JsonTypeName;\r\n };\r\n OpenUrlAction.prototype.getAriaRole = function () {\r\n return \"link\";\r\n };\r\n OpenUrlAction.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (!this.url) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.propertyMustBeSet(\"url\"));\r\n }\r\n };\r\n OpenUrlAction.prototype.getHref = function () {\r\n return this.url;\r\n };\r\n //#region Schema\r\n OpenUrlAction.urlProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"url\");\r\n //#endregion\r\n // Note the \"weird\" way this field is declared is to work around a breaking\r\n // change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n OpenUrlAction.JsonTypeName = \"Action.OpenUrl\";\r\n __decorate([\r\n serialization_1.property(OpenUrlAction.urlProperty)\r\n ], OpenUrlAction.prototype, \"url\", void 0);\r\n return OpenUrlAction;\r\n}(Action));\r\nexports.OpenUrlAction = OpenUrlAction;\r\nvar ToggleVisibilityAction = /** @class */ (function (_super) {\r\n __extends(ToggleVisibilityAction, _super);\r\n function ToggleVisibilityAction() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.targetElements = {};\r\n return _this;\r\n }\r\n ToggleVisibilityAction.prototype.updateAriaControlsAttribute = function () {\r\n // apply aria labels to make it clear which elements this action will toggle\r\n if (this.targetElements) {\r\n var elementIds = Object.keys(this.targetElements);\r\n if (this._renderedElement) {\r\n if (elementIds.length > 0) {\r\n this._renderedElement.setAttribute(\"aria-controls\", elementIds.join(\" \"));\r\n }\r\n else {\r\n this._renderedElement.removeAttribute(\"aria-controls\");\r\n }\r\n }\r\n }\r\n };\r\n ToggleVisibilityAction.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (!this.targetElements) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.propertyMustBeSet(\"targetElements\"));\r\n }\r\n };\r\n ToggleVisibilityAction.prototype.getJsonTypeName = function () {\r\n return ToggleVisibilityAction.JsonTypeName;\r\n };\r\n ToggleVisibilityAction.prototype.render = function () {\r\n _super.prototype.render.call(this);\r\n this.updateAriaControlsAttribute();\r\n };\r\n ToggleVisibilityAction.prototype.execute = function () {\r\n if (this.parent) {\r\n for (var _i = 0, _a = Object.keys(this.targetElements); _i < _a.length; _i++) {\r\n var elementId = _a[_i];\r\n var targetElement = this.parent.getRootElement().getElementById(elementId);\r\n if (targetElement) {\r\n if (typeof this.targetElements[elementId] === \"boolean\") {\r\n targetElement.isVisible = this.targetElements[elementId];\r\n }\r\n else {\r\n targetElement.isVisible = !targetElement.isVisible;\r\n }\r\n }\r\n }\r\n }\r\n };\r\n ToggleVisibilityAction.prototype.addTargetElement = function (elementId, isVisible) {\r\n if (isVisible === void 0) { isVisible = undefined; }\r\n this.targetElements[elementId] = isVisible;\r\n this.updateAriaControlsAttribute();\r\n };\r\n ToggleVisibilityAction.prototype.removeTargetElement = function (elementId) {\r\n delete this.targetElements[elementId];\r\n this.updateAriaControlsAttribute();\r\n };\r\n ToggleVisibilityAction.targetElementsProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_2, \"targetElements\", function (sender, property, source, context) {\r\n var result = {};\r\n if (Array.isArray(source[property.name])) {\r\n for (var _i = 0, _a = source[property.name]; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n if (typeof item === \"string\") {\r\n result[item] = undefined;\r\n }\r\n else if (typeof item === \"object\") {\r\n var elementId = item[\"elementId\"];\r\n if (typeof elementId === \"string\") {\r\n result[elementId] = Utils.parseBool(item[\"isVisible\"]);\r\n }\r\n }\r\n }\r\n }\r\n return result;\r\n }, function (sender, property, target, value, context) {\r\n var targetElements = [];\r\n for (var _i = 0, _a = Object.keys(value); _i < _a.length; _i++) {\r\n var id = _a[_i];\r\n if (typeof value[id] === \"boolean\") {\r\n targetElements.push({\r\n elementId: id,\r\n isVisible: value[id]\r\n });\r\n }\r\n else {\r\n targetElements.push(id);\r\n }\r\n }\r\n context.serializeArray(target, property.name, targetElements);\r\n }, {}, function (sender) { return {}; });\r\n //#endregion\r\n // Note the \"weird\" way this field is declared is to work around a breaking\r\n // change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n ToggleVisibilityAction.JsonTypeName = \"Action.ToggleVisibility\";\r\n __decorate([\r\n serialization_1.property(ToggleVisibilityAction.targetElementsProperty)\r\n ], ToggleVisibilityAction.prototype, \"targetElements\", void 0);\r\n return ToggleVisibilityAction;\r\n}(Action));\r\nexports.ToggleVisibilityAction = ToggleVisibilityAction;\r\nvar StringWithSubstitutionProperty = /** @class */ (function (_super) {\r\n __extends(StringWithSubstitutionProperty, _super);\r\n function StringWithSubstitutionProperty(targetVersion, name) {\r\n var _this = _super.call(this, targetVersion, name, undefined, function () { return new shared_1.StringWithSubstitutions(); }) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n return _this;\r\n }\r\n StringWithSubstitutionProperty.prototype.parse = function (sender, source, context) {\r\n var result = new shared_1.StringWithSubstitutions();\r\n result.set(Utils.parseString(source[this.name]));\r\n return result;\r\n };\r\n StringWithSubstitutionProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeValue(target, this.name, value.getOriginal());\r\n };\r\n return StringWithSubstitutionProperty;\r\n}(serialization_1.PropertyDefinition));\r\nvar HttpHeader = /** @class */ (function (_super) {\r\n __extends(HttpHeader, _super);\r\n //#endregion\r\n function HttpHeader(name, value) {\r\n if (name === void 0) { name = \"\"; }\r\n if (value === void 0) { value = \"\"; }\r\n var _this = _super.call(this) || this;\r\n _this.name = name;\r\n _this.value = value;\r\n return _this;\r\n }\r\n HttpHeader.prototype.getSchemaKey = function () {\r\n return \"HttpHeader\";\r\n };\r\n HttpHeader.prototype.getReferencedInputs = function (inputs, referencedInputs) {\r\n this._value.getReferencedInputs(inputs, referencedInputs);\r\n };\r\n HttpHeader.prototype.prepareForExecution = function (inputs) {\r\n this._value.substituteInputValues(inputs, shared_1.ContentTypes.applicationXWwwFormUrlencoded);\r\n };\r\n Object.defineProperty(HttpHeader.prototype, \"value\", {\r\n get: function () {\r\n return this._value.get();\r\n },\r\n set: function (newValue) {\r\n this._value.set(newValue);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n HttpHeader.nameProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"name\");\r\n HttpHeader.valueProperty = new StringWithSubstitutionProperty(serialization_1.Versions.v1_0, \"value\");\r\n __decorate([\r\n serialization_1.property(HttpHeader.nameProperty)\r\n ], HttpHeader.prototype, \"name\", void 0);\r\n __decorate([\r\n serialization_1.property(HttpHeader.valueProperty)\r\n ], HttpHeader.prototype, \"_value\", void 0);\r\n return HttpHeader;\r\n}(serialization_1.SerializableObject));\r\nexports.HttpHeader = HttpHeader;\r\nvar HttpAction = /** @class */ (function (_super) {\r\n __extends(HttpAction, _super);\r\n function HttpAction() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._ignoreInputValidation = false;\r\n return _this;\r\n }\r\n HttpAction.prototype.internalGetReferencedInputs = function () {\r\n var allInputs = this.parent ? this.parent.getRootElement().getAllInputs() : [];\r\n var result = {};\r\n this._url.getReferencedInputs(allInputs, result);\r\n for (var _i = 0, _a = this.headers; _i < _a.length; _i++) {\r\n var header = _a[_i];\r\n header.getReferencedInputs(allInputs, result);\r\n }\r\n this._body.getReferencedInputs(allInputs, result);\r\n return result;\r\n };\r\n HttpAction.prototype.internalPrepareForExecution = function (inputs) {\r\n if (inputs) {\r\n this._url.substituteInputValues(inputs, shared_1.ContentTypes.applicationXWwwFormUrlencoded);\r\n var contentType = shared_1.ContentTypes.applicationJson;\r\n for (var _i = 0, _a = this.headers; _i < _a.length; _i++) {\r\n var header = _a[_i];\r\n header.prepareForExecution(inputs);\r\n if (header.name && header.name.toLowerCase() == \"content-type\") {\r\n contentType = header.value;\r\n }\r\n }\r\n this._body.substituteInputValues(inputs, contentType);\r\n }\r\n };\r\n ;\r\n HttpAction.prototype.getJsonTypeName = function () {\r\n return HttpAction.JsonTypeName;\r\n };\r\n HttpAction.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (!this.url) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.propertyMustBeSet(\"url\"));\r\n }\r\n if (this.headers.length > 0) {\r\n for (var _i = 0, _a = this.headers; _i < _a.length; _i++) {\r\n var header = _a[_i];\r\n if (!header.name) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.actionHttpHeadersMustHaveNameAndValue());\r\n }\r\n }\r\n }\r\n };\r\n Object.defineProperty(HttpAction.prototype, \"ignoreInputValidation\", {\r\n get: function () {\r\n return this._ignoreInputValidation;\r\n },\r\n set: function (value) {\r\n this._ignoreInputValidation = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(HttpAction.prototype, \"url\", {\r\n get: function () {\r\n return this._url.get();\r\n },\r\n set: function (value) {\r\n this._url.set(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(HttpAction.prototype, \"body\", {\r\n get: function () {\r\n return this._body.get();\r\n },\r\n set: function (value) {\r\n this._body.set(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n HttpAction.urlProperty = new StringWithSubstitutionProperty(serialization_1.Versions.v1_0, \"url\");\r\n HttpAction.bodyProperty = new StringWithSubstitutionProperty(serialization_1.Versions.v1_0, \"body\");\r\n HttpAction.methodProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"method\");\r\n HttpAction.headersProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_0, \"headers\", HttpHeader);\r\n HttpAction.ignoreInputValidationProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_3, \"ignoreInputValidation\", false);\r\n //#endregion\r\n // Note the \"weird\" way this field is declared is to work around a breaking\r\n // change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n HttpAction.JsonTypeName = \"Action.Http\";\r\n __decorate([\r\n serialization_1.property(HttpAction.urlProperty)\r\n ], HttpAction.prototype, \"_url\", void 0);\r\n __decorate([\r\n serialization_1.property(HttpAction.bodyProperty)\r\n ], HttpAction.prototype, \"_body\", void 0);\r\n __decorate([\r\n serialization_1.property(HttpAction.methodProperty)\r\n ], HttpAction.prototype, \"method\", void 0);\r\n __decorate([\r\n serialization_1.property(HttpAction.headersProperty)\r\n ], HttpAction.prototype, \"headers\", void 0);\r\n __decorate([\r\n serialization_1.property(HttpAction.ignoreInputValidationProperty)\r\n ], HttpAction.prototype, \"_ignoreInputValidation\", void 0);\r\n return HttpAction;\r\n}(Action));\r\nexports.HttpAction = HttpAction;\r\nvar ShowCardAction = /** @class */ (function (_super) {\r\n __extends(ShowCardAction, _super);\r\n function ShowCardAction() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.card = new InlineAdaptiveCard();\r\n return _this;\r\n }\r\n ShowCardAction.prototype.updateCssClasses = function () {\r\n _super.prototype.updateCssClasses.call(this);\r\n if (this.renderedElement) {\r\n var effectiveHostConfig = this.parent ? this.parent.hostConfig : host_config_1.defaultHostConfig;\r\n this.renderedElement.classList.add(effectiveHostConfig.makeCssClassName(\"expandable\"));\r\n this.renderedElement.setAttribute(\"aria-expanded\", (this.state === 1 /* Expanded */).toString());\r\n }\r\n };\r\n ShowCardAction.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n var jsonCard = source[\"card\"];\r\n if (jsonCard) {\r\n this.card.parse(jsonCard, context);\r\n }\r\n else {\r\n context.logParseEvent(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.showCardMustHaveCard());\r\n }\r\n };\r\n ShowCardAction.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n if (this.card) {\r\n context.serializeValue(target, \"card\", this.card.toJSON(context));\r\n }\r\n };\r\n ShowCardAction.prototype.raiseExecuteActionEvent = function () {\r\n if (this.hostConfig.actions.showCard.actionMode === Enums.ShowCardActionMode.Popup) {\r\n // Only raise the event in Popup mode.\r\n _super.prototype.raiseExecuteActionEvent.call(this);\r\n }\r\n };\r\n ShowCardAction.prototype.getJsonTypeName = function () {\r\n return ShowCardAction.JsonTypeName;\r\n };\r\n ShowCardAction.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n this.card.internalValidateProperties(context);\r\n };\r\n ShowCardAction.prototype.setParent = function (value) {\r\n _super.prototype.setParent.call(this, value);\r\n this.card.setParent(value);\r\n };\r\n ShowCardAction.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n return this.card.getAllInputs(processActions);\r\n };\r\n ShowCardAction.prototype.getResourceInformation = function () {\r\n return _super.prototype.getResourceInformation.call(this).concat(this.card.getResourceInformation());\r\n };\r\n ShowCardAction.prototype.getActionById = function (id) {\r\n var result = _super.prototype.getActionById.call(this, id);\r\n if (!result) {\r\n result = this.card.getActionById(id);\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(ShowCardAction.prototype, \"shouldPromoteAsPrimaryOnExecute\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n // Note the \"weird\" way this field is declared is to work around a breaking\r\n // change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n ShowCardAction.JsonTypeName = \"Action.ShowCard\";\r\n return ShowCardAction;\r\n}(Action));\r\nexports.ShowCardAction = ShowCardAction;\r\nvar OverflowAction = /** @class */ (function (_super) {\r\n __extends(OverflowAction, _super);\r\n function OverflowAction(actions) {\r\n var _this = _super.call(this) || this;\r\n _this.actions = actions;\r\n _this.title = strings_1.Strings.defaults.overflowButtonText();\r\n return _this;\r\n }\r\n OverflowAction.prototype.getActions = function () {\r\n return this.actions;\r\n };\r\n OverflowAction.prototype.getJsonTypeName = function () {\r\n return ShowCardAction.JsonTypeName;\r\n };\r\n OverflowAction.prototype.execute = function () {\r\n var _this = this;\r\n var _a;\r\n var shouldDisplayPopupMenu = !raiseDisplayOverflowActionMenuEvent(this, this.renderedElement);\r\n if (shouldDisplayPopupMenu && this.renderedElement) {\r\n var contextMenu_1 = new controls_1.PopupMenu();\r\n contextMenu_1.hostConfig = this.hostConfig;\r\n var _loop_1 = function (i) {\r\n var menuItem = new controls_1.MenuItem(i.toString(), (_a = this_1.actions[i].title) !== null && _a !== void 0 ? _a : \"\");\r\n menuItem.isEnabled = this_1.actions[i].isEnabled;\r\n menuItem.onClick = function () {\r\n var actionToExecute = _this.actions[i];\r\n if (actionToExecute.shouldPromoteAsPrimaryOnExecute) {\r\n var swappedAction = actionToExecute.promoteAsPrimary();\r\n if (swappedAction) {\r\n _this.actions[i] = swappedAction;\r\n }\r\n }\r\n contextMenu_1.closePopup(false);\r\n if (actionToExecute.isEnabled) {\r\n actionToExecute.execute();\r\n }\r\n };\r\n contextMenu_1.items.add(menuItem);\r\n };\r\n var this_1 = this;\r\n for (var i = 0; i < this.actions.length; i++) {\r\n _loop_1(i);\r\n }\r\n ;\r\n contextMenu_1.popup(this.renderedElement);\r\n }\r\n };\r\n OverflowAction.JsonTypeName = \"Action.Overflow\";\r\n return OverflowAction;\r\n}(Action));\r\nvar ActionCollection = /** @class */ (function () {\r\n function ActionCollection(owner) {\r\n this._items = [];\r\n this._renderedActions = [];\r\n this._owner = owner;\r\n }\r\n ActionCollection.prototype.isActionAllowed = function (action) {\r\n var forbiddenTypes = this._owner.getForbiddenActionTypes();\r\n if (forbiddenTypes) {\r\n for (var _i = 0, forbiddenTypes_1 = forbiddenTypes; _i < forbiddenTypes_1.length; _i++) {\r\n var forbiddenType = forbiddenTypes_1[_i];\r\n if (action.constructor === forbiddenType) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n };\r\n ActionCollection.prototype.refreshContainer = function () {\r\n this._actionCardContainer.innerHTML = \"\";\r\n if (!this._actionCard) {\r\n this._actionCardContainer.style.marginTop = \"0px\";\r\n return;\r\n }\r\n this._actionCardContainer.style.marginTop = this.renderedActionCount > 0 ? this._owner.hostConfig.actions.showCard.inlineTopMargin + \"px\" : \"0px\";\r\n var padding = this._owner.getEffectivePadding();\r\n this._owner.getImmediateSurroundingPadding(padding);\r\n var physicalPadding = this._owner.hostConfig.paddingDefinitionToSpacingDefinition(padding);\r\n if (this._actionCard) {\r\n this._actionCard.style.paddingLeft = physicalPadding.left + \"px\";\r\n this._actionCard.style.paddingRight = physicalPadding.right + \"px\";\r\n this._actionCard.style.marginLeft = \"-\" + physicalPadding.left + \"px\";\r\n this._actionCard.style.marginRight = \"-\" + physicalPadding.right + \"px\";\r\n if (physicalPadding.bottom != 0 && !this._owner.isDesignMode()) {\r\n this._actionCard.style.paddingBottom = physicalPadding.bottom + \"px\";\r\n this._actionCard.style.marginBottom = \"-\" + physicalPadding.bottom + \"px\";\r\n }\r\n Utils.appendChild(this._actionCardContainer, this._actionCard);\r\n }\r\n };\r\n ActionCollection.prototype.layoutChanged = function () {\r\n this._owner.getRootElement().updateLayout();\r\n };\r\n ActionCollection.prototype.showActionCard = function (action, suppressStyle, raiseEvent) {\r\n if (suppressStyle === void 0) { suppressStyle = false; }\r\n if (raiseEvent === void 0) { raiseEvent = true; }\r\n action.card.suppressStyle = suppressStyle;\r\n // Always re-render a ShowCard action in design mode; reuse already rendered ShowCard (if available) otherwise\r\n var renderedCard = action.card.renderedElement && !this._owner.isDesignMode() ? action.card.renderedElement : action.card.render();\r\n this._actionCard = renderedCard;\r\n this._expandedAction = action;\r\n this.refreshContainer();\r\n if (raiseEvent) {\r\n this.layoutChanged();\r\n raiseInlineCardExpandedEvent(action, true);\r\n }\r\n };\r\n ActionCollection.prototype.collapseExpandedAction = function () {\r\n for (var _i = 0, _a = this._renderedActions; _i < _a.length; _i++) {\r\n var action = _a[_i];\r\n action.state = 0 /* Normal */;\r\n }\r\n var previouslyExpandedAction = this._expandedAction;\r\n this._expandedAction = undefined;\r\n this._actionCard = undefined;\r\n this.refreshContainer();\r\n if (previouslyExpandedAction) {\r\n this.layoutChanged();\r\n raiseInlineCardExpandedEvent(previouslyExpandedAction, false);\r\n }\r\n };\r\n ActionCollection.prototype.expandShowCardAction = function (action, raiseEvent) {\r\n var _this = this;\r\n var afterSelectedAction = false;\r\n for (var _i = 0, _a = this._renderedActions; _i < _a.length; _i++) {\r\n var renderedAction = _a[_i];\r\n // Remove actions after selected action from tabOrder, to skip focus directly to expanded card\r\n if (afterSelectedAction) {\r\n renderedAction.isFocusable = false;\r\n }\r\n if (renderedAction !== action) {\r\n renderedAction.state = 2 /* Subdued */;\r\n }\r\n else {\r\n renderedAction.state = 1 /* Expanded */;\r\n afterSelectedAction = true;\r\n if (renderedAction.renderedElement) {\r\n renderedAction.renderedElement.onblur = function (e) {\r\n for (var _i = 0, _a = _this._renderedActions; _i < _a.length; _i++) {\r\n var ra = _a[_i];\r\n ra.isFocusable = true;\r\n }\r\n };\r\n }\r\n }\r\n }\r\n this.showActionCard(action, !(this._owner.isAtTheVeryLeft() && this._owner.isAtTheVeryRight()), raiseEvent);\r\n };\r\n ActionCollection.prototype.actionExecuted = function (action) {\r\n if (!(action instanceof ShowCardAction)) {\r\n this.collapseExpandedAction();\r\n }\r\n else {\r\n if (action === this._expandedAction) {\r\n this.collapseExpandedAction();\r\n }\r\n else if (this._owner.hostConfig.actions.showCard.actionMode === Enums.ShowCardActionMode.Inline) {\r\n this.expandShowCardAction(action, true);\r\n }\r\n }\r\n };\r\n ActionCollection.prototype.promoteAsPrimary = function (action) {\r\n if (this._renderedActions.length > 1) {\r\n var swappedAction = this._renderedActions[this._renderedActions.length - 2];\r\n action.render();\r\n if (swappedAction.renderedElement && swappedAction.renderedElement.parentElement && action.renderedElement) {\r\n swappedAction.renderedElement.parentElement.replaceChild(action.renderedElement, swappedAction.renderedElement);\r\n action.renderedElement.setAttribute(\"aria-posinset\", (this._renderedActions.length - 1).toString());\r\n action.renderedElement.setAttribute(\"aria-setsize\", this._renderedActions.length.toString());\r\n action.renderedElement.setAttribute(\"role\", \"menuitem\");\r\n swappedAction.renderedElement.removeAttribute(\"aria-posinset\");\r\n swappedAction.renderedElement.removeAttribute(\"aria-setsize\");\r\n swappedAction.renderedElement.removeAttribute(\"role\");\r\n this._renderedActions[this._renderedActions.length - 2] = action;\r\n return swappedAction;\r\n }\r\n }\r\n return undefined;\r\n };\r\n ActionCollection.prototype.parse = function (source, context) {\r\n this.clear();\r\n if (Array.isArray(source)) {\r\n for (var _i = 0, source_1 = source; _i < source_1.length; _i++) {\r\n var jsonAction = source_1[_i];\r\n var action = context.parseAction(this._owner, jsonAction, [], !this._owner.isDesignMode());\r\n if (action) {\r\n this.addAction(action);\r\n }\r\n }\r\n }\r\n };\r\n ActionCollection.prototype.toJSON = function (target, propertyName, context) {\r\n context.serializeArray(target, propertyName, this._items);\r\n };\r\n ActionCollection.prototype.getActionAt = function (id) {\r\n return this._items[id];\r\n };\r\n ActionCollection.prototype.getActionCount = function () {\r\n return this._items.length;\r\n };\r\n ActionCollection.prototype.getActionById = function (id) {\r\n var result = undefined;\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n result = item.getActionById(id);\r\n if (result) {\r\n break;\r\n }\r\n }\r\n return result;\r\n };\r\n ActionCollection.prototype.validateProperties = function (context) {\r\n if (this._owner.hostConfig.actions.maxActions && this._items.length > this._owner.hostConfig.actions.maxActions) {\r\n context.addFailure(this._owner, Enums.ValidationEvent.TooManyActions, strings_1.Strings.errors.tooManyActions(this._owner.hostConfig.actions.maxActions));\r\n }\r\n if (this._items.length > 0 && !this._owner.hostConfig.supportsInteractivity) {\r\n context.addFailure(this._owner, Enums.ValidationEvent.InteractivityNotAllowed, strings_1.Strings.errors.interactivityNotAllowed());\r\n }\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n if (!this.isActionAllowed(item)) {\r\n context.addFailure(this._owner, Enums.ValidationEvent.ActionTypeNotAllowed, strings_1.Strings.errors.actionTypeNotAllowed(item.getJsonTypeName()));\r\n }\r\n item.internalValidateProperties(context);\r\n }\r\n };\r\n ActionCollection.prototype.render = function (orientation, isDesignMode) {\r\n // Cache hostConfig for better perf\r\n var hostConfig = this._owner.hostConfig;\r\n if (!hostConfig.supportsInteractivity) {\r\n return undefined;\r\n }\r\n var element = document.createElement(\"div\");\r\n var maxActions = hostConfig.actions.maxActions ? Math.min(hostConfig.actions.maxActions, this._items.length) : this._items.length;\r\n this._actionCardContainer = document.createElement(\"div\");\r\n this._renderedActions = [];\r\n if (hostConfig.actions.preExpandSingleShowCardAction && maxActions == 1 && this._items[0] instanceof ShowCardAction && this.isActionAllowed(this._items[0])) {\r\n this.showActionCard(this._items[0], true);\r\n this._renderedActions.push(this._items[0]);\r\n }\r\n else {\r\n var buttonStrip = document.createElement(\"div\");\r\n buttonStrip.className = hostConfig.makeCssClassName(\"ac-actionSet\");\r\n buttonStrip.style.display = \"flex\";\r\n buttonStrip.setAttribute(\"role\", \"menubar\");\r\n if (orientation == Enums.Orientation.Horizontal) {\r\n buttonStrip.style.flexDirection = \"row\";\r\n if (this._owner.horizontalAlignment && hostConfig.actions.actionAlignment != Enums.ActionAlignment.Stretch) {\r\n switch (this._owner.horizontalAlignment) {\r\n case Enums.HorizontalAlignment.Center:\r\n buttonStrip.style.justifyContent = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n buttonStrip.style.justifyContent = \"flex-end\";\r\n break;\r\n default:\r\n buttonStrip.style.justifyContent = \"flex-start\";\r\n break;\r\n }\r\n }\r\n else {\r\n switch (hostConfig.actions.actionAlignment) {\r\n case Enums.ActionAlignment.Center:\r\n buttonStrip.style.justifyContent = \"center\";\r\n break;\r\n case Enums.ActionAlignment.Right:\r\n buttonStrip.style.justifyContent = \"flex-end\";\r\n break;\r\n default:\r\n buttonStrip.style.justifyContent = \"flex-start\";\r\n break;\r\n }\r\n }\r\n }\r\n else {\r\n buttonStrip.style.flexDirection = \"column\";\r\n if (this._owner.horizontalAlignment && hostConfig.actions.actionAlignment != Enums.ActionAlignment.Stretch) {\r\n switch (this._owner.horizontalAlignment) {\r\n case Enums.HorizontalAlignment.Center:\r\n buttonStrip.style.alignItems = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n buttonStrip.style.alignItems = \"flex-end\";\r\n break;\r\n default:\r\n buttonStrip.style.alignItems = \"flex-start\";\r\n break;\r\n }\r\n }\r\n else {\r\n switch (hostConfig.actions.actionAlignment) {\r\n case Enums.ActionAlignment.Center:\r\n buttonStrip.style.alignItems = \"center\";\r\n break;\r\n case Enums.ActionAlignment.Right:\r\n buttonStrip.style.alignItems = \"flex-end\";\r\n break;\r\n case Enums.ActionAlignment.Stretch:\r\n buttonStrip.style.alignItems = \"stretch\";\r\n break;\r\n default:\r\n buttonStrip.style.alignItems = \"flex-start\";\r\n break;\r\n }\r\n }\r\n }\r\n var allowedActions = this._items.filter(this.isActionAllowed.bind(this));\r\n var primaryActions_1 = [];\r\n var secondaryActions_1 = [];\r\n if (!this._owner.isDesignMode()) {\r\n allowedActions.forEach(function (action) { return action.mode === Enums.ActionMode.Secondary ? secondaryActions_1.push(action) : primaryActions_1.push(action); });\r\n // If primaryActions.length > maxActions, extra actions are moved to overflow\r\n var overflowPrimaryActions = primaryActions_1.splice(hostConfig.actions.maxActions);\r\n if (shared_1.GlobalSettings.allowMoreThanMaxActionsInOverflowMenu) {\r\n secondaryActions_1.push.apply(secondaryActions_1, overflowPrimaryActions);\r\n }\r\n var shouldRenderOverflowActionButton = true;\r\n if (secondaryActions_1.length > 0) {\r\n if (!this._overflowAction) {\r\n this._overflowAction = new OverflowAction(secondaryActions_1);\r\n this._overflowAction.setParent(this._owner);\r\n this._overflowAction[\"_actionCollection\"] = this;\r\n }\r\n var isRootAction = this._owner instanceof AdaptiveCard && !this._owner.parent;\r\n shouldRenderOverflowActionButton = !raiseRenderOverflowActionsEvent(this._overflowAction, isRootAction);\r\n }\r\n if (this._overflowAction && shouldRenderOverflowActionButton) {\r\n primaryActions_1.push(this._overflowAction);\r\n }\r\n }\r\n else {\r\n primaryActions_1 = allowedActions;\r\n }\r\n for (var i = 0; i < primaryActions_1.length; i++) {\r\n var action = primaryActions_1[i];\r\n action.render();\r\n if (action.renderedElement) {\r\n if (primaryActions_1.length > 1) {\r\n action.renderedElement.setAttribute(\"aria-posinset\", (i + 1).toString());\r\n action.renderedElement.setAttribute(\"aria-setsize\", primaryActions_1.length.toString());\r\n action.renderedElement.setAttribute(\"role\", \"menuitem\");\r\n }\r\n if (hostConfig.actions.actionsOrientation == Enums.Orientation.Horizontal && hostConfig.actions.actionAlignment == Enums.ActionAlignment.Stretch) {\r\n action.renderedElement.style.flex = \"0 1 100%\";\r\n }\r\n else {\r\n action.renderedElement.style.flex = \"0 1 auto\";\r\n }\r\n buttonStrip.appendChild(action.renderedElement);\r\n this._renderedActions.push(action);\r\n if (i < primaryActions_1.length - 1 && hostConfig.actions.buttonSpacing > 0) {\r\n var spacer = document.createElement(\"div\");\r\n if (orientation === Enums.Orientation.Horizontal) {\r\n spacer.style.flex = \"0 0 auto\";\r\n spacer.style.width = hostConfig.actions.buttonSpacing + \"px\";\r\n }\r\n else {\r\n spacer.style.height = hostConfig.actions.buttonSpacing + \"px\";\r\n }\r\n Utils.appendChild(buttonStrip, spacer);\r\n }\r\n }\r\n }\r\n var buttonStripContainer = document.createElement(\"div\");\r\n buttonStripContainer.style.overflow = \"hidden\";\r\n buttonStripContainer.appendChild(buttonStrip);\r\n Utils.appendChild(element, buttonStripContainer);\r\n }\r\n Utils.appendChild(element, this._actionCardContainer);\r\n for (var _i = 0, _a = this._renderedActions; _i < _a.length; _i++) {\r\n var renderedAction = _a[_i];\r\n if (renderedAction.state == 1 /* Expanded */) {\r\n this.expandShowCardAction(renderedAction, false);\r\n break;\r\n }\r\n }\r\n return this._renderedActions.length > 0 ? element : undefined;\r\n };\r\n ActionCollection.prototype.addAction = function (action) {\r\n if (!action) {\r\n throw new Error(\"The action parameter cannot be null.\");\r\n }\r\n if ((!action.parent || action.parent === this._owner) && this._items.indexOf(action) < 0) {\r\n this._items.push(action);\r\n if (!action.parent) {\r\n action.setParent(this._owner);\r\n }\r\n action[\"_actionCollection\"] = this;\r\n }\r\n else {\r\n throw new Error(strings_1.Strings.errors.actionAlreadyParented());\r\n }\r\n };\r\n ActionCollection.prototype.removeAction = function (action) {\r\n if (this.expandedAction && this._expandedAction == action) {\r\n this.collapseExpandedAction();\r\n }\r\n var actionIndex = this._items.indexOf(action);\r\n if (actionIndex >= 0) {\r\n this._items.splice(actionIndex, 1);\r\n action.setParent(undefined);\r\n action[\"_actionCollection\"] = undefined;\r\n for (var i = 0; i < this._renderedActions.length; i++) {\r\n if (this._renderedActions[i] == action) {\r\n this._renderedActions.splice(i, 1);\r\n break;\r\n }\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n ActionCollection.prototype.clear = function () {\r\n this._items = [];\r\n this._renderedActions = [];\r\n this._expandedAction = undefined;\r\n };\r\n ActionCollection.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n var result = [];\r\n if (processActions) {\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var action = _a[_i];\r\n result = result.concat(action.getAllInputs());\r\n }\r\n }\r\n return result;\r\n };\r\n ActionCollection.prototype.getResourceInformation = function () {\r\n var result = [];\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var action = _a[_i];\r\n result = result.concat(action.getResourceInformation());\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(ActionCollection.prototype, \"renderedActionCount\", {\r\n get: function () {\r\n return this._renderedActions.length;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ActionCollection.prototype, \"expandedAction\", {\r\n get: function () {\r\n return this._expandedAction;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return ActionCollection;\r\n}());\r\nvar ActionSet = /** @class */ (function (_super) {\r\n __extends(ActionSet, _super);\r\n function ActionSet() {\r\n var _this = _super.call(this) || this;\r\n _this._actionCollection = new ActionCollection(_this);\r\n return _this;\r\n }\r\n ActionSet.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this._actionCollection.parse(source[\"actions\"], context);\r\n };\r\n ActionSet.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n this._actionCollection.toJSON(target, \"actions\", context);\r\n };\r\n ActionSet.prototype.internalRender = function () {\r\n return this._actionCollection.render(this.orientation !== undefined ? this.orientation : this.hostConfig.actions.actionsOrientation, this.isDesignMode());\r\n };\r\n ActionSet.prototype.isBleedingAtBottom = function () {\r\n if (this._actionCollection.renderedActionCount == 0) {\r\n return _super.prototype.isBleedingAtBottom.call(this);\r\n }\r\n else {\r\n if (this._actionCollection.getActionCount() == 1) {\r\n return this._actionCollection.expandedAction !== undefined && !this.hostConfig.actions.preExpandSingleShowCardAction;\r\n }\r\n else {\r\n return this._actionCollection.expandedAction !== undefined;\r\n }\r\n }\r\n };\r\n ActionSet.prototype.getJsonTypeName = function () {\r\n return \"ActionSet\";\r\n };\r\n ActionSet.prototype.getActionCount = function () {\r\n return this._actionCollection.getActionCount();\r\n };\r\n ActionSet.prototype.getActionAt = function (index) {\r\n if (index >= 0 && index < this.getActionCount()) {\r\n return this._actionCollection.getActionAt(index);\r\n }\r\n else {\r\n return _super.prototype.getActionAt.call(this, index);\r\n }\r\n };\r\n ActionSet.prototype.getActionById = function (id) {\r\n var result = this._actionCollection.getActionById(id);\r\n return result ? result : _super.prototype.getActionById.call(this, id);\r\n };\r\n ActionSet.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n this._actionCollection.validateProperties(context);\r\n };\r\n ActionSet.prototype.addAction = function (action) {\r\n this._actionCollection.addAction(action);\r\n };\r\n ActionSet.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n return processActions ? this._actionCollection.getAllInputs() : [];\r\n };\r\n ActionSet.prototype.getResourceInformation = function () {\r\n return this._actionCollection.getResourceInformation();\r\n };\r\n /**\r\n * @inheritdoc\r\n */\r\n ActionSet.prototype.findDOMNodeOwner = function (node) {\r\n var target = undefined;\r\n for (var i = 0; i < this.getActionCount(); i++) {\r\n var action = this.getActionAt(i);\r\n if (action) {\r\n // recur through each Action\r\n target = action.findDOMNodeOwner(node);\r\n if (target) {\r\n return target;\r\n }\r\n }\r\n }\r\n // if not found in any Action, defer to parent implementation\r\n return _super.prototype.findDOMNodeOwner.call(this, node);\r\n };\r\n Object.defineProperty(ActionSet.prototype, \"isInteractive\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n ActionSet.orientationProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_1, \"orientation\", Enums.Orientation);\r\n __decorate([\r\n serialization_1.property(ActionSet.orientationProperty)\r\n ], ActionSet.prototype, \"orientation\", void 0);\r\n return ActionSet;\r\n}(CardElement));\r\nexports.ActionSet = ActionSet;\r\nvar ContainerStyleProperty = /** @class */ (function (_super) {\r\n __extends(ContainerStyleProperty, _super);\r\n function ContainerStyleProperty(targetVersion, name, defaultValue, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, [\r\n { value: Enums.ContainerStyle.Default },\r\n { value: Enums.ContainerStyle.Emphasis },\r\n { targetVersion: serialization_1.Versions.v1_2, value: Enums.ContainerStyle.Accent },\r\n { targetVersion: serialization_1.Versions.v1_2, value: Enums.ContainerStyle.Good },\r\n { targetVersion: serialization_1.Versions.v1_2, value: Enums.ContainerStyle.Attention },\r\n { targetVersion: serialization_1.Versions.v1_2, value: Enums.ContainerStyle.Warning }\r\n ], defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n return _this;\r\n }\r\n return ContainerStyleProperty;\r\n}(serialization_1.ValueSetProperty));\r\nexports.ContainerStyleProperty = ContainerStyleProperty;\r\nvar StylableCardElementContainer = /** @class */ (function (_super) {\r\n __extends(StylableCardElementContainer, _super);\r\n function StylableCardElementContainer() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Object.defineProperty(StylableCardElementContainer.prototype, \"style\", {\r\n get: function () {\r\n if (this.allowCustomStyle) {\r\n var style = this.getValue(StylableCardElementContainer.styleProperty);\r\n if (style && this.hostConfig.containerStyles.getStyleByName(style)) {\r\n return style;\r\n }\r\n }\r\n return undefined;\r\n },\r\n set: function (value) {\r\n this.setValue(StylableCardElementContainer.styleProperty, value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(StylableCardElementContainer.prototype, \"allowCustomStyle\", {\r\n //#endregion\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(StylableCardElementContainer.prototype, \"hasExplicitStyle\", {\r\n get: function () {\r\n return this.getValue(StylableCardElementContainer.styleProperty) !== undefined;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n StylableCardElementContainer.prototype.applyBorder = function () {\r\n // No border in base implementation\r\n };\r\n StylableCardElementContainer.prototype.applyBackground = function () {\r\n if (this.renderedElement) {\r\n var styleDefinition = this.hostConfig.containerStyles.getStyleByName(this.style, this.hostConfig.containerStyles.getStyleByName(this.defaultStyle));\r\n if (styleDefinition.backgroundColor) {\r\n var bgColor = Utils.stringToCssColor(styleDefinition.backgroundColor);\r\n this.renderedElement.style.backgroundColor = bgColor;\r\n }\r\n }\r\n };\r\n StylableCardElementContainer.prototype.applyPadding = function () {\r\n _super.prototype.applyPadding.call(this);\r\n if (!this.renderedElement) {\r\n return;\r\n }\r\n var physicalPadding = new shared_1.SpacingDefinition();\r\n if (this.getEffectivePadding()) {\r\n physicalPadding = this.hostConfig.paddingDefinitionToSpacingDefinition(this.getEffectivePadding());\r\n }\r\n this.renderedElement.style.paddingTop = physicalPadding.top + \"px\";\r\n this.renderedElement.style.paddingRight = physicalPadding.right + \"px\";\r\n this.renderedElement.style.paddingBottom = physicalPadding.bottom + \"px\";\r\n this.renderedElement.style.paddingLeft = physicalPadding.left + \"px\";\r\n if (this.isBleeding()) {\r\n // Bleed into the first parent that does have padding\r\n var padding = new shared_1.PaddingDefinition();\r\n this.getImmediateSurroundingPadding(padding);\r\n var surroundingPadding = this.hostConfig.paddingDefinitionToSpacingDefinition(padding);\r\n this.renderedElement.style.marginRight = \"-\" + surroundingPadding.right + \"px\";\r\n this.renderedElement.style.marginLeft = \"-\" + surroundingPadding.left + \"px\";\r\n if (!this.isDesignMode()) {\r\n this.renderedElement.style.marginTop = \"-\" + surroundingPadding.top + \"px\";\r\n this.renderedElement.style.marginBottom = \"-\" + surroundingPadding.bottom + \"px\";\r\n }\r\n if (this.separatorElement && this.separatorOrientation == Enums.Orientation.Horizontal) {\r\n this.separatorElement.style.marginLeft = \"-\" + surroundingPadding.left + \"px\";\r\n this.separatorElement.style.marginRight = \"-\" + surroundingPadding.right + \"px\";\r\n }\r\n }\r\n else {\r\n this.renderedElement.style.marginRight = \"0\";\r\n this.renderedElement.style.marginLeft = \"0\";\r\n this.renderedElement.style.marginTop = \"0\";\r\n this.renderedElement.style.marginBottom = \"0\";\r\n if (this.separatorElement && this.separatorOrientation === Enums.Orientation.Horizontal) {\r\n this.separatorElement.style.marginRight = \"0\";\r\n this.separatorElement.style.marginLeft = \"0\";\r\n }\r\n }\r\n };\r\n StylableCardElementContainer.prototype.getHasBackground = function () {\r\n var currentElement = this.parent;\r\n while (currentElement) {\r\n var currentElementHasBackgroundImage = currentElement instanceof Container ? currentElement.backgroundImage.isValid() : false;\r\n if (currentElement instanceof StylableCardElementContainer) {\r\n if (this.hasExplicitStyle && (currentElement.getEffectiveStyle() != this.getEffectiveStyle() || currentElementHasBackgroundImage)) {\r\n return true;\r\n }\r\n }\r\n currentElement = currentElement.parent;\r\n }\r\n return false;\r\n };\r\n StylableCardElementContainer.prototype.getDefaultPadding = function () {\r\n return this.getHasBackground() || this.getHasBorder() ?\r\n new shared_1.PaddingDefinition(Enums.Spacing.Padding, Enums.Spacing.Padding, Enums.Spacing.Padding, Enums.Spacing.Padding) : _super.prototype.getDefaultPadding.call(this);\r\n };\r\n StylableCardElementContainer.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n var explicitStyle = this.getValue(StylableCardElementContainer.styleProperty);\r\n if (explicitStyle !== undefined) {\r\n var styleDefinition = this.hostConfig.containerStyles.getStyleByName(explicitStyle);\r\n if (!styleDefinition) {\r\n context.addFailure(this, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(explicitStyle, \"style\"));\r\n }\r\n }\r\n };\r\n StylableCardElementContainer.prototype.render = function () {\r\n var renderedElement = _super.prototype.render.call(this);\r\n if (renderedElement && this.getHasBackground()) {\r\n this.applyBackground();\r\n }\r\n this.applyBorder();\r\n return renderedElement;\r\n };\r\n StylableCardElementContainer.prototype.getEffectiveStyle = function () {\r\n var effectiveStyle = this.style;\r\n return effectiveStyle ? effectiveStyle : _super.prototype.getEffectiveStyle.call(this);\r\n };\r\n //#region Schema\r\n StylableCardElementContainer.styleProperty = new ContainerStyleProperty(serialization_1.Versions.v1_0, \"style\");\r\n __decorate([\r\n serialization_1.property(StylableCardElementContainer.styleProperty)\r\n ], StylableCardElementContainer.prototype, \"style\", null);\r\n return StylableCardElementContainer;\r\n}(CardElementContainer));\r\nexports.StylableCardElementContainer = StylableCardElementContainer;\r\nvar ContainerBase = /** @class */ (function (_super) {\r\n __extends(ContainerBase, _super);\r\n function ContainerBase() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._bleed = false;\r\n return _this;\r\n }\r\n //#endregion\r\n ContainerBase.prototype.adjustRenderedElementSize = function (renderedElement) {\r\n _super.prototype.adjustRenderedElementSize.call(this, renderedElement);\r\n if (this.minPixelHeight) {\r\n renderedElement.style.minHeight = this.minPixelHeight + \"px\";\r\n }\r\n };\r\n ContainerBase.prototype.getHasExpandedAction = function () {\r\n return false;\r\n };\r\n ContainerBase.prototype.getBleed = function () {\r\n return this._bleed;\r\n };\r\n ContainerBase.prototype.setBleed = function (value) {\r\n this._bleed = value;\r\n };\r\n Object.defineProperty(ContainerBase.prototype, \"renderedActionCount\", {\r\n get: function () {\r\n return 0;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ContainerBase.prototype.isBleeding = function () {\r\n return (this.getHasBackground() || this.hostConfig.alwaysAllowBleed) && this.getBleed();\r\n };\r\n ContainerBase.bleedProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_2, \"bleed\", false);\r\n ContainerBase.minHeightProperty = new serialization_1.PixelSizeProperty(serialization_1.Versions.v1_2, \"minHeight\");\r\n __decorate([\r\n serialization_1.property(ContainerBase.bleedProperty)\r\n ], ContainerBase.prototype, \"_bleed\", void 0);\r\n __decorate([\r\n serialization_1.property(ContainerBase.minHeightProperty)\r\n ], ContainerBase.prototype, \"minPixelHeight\", void 0);\r\n return ContainerBase;\r\n}(StylableCardElementContainer));\r\nexports.ContainerBase = ContainerBase;\r\nvar BackgroundImage = /** @class */ (function (_super) {\r\n __extends(BackgroundImage, _super);\r\n function BackgroundImage() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n //#endregion\r\n BackgroundImage.prototype.getSchemaKey = function () {\r\n return \"BackgroundImage\";\r\n };\r\n BackgroundImage.prototype.internalParse = function (source, context) {\r\n if (typeof source === \"string\") {\r\n this.resetDefaultValues();\r\n this.url = source;\r\n }\r\n else {\r\n return _super.prototype.internalParse.call(this, source, context);\r\n }\r\n };\r\n BackgroundImage.prototype.apply = function (element) {\r\n if (this.url && element.renderedElement) {\r\n element.renderedElement.style.backgroundImage = \"url('\" + element.preProcessPropertyValue(BackgroundImage.urlProperty, this.url) + \"')\";\r\n switch (this.fillMode) {\r\n case Enums.FillMode.Repeat:\r\n element.renderedElement.style.backgroundRepeat = \"repeat\";\r\n break;\r\n case Enums.FillMode.RepeatHorizontally:\r\n element.renderedElement.style.backgroundRepeat = \"repeat-x\";\r\n break;\r\n case Enums.FillMode.RepeatVertically:\r\n element.renderedElement.style.backgroundRepeat = \"repeat-y\";\r\n break;\r\n case Enums.FillMode.Cover:\r\n default:\r\n element.renderedElement.style.backgroundRepeat = \"no-repeat\";\r\n element.renderedElement.style.backgroundSize = \"cover\";\r\n break;\r\n }\r\n switch (this.horizontalAlignment) {\r\n case Enums.HorizontalAlignment.Center:\r\n element.renderedElement.style.backgroundPositionX = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n element.renderedElement.style.backgroundPositionX = \"right\";\r\n break;\r\n }\r\n switch (this.verticalAlignment) {\r\n case Enums.VerticalAlignment.Center:\r\n element.renderedElement.style.backgroundPositionY = \"center\";\r\n break;\r\n case Enums.VerticalAlignment.Bottom:\r\n element.renderedElement.style.backgroundPositionY = \"bottom\";\r\n break;\r\n }\r\n }\r\n };\r\n BackgroundImage.prototype.isValid = function () {\r\n return this.url ? true : false;\r\n };\r\n //#region Schema\r\n BackgroundImage.urlProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"url\");\r\n BackgroundImage.fillModeProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_2, \"fillMode\", Enums.FillMode, Enums.FillMode.Cover);\r\n BackgroundImage.horizontalAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_2, \"horizontalAlignment\", Enums.HorizontalAlignment, Enums.HorizontalAlignment.Left);\r\n BackgroundImage.verticalAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_2, \"verticalAlignment\", Enums.VerticalAlignment, Enums.VerticalAlignment.Top);\r\n __decorate([\r\n serialization_1.property(BackgroundImage.urlProperty)\r\n ], BackgroundImage.prototype, \"url\", void 0);\r\n __decorate([\r\n serialization_1.property(BackgroundImage.fillModeProperty)\r\n ], BackgroundImage.prototype, \"fillMode\", void 0);\r\n __decorate([\r\n serialization_1.property(BackgroundImage.horizontalAlignmentProperty)\r\n ], BackgroundImage.prototype, \"horizontalAlignment\", void 0);\r\n __decorate([\r\n serialization_1.property(BackgroundImage.verticalAlignmentProperty)\r\n ], BackgroundImage.prototype, \"verticalAlignment\", void 0);\r\n return BackgroundImage;\r\n}(serialization_1.SerializableObject));\r\nexports.BackgroundImage = BackgroundImage;\r\nvar Container = /** @class */ (function (_super) {\r\n __extends(Container, _super);\r\n function Container() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n //#endregion\r\n _this._items = [];\r\n _this._renderedItems = [];\r\n return _this;\r\n }\r\n Object.defineProperty(Container.prototype, \"backgroundImage\", {\r\n get: function () {\r\n return this.getValue(Container.backgroundImageProperty);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Container.prototype.insertItemAt = function (item, index, forceInsert) {\r\n if (!item.parent || forceInsert) {\r\n if (item.isStandalone) {\r\n if (index < 0 || index >= this._items.length) {\r\n this._items.push(item);\r\n }\r\n else {\r\n this._items.splice(index, 0, item);\r\n }\r\n item.setParent(this);\r\n }\r\n else {\r\n throw new Error(strings_1.Strings.errors.elementTypeNotStandalone(item.getJsonTypeName()));\r\n }\r\n }\r\n else {\r\n throw new Error(strings_1.Strings.errors.elementAlreadyParented());\r\n }\r\n };\r\n Container.prototype.getItemsCollectionPropertyName = function () {\r\n return \"items\";\r\n };\r\n Container.prototype.applyBackground = function () {\r\n if (this.backgroundImage.isValid() && this.renderedElement) {\r\n this.backgroundImage.apply(this);\r\n }\r\n _super.prototype.applyBackground.call(this);\r\n };\r\n Container.prototype.internalRender = function () {\r\n this._renderedItems = [];\r\n // Cache hostConfig to avoid walking the parent hierarchy several times\r\n var hostConfig = this.hostConfig;\r\n var element = document.createElement(\"div\");\r\n if (this.rtl !== undefined) {\r\n element.dir = this.rtl ? \"rtl\" : \"ltr\";\r\n }\r\n element.classList.add(hostConfig.makeCssClassName(\"ac-container\"));\r\n element.style.display = \"flex\";\r\n element.style.flexDirection = \"column\";\r\n if (shared_1.GlobalSettings.useAdvancedCardBottomTruncation) {\r\n // Forces the container to be at least as tall as its content.\r\n //\r\n // Fixes a quirk in Chrome where, for nested flex elements, the\r\n // inner element's height would never exceed the outer element's\r\n // height. This caused overflow truncation to break -- containers\r\n // would always be measured as not overflowing, since their heights\r\n // were constrained by their parents as opposed to truly reflecting\r\n // the height of their content.\r\n //\r\n // See the \"Browser Rendering Notes\" section of this answer:\r\n // https://stackoverflow.com/questions/36247140/why-doesnt-flex-item-shrink-past-content-size\r\n element.style.minHeight = '-webkit-min-content';\r\n }\r\n switch (this.getEffectiveVerticalContentAlignment()) {\r\n case Enums.VerticalAlignment.Center:\r\n element.style.justifyContent = \"center\";\r\n break;\r\n case Enums.VerticalAlignment.Bottom:\r\n element.style.justifyContent = \"flex-end\";\r\n break;\r\n default:\r\n element.style.justifyContent = \"flex-start\";\r\n break;\r\n }\r\n if (this._items.length > 0) {\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n var renderedItem = this.isElementAllowed(item) ? item.render() : undefined;\r\n if (renderedItem) {\r\n if (this._renderedItems.length > 0 && item.separatorElement) {\r\n item.separatorElement.style.flex = \"0 0 auto\";\r\n Utils.appendChild(element, item.separatorElement);\r\n }\r\n Utils.appendChild(element, renderedItem);\r\n this._renderedItems.push(item);\r\n }\r\n }\r\n }\r\n else {\r\n if (this.isDesignMode()) {\r\n var placeholderElement = this.createPlaceholderElement();\r\n placeholderElement.style.width = \"100%\";\r\n placeholderElement.style.height = \"100%\";\r\n element.appendChild(placeholderElement);\r\n }\r\n }\r\n return element;\r\n };\r\n Container.prototype.truncateOverflow = function (maxHeight) {\r\n if (this.renderedElement) {\r\n // Add 1 to account for rounding differences between browsers\r\n var boundary_1 = this.renderedElement.offsetTop + maxHeight + 1;\r\n var handleElement_1 = function (cardElement) {\r\n var elt = cardElement.renderedElement;\r\n if (elt) {\r\n switch (Utils.getFitStatus(elt, boundary_1)) {\r\n case Enums.ContainerFitStatus.FullyInContainer:\r\n var sizeChanged = cardElement['resetOverflow']();\r\n // If the element's size changed after resetting content,\r\n // we have to check if it still fits fully in the card\r\n if (sizeChanged) {\r\n handleElement_1(cardElement);\r\n }\r\n break;\r\n case Enums.ContainerFitStatus.Overflowing:\r\n var maxHeight_1 = boundary_1 - elt.offsetTop;\r\n cardElement['handleOverflow'](maxHeight_1);\r\n break;\r\n case Enums.ContainerFitStatus.FullyOutOfContainer:\r\n cardElement['handleOverflow'](0);\r\n break;\r\n }\r\n }\r\n };\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n handleElement_1(item);\r\n }\r\n return true;\r\n }\r\n return false;\r\n };\r\n Container.prototype.undoOverflowTruncation = function () {\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n item['resetOverflow']();\r\n }\r\n };\r\n Container.prototype.getHasBackground = function () {\r\n return this.backgroundImage.isValid() || _super.prototype.getHasBackground.call(this);\r\n };\r\n Container.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this.clear();\r\n this.setShouldFallback(false);\r\n var jsonItems = source[this.getItemsCollectionPropertyName()];\r\n if (Array.isArray(jsonItems)) {\r\n for (var _i = 0, jsonItems_1 = jsonItems; _i < jsonItems_1.length; _i++) {\r\n var item = jsonItems_1[_i];\r\n var element = context.parseElement(this, item, !this.isDesignMode());\r\n if (element) {\r\n this.insertItemAt(element, -1, true);\r\n }\r\n }\r\n }\r\n };\r\n Container.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n context.serializeArray(target, this.getItemsCollectionPropertyName(), this._items);\r\n };\r\n Object.defineProperty(Container.prototype, \"isSelectable\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Container.prototype.getEffectiveVerticalContentAlignment = function () {\r\n if (this.verticalContentAlignment !== undefined) {\r\n return this.verticalContentAlignment;\r\n }\r\n var parentContainer = this.getParentContainer();\r\n return parentContainer ? parentContainer.getEffectiveVerticalContentAlignment() : Enums.VerticalAlignment.Top;\r\n };\r\n Container.prototype.getItemCount = function () {\r\n return this._items.length;\r\n };\r\n Container.prototype.getItemAt = function (index) {\r\n return this._items[index];\r\n };\r\n Container.prototype.getFirstVisibleRenderedItem = function () {\r\n if (this.renderedElement && this._renderedItems && this._renderedItems.length > 0) {\r\n for (var _i = 0, _a = this._renderedItems; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n if (item.isVisible) {\r\n return item;\r\n }\r\n }\r\n ;\r\n }\r\n return undefined;\r\n };\r\n Container.prototype.getLastVisibleRenderedItem = function () {\r\n if (this.renderedElement && this._renderedItems && this._renderedItems.length > 0) {\r\n for (var i = this._renderedItems.length - 1; i >= 0; i--) {\r\n if (this._renderedItems[i].isVisible) {\r\n return this._renderedItems[i];\r\n }\r\n }\r\n }\r\n return undefined;\r\n };\r\n Container.prototype.getJsonTypeName = function () {\r\n return \"Container\";\r\n };\r\n Container.prototype.isFirstElement = function (element) {\r\n var designMode = this.isDesignMode();\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n if (item.isVisible || designMode) {\r\n return item == element;\r\n }\r\n }\r\n return false;\r\n };\r\n Container.prototype.isLastElement = function (element) {\r\n var designMode = this.isDesignMode();\r\n for (var i = this._items.length - 1; i >= 0; i--) {\r\n if (this._items[i].isVisible || designMode) {\r\n return this._items[i] == element;\r\n }\r\n }\r\n return false;\r\n };\r\n Container.prototype.isRtl = function () {\r\n if (this.rtl !== undefined) {\r\n return this.rtl;\r\n }\r\n else {\r\n var parentContainer = this.getParentContainer();\r\n return parentContainer ? parentContainer.isRtl() : false;\r\n }\r\n };\r\n Container.prototype.isBleedingAtTop = function () {\r\n var firstRenderedItem = this.getFirstVisibleRenderedItem();\r\n return this.isBleeding() || (firstRenderedItem ? firstRenderedItem.isBleedingAtTop() : false);\r\n };\r\n Container.prototype.isBleedingAtBottom = function () {\r\n var lastRenderedItem = this.getLastVisibleRenderedItem();\r\n return this.isBleeding() || (lastRenderedItem ? lastRenderedItem.isBleedingAtBottom() && lastRenderedItem.getEffectiveStyle() == this.getEffectiveStyle() : false);\r\n };\r\n Container.prototype.indexOf = function (cardElement) {\r\n return this._items.indexOf(cardElement);\r\n };\r\n Container.prototype.addItem = function (item) {\r\n this.insertItemAt(item, -1, false);\r\n };\r\n Container.prototype.insertItemBefore = function (item, insertBefore) {\r\n this.insertItemAt(item, this._items.indexOf(insertBefore), false);\r\n };\r\n Container.prototype.insertItemAfter = function (item, insertAfter) {\r\n this.insertItemAt(item, this._items.indexOf(insertAfter) + 1, false);\r\n };\r\n Container.prototype.removeItem = function (item) {\r\n var itemIndex = this._items.indexOf(item);\r\n if (itemIndex >= 0) {\r\n this._items.splice(itemIndex, 1);\r\n item.setParent(undefined);\r\n this.updateLayout();\r\n return true;\r\n }\r\n return false;\r\n };\r\n Container.prototype.clear = function () {\r\n this._items = [];\r\n this._renderedItems = [];\r\n };\r\n Container.prototype.getResourceInformation = function () {\r\n var result = _super.prototype.getResourceInformation.call(this);\r\n if (this.backgroundImage.isValid()) {\r\n result.push({\r\n url: this.backgroundImage.url,\r\n mimeType: \"image\"\r\n });\r\n }\r\n return result;\r\n };\r\n Container.prototype.getActionById = function (id) {\r\n var result = _super.prototype.getActionById.call(this, id);\r\n if (!result) {\r\n if (this.selectAction) {\r\n result = this.selectAction.getActionById(id);\r\n }\r\n if (!result) {\r\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\r\n var item = _a[_i];\r\n result = item.getActionById(id);\r\n if (result) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(Container.prototype, \"padding\", {\r\n get: function () {\r\n return this.getPadding();\r\n },\r\n set: function (value) {\r\n this.setPadding(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Container.prototype, \"selectAction\", {\r\n get: function () {\r\n return this._selectAction;\r\n },\r\n set: function (value) {\r\n this._selectAction = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Container.prototype, \"bleed\", {\r\n get: function () {\r\n return this.getBleed();\r\n },\r\n set: function (value) {\r\n this.setBleed(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Container.backgroundImageProperty = new serialization_1.SerializableObjectProperty(serialization_1.Versions.v1_0, \"backgroundImage\", BackgroundImage);\r\n Container.verticalContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_1, \"verticalContentAlignment\", Enums.VerticalAlignment);\r\n Container.rtlProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_0, \"rtl\");\r\n __decorate([\r\n serialization_1.property(Container.backgroundImageProperty)\r\n ], Container.prototype, \"backgroundImage\", null);\r\n __decorate([\r\n serialization_1.property(Container.verticalContentAlignmentProperty)\r\n ], Container.prototype, \"verticalContentAlignment\", void 0);\r\n __decorate([\r\n serialization_1.property(Container.rtlProperty)\r\n ], Container.prototype, \"rtl\", void 0);\r\n return Container;\r\n}(ContainerBase));\r\nexports.Container = Container;\r\nvar Column = /** @class */ (function (_super) {\r\n __extends(Column, _super);\r\n function Column(width) {\r\n if (width === void 0) { width = \"stretch\"; }\r\n var _this = _super.call(this) || this;\r\n _this.width = \"stretch\";\r\n //#endregion\r\n _this._computedWeight = 0;\r\n _this.width = width;\r\n return _this;\r\n }\r\n Column.prototype.adjustRenderedElementSize = function (renderedElement) {\r\n var minDesignTimeColumnHeight = 20;\r\n if (this.isDesignMode()) {\r\n renderedElement.style.minWidth = \"20px\";\r\n renderedElement.style.minHeight = (!this.minPixelHeight ? minDesignTimeColumnHeight : Math.max(this.minPixelHeight, minDesignTimeColumnHeight)) + \"px\";\r\n }\r\n else {\r\n renderedElement.style.minWidth = \"0\";\r\n if (this.minPixelHeight) {\r\n renderedElement.style.minHeight = this.minPixelHeight + \"px\";\r\n }\r\n }\r\n if (this.width === \"auto\") {\r\n renderedElement.style.flex = \"0 1 auto\";\r\n }\r\n else if (this.width === \"stretch\") {\r\n renderedElement.style.flex = \"1 1 50px\";\r\n }\r\n else if (this.width instanceof shared_1.SizeAndUnit) {\r\n if (this.width.unit == Enums.SizeUnit.Pixel) {\r\n renderedElement.style.flex = \"0 0 auto\";\r\n renderedElement.style.width = this.width.physicalSize + \"px\";\r\n }\r\n else {\r\n renderedElement.style.flex = \"1 1 \" + (this._computedWeight > 0 ? this._computedWeight : this.width.physicalSize) + \"%\";\r\n }\r\n }\r\n };\r\n Column.prototype.shouldSerialize = function (context) {\r\n return true;\r\n };\r\n Object.defineProperty(Column.prototype, \"separatorOrientation\", {\r\n get: function () {\r\n return Enums.Orientation.Vertical;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Column.prototype.getJsonTypeName = function () {\r\n return \"Column\";\r\n };\r\n Object.defineProperty(Column.prototype, \"hasVisibleSeparator\", {\r\n get: function () {\r\n if (this.parent && this.parent instanceof ColumnSet) {\r\n return this.separatorElement !== undefined && !this.parent.isLeftMostElement(this);\r\n }\r\n else {\r\n return false;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Column.prototype, \"isStandalone\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n Column.widthProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_0, \"width\", function (sender, property, source, context) {\r\n var result = property.defaultValue;\r\n var value = source[property.name];\r\n var invalidWidth = false;\r\n if (typeof value === \"number\" && !isNaN(value)) {\r\n result = new shared_1.SizeAndUnit(value, Enums.SizeUnit.Weight);\r\n }\r\n else if (value === \"auto\" || value === \"stretch\") {\r\n result = value;\r\n }\r\n else if (typeof value === \"string\") {\r\n try {\r\n result = shared_1.SizeAndUnit.parse(value);\r\n if (result.unit === Enums.SizeUnit.Pixel && property.targetVersion.compareTo(context.targetVersion) > 0) {\r\n invalidWidth = true;\r\n }\r\n }\r\n catch (e) {\r\n invalidWidth = true;\r\n }\r\n }\r\n else {\r\n invalidWidth = true;\r\n }\r\n if (invalidWidth) {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidColumnWidth(value));\r\n result = \"auto\";\r\n }\r\n return result;\r\n }, function (sender, property, target, value, context) {\r\n if (value instanceof shared_1.SizeAndUnit) {\r\n if (value.unit === Enums.SizeUnit.Pixel) {\r\n context.serializeValue(target, \"width\", value.physicalSize + \"px\");\r\n }\r\n else {\r\n context.serializeNumber(target, \"width\", value.physicalSize);\r\n }\r\n }\r\n else {\r\n context.serializeValue(target, \"width\", value);\r\n }\r\n }, \"stretch\");\r\n __decorate([\r\n serialization_1.property(Column.widthProperty)\r\n ], Column.prototype, \"width\", void 0);\r\n return Column;\r\n}(Container));\r\nexports.Column = Column;\r\nvar ColumnSet = /** @class */ (function (_super) {\r\n __extends(ColumnSet, _super);\r\n function ColumnSet() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._columns = [];\r\n return _this;\r\n }\r\n ColumnSet.prototype.createColumnInstance = function (source, context) {\r\n return context.parseCardObject(this, source, [], // Forbidden types not supported for elements for now\r\n !this.isDesignMode(), function (typeName) {\r\n return !typeName || typeName === \"Column\" ? new Column() : undefined;\r\n }, function (typeName, errorType) {\r\n context.logParseEvent(undefined, Enums.ValidationEvent.ElementTypeNotAllowed, strings_1.Strings.errors.elementTypeNotAllowed(typeName));\r\n });\r\n };\r\n ColumnSet.prototype.internalRender = function () {\r\n this._renderedColumns = [];\r\n if (this._columns.length > 0) {\r\n // Cache hostConfig to avoid walking the parent hierarchy several times\r\n var hostConfig = this.hostConfig;\r\n var element = document.createElement(\"div\");\r\n element.className = hostConfig.makeCssClassName(\"ac-columnSet\");\r\n element.style.display = \"flex\";\r\n if (shared_1.GlobalSettings.useAdvancedCardBottomTruncation) {\r\n // See comment in Container.internalRender()\r\n element.style.minHeight = '-webkit-min-content';\r\n }\r\n switch (this.getEffectiveHorizontalAlignment()) {\r\n case Enums.HorizontalAlignment.Center:\r\n element.style.justifyContent = \"center\";\r\n break;\r\n case Enums.HorizontalAlignment.Right:\r\n element.style.justifyContent = \"flex-end\";\r\n break;\r\n default:\r\n element.style.justifyContent = \"flex-start\";\r\n break;\r\n }\r\n var totalWeight = 0;\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n if (column.width instanceof shared_1.SizeAndUnit && (column.width.unit == Enums.SizeUnit.Weight)) {\r\n totalWeight += column.width.physicalSize;\r\n }\r\n }\r\n for (var _b = 0, _c = this._columns; _b < _c.length; _b++) {\r\n var column = _c[_b];\r\n if (column.width instanceof shared_1.SizeAndUnit && column.width.unit == Enums.SizeUnit.Weight && totalWeight > 0) {\r\n var computedWeight = 100 / totalWeight * column.width.physicalSize;\r\n // Best way to emulate \"internal\" access I know of\r\n column[\"_computedWeight\"] = computedWeight;\r\n }\r\n var renderedColumn = column.render();\r\n if (renderedColumn) {\r\n if (this._renderedColumns.length > 0 && column.separatorElement) {\r\n column.separatorElement.style.flex = \"0 0 auto\";\r\n Utils.appendChild(element, column.separatorElement);\r\n }\r\n Utils.appendChild(element, renderedColumn);\r\n this._renderedColumns.push(column);\r\n }\r\n }\r\n return this._renderedColumns.length > 0 ? element : undefined;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n ColumnSet.prototype.truncateOverflow = function (maxHeight) {\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n column['handleOverflow'](maxHeight);\r\n }\r\n return true;\r\n };\r\n ColumnSet.prototype.undoOverflowTruncation = function () {\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n column['resetOverflow']();\r\n }\r\n };\r\n Object.defineProperty(ColumnSet.prototype, \"isSelectable\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ColumnSet.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this._columns = [];\r\n this._renderedColumns = [];\r\n var jsonColumns = source[\"columns\"];\r\n if (Array.isArray(jsonColumns)) {\r\n for (var _i = 0, jsonColumns_1 = jsonColumns; _i < jsonColumns_1.length; _i++) {\r\n var item = jsonColumns_1[_i];\r\n var column = this.createColumnInstance(item, context);\r\n if (column) {\r\n this._columns.push(column);\r\n }\r\n }\r\n }\r\n };\r\n ColumnSet.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n context.serializeArray(target, \"columns\", this._columns);\r\n };\r\n ColumnSet.prototype.isFirstElement = function (element) {\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n if (column.isVisible) {\r\n return column == element;\r\n }\r\n }\r\n return false;\r\n };\r\n ColumnSet.prototype.isBleedingAtTop = function () {\r\n if (this.isBleeding()) {\r\n return true;\r\n }\r\n if (this._renderedColumns && this._renderedColumns.length > 0) {\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n if (column.isBleedingAtTop()) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n ColumnSet.prototype.isBleedingAtBottom = function () {\r\n if (this.isBleeding()) {\r\n return true;\r\n }\r\n if (this._renderedColumns && this._renderedColumns.length > 0) {\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n if (column.isBleedingAtBottom()) {\r\n return true;\r\n }\r\n }\r\n }\r\n return false;\r\n };\r\n ColumnSet.prototype.getItemCount = function () {\r\n return this._columns.length;\r\n };\r\n ColumnSet.prototype.getFirstVisibleRenderedItem = function () {\r\n if (this.renderedElement && this._renderedColumns && this._renderedColumns.length > 0) {\r\n return this._renderedColumns[0];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n ColumnSet.prototype.getLastVisibleRenderedItem = function () {\r\n if (this.renderedElement && this._renderedColumns && this._renderedColumns.length > 0) {\r\n return this._renderedColumns[this._renderedColumns.length - 1];\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n ColumnSet.prototype.getColumnAt = function (index) {\r\n return this._columns[index];\r\n };\r\n ColumnSet.prototype.getItemAt = function (index) {\r\n return this.getColumnAt(index);\r\n };\r\n ColumnSet.prototype.getJsonTypeName = function () {\r\n return \"ColumnSet\";\r\n };\r\n ColumnSet.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n var weightedColumns = 0;\r\n var stretchedColumns = 0;\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n if (typeof column.width === \"number\") {\r\n weightedColumns++;\r\n }\r\n else if (column.width === \"stretch\") {\r\n stretchedColumns++;\r\n }\r\n }\r\n if (weightedColumns > 0 && stretchedColumns > 0) {\r\n context.addFailure(this, Enums.ValidationEvent.Hint, strings_1.Strings.hints.dontUseWeightedAndStrecthedColumnsInSameSet());\r\n }\r\n };\r\n ColumnSet.prototype.addColumn = function (column) {\r\n if (!column.parent) {\r\n this._columns.push(column);\r\n column.setParent(this);\r\n }\r\n else {\r\n throw new Error(strings_1.Strings.errors.columnAlreadyBelongsToAnotherSet());\r\n }\r\n };\r\n ColumnSet.prototype.removeItem = function (item) {\r\n if (item instanceof Column) {\r\n var itemIndex = this._columns.indexOf(item);\r\n if (itemIndex >= 0) {\r\n this._columns.splice(itemIndex, 1);\r\n item.setParent(undefined);\r\n this.updateLayout();\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n ColumnSet.prototype.indexOf = function (cardElement) {\r\n return cardElement instanceof Column ? this._columns.indexOf(cardElement) : -1;\r\n };\r\n ColumnSet.prototype.isLeftMostElement = function (element) {\r\n return this._columns.indexOf(element) == 0;\r\n };\r\n ColumnSet.prototype.isRightMostElement = function (element) {\r\n return this._columns.indexOf(element) == this._columns.length - 1;\r\n };\r\n ColumnSet.prototype.isTopElement = function (element) {\r\n return this._columns.indexOf(element) >= 0;\r\n };\r\n ColumnSet.prototype.isBottomElement = function (element) {\r\n return this._columns.indexOf(element) >= 0;\r\n };\r\n ColumnSet.prototype.getActionById = function (id) {\r\n var result = undefined;\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n result = column.getActionById(id);\r\n if (result) {\r\n break;\r\n }\r\n }\r\n return result;\r\n };\r\n Object.defineProperty(ColumnSet.prototype, \"bleed\", {\r\n get: function () {\r\n return this.getBleed();\r\n },\r\n set: function (value) {\r\n this.setBleed(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ColumnSet.prototype, \"padding\", {\r\n get: function () {\r\n return this.getPadding();\r\n },\r\n set: function (value) {\r\n this.setPadding(value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ColumnSet.prototype, \"selectAction\", {\r\n get: function () {\r\n return this._selectAction;\r\n },\r\n set: function (value) {\r\n this._selectAction = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return ColumnSet;\r\n}(ContainerBase));\r\nexports.ColumnSet = ColumnSet;\r\nfunction raiseImageLoadedEvent(image) {\r\n var card = image.getRootElement();\r\n var onImageLoadedHandler = (card && card.onImageLoaded) ? card.onImageLoaded : AdaptiveCard.onImageLoaded;\r\n if (onImageLoadedHandler) {\r\n onImageLoadedHandler(image);\r\n }\r\n}\r\nfunction raiseAnchorClickedEvent(element, anchor, ev) {\r\n var card = element.getRootElement();\r\n var onAnchorClickedHandler = (card && card.onAnchorClicked) ? card.onAnchorClicked : AdaptiveCard.onAnchorClicked;\r\n return onAnchorClickedHandler !== undefined ? onAnchorClickedHandler(element, anchor, ev) : false;\r\n}\r\nfunction raiseExecuteActionEvent(action) {\r\n var card = action.parent ? action.parent.getRootElement() : undefined;\r\n var onExecuteActionHandler = (card && card.onExecuteAction) ? card.onExecuteAction : AdaptiveCard.onExecuteAction;\r\n if (action.prepareForExecution() && onExecuteActionHandler) {\r\n onExecuteActionHandler(action);\r\n }\r\n}\r\nfunction raiseInlineCardExpandedEvent(action, isExpanded) {\r\n var card = action.parent ? action.parent.getRootElement() : undefined;\r\n var onInlineCardExpandedHandler = (card && card.onInlineCardExpanded) ? card.onInlineCardExpanded : AdaptiveCard.onInlineCardExpanded;\r\n if (onInlineCardExpandedHandler) {\r\n onInlineCardExpandedHandler(action, isExpanded);\r\n }\r\n}\r\nfunction raiseInputValueChangedEvent(input) {\r\n var card = input.getRootElement();\r\n var onInputValueChangedHandler = (card && card.onInputValueChanged) ? card.onInputValueChanged : AdaptiveCard.onInputValueChanged;\r\n if (onInputValueChangedHandler) {\r\n onInputValueChangedHandler(input);\r\n }\r\n}\r\nfunction raiseElementVisibilityChangedEvent(element, shouldUpdateLayout) {\r\n if (shouldUpdateLayout === void 0) { shouldUpdateLayout = true; }\r\n var rootElement = element.getRootElement();\r\n if (shouldUpdateLayout) {\r\n rootElement.updateLayout();\r\n }\r\n var card = rootElement;\r\n var onElementVisibilityChangedHandler = (card && card.onElementVisibilityChanged) ? card.onElementVisibilityChanged : AdaptiveCard.onElementVisibilityChanged;\r\n if (onElementVisibilityChangedHandler !== undefined) {\r\n onElementVisibilityChangedHandler(element);\r\n }\r\n}\r\n/**\r\n * @returns return false to continue with default context menu; return true to skip SDK default context menu\r\n */\r\nfunction raiseDisplayOverflowActionMenuEvent(action, target) {\r\n var card = action.parent ? action.parent.getRootElement() : undefined;\r\n var onDisplayOverflowActionMenuHandler = (card && card.onDisplayOverflowActionMenu) ? card.onDisplayOverflowActionMenu : AdaptiveCard.onDisplayOverflowActionMenu;\r\n return onDisplayOverflowActionMenuHandler !== undefined ? onDisplayOverflowActionMenuHandler(action.getActions(), target) : false;\r\n}\r\n/**\r\n * @returns return false to continue with default action button; return true to skip SDK default action button\r\n */\r\nfunction raiseRenderOverflowActionsEvent(action, isAtRootLevelActions) {\r\n var card = action.parent ? action.parent.getRootElement() : undefined;\r\n var onRenderOverflowActionsHandler = (card && card.onRenderOverflowActions) ? card.onRenderOverflowActions : AdaptiveCard.onRenderOverflowActions;\r\n return onRenderOverflowActionsHandler !== undefined ? onRenderOverflowActionsHandler(action.getActions(), isAtRootLevelActions) : false;\r\n}\r\nvar ContainerWithActions = /** @class */ (function (_super) {\r\n __extends(ContainerWithActions, _super);\r\n function ContainerWithActions() {\r\n var _this = _super.call(this) || this;\r\n _this._actionCollection = new ActionCollection(_this);\r\n return _this;\r\n }\r\n ContainerWithActions.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this._actionCollection.parse(source[\"actions\"], context);\r\n };\r\n ContainerWithActions.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n this._actionCollection.toJSON(target, \"actions\", context);\r\n };\r\n ContainerWithActions.prototype.internalRender = function () {\r\n var element = _super.prototype.internalRender.call(this);\r\n if (element) {\r\n var renderedActions = this._actionCollection.render(this.hostConfig.actions.actionsOrientation, false);\r\n if (renderedActions) {\r\n Utils.appendChild(element, renderSeparation(this.hostConfig, {\r\n spacing: this.hostConfig.getEffectiveSpacing(this.hostConfig.actions.spacing)\r\n }, Enums.Orientation.Horizontal));\r\n Utils.appendChild(element, renderedActions);\r\n }\r\n if (this.renderIfEmpty) {\r\n return element;\r\n }\r\n else {\r\n return element.children.length > 0 ? element : undefined;\r\n }\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n ContainerWithActions.prototype.getHasExpandedAction = function () {\r\n if (this.renderedActionCount == 0) {\r\n return false;\r\n }\r\n else if (this.renderedActionCount == 1) {\r\n return this._actionCollection.expandedAction !== undefined && !this.hostConfig.actions.preExpandSingleShowCardAction;\r\n }\r\n else {\r\n return this._actionCollection.expandedAction !== undefined;\r\n }\r\n };\r\n Object.defineProperty(ContainerWithActions.prototype, \"renderedActionCount\", {\r\n get: function () {\r\n return this._actionCollection.renderedActionCount;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ContainerWithActions.prototype, \"renderIfEmpty\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n ContainerWithActions.prototype.getActionCount = function () {\r\n return this._actionCollection.getActionCount();\r\n };\r\n ContainerWithActions.prototype.getActionAt = function (index) {\r\n if (index >= 0 && index < this.getActionCount()) {\r\n return this._actionCollection.getActionAt(index);\r\n }\r\n else {\r\n return _super.prototype.getActionAt.call(this, index);\r\n }\r\n };\r\n ContainerWithActions.prototype.getActionById = function (id) {\r\n var result = this._actionCollection.getActionById(id);\r\n return result ? result : _super.prototype.getActionById.call(this, id);\r\n };\r\n ContainerWithActions.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (this._actionCollection) {\r\n this._actionCollection.validateProperties(context);\r\n }\r\n };\r\n ContainerWithActions.prototype.isLastElement = function (element) {\r\n return _super.prototype.isLastElement.call(this, element) && this._actionCollection.getActionCount() == 0;\r\n };\r\n ContainerWithActions.prototype.addAction = function (action) {\r\n this._actionCollection.addAction(action);\r\n };\r\n ContainerWithActions.prototype.clear = function () {\r\n _super.prototype.clear.call(this);\r\n this._actionCollection.clear();\r\n };\r\n ContainerWithActions.prototype.getAllInputs = function (processActions) {\r\n if (processActions === void 0) { processActions = true; }\r\n var result = _super.prototype.getAllInputs.call(this, processActions);\r\n if (processActions) {\r\n result = result.concat(this._actionCollection.getAllInputs(processActions));\r\n }\r\n return result;\r\n };\r\n ContainerWithActions.prototype.getResourceInformation = function () {\r\n return _super.prototype.getResourceInformation.call(this).concat(this._actionCollection.getResourceInformation());\r\n };\r\n ContainerWithActions.prototype.isBleedingAtBottom = function () {\r\n if (this._actionCollection.renderedActionCount == 0) {\r\n return _super.prototype.isBleedingAtBottom.call(this);\r\n }\r\n else {\r\n if (this._actionCollection.getActionCount() == 1) {\r\n return this._actionCollection.expandedAction !== undefined && !this.hostConfig.actions.preExpandSingleShowCardAction;\r\n }\r\n else {\r\n return this._actionCollection.expandedAction !== undefined;\r\n }\r\n }\r\n };\r\n Object.defineProperty(ContainerWithActions.prototype, \"isStandalone\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return ContainerWithActions;\r\n}(Container));\r\nexports.ContainerWithActions = ContainerWithActions;\r\nvar RefreshActionProperty = /** @class */ (function (_super) {\r\n __extends(RefreshActionProperty, _super);\r\n function RefreshActionProperty(targetVersion, name) {\r\n var _this = _super.call(this, targetVersion, name, undefined) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n return _this;\r\n }\r\n RefreshActionProperty.prototype.parse = function (sender, source, context) {\r\n var action = context.parseAction(sender.parent, source[this.name], [], false);\r\n if (action !== undefined) {\r\n if (action instanceof ExecuteAction) {\r\n return action;\r\n }\r\n context.logParseEvent(sender, Enums.ValidationEvent.ActionTypeNotAllowed, strings_1.Strings.errors.actionTypeNotAllowed(action.getJsonTypeName()));\r\n }\r\n context.logParseEvent(sender, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.propertyMustBeSet(\"action\"));\r\n return undefined;\r\n };\r\n RefreshActionProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeValue(target, this.name, value ? value.toJSON(context) : undefined, undefined, true);\r\n };\r\n return RefreshActionProperty;\r\n}(serialization_1.PropertyDefinition));\r\nexports.RefreshActionProperty = RefreshActionProperty;\r\nvar RefreshDefinition = /** @class */ (function (_super) {\r\n __extends(RefreshDefinition, _super);\r\n function RefreshDefinition() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Object.defineProperty(RefreshDefinition.prototype, \"action\", {\r\n get: function () {\r\n return this.getValue(RefreshDefinition.actionProperty);\r\n },\r\n set: function (value) {\r\n this.setValue(RefreshDefinition.actionProperty, value);\r\n if (value) {\r\n value.setParent(this.parent);\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n RefreshDefinition.prototype.getSchemaKey = function () {\r\n return \"RefreshDefinition\";\r\n };\r\n //#region Schema\r\n RefreshDefinition.actionProperty = new RefreshActionProperty(serialization_1.Versions.v1_4, \"action\");\r\n RefreshDefinition.userIdsProperty = new serialization_1.StringArrayProperty(serialization_1.Versions.v1_4, \"userIds\");\r\n __decorate([\r\n serialization_1.property(RefreshDefinition.actionProperty)\r\n ], RefreshDefinition.prototype, \"action\", null);\r\n __decorate([\r\n serialization_1.property(RefreshDefinition.userIdsProperty)\r\n ], RefreshDefinition.prototype, \"userIds\", void 0);\r\n return RefreshDefinition;\r\n}(serialization_1.SerializableObject));\r\nexports.RefreshDefinition = RefreshDefinition;\r\nvar AuthCardButton = /** @class */ (function (_super) {\r\n __extends(AuthCardButton, _super);\r\n function AuthCardButton() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n AuthCardButton.prototype.getSchemaKey = function () {\r\n return \"AuthCardButton\";\r\n };\r\n //#region Schema\r\n AuthCardButton.typeProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"type\");\r\n AuthCardButton.titleProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"title\");\r\n AuthCardButton.imageProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"image\");\r\n AuthCardButton.valueProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"value\");\r\n __decorate([\r\n serialization_1.property(AuthCardButton.typeProperty)\r\n ], AuthCardButton.prototype, \"type\", void 0);\r\n __decorate([\r\n serialization_1.property(AuthCardButton.titleProperty)\r\n ], AuthCardButton.prototype, \"title\", void 0);\r\n __decorate([\r\n serialization_1.property(AuthCardButton.imageProperty)\r\n ], AuthCardButton.prototype, \"image\", void 0);\r\n __decorate([\r\n serialization_1.property(AuthCardButton.valueProperty)\r\n ], AuthCardButton.prototype, \"value\", void 0);\r\n return AuthCardButton;\r\n}(serialization_1.SerializableObject));\r\nexports.AuthCardButton = AuthCardButton;\r\nvar TokenExchangeResource = /** @class */ (function (_super) {\r\n __extends(TokenExchangeResource, _super);\r\n function TokenExchangeResource() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n TokenExchangeResource.prototype.getSchemaKey = function () {\r\n return \"TokenExchangeResource\";\r\n };\r\n //#region Schema\r\n TokenExchangeResource.idProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"id\");\r\n TokenExchangeResource.uriProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"uri\");\r\n TokenExchangeResource.providerIdProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"providerId\");\r\n __decorate([\r\n serialization_1.property(TokenExchangeResource.idProperty)\r\n ], TokenExchangeResource.prototype, \"id\", void 0);\r\n __decorate([\r\n serialization_1.property(TokenExchangeResource.uriProperty)\r\n ], TokenExchangeResource.prototype, \"uri\", void 0);\r\n __decorate([\r\n serialization_1.property(TokenExchangeResource.providerIdProperty)\r\n ], TokenExchangeResource.prototype, \"providerId\", void 0);\r\n return TokenExchangeResource;\r\n}(serialization_1.SerializableObject));\r\nexports.TokenExchangeResource = TokenExchangeResource;\r\nvar Authentication = /** @class */ (function (_super) {\r\n __extends(Authentication, _super);\r\n function Authentication() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Authentication.prototype.getSchemaKey = function () {\r\n return \"Authentication\";\r\n };\r\n //#region Schema\r\n Authentication.textProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"text\");\r\n Authentication.connectionNameProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_4, \"connectionName\");\r\n Authentication.buttonsProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_4, \"buttons\", AuthCardButton);\r\n Authentication.tokenExchangeResourceProperty = new serialization_1.SerializableObjectProperty(serialization_1.Versions.v1_4, \"tokenExchangeResource\", TokenExchangeResource, true);\r\n __decorate([\r\n serialization_1.property(Authentication.textProperty)\r\n ], Authentication.prototype, \"text\", void 0);\r\n __decorate([\r\n serialization_1.property(Authentication.connectionNameProperty)\r\n ], Authentication.prototype, \"connectionName\", void 0);\r\n __decorate([\r\n serialization_1.property(Authentication.buttonsProperty)\r\n ], Authentication.prototype, \"buttons\", void 0);\r\n __decorate([\r\n serialization_1.property(Authentication.tokenExchangeResourceProperty)\r\n ], Authentication.prototype, \"tokenExchangeResource\", void 0);\r\n return Authentication;\r\n}(serialization_1.SerializableObject));\r\nexports.Authentication = Authentication;\r\n// @dynamic\r\nvar AdaptiveCard = /** @class */ (function (_super) {\r\n __extends(AdaptiveCard, _super);\r\n function AdaptiveCard() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.designMode = false;\r\n return _this;\r\n }\r\n Object.defineProperty(AdaptiveCard.prototype, \"refresh\", {\r\n get: function () {\r\n return this.getValue(AdaptiveCard.refreshProperty);\r\n },\r\n set: function (value) {\r\n this.setValue(AdaptiveCard.refreshProperty, value);\r\n if (value) {\r\n value.parent = this;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(AdaptiveCard, \"processMarkdown\", {\r\n get: function () {\r\n throw new Error(strings_1.Strings.errors.processMarkdownEventRemoved());\r\n },\r\n set: function (value) {\r\n throw new Error(strings_1.Strings.errors.processMarkdownEventRemoved());\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n AdaptiveCard.applyMarkdown = function (text) {\r\n var result = {\r\n didProcess: false\r\n };\r\n if (AdaptiveCard.onProcessMarkdown) {\r\n AdaptiveCard.onProcessMarkdown(text, result);\r\n }\r\n else if (window.markdownit) {\r\n // Check for markdownit\r\n var markdownIt = window.markdownit;\r\n result.outputHtml = markdownIt().render(text);\r\n result.didProcess = true;\r\n }\r\n else {\r\n console.warn(strings_1.Strings.errors.markdownProcessingNotEnabled);\r\n }\r\n return result;\r\n };\r\n AdaptiveCard.prototype.isVersionSupported = function () {\r\n if (this.bypassVersionCheck) {\r\n return true;\r\n }\r\n else {\r\n var unsupportedVersion = !this.version ||\r\n !this.version.isValid ||\r\n (this.maxVersion.major < this.version.major) ||\r\n (this.maxVersion.major == this.version.major && this.maxVersion.minor < this.version.minor);\r\n return !unsupportedVersion;\r\n }\r\n };\r\n AdaptiveCard.prototype.getDefaultSerializationContext = function () {\r\n return new SerializationContext(this.version);\r\n };\r\n AdaptiveCard.prototype.getItemsCollectionPropertyName = function () {\r\n return \"body\";\r\n };\r\n AdaptiveCard.prototype.internalParse = function (source, context) {\r\n this._fallbackCard = undefined;\r\n var fallbackElement = context.parseElement(undefined, source[\"fallback\"], !this.isDesignMode());\r\n if (fallbackElement) {\r\n this._fallbackCard = new AdaptiveCard();\r\n this._fallbackCard.addItem(fallbackElement);\r\n }\r\n _super.prototype.internalParse.call(this, source, context);\r\n };\r\n AdaptiveCard.prototype.internalToJSON = function (target, context) {\r\n this.setValue(AdaptiveCard.versionProperty, context.targetVersion);\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n };\r\n AdaptiveCard.prototype.internalRender = function () {\r\n var renderedElement = _super.prototype.internalRender.call(this);\r\n if (shared_1.GlobalSettings.useAdvancedCardBottomTruncation && renderedElement) {\r\n // Unlike containers, the root card element should be allowed to\r\n // be shorter than its content (otherwise the overflow truncation\r\n // logic would never get triggered)\r\n renderedElement.style.removeProperty(\"minHeight\");\r\n }\r\n return renderedElement;\r\n };\r\n AdaptiveCard.prototype.getHasBackground = function () {\r\n return true;\r\n };\r\n AdaptiveCard.prototype.getDefaultPadding = function () {\r\n return new shared_1.PaddingDefinition(Enums.Spacing.Padding, Enums.Spacing.Padding, Enums.Spacing.Padding, Enums.Spacing.Padding);\r\n };\r\n AdaptiveCard.prototype.shouldSerialize = function (context) {\r\n return true;\r\n };\r\n Object.defineProperty(AdaptiveCard.prototype, \"renderIfEmpty\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(AdaptiveCard.prototype, \"bypassVersionCheck\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(AdaptiveCard.prototype, \"allowCustomStyle\", {\r\n get: function () {\r\n return this.hostConfig.adaptiveCard && this.hostConfig.adaptiveCard.allowCustomStyle;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(AdaptiveCard.prototype, \"hasBackground\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n AdaptiveCard.prototype.getJsonTypeName = function () {\r\n return \"AdaptiveCard\";\r\n };\r\n AdaptiveCard.prototype.internalValidateProperties = function (context) {\r\n _super.prototype.internalValidateProperties.call(this, context);\r\n if (this.getValue(CardElement.typeNameProperty) !== \"AdaptiveCard\") {\r\n context.addFailure(this, Enums.ValidationEvent.MissingCardType, strings_1.Strings.errors.invalidCardType());\r\n }\r\n if (!this.bypassVersionCheck && !this.version) {\r\n context.addFailure(this, Enums.ValidationEvent.PropertyCantBeNull, strings_1.Strings.errors.propertyMustBeSet(\"version\"));\r\n }\r\n else if (!this.isVersionSupported()) {\r\n context.addFailure(this, Enums.ValidationEvent.UnsupportedCardVersion, strings_1.Strings.errors.unsupportedCardVersion(this.version.toString(), this.maxVersion.toString()));\r\n }\r\n };\r\n AdaptiveCard.prototype.render = function (target) {\r\n var renderedCard;\r\n if (this.shouldFallback() && this._fallbackCard) {\r\n this._fallbackCard.hostConfig = this.hostConfig;\r\n renderedCard = this._fallbackCard.render();\r\n }\r\n else {\r\n renderedCard = _super.prototype.render.call(this);\r\n if (renderedCard) {\r\n renderedCard.classList.add(this.hostConfig.makeCssClassName(\"ac-adaptiveCard\"));\r\n // Having a tabIndex on the root container for a card can mess up accessibility in some scenarios.\r\n // However, we've shipped this behavior before, and so can't just turn it off in a point release. For\r\n // now, to unblock accessibility scenarios for our customers, we've got an option to turn it off. In a\r\n // future release, we should strongly consider flipping the default such that we *don't* emit a tabIndex\r\n // by default.\r\n if (shared_1.GlobalSettings.setTabIndexAtCardRoot) {\r\n renderedCard.tabIndex = 0;\r\n }\r\n if (this.speak) {\r\n renderedCard.setAttribute(\"aria-label\", this.speak);\r\n }\r\n }\r\n }\r\n if (target) {\r\n Utils.appendChild(target, renderedCard);\r\n this.updateLayout();\r\n }\r\n return renderedCard;\r\n };\r\n AdaptiveCard.prototype.updateLayout = function (processChildren) {\r\n if (processChildren === void 0) { processChildren = true; }\r\n _super.prototype.updateLayout.call(this, processChildren);\r\n if (shared_1.GlobalSettings.useAdvancedCardBottomTruncation && this.isDisplayed()) {\r\n var padding = this.hostConfig.getEffectiveSpacing(Enums.Spacing.Default);\r\n this['handleOverflow'](this.renderedElement.offsetHeight - padding);\r\n }\r\n };\r\n AdaptiveCard.prototype.shouldFallback = function () {\r\n return _super.prototype.shouldFallback.call(this) || !this.isVersionSupported();\r\n };\r\n Object.defineProperty(AdaptiveCard.prototype, \"hasVisibleSeparator\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n AdaptiveCard.schemaUrl = \"http://adaptivecards.io/schemas/adaptive-card.json\";\r\n //#region Schema\r\n AdaptiveCard.$schemaProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_0, \"$schema\", function (sender, property, source, context) {\r\n return AdaptiveCard.schemaUrl;\r\n }, function (sender, property, target, value, context) {\r\n context.serializeValue(target, property.name, AdaptiveCard.schemaUrl);\r\n });\r\n AdaptiveCard.versionProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_0, \"version\", function (sender, property, source, context) {\r\n var version = serialization_1.Version.parse(source[property.name], context);\r\n if (version === undefined) {\r\n version = serialization_1.Versions.latest;\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidCardVersion(version.toString()));\r\n }\r\n return version;\r\n }, function (sender, property, target, value, context) {\r\n if (value !== undefined) {\r\n context.serializeValue(target, property.name, value.toString());\r\n }\r\n }, serialization_1.Versions.v1_0);\r\n AdaptiveCard.fallbackTextProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"fallbackText\");\r\n AdaptiveCard.speakProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"speak\");\r\n AdaptiveCard.refreshProperty = new serialization_1.SerializableObjectProperty(serialization_1.Versions.v1_4, \"refresh\", RefreshDefinition, true);\r\n AdaptiveCard.authenticationProperty = new serialization_1.SerializableObjectProperty(serialization_1.Versions.v1_4, \"authentication\", Authentication, true);\r\n __decorate([\r\n serialization_1.property(AdaptiveCard.versionProperty)\r\n ], AdaptiveCard.prototype, \"version\", void 0);\r\n __decorate([\r\n serialization_1.property(AdaptiveCard.fallbackTextProperty)\r\n ], AdaptiveCard.prototype, \"fallbackText\", void 0);\r\n __decorate([\r\n serialization_1.property(AdaptiveCard.speakProperty)\r\n ], AdaptiveCard.prototype, \"speak\", void 0);\r\n __decorate([\r\n serialization_1.property(AdaptiveCard.refreshProperty)\r\n ], AdaptiveCard.prototype, \"refresh\", null);\r\n __decorate([\r\n serialization_1.property(AdaptiveCard.authenticationProperty)\r\n ], AdaptiveCard.prototype, \"authentication\", void 0);\r\n return AdaptiveCard;\r\n}(ContainerWithActions));\r\nexports.AdaptiveCard = AdaptiveCard;\r\nvar InlineAdaptiveCard = /** @class */ (function (_super) {\r\n __extends(InlineAdaptiveCard, _super);\r\n function InlineAdaptiveCard() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.suppressStyle = false;\r\n return _this;\r\n }\r\n InlineAdaptiveCard.prototype.getSchemaKey = function () {\r\n return \"InlineAdaptiveCard\";\r\n };\r\n InlineAdaptiveCard.prototype.populateSchema = function (schema) {\r\n _super.prototype.populateSchema.call(this, schema);\r\n schema.remove(AdaptiveCard.$schemaProperty, AdaptiveCard.versionProperty);\r\n };\r\n //#endregion\r\n InlineAdaptiveCard.prototype.getDefaultPadding = function () {\r\n return new shared_1.PaddingDefinition(this.suppressStyle ? Enums.Spacing.None : Enums.Spacing.Padding, Enums.Spacing.Padding, this.suppressStyle ? Enums.Spacing.None : Enums.Spacing.Padding, Enums.Spacing.Padding);\r\n };\r\n Object.defineProperty(InlineAdaptiveCard.prototype, \"bypassVersionCheck\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(InlineAdaptiveCard.prototype, \"defaultStyle\", {\r\n get: function () {\r\n if (this.suppressStyle) {\r\n return Enums.ContainerStyle.Default;\r\n }\r\n else {\r\n return this.hostConfig.actions.showCard.style ? this.hostConfig.actions.showCard.style : Enums.ContainerStyle.Emphasis;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n InlineAdaptiveCard.prototype.render = function (target) {\r\n var renderedCard = _super.prototype.render.call(this, target);\r\n if (renderedCard) {\r\n renderedCard.setAttribute(\"aria-live\", \"polite\");\r\n renderedCard.removeAttribute(\"tabindex\");\r\n }\r\n return renderedCard;\r\n };\r\n return InlineAdaptiveCard;\r\n}(AdaptiveCard));\r\nvar SerializationContext = /** @class */ (function (_super) {\r\n __extends(SerializationContext, _super);\r\n function SerializationContext() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n SerializationContext.prototype.internalParseCardObject = function (parent, source, forbiddenTypeNames, allowFallback, createInstanceCallback, logParseEvent) {\r\n var result = undefined;\r\n if (source && typeof source === \"object\") {\r\n var typeName = Utils.parseString(source[\"type\"]);\r\n if (typeName && forbiddenTypeNames.indexOf(typeName) >= 0) {\r\n logParseEvent(typeName, Enums.TypeErrorType.ForbiddenType);\r\n }\r\n else {\r\n var tryToFallback = false;\r\n result = createInstanceCallback(typeName);\r\n if (!result) {\r\n tryToFallback = shared_1.GlobalSettings.enableFallback && allowFallback;\r\n logParseEvent(typeName, Enums.TypeErrorType.UnknownType);\r\n }\r\n else {\r\n result.setParent(parent);\r\n result.parse(source, this);\r\n tryToFallback = shared_1.GlobalSettings.enableFallback && allowFallback && result.shouldFallback();\r\n }\r\n if (tryToFallback) {\r\n var fallback = source[\"fallback\"];\r\n if (!fallback && parent) {\r\n parent.setShouldFallback(true);\r\n }\r\n if (typeof fallback === \"string\" && fallback.toLowerCase() === \"drop\") {\r\n result = undefined;\r\n }\r\n else if (typeof fallback === \"object\") {\r\n result = this.internalParseCardObject(parent, fallback, forbiddenTypeNames, true, createInstanceCallback, logParseEvent);\r\n }\r\n }\r\n }\r\n }\r\n return result;\r\n };\r\n SerializationContext.prototype.cardObjectParsed = function (o, source) {\r\n if (o instanceof Action && this.onParseAction) {\r\n this.onParseAction(o, source, this);\r\n }\r\n else if (o instanceof CardElement && this.onParseElement) {\r\n this.onParseElement(o, source, this);\r\n }\r\n };\r\n SerializationContext.prototype.shouldSerialize = function (o) {\r\n if (o instanceof Action) {\r\n return this.actionRegistry.findByName(o.getJsonTypeName()) !== undefined;\r\n }\r\n else if (o instanceof CardElement) {\r\n return this.elementRegistry.findByName(o.getJsonTypeName()) !== undefined;\r\n }\r\n else {\r\n return true;\r\n }\r\n };\r\n SerializationContext.prototype.parseCardObject = function (parent, source, forbiddenTypeNames, allowFallback, createInstanceCallback, logParseEvent) {\r\n var result = this.internalParseCardObject(parent, source, forbiddenTypeNames, allowFallback, createInstanceCallback, logParseEvent);\r\n if (result !== undefined) {\r\n this.cardObjectParsed(result, source);\r\n }\r\n return result;\r\n };\r\n SerializationContext.prototype.parseElement = function (parent, source, allowFallback) {\r\n var _this = this;\r\n return this.parseCardObject(parent, source, [], // Forbidden types not supported for elements for now\r\n allowFallback, function (typeName) {\r\n return _this.elementRegistry.createInstance(typeName, _this.targetVersion);\r\n }, function (typeName, errorType) {\r\n if (errorType === Enums.TypeErrorType.UnknownType) {\r\n _this.logParseEvent(undefined, Enums.ValidationEvent.UnknownElementType, strings_1.Strings.errors.unknownElementType(typeName));\r\n }\r\n else {\r\n _this.logParseEvent(undefined, Enums.ValidationEvent.ElementTypeNotAllowed, strings_1.Strings.errors.elementTypeNotAllowed(typeName));\r\n }\r\n });\r\n };\r\n SerializationContext.prototype.parseAction = function (parent, source, forbiddenActionTypes, allowFallback) {\r\n var _this = this;\r\n return this.parseCardObject(parent, source, forbiddenActionTypes, allowFallback, function (typeName) {\r\n return _this.actionRegistry.createInstance(typeName, _this.targetVersion);\r\n }, function (typeName, errorType) {\r\n if (errorType == Enums.TypeErrorType.UnknownType) {\r\n _this.logParseEvent(undefined, Enums.ValidationEvent.UnknownActionType, strings_1.Strings.errors.unknownActionType(typeName));\r\n }\r\n else {\r\n _this.logParseEvent(undefined, Enums.ValidationEvent.ActionTypeNotAllowed, strings_1.Strings.errors.actionTypeNotAllowed(typeName));\r\n }\r\n });\r\n };\r\n Object.defineProperty(SerializationContext.prototype, \"elementRegistry\", {\r\n get: function () {\r\n return this._elementRegistry ? this._elementRegistry : registry_1.GlobalRegistry.elements;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n // Not using a property setter here because the setter should accept \"undefined\"\r\n // whereas the getter should never return undefined.\r\n SerializationContext.prototype.setElementRegistry = function (value) {\r\n this._elementRegistry = value;\r\n };\r\n Object.defineProperty(SerializationContext.prototype, \"actionRegistry\", {\r\n get: function () {\r\n return this._actionRegistry ? this._actionRegistry : registry_1.GlobalRegistry.actions;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n // Not using a property setter here because the setter should accept \"undefined\"\r\n // whereas the getter should never return undefined.\r\n SerializationContext.prototype.setActionRegistry = function (value) {\r\n this._actionRegistry = value;\r\n };\r\n return SerializationContext;\r\n}(serialization_1.BaseSerializationContext));\r\nexports.SerializationContext = SerializationContext;\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Container\", Container);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"TextBlock\", TextBlock);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"RichTextBlock\", RichTextBlock, serialization_1.Versions.v1_2);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"TextRun\", TextRun, serialization_1.Versions.v1_2);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Image\", Image);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"ImageSet\", ImageSet);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Media\", Media, serialization_1.Versions.v1_1);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"FactSet\", FactSet);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"ColumnSet\", ColumnSet);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"ActionSet\", ActionSet, serialization_1.Versions.v1_2);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Input.Text\", TextInput);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Input.Date\", DateInput);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Input.Time\", TimeInput);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Input.Number\", NumberInput);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Input.ChoiceSet\", ChoiceSetInput);\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Input.Toggle\", ToggleInput);\r\nregistry_1.GlobalRegistry.defaultActions.register(OpenUrlAction.JsonTypeName, OpenUrlAction);\r\nregistry_1.GlobalRegistry.defaultActions.register(SubmitAction.JsonTypeName, SubmitAction);\r\nregistry_1.GlobalRegistry.defaultActions.register(ShowCardAction.JsonTypeName, ShowCardAction);\r\nregistry_1.GlobalRegistry.defaultActions.register(ToggleVisibilityAction.JsonTypeName, ToggleVisibilityAction, serialization_1.Versions.v1_2);\r\nregistry_1.GlobalRegistry.defaultActions.register(ExecuteAction.JsonTypeName, ExecuteAction, serialization_1.Versions.v1_4);\r\n//# sourceMappingURL=card-elements.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.CardObject = exports.ValidationResults = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Enums = require(\"./enums\");\r\nvar strings_1 = require(\"./strings\");\r\nvar shared_1 = require(\"./shared\");\r\nvar host_capabilities_1 = require(\"./host-capabilities\");\r\nvar serialization_1 = require(\"./serialization\");\r\nvar ValidationResults = /** @class */ (function () {\r\n function ValidationResults() {\r\n this.allIds = {};\r\n this.validationEvents = [];\r\n }\r\n ValidationResults.prototype.addFailure = function (cardObject, event, message) {\r\n this.validationEvents.push({\r\n phase: Enums.ValidationPhase.Validation,\r\n source: cardObject,\r\n event: event,\r\n message: message\r\n });\r\n };\r\n return ValidationResults;\r\n}());\r\nexports.ValidationResults = ValidationResults;\r\nvar CardObject = /** @class */ (function (_super) {\r\n __extends(CardObject, _super);\r\n function CardObject() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n //#endregion\r\n _this._shouldFallback = false;\r\n return _this;\r\n }\r\n CardObject.prototype.getSchemaKey = function () {\r\n return this.getJsonTypeName();\r\n };\r\n Object.defineProperty(CardObject.prototype, \"requires\", {\r\n get: function () {\r\n return this.getValue(CardObject.requiresProperty);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n /**\r\n * Checks if this CardObject contains the given DOM Node.\r\n * @param node The DOM Node to look for.\r\n * @returns `true` if the DOM Node was found, `false` otherwise.\r\n */\r\n CardObject.prototype.contains = function (node) {\r\n if (this._renderedElement) {\r\n return this._renderedElement.contains(node);\r\n }\r\n return false;\r\n };\r\n CardObject.prototype.preProcessPropertyValue = function (property, propertyValue) {\r\n var value = propertyValue === undefined ? this.getValue(property) : propertyValue;\r\n if (shared_1.GlobalSettings.allowPreProcessingPropertyValues) {\r\n var currentObject = this;\r\n while (currentObject && !currentObject.onPreProcessPropertyValue) {\r\n currentObject = currentObject.parent;\r\n }\r\n if (currentObject && currentObject.onPreProcessPropertyValue) {\r\n return currentObject.onPreProcessPropertyValue(this, property, value);\r\n }\r\n }\r\n return value;\r\n };\r\n CardObject.prototype.setParent = function (value) {\r\n this._parent = value;\r\n };\r\n CardObject.prototype.setShouldFallback = function (value) {\r\n this._shouldFallback = value;\r\n };\r\n CardObject.prototype.shouldFallback = function () {\r\n return this._shouldFallback || !this.requires.areAllMet(this.hostConfig.hostCapabilities);\r\n };\r\n CardObject.prototype.getRootObject = function () {\r\n var rootObject = this;\r\n while (rootObject.parent) {\r\n rootObject = rootObject.parent;\r\n }\r\n return rootObject;\r\n };\r\n CardObject.prototype.internalValidateProperties = function (context) {\r\n if (this.id) {\r\n if (context.allIds.hasOwnProperty(this.id)) {\r\n if (context.allIds[this.id] == 1) {\r\n context.addFailure(this, Enums.ValidationEvent.DuplicateId, strings_1.Strings.errors.duplicateId(this.id));\r\n }\r\n context.allIds[this.id] += 1;\r\n }\r\n else {\r\n context.allIds[this.id] = 1;\r\n }\r\n }\r\n };\r\n CardObject.prototype.validateProperties = function () {\r\n var result = new ValidationResults();\r\n this.internalValidateProperties(result);\r\n return result;\r\n };\r\n /**\r\n * Recursively searches this CardObject and any children to find the\r\n * innermost CardObject that owns the given DOM Node.\r\n *\r\n * @param node The DOM Node to look for.\r\n *\r\n * @returns The owner of the given DOM Node, or `undefined` if no owner was found.\r\n */\r\n CardObject.prototype.findDOMNodeOwner = function (node) {\r\n // default implementation for CardObjects with no associated children\r\n return this.contains(node) ? this : undefined;\r\n };\r\n Object.defineProperty(CardObject.prototype, \"parent\", {\r\n get: function () {\r\n return this._parent;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(CardObject.prototype, \"renderedElement\", {\r\n get: function () {\r\n return this._renderedElement;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n CardObject.typeNameProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"type\", undefined, undefined, undefined, function (sender) {\r\n return sender.getJsonTypeName();\r\n });\r\n CardObject.idProperty = new serialization_1.StringProperty(serialization_1.Versions.v1_0, \"id\");\r\n CardObject.requiresProperty = new serialization_1.SerializableObjectProperty(serialization_1.Versions.v1_2, \"requires\", host_capabilities_1.HostCapabilities, false, new host_capabilities_1.HostCapabilities());\r\n __decorate([\r\n serialization_1.property(CardObject.idProperty)\r\n ], CardObject.prototype, \"id\", void 0);\r\n __decorate([\r\n serialization_1.property(CardObject.requiresProperty)\r\n ], CardObject.prototype, \"requires\", null);\r\n return CardObject;\r\n}(serialization_1.SerializableObject));\r\nexports.CardObject = CardObject;\r\n//# sourceMappingURL=card-object.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.ChannelAdapter = void 0;\r\nvar ChannelAdapter = /** @class */ (function () {\r\n function ChannelAdapter() {\r\n }\r\n return ChannelAdapter;\r\n}());\r\nexports.ChannelAdapter = ChannelAdapter;\r\n//# sourceMappingURL=channel-adapter.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Collection = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Collection = /** @class */ (function () {\r\n function Collection() {\r\n this._items = [];\r\n }\r\n Collection.prototype.get = function (index) {\r\n return this._items[index];\r\n };\r\n Collection.prototype.add = function (item) {\r\n this._items.push(item);\r\n if (this.onItemAdded) {\r\n this.onItemAdded(item);\r\n }\r\n };\r\n Collection.prototype.remove = function (item) {\r\n var i = this._items.indexOf(item);\r\n if (i >= 0) {\r\n this._items = this._items.splice(i, 1);\r\n if (this.onItemRemoved) {\r\n this.onItemRemoved(item);\r\n }\r\n }\r\n };\r\n Collection.prototype.indexOf = function (item) {\r\n return this._items.indexOf(item);\r\n };\r\n Object.defineProperty(Collection.prototype, \"length\", {\r\n get: function () {\r\n return this._items.length;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return Collection;\r\n}());\r\nexports.Collection = Collection;\r\n//# sourceMappingURL=collection.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Constants = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Constants = /** @class */ (function () {\r\n function Constants() {\r\n }\r\n Constants.keys = {\r\n tab: \"Tab\",\r\n enter: \"Enter\",\r\n escape: \"Escape\",\r\n space: \" \",\r\n up: \"ArrowUp\",\r\n down: \"ArrowDown\",\r\n delete: \"Delete\"\r\n };\r\n return Constants;\r\n}());\r\nexports.Constants = Constants;\r\n//# sourceMappingURL=constants.js.map","\"use strict\";\r\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}));\r\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\n__exportStar(require(\"./menu-item\"), exports);\r\n__exportStar(require(\"./popup-menu\"), exports);\r\n//# sourceMappingURL=index.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.MenuItem = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar host_config_1 = require(\"../host-config\");\r\nvar constants_1 = require(\"./constants\");\r\nvar MenuItem = /** @class */ (function () {\r\n function MenuItem(key, value) {\r\n this._isEnabled = true;\r\n this.key = key;\r\n this._value = value;\r\n }\r\n MenuItem.prototype.click = function () {\r\n if (this.isEnabled && this.onClick) {\r\n this.onClick(this);\r\n }\r\n };\r\n MenuItem.prototype.updateCssClasses = function () {\r\n if (this._element) {\r\n var effectiveHostConfig = this._hostConfig ? this._hostConfig : host_config_1.defaultHostConfig;\r\n this._element.className = effectiveHostConfig.makeCssClassName(\"ac-ctrl\");\r\n this._element.classList.add(effectiveHostConfig.makeCssClassName(this.isEnabled ? \"ac-ctrl-dropdown-item\" : \"ac-ctrl-dropdown-item-disabled\"));\r\n if (!this.isEnabled) {\r\n this._element.classList.add(effectiveHostConfig.makeCssClassName(\"ac-disabled\"));\r\n }\r\n }\r\n };\r\n MenuItem.prototype.toString = function () {\r\n return this.value;\r\n };\r\n MenuItem.prototype.render = function (hostConfig) {\r\n var _this = this;\r\n this._hostConfig = hostConfig;\r\n if (!this._element) {\r\n this._element = document.createElement(\"span\");\r\n this._element.innerText = this.value;\r\n this._element.setAttribute(\"role\", \"menuitem\");\r\n if (!this.isEnabled) {\r\n this._element.setAttribute(\"aria-disabled\", \"true\");\r\n }\r\n this._element.setAttribute(\"aria-selected\", \"false\");\r\n this._element.onmouseup = function (e) { _this.click(); };\r\n this._element.onkeydown = function (e) {\r\n if (e.key === constants_1.Constants.keys.enter) {\r\n e.cancelBubble = true;\r\n _this.click();\r\n }\r\n };\r\n this.updateCssClasses();\r\n }\r\n return this._element;\r\n };\r\n Object.defineProperty(MenuItem.prototype, \"value\", {\r\n get: function () {\r\n return this._value;\r\n },\r\n set: function (newValue) {\r\n this._value = newValue;\r\n if (this._element) {\r\n this._element.innerText = newValue;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(MenuItem.prototype, \"isEnabled\", {\r\n get: function () {\r\n return this._isEnabled;\r\n },\r\n set: function (value) {\r\n if (this._isEnabled !== value) {\r\n this._isEnabled = value;\r\n this.updateCssClasses();\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return MenuItem;\r\n}());\r\nexports.MenuItem = MenuItem;\r\n//# sourceMappingURL=menu-item.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.PopupControl = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar constants_1 = require(\"./constants\");\r\nvar Utils = require(\"../utils\");\r\nvar host_config_1 = require(\"../host-config\");\r\nvar PopupControl = /** @class */ (function () {\r\n function PopupControl() {\r\n this._isOpen = false;\r\n }\r\n PopupControl.prototype.keyDown = function (e) {\r\n switch (e.key) {\r\n case constants_1.Constants.keys.escape:\r\n this.closePopup(true);\r\n break;\r\n }\r\n };\r\n PopupControl.prototype.render = function (rootElementBounds) {\r\n var _this = this;\r\n var element = document.createElement(\"div\");\r\n element.tabIndex = 0;\r\n element.className = this.hostConfig.makeCssClassName(\"ac-ctrl\", \"ac-ctrl-popup-container\");\r\n element.setAttribute(\"role\", \"dialog\");\r\n element.setAttribute(\"aria-modal\", \"true\");\r\n element.onkeydown = function (e) {\r\n _this.keyDown(e);\r\n return !e.cancelBubble;\r\n };\r\n element.appendChild(this.renderContent());\r\n return element;\r\n };\r\n PopupControl.prototype.focus = function () {\r\n if (this._popupElement) {\r\n this._popupElement.firstElementChild.focus();\r\n }\r\n };\r\n PopupControl.prototype.popup = function (rootElement) {\r\n var _a, _b, _c, _d, _e;\r\n var _this = this;\r\n if (!this._isOpen) {\r\n this._overlayElement = document.createElement(\"div\");\r\n this._overlayElement.className = this.hostConfig.makeCssClassName(\"ac-ctrl-overlay\");\r\n this._overlayElement.tabIndex = 0;\r\n this._overlayElement.style.width = document.documentElement.scrollWidth + \"px\";\r\n this._overlayElement.style.height = document.documentElement.scrollHeight + \"px\";\r\n this._overlayElement.onfocus = function (e) { _this.closePopup(true); };\r\n document.body.appendChild(this._overlayElement);\r\n var rootElementBounds = rootElement.getBoundingClientRect();\r\n this._popupElement = this.render(rootElementBounds);\r\n (_a = this._popupElement.classList).remove.apply(_a, this.hostConfig.makeCssClassNames(\"ac-ctrl-slide\", \"ac-ctrl-slideLeftToRight\", \"ac-ctrl-slideRightToLeft\", \"ac-ctrl-slideTopToBottom\", \"ac-ctrl-slideRightToLeft\"));\r\n window.addEventListener(\"resize\", function (e) { _this.closePopup(true); });\r\n var rootElementLabel = rootElement.getAttribute(\"aria-label\");\r\n if (rootElementLabel) {\r\n this._popupElement.setAttribute(\"aria-label\", rootElementLabel);\r\n }\r\n this._overlayElement.appendChild(this._popupElement);\r\n var popupElementBounds = this._popupElement.getBoundingClientRect();\r\n var availableSpaceBelow = window.innerHeight - rootElementBounds.bottom;\r\n var availableSpaceAbove = rootElementBounds.top;\r\n var availableSpaceRight = window.innerWidth - rootElementBounds.left;\r\n var availableSpaceRight = window.innerWidth - rootElementBounds.right;\r\n var availableSpaceLeft = rootElementBounds.left;\r\n var left = rootElementBounds.left + Utils.getScrollX();\r\n var top;\r\n if (availableSpaceAbove < popupElementBounds.height && availableSpaceBelow < popupElementBounds.height) {\r\n // Not enough space above or below root element\r\n var actualPopupHeight = Math.min(popupElementBounds.height, window.innerHeight);\r\n this._popupElement.style.maxHeight = actualPopupHeight + \"px\";\r\n if (actualPopupHeight < popupElementBounds.height) {\r\n top = Utils.getScrollY();\r\n }\r\n else {\r\n top = Utils.getScrollY() + rootElementBounds.top + (rootElementBounds.height - actualPopupHeight) / 2;\r\n }\r\n if (availableSpaceLeft < popupElementBounds.width && availableSpaceRight < popupElementBounds.width) {\r\n // Not enough space left or right of root element\r\n var actualPopupWidth = Math.min(popupElementBounds.width, window.innerWidth);\r\n this._popupElement.style.maxWidth = actualPopupWidth + \"px\";\r\n if (actualPopupWidth < popupElementBounds.width) {\r\n left = Utils.getScrollX();\r\n }\r\n else {\r\n left = Utils.getScrollX() + rootElementBounds.left + (rootElementBounds.width - actualPopupWidth) / 2;\r\n }\r\n }\r\n else {\r\n // Enough space on the left or right of the root element\r\n if (availableSpaceRight >= popupElementBounds.width) {\r\n left = Utils.getScrollX() + rootElementBounds.right;\r\n (_b = this._popupElement.classList).add.apply(_b, this.hostConfig.makeCssClassNames(\"ac-ctrl-slide\", \"ac-ctrl-slideLeftToRight\"));\r\n }\r\n else {\r\n left = Utils.getScrollX() + rootElementBounds.left - popupElementBounds.width;\r\n (_c = this._popupElement.classList).add.apply(_c, this.hostConfig.makeCssClassNames(\"ac-ctrl-slide\", \"ac-ctrl-slideRightToLeft\"));\r\n }\r\n }\r\n }\r\n else {\r\n // Enough space above or below root element\r\n if (availableSpaceBelow >= popupElementBounds.height) {\r\n top = Utils.getScrollY() + rootElementBounds.bottom;\r\n (_d = this._popupElement.classList).add.apply(_d, this.hostConfig.makeCssClassNames(\"ac-ctrl-slide\", \"ac-ctrl-slideTopToBottom\"));\r\n }\r\n else {\r\n top = Utils.getScrollY() + rootElementBounds.top - popupElementBounds.height;\r\n (_e = this._popupElement.classList).add.apply(_e, this.hostConfig.makeCssClassNames(\"ac-ctrl-slide\", \"ac-ctrl-slideBottomToTop\"));\r\n }\r\n if (availableSpaceRight < popupElementBounds.width) {\r\n left = Utils.getScrollX() + rootElementBounds.right - popupElementBounds.width;\r\n }\r\n }\r\n this._popupElement.style.left = left + \"px\";\r\n this._popupElement.style.top = top + \"px\";\r\n this._popupElement.focus();\r\n this._isOpen = true;\r\n }\r\n };\r\n PopupControl.prototype.closePopup = function (wasCancelled) {\r\n if (this._isOpen) {\r\n document.body.removeChild(this._overlayElement);\r\n this._isOpen = false;\r\n if (this.onClose) {\r\n this.onClose(this, wasCancelled);\r\n }\r\n }\r\n };\r\n Object.defineProperty(PopupControl.prototype, \"hostConfig\", {\r\n get: function () {\r\n return this._hostConfig ? this._hostConfig : host_config_1.defaultHostConfig;\r\n },\r\n set: function (value) {\r\n this._hostConfig = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(PopupControl.prototype, \"isOpen\", {\r\n get: function () {\r\n return this._isOpen;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return PopupControl;\r\n}());\r\nexports.PopupControl = PopupControl;\r\n//# sourceMappingURL=popup-control.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.PopupMenu = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar constants_1 = require(\"./constants\");\r\nvar collection_1 = require(\"./collection\");\r\nvar popup_control_1 = require(\"./popup-control\");\r\nvar PopupMenu = /** @class */ (function (_super) {\r\n __extends(PopupMenu, _super);\r\n function PopupMenu() {\r\n var _this = _super.call(this) || this;\r\n _this._items = new collection_1.Collection();\r\n _this._renderedItems = [];\r\n _this._selectedIndex = -1;\r\n return _this;\r\n }\r\n PopupMenu.prototype.renderContent = function () {\r\n var element = document.createElement(\"div\");\r\n element.className = this.hostConfig.makeCssClassName(\"ac-ctrl ac-popup\");\r\n element.setAttribute(\"role\", \"listbox\");\r\n for (var i = 0; i < this._items.length; i++) {\r\n var renderedItem = this._items.get(i).render(this.hostConfig);\r\n renderedItem.tabIndex = 0;\r\n element.appendChild(renderedItem);\r\n if (i == this.selectedIndex) {\r\n renderedItem.focus();\r\n }\r\n this._renderedItems.push(renderedItem);\r\n }\r\n return element;\r\n };\r\n PopupMenu.prototype.keyDown = function (e) {\r\n _super.prototype.keyDown.call(this, e);\r\n var selectedItemIndex = this._selectedIndex;\r\n switch (e.key) {\r\n case constants_1.Constants.keys.tab:\r\n this.closePopup(true);\r\n break;\r\n /*\r\n case Constants.keys.enter:\r\n if (this.selectedIndex >= 0) {\r\n this.selectedIndex = this.selectedIndex;\r\n\r\n this.close();\r\n }\r\n\r\n break;\r\n */\r\n case constants_1.Constants.keys.up:\r\n if (selectedItemIndex <= 0) {\r\n selectedItemIndex = this._renderedItems.length - 1;\r\n }\r\n else {\r\n selectedItemIndex--;\r\n if (selectedItemIndex < 0) {\r\n selectedItemIndex = this._renderedItems.length - 1;\r\n }\r\n }\r\n this.selectedIndex = selectedItemIndex;\r\n e.cancelBubble = true;\r\n break;\r\n case constants_1.Constants.keys.down:\r\n if (selectedItemIndex < 0) {\r\n selectedItemIndex = 0;\r\n }\r\n else {\r\n selectedItemIndex++;\r\n if (selectedItemIndex >= this._renderedItems.length) {\r\n selectedItemIndex = 0;\r\n }\r\n }\r\n this.selectedIndex = selectedItemIndex;\r\n e.cancelBubble = true;\r\n break;\r\n }\r\n };\r\n Object.defineProperty(PopupMenu.prototype, \"items\", {\r\n get: function () {\r\n return this._items;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(PopupMenu.prototype, \"selectedIndex\", {\r\n get: function () {\r\n return this._selectedIndex;\r\n },\r\n set: function (index) {\r\n if (index >= 0 && index < this._renderedItems.length) {\r\n this._renderedItems[index].focus();\r\n this._selectedIndex = index;\r\n }\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return PopupMenu;\r\n}(popup_control_1.PopupControl));\r\nexports.PopupMenu = PopupMenu;\r\n//# sourceMappingURL=popup-menu.js.map","\"use strict\";\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.LogLevel = exports.RefreshMode = exports.TypeErrorType = exports.ContainerFitStatus = exports.ValidationEvent = exports.ValidationPhase = exports.ContainerStyle = exports.InputTextStyle = exports.ActionIconPlacement = exports.FillMode = exports.Orientation = exports.ShowCardActionMode = exports.ImageStyle = exports.ActionAlignment = exports.VerticalAlignment = exports.HorizontalAlignment = exports.TextColor = exports.Spacing = exports.FontType = exports.TextWeight = exports.TextSize = exports.SizeUnit = exports.ImageSize = exports.Size = exports.ActionMode = exports.ActionStyle = void 0;\r\n// Note the \"weird\" way these readonly fields are declared is to work around\r\n// a breaking change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n// and adopt this syntax for all other static readonly fields.\r\nvar ActionStyle = /** @class */ (function () {\r\n function ActionStyle() {\r\n }\r\n ActionStyle.Default = \"default\";\r\n ActionStyle.Positive = \"positive\";\r\n ActionStyle.Destructive = \"destructive\";\r\n return ActionStyle;\r\n}());\r\nexports.ActionStyle = ActionStyle;\r\nvar ActionMode = /** @class */ (function () {\r\n function ActionMode() {\r\n }\r\n ActionMode.Primary = \"primary\";\r\n ActionMode.Secondary = \"secondary\";\r\n return ActionMode;\r\n}());\r\nexports.ActionMode = ActionMode;\r\nvar Size;\r\n(function (Size) {\r\n Size[Size[\"Auto\"] = 0] = \"Auto\";\r\n Size[Size[\"Stretch\"] = 1] = \"Stretch\";\r\n Size[Size[\"Small\"] = 2] = \"Small\";\r\n Size[Size[\"Medium\"] = 3] = \"Medium\";\r\n Size[Size[\"Large\"] = 4] = \"Large\";\r\n})(Size = exports.Size || (exports.Size = {}));\r\nvar ImageSize;\r\n(function (ImageSize) {\r\n ImageSize[ImageSize[\"Small\"] = 0] = \"Small\";\r\n ImageSize[ImageSize[\"Medium\"] = 1] = \"Medium\";\r\n ImageSize[ImageSize[\"Large\"] = 2] = \"Large\";\r\n})(ImageSize = exports.ImageSize || (exports.ImageSize = {}));\r\nvar SizeUnit;\r\n(function (SizeUnit) {\r\n SizeUnit[SizeUnit[\"Weight\"] = 0] = \"Weight\";\r\n SizeUnit[SizeUnit[\"Pixel\"] = 1] = \"Pixel\";\r\n})(SizeUnit = exports.SizeUnit || (exports.SizeUnit = {}));\r\nvar TextSize;\r\n(function (TextSize) {\r\n TextSize[TextSize[\"Small\"] = 0] = \"Small\";\r\n TextSize[TextSize[\"Default\"] = 1] = \"Default\";\r\n TextSize[TextSize[\"Medium\"] = 2] = \"Medium\";\r\n TextSize[TextSize[\"Large\"] = 3] = \"Large\";\r\n TextSize[TextSize[\"ExtraLarge\"] = 4] = \"ExtraLarge\";\r\n})(TextSize = exports.TextSize || (exports.TextSize = {}));\r\nvar TextWeight;\r\n(function (TextWeight) {\r\n TextWeight[TextWeight[\"Lighter\"] = 0] = \"Lighter\";\r\n TextWeight[TextWeight[\"Default\"] = 1] = \"Default\";\r\n TextWeight[TextWeight[\"Bolder\"] = 2] = \"Bolder\";\r\n})(TextWeight = exports.TextWeight || (exports.TextWeight = {}));\r\nvar FontType;\r\n(function (FontType) {\r\n FontType[FontType[\"Default\"] = 0] = \"Default\";\r\n FontType[FontType[\"Monospace\"] = 1] = \"Monospace\";\r\n})(FontType = exports.FontType || (exports.FontType = {}));\r\nvar Spacing;\r\n(function (Spacing) {\r\n Spacing[Spacing[\"None\"] = 0] = \"None\";\r\n Spacing[Spacing[\"Small\"] = 1] = \"Small\";\r\n Spacing[Spacing[\"Default\"] = 2] = \"Default\";\r\n Spacing[Spacing[\"Medium\"] = 3] = \"Medium\";\r\n Spacing[Spacing[\"Large\"] = 4] = \"Large\";\r\n Spacing[Spacing[\"ExtraLarge\"] = 5] = \"ExtraLarge\";\r\n Spacing[Spacing[\"Padding\"] = 6] = \"Padding\";\r\n})(Spacing = exports.Spacing || (exports.Spacing = {}));\r\nvar TextColor;\r\n(function (TextColor) {\r\n TextColor[TextColor[\"Default\"] = 0] = \"Default\";\r\n TextColor[TextColor[\"Dark\"] = 1] = \"Dark\";\r\n TextColor[TextColor[\"Light\"] = 2] = \"Light\";\r\n TextColor[TextColor[\"Accent\"] = 3] = \"Accent\";\r\n TextColor[TextColor[\"Good\"] = 4] = \"Good\";\r\n TextColor[TextColor[\"Warning\"] = 5] = \"Warning\";\r\n TextColor[TextColor[\"Attention\"] = 6] = \"Attention\";\r\n})(TextColor = exports.TextColor || (exports.TextColor = {}));\r\nvar HorizontalAlignment;\r\n(function (HorizontalAlignment) {\r\n HorizontalAlignment[HorizontalAlignment[\"Left\"] = 0] = \"Left\";\r\n HorizontalAlignment[HorizontalAlignment[\"Center\"] = 1] = \"Center\";\r\n HorizontalAlignment[HorizontalAlignment[\"Right\"] = 2] = \"Right\";\r\n})(HorizontalAlignment = exports.HorizontalAlignment || (exports.HorizontalAlignment = {}));\r\nvar VerticalAlignment;\r\n(function (VerticalAlignment) {\r\n VerticalAlignment[VerticalAlignment[\"Top\"] = 0] = \"Top\";\r\n VerticalAlignment[VerticalAlignment[\"Center\"] = 1] = \"Center\";\r\n VerticalAlignment[VerticalAlignment[\"Bottom\"] = 2] = \"Bottom\";\r\n})(VerticalAlignment = exports.VerticalAlignment || (exports.VerticalAlignment = {}));\r\nvar ActionAlignment;\r\n(function (ActionAlignment) {\r\n ActionAlignment[ActionAlignment[\"Left\"] = 0] = \"Left\";\r\n ActionAlignment[ActionAlignment[\"Center\"] = 1] = \"Center\";\r\n ActionAlignment[ActionAlignment[\"Right\"] = 2] = \"Right\";\r\n ActionAlignment[ActionAlignment[\"Stretch\"] = 3] = \"Stretch\";\r\n})(ActionAlignment = exports.ActionAlignment || (exports.ActionAlignment = {}));\r\nvar ImageStyle;\r\n(function (ImageStyle) {\r\n ImageStyle[ImageStyle[\"Default\"] = 0] = \"Default\";\r\n ImageStyle[ImageStyle[\"Person\"] = 1] = \"Person\";\r\n})(ImageStyle = exports.ImageStyle || (exports.ImageStyle = {}));\r\nvar ShowCardActionMode;\r\n(function (ShowCardActionMode) {\r\n ShowCardActionMode[ShowCardActionMode[\"Inline\"] = 0] = \"Inline\";\r\n ShowCardActionMode[ShowCardActionMode[\"Popup\"] = 1] = \"Popup\";\r\n})(ShowCardActionMode = exports.ShowCardActionMode || (exports.ShowCardActionMode = {}));\r\nvar Orientation;\r\n(function (Orientation) {\r\n Orientation[Orientation[\"Horizontal\"] = 0] = \"Horizontal\";\r\n Orientation[Orientation[\"Vertical\"] = 1] = \"Vertical\";\r\n})(Orientation = exports.Orientation || (exports.Orientation = {}));\r\nvar FillMode;\r\n(function (FillMode) {\r\n FillMode[FillMode[\"Cover\"] = 0] = \"Cover\";\r\n FillMode[FillMode[\"RepeatHorizontally\"] = 1] = \"RepeatHorizontally\";\r\n FillMode[FillMode[\"RepeatVertically\"] = 2] = \"RepeatVertically\";\r\n FillMode[FillMode[\"Repeat\"] = 3] = \"Repeat\";\r\n})(FillMode = exports.FillMode || (exports.FillMode = {}));\r\nvar ActionIconPlacement;\r\n(function (ActionIconPlacement) {\r\n ActionIconPlacement[ActionIconPlacement[\"LeftOfTitle\"] = 0] = \"LeftOfTitle\";\r\n ActionIconPlacement[ActionIconPlacement[\"AboveTitle\"] = 1] = \"AboveTitle\";\r\n})(ActionIconPlacement = exports.ActionIconPlacement || (exports.ActionIconPlacement = {}));\r\nvar InputTextStyle;\r\n(function (InputTextStyle) {\r\n InputTextStyle[InputTextStyle[\"Text\"] = 0] = \"Text\";\r\n InputTextStyle[InputTextStyle[\"Tel\"] = 1] = \"Tel\";\r\n InputTextStyle[InputTextStyle[\"Url\"] = 2] = \"Url\";\r\n InputTextStyle[InputTextStyle[\"Email\"] = 3] = \"Email\";\r\n InputTextStyle[InputTextStyle[\"Password\"] = 4] = \"Password\";\r\n})(InputTextStyle = exports.InputTextStyle || (exports.InputTextStyle = {}));\r\n/*\r\n This should really be a string enum, e.g.\r\n\r\n export enum ContainerStyle {\r\n Default = \"default\",\r\n Emphasis = \"emphasis\"\r\n }\r\n\r\n However, some hosts do not use a version of TypeScript\r\n recent enough to understand string enums. This is\r\n a compatible construct that does not require using\r\n a more recent version of TypeScript.\r\n\r\n Also note the \"weird\" way these readonly fields are declared is to work around\r\n a breaking change introduced in TS 3.1 wrt d.ts generation. DO NOT CHANGE\r\n and adopt this syntax for all other static readonly fields.\r\n*/\r\nvar ContainerStyle = /** @class */ (function () {\r\n function ContainerStyle() {\r\n }\r\n ContainerStyle.Default = \"default\";\r\n ContainerStyle.Emphasis = \"emphasis\";\r\n ContainerStyle.Accent = \"accent\";\r\n ContainerStyle.Good = \"good\";\r\n ContainerStyle.Attention = \"attention\";\r\n ContainerStyle.Warning = \"warning\";\r\n return ContainerStyle;\r\n}());\r\nexports.ContainerStyle = ContainerStyle;\r\nvar ValidationPhase;\r\n(function (ValidationPhase) {\r\n ValidationPhase[ValidationPhase[\"Parse\"] = 0] = \"Parse\";\r\n ValidationPhase[ValidationPhase[\"ToJSON\"] = 1] = \"ToJSON\";\r\n ValidationPhase[ValidationPhase[\"Validation\"] = 2] = \"Validation\";\r\n})(ValidationPhase = exports.ValidationPhase || (exports.ValidationPhase = {}));\r\nvar ValidationEvent;\r\n(function (ValidationEvent) {\r\n ValidationEvent[ValidationEvent[\"Hint\"] = 0] = \"Hint\";\r\n ValidationEvent[ValidationEvent[\"ActionTypeNotAllowed\"] = 1] = \"ActionTypeNotAllowed\";\r\n ValidationEvent[ValidationEvent[\"CollectionCantBeEmpty\"] = 2] = \"CollectionCantBeEmpty\";\r\n ValidationEvent[ValidationEvent[\"Deprecated\"] = 3] = \"Deprecated\";\r\n ValidationEvent[ValidationEvent[\"ElementTypeNotAllowed\"] = 4] = \"ElementTypeNotAllowed\";\r\n ValidationEvent[ValidationEvent[\"InteractivityNotAllowed\"] = 5] = \"InteractivityNotAllowed\";\r\n ValidationEvent[ValidationEvent[\"InvalidPropertyValue\"] = 6] = \"InvalidPropertyValue\";\r\n ValidationEvent[ValidationEvent[\"MissingCardType\"] = 7] = \"MissingCardType\";\r\n ValidationEvent[ValidationEvent[\"PropertyCantBeNull\"] = 8] = \"PropertyCantBeNull\";\r\n ValidationEvent[ValidationEvent[\"TooManyActions\"] = 9] = \"TooManyActions\";\r\n ValidationEvent[ValidationEvent[\"UnknownActionType\"] = 10] = \"UnknownActionType\";\r\n ValidationEvent[ValidationEvent[\"UnknownElementType\"] = 11] = \"UnknownElementType\";\r\n ValidationEvent[ValidationEvent[\"UnsupportedCardVersion\"] = 12] = \"UnsupportedCardVersion\";\r\n ValidationEvent[ValidationEvent[\"DuplicateId\"] = 13] = \"DuplicateId\";\r\n ValidationEvent[ValidationEvent[\"UnsupportedProperty\"] = 14] = \"UnsupportedProperty\";\r\n ValidationEvent[ValidationEvent[\"RequiredInputsShouldHaveLabel\"] = 15] = \"RequiredInputsShouldHaveLabel\";\r\n ValidationEvent[ValidationEvent[\"RequiredInputsShouldHaveErrorMessage\"] = 16] = \"RequiredInputsShouldHaveErrorMessage\";\r\n ValidationEvent[ValidationEvent[\"Other\"] = 17] = \"Other\";\r\n})(ValidationEvent = exports.ValidationEvent || (exports.ValidationEvent = {}));\r\nvar ContainerFitStatus;\r\n(function (ContainerFitStatus) {\r\n ContainerFitStatus[ContainerFitStatus[\"FullyInContainer\"] = 0] = \"FullyInContainer\";\r\n ContainerFitStatus[ContainerFitStatus[\"Overflowing\"] = 1] = \"Overflowing\";\r\n ContainerFitStatus[ContainerFitStatus[\"FullyOutOfContainer\"] = 2] = \"FullyOutOfContainer\";\r\n})(ContainerFitStatus = exports.ContainerFitStatus || (exports.ContainerFitStatus = {}));\r\nvar TypeErrorType;\r\n(function (TypeErrorType) {\r\n TypeErrorType[TypeErrorType[\"UnknownType\"] = 0] = \"UnknownType\";\r\n TypeErrorType[TypeErrorType[\"ForbiddenType\"] = 1] = \"ForbiddenType\";\r\n})(TypeErrorType = exports.TypeErrorType || (exports.TypeErrorType = {}));\r\nvar RefreshMode;\r\n(function (RefreshMode) {\r\n RefreshMode[RefreshMode[\"Disabled\"] = 0] = \"Disabled\";\r\n RefreshMode[RefreshMode[\"Manual\"] = 1] = \"Manual\";\r\n RefreshMode[RefreshMode[\"Automatic\"] = 2] = \"Automatic\";\r\n})(RefreshMode = exports.RefreshMode || (exports.RefreshMode = {}));\r\nvar LogLevel;\r\n(function (LogLevel) {\r\n LogLevel[LogLevel[\"Info\"] = 0] = \"Info\";\r\n LogLevel[LogLevel[\"Warning\"] = 1] = \"Warning\";\r\n LogLevel[LogLevel[\"Error\"] = 2] = \"Error\";\r\n})(LogLevel = exports.LogLevel || (exports.LogLevel = {}));\r\n//# sourceMappingURL=enums.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.HostCapabilities = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar serialization_1 = require(\"./serialization\");\r\nvar HostCapabilities = /** @class */ (function (_super) {\r\n __extends(HostCapabilities, _super);\r\n function HostCapabilities() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._capabilities = {};\r\n return _this;\r\n }\r\n HostCapabilities.prototype.getSchemaKey = function () {\r\n return \"HostCapabilities\";\r\n };\r\n HostCapabilities.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n if (source) {\r\n for (var name_1 in source) {\r\n var jsonVersion = source[name_1];\r\n if (typeof jsonVersion === \"string\") {\r\n if (jsonVersion == \"*\") {\r\n this.addCapability(name_1, \"*\");\r\n }\r\n else {\r\n var version = serialization_1.Version.parse(jsonVersion, context);\r\n if (version && version.isValid) {\r\n this.addCapability(name_1, version);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n HostCapabilities.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n for (var key in this._capabilities) {\r\n target[key] = this._capabilities[key];\r\n }\r\n };\r\n HostCapabilities.prototype.addCapability = function (name, version) {\r\n this._capabilities[name] = version;\r\n };\r\n HostCapabilities.prototype.removeCapability = function (name) {\r\n delete this._capabilities[name];\r\n };\r\n HostCapabilities.prototype.clear = function () {\r\n this._capabilities = {};\r\n };\r\n HostCapabilities.prototype.hasCapability = function (name, version) {\r\n if (this._capabilities.hasOwnProperty(name)) {\r\n if (version == \"*\" || this._capabilities[name] == \"*\") {\r\n return true;\r\n }\r\n return version.compareTo(this._capabilities[name]) <= 0;\r\n }\r\n return false;\r\n };\r\n HostCapabilities.prototype.areAllMet = function (hostCapabilities) {\r\n for (var capabilityName in this._capabilities) {\r\n if (!hostCapabilities.hasCapability(capabilityName, this._capabilities[capabilityName])) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n return HostCapabilities;\r\n}(serialization_1.SerializableObject));\r\nexports.HostCapabilities = HostCapabilities;\r\n//# sourceMappingURL=host-capabilities.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.defaultHostConfig = exports.HostConfig = exports.FontTypeSet = exports.FontTypeDefinition = exports.ContainerStyleSet = exports.ContainerStyleDefinition = exports.ColorSetDefinition = exports.ActionsConfig = exports.ShowCardActionConfig = exports.FactSetConfig = exports.FactTitleDefinition = exports.FactTextDefinition = exports.InputConfig = exports.InputLabelConfig = exports.RequiredInputLabelTextDefinition = exports.TextBlockConfig = exports.TextStyleSet = exports.TextStyleDefinition = exports.BaseTextDefinition = exports.TableConfig = exports.MediaConfig = exports.ImageSetConfig = exports.AdaptiveCardConfig = exports.TextColorDefinition = exports.ColorDefinition = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Enums = require(\"./enums\");\r\nvar Utils = require(\"./utils\");\r\nvar Shared = require(\"./shared\");\r\nvar host_capabilities_1 = require(\"./host-capabilities\");\r\nfunction parseHostConfigEnum(targetEnum, value, defaultValue) {\r\n if (typeof value === \"string\") {\r\n var parsedValue = Utils.parseEnum(targetEnum, value, defaultValue);\r\n return parsedValue !== undefined ? parsedValue : defaultValue;\r\n }\r\n else if (typeof value === \"number\") {\r\n return value;\r\n }\r\n else {\r\n return defaultValue;\r\n }\r\n}\r\nvar ColorDefinition = /** @class */ (function () {\r\n function ColorDefinition(defaultColor, subtleColor) {\r\n this.default = \"#000000\";\r\n this.subtle = \"#666666\";\r\n if (defaultColor) {\r\n this.default = defaultColor;\r\n }\r\n if (subtleColor) {\r\n this.subtle = subtleColor;\r\n }\r\n }\r\n ColorDefinition.prototype.parse = function (obj) {\r\n if (obj) {\r\n this.default = obj[\"default\"] || this.default;\r\n this.subtle = obj[\"subtle\"] || this.subtle;\r\n }\r\n };\r\n return ColorDefinition;\r\n}());\r\nexports.ColorDefinition = ColorDefinition;\r\nvar TextColorDefinition = /** @class */ (function (_super) {\r\n __extends(TextColorDefinition, _super);\r\n function TextColorDefinition() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.highlightColors = new ColorDefinition(\"#22000000\", \"#11000000\");\r\n return _this;\r\n }\r\n TextColorDefinition.prototype.parse = function (obj) {\r\n _super.prototype.parse.call(this, obj);\r\n if (obj) {\r\n this.highlightColors.parse(obj[\"highlightColors\"]);\r\n }\r\n };\r\n return TextColorDefinition;\r\n}(ColorDefinition));\r\nexports.TextColorDefinition = TextColorDefinition;\r\nvar AdaptiveCardConfig = /** @class */ (function () {\r\n function AdaptiveCardConfig(obj) {\r\n this.allowCustomStyle = false;\r\n if (obj) {\r\n this.allowCustomStyle = obj[\"allowCustomStyle\"] || this.allowCustomStyle;\r\n }\r\n }\r\n return AdaptiveCardConfig;\r\n}());\r\nexports.AdaptiveCardConfig = AdaptiveCardConfig;\r\nvar ImageSetConfig = /** @class */ (function () {\r\n function ImageSetConfig(obj) {\r\n this.imageSize = Enums.Size.Medium;\r\n this.maxImageHeight = 100;\r\n if (obj) {\r\n this.imageSize = obj[\"imageSize\"] != null ? obj[\"imageSize\"] : this.imageSize;\r\n this.maxImageHeight = Utils.parseNumber(obj[\"maxImageHeight\"], 100);\r\n }\r\n }\r\n ImageSetConfig.prototype.toJSON = function () {\r\n return {\r\n imageSize: Enums.Size[this.imageSize],\r\n maxImageHeight: this.maxImageHeight\r\n };\r\n };\r\n return ImageSetConfig;\r\n}());\r\nexports.ImageSetConfig = ImageSetConfig;\r\nvar MediaConfig = /** @class */ (function () {\r\n function MediaConfig(obj) {\r\n this.allowInlinePlayback = true;\r\n if (obj) {\r\n this.defaultPoster = obj[\"defaultPoster\"];\r\n this.allowInlinePlayback = obj[\"allowInlinePlayback\"] || this.allowInlinePlayback;\r\n }\r\n }\r\n MediaConfig.prototype.toJSON = function () {\r\n return {\r\n defaultPoster: this.defaultPoster,\r\n allowInlinePlayback: this.allowInlinePlayback\r\n };\r\n };\r\n return MediaConfig;\r\n}());\r\nexports.MediaConfig = MediaConfig;\r\nvar TableConfig = /** @class */ (function () {\r\n function TableConfig(obj) {\r\n this.cellSpacing = 8;\r\n if (obj) {\r\n this.cellSpacing = obj.cellSpacing && typeof obj.cellSpacing === \"number\" ? obj.cellSpacing : this.cellSpacing;\r\n }\r\n }\r\n TableConfig.prototype.toJSON = function () {\r\n return {\r\n cellSpacing: this.cellSpacing\r\n };\r\n };\r\n return TableConfig;\r\n}());\r\nexports.TableConfig = TableConfig;\r\nvar BaseTextDefinition = /** @class */ (function () {\r\n function BaseTextDefinition(obj) {\r\n this.size = Enums.TextSize.Default;\r\n this.color = Enums.TextColor.Default;\r\n this.isSubtle = false;\r\n this.weight = Enums.TextWeight.Default;\r\n this.parse(obj);\r\n }\r\n ;\r\n BaseTextDefinition.prototype.parse = function (obj) {\r\n if (obj) {\r\n this.size = parseHostConfigEnum(Enums.TextSize, obj[\"size\"], this.size);\r\n this.color = parseHostConfigEnum(Enums.TextColor, obj[\"color\"], this.color);\r\n this.isSubtle = obj.isSubtle !== undefined && typeof obj.isSubtle === \"boolean\" ? obj.isSubtle : this.isSubtle;\r\n this.weight = parseHostConfigEnum(Enums.TextWeight, obj[\"weight\"], this.getDefaultWeight());\r\n }\r\n };\r\n BaseTextDefinition.prototype.getDefaultWeight = function () {\r\n return Enums.TextWeight.Default;\r\n };\r\n BaseTextDefinition.prototype.toJSON = function () {\r\n return {\r\n size: Enums.TextSize[this.size],\r\n color: Enums.TextColor[this.color],\r\n isSubtle: this.isSubtle,\r\n weight: Enums.TextWeight[this.weight]\r\n };\r\n };\r\n return BaseTextDefinition;\r\n}());\r\nexports.BaseTextDefinition = BaseTextDefinition;\r\nvar TextStyleDefinition = /** @class */ (function (_super) {\r\n __extends(TextStyleDefinition, _super);\r\n function TextStyleDefinition() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.fontType = Enums.FontType.Default;\r\n return _this;\r\n }\r\n TextStyleDefinition.prototype.parse = function (obj) {\r\n _super.prototype.parse.call(this, obj);\r\n if (obj) {\r\n this.fontType = parseHostConfigEnum(Enums.FontType, obj.fontType, this.fontType);\r\n }\r\n };\r\n return TextStyleDefinition;\r\n}(BaseTextDefinition));\r\nexports.TextStyleDefinition = TextStyleDefinition;\r\nvar TextStyleSet = /** @class */ (function () {\r\n function TextStyleSet(obj) {\r\n this.default = new TextStyleDefinition();\r\n this.heading = new TextStyleDefinition({\r\n size: \"Large\",\r\n weight: \"Bolder\"\r\n });\r\n this.columnHeader = new TextStyleDefinition({\r\n weight: \"Bolder\"\r\n });\r\n if (obj) {\r\n this.heading.parse(obj.heading);\r\n this.columnHeader.parse(obj.columnHeader);\r\n }\r\n }\r\n TextStyleSet.prototype.getStyleByName = function (name) {\r\n switch (name.toLowerCase()) {\r\n case \"heading\":\r\n return this.heading;\r\n case \"columnHeader\":\r\n return this.columnHeader;\r\n default:\r\n return this.default;\r\n }\r\n };\r\n return TextStyleSet;\r\n}());\r\nexports.TextStyleSet = TextStyleSet;\r\nvar TextBlockConfig = /** @class */ (function () {\r\n function TextBlockConfig(obj) {\r\n if (obj) {\r\n this.headingLevel = Utils.parseNumber(obj.headingLevel);\r\n }\r\n }\r\n return TextBlockConfig;\r\n}());\r\nexports.TextBlockConfig = TextBlockConfig;\r\nvar RequiredInputLabelTextDefinition = /** @class */ (function (_super) {\r\n __extends(RequiredInputLabelTextDefinition, _super);\r\n function RequiredInputLabelTextDefinition() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.suffix = \" *\";\r\n _this.suffixColor = Enums.TextColor.Attention;\r\n return _this;\r\n }\r\n RequiredInputLabelTextDefinition.prototype.parse = function (obj) {\r\n _super.prototype.parse.call(this, obj);\r\n if (obj) {\r\n this.suffix = obj[\"suffix\"] || this.suffix;\r\n this.suffixColor = parseHostConfigEnum(Enums.TextColor, obj[\"suffixColor\"], this.suffixColor);\r\n }\r\n };\r\n RequiredInputLabelTextDefinition.prototype.toJSON = function () {\r\n var result = _super.prototype.toJSON.call(this);\r\n result[\"suffix\"] = this.suffix;\r\n result[\"suffixColor\"] = Enums.TextColor[this.suffixColor];\r\n return result;\r\n };\r\n return RequiredInputLabelTextDefinition;\r\n}(BaseTextDefinition));\r\nexports.RequiredInputLabelTextDefinition = RequiredInputLabelTextDefinition;\r\nvar InputLabelConfig = /** @class */ (function () {\r\n function InputLabelConfig(obj) {\r\n this.inputSpacing = Enums.Spacing.Small;\r\n this.requiredInputs = new RequiredInputLabelTextDefinition();\r\n this.optionalInputs = new BaseTextDefinition();\r\n if (obj) {\r\n this.inputSpacing = parseHostConfigEnum(Enums.Spacing, obj[\"inputSpacing\"], this.inputSpacing);\r\n this.requiredInputs = new RequiredInputLabelTextDefinition(obj[\"requiredInputs\"]);\r\n this.optionalInputs = new BaseTextDefinition(obj[\"optionalInputs\"]);\r\n }\r\n }\r\n return InputLabelConfig;\r\n}());\r\nexports.InputLabelConfig = InputLabelConfig;\r\nvar InputConfig = /** @class */ (function () {\r\n function InputConfig(obj) {\r\n this.label = new InputLabelConfig();\r\n this.errorMessage = new BaseTextDefinition({ color: Enums.TextColor.Attention });\r\n if (obj) {\r\n this.label = new InputLabelConfig(obj[\"label\"]);\r\n this.errorMessage = new BaseTextDefinition(obj[\"errorMessage\"]);\r\n }\r\n }\r\n return InputConfig;\r\n}());\r\nexports.InputConfig = InputConfig;\r\nvar FactTextDefinition = /** @class */ (function (_super) {\r\n __extends(FactTextDefinition, _super);\r\n function FactTextDefinition() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.wrap = true;\r\n return _this;\r\n }\r\n FactTextDefinition.prototype.parse = function (obj) {\r\n _super.prototype.parse.call(this, obj);\r\n if (obj) {\r\n this.wrap = obj[\"wrap\"] != null ? obj[\"wrap\"] : this.wrap;\r\n }\r\n };\r\n FactTextDefinition.prototype.toJSON = function () {\r\n var result = _super.prototype.toJSON.call(this);\r\n result[\"wrap\"] = this.wrap;\r\n return result;\r\n };\r\n return FactTextDefinition;\r\n}(BaseTextDefinition));\r\nexports.FactTextDefinition = FactTextDefinition;\r\nvar FactTitleDefinition = /** @class */ (function (_super) {\r\n __extends(FactTitleDefinition, _super);\r\n function FactTitleDefinition(obj) {\r\n var _this = _super.call(this, obj) || this;\r\n _this.maxWidth = 150;\r\n _this.weight = Enums.TextWeight.Bolder;\r\n if (obj) {\r\n _this.maxWidth = obj[\"maxWidth\"] != null ? obj[\"maxWidth\"] : _this.maxWidth;\r\n _this.weight = parseHostConfigEnum(Enums.TextWeight, obj[\"weight\"], Enums.TextWeight.Bolder);\r\n }\r\n return _this;\r\n }\r\n FactTitleDefinition.prototype.getDefaultWeight = function () {\r\n return Enums.TextWeight.Bolder;\r\n };\r\n return FactTitleDefinition;\r\n}(FactTextDefinition));\r\nexports.FactTitleDefinition = FactTitleDefinition;\r\nvar FactSetConfig = /** @class */ (function () {\r\n function FactSetConfig(obj) {\r\n this.title = new FactTitleDefinition();\r\n this.value = new FactTextDefinition();\r\n this.spacing = 10;\r\n if (obj) {\r\n this.title = new FactTitleDefinition(obj[\"title\"]);\r\n this.value = new FactTextDefinition(obj[\"value\"]);\r\n this.spacing = obj.spacing && obj.spacing != null ? obj.spacing && obj.spacing : this.spacing;\r\n }\r\n }\r\n return FactSetConfig;\r\n}());\r\nexports.FactSetConfig = FactSetConfig;\r\nvar ShowCardActionConfig = /** @class */ (function () {\r\n function ShowCardActionConfig(obj) {\r\n this.actionMode = Enums.ShowCardActionMode.Inline;\r\n this.inlineTopMargin = 16;\r\n this.style = Enums.ContainerStyle.Emphasis;\r\n if (obj) {\r\n this.actionMode = parseHostConfigEnum(Enums.ShowCardActionMode, obj[\"actionMode\"], Enums.ShowCardActionMode.Inline);\r\n this.inlineTopMargin = obj[\"inlineTopMargin\"] != null ? obj[\"inlineTopMargin\"] : this.inlineTopMargin;\r\n this.style = obj[\"style\"] && typeof obj[\"style\"] === \"string\" ? obj[\"style\"] : Enums.ContainerStyle.Emphasis;\r\n }\r\n }\r\n ShowCardActionConfig.prototype.toJSON = function () {\r\n return {\r\n actionMode: Enums.ShowCardActionMode[this.actionMode],\r\n inlineTopMargin: this.inlineTopMargin,\r\n style: this.style\r\n };\r\n };\r\n return ShowCardActionConfig;\r\n}());\r\nexports.ShowCardActionConfig = ShowCardActionConfig;\r\nvar ActionsConfig = /** @class */ (function () {\r\n function ActionsConfig(obj) {\r\n this.maxActions = 5;\r\n this.spacing = Enums.Spacing.Default;\r\n this.buttonSpacing = 20;\r\n this.showCard = new ShowCardActionConfig();\r\n this.preExpandSingleShowCardAction = false;\r\n this.actionsOrientation = Enums.Orientation.Horizontal;\r\n this.actionAlignment = Enums.ActionAlignment.Left;\r\n this.iconPlacement = Enums.ActionIconPlacement.LeftOfTitle;\r\n this.allowTitleToWrap = false;\r\n this.iconSize = 16;\r\n if (obj) {\r\n this.maxActions = obj[\"maxActions\"] != null ? obj[\"maxActions\"] : this.maxActions;\r\n this.spacing = parseHostConfigEnum(Enums.Spacing, obj.spacing && obj.spacing, Enums.Spacing.Default);\r\n this.buttonSpacing = obj[\"buttonSpacing\"] != null ? obj[\"buttonSpacing\"] : this.buttonSpacing;\r\n this.showCard = new ShowCardActionConfig(obj[\"showCard\"]);\r\n this.preExpandSingleShowCardAction = Utils.parseBool(obj[\"preExpandSingleShowCardAction\"], false);\r\n this.actionsOrientation = parseHostConfigEnum(Enums.Orientation, obj[\"actionsOrientation\"], Enums.Orientation.Horizontal);\r\n this.actionAlignment = parseHostConfigEnum(Enums.ActionAlignment, obj[\"actionAlignment\"], Enums.ActionAlignment.Left);\r\n this.iconPlacement = parseHostConfigEnum(Enums.ActionIconPlacement, obj[\"iconPlacement\"], Enums.ActionIconPlacement.LeftOfTitle);\r\n this.allowTitleToWrap = obj[\"allowTitleToWrap\"] != null ? obj[\"allowTitleToWrap\"] : this.allowTitleToWrap;\r\n try {\r\n var sizeAndUnit = Shared.SizeAndUnit.parse(obj[\"iconSize\"]);\r\n if (sizeAndUnit.unit == Enums.SizeUnit.Pixel) {\r\n this.iconSize = sizeAndUnit.physicalSize;\r\n }\r\n }\r\n catch (e) {\r\n // Swallow this, keep default icon size\r\n }\r\n }\r\n }\r\n ActionsConfig.prototype.toJSON = function () {\r\n return {\r\n maxActions: this.maxActions,\r\n spacing: Enums.Spacing[this.spacing],\r\n buttonSpacing: this.buttonSpacing,\r\n showCard: this.showCard,\r\n preExpandSingleShowCardAction: this.preExpandSingleShowCardAction,\r\n actionsOrientation: Enums.Orientation[this.actionsOrientation],\r\n actionAlignment: Enums.ActionAlignment[this.actionAlignment]\r\n };\r\n };\r\n return ActionsConfig;\r\n}());\r\nexports.ActionsConfig = ActionsConfig;\r\nvar ColorSetDefinition = /** @class */ (function () {\r\n function ColorSetDefinition(obj) {\r\n this.default = new TextColorDefinition();\r\n this.dark = new TextColorDefinition();\r\n this.light = new TextColorDefinition();\r\n this.accent = new TextColorDefinition();\r\n this.good = new TextColorDefinition();\r\n this.warning = new TextColorDefinition();\r\n this.attention = new TextColorDefinition();\r\n this.parse(obj);\r\n }\r\n ColorSetDefinition.prototype.parseSingleColor = function (obj, propertyName) {\r\n if (obj) {\r\n this[propertyName].parse(obj[propertyName]);\r\n }\r\n };\r\n ColorSetDefinition.prototype.parse = function (obj) {\r\n if (obj) {\r\n this.parseSingleColor(obj, \"default\");\r\n this.parseSingleColor(obj, \"dark\");\r\n this.parseSingleColor(obj, \"light\");\r\n this.parseSingleColor(obj, \"accent\");\r\n this.parseSingleColor(obj, \"good\");\r\n this.parseSingleColor(obj, \"warning\");\r\n this.parseSingleColor(obj, \"attention\");\r\n }\r\n };\r\n return ColorSetDefinition;\r\n}());\r\nexports.ColorSetDefinition = ColorSetDefinition;\r\nvar ContainerStyleDefinition = /** @class */ (function () {\r\n function ContainerStyleDefinition(obj) {\r\n this.foregroundColors = new ColorSetDefinition({\r\n \"default\": { default: \"#333333\", subtle: \"#EE333333\" },\r\n \"dark\": { default: \"#000000\", subtle: \"#66000000\" },\r\n \"light\": { default: \"#FFFFFF\", subtle: \"#33000000\" },\r\n \"accent\": { default: \"#2E89FC\", subtle: \"#882E89FC\" },\r\n \"good\": { default: \"#028A02\", subtle: \"#DD027502\" },\r\n \"warning\": { default: \"#E69500\", subtle: \"#DDE69500\" },\r\n \"attention\": { default: \"#CC3300\", subtle: \"#DDCC3300\" }\r\n });\r\n this.parse(obj);\r\n }\r\n ContainerStyleDefinition.prototype.parse = function (obj) {\r\n if (obj) {\r\n this.backgroundColor = obj[\"backgroundColor\"];\r\n this.foregroundColors.parse(obj[\"foregroundColors\"]);\r\n this.highlightBackgroundColor = obj[\"highlightBackgroundColor\"];\r\n this.highlightForegroundColor = obj[\"highlightForegroundColor\"];\r\n this.borderColor = obj[\"borderColor\"];\r\n }\r\n };\r\n Object.defineProperty(ContainerStyleDefinition.prototype, \"isBuiltIn\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return ContainerStyleDefinition;\r\n}());\r\nexports.ContainerStyleDefinition = ContainerStyleDefinition;\r\nvar BuiltInContainerStyleDefinition = /** @class */ (function (_super) {\r\n __extends(BuiltInContainerStyleDefinition, _super);\r\n function BuiltInContainerStyleDefinition() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n Object.defineProperty(BuiltInContainerStyleDefinition.prototype, \"isBuiltIn\", {\r\n get: function () {\r\n return true;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return BuiltInContainerStyleDefinition;\r\n}(ContainerStyleDefinition));\r\nvar ContainerStyleSet = /** @class */ (function () {\r\n function ContainerStyleSet(obj) {\r\n this._allStyles = {};\r\n this._allStyles[Enums.ContainerStyle.Default] = new BuiltInContainerStyleDefinition();\r\n this._allStyles[Enums.ContainerStyle.Emphasis] = new BuiltInContainerStyleDefinition();\r\n this._allStyles[Enums.ContainerStyle.Accent] = new BuiltInContainerStyleDefinition();\r\n this._allStyles[Enums.ContainerStyle.Good] = new BuiltInContainerStyleDefinition();\r\n this._allStyles[Enums.ContainerStyle.Attention] = new BuiltInContainerStyleDefinition();\r\n this._allStyles[Enums.ContainerStyle.Warning] = new BuiltInContainerStyleDefinition();\r\n if (obj) {\r\n this._allStyles[Enums.ContainerStyle.Default].parse(obj[Enums.ContainerStyle.Default]);\r\n this._allStyles[Enums.ContainerStyle.Emphasis].parse(obj[Enums.ContainerStyle.Emphasis]);\r\n this._allStyles[Enums.ContainerStyle.Accent].parse(obj[Enums.ContainerStyle.Accent]);\r\n this._allStyles[Enums.ContainerStyle.Good].parse(obj[Enums.ContainerStyle.Good]);\r\n this._allStyles[Enums.ContainerStyle.Attention].parse(obj[Enums.ContainerStyle.Attention]);\r\n this._allStyles[Enums.ContainerStyle.Warning].parse(obj[Enums.ContainerStyle.Warning]);\r\n var customStyleArray = obj[\"customStyles\"];\r\n if (customStyleArray && Array.isArray(customStyleArray)) {\r\n for (var _i = 0, customStyleArray_1 = customStyleArray; _i < customStyleArray_1.length; _i++) {\r\n var customStyle = customStyleArray_1[_i];\r\n if (customStyle) {\r\n var styleName = customStyle[\"name\"];\r\n if (styleName && typeof styleName === \"string\") {\r\n if (this._allStyles.hasOwnProperty(styleName)) {\r\n this._allStyles[styleName].parse(customStyle[\"style\"]);\r\n }\r\n else {\r\n this._allStyles[styleName] = new ContainerStyleDefinition(customStyle[\"style\"]);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n ContainerStyleSet.prototype.toJSON = function () {\r\n var _this = this;\r\n var customStyleArray = [];\r\n Object.keys(this._allStyles).forEach(function (key) {\r\n if (!_this._allStyles[key].isBuiltIn) {\r\n customStyleArray.push({\r\n name: key,\r\n style: _this._allStyles[key]\r\n });\r\n }\r\n });\r\n var result = {\r\n default: this.default,\r\n emphasis: this.emphasis\r\n };\r\n if (customStyleArray.length > 0) {\r\n result.customStyles = customStyleArray;\r\n }\r\n return result;\r\n };\r\n ContainerStyleSet.prototype.getStyleByName = function (name, defaultValue) {\r\n if (name && this._allStyles.hasOwnProperty(name)) {\r\n return this._allStyles[name];\r\n }\r\n else {\r\n return defaultValue ? defaultValue : this._allStyles[Enums.ContainerStyle.Default];\r\n }\r\n };\r\n Object.defineProperty(ContainerStyleSet.prototype, \"default\", {\r\n get: function () {\r\n return this._allStyles[Enums.ContainerStyle.Default];\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(ContainerStyleSet.prototype, \"emphasis\", {\r\n get: function () {\r\n return this._allStyles[Enums.ContainerStyle.Emphasis];\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return ContainerStyleSet;\r\n}());\r\nexports.ContainerStyleSet = ContainerStyleSet;\r\nvar FontTypeDefinition = /** @class */ (function () {\r\n function FontTypeDefinition(fontFamily) {\r\n this.fontFamily = \"Segoe UI,Segoe,Segoe WP,Helvetica Neue,Helvetica,sans-serif\";\r\n this.fontSizes = {\r\n small: 12,\r\n default: 14,\r\n medium: 17,\r\n large: 21,\r\n extraLarge: 26\r\n };\r\n this.fontWeights = {\r\n lighter: 200,\r\n default: 400,\r\n bolder: 600\r\n };\r\n if (fontFamily) {\r\n this.fontFamily = fontFamily;\r\n }\r\n }\r\n FontTypeDefinition.prototype.parse = function (obj) {\r\n this.fontFamily = obj[\"fontFamily\"] || this.fontFamily;\r\n this.fontSizes = {\r\n small: obj.fontSizes && obj.fontSizes[\"small\"] || this.fontSizes.small,\r\n default: obj.fontSizes && obj.fontSizes[\"default\"] || this.fontSizes.default,\r\n medium: obj.fontSizes && obj.fontSizes[\"medium\"] || this.fontSizes.medium,\r\n large: obj.fontSizes && obj.fontSizes[\"large\"] || this.fontSizes.large,\r\n extraLarge: obj.fontSizes && obj.fontSizes[\"extraLarge\"] || this.fontSizes.extraLarge\r\n };\r\n this.fontWeights = {\r\n lighter: obj.fontWeights && obj.fontWeights[\"lighter\"] || this.fontWeights.lighter,\r\n default: obj.fontWeights && obj.fontWeights[\"default\"] || this.fontWeights.default,\r\n bolder: obj.fontWeights && obj.fontWeights[\"bolder\"] || this.fontWeights.bolder\r\n };\r\n };\r\n FontTypeDefinition.monospace = new FontTypeDefinition(\"'Courier New', Courier, monospace\");\r\n return FontTypeDefinition;\r\n}());\r\nexports.FontTypeDefinition = FontTypeDefinition;\r\nvar FontTypeSet = /** @class */ (function () {\r\n function FontTypeSet(obj) {\r\n this.default = new FontTypeDefinition();\r\n this.monospace = new FontTypeDefinition(\"'Courier New', Courier, monospace\");\r\n if (obj) {\r\n this.default.parse(obj[\"default\"]);\r\n this.monospace.parse(obj[\"monospace\"]);\r\n }\r\n }\r\n FontTypeSet.prototype.getStyleDefinition = function (style) {\r\n switch (style) {\r\n case Enums.FontType.Monospace:\r\n return this.monospace;\r\n case Enums.FontType.Default:\r\n default:\r\n return this.default;\r\n }\r\n };\r\n return FontTypeSet;\r\n}());\r\nexports.FontTypeSet = FontTypeSet;\r\nvar HostConfig = /** @class */ (function () {\r\n function HostConfig(obj) {\r\n this.hostCapabilities = new host_capabilities_1.HostCapabilities();\r\n this.choiceSetInputValueSeparator = \",\";\r\n this.supportsInteractivity = true;\r\n this.spacing = {\r\n small: 3,\r\n default: 8,\r\n medium: 20,\r\n large: 30,\r\n extraLarge: 40,\r\n padding: 15\r\n };\r\n this.separator = {\r\n lineThickness: 1,\r\n lineColor: \"#EEEEEE\"\r\n };\r\n this.imageSizes = {\r\n small: 40,\r\n medium: 80,\r\n large: 160\r\n };\r\n this.containerStyles = new ContainerStyleSet();\r\n this.inputs = new InputConfig();\r\n this.actions = new ActionsConfig();\r\n this.adaptiveCard = new AdaptiveCardConfig();\r\n this.imageSet = new ImageSetConfig();\r\n this.media = new MediaConfig();\r\n this.factSet = new FactSetConfig();\r\n this.table = new TableConfig();\r\n this.textStyles = new TextStyleSet();\r\n this.textBlock = new TextBlockConfig();\r\n this.alwaysAllowBleed = false;\r\n if (obj) {\r\n if (typeof obj === \"string\" || obj instanceof String) {\r\n obj = JSON.parse(obj);\r\n }\r\n this.choiceSetInputValueSeparator = (obj && typeof obj[\"choiceSetInputValueSeparator\"] === \"string\") ? obj[\"choiceSetInputValueSeparator\"] : this.choiceSetInputValueSeparator;\r\n this.supportsInteractivity = (obj && typeof obj[\"supportsInteractivity\"] === \"boolean\") ? obj[\"supportsInteractivity\"] : this.supportsInteractivity;\r\n this._legacyFontType = new FontTypeDefinition();\r\n this._legacyFontType.parse(obj);\r\n if (obj.fontTypes) {\r\n this.fontTypes = new FontTypeSet(obj.fontTypes);\r\n }\r\n if (obj.lineHeights) {\r\n this.lineHeights = {\r\n small: obj.lineHeights[\"small\"],\r\n default: obj.lineHeights[\"default\"],\r\n medium: obj.lineHeights[\"medium\"],\r\n large: obj.lineHeights[\"large\"],\r\n extraLarge: obj.lineHeights[\"extraLarge\"]\r\n };\r\n }\r\n ;\r\n this.imageSizes = {\r\n small: obj.imageSizes && obj.imageSizes[\"small\"] || this.imageSizes.small,\r\n medium: obj.imageSizes && obj.imageSizes[\"medium\"] || this.imageSizes.medium,\r\n large: obj.imageSizes && obj.imageSizes[\"large\"] || this.imageSizes.large,\r\n };\r\n this.containerStyles = new ContainerStyleSet(obj[\"containerStyles\"]);\r\n this.spacing = {\r\n small: obj.spacing && obj.spacing[\"small\"] || this.spacing.small,\r\n default: obj.spacing && obj.spacing[\"default\"] || this.spacing.default,\r\n medium: obj.spacing && obj.spacing[\"medium\"] || this.spacing.medium,\r\n large: obj.spacing && obj.spacing[\"large\"] || this.spacing.large,\r\n extraLarge: obj.spacing && obj.spacing[\"extraLarge\"] || this.spacing.extraLarge,\r\n padding: obj.spacing && obj.spacing[\"padding\"] || this.spacing.padding\r\n };\r\n this.separator = {\r\n lineThickness: obj.separator && obj.separator[\"lineThickness\"] || this.separator.lineThickness,\r\n lineColor: obj.separator && obj.separator[\"lineColor\"] || this.separator.lineColor\r\n };\r\n this.inputs = new InputConfig(obj.inputs || this.inputs);\r\n this.actions = new ActionsConfig(obj.actions || this.actions);\r\n this.adaptiveCard = new AdaptiveCardConfig(obj.adaptiveCard || this.adaptiveCard);\r\n this.imageSet = new ImageSetConfig(obj[\"imageSet\"]);\r\n this.factSet = new FactSetConfig(obj[\"factSet\"]);\r\n this.textStyles = new TextStyleSet(obj[\"textStyles\"]);\r\n this.textBlock = new TextBlockConfig(obj[\"textBlock\"]);\r\n }\r\n }\r\n HostConfig.prototype.getFontTypeDefinition = function (style) {\r\n if (this.fontTypes) {\r\n return this.fontTypes.getStyleDefinition(style);\r\n }\r\n else {\r\n return style == Enums.FontType.Monospace ? FontTypeDefinition.monospace : this._legacyFontType;\r\n }\r\n };\r\n HostConfig.prototype.getEffectiveSpacing = function (spacing) {\r\n switch (spacing) {\r\n case Enums.Spacing.Small:\r\n return this.spacing.small;\r\n case Enums.Spacing.Default:\r\n return this.spacing.default;\r\n case Enums.Spacing.Medium:\r\n return this.spacing.medium;\r\n case Enums.Spacing.Large:\r\n return this.spacing.large;\r\n case Enums.Spacing.ExtraLarge:\r\n return this.spacing.extraLarge;\r\n case Enums.Spacing.Padding:\r\n return this.spacing.padding;\r\n default:\r\n return 0;\r\n }\r\n };\r\n HostConfig.prototype.paddingDefinitionToSpacingDefinition = function (paddingDefinition) {\r\n return new Shared.SpacingDefinition(this.getEffectiveSpacing(paddingDefinition.top), this.getEffectiveSpacing(paddingDefinition.right), this.getEffectiveSpacing(paddingDefinition.bottom), this.getEffectiveSpacing(paddingDefinition.left));\r\n };\r\n HostConfig.prototype.makeCssClassNames = function () {\r\n var classNames = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n classNames[_i] = arguments[_i];\r\n }\r\n var result = [];\r\n for (var _a = 0, classNames_1 = classNames; _a < classNames_1.length; _a++) {\r\n var className = classNames_1[_a];\r\n result.push((this.cssClassNamePrefix ? this.cssClassNamePrefix + \"-\" : \"\") + className);\r\n }\r\n return result;\r\n };\r\n HostConfig.prototype.makeCssClassName = function () {\r\n var classNames = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n classNames[_i] = arguments[_i];\r\n }\r\n var result = this.makeCssClassNames.apply(this, classNames).join(\" \");\r\n return result ? result : \"\";\r\n };\r\n Object.defineProperty(HostConfig.prototype, \"fontFamily\", {\r\n get: function () {\r\n return this._legacyFontType.fontFamily;\r\n },\r\n set: function (value) {\r\n this._legacyFontType.fontFamily = value;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(HostConfig.prototype, \"fontSizes\", {\r\n get: function () {\r\n return this._legacyFontType.fontSizes;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(HostConfig.prototype, \"fontWeights\", {\r\n get: function () {\r\n return this._legacyFontType.fontWeights;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return HostConfig;\r\n}());\r\nexports.HostConfig = HostConfig;\r\nexports.defaultHostConfig = new HostConfig({\r\n supportsInteractivity: true,\r\n spacing: {\r\n small: 10,\r\n default: 20,\r\n medium: 30,\r\n large: 40,\r\n extraLarge: 50,\r\n padding: 20\r\n },\r\n separator: {\r\n lineThickness: 1,\r\n lineColor: \"#EEEEEE\"\r\n },\r\n fontTypes: {\r\n default: {\r\n fontFamily: \"'Segoe UI', Tahoma, Geneva, Verdana, sans-serif\",\r\n fontSizes: {\r\n small: 12,\r\n default: 14,\r\n medium: 17,\r\n large: 21,\r\n extraLarge: 26\r\n },\r\n fontWeights: {\r\n lighter: 200,\r\n default: 400,\r\n bolder: 600\r\n }\r\n },\r\n monospace: {\r\n fontFamily: \"'Courier New', Courier, monospace\",\r\n fontSizes: {\r\n small: 12,\r\n default: 14,\r\n medium: 17,\r\n large: 21,\r\n extraLarge: 26\r\n },\r\n fontWeights: {\r\n lighter: 200,\r\n default: 400,\r\n bolder: 600\r\n }\r\n }\r\n },\r\n imageSizes: {\r\n small: 40,\r\n medium: 80,\r\n large: 160\r\n },\r\n containerStyles: {\r\n default: {\r\n backgroundColor: \"#FFFFFF\",\r\n foregroundColors: {\r\n default: {\r\n default: \"#333333\",\r\n subtle: \"#EE333333\"\r\n },\r\n dark: {\r\n default: \"#000000\",\r\n subtle: \"#66000000\"\r\n },\r\n light: {\r\n default: \"#FFFFFF\",\r\n subtle: \"#33000000\"\r\n },\r\n accent: {\r\n default: \"#2E89FC\",\r\n subtle: \"#882E89FC\"\r\n },\r\n attention: {\r\n default: \"#cc3300\",\r\n subtle: \"#DDcc3300\"\r\n },\r\n good: {\r\n default: \"#028A02\",\r\n subtle: \"#DD027502\"\r\n },\r\n warning: {\r\n default: \"#e69500\",\r\n subtle: \"#DDe69500\"\r\n }\r\n }\r\n },\r\n emphasis: {\r\n backgroundColor: \"#08000000\",\r\n foregroundColors: {\r\n default: {\r\n default: \"#333333\",\r\n subtle: \"#EE333333\"\r\n },\r\n dark: {\r\n default: \"#000000\",\r\n subtle: \"#66000000\"\r\n },\r\n light: {\r\n default: \"#FFFFFF\",\r\n subtle: \"#33000000\"\r\n },\r\n accent: {\r\n default: \"#2E89FC\",\r\n subtle: \"#882E89FC\"\r\n },\r\n attention: {\r\n default: \"#cc3300\",\r\n subtle: \"#DDcc3300\"\r\n },\r\n good: {\r\n default: \"#028A02\",\r\n subtle: \"#DD027502\"\r\n },\r\n warning: {\r\n default: \"#e69500\",\r\n subtle: \"#DDe69500\"\r\n }\r\n }\r\n },\r\n accent: {\r\n backgroundColor: \"#C7DEF9\",\r\n foregroundColors: {\r\n default: {\r\n default: \"#333333\",\r\n subtle: \"#EE333333\"\r\n },\r\n dark: {\r\n default: \"#000000\",\r\n subtle: \"#66000000\"\r\n },\r\n light: {\r\n default: \"#FFFFFF\",\r\n subtle: \"#33000000\"\r\n },\r\n accent: {\r\n default: \"#2E89FC\",\r\n subtle: \"#882E89FC\"\r\n },\r\n attention: {\r\n default: \"#cc3300\",\r\n subtle: \"#DDcc3300\"\r\n },\r\n good: {\r\n default: \"#028A02\",\r\n subtle: \"#DD027502\"\r\n },\r\n warning: {\r\n default: \"#e69500\",\r\n subtle: \"#DDe69500\"\r\n }\r\n }\r\n },\r\n good: {\r\n backgroundColor: \"#CCFFCC\",\r\n foregroundColors: {\r\n default: {\r\n default: \"#333333\",\r\n subtle: \"#EE333333\"\r\n },\r\n dark: {\r\n default: \"#000000\",\r\n subtle: \"#66000000\"\r\n },\r\n light: {\r\n default: \"#FFFFFF\",\r\n subtle: \"#33000000\"\r\n },\r\n accent: {\r\n default: \"#2E89FC\",\r\n subtle: \"#882E89FC\"\r\n },\r\n attention: {\r\n default: \"#cc3300\",\r\n subtle: \"#DDcc3300\"\r\n },\r\n good: {\r\n default: \"#028A02\",\r\n subtle: \"#DD027502\"\r\n },\r\n warning: {\r\n default: \"#e69500\",\r\n subtle: \"#DDe69500\"\r\n }\r\n }\r\n },\r\n attention: {\r\n backgroundColor: \"#FFC5B2\",\r\n foregroundColors: {\r\n default: {\r\n default: \"#333333\",\r\n subtle: \"#EE333333\"\r\n },\r\n dark: {\r\n default: \"#000000\",\r\n subtle: \"#66000000\"\r\n },\r\n light: {\r\n default: \"#FFFFFF\",\r\n subtle: \"#33000000\"\r\n },\r\n accent: {\r\n default: \"#2E89FC\",\r\n subtle: \"#882E89FC\"\r\n },\r\n attention: {\r\n default: \"#cc3300\",\r\n subtle: \"#DDcc3300\"\r\n },\r\n good: {\r\n default: \"#028A02\",\r\n subtle: \"#DD027502\"\r\n },\r\n warning: {\r\n default: \"#e69500\",\r\n subtle: \"#DDe69500\"\r\n }\r\n }\r\n },\r\n warning: {\r\n backgroundColor: \"#FFE2B2\",\r\n foregroundColors: {\r\n default: {\r\n default: \"#333333\",\r\n subtle: \"#EE333333\"\r\n },\r\n dark: {\r\n default: \"#000000\",\r\n subtle: \"#66000000\"\r\n },\r\n light: {\r\n default: \"#FFFFFF\",\r\n subtle: \"#33000000\"\r\n },\r\n accent: {\r\n default: \"#2E89FC\",\r\n subtle: \"#882E89FC\"\r\n },\r\n attention: {\r\n default: \"#cc3300\",\r\n subtle: \"#DDcc3300\"\r\n },\r\n good: {\r\n default: \"#028A02\",\r\n subtle: \"#DD027502\"\r\n },\r\n warning: {\r\n default: \"#e69500\",\r\n subtle: \"#DDe69500\"\r\n }\r\n }\r\n }\r\n },\r\n inputs: {\r\n label: {\r\n requiredInputs: {\r\n color: Enums.TextColor.Accent,\r\n size: Enums.TextSize.ExtraLarge,\r\n weight: Enums.TextWeight.Bolder,\r\n isSubtle: true,\r\n suffix: \" (required)\",\r\n suffixColor: Enums.TextColor.Good\r\n },\r\n optionalInputs: {\r\n color: Enums.TextColor.Warning,\r\n size: Enums.TextSize.Medium,\r\n weight: Enums.TextWeight.Lighter,\r\n isSubtle: false\r\n }\r\n },\r\n errorMessage: {\r\n color: Enums.TextColor.Accent,\r\n size: Enums.TextSize.Small,\r\n weight: Enums.TextWeight.Bolder\r\n }\r\n },\r\n actions: {\r\n maxActions: 5,\r\n spacing: Enums.Spacing.Default,\r\n buttonSpacing: 10,\r\n showCard: {\r\n actionMode: Enums.ShowCardActionMode.Inline,\r\n inlineTopMargin: 16\r\n },\r\n actionsOrientation: Enums.Orientation.Horizontal,\r\n actionAlignment: Enums.ActionAlignment.Left\r\n },\r\n adaptiveCard: {\r\n allowCustomStyle: false\r\n },\r\n imageSet: {\r\n imageSize: Enums.Size.Medium,\r\n maxImageHeight: 100\r\n },\r\n factSet: {\r\n title: {\r\n color: Enums.TextColor.Default,\r\n size: Enums.TextSize.Default,\r\n isSubtle: false,\r\n weight: Enums.TextWeight.Bolder,\r\n wrap: true,\r\n maxWidth: 150,\r\n },\r\n value: {\r\n color: Enums.TextColor.Default,\r\n size: Enums.TextSize.Default,\r\n isSubtle: false,\r\n weight: Enums.TextWeight.Default,\r\n wrap: true,\r\n },\r\n spacing: 10\r\n }\r\n});\r\n//# sourceMappingURL=host-config.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.GlobalRegistry = exports.CardObjectRegistry = void 0;\r\nvar serialization_1 = require(\"./serialization\");\r\nvar CardObjectRegistry = /** @class */ (function () {\r\n function CardObjectRegistry() {\r\n this._items = {};\r\n }\r\n CardObjectRegistry.prototype.findByName = function (typeName) {\r\n return this._items.hasOwnProperty(typeName) ? this._items[typeName] : undefined;\r\n };\r\n CardObjectRegistry.prototype.clear = function () {\r\n this._items = {};\r\n };\r\n CardObjectRegistry.prototype.copyTo = function (target) {\r\n var keys = Object.keys(this._items);\r\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\r\n var key = keys_1[_i];\r\n var typeRegistration = this._items[key];\r\n target.register(typeRegistration.typeName, typeRegistration.objectType, typeRegistration.schemaVersion);\r\n }\r\n };\r\n CardObjectRegistry.prototype.register = function (typeName, objectType, schemaVersion) {\r\n if (schemaVersion === void 0) { schemaVersion = serialization_1.Versions.v1_0; }\r\n var registrationInfo = this.findByName(typeName);\r\n if (registrationInfo !== undefined) {\r\n registrationInfo.objectType = objectType;\r\n }\r\n else {\r\n registrationInfo = {\r\n typeName: typeName,\r\n objectType: objectType,\r\n schemaVersion: schemaVersion\r\n };\r\n }\r\n this._items[typeName] = registrationInfo;\r\n };\r\n CardObjectRegistry.prototype.unregister = function (typeName) {\r\n delete this._items[typeName];\r\n };\r\n CardObjectRegistry.prototype.createInstance = function (typeName, targetVersion) {\r\n var registrationInfo = this.findByName(typeName);\r\n return (registrationInfo && registrationInfo.schemaVersion.compareTo(targetVersion) <= 0) ? new registrationInfo.objectType() : undefined;\r\n };\r\n CardObjectRegistry.prototype.getItemCount = function () {\r\n return Object.keys(this._items).length;\r\n };\r\n CardObjectRegistry.prototype.getItemAt = function (index) {\r\n var _this = this;\r\n return Object.keys(this._items).map(function (e) { return _this._items[e]; })[index];\r\n };\r\n return CardObjectRegistry;\r\n}());\r\nexports.CardObjectRegistry = CardObjectRegistry;\r\nvar GlobalRegistry = /** @class */ (function () {\r\n function GlobalRegistry() {\r\n }\r\n GlobalRegistry.populateWithDefaultElements = function (registry) {\r\n registry.clear();\r\n GlobalRegistry.defaultElements.copyTo(registry);\r\n };\r\n GlobalRegistry.populateWithDefaultActions = function (registry) {\r\n registry.clear();\r\n GlobalRegistry.defaultActions.copyTo(registry);\r\n };\r\n Object.defineProperty(GlobalRegistry, \"elements\", {\r\n get: function () {\r\n if (!GlobalRegistry._elements) {\r\n GlobalRegistry._elements = new CardObjectRegistry();\r\n GlobalRegistry.populateWithDefaultElements(GlobalRegistry._elements);\r\n }\r\n return GlobalRegistry._elements;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(GlobalRegistry, \"actions\", {\r\n get: function () {\r\n if (!GlobalRegistry._actions) {\r\n GlobalRegistry._actions = new CardObjectRegistry();\r\n GlobalRegistry.populateWithDefaultActions(GlobalRegistry._actions);\r\n }\r\n return GlobalRegistry._actions;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n GlobalRegistry.reset = function () {\r\n GlobalRegistry._elements = undefined;\r\n GlobalRegistry._actions = undefined;\r\n };\r\n GlobalRegistry.defaultElements = new CardObjectRegistry();\r\n GlobalRegistry.defaultActions = new CardObjectRegistry();\r\n return GlobalRegistry;\r\n}());\r\nexports.GlobalRegistry = GlobalRegistry;\r\n//# sourceMappingURL=registry.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.SerializableObject = exports.property = exports.SerializableObjectSchema = exports.CustomProperty = exports.SerializableObjectCollectionProperty = exports.SerializableObjectProperty = exports.EnumProperty = exports.ValueSetProperty = exports.StringArrayProperty = exports.PixelSizeProperty = exports.NumProperty = exports.BoolProperty = exports.StringProperty = exports.PropertyDefinition = exports.BaseSerializationContext = exports.isVersionLessOrEqual = exports.Versions = exports.Version = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar shared_1 = require(\"./shared\");\r\nvar Utils = require(\"./utils\");\r\nvar Enums = require(\"./enums\");\r\nvar strings_1 = require(\"./strings\");\r\nvar Version = /** @class */ (function () {\r\n function Version(major, minor, label) {\r\n if (major === void 0) { major = 1; }\r\n if (minor === void 0) { minor = 1; }\r\n this._isValid = true;\r\n this._major = major;\r\n this._minor = minor;\r\n this._label = label;\r\n }\r\n Version.parse = function (versionString, context) {\r\n if (!versionString) {\r\n return undefined;\r\n }\r\n var result = new Version();\r\n result._versionString = versionString;\r\n var regEx = /(\\d+).(\\d+)/gi;\r\n var matches = regEx.exec(versionString);\r\n if (matches != null && matches.length == 3) {\r\n result._major = parseInt(matches[1]);\r\n result._minor = parseInt(matches[2]);\r\n }\r\n else {\r\n result._isValid = false;\r\n }\r\n if (!result._isValid) {\r\n context.logParseEvent(undefined, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidVersionString(result._versionString));\r\n }\r\n return result;\r\n };\r\n Version.prototype.toString = function () {\r\n return !this._isValid ? this._versionString : this._major + \".\" + this._minor;\r\n };\r\n Version.prototype.toJSON = function () {\r\n return this.toString();\r\n };\r\n Version.prototype.compareTo = function (otherVersion) {\r\n if (!this.isValid || !otherVersion.isValid) {\r\n throw new Error(\"Cannot compare invalid version.\");\r\n }\r\n if (this.major > otherVersion.major) {\r\n return 1;\r\n }\r\n else if (this.major < otherVersion.major) {\r\n return -1;\r\n }\r\n else if (this.minor > otherVersion.minor) {\r\n return 1;\r\n }\r\n else if (this.minor < otherVersion.minor) {\r\n return -1;\r\n }\r\n return 0;\r\n };\r\n Object.defineProperty(Version.prototype, \"label\", {\r\n get: function () {\r\n return this._label ? this._label : this.toString();\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Version.prototype, \"major\", {\r\n get: function () {\r\n return this._major;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Version.prototype, \"minor\", {\r\n get: function () {\r\n return this._minor;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(Version.prototype, \"isValid\", {\r\n get: function () {\r\n return this._isValid;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return Version;\r\n}());\r\nexports.Version = Version;\r\nvar Versions = /** @class */ (function () {\r\n function Versions() {\r\n }\r\n Versions.v1_0 = new Version(1, 0);\r\n Versions.v1_1 = new Version(1, 1);\r\n Versions.v1_2 = new Version(1, 2);\r\n Versions.v1_3 = new Version(1, 3);\r\n Versions.v1_4 = new Version(1, 4);\r\n Versions.v1_5 = new Version(1, 5);\r\n Versions.latest = Versions.v1_5;\r\n return Versions;\r\n}());\r\nexports.Versions = Versions;\r\nfunction isVersionLessOrEqual(version, targetVersion) {\r\n if (version instanceof Version) {\r\n if (targetVersion instanceof Version) {\r\n return targetVersion.compareTo(version) >= 0;\r\n }\r\n else {\r\n // Target version is *\r\n return true;\r\n }\r\n }\r\n else {\r\n // Version is *\r\n return true;\r\n }\r\n}\r\nexports.isVersionLessOrEqual = isVersionLessOrEqual;\r\nvar BaseSerializationContext = /** @class */ (function () {\r\n function BaseSerializationContext(targetVersion) {\r\n if (targetVersion === void 0) { targetVersion = Versions.latest; }\r\n this.targetVersion = targetVersion;\r\n this._validationEvents = [];\r\n }\r\n BaseSerializationContext.prototype.serializeValue = function (target, propertyName, propertyValue, defaultValue, forceDeleteIfNullOrDefault) {\r\n if (defaultValue === void 0) { defaultValue = undefined; }\r\n if (forceDeleteIfNullOrDefault === void 0) { forceDeleteIfNullOrDefault = false; }\r\n if (propertyValue === null || propertyValue === undefined || propertyValue === defaultValue) {\r\n if (!shared_1.GlobalSettings.enableFullJsonRoundTrip || forceDeleteIfNullOrDefault) {\r\n delete target[propertyName];\r\n }\r\n }\r\n else if (propertyValue === defaultValue) {\r\n delete target[propertyName];\r\n }\r\n else {\r\n target[propertyName] = propertyValue;\r\n }\r\n };\r\n BaseSerializationContext.prototype.serializeString = function (target, propertyName, propertyValue, defaultValue) {\r\n if (propertyValue === null || propertyValue === undefined || propertyValue === defaultValue) {\r\n delete target[propertyName];\r\n }\r\n else {\r\n target[propertyName] = propertyValue;\r\n }\r\n };\r\n BaseSerializationContext.prototype.serializeBool = function (target, propertyName, propertyValue, defaultValue) {\r\n if (propertyValue === null || propertyValue === undefined || propertyValue === defaultValue) {\r\n delete target[propertyName];\r\n }\r\n else {\r\n target[propertyName] = propertyValue;\r\n }\r\n };\r\n BaseSerializationContext.prototype.serializeNumber = function (target, propertyName, propertyValue, defaultValue) {\r\n if (propertyValue === null || propertyValue === undefined || propertyValue === defaultValue || isNaN(propertyValue)) {\r\n delete target[propertyName];\r\n }\r\n else {\r\n target[propertyName] = propertyValue;\r\n }\r\n };\r\n BaseSerializationContext.prototype.serializeEnum = function (enumType, target, propertyName, propertyValue, defaultValue) {\r\n if (defaultValue === void 0) { defaultValue = undefined; }\r\n if (propertyValue === null || propertyValue === undefined || propertyValue === defaultValue) {\r\n delete target[propertyName];\r\n }\r\n else {\r\n target[propertyName] = enumType[propertyValue];\r\n }\r\n };\r\n BaseSerializationContext.prototype.serializeArray = function (target, propertyName, propertyValue) {\r\n var items = [];\r\n if (propertyValue) {\r\n for (var _i = 0, propertyValue_1 = propertyValue; _i < propertyValue_1.length; _i++) {\r\n var item = propertyValue_1[_i];\r\n var serializedItem = undefined;\r\n if (item instanceof SerializableObject) {\r\n serializedItem = item.toJSON(this);\r\n }\r\n else if (item.toJSON) {\r\n serializedItem = item.toJSON();\r\n }\r\n else {\r\n serializedItem = item;\r\n }\r\n if (serializedItem !== undefined) {\r\n items.push(serializedItem);\r\n }\r\n }\r\n }\r\n if (items.length == 0) {\r\n if (target.hasOwnProperty(propertyName) && Array.isArray(target[propertyName])) {\r\n delete target[propertyName];\r\n }\r\n }\r\n else {\r\n this.serializeValue(target, propertyName, items);\r\n }\r\n };\r\n BaseSerializationContext.prototype.clearEvents = function () {\r\n this._validationEvents = [];\r\n };\r\n BaseSerializationContext.prototype.logEvent = function (source, phase, event, message) {\r\n this._validationEvents.push({\r\n source: source,\r\n phase: phase,\r\n event: event,\r\n message: message\r\n });\r\n };\r\n BaseSerializationContext.prototype.logParseEvent = function (source, event, message) {\r\n this.logEvent(source, Enums.ValidationPhase.Parse, event, message);\r\n };\r\n BaseSerializationContext.prototype.getEventAt = function (index) {\r\n return this._validationEvents[index];\r\n };\r\n Object.defineProperty(BaseSerializationContext.prototype, \"eventCount\", {\r\n get: function () {\r\n return this._validationEvents.length;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return BaseSerializationContext;\r\n}());\r\nexports.BaseSerializationContext = BaseSerializationContext;\r\nvar SimpleSerializationContext = /** @class */ (function (_super) {\r\n __extends(SimpleSerializationContext, _super);\r\n function SimpleSerializationContext() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n return SimpleSerializationContext;\r\n}(BaseSerializationContext));\r\nvar PropertyDefinition = /** @class */ (function () {\r\n function PropertyDefinition(targetVersion, name, defaultValue, onGetInitialValue) {\r\n this.targetVersion = targetVersion;\r\n this.name = name;\r\n this.defaultValue = defaultValue;\r\n this.onGetInitialValue = onGetInitialValue;\r\n this.isSerializationEnabled = true;\r\n this.sequentialNumber = PropertyDefinition._sequentialNumber;\r\n PropertyDefinition._sequentialNumber++;\r\n }\r\n PropertyDefinition.prototype.getInternalName = function () {\r\n return this.name;\r\n };\r\n PropertyDefinition.prototype.parse = function (sender, source, context) {\r\n return source[this.name];\r\n };\r\n PropertyDefinition.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeValue(target, this.name, value, this.defaultValue);\r\n };\r\n PropertyDefinition._sequentialNumber = 0;\r\n return PropertyDefinition;\r\n}());\r\nexports.PropertyDefinition = PropertyDefinition;\r\nvar StringProperty = /** @class */ (function (_super) {\r\n __extends(StringProperty, _super);\r\n function StringProperty(targetVersion, name, treatEmptyAsUndefined, regEx, defaultValue, onGetInitialValue) {\r\n if (treatEmptyAsUndefined === void 0) { treatEmptyAsUndefined = true; }\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.treatEmptyAsUndefined = treatEmptyAsUndefined;\r\n _this.regEx = regEx;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n return _this;\r\n }\r\n StringProperty.prototype.parse = function (sender, source, context) {\r\n var parsedValue = Utils.parseString(source[this.name], this.defaultValue);\r\n var isUndefined = parsedValue === undefined || (parsedValue === \"\" && this.treatEmptyAsUndefined);\r\n if (!isUndefined && this.regEx !== undefined) {\r\n var matches = this.regEx.exec(parsedValue);\r\n if (!matches) {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(parsedValue, this.name));\r\n return undefined;\r\n }\r\n }\r\n return parsedValue;\r\n };\r\n StringProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeString(target, this.name, value === \"\" && this.treatEmptyAsUndefined ? undefined : value, this.defaultValue);\r\n };\r\n return StringProperty;\r\n}(PropertyDefinition));\r\nexports.StringProperty = StringProperty;\r\nvar BoolProperty = /** @class */ (function (_super) {\r\n __extends(BoolProperty, _super);\r\n function BoolProperty(targetVersion, name, defaultValue, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n return _this;\r\n }\r\n BoolProperty.prototype.parse = function (sender, source, context) {\r\n return Utils.parseBool(source[this.name], this.defaultValue);\r\n };\r\n BoolProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeBool(target, this.name, value, this.defaultValue);\r\n };\r\n return BoolProperty;\r\n}(PropertyDefinition));\r\nexports.BoolProperty = BoolProperty;\r\nvar NumProperty = /** @class */ (function (_super) {\r\n __extends(NumProperty, _super);\r\n function NumProperty(targetVersion, name, defaultValue, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n return _this;\r\n }\r\n NumProperty.prototype.parse = function (sender, source, context) {\r\n return Utils.parseNumber(source[this.name], this.defaultValue);\r\n };\r\n NumProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeNumber(target, this.name, value, this.defaultValue);\r\n };\r\n return NumProperty;\r\n}(PropertyDefinition));\r\nexports.NumProperty = NumProperty;\r\nvar PixelSizeProperty = /** @class */ (function (_super) {\r\n __extends(PixelSizeProperty, _super);\r\n function PixelSizeProperty() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n PixelSizeProperty.prototype.parse = function (sender, source, context) {\r\n var result = undefined;\r\n var value = source[this.name];\r\n if (typeof value === \"string\") {\r\n var isValid = false;\r\n try {\r\n var size = shared_1.SizeAndUnit.parse(value, true);\r\n if (size.unit == Enums.SizeUnit.Pixel) {\r\n result = size.physicalSize;\r\n isValid = true;\r\n }\r\n }\r\n catch (_a) {\r\n // Do nothing. A parse error is emitted below\r\n }\r\n if (!isValid) {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(source[this.name], \"minHeight\"));\r\n }\r\n }\r\n return result;\r\n };\r\n PixelSizeProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeValue(target, this.name, typeof value === \"number\" && !isNaN(value) ? value + \"px\" : undefined);\r\n };\r\n return PixelSizeProperty;\r\n}(PropertyDefinition));\r\nexports.PixelSizeProperty = PixelSizeProperty;\r\nvar StringArrayProperty = /** @class */ (function (_super) {\r\n __extends(StringArrayProperty, _super);\r\n function StringArrayProperty(targetVersion, name, defaultValue, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n return _this;\r\n }\r\n StringArrayProperty.prototype.parse = function (sender, source, context) {\r\n var sourceValue = source[this.name];\r\n if (sourceValue === undefined || !Array.isArray(sourceValue)) {\r\n return this.defaultValue;\r\n }\r\n var result = [];\r\n for (var _i = 0, sourceValue_1 = sourceValue; _i < sourceValue_1.length; _i++) {\r\n var value = sourceValue_1[_i];\r\n if (typeof value === \"string\") {\r\n result.push(value);\r\n }\r\n else {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, \"Invalid array value \\\"\" + value + \"\\\" of type \\\"\" + typeof value + \"\\\" ignored for \\\"\" + this.name + \"\\\".\");\r\n }\r\n }\r\n return result;\r\n };\r\n StringArrayProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeArray(target, this.name, value);\r\n };\r\n return StringArrayProperty;\r\n}(PropertyDefinition));\r\nexports.StringArrayProperty = StringArrayProperty;\r\nvar ValueSetProperty = /** @class */ (function (_super) {\r\n __extends(ValueSetProperty, _super);\r\n function ValueSetProperty(targetVersion, name, values, defaultValue, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.values = values;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n return _this;\r\n }\r\n ValueSetProperty.prototype.isValidValue = function (value, context) {\r\n for (var _i = 0, _a = this.values; _i < _a.length; _i++) {\r\n var versionedValue = _a[_i];\r\n if (value.toLowerCase() === versionedValue.value.toLowerCase()) {\r\n var targetVersion = versionedValue.targetVersion ? versionedValue.targetVersion : this.targetVersion;\r\n return targetVersion.compareTo(context.targetVersion) <= 0;\r\n }\r\n }\r\n return false;\r\n };\r\n ValueSetProperty.prototype.parse = function (sender, source, context) {\r\n var sourceValue = source[this.name];\r\n if (sourceValue === undefined) {\r\n return this.defaultValue;\r\n }\r\n if (typeof sourceValue === \"string\") {\r\n for (var _i = 0, _a = this.values; _i < _a.length; _i++) {\r\n var versionedValue = _a[_i];\r\n if (sourceValue.toLowerCase() === versionedValue.value.toLowerCase()) {\r\n var targetVersion = versionedValue.targetVersion ? versionedValue.targetVersion : this.targetVersion;\r\n if (targetVersion.compareTo(context.targetVersion) <= 0) {\r\n return versionedValue.value;\r\n }\r\n else {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.propertyValueNotSupported(sourceValue, this.name, targetVersion.toString(), context.targetVersion.toString()));\r\n return this.defaultValue;\r\n }\r\n }\r\n }\r\n }\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(sourceValue, this.name));\r\n return this.defaultValue;\r\n };\r\n ValueSetProperty.prototype.toJSON = function (sender, target, value, context) {\r\n var invalidValue = false;\r\n if (value !== undefined) {\r\n invalidValue = true;\r\n for (var _i = 0, _a = this.values; _i < _a.length; _i++) {\r\n var versionedValue = _a[_i];\r\n if (versionedValue.value === value) {\r\n var targetVersion = versionedValue.targetVersion ? versionedValue.targetVersion : this.targetVersion;\r\n if (targetVersion.compareTo(context.targetVersion) <= 0) {\r\n invalidValue = false;\r\n break;\r\n }\r\n else {\r\n context.logEvent(sender, Enums.ValidationPhase.ToJSON, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.propertyValueNotSupported(value, this.name, targetVersion.toString(), context.targetVersion.toString()));\r\n }\r\n }\r\n }\r\n }\r\n if (!invalidValue) {\r\n context.serializeValue(target, this.name, value, this.defaultValue, true);\r\n }\r\n };\r\n return ValueSetProperty;\r\n}(PropertyDefinition));\r\nexports.ValueSetProperty = ValueSetProperty;\r\nvar EnumProperty = /** @class */ (function (_super) {\r\n __extends(EnumProperty, _super);\r\n function EnumProperty(targetVersion, name, enumType, defaultValue, values, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.enumType = enumType;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n _this._values = [];\r\n if (!values) {\r\n for (var key in enumType) {\r\n var keyAsNumber = parseInt(key, 10);\r\n if (keyAsNumber >= 0) {\r\n _this._values.push({ value: keyAsNumber });\r\n }\r\n }\r\n }\r\n else {\r\n _this._values = values;\r\n }\r\n return _this;\r\n }\r\n EnumProperty.prototype.parse = function (sender, source, context) {\r\n var sourceValue = source[this.name];\r\n if (typeof sourceValue !== \"string\") {\r\n return this.defaultValue;\r\n }\r\n var enumValue = Utils.getEnumValueByName(this.enumType, sourceValue);\r\n if (enumValue !== undefined) {\r\n for (var _i = 0, _a = this.values; _i < _a.length; _i++) {\r\n var versionedValue = _a[_i];\r\n if (versionedValue.value === enumValue) {\r\n var targetVersion = versionedValue.targetVersion ? versionedValue.targetVersion : this.targetVersion;\r\n if (targetVersion.compareTo(context.targetVersion) <= 0) {\r\n return enumValue;\r\n }\r\n else {\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.propertyValueNotSupported(sourceValue, this.name, targetVersion.toString(), context.targetVersion.toString()));\r\n return this.defaultValue;\r\n }\r\n }\r\n }\r\n }\r\n context.logParseEvent(sender, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(sourceValue, this.name));\r\n return this.defaultValue;\r\n };\r\n EnumProperty.prototype.toJSON = function (sender, target, value, context) {\r\n var invalidValue = false;\r\n if (value !== undefined) {\r\n invalidValue = true;\r\n for (var _i = 0, _a = this.values; _i < _a.length; _i++) {\r\n var versionedValue = _a[_i];\r\n if (versionedValue.value === value) {\r\n var targetVersion = versionedValue.targetVersion ? versionedValue.targetVersion : this.targetVersion;\r\n if (targetVersion.compareTo(context.targetVersion) <= 0) {\r\n invalidValue = false;\r\n break;\r\n }\r\n else {\r\n context.logEvent(sender, Enums.ValidationPhase.ToJSON, Enums.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidPropertyValue(value, this.name));\r\n }\r\n }\r\n }\r\n }\r\n if (!invalidValue) {\r\n context.serializeEnum(this.enumType, target, this.name, value, this.defaultValue);\r\n }\r\n };\r\n Object.defineProperty(EnumProperty.prototype, \"values\", {\r\n get: function () {\r\n return this._values;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return EnumProperty;\r\n}(PropertyDefinition));\r\nexports.EnumProperty = EnumProperty;\r\nvar SerializableObjectProperty = /** @class */ (function (_super) {\r\n __extends(SerializableObjectProperty, _super);\r\n function SerializableObjectProperty(targetVersion, name, objectType, nullable, defaultValue) {\r\n if (nullable === void 0) { nullable = false; }\r\n var _this = _super.call(this, targetVersion, name, defaultValue, function (sender) { return _this.nullable ? undefined : new _this.objectType(); }) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.objectType = objectType;\r\n _this.nullable = nullable;\r\n return _this;\r\n }\r\n SerializableObjectProperty.prototype.parse = function (sender, source, context) {\r\n var sourceValue = source[this.name];\r\n if (sourceValue === undefined) {\r\n return this.onGetInitialValue ? this.onGetInitialValue(sender) : this.defaultValue;\r\n }\r\n var result = new this.objectType();\r\n result.parse(sourceValue, context);\r\n return result;\r\n };\r\n SerializableObjectProperty.prototype.toJSON = function (sender, target, value, context) {\r\n var serializedValue = undefined;\r\n if (value !== undefined && !value.hasAllDefaultValues()) {\r\n serializedValue = value.toJSON(context);\r\n }\r\n if (typeof serializedValue === \"object\" && Object.keys(serializedValue).length === 0) {\r\n serializedValue = undefined;\r\n }\r\n context.serializeValue(target, this.name, serializedValue, this.defaultValue, true);\r\n };\r\n return SerializableObjectProperty;\r\n}(PropertyDefinition));\r\nexports.SerializableObjectProperty = SerializableObjectProperty;\r\nvar SerializableObjectCollectionProperty = /** @class */ (function (_super) {\r\n __extends(SerializableObjectCollectionProperty, _super);\r\n function SerializableObjectCollectionProperty(targetVersion, name, objectType, onItemAdded) {\r\n var _this = _super.call(this, targetVersion, name, undefined, function (sender) { return []; }) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.objectType = objectType;\r\n _this.onItemAdded = onItemAdded;\r\n return _this;\r\n }\r\n SerializableObjectCollectionProperty.prototype.parse = function (sender, source, context) {\r\n var result = [];\r\n var sourceCollection = source[this.name];\r\n if (Array.isArray(sourceCollection)) {\r\n for (var _i = 0, sourceCollection_1 = sourceCollection; _i < sourceCollection_1.length; _i++) {\r\n var sourceItem = sourceCollection_1[_i];\r\n var item = new this.objectType();\r\n item.parse(sourceItem, context);\r\n result.push(item);\r\n if (this.onItemAdded) {\r\n this.onItemAdded(sender, item);\r\n }\r\n }\r\n }\r\n return result.length > 0 ? result : (this.onGetInitialValue ? this.onGetInitialValue(sender) : undefined);\r\n };\r\n SerializableObjectCollectionProperty.prototype.toJSON = function (sender, target, value, context) {\r\n context.serializeArray(target, this.name, value);\r\n };\r\n return SerializableObjectCollectionProperty;\r\n}(PropertyDefinition));\r\nexports.SerializableObjectCollectionProperty = SerializableObjectCollectionProperty;\r\nvar CustomProperty = /** @class */ (function (_super) {\r\n __extends(CustomProperty, _super);\r\n function CustomProperty(targetVersion, name, onParse, onToJSON, defaultValue, onGetInitialValue) {\r\n var _this = _super.call(this, targetVersion, name, defaultValue, onGetInitialValue) || this;\r\n _this.targetVersion = targetVersion;\r\n _this.name = name;\r\n _this.onParse = onParse;\r\n _this.onToJSON = onToJSON;\r\n _this.defaultValue = defaultValue;\r\n _this.onGetInitialValue = onGetInitialValue;\r\n if (!_this.onParse) {\r\n throw new Error(\"CustomPropertyDefinition instances must have an onParse handler.\");\r\n }\r\n if (!_this.onToJSON) {\r\n throw new Error(\"CustomPropertyDefinition instances must have an onToJSON handler.\");\r\n }\r\n return _this;\r\n }\r\n CustomProperty.prototype.parse = function (sender, source, context) {\r\n return this.onParse(sender, this, source, context);\r\n };\r\n CustomProperty.prototype.toJSON = function (sender, target, value, context) {\r\n this.onToJSON(sender, this, target, value, context);\r\n };\r\n return CustomProperty;\r\n}(PropertyDefinition));\r\nexports.CustomProperty = CustomProperty;\r\nvar SerializableObjectSchema = /** @class */ (function () {\r\n function SerializableObjectSchema() {\r\n this._properties = [];\r\n }\r\n SerializableObjectSchema.prototype.indexOf = function (property) {\r\n for (var i = 0; i < this._properties.length; i++) {\r\n if (this._properties[i] === property) {\r\n return i;\r\n }\r\n }\r\n return -1;\r\n };\r\n SerializableObjectSchema.prototype.add = function () {\r\n var properties = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n properties[_i] = arguments[_i];\r\n }\r\n for (var i = 0; i < properties.length; i++) {\r\n if (this.indexOf(properties[i]) === -1) {\r\n this._properties.push(properties[i]);\r\n }\r\n }\r\n };\r\n SerializableObjectSchema.prototype.remove = function () {\r\n var properties = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n properties[_i] = arguments[_i];\r\n }\r\n for (var _a = 0, properties_1 = properties; _a < properties_1.length; _a++) {\r\n var property_1 = properties_1[_a];\r\n while (true) {\r\n var index = this.indexOf(property_1);\r\n if (index >= 0) {\r\n this._properties.splice(index, 1);\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n }\r\n };\r\n SerializableObjectSchema.prototype.getItemAt = function (index) {\r\n return this._properties[index];\r\n };\r\n SerializableObjectSchema.prototype.getCount = function () {\r\n return this._properties.length;\r\n };\r\n return SerializableObjectSchema;\r\n}());\r\nexports.SerializableObjectSchema = SerializableObjectSchema;\r\n// This is a decorator function, used to map SerializableObject descendant class members to\r\n// schema properties\r\nfunction property(property) {\r\n return function (target, propertyKey) {\r\n var descriptor = Object.getOwnPropertyDescriptor(target, propertyKey) || {};\r\n if (!descriptor.get && !descriptor.set) {\r\n descriptor.get = function () { return this.getValue(property); };\r\n descriptor.set = function (value) { this.setValue(property, value); };\r\n Object.defineProperty(target, propertyKey, descriptor);\r\n }\r\n };\r\n}\r\nexports.property = property;\r\nvar SerializableObject = /** @class */ (function () {\r\n function SerializableObject() {\r\n this._propertyBag = {};\r\n this._rawProperties = {};\r\n this.maxVersion = SerializableObject.defaultMaxVersion;\r\n var s = this.getSchema();\r\n for (var i = 0; i < s.getCount(); i++) {\r\n var property_2 = s.getItemAt(i);\r\n if (property_2.onGetInitialValue) {\r\n this.setValue(property_2, property_2.onGetInitialValue(this));\r\n }\r\n }\r\n }\r\n SerializableObject.prototype.getDefaultSerializationContext = function () {\r\n return new SimpleSerializationContext();\r\n };\r\n SerializableObject.prototype.populateSchema = function (schema) {\r\n var ctor = this.constructor;\r\n var properties = [];\r\n for (var propertyName in ctor) {\r\n try {\r\n var propertyValue = ctor[propertyName];\r\n if (propertyValue instanceof PropertyDefinition) {\r\n properties.push(propertyValue);\r\n }\r\n }\r\n catch (_a) {\r\n // If a property happens to have a getter function and\r\n // it throws an exception, we need to catch it here\r\n }\r\n }\r\n if (properties.length > 0) {\r\n var sortedProperties = properties.sort(function (p1, p2) {\r\n if (p1.sequentialNumber > p2.sequentialNumber) {\r\n return 1;\r\n }\r\n else if (p1.sequentialNumber < p2.sequentialNumber) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n schema.add.apply(schema, sortedProperties);\r\n }\r\n if (SerializableObject.onRegisterCustomProperties) {\r\n SerializableObject.onRegisterCustomProperties(this, schema);\r\n }\r\n };\r\n SerializableObject.prototype.getValue = function (property) {\r\n return this._propertyBag.hasOwnProperty(property.getInternalName()) ? this._propertyBag[property.getInternalName()] : property.defaultValue;\r\n };\r\n SerializableObject.prototype.setValue = function (property, value) {\r\n if (value === undefined || value === null) {\r\n delete this._propertyBag[property.getInternalName()];\r\n }\r\n else {\r\n this._propertyBag[property.getInternalName()] = value;\r\n }\r\n };\r\n SerializableObject.prototype.internalParse = function (source, context) {\r\n this._propertyBag = {};\r\n this._rawProperties = shared_1.GlobalSettings.enableFullJsonRoundTrip ? (source ? source : {}) : {};\r\n if (source) {\r\n var s = this.getSchema();\r\n for (var i = 0; i < s.getCount(); i++) {\r\n var property_3 = s.getItemAt(i);\r\n if (property_3.isSerializationEnabled) {\r\n var propertyValue = property_3.onGetInitialValue ? property_3.onGetInitialValue(this) : undefined;\r\n if (source.hasOwnProperty(property_3.name)) {\r\n if (property_3.targetVersion.compareTo(context.targetVersion) <= 0) {\r\n propertyValue = property_3.parse(this, source, context);\r\n }\r\n else {\r\n context.logParseEvent(this, Enums.ValidationEvent.UnsupportedProperty, strings_1.Strings.errors.propertyNotSupported(property_3.name, property_3.targetVersion.toString(), context.targetVersion.toString()));\r\n }\r\n }\r\n this.setValue(property_3, propertyValue);\r\n }\r\n }\r\n }\r\n else {\r\n this.resetDefaultValues();\r\n }\r\n };\r\n SerializableObject.prototype.internalToJSON = function (target, context) {\r\n var s = this.getSchema();\r\n var serializedProperties = [];\r\n for (var i = 0; i < s.getCount(); i++) {\r\n var property_4 = s.getItemAt(i);\r\n // Avoid serializing the same property multiple times. This is necessary\r\n // because some property definitions map to the same underlying schema\r\n // property\r\n if (property_4.isSerializationEnabled && property_4.targetVersion.compareTo(context.targetVersion) <= 0 && serializedProperties.indexOf(property_4.name) === -1) {\r\n property_4.toJSON(this, target, this.getValue(property_4), context);\r\n serializedProperties.push(property_4.name);\r\n }\r\n }\r\n };\r\n SerializableObject.prototype.shouldSerialize = function (context) {\r\n return true;\r\n };\r\n SerializableObject.prototype.parse = function (source, context) {\r\n this.internalParse(source, context ? context : new SimpleSerializationContext());\r\n };\r\n SerializableObject.prototype.toJSON = function (context) {\r\n var effectiveContext;\r\n if (context && context instanceof BaseSerializationContext) {\r\n effectiveContext = context;\r\n }\r\n else {\r\n effectiveContext = this.getDefaultSerializationContext();\r\n effectiveContext.toJSONOriginalParam = context;\r\n }\r\n if (this.shouldSerialize(effectiveContext)) {\r\n var result = void 0;\r\n if (shared_1.GlobalSettings.enableFullJsonRoundTrip && this._rawProperties && typeof this._rawProperties === \"object\") {\r\n result = this._rawProperties;\r\n }\r\n else {\r\n result = {};\r\n }\r\n this.internalToJSON(result, effectiveContext);\r\n return result;\r\n }\r\n else {\r\n return undefined;\r\n }\r\n };\r\n SerializableObject.prototype.hasDefaultValue = function (property) {\r\n return this.getValue(property) === property.defaultValue;\r\n };\r\n SerializableObject.prototype.hasAllDefaultValues = function () {\r\n var s = this.getSchema();\r\n for (var i = 0; i < s.getCount(); i++) {\r\n var property_5 = s.getItemAt(i);\r\n if (!this.hasDefaultValue(property_5)) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n };\r\n SerializableObject.prototype.resetDefaultValues = function () {\r\n var s = this.getSchema();\r\n for (var i = 0; i < s.getCount(); i++) {\r\n var property_6 = s.getItemAt(i);\r\n this.setValue(property_6, property_6.defaultValue);\r\n }\r\n };\r\n SerializableObject.prototype.setCustomProperty = function (name, value) {\r\n var shouldDeleteProperty = (typeof value === \"string\" && !value) || value === undefined || value === null;\r\n if (shouldDeleteProperty) {\r\n delete this._rawProperties[name];\r\n }\r\n else {\r\n this._rawProperties[name] = value;\r\n }\r\n };\r\n SerializableObject.prototype.getCustomProperty = function (name) {\r\n return this._rawProperties[name];\r\n };\r\n SerializableObject.prototype.getSchema = function () {\r\n var schema = SerializableObject._schemaCache[this.getSchemaKey()];\r\n if (!schema) {\r\n schema = new SerializableObjectSchema();\r\n this.populateSchema(schema);\r\n SerializableObject._schemaCache[this.getSchemaKey()] = schema;\r\n }\r\n return schema;\r\n };\r\n SerializableObject.defaultMaxVersion = Versions.latest;\r\n SerializableObject._schemaCache = {};\r\n return SerializableObject;\r\n}());\r\nexports.SerializableObject = SerializableObject;\r\n//# sourceMappingURL=serialization.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.UUID = exports.SizeAndUnit = exports.PaddingDefinition = exports.SpacingDefinition = exports.StringWithSubstitutions = exports.ContentTypes = exports.GlobalSettings = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Enums = require(\"./enums\");\r\nvar GlobalSettings = /** @class */ (function () {\r\n function GlobalSettings() {\r\n }\r\n GlobalSettings.useAdvancedTextBlockTruncation = true;\r\n GlobalSettings.useAdvancedCardBottomTruncation = false;\r\n GlobalSettings.useMarkdownInRadioButtonAndCheckbox = true;\r\n GlobalSettings.allowMarkForTextHighlighting = false;\r\n GlobalSettings.alwaysBleedSeparators = false;\r\n GlobalSettings.enableFullJsonRoundTrip = false;\r\n GlobalSettings.displayInputValidationErrors = true;\r\n GlobalSettings.allowPreProcessingPropertyValues = false;\r\n GlobalSettings.setTabIndexAtCardRoot = true;\r\n GlobalSettings.enableFallback = true;\r\n GlobalSettings.useWebkitLineClamp = true;\r\n GlobalSettings.allowMoreThanMaxActionsInOverflowMenu = false;\r\n GlobalSettings.applets = {\r\n logEnabled: true,\r\n logLevel: Enums.LogLevel.Error,\r\n maximumRetryAttempts: 3,\r\n defaultTimeBetweenRetryAttempts: 3000,\r\n authPromptWidth: 400,\r\n authPromptHeight: 600,\r\n refresh: {\r\n mode: Enums.RefreshMode.Manual,\r\n timeBetweenAutomaticRefreshes: 3000,\r\n maximumConsecutiveAutomaticRefreshes: 3,\r\n allowManualRefreshesAfterAutomaticRefreshes: true\r\n }\r\n };\r\n return GlobalSettings;\r\n}());\r\nexports.GlobalSettings = GlobalSettings;\r\nexports.ContentTypes = {\r\n applicationJson: \"application/json\",\r\n applicationXWwwFormUrlencoded: \"application/x-www-form-urlencoded\"\r\n};\r\nvar StringWithSubstitutions = /** @class */ (function () {\r\n function StringWithSubstitutions() {\r\n this._isProcessed = false;\r\n }\r\n StringWithSubstitutions.prototype.getReferencedInputs = function (inputs, referencedInputs) {\r\n if (!referencedInputs) {\r\n throw new Error(\"The referencedInputs parameter cannot be null.\");\r\n }\r\n for (var _i = 0, inputs_1 = inputs; _i < inputs_1.length; _i++) {\r\n var input = inputs_1[_i];\r\n var matches = new RegExp(\"\\\\{{2}(\" + input.id + \").value\\\\}{2}\", \"gi\").exec(this._original);\r\n if (matches != null && input.id) {\r\n referencedInputs[input.id] = input;\r\n }\r\n }\r\n };\r\n StringWithSubstitutions.prototype.substituteInputValues = function (inputs, contentType) {\r\n this._processed = this._original;\r\n if (this._original) {\r\n var regEx = /\\{{2}([a-z0-9_$@]+).value\\}{2}/gi;\r\n var matches = void 0;\r\n while ((matches = regEx.exec(this._original)) !== null) {\r\n for (var _i = 0, _a = Object.keys(inputs); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n if (key.toLowerCase() == matches[1].toLowerCase()) {\r\n var matchedInput = inputs[key];\r\n var valueForReplace = \"\";\r\n if (matchedInput.value) {\r\n valueForReplace = matchedInput.value;\r\n }\r\n if (contentType === exports.ContentTypes.applicationJson) {\r\n valueForReplace = JSON.stringify(valueForReplace);\r\n valueForReplace = valueForReplace.slice(1, -1);\r\n }\r\n else if (contentType === exports.ContentTypes.applicationXWwwFormUrlencoded) {\r\n valueForReplace = encodeURIComponent(valueForReplace);\r\n }\r\n this._processed = this._processed.replace(matches[0], valueForReplace);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n this._isProcessed = true;\r\n };\r\n StringWithSubstitutions.prototype.getOriginal = function () {\r\n return this._original;\r\n };\r\n StringWithSubstitutions.prototype.get = function () {\r\n if (!this._isProcessed) {\r\n return this._original;\r\n }\r\n else {\r\n return this._processed;\r\n }\r\n };\r\n StringWithSubstitutions.prototype.set = function (value) {\r\n this._original = value;\r\n this._isProcessed = false;\r\n };\r\n return StringWithSubstitutions;\r\n}());\r\nexports.StringWithSubstitutions = StringWithSubstitutions;\r\nvar SpacingDefinition = /** @class */ (function () {\r\n function SpacingDefinition(top, right, bottom, left) {\r\n if (top === void 0) { top = 0; }\r\n if (right === void 0) { right = 0; }\r\n if (bottom === void 0) { bottom = 0; }\r\n if (left === void 0) { left = 0; }\r\n this.left = 0;\r\n this.top = 0;\r\n this.right = 0;\r\n this.bottom = 0;\r\n this.top = top;\r\n this.right = right;\r\n this.bottom = bottom;\r\n this.left = left;\r\n }\r\n return SpacingDefinition;\r\n}());\r\nexports.SpacingDefinition = SpacingDefinition;\r\nvar PaddingDefinition = /** @class */ (function () {\r\n function PaddingDefinition(top, right, bottom, left) {\r\n if (top === void 0) { top = Enums.Spacing.None; }\r\n if (right === void 0) { right = Enums.Spacing.None; }\r\n if (bottom === void 0) { bottom = Enums.Spacing.None; }\r\n if (left === void 0) { left = Enums.Spacing.None; }\r\n this.top = Enums.Spacing.None;\r\n this.right = Enums.Spacing.None;\r\n this.bottom = Enums.Spacing.None;\r\n this.left = Enums.Spacing.None;\r\n this.top = top;\r\n this.right = right;\r\n this.bottom = bottom;\r\n this.left = left;\r\n }\r\n return PaddingDefinition;\r\n}());\r\nexports.PaddingDefinition = PaddingDefinition;\r\nvar SizeAndUnit = /** @class */ (function () {\r\n function SizeAndUnit(physicalSize, unit) {\r\n this.physicalSize = physicalSize;\r\n this.unit = unit;\r\n }\r\n SizeAndUnit.parse = function (input, requireUnitSpecifier) {\r\n if (requireUnitSpecifier === void 0) { requireUnitSpecifier = false; }\r\n var result = new SizeAndUnit(0, Enums.SizeUnit.Weight);\r\n if (typeof input === \"number\") {\r\n result.physicalSize = input;\r\n return result;\r\n }\r\n else if (typeof input === \"string\") {\r\n var regExp = /^([0-9]+)(px|\\*)?$/g;\r\n var matches = regExp.exec(input);\r\n var expectedMatchCount = requireUnitSpecifier ? 3 : 2;\r\n if (matches && matches.length >= expectedMatchCount) {\r\n result.physicalSize = parseInt(matches[1]);\r\n if (matches.length == 3) {\r\n if (matches[2] == \"px\") {\r\n result.unit = Enums.SizeUnit.Pixel;\r\n }\r\n }\r\n return result;\r\n }\r\n }\r\n throw new Error(\"Invalid size: \" + input);\r\n };\r\n return SizeAndUnit;\r\n}());\r\nexports.SizeAndUnit = SizeAndUnit;\r\n/**\r\n * Fast UUID generator, RFC4122 version 4 compliant.\r\n * @author Jeff Ward (jcward.com).\r\n * @license MIT license\r\n * @link http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/21963136#21963136\r\n **/\r\nvar UUID = /** @class */ (function () {\r\n function UUID() {\r\n }\r\n UUID.generate = function () {\r\n var d0 = Math.random() * 0xffffffff | 0;\r\n var d1 = Math.random() * 0xffffffff | 0;\r\n var d2 = Math.random() * 0xffffffff | 0;\r\n var d3 = Math.random() * 0xffffffff | 0;\r\n return UUID.lut[d0 & 0xff] + UUID.lut[d0 >> 8 & 0xff] + UUID.lut[d0 >> 16 & 0xff] + UUID.lut[d0 >> 24 & 0xff] + '-' +\r\n UUID.lut[d1 & 0xff] + UUID.lut[d1 >> 8 & 0xff] + '-' + UUID.lut[d1 >> 16 & 0x0f | 0x40] + UUID.lut[d1 >> 24 & 0xff] + '-' +\r\n UUID.lut[d2 & 0x3f | 0x80] + UUID.lut[d2 >> 8 & 0xff] + '-' + UUID.lut[d2 >> 16 & 0xff] + UUID.lut[d2 >> 24 & 0xff] +\r\n UUID.lut[d3 & 0xff] + UUID.lut[d3 >> 8 & 0xff] + UUID.lut[d3 >> 16 & 0xff] + UUID.lut[d3 >> 24 & 0xff];\r\n };\r\n UUID.initialize = function () {\r\n for (var i = 0; i < 256; i++) {\r\n UUID.lut[i] = (i < 16 ? '0' : '') + i.toString(16);\r\n }\r\n };\r\n UUID.lut = [];\r\n return UUID;\r\n}());\r\nexports.UUID = UUID;\r\nUUID.initialize();\r\n//# sourceMappingURL=shared.js.map","\"use strict\";\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Strings = void 0;\r\nvar Strings = /** @class */ (function () {\r\n function Strings() {\r\n }\r\n Strings.errors = {\r\n unknownElementType: function (typeName) { return \"Unknown element type \\\"\" + typeName + \"\\\". Fallback will be used if present.\"; },\r\n unknownActionType: function (typeName) { return \"Unknown action type \\\"\" + typeName + \"\\\". Fallback will be used if present.\"; },\r\n elementTypeNotAllowed: function (typeName) { return \"Element type \\\"\" + typeName + \"\\\" is not allowed in this context.\"; },\r\n actionTypeNotAllowed: function (typeName) { return \"Action type \\\"\" + typeName + \"\\\" is not allowed in this context.\"; },\r\n invalidPropertyValue: function (value, propertyName) { return \"Invalid value \\\"\" + value + \"\\\" for property \\\"\" + propertyName + \"\\\".\"; },\r\n showCardMustHaveCard: function () { return \"\\\"An Action.ShowCard must have its \\\"card\\\" property set to a valid AdaptiveCard object.\"; },\r\n invalidColumnWidth: function (invalidWidth) { return \"Invalid column width \\\"\" + invalidWidth + \"\\\" - defaulting to \\\"auto\\\".\"; },\r\n invalidCardVersion: function (defaultingToVersion) { return \"Invalid card version. Defaulting to \\\"\" + defaultingToVersion + \"\\\".\"; },\r\n invalidVersionString: function (versionString) { return \"Invalid version string \\\"\" + versionString + \"\\\".\"; },\r\n propertyValueNotSupported: function (value, propertyName, supportedInVersion, versionUsed) { return \"Value \\\"\" + value + \"\\\" for property \\\"\" + propertyName + \"\\\" is supported in version \" + supportedInVersion + \", but you are using version \" + versionUsed + \".\"; },\r\n propertyNotSupported: function (propertyName, supportedInVersion, versionUsed) { return \"Property \\\"\" + propertyName + \"\\\" is supported in version \" + supportedInVersion + \", but you are using version \" + versionUsed + \".\"; },\r\n indexOutOfRange: function (index) { return \"Index out of range (\" + index + \").\"; },\r\n elementCannotBeUsedAsInline: function () { return \"RichTextBlock.addInline: the specified card element cannot be used as a RichTextBlock inline.\"; },\r\n inlineAlreadyParented: function () { return \"RichTextBlock.addInline: the specified inline already belongs to another RichTextBlock.\"; },\r\n interactivityNotAllowed: function () { return \"Interactivity is not allowed.\"; },\r\n inputsMustHaveUniqueId: function () { return \"All inputs must have a unique Id.\"; },\r\n choiceSetMustHaveAtLeastOneChoice: function () { return \"An Input.ChoiceSet must have at least one choice defined.\"; },\r\n choiceSetChoicesMustHaveTitleAndValue: function () { return \"All choices in an Input.ChoiceSet must have their title and value properties set.\"; },\r\n propertyMustBeSet: function (propertyName) { return \"Property \\\"\" + propertyName + \"\\\" must be set.\"; },\r\n actionHttpHeadersMustHaveNameAndValue: function () { return \"All headers of an Action.Http must have their name and value properties set.\"; },\r\n tooManyActions: function (maximumActions) { return \"Maximum number of actions exceeded (\" + maximumActions + \").\"; },\r\n columnAlreadyBelongsToAnotherSet: function () { return \"This column already belongs to another ColumnSet.\"; },\r\n invalidCardType: function () { return \"Invalid or missing card type. Make sure the card's type property is set to \\\"AdaptiveCard\\\".\"; },\r\n unsupportedCardVersion: function (version, maxSupportedVersion) { return \"The specified card version (\" + version + \") is not supported. The maximum supported card version is \" + maxSupportedVersion + \".\"; },\r\n duplicateId: function (id) { return \"Duplicate Id \\\"\" + id + \"\\\".\"; },\r\n markdownProcessingNotEnabled: function () { return \"Markdown processing isn't enabled. Please see https://www.npmjs.com/package/adaptivecards#supporting-markdown\"; },\r\n processMarkdownEventRemoved: function () { return \"The processMarkdown event has been removed. Please update your code and set onProcessMarkdown instead.\"; },\r\n elementAlreadyParented: function () { return \"The element already belongs to another container.\"; },\r\n actionAlreadyParented: function () { return \"The action already belongs to another element.\"; },\r\n elementTypeNotStandalone: function (typeName) { return \"Elements of type \" + typeName + \" cannot be used as standalone elements.\"; }\r\n };\r\n Strings.magicCodeInputCard = {\r\n tryAgain: function () { return \"That didn't work... let's try again.\"; },\r\n pleaseLogin: function () { return \"Please login in the popup. You will obtain a magic code. Paste that code below and select \\\"Submit\\\"\"; },\r\n enterMagicCode: function () { return \"Enter magic code\"; },\r\n pleaseEnterMagicCodeYouReceived: function () { return \"Please enter the magic code you received.\"; },\r\n submit: function () { return \"Submit\"; },\r\n cancel: function () { return \"Cancel\"; },\r\n somethingWentWrong: function () { return \"Something went wrong. This action can't be handled.\"; },\r\n authenticationFailed: function () { return \"Authentication failed.\"; }\r\n };\r\n Strings.runtime = {\r\n automaticRefreshPaused: function () { return \"Automatic refresh paused.\"; },\r\n clckToRestartAutomaticRefresh: function () { return \"Click to restart.\"; },\r\n refreshThisCard: function () { return \"Refresh this card\"; }\r\n };\r\n Strings.hints = {\r\n dontUseWeightedAndStrecthedColumnsInSameSet: function () { return \"It is not recommended to use weighted and stretched columns in the same ColumnSet, because in such a situation stretched columns will always get the minimum amount of space.\"; }\r\n };\r\n Strings.defaults = {\r\n inlineActionTitle: function () { return \"Inline Action\"; },\r\n overflowButtonText: function () { return \"...\"; },\r\n mediaPlayerAriaLabel: function () { return \"Media content\"; },\r\n mediaPlayerPlayMedia: function () { return \"Play media\"; }\r\n };\r\n return Strings;\r\n}());\r\nexports.Strings = Strings;\r\n//# sourceMappingURL=strings.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n};\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.Table = exports.TableRow = exports.TableCell = exports.StylableContainer = exports.TableColumnDefinition = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar card_elements_1 = require(\"./card-elements\");\r\nvar enums_1 = require(\"./enums\");\r\nvar registry_1 = require(\"./registry\");\r\nvar serialization_1 = require(\"./serialization\");\r\nvar shared_1 = require(\"./shared\");\r\nvar strings_1 = require(\"./strings\");\r\nvar utils_1 = require(\"./utils\");\r\nvar TableColumnDefinition = /** @class */ (function (_super) {\r\n __extends(TableColumnDefinition, _super);\r\n function TableColumnDefinition() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this.width = new shared_1.SizeAndUnit(1, enums_1.SizeUnit.Weight);\r\n return _this;\r\n }\r\n TableColumnDefinition.prototype.getSchemaKey = function () {\r\n return \"ColumnDefinition\";\r\n };\r\n TableColumnDefinition.horizontalCellContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_5, \"horizontalCellContentAlignment\", enums_1.HorizontalAlignment);\r\n TableColumnDefinition.verticalCellContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_5, \"verticalCellContentAlignment\", enums_1.VerticalAlignment);\r\n TableColumnDefinition.widthProperty = new serialization_1.CustomProperty(serialization_1.Versions.v1_5, \"width\", function (sender, property, source, context) {\r\n var result = property.defaultValue;\r\n var value = source[property.name];\r\n var invalidWidth = false;\r\n if (typeof value === \"number\" && !isNaN(value)) {\r\n result = new shared_1.SizeAndUnit(value, enums_1.SizeUnit.Weight);\r\n }\r\n else if (typeof value === \"string\") {\r\n try {\r\n result = shared_1.SizeAndUnit.parse(value);\r\n }\r\n catch (e) {\r\n invalidWidth = true;\r\n }\r\n }\r\n else {\r\n invalidWidth = true;\r\n }\r\n if (invalidWidth) {\r\n context.logParseEvent(sender, enums_1.ValidationEvent.InvalidPropertyValue, strings_1.Strings.errors.invalidColumnWidth(value));\r\n }\r\n return result;\r\n }, function (sender, property, target, value, context) {\r\n if (value.unit === enums_1.SizeUnit.Pixel) {\r\n context.serializeValue(target, \"width\", value.physicalSize + \"px\");\r\n }\r\n else {\r\n context.serializeNumber(target, \"width\", value.physicalSize);\r\n }\r\n }, new shared_1.SizeAndUnit(1, enums_1.SizeUnit.Weight));\r\n __decorate([\r\n serialization_1.property(TableColumnDefinition.horizontalCellContentAlignmentProperty)\r\n ], TableColumnDefinition.prototype, \"horizontalCellContentAlignment\", void 0);\r\n __decorate([\r\n serialization_1.property(TableColumnDefinition.verticalCellContentAlignmentProperty)\r\n ], TableColumnDefinition.prototype, \"verticalCellContentAlignment\", void 0);\r\n __decorate([\r\n serialization_1.property(TableColumnDefinition.widthProperty)\r\n ], TableColumnDefinition.prototype, \"width\", void 0);\r\n return TableColumnDefinition;\r\n}(serialization_1.SerializableObject));\r\nexports.TableColumnDefinition = TableColumnDefinition;\r\nvar StylableContainer = /** @class */ (function (_super) {\r\n __extends(StylableContainer, _super);\r\n function StylableContainer() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._items = [];\r\n return _this;\r\n }\r\n StylableContainer.prototype.parseItem = function (source, context) {\r\n var _this = this;\r\n return context.parseCardObject(this, source, [], // Forbidden types not supported for elements for now\r\n !this.isDesignMode(), function (typeName) {\r\n return _this.createItemInstance(typeName);\r\n }, function (typeName, errorType) {\r\n context.logParseEvent(undefined, enums_1.ValidationEvent.ElementTypeNotAllowed, strings_1.Strings.errors.elementTypeNotAllowed(typeName));\r\n });\r\n };\r\n StylableContainer.prototype.internalAddItem = function (item) {\r\n if (!item.parent) {\r\n this._items.push(item);\r\n item.setParent(this);\r\n }\r\n else {\r\n throw new Error(strings_1.Strings.errors.elementAlreadyParented());\r\n }\r\n };\r\n StylableContainer.prototype.internalRemoveItem = function (item) {\r\n var itemIndex = this._items.indexOf(item);\r\n if (itemIndex >= 0) {\r\n this._items.splice(itemIndex, 1);\r\n item.setParent(undefined);\r\n this.updateLayout();\r\n return true;\r\n }\r\n return false;\r\n };\r\n StylableContainer.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this._items = [];\r\n var items = source[this.getCollectionPropertyName()];\r\n if (Array.isArray(items)) {\r\n for (var _i = 0, items_1 = items; _i < items_1.length; _i++) {\r\n var item = items_1[_i];\r\n var instance = this.parseItem(item, context);\r\n if (instance) {\r\n this._items.push(instance);\r\n }\r\n }\r\n }\r\n };\r\n StylableContainer.prototype.internalToJSON = function (target, context) {\r\n _super.prototype.internalToJSON.call(this, target, context);\r\n context.serializeArray(target, this.getCollectionPropertyName(), this._items);\r\n };\r\n StylableContainer.prototype.removeItem = function (item) {\r\n return this.internalRemoveItem(item);\r\n };\r\n StylableContainer.prototype.getItemCount = function () {\r\n return this._items.length;\r\n };\r\n StylableContainer.prototype.getItemAt = function (index) {\r\n return this._items[index];\r\n };\r\n StylableContainer.prototype.getFirstVisibleRenderedItem = function () {\r\n return this.getItemCount() > 0 ? this.getItemAt(0) : undefined;\r\n };\r\n StylableContainer.prototype.getLastVisibleRenderedItem = function () {\r\n return this.getItemCount() > 0 ? this.getItemAt(this.getItemCount() - 1) : undefined;\r\n };\r\n return StylableContainer;\r\n}(card_elements_1.StylableCardElementContainer));\r\nexports.StylableContainer = StylableContainer;\r\nvar TableCell = /** @class */ (function (_super) {\r\n __extends(TableCell, _super);\r\n function TableCell() {\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._columnIndex = -1;\r\n _this._cellType = \"data\";\r\n return _this;\r\n }\r\n TableCell.prototype.getHasBorder = function () {\r\n return this.parentRow.parentTable.showGridLines;\r\n };\r\n TableCell.prototype.applyBorder = function () {\r\n if (this.renderedElement && this.getHasBorder()) {\r\n var styleDefinition = this.hostConfig.containerStyles.getStyleByName(this.parentRow.parentTable.gridStyle);\r\n if (styleDefinition.borderColor) {\r\n var borderColor = utils_1.stringToCssColor(styleDefinition.borderColor);\r\n if (borderColor) {\r\n this.renderedElement.style.borderRight = \"1px solid \" + borderColor;\r\n this.renderedElement.style.borderBottom = \"1px solid \" + borderColor;\r\n }\r\n }\r\n }\r\n };\r\n TableCell.prototype.getDefaultPadding = function () {\r\n return this.getHasBackground() || this.getHasBorder() ?\r\n new shared_1.PaddingDefinition(enums_1.Spacing.Small, enums_1.Spacing.Small, enums_1.Spacing.Small, enums_1.Spacing.Small) : _super.prototype.getDefaultPadding.call(this);\r\n };\r\n TableCell.prototype.internalRender = function () {\r\n var cellElement = _super.prototype.internalRender.call(this);\r\n if (cellElement) {\r\n cellElement.setAttribute(\"role\", this.cellType === \"data\" ? \"cell\" : \"columnheader\");\r\n cellElement.style.minWidth = \"0\";\r\n if (this.cellType === \"header\") {\r\n cellElement.setAttribute(\"scope\", \"col\");\r\n }\r\n }\r\n return cellElement;\r\n };\r\n TableCell.prototype.shouldSerialize = function (context) {\r\n return true;\r\n };\r\n TableCell.prototype.getJsonTypeName = function () {\r\n return \"TableCell\";\r\n };\r\n TableCell.prototype.getEffectiveTextStyleDefinition = function () {\r\n if (this.cellType === \"header\") {\r\n return this.hostConfig.textStyles.columnHeader;\r\n }\r\n return _super.prototype.getEffectiveTextStyleDefinition.call(this);\r\n };\r\n TableCell.prototype.getEffectiveHorizontalAlignment = function () {\r\n if (this.horizontalAlignment !== undefined) {\r\n return this.horizontalAlignment;\r\n }\r\n if (this.parentRow.horizontalCellContentAlignment !== undefined) {\r\n return this.parentRow.horizontalCellContentAlignment;\r\n }\r\n if (this.columnIndex >= 0) {\r\n var horizontalAlignment = this.parentRow.parentTable.getColumnAt(this.columnIndex).horizontalCellContentAlignment;\r\n if (horizontalAlignment !== undefined) {\r\n return horizontalAlignment;\r\n }\r\n }\r\n if (this.parentRow.parentTable.horizontalCellContentAlignment !== undefined) {\r\n return this.parentRow.parentTable.horizontalCellContentAlignment;\r\n }\r\n return _super.prototype.getEffectiveHorizontalAlignment.call(this);\r\n };\r\n TableCell.prototype.getEffectiveVerticalContentAlignment = function () {\r\n if (this.verticalContentAlignment !== undefined) {\r\n return this.verticalContentAlignment;\r\n }\r\n if (this.parentRow.verticalCellContentAlignment !== undefined) {\r\n return this.parentRow.verticalCellContentAlignment;\r\n }\r\n if (this.columnIndex >= 0) {\r\n var verticalAlignment = this.parentRow.parentTable.getColumnAt(this.columnIndex).verticalCellContentAlignment;\r\n if (verticalAlignment !== undefined) {\r\n return verticalAlignment;\r\n }\r\n }\r\n if (this.parentRow.parentTable.verticalCellContentAlignment !== undefined) {\r\n return this.parentRow.parentTable.verticalCellContentAlignment;\r\n }\r\n return _super.prototype.getEffectiveVerticalContentAlignment.call(this);\r\n };\r\n Object.defineProperty(TableCell.prototype, \"columnIndex\", {\r\n get: function () {\r\n return this._columnIndex;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(TableCell.prototype, \"cellType\", {\r\n get: function () {\r\n return this._cellType;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(TableCell.prototype, \"parentRow\", {\r\n get: function () {\r\n return this.parent;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(TableCell.prototype, \"isStandalone\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n return TableCell;\r\n}(card_elements_1.Container));\r\nexports.TableCell = TableCell;\r\nvar TableRow = /** @class */ (function (_super) {\r\n __extends(TableRow, _super);\r\n function TableRow() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n //#endregion\r\n TableRow.prototype.getDefaultPadding = function () {\r\n return new shared_1.PaddingDefinition(enums_1.Spacing.None, enums_1.Spacing.None, enums_1.Spacing.None, enums_1.Spacing.None);\r\n };\r\n TableRow.prototype.applyBackground = function () {\r\n if (this.renderedElement) {\r\n var styleDefinition = this.hostConfig.containerStyles.getStyleByName(this.style, this.hostConfig.containerStyles.getStyleByName(this.defaultStyle));\r\n if (styleDefinition.backgroundColor) {\r\n var bgColor = utils_1.stringToCssColor(styleDefinition.backgroundColor);\r\n this.renderedElement.style.backgroundColor = bgColor;\r\n }\r\n }\r\n };\r\n TableRow.prototype.getCollectionPropertyName = function () {\r\n return \"cells\";\r\n };\r\n TableRow.prototype.createItemInstance = function (typeName) {\r\n return !typeName || typeName === \"TableCell\" ? new TableCell() : undefined;\r\n };\r\n TableRow.prototype.internalRender = function () {\r\n var isFirstRow = this.getIsFirstRow();\r\n var cellSpacing = this.hostConfig.table.cellSpacing;\r\n var rowElement = document.createElement(\"div\");\r\n rowElement.setAttribute(\"role\", \"row\");\r\n rowElement.style.display = \"flex\";\r\n rowElement.style.flexDirection = \"row\";\r\n for (var i = 0; i < Math.min(this.getItemCount(), this.parentTable.getColumnCount()); i++) {\r\n var cell = this.getItemAt(i);\r\n // Cheating a bit in order to keep cellType read-only\r\n cell[\"_columnIndex\"] = i;\r\n cell[\"_cellType\"] = (this.parentTable.firstRowAsHeaders && isFirstRow) ? \"header\" : \"data\";\r\n var renderedCell = cell.render();\r\n if (renderedCell) {\r\n var column = this.parentTable.getColumnAt(i);\r\n if (column.computedWidth.unit === enums_1.SizeUnit.Pixel) {\r\n renderedCell.style.flex = \"0 0 \" + column.computedWidth.physicalSize + \"px\";\r\n }\r\n else {\r\n renderedCell.style.flex = \"1 1 \" + column.computedWidth.physicalSize + \"%\";\r\n }\r\n if (i > 0 && !this.parentTable.showGridLines && cellSpacing > 0) {\r\n renderedCell.style.marginLeft = cellSpacing + \"px\";\r\n }\r\n rowElement.appendChild(renderedCell);\r\n }\r\n }\r\n return rowElement.children.length > 0 ? rowElement : undefined;\r\n };\r\n TableRow.prototype.shouldSerialize = function (context) {\r\n return true;\r\n };\r\n TableRow.prototype.addCell = function (cell) {\r\n this.internalAddItem(cell);\r\n };\r\n TableRow.prototype.removeCellAt = function (columnIndex) {\r\n if (columnIndex >= 0 && columnIndex < this.getItemCount()) {\r\n return this.removeItem(this.getItemAt(columnIndex));\r\n }\r\n return false;\r\n };\r\n TableRow.prototype.ensureHasEnoughCells = function (cellCount) {\r\n while (this.getItemCount() < cellCount) {\r\n this.addCell(new TableCell());\r\n }\r\n };\r\n TableRow.prototype.getJsonTypeName = function () {\r\n return \"TableRow\";\r\n };\r\n TableRow.prototype.getIsFirstRow = function () {\r\n return this.parentTable.getItemAt(0) === this;\r\n };\r\n Object.defineProperty(TableRow.prototype, \"parentTable\", {\r\n get: function () {\r\n return this.parent;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n Object.defineProperty(TableRow.prototype, \"isStandalone\", {\r\n get: function () {\r\n return false;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#region Schema\r\n TableRow.styleProperty = new card_elements_1.ContainerStyleProperty(serialization_1.Versions.v1_5, \"style\");\r\n TableRow.horizontalCellContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_5, \"horizontalCellContentAlignment\", enums_1.HorizontalAlignment);\r\n TableRow.verticalCellContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_5, \"verticalCellContentAlignment\", enums_1.VerticalAlignment);\r\n __decorate([\r\n serialization_1.property(TableRow.horizontalCellContentAlignmentProperty)\r\n ], TableRow.prototype, \"horizontalCellContentAlignment\", void 0);\r\n __decorate([\r\n serialization_1.property(TableRow.verticalCellContentAlignmentProperty)\r\n ], TableRow.prototype, \"verticalCellContentAlignment\", void 0);\r\n return TableRow;\r\n}(StylableContainer));\r\nexports.TableRow = TableRow;\r\nvar Table = /** @class */ (function (_super) {\r\n __extends(Table, _super);\r\n function Table() {\r\n //#region Schema\r\n var _this = _super !== null && _super.apply(this, arguments) || this;\r\n _this._columns = [];\r\n _this.firstRowAsHeaders = true;\r\n _this.showGridLines = true;\r\n return _this;\r\n }\r\n Object.defineProperty(Table.prototype, \"gridStyle\", {\r\n get: function () {\r\n var style = this.getValue(Table.gridStyleProperty);\r\n if (style && this.hostConfig.containerStyles.getStyleByName(style)) {\r\n return style;\r\n }\r\n return undefined;\r\n },\r\n set: function (value) {\r\n this.setValue(Table.gridStyleProperty, value);\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n //#endregion\r\n Table.prototype.ensureRowsHaveEnoughCells = function () {\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n this.getItemAt(i).ensureHasEnoughCells(this.getColumnCount());\r\n }\r\n };\r\n Table.prototype.removeCellsFromColumn = function (columnIndex) {\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n this.getItemAt(i).removeCellAt(columnIndex);\r\n }\r\n };\r\n Table.prototype.getCollectionPropertyName = function () {\r\n return \"rows\";\r\n };\r\n Table.prototype.createItemInstance = function (typeName) {\r\n return !typeName || typeName === \"TableRow\" ? new TableRow() : undefined;\r\n };\r\n Table.prototype.internalParse = function (source, context) {\r\n _super.prototype.internalParse.call(this, source, context);\r\n this.ensureRowsHaveEnoughCells();\r\n };\r\n Table.prototype.internalRender = function () {\r\n if (this.getItemCount() > 0) {\r\n var totalWeights = 0;\r\n for (var _i = 0, _a = this._columns; _i < _a.length; _i++) {\r\n var column = _a[_i];\r\n if (column.width.unit === enums_1.SizeUnit.Weight) {\r\n totalWeights += column.width.physicalSize;\r\n }\r\n }\r\n for (var _b = 0, _c = this._columns; _b < _c.length; _b++) {\r\n var column = _c[_b];\r\n if (column.width.unit === enums_1.SizeUnit.Pixel) {\r\n column.computedWidth = new shared_1.SizeAndUnit(column.width.physicalSize, enums_1.SizeUnit.Pixel);\r\n }\r\n else {\r\n column.computedWidth = new shared_1.SizeAndUnit(100 / totalWeights * column.width.physicalSize, enums_1.SizeUnit.Weight);\r\n }\r\n }\r\n var tableElement = document.createElement(\"div\");\r\n tableElement.setAttribute(\"role\", \"table\");\r\n tableElement.style.display = \"flex\";\r\n tableElement.style.flexDirection = \"column\";\r\n if (this.showGridLines) {\r\n var styleDefinition = this.hostConfig.containerStyles.getStyleByName(this.gridStyle);\r\n if (styleDefinition.borderColor) {\r\n var borderColor = utils_1.stringToCssColor(styleDefinition.borderColor);\r\n if (borderColor) {\r\n tableElement.style.borderTop = \"1px solid \" + borderColor;\r\n tableElement.style.borderLeft = \"1px solid \" + borderColor;\r\n }\r\n }\r\n }\r\n var cellSpacing = this.hostConfig.table.cellSpacing;\r\n for (var i = 0; i < this.getItemCount(); i++) {\r\n var renderedRow = this.getItemAt(i).render();\r\n if (renderedRow) {\r\n if (i > 0 && !this.showGridLines && cellSpacing > 0) {\r\n var separatorRow = document.createElement(\"div\");\r\n separatorRow.setAttribute(\"aria-hidden\", \"true\");\r\n separatorRow.style.height = cellSpacing + \"px\";\r\n tableElement.appendChild(separatorRow);\r\n }\r\n tableElement.appendChild(renderedRow);\r\n }\r\n }\r\n return tableElement;\r\n }\r\n return undefined;\r\n };\r\n Table.prototype.addColumn = function (column) {\r\n this._columns.push(column);\r\n this.ensureRowsHaveEnoughCells();\r\n };\r\n Table.prototype.removeColumn = function (column) {\r\n var index = this._columns.indexOf(column);\r\n if (index >= 0) {\r\n this.removeCellsFromColumn(index);\r\n this._columns.splice(index, 1);\r\n }\r\n };\r\n Table.prototype.getColumnCount = function () {\r\n return this._columns.length;\r\n };\r\n Table.prototype.getColumnAt = function (index) {\r\n return this._columns[index];\r\n };\r\n Table.prototype.addRow = function (row) {\r\n this.internalAddItem(row);\r\n row.ensureHasEnoughCells(this.getColumnCount());\r\n };\r\n Table.prototype.getJsonTypeName = function () {\r\n return \"Table\";\r\n };\r\n Table.columnsProperty = new serialization_1.SerializableObjectCollectionProperty(serialization_1.Versions.v1_5, \"columns\", TableColumnDefinition);\r\n Table.firstRowAsHeadersProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_5, \"firstRowAsHeaders\", true);\r\n Table.showGridLinesProperty = new serialization_1.BoolProperty(serialization_1.Versions.v1_5, \"showGridLines\", true);\r\n Table.gridStyleProperty = new card_elements_1.ContainerStyleProperty(serialization_1.Versions.v1_5, \"gridStyle\");\r\n Table.horizontalCellContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_5, \"horizontalCellContentAlignment\", enums_1.HorizontalAlignment);\r\n Table.verticalCellContentAlignmentProperty = new serialization_1.EnumProperty(serialization_1.Versions.v1_5, \"verticalCellContentAlignment\", enums_1.VerticalAlignment);\r\n __decorate([\r\n serialization_1.property(Table.columnsProperty)\r\n ], Table.prototype, \"_columns\", void 0);\r\n __decorate([\r\n serialization_1.property(Table.firstRowAsHeadersProperty)\r\n ], Table.prototype, \"firstRowAsHeaders\", void 0);\r\n __decorate([\r\n serialization_1.property(Table.showGridLinesProperty)\r\n ], Table.prototype, \"showGridLines\", void 0);\r\n __decorate([\r\n serialization_1.property(Table.gridStyleProperty)\r\n ], Table.prototype, \"gridStyle\", null);\r\n __decorate([\r\n serialization_1.property(Table.horizontalCellContentAlignmentProperty)\r\n ], Table.prototype, \"horizontalCellContentAlignment\", void 0);\r\n __decorate([\r\n serialization_1.property(Table.verticalCellContentAlignmentProperty)\r\n ], Table.prototype, \"verticalCellContentAlignment\", void 0);\r\n return Table;\r\n}(StylableContainer));\r\nexports.Table = Table;\r\nregistry_1.GlobalRegistry.defaultElements.register(\"Table\", Table, serialization_1.Versions.v1_5);\r\n//# sourceMappingURL=table.js.map","\"use strict\";\r\nvar __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.formatText = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar AbstractTextFormatter = /** @class */ (function () {\r\n function AbstractTextFormatter(regularExpression) {\r\n this._regularExpression = regularExpression;\r\n }\r\n AbstractTextFormatter.prototype.format = function (lang, input) {\r\n var matches;\r\n if (input) {\r\n var result = input;\r\n while ((matches = this._regularExpression.exec(input)) != null) {\r\n result = result.replace(matches[0], this.internalFormat(lang, matches));\r\n }\r\n ;\r\n return result;\r\n }\r\n else {\r\n return input;\r\n }\r\n };\r\n return AbstractTextFormatter;\r\n}());\r\nvar DateFormatter = /** @class */ (function (_super) {\r\n __extends(DateFormatter, _super);\r\n function DateFormatter() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n DateFormatter.prototype.internalFormat = function (lang, matches) {\r\n var date = new Date(Date.parse(matches[1]));\r\n var format = matches[2] != undefined ? matches[2].toLowerCase() : \"compact\";\r\n if (format != \"compact\") {\r\n return date.toLocaleDateString(lang, { day: \"numeric\", weekday: format, month: format, year: \"numeric\" });\r\n }\r\n else {\r\n return date.toLocaleDateString();\r\n }\r\n };\r\n return DateFormatter;\r\n}(AbstractTextFormatter));\r\nvar TimeFormatter = /** @class */ (function (_super) {\r\n __extends(TimeFormatter, _super);\r\n function TimeFormatter() {\r\n return _super !== null && _super.apply(this, arguments) || this;\r\n }\r\n TimeFormatter.prototype.internalFormat = function (lang, matches) {\r\n var date = new Date(Date.parse(matches[1]));\r\n return date.toLocaleTimeString(lang, { hour: 'numeric', minute: '2-digit' });\r\n };\r\n return TimeFormatter;\r\n}(AbstractTextFormatter));\r\nfunction formatText(lang, text) {\r\n var formatters = [\r\n new DateFormatter(/\\{{2}DATE\\((\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:Z|(?:(?:-|\\+)\\d{2}:\\d{2})))(?:, ?(COMPACT|LONG|SHORT))?\\)\\}{2}/g),\r\n new TimeFormatter(/\\{{2}TIME\\((\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(?:Z|(?:(?:-|\\+)\\d{2}:\\d{2})))\\)\\}{2}/g)\r\n ];\r\n var result = text;\r\n for (var _i = 0, formatters_1 = formatters; _i < formatters_1.length; _i++) {\r\n var formatter = formatters_1[_i];\r\n result = formatter.format(lang, result);\r\n }\r\n return result;\r\n}\r\nexports.formatText = formatText;\r\n//# sourceMappingURL=text-formatters.js.map","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nexports.clearElementChildren = exports.getScrollY = exports.getScrollX = exports.getFitStatus = exports.truncate = exports.stringToCssColor = exports.parseEnum = exports.getEnumValueByName = exports.parseBool = exports.parseNumber = exports.parseString = exports.appendChild = exports.generateUniqueId = exports.isMobileOS = exports.isInternetExplorer = void 0;\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT License.\r\nvar Enums = require(\"./enums\");\r\nvar Shared = require(\"./shared\");\r\nfunction isInternetExplorer() {\r\n // The documentMode property only exists in IE\r\n return window.document.documentMode !== undefined;\r\n}\r\nexports.isInternetExplorer = isInternetExplorer;\r\nfunction isMobileOS() {\r\n var userAgent = window.navigator.userAgent;\r\n return !!userAgent.match(/Android/i) || !!userAgent.match(/iPad/i) || !!userAgent.match(/iPhone/i);\r\n}\r\nexports.isMobileOS = isMobileOS;\r\n/**\r\n * Generate a UUID prepended with \"__ac-\"\r\n */\r\nfunction generateUniqueId() {\r\n return \"__ac-\" + Shared.UUID.generate();\r\n}\r\nexports.generateUniqueId = generateUniqueId;\r\nfunction appendChild(node, child) {\r\n if (child) {\r\n node.appendChild(child);\r\n }\r\n}\r\nexports.appendChild = appendChild;\r\nfunction parseString(obj, defaultValue) {\r\n return typeof obj === \"string\" ? obj : defaultValue;\r\n}\r\nexports.parseString = parseString;\r\nfunction parseNumber(obj, defaultValue) {\r\n return typeof obj === \"number\" ? obj : defaultValue;\r\n}\r\nexports.parseNumber = parseNumber;\r\nfunction parseBool(value, defaultValue) {\r\n if (typeof value === \"boolean\") {\r\n return value;\r\n }\r\n else if (typeof value === \"string\") {\r\n switch (value.toLowerCase()) {\r\n case \"true\":\r\n return true;\r\n case \"false\":\r\n return false;\r\n default:\r\n return defaultValue;\r\n }\r\n }\r\n return defaultValue;\r\n}\r\nexports.parseBool = parseBool;\r\nfunction getEnumValueByName(enumType, name) {\r\n for (var key in enumType) {\r\n var keyAsNumber = parseInt(key, 10);\r\n if (keyAsNumber >= 0) {\r\n var value = enumType[key];\r\n if (value && typeof value === \"string\" && value.toLowerCase() === name.toLowerCase()) {\r\n return keyAsNumber;\r\n }\r\n }\r\n }\r\n return undefined;\r\n}\r\nexports.getEnumValueByName = getEnumValueByName;\r\nfunction parseEnum(enumType, name, defaultValue) {\r\n if (!name) {\r\n return defaultValue;\r\n }\r\n var enumValue = getEnumValueByName(enumType, name);\r\n return enumValue !== undefined ? enumValue : defaultValue;\r\n}\r\nexports.parseEnum = parseEnum;\r\nfunction stringToCssColor(color) {\r\n if (color) {\r\n var regEx = /#([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})?/gi;\r\n var matches = regEx.exec(color);\r\n if (matches && matches[4]) {\r\n var a = parseInt(matches[1], 16) / 255;\r\n var r = parseInt(matches[2], 16);\r\n var g = parseInt(matches[3], 16);\r\n var b = parseInt(matches[4], 16);\r\n return \"rgba(\" + r + \",\" + g + \",\" + b + \",\" + a + \")\";\r\n }\r\n }\r\n return color;\r\n}\r\nexports.stringToCssColor = stringToCssColor;\r\nfunction truncate(element, maxHeight, lineHeight) {\r\n var fits = function () {\r\n // Allow a one pixel overflow to account for rounding differences\r\n // between browsers\r\n return maxHeight - element.scrollHeight >= -1.0;\r\n };\r\n if (fits())\r\n return;\r\n var fullText = element.innerHTML;\r\n var truncateAt = function (idx) {\r\n element.innerHTML = fullText.substring(0, idx) + '...';\r\n };\r\n var breakableIndices = findBreakableIndices(fullText);\r\n var lo = 0;\r\n var hi = breakableIndices.length;\r\n var bestBreakIdx = 0;\r\n // Do a binary search for the longest string that fits\r\n while (lo < hi) {\r\n var mid = Math.floor((lo + hi) / 2);\r\n truncateAt(breakableIndices[mid]);\r\n if (fits()) {\r\n bestBreakIdx = breakableIndices[mid];\r\n lo = mid + 1;\r\n }\r\n else {\r\n hi = mid;\r\n }\r\n }\r\n truncateAt(bestBreakIdx);\r\n // If we have extra room, try to expand the string letter by letter\r\n // (covers the case where we have to break in the middle of a long word)\r\n if (lineHeight && maxHeight - element.scrollHeight >= lineHeight - 1.0) {\r\n var idx = findNextCharacter(fullText, bestBreakIdx);\r\n while (idx < fullText.length) {\r\n truncateAt(idx);\r\n if (fits()) {\r\n bestBreakIdx = idx;\r\n idx = findNextCharacter(fullText, idx);\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n truncateAt(bestBreakIdx);\r\n }\r\n}\r\nexports.truncate = truncate;\r\nfunction findBreakableIndices(html) {\r\n var results = [];\r\n var idx = findNextCharacter(html, -1);\r\n while (idx < html.length) {\r\n if (html[idx] == ' ') {\r\n results.push(idx);\r\n }\r\n idx = findNextCharacter(html, idx);\r\n }\r\n return results;\r\n}\r\nfunction findNextCharacter(html, currIdx) {\r\n currIdx += 1;\r\n // If we found the start of an HTML tag, keep advancing until we get\r\n // past it, so we don't end up truncating in the middle of the tag\r\n while (currIdx < html.length && html[currIdx] == '<') {\r\n while (currIdx < html.length && html[currIdx++] != '>')\r\n ;\r\n }\r\n return currIdx;\r\n}\r\nfunction getFitStatus(element, containerEnd) {\r\n var start = element.offsetTop;\r\n var end = start + element.clientHeight;\r\n if (end <= containerEnd) {\r\n return Enums.ContainerFitStatus.FullyInContainer;\r\n }\r\n else if (start < containerEnd) {\r\n return Enums.ContainerFitStatus.Overflowing;\r\n }\r\n else {\r\n return Enums.ContainerFitStatus.FullyOutOfContainer;\r\n }\r\n}\r\nexports.getFitStatus = getFitStatus;\r\nfunction getScrollX() {\r\n return window.pageXOffset;\r\n}\r\nexports.getScrollX = getScrollX;\r\nfunction getScrollY() {\r\n return window.pageYOffset;\r\n}\r\nexports.getScrollY = getScrollY;\r\nfunction clearElementChildren(element) {\r\n while (element.firstChild) {\r\n element.removeChild(element.firstChild);\r\n }\r\n}\r\nexports.clearElementChildren = clearElementChildren;\r\n//# sourceMappingURL=utils.js.map"],"names":["__extends","this","extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","prototype","hasOwnProperty","call","TypeError","String","__","constructor","create","defineProperty","exports","value","LoginRequestResponse","ErrorResponse","SuccessResponse","ActivityResponse","ActivityRequestError","ActivityRequestTrigger","code","message","request","_super","rawContent","_this","error","_auth","_i","_a","buttons","length","button","type","undefined","URL","signinButton","e","get","tokenExchangeResource","enumerable","configurable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","Symbol","iterator","n","v","op","pop","push","AdaptiveApplet","Enums","Utils","shared_1","activity_request_1","strings_1","card_elements_1","serialization_1","logEvent","level","optionalParams","arguments","GlobalSettings","applets","logEnabled","onLogEvent","LogLevel","Warning","console","warn","Error","log","ActivityRequest","action","trigger","consecutiveRefreshes","attemptNumber","retryAsync","onSend","_allowAutomaticCardUpdate","renderedElement","document","createElement","className","style","position","display","flexDirection","_cardHostElement","_refreshButtonHostElement","appendChild","displayCard","card","clearElementChildren","showManualRefreshButton","refreshAction","onShowManualRefreshButton","renderedRefreshButton","onRenderManualRefreshButton","Strings","runtime","refreshThisCard","refresh","mode","RefreshMode","Automatic","autoRefreshPausedMessage","automaticRefreshPaused","clckToRestartAutomaticRefresh","cardPayload","version","horizontalAlignment","inlines","text","selectAction","id","AdaptiveCard","parse","SerializationContext","Versions","v1_2","onExecuteAction","internalExecuteAction","render","removeProperty","createActivityRequest","request_1","sender","internalSendActivityRequestAsync","onPrepareActivityRequest","createMagicCodeInputCard","payload","color","wrap","placeholder","actions","submitMagicCodeActionId","title","cancelMagicCodeAuthActionId","cancelAutomaticRefresh","createSerializationContext","onCreateSerializationContext","internalSetCard","_cardPayload","hostConfig","serializationContext","onCardChanging","_card","authentication","onPrefetchSSOToken","Manual","onInputValueChanged","input","onCardChanged","maximumConsecutiveAutomaticRefreshes","timeBetweenAutomaticRefreshes","Info","action_1","window","setTimeout","Disabled","allowManualRefreshesAfterAutomaticRefreshes","ExecuteAction","channelAdapter","onAction","createProgressOverlay","_progressOverlay","onCreateProgressOverlay","spinner","width","height","removeProgressOverlay","onRemoveProgressOverlay","removeChild","activityRequestSucceeded","response","parsedContent","onActivityRequestSucceeded","activityRequestFailed","onActivityRequestFailed","defaultTimeBetweenRetryAttempts","showAuthCodeInputDialog","onShowAuthCodeInputDialog","authCodeInputCard","submitMagicCodeAction","SubmitAction","authCode","data","alert","magicCodeInputCard","somethingWentWrong","overlay","_loop_1","this_1","error_1","retryIn_1","attemptOAuth","left","top_1","_b","sendRequestAsync","JSON","_c","maximumRetryAttempts","onSSOTokenNeeded","onShowSigninPrompt","screenX","outerWidth","authPromptWidth","screenY","outerHeight","authPromptHeight","open","authenticationFailed","toString","refreshCard","setCard","__createBinding","o","m","k","k2","__exportStar","__decorate","decorators","target","key","desc","c","r","getOwnPropertyDescriptor","Reflect","decorate","i","Authentication","TokenExchangeResource","AuthCardButton","RefreshDefinition","RefreshActionProperty","ContainerWithActions","ColumnSet","Column","Container","BackgroundImage","ContainerBase","StylableCardElementContainer","ContainerStyleProperty","ActionSet","ShowCardAction","HttpAction","HttpHeader","ToggleVisibilityAction","OpenUrlAction","SubmitActionBase","Action","TimeInput","TimeProperty","DateInput","NumberInput","ChoiceSetInput","Choice","ToggleInput","TextInput","Input","Media","MediaSource","ImageSet","CardElementContainer","Image","FactSet","Fact","RichTextBlock","TextRun","TextBlock","BaseTextBlock","ActionProperty","CardElement","renderSeparation","host_config_1","TextFormatters","card_object_1","registry_1","controls_1","separationDefinition","orientation","spacing","lineThickness","separator","makeCssClassName","Orientation","Horizontal","setAttribute","lineColor","stringToCssColor","paddingTop","marginBottom","borderBottom","paddingLeft","marginRight","borderRight","overflow","flex","_truncatedDueToOverflow","lang","getValue","langProperty","parent","set","setValue","isVisibleProperty","useAdvancedCardBottomTruncation","undoOverflowTruncation","isVisible","updateRenderedElementVisibility","_renderedElement","raiseElementVisibilityChangedEvent","internalRenderSeparator","renderedSeparator","getEffectiveSpacing","separatorOrientation","alwaysBleedSeparators","parentContainer","getParentContainer","getEffectivePadding","parentPhysicalPadding","paddingDefinitionToSpacingDefinition","marginLeft","right","displayMode","isDesignMode","_defaultRenderedElementDisplayMode","_separatorElement","isFirstElement","hideElementDueToOverflow","visibility","showElementHiddenDueToOverflow","handleOverflow","maxHeight","isHiddenDueToOverflow","handled","truncateOverflow","resetOverflow","sizeChanged","getDefaultSerializationContext","createPlaceholderElement","styleDefinition","getEffectiveStyleDefinition","foregroundCssColor","foregroundColors","default","subtle","element","border","padding","minHeight","fontSize","innerText","getJsonTypeName","adjustRenderedElementSize","isDisplayed","offsetHeight","overrideInternalRender","internalRender","applyPadding","separatorElement","isBleeding","PaddingDefinition","getImmediateSurroundingPadding","physicalPadding","getDefaultPadding","getHasBackground","getHasBorder","getPadding","_padding","setPadding","shouldSerialize","context","elementRegistry","findByName","ContainerStyle","Default","source","asString","getEffectiveStyle","defaultStyle","containerStyles","getStyleByName","getEffectiveTextStyleDefinition","textStyles","getForbiddenActionTypes","processTop","processRight","processBottom","processLeft","doProcessTop","isTopElement","doProcessRight","isRightMostElement","doProcessBottom","isBottomElement","doProcessLeft","isLeftMostElement","effectivePadding","top","Spacing","None","bottom","getActionCount","getActionAt","index","errors","indexOutOfRange","indexOfAction","remove","removeItem","customCssSelector","classList","add","boxSizing","updateLayout","processChildren","indexOf","cardElement","rootElement","getRootElement","designMode","isLastElement","isAtTheVeryLeft","isAtTheVeryRight","isAtTheVeryTop","isAtTheVeryBottom","isBleedingAtTop","isBleedingAtBottom","getRootObject","currentElement","getAllInputs","processActions","getResourceInformation","getElementById","getActionById","getEffectiveHorizontalAlignment","HorizontalAlignment","Left","_hostConfig","defaultHostConfig","_parent","StringProperty","v1_1","BoolProperty","separatorProperty","v1_0","heightProperty","ValueSetProperty","horizontalAlignmentProperty","EnumProperty","spacingProperty","property","CardObject","targetVersion","name","forbiddenActionTypes","parseAction","toJSON","serializeValue","PropertyDefinition","ariaHidden","populateSchema","schema","selectActionProperty","textProperty","setText","getFontSize","fontType","effectiveSize","TextSize","Small","fontSizes","small","Medium","medium","Large","large","ExtraLarge","extraLarge","getColorDefinition","colorSet","TextColor","Accent","accent","Dark","dark","Light","light","Good","good","warning","Attention","attention","init","textDefinition","size","weight","isSubtle","applyStylesTo","targetElement","getFontTypeDefinition","effectiveFontType","fontFamily","fontWeight","colorDefinition","effectiveColor","effectiveIsSubtle","effectiveWeight","TextWeight","Lighter","fontWeights","lighter","Bolder","bolder","sizeProperty","weightProperty","colorProperty","isSubtleProperty","fontTypeProperty","FontType","_treatAsPlainText","useMarkdown","restoreOriginalContent","maxLines","_computedLineHeight","innerHTML","_originalInnerHtml","truncateIfSupported","children","isTextOnly","tagName","toLowerCase","truncate","_processedText","preProcessedText","preProcessPropertyValue","forElementId","labelElement","htmlFor","headingLevel","textBlock","supportsInteractivity","onclick","isEnabled","preventDefault","cancelBubble","execute","setupElementForAccessibility","formattedText","formatText","allowMarkForTextHighlighting","replace","markdownProcessingResult","applyMarkdown","didProcess","outputHtml","markStyle","effectiveStyle","highlightBackgroundColor","highlightForegroundColor","firstElementChild","HTMLElement","marginTop","textOverflow","lastElementChild","anchors","getElementsByTagName","anchor","raiseAnchorClickedEvent","oncontextmenu","wordWrap","isInternetExplorer","useWebkitLineClamp","webkitBoxOrient","webkitLineClamp","whiteSpace","useAdvancedTextBlockTruncation","Center","textAlign","Right","lineHeights","lineHeight","wrapProperty","maxLinesProperty","NumProperty","styleProperty","v1_5","italic","strikethrough","highlight","underline","href","getHref","fontStyle","textDecoration","backgroundColor","highlightColors","italicProperty","strikethroughProperty","highlightProperty","underlineProperty","v1_3","_inlines","internalAddInline","inline","forceAdd","isInline","elementCannotBeUsedAsInline","inlineAlreadyParented","setParent","internalParse","isArray","jsonInline","textRun","parseElement","internalToJSON","jsonInlines","renderedInlines","renderedInline","getInlineCount","getInlineAt","addInline","removeInline","splice","getSchemaKey","titleProperty","valueProperty","SerializableObject","facts","borderWidth","borderSpacing","borderStyle","borderCollapse","trElement","factSet","tdElement","maxWidth","verticalAlign","factsProperty","SerializableObjectCollectionProperty","ImageDimensionProperty","internalName","fallbackProperty","getInternalName","sourceValue","defaultValue","isValid","SizeAndUnit","unit","SizeUnit","Pixel","physicalSize","isValidValue","logParseEvent","ValidationEvent","InvalidPropertyValue","invalidPropertyValue","isNaN","Size","Auto","ImageStyle","applySize","pixelWidth","pixelHeight","imageSizes","Stretch","url","alignItems","justifyContent","imageElement","onload","raiseImageLoadedEvent","onerror","errorElement","minWidth","onkeypress","Person","borderRadius","backgroundPosition","backgroundRepeat","src","urlProperty","altTextProperty","alt","mimeType","backgroundColorProperty","pixelWidthProperty","pixelHeightProperty","allowVerticalOverflow","isSelectable","isElementAllowed","isInteractive","SpacingDefinition","paddingRight","paddingBottom","internalValidateProperties","getItemCount","item","getItemAt","addFailure","InteractivityNotAllowed","interactivityNotAllowed","elementTypeNotAllowed","_selectAction","overflowX","overflowY","concat","findDOMNodeOwner","node","_images","imageSize","ImageSize","flexWrap","image","imageSet","maxImageHeight","renderedImage","margin","getFirstVisibleRenderedItem","getLastVisibleRenderedItem","itemIndex","addImage","imagesProperty","imageSizeProperty","mimeTypeProperty","sources","getPosterUrl","poster","media","defaultPoster","processSources","_selectedSources","_selectedMediaType","mimeComponents","split","supportedMediaTypes","handlePlayButtonInvoke","event","allowInlinePlayback","mediaPlayerElement","renderMediaPlayer","play","focus","onPlay","renderPoster","posterRootElement","altText","defaults","mediaPlayerAriaLabel","posterUrl","posterImageElement_1","parentNode","playButtonOuterElement","tabIndex","mediaPlayerPlayMedia","playButtonInnerElement","playButtonArrowWidth","playButtonArrowHeight","borderTopWidth","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopColor","borderRightColor","borderBottomColor","transform","playButtonContainer","mediaElement","videoPlayer","autoplay","controls","isMobileOS","muted","preload","renderedSource","mediaSource","sourcesProperty","posterProperty","getAllLabelIds","labelIds","labelledBy","_renderedLabelElement","_renderedErrorMessageElement","updateInputControlAriaLabelledBy","_renderedInputControlElement","join","removeAttribute","_inputControlContainerElement","_outerContainerElement","renderedInputControlId","generateUniqueId","labelRichTextBlock","labelInline","isRequired","inputs","requiredInputs","isRequiredCueInline","suffix","suffixColor","optionalInputs","inputSpacing","isNullable","valueChanged","resetValidationFailureCue","onValueChanged","onInputValueChangedHandler","raiseInputValueChangedEvent","renderedInputControlElement","showValidationErrorMessage","errorMessage","displayInputValidationErrors","errorMessageTextBlock","PropertyCantBeNull","inputsMustHaveUniqueId","RequiredInputsShouldHaveLabel","RequiredInputsShouldHaveErrorMessage","validateValue","isSet","labelProperty","isRequiredProperty","errorMessageProperty","isMultiline","InputTextStyle","Text","setupInput","maxLength","oninput","ctrlKey","inlineAction","Password","renderedInputControl","button_1","iconUrl","icon_1","textContent","inlineActionTitle","inputControlContainerElement","regex","RegExp","test","maxLengthProperty","isMultilineProperty","placeholderProperty","Tel","Url","Email","inlineActionProperty","regexProperty","valueOn","valueOff","_checkboxInputElement","joinedLabelIds","_checkboxInputLabelElement","checked","onchange","useMarkdownInRadioButtonAndCheckbox","spacerElement","valueOnProperty","valueOffProperty","isMultiSelect","choices","getUniqueCategoryName","uniqueCategoryName","uniqueCategoryCounter","internalApplyAriaCurrent","_selectElement","options","selected","renderCompoundInput","cssClassName","defaultValues","_toggleInputs","_labels","choice","_uniqueCategoryName","compoundInput","choiceSetInputValueSeparator","inputContainer","_textInput","dataList","option","append","disabled","hidden","option_1","CollectionCantBeEmpty","choiceSetMustHaveAtLeastOneChoice","choiceSetChoicesMustHaveTitleAndValue","toggleInput","selectedIndex","choicesProperty","isMultiSelectProperty","_numberInputElement","min","max","valueAsNumber","minProperty","maxProperty","_dateInputElement","valueAsDate","Date","minDate","maxDate","CustomProperty","convertTimeStringToDate","timeString","_timeInputElement","ActionStyle","ActionMode","Primary","_state","_isFocusable","renderButtonContent","titleElement","iconPlacement","ActionIconPlacement","AboveTitle","allowTitleToWrap","iconElement","iconSize","updateCssClasses","parentContainerStyle","isFocusable","Positive","makeCssClassNames","internalGetReferencedInputs","internalPrepareForExecution","internalValidateInputs","referencedInputs","keys","actionRegistry","raiseExecuteActionEvent","onExecute","onExecuteActionHandler","prepareForExecution","getAriaRole","promoteTooltipToLabel","HTMLButtonElement","tooltip","targetAriaAttribute","promoteAsPrimary","_actionCollection","buttonElement","actionExecuted","getReferencedInputs","invalidInputs","removeAction","validateInputs","iconUrlProperty","Destructive","modeProperty","Secondary","tooltipProperty","isEnabledProperty","_isPrepared","associatedInputs","current","inputs_1","_originalData","_processedData","stringify","dataProperty","associatedInputsProperty","JsonTypeName","verbProperty","v1_4","propertyMustBeSet","targetElements","updateAriaControlsAttribute","elementIds","elementId","addTargetElement","removeTargetElement","targetElementsProperty","parseBool","serializeArray","StringWithSubstitutionProperty","StringWithSubstitutions","parseString","getOriginal","_value","substituteInputValues","ContentTypes","applicationXWwwFormUrlencoded","newValue","nameProperty","_ignoreInputValidation","allInputs","_url","headers","_body","contentType","applicationJson","header","actionHttpHeadersMustHaveNameAndValue","bodyProperty","methodProperty","headersProperty","ignoreInputValidationProperty","InlineAdaptiveCard","effectiveHostConfig","state","jsonCard","showCardMustHaveCard","showCard","actionMode","ShowCardActionMode","Popup","OverflowAction","overflowButtonText","getActions","onDisplayOverflowActionMenuHandler","onDisplayOverflowActionMenu","raiseDisplayOverflowActionMenuEvent","contextMenu_1","PopupMenu","menuItem","MenuItem","onClick","actionToExecute","shouldPromoteAsPrimaryOnExecute","swappedAction","closePopup","items","popup","ActionCollection","owner","_items","_renderedActions","_owner","isActionAllowed","forbiddenTypes","forbiddenTypes_1","forbiddenType","refreshContainer","_actionCardContainer","_actionCard","renderedActionCount","inlineTopMargin","layoutChanged","showActionCard","suppressStyle","raiseEvent","renderedCard","_expandedAction","raiseInlineCardExpandedEvent","collapseExpandedAction","previouslyExpandedAction","expandShowCardAction","afterSelectedAction","renderedAction","onblur","Inline","parentElement","replaceChild","clear","source_1","jsonAction","addAction","propertyName","validateProperties","maxActions","TooManyActions","tooManyActions","ActionTypeNotAllowed","actionTypeNotAllowed","Math","preExpandSingleShowCardAction","buttonStrip","actionAlignment","ActionAlignment","allowedActions","filter","bind","primaryActions_1","secondaryActions_1","forEach","overflowPrimaryActions","allowMoreThanMaxActionsInOverflowMenu","shouldRenderOverflowActionButton","_overflowAction","isRootAction","isAtRootLevelActions","onRenderOverflowActionsHandler","onRenderOverflowActions","raiseRenderOverflowActionsEvent","actionsOrientation","buttonSpacing","spacer","buttonStripContainer","actionAlreadyParented","expandedAction","actionIndex","orientationProperty","onGetInitialValue","Emphasis","allowCustomStyle","applyBorder","applyBackground","bgColor","surroundingPadding","currentElementHasBackgroundImage","backgroundImage","hasExplicitStyle","Padding","explicitStyle","_bleed","minPixelHeight","getHasExpandedAction","getBleed","setBleed","alwaysAllowBleed","bleedProperty","minHeightProperty","PixelSizeProperty","resetDefaultValues","fillMode","FillMode","Repeat","RepeatHorizontally","RepeatVertically","Cover","backgroundSize","backgroundPositionX","verticalAlignment","VerticalAlignment","backgroundPositionY","Bottom","fillModeProperty","verticalAlignmentProperty","Top","_renderedItems","backgroundImageProperty","insertItemAt","forceInsert","elementAlreadyParented","isStandalone","elementTypeNotStandalone","getItemsCollectionPropertyName","rtl","dir","getEffectiveVerticalContentAlignment","renderedItem","placeholderElement","boundary_1","offsetTop","handleElement_1","elt","getFitStatus","ContainerFitStatus","FullyInContainer","Overflowing","maxHeight_1","FullyOutOfContainer","setShouldFallback","jsonItems","jsonItems_1","verticalContentAlignment","isRtl","firstRenderedItem","lastRenderedItem","addItem","insertItemBefore","insertBefore","insertItemAfter","insertAfter","SerializableObjectProperty","verticalContentAlignmentProperty","rtlProperty","_computedWeight","Vertical","widthProperty","invalidWidth","compareTo","Weight","invalidColumnWidth","serializeNumber","_columns","createColumnInstance","parseCardObject","typeName","errorType","ElementTypeNotAllowed","_renderedColumns","totalWeight","column","computedWeight","renderedColumn","jsonColumns","jsonColumns_1","getColumnAt","weightedColumns","stretchedColumns","Hint","hints","dontUseWeightedAndStrecthedColumnsInSameSet","addColumn","columnAlreadyBelongsToAnotherSet","onImageLoadedHandler","onImageLoaded","ev","onAnchorClickedHandler","onAnchorClicked","isExpanded","onInlineCardExpandedHandler","onInlineCardExpanded","shouldUpdateLayout","onElementVisibilityChangedHandler","onElementVisibilityChanged","renderedActions","renderIfEmpty","actionProperty","userIdsProperty","StringArrayProperty","typeProperty","imageProperty","idProperty","uriProperty","providerIdProperty","connectionNameProperty","buttonsProperty","tokenExchangeResourceProperty","refreshProperty","processMarkdownEventRemoved","onProcessMarkdown","markdownit","markdownIt","markdownProcessingNotEnabled","isVersionSupported","bypassVersionCheck","maxVersion","major","minor","_fallbackCard","fallbackElement","versionProperty","adaptiveCard","typeNameProperty","MissingCardType","invalidCardType","UnsupportedCardVersion","unsupportedCardVersion","shouldFallback","setTabIndexAtCardRoot","speak","schemaUrl","$schemaProperty","Version","latest","invalidCardVersion","fallbackTextProperty","speakProperty","authenticationProperty","internalParseCardObject","forbiddenTypeNames","allowFallback","createInstanceCallback","TypeErrorType","ForbiddenType","tryToFallback","enableFallback","UnknownType","fallback","cardObjectParsed","onParseAction","onParseElement","createInstance","UnknownElementType","unknownElementType","UnknownActionType","unknownActionType","_elementRegistry","GlobalRegistry","elements","setElementRegistry","_actionRegistry","setActionRegistry","BaseSerializationContext","defaultElements","register","defaultActions","ValidationResults","host_capabilities_1","allIds","validationEvents","cardObject","phase","ValidationPhase","Validation","_shouldFallback","requiresProperty","contains","propertyValue","allowPreProcessingPropertyValues","currentObject","onPreProcessPropertyValue","requires","areAllMet","hostCapabilities","rootObject","DuplicateId","duplicateId","HostCapabilities","ChannelAdapter","Collection","onItemAdded","onItemRemoved","Constants","tab","enter","escape","space","up","down","delete","constants_1","_isEnabled","click","_element","onmouseup","onkeydown","PopupControl","_isOpen","keyDown","rootElementBounds","renderContent","_popupElement","_d","_e","_overlayElement","documentElement","scrollWidth","scrollHeight","onfocus","getBoundingClientRect","addEventListener","rootElementLabel","getAttribute","popupElementBounds","availableSpaceBelow","innerHeight","availableSpaceAbove","availableSpaceRight","innerWidth","availableSpaceLeft","getScrollX","actualPopupHeight","getScrollY","actualPopupWidth","wasCancelled","onClose","collection_1","_selectedIndex","selectedItemIndex","_capabilities","name_1","jsonVersion","addCapability","removeCapability","hasCapability","capabilityName","HostConfig","FontTypeSet","FontTypeDefinition","ContainerStyleSet","ContainerStyleDefinition","ColorSetDefinition","ActionsConfig","ShowCardActionConfig","FactSetConfig","FactTitleDefinition","FactTextDefinition","InputConfig","InputLabelConfig","RequiredInputLabelTextDefinition","TextBlockConfig","TextStyleSet","TextStyleDefinition","BaseTextDefinition","TableConfig","MediaConfig","ImageSetConfig","AdaptiveCardConfig","TextColorDefinition","ColorDefinition","Shared","parseHostConfigEnum","targetEnum","parsedValue","parseEnum","defaultColor","subtleColor","obj","parseNumber","cellSpacing","getDefaultWeight","heading","columnHeader","LeftOfTitle","sizeAndUnit","parseSingleColor","borderColor","BuiltInContainerStyleDefinition","_allStyles","customStyleArray","customStyleArray_1","customStyle","styleName","isBuiltIn","emphasis","customStyles","monospace","getStyleDefinition","Monospace","table","_legacyFontType","fontTypes","paddingDefinition","classNames","classNames_1","cssClassNamePrefix","CardObjectRegistry","copyTo","keys_1","typeRegistration","objectType","schemaVersion","registrationInfo","unregister","map","populateWithDefaultElements","registry","populateWithDefaultActions","_elements","_actions","reset","SerializableObjectSchema","isVersionLessOrEqual","_isValid","_major","_minor","_label","versionString","_versionString","matches","exec","parseInt","invalidVersionString","otherVersion","_validationEvents","forceDeleteIfNullOrDefault","enableFullJsonRoundTrip","serializeString","serializeBool","serializeEnum","enumType","propertyValue_1","serializedItem","clearEvents","Parse","getEventAt","SimpleSerializationContext","isSerializationEnabled","sequentialNumber","_sequentialNumber","treatEmptyAsUndefined","regEx","sourceValue_1","values","versionedValue","propertyValueNotSupported","invalidValue","ToJSON","_values","keyAsNumber","enumValue","getEnumValueByName","nullable","serializedValue","hasAllDefaultValues","sourceCollection","sourceCollection_1","sourceItem","onParse","onToJSON","_properties","properties","properties_1","property_1","getCount","propertyKey","descriptor","_propertyBag","_rawProperties","defaultMaxVersion","s","getSchema","property_2","ctor","sortedProperties","sort","p1","p2","onRegisterCustomProperties","property_3","UnsupportedProperty","propertyNotSupported","serializedProperties","property_4","effectiveContext","toJSONOriginalParam","hasDefaultValue","property_5","property_6","setCustomProperty","getCustomProperty","_schemaCache","UUID","logLevel","_isProcessed","_original","_processed","matchedInput","valueForReplace","slice","encodeURIComponent","requireUnitSpecifier","expectedMatchCount","generate","d0","random","d1","d2","d3","lut","initialize","defaultingToVersion","supportedInVersion","versionUsed","maximumActions","maxSupportedVersion","tryAgain","pleaseLogin","enterMagicCode","pleaseEnterMagicCodeYouReceived","submit","cancel","Table","TableRow","TableCell","StylableContainer","TableColumnDefinition","enums_1","utils_1","horizontalCellContentAlignmentProperty","verticalCellContentAlignmentProperty","parseItem","createItemInstance","internalAddItem","internalRemoveItem","getCollectionPropertyName","items_1","instance","_columnIndex","_cellType","parentRow","parentTable","showGridLines","gridStyle","cellElement","cellType","horizontalCellContentAlignment","columnIndex","verticalCellContentAlignment","isFirstRow","getIsFirstRow","rowElement","getColumnCount","cell","firstRowAsHeaders","renderedCell","computedWidth","addCell","removeCellAt","ensureHasEnoughCells","cellCount","gridStyleProperty","ensureRowsHaveEnoughCells","removeCellsFromColumn","totalWeights","tableElement","borderTop","borderLeft","renderedRow","separatorRow","removeColumn","addRow","row","columnsProperty","firstRowAsHeadersProperty","showGridLinesProperty","AbstractTextFormatter","regularExpression","_regularExpression","format","internalFormat","DateFormatter","date","toLocaleDateString","day","weekday","month","year","TimeFormatter","toLocaleTimeString","hour","minute","formatters_1","findNextCharacter","html","currIdx","documentMode","userAgent","navigator","match","child","a","fits","fullText","truncateAt","idx","substring","breakableIndices","results","findBreakableIndices","lo","hi","bestBreakIdx","mid","floor","containerEnd","start","clientHeight","pageXOffset","pageYOffset","firstChild"],"sourceRoot":""}